summaryrefslogtreecommitdiffstats
path: root/pkgs/applications/gis
diff options
context:
space:
mode:
authorIvan Mincik <ivan.mincik@gmail.com>2024-03-21 10:44:22 +0000
committerGitHub <noreply@github.com>2024-03-21 10:44:22 +0000
commit161f3ba6b98c6e31a787db01c265d0ad3875876d (patch)
tree98f22cd4937cf87fb2aa4c309aea2835871ed067 /pkgs/applications/gis
parent3f559f01aa21be0d22c276778cff1466e23ee46f (diff)
parent825b40b8c630c39bdbabbfb26258b317aec0ce5f (diff)
Merge pull request #296119 from imincik/qgis-ltr-3.34.4
qgis-ltr: 3.28.15 -> 3.34.4
Diffstat (limited to 'pkgs/applications/gis')
-rw-r--r--pkgs/applications/gis/qgis/set-pyqt-package-dirs-ltr.patch59
-rw-r--r--pkgs/applications/gis/qgis/unwrapped-ltr.nix68
2 files changed, 38 insertions, 89 deletions
diff --git a/pkgs/applications/gis/qgis/set-pyqt-package-dirs-ltr.patch b/pkgs/applications/gis/qgis/set-pyqt-package-dirs-ltr.patch
deleted file mode 100644
index 5553f80fbc5b..000000000000
--- a/pkgs/applications/gis/qgis/set-pyqt-package-dirs-ltr.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/cmake/FindPyQt5.cmake b/cmake/FindPyQt5.cmake
-index b51fd0075e..87ee317e05 100644
---- a/cmake/FindPyQt5.cmake
-+++ b/cmake/FindPyQt5.cmake
-@@ -25,7 +25,7 @@ ELSE(EXISTS PYQT5_VERSION_STR)
- IF(SIP_BUILD_EXECUTABLE)
- # SIP >= 5.0 path
-
-- FILE(GLOB _pyqt5_metadata "${Python_SITEARCH}/PyQt5-*.dist-info/METADATA")
-+ FILE(GLOB _pyqt5_metadata "@pyQt5PackageDir@/PyQt5-*.dist-info/METADATA")
- IF(_pyqt5_metadata)
- FILE(READ ${_pyqt5_metadata} _pyqt5_metadata_contents)
- STRING(REGEX REPLACE ".*\nVersion: ([^\n]+).*$" "\\1" PYQT5_VERSION_STR ${_pyqt5_metadata_contents})
-@@ -34,8 +34,8 @@ ELSE(EXISTS PYQT5_VERSION_STR)
- ENDIF(_pyqt5_metadata)
-
- IF(PYQT5_VERSION_STR)
-- SET(PYQT5_MOD_DIR "${Python_SITEARCH}/PyQt5")
-- SET(PYQT5_SIP_DIR "${Python_SITEARCH}/PyQt5/bindings")
-+ SET(PYQT5_MOD_DIR "@pyQt5PackageDir@/PyQt5")
-+ SET(PYQT5_SIP_DIR "@pyQt5PackageDir@/PyQt5/bindings")
- FIND_PROGRAM(__pyuic5 "pyuic5")
- GET_FILENAME_COMPONENT(PYQT5_BIN_DIR ${__pyuic5} DIRECTORY)
-
-diff --git a/cmake/FindQsci.cmake b/cmake/FindQsci.cmake
-index 69e41c1fe9..5456c3d59b 100644
---- a/cmake/FindQsci.cmake
-+++ b/cmake/FindQsci.cmake
-@@ -24,7 +24,7 @@ ELSE(QSCI_MOD_VERSION_STR)
- IF(SIP_BUILD_EXECUTABLE)
- # SIP >= 5.0 path
-
-- FILE(GLOB _qsci_metadata "${Python_SITEARCH}/QScintilla*.dist-info/METADATA")
-+ FILE(GLOB _qsci_metadata "@qsciPackageDir@/QScintilla*.dist-info/METADATA")
- IF(_qsci_metadata)
- FILE(READ ${_qsci_metadata} _qsci_metadata_contents)
- STRING(REGEX REPLACE ".*\nVersion: ([^\n]+).*$" "\\1" QSCI_MOD_VERSION_STR ${_qsci_metadata_contents})
-@@ -33,7 +33,7 @@ ELSE(QSCI_MOD_VERSION_STR)
- ENDIF(_qsci_metadata)
-
- IF(QSCI_MOD_VERSION_STR)
-- SET(QSCI_SIP_DIR "${PYQT5_SIP_DIR}")
-+ SET(QSCI_SIP_DIR "@qsciPackageDir@/PyQt5/bindings")
- SET(QSCI_FOUND TRUE)
- ENDIF(QSCI_MOD_VERSION_STR)
-
-diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
-index 4cd19c3af4..668cc6a5e6 100644
---- a/python/CMakeLists.txt
-+++ b/python/CMakeLists.txt
-@@ -206,7 +206,7 @@ if (WITH_GUI)
- install(FILES ${QGIS_PYTHON_OUTPUT_DIRECTORY}/_gui.pyi DESTINATION ${QGIS_PYTHON_DIR})
- endif()
- if(QSCI_SIP_DIR)
-- set(SIP_EXTRA_OPTIONS ${SIP_EXTRA_OPTIONS} -I ${QSCI_SIP_DIR})
-+ set(SIP_BUILD_EXTRA_OPTIONS ${SIP_BUILD_EXTRA_OPTIONS} --include-dir=${QSCI_SIP_DIR})
- else()
- message(STATUS "Qsci sip file not found - disabling bindings for derived classes")
- set(SIP_DISABLE_FEATURES ${SIP_DISABLE_FEATURES} HAVE_QSCI_SIP)
diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
index 7e93c6814c7b..fa9e9a5495bd 100644
--- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix
+++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -1,17 +1,17 @@
{ lib
-, callPackage
, fetchFromGitHub
-, fetchpatch
, makeWrapper
, mkDerivation
, substituteAll
, wrapGAppsHook
+, wrapQtAppsHook
, withGrass ? true
, withWebKit ? false
, bison
, cmake
+, draco
, exiv2
, fcgi
, flex
@@ -25,7 +25,7 @@
, netcdf
, ninja
, openssl
-# , pdal
+, pdal
, postgresql
, proj
, protobuf
@@ -36,6 +36,7 @@
, qtbase
, qtkeychain
, qtlocation
+, qtmultimedia
, qtsensors
, qtserialport
, qtwebkit
@@ -63,8 +64,8 @@ let
owslib
psycopg2
pygments
- pyqt-builder
pyqt5
+ pyqt-builder
python-dateutil
pytz
pyyaml
@@ -76,14 +77,14 @@ let
urllib3
];
in mkDerivation rec {
- version = "3.28.15";
+ version = "3.34.4";
pname = "qgis-ltr-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
repo = "QGIS";
rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
- hash = "sha256-R6p1MVeCMbaD74Eqn+OLQkTYP+00y9mBucJR1JXPEJ4=";
+ hash = "sha256-yEltpPhNFT/XB1EB5FvhCKcP0YY4j/q7luhd1mI0ZJU=";
};
passthru = {
@@ -94,6 +95,7 @@ in mkDerivation rec {
nativeBuildInputs = [
makeWrapper
wrapGAppsHook
+ wrapQtAppsHook
bison
cmake
@@ -102,32 +104,34 @@ in mkDerivation rec {
];
buildInputs = [
- openssl
- proj
- geos
- sqlite
- gsl
- qwt
+ draco
exiv2
- protobuf
fcgi
+ geos
+ gsl
+ hdf5
libspatialindex
libspatialite
- postgresql
- txt2tags
libzip
- hdf5
netcdf
- qtbase
- qtsensors
+ openssl
+ pdal
+ postgresql
+ proj
+ protobuf
qca-qt5
- qtkeychain
qscintilla
+ qt3d
+ qtbase
+ qtkeychain
qtlocation
+ qtmultimedia
+ qtsensors
qtserialport
qtxmlpatterns
- qt3d
- # pdal
+ qwt
+ sqlite
+ txt2tags
zstd
] ++ lib.optional withGrass grass
++ lib.optional withWebKit qtwebkit
@@ -135,22 +139,22 @@ in mkDerivation rec {
patches = [
(substituteAll {
- src = ./set-pyqt-package-dirs-ltr.patch;
+ src = ./set-pyqt-package-dirs.patch;
pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}";
qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}";
})
- (fetchpatch {
- name = "qgis-3.28.9-exiv2-0.28.patch";
- url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/sci-geosciences/qgis/files/qgis-3.28.9-exiv2-0.28.patch?id=002882203ad6a2b08ce035a18b95844a9f4b85d0";
- hash = "sha256-mPRo0A7ko4GCHJrfJ2Ls0dUKvkFtDmhKekI2CR9StMw=";
- })
];
- # PDAL is disabled until https://github.com/qgis/QGIS/pull/54940
- # is backported.
+ # Add path to Qt platform plugins
+ # (offscreen is needed by "${APIS_SRC_DIR}/generate_console_pap.py")
+ preBuild = ''
+ export QT_QPA_PLATFORM_PLUGIN_PATH=${qtbase.bin}/lib/qt-${qtbase.version}/plugins/platforms
+ '';
+
cmakeFlags = [
+ "-DCMAKE_BUILD_TYPE=Release"
"-DWITH_3D=True"
- "-DWITH_PDAL=False" # TODO: re-enable PDAL
+ "-DWITH_PDAL=True"
"-DENABLE_TESTS=False"
] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
++ lib.optional withGrass (let
@@ -159,6 +163,10 @@ in mkDerivation rec {
in "-DGRASS_PREFIX${gmajor}=${grass}/grass${gmajor}${gminor}"
);
+ qtWrapperArgs = [
+ "--set QT_QPA_PLATFORM_PLUGIN_PATH ${qtbase.bin}/lib/qt-${qtbase.version}/plugins/platforms"
+ ];
+
dontWrapGApps = true; # wrapper params passed below
postFixup = lib.optionalString withGrass ''