presenterm: 0.9.0 -> 0.10.0 (#378946)
[NixPkgs.git] / pkgs / by-name / li / libspatialite / package.nix
blob421d67096cf2d980d86e67b84293fb5ba7b7f0de
2   lib,
3   stdenv,
4   fetchurl,
5   pkg-config,
6   validatePkgConfig,
7   freexl,
8   geos,
9   librttopo,
10   libxml2,
11   minizip,
12   proj,
13   sqlite,
14   libiconv,
15   zlib,
18 stdenv.mkDerivation rec {
19   pname = "libspatialite";
20   version = "5.1.0";
22   outputs = [
23     "out"
24     "dev"
25   ];
27   src = fetchurl {
28     url = "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/libspatialite-${version}.tar.gz";
29     hash = "sha256-Q74t00na/+AW3RQAxdEShYKMIv6jXKUQnyHz7VBgUIA=";
30   };
32   patches = [
33     # Drop use of deprecated libxml2 HTTP API.
34     # From: https://www.gaia-gis.it/fossil/libspatialite/info/7c452740fe
35     # see also: https://github.com/NixOS/nixpkgs/issues/347085
36     ./xmlNanoHTTPCleanup.patch
37   ];
39   nativeBuildInputs = [
40     pkg-config
41     validatePkgConfig
42     geos # for geos-config
43   ];
45   buildInputs =
46     [
47       freexl
48       geos
49       librttopo
50       libxml2
51       minizip
52       proj
53       sqlite
54       zlib
55     ]
56     ++ lib.optionals stdenv.hostPlatform.isDarwin [
57       libiconv
58     ];
60   enableParallelBuilding = true;
62   postInstall = lib.optionalString stdenv.hostPlatform.isDarwin ''
63     ln -s $out/lib/mod_spatialite.{so,dylib}
64   '';
66   # Failed tests (linux & darwin):
67   # - check_virtualtable6
68   # - check_drop_rename
69   doCheck = false;
71   preCheck = ''
72     export LD_LIBRARY_PATH=$(pwd)/src/.libs
73     export DYLD_LIBRARY_PATH=$(pwd)/src/.libs
74   '';
76   meta = with lib; {
77     description = "Extensible spatial index library in C++";
78     homepage = "https://www.gaia-gis.it/fossil/libspatialite";
79     # They allow any of these
80     license = with licenses; [
81       gpl2Plus
82       lgpl21Plus
83       mpl11
84     ];
85     platforms = platforms.unix;
86     maintainers = with maintainers; teams.geospatial.members ++ [ dotlambda ];
87   };