From ec9976d429bf539c0cbecc29990fc6594adb836f Mon Sep 17 00:00:00 2001 From: Ivan Mincik Date: Tue, 13 Jan 2026 12:44:00 +0100 Subject: [PATCH] qgis: fix loading of spatialite extension Add fix applied in upstream QGIS in https://github.com/qgis/QGIS/pull/64500 --- pkgs/applications/gis/qgis/spatialite-path.patch | 14 ++++++++++++++ pkgs/applications/gis/qgis/unwrapped-ltr.nix | 3 +++ pkgs/applications/gis/qgis/unwrapped.nix | 3 +++ 3 files changed, 20 insertions(+) create mode 100644 pkgs/applications/gis/qgis/spatialite-path.patch diff --git a/pkgs/applications/gis/qgis/spatialite-path.patch b/pkgs/applications/gis/qgis/spatialite-path.patch new file mode 100644 index 000000000000..cdfd0b8cef83 --- /dev/null +++ b/pkgs/applications/gis/qgis/spatialite-path.patch @@ -0,0 +1,14 @@ +diff --git a/python/utils.py b/python/utils.py +index 1234567890..abcdef1234 100644 +--- a/python/utils.py ++++ b/python/utils.py +@@ -938,6 +938,7 @@ def spatialite_connect(*args, **kwargs): + con = sqlite3.dbapi2.connect(*args, **kwargs) + con.enable_load_extension(True) + cur = con.cursor() + libs = [ ++ ("@spatialiteLib@", "sqlite3_modspatialite_init"), + # SpatiaLite >= 4.2 and Sqlite >= 3.7.17, should work on all platforms + ("mod_spatialite", "sqlite3_modspatialite_init"), + # SpatiaLite >= 4.2 and Sqlite < 3.7.17 (Travis) + ("mod_spatialite.so", "sqlite3_modspatialite_init"), diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix index 55d106ec4730..c0154e2e1bf7 100644 --- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix +++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix @@ -146,6 +146,9 @@ mkDerivation rec { pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}"; qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}"; }) + (replaceVars ./spatialite-path.patch { + spatialiteLib = "${libspatialite}/lib/mod_spatialite.so"; + }) ]; # Add path to Qt platform plugins diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix index 85ae38bb6f1c..33b9068361b4 100644 --- a/pkgs/applications/gis/qgis/unwrapped.nix +++ b/pkgs/applications/gis/qgis/unwrapped.nix @@ -150,6 +150,9 @@ mkDerivation rec { pyQt5PackageDir = "${py.pkgs.pyqt5}/${py.pkgs.python.sitePackages}"; qsciPackageDir = "${py.pkgs.qscintilla-qt5}/${py.pkgs.python.sitePackages}"; }) + (replaceVars ./spatialite-path.patch { + spatialiteLib = "${libspatialite}/lib/mod_spatialite.so"; + }) ]; # Add path to Qt platform plugins