qgis: enable 3D, grass

Grass is a runtime dependency which qgis attempts to find on the path.

3D is on by default with normal distributions so we should
also enable it.
This commit is contained in:
Matthew Pickering 2021-12-07 10:14:41 +00:00 committed by Jonathan Ringer
parent 8b2cf0a45d
commit ce4927f0d5
3 changed files with 8 additions and 4 deletions

View file

@ -1,5 +1,5 @@
{ lib, makeWrapper, symlinkJoin
, qgis-unwrapped, extraPythonPackages ? (ps: [ ])
, qgis-unwrapped, grass, extraPythonPackages ? (ps: [ ])
}:
with lib;
symlinkJoin rec {
@ -8,7 +8,7 @@ symlinkJoin rec {
paths = [ qgis-unwrapped ];
nativeBuildInputs = [ makeWrapper qgis-unwrapped.python3Packages.wrapPython ];
nativeBuildInputs = [ grass makeWrapper qgis-unwrapped.python3Packages.wrapPython ];
# extend to add to the python environment of QGIS without rebuilding QGIS application.
pythonInputs = qgis-unwrapped.pythonBuildInputs ++ (extraPythonPackages qgis-unwrapped.python3Packages);
@ -20,6 +20,7 @@ symlinkJoin rec {
wrapProgram $out/bin/qgis \
--prefix PATH : $program_PATH \
--prefix PATH : ${lib.makeBinPath [grass]} \
--set PYTHONPATH $program_PYTHONPATH
'';

View file

@ -27,6 +27,7 @@
, qtsensors
, qca-qt5
, qtkeychain
, qt3d
, qscintilla
, qtserialport
, qtxmlpatterns
@ -96,6 +97,7 @@ in mkDerivation rec {
qscintilla
qtserialport
qtxmlpatterns
qt3d
] ++ lib.optional withGrass grass
++ lib.optional withWebKit qtwebkit
++ pythonBuildInputs;
@ -113,10 +115,11 @@ in mkDerivation rec {
cmakeFlags = [
"-DCMAKE_SKIP_BUILD_RPATH=OFF"
"-DWITH_3D=True"
"-DPYQT5_SIP_DIR=${python3Packages.pyqt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
"-DQSCI_SIP_DIR=${python3Packages.qscintilla-qt5}/${python3Packages.python.sitePackages}/PyQt5/bindings"
] ++ lib.optional (!withWebKit) "-DWITH_QTWEBKIT=OFF"
++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/${grass.name}";
++ lib.optional withGrass "-DGRASS_PREFIX7=${grass}/grass78";
meta = {
description = "A Free and Open Source Geographic Information System";

View file

@ -28258,7 +28258,7 @@ with pkgs;
wrapQemuBinfmtP = callPackage ../applications/virtualization/qemu/binfmt-p-wrapper.nix { };
qgis-unwrapped = libsForQt5.callPackage ../applications/gis/qgis/unwrapped.nix {
withGrass = false;
withGrass = true;
};
qgis = callPackage ../applications/gis/qgis { };