about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/libspatialite
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/libspatialite')
-rw-r--r--nixpkgs/pkgs/development/libraries/libspatialite/default.nix69
1 files changed, 69 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/libspatialite/default.nix b/nixpkgs/pkgs/development/libraries/libspatialite/default.nix
new file mode 100644
index 000000000000..cc7da2b5f183
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/libspatialite/default.nix
@@ -0,0 +1,69 @@
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, validatePkgConfig
+, freexl
+, geos
+, librttopo
+, libxml2
+, minizip
+, proj
+, sqlite
+, libiconv
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libspatialite";
+  version = "5.0.1";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchurl {
+    url = "https://www.gaia-gis.it/gaia-sins/libspatialite-${version}.tar.gz";
+    hash = "sha256-7svJQxHHgBLQWevA+uhupe9u7LEzA+boKzdTwbNAnpg=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    validatePkgConfig
+    geos # for geos-config
+  ];
+
+  buildInputs = [
+    freexl
+    geos
+    librttopo
+    libxml2
+    minizip
+    proj
+    sqlite
+  ] ++ lib.optionals stdenv.isDarwin [
+    libiconv
+  ];
+
+  enableParallelBuilding = true;
+
+  postInstall = lib.optionalString stdenv.isDarwin ''
+    ln -s $out/lib/mod_spatialite.{so,dylib}
+  '';
+
+  # Failed tests (linux & darwin):
+  # - check_virtualtable6
+  # - check_drop_rename
+  doCheck = false;
+
+  preCheck = ''
+    export LD_LIBRARY_PATH=$(pwd)/src/.libs
+    export DYLD_LIBRARY_PATH=$(pwd)/src/.libs
+  '';
+
+  meta = with lib; {
+    description = "Extensible spatial index library in C++";
+    homepage = "https://www.gaia-gis.it/fossil/libspatialite";
+    # They allow any of these
+    license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ];
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}