From 1aec1e3b4ece35e0b8da5925d30bb7e5bc15caef Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 17 Sep 2022 21:33:59 +0300 Subject: [PATCH 1/6] freexl: init at 1.0.6 --- pkgs/development/libraries/freexl/default.nix | 28 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 30 insertions(+) create mode 100644 pkgs/development/libraries/freexl/default.nix diff --git a/pkgs/development/libraries/freexl/default.nix b/pkgs/development/libraries/freexl/default.nix new file mode 100644 index 000000000000..7bc1322ccc8c --- /dev/null +++ b/pkgs/development/libraries/freexl/default.nix @@ -0,0 +1,28 @@ +{ lib, stdenv, fetchurl, validatePkgConfig, libiconv }: + +stdenv.mkDerivation rec { + pname = "freexl"; + version = "1.0.6"; + + src = fetchurl { + url = "https://www.gaia-gis.it/gaia-sins/freexl-${version}.tar.gz"; + hash = "sha256-Pei1ej0TDLKIHqUtOqnOH+7bG1e32qTrN/dRQE+Q/CI="; + }; + + nativeBuildInputs = [ validatePkgConfig ]; + + buildInputs = lib.optional stdenv.isDarwin libiconv; + + enableParallelBuilding = true; + + doCheck = true; + + meta = with lib; { + description = "A library to extract valid data from within an Excel (.xls) spreadsheet"; + homepage = "https://www.gaia-gis.it/fossil/freexl"; + # They allow any of these + license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ]; + platforms = platforms.unix; + maintainers = with maintainers; [ sikmir ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7829c35c2da9..7c95ee2138db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -18291,6 +18291,8 @@ with pkgs; freetype = callPackage ../development/libraries/freetype { }; + freexl = callPackage ../development/libraries/freexl { }; + frei0r = callPackage ../development/libraries/frei0r { }; fribidi = callPackage ../development/libraries/fribidi { }; From 988e5793e6abe295c70cc5bc471b29ef86194bb8 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 17 Sep 2022 22:11:00 +0300 Subject: [PATCH 2/6] librttopo: fix cross-compilation --- pkgs/development/libraries/librttopo/default.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/librttopo/default.nix b/pkgs/development/libraries/librttopo/default.nix index d349278d5f5d..690417c3e730 100644 --- a/pkgs/development/libraries/librttopo/default.nix +++ b/pkgs/development/libraries/librttopo/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchFromGitea , autoreconfHook +, validatePkgConfig , geos }: @@ -19,14 +20,21 @@ stdenv.mkDerivation rec { sha256 = "0h7lzlkn9g4xky6h81ndy0aa6dxz8wb6rnl8v3987jy1i6pr072p"; }; - nativeBuildInputs = [ autoreconfHook ]; + nativeBuildInputs = [ + autoreconfHook + validatePkgConfig + geos # for geos-config + ]; buildInputs = [ geos ]; + enableParallelBuilding = true; + meta = with lib; { description = "RT Topology Library"; homepage = "https://git.osgeo.org/gitea/rttopo/librttopo"; license = licenses.gpl2Plus; maintainers = with maintainers; [ dotlambda ]; + platforms = platforms.unix; }; } From 21d687b0a4f401d735ab887182efee7138131415 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 17 Sep 2022 22:18:58 +0300 Subject: [PATCH 3/6] libspatialite: enable freexl, fix cross-compilation --- .../libraries/libspatialite/default.nix | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix index 592b7101a074..d17d32069ebe 100644 --- a/pkgs/development/libraries/libspatialite/default.nix +++ b/pkgs/development/libraries/libspatialite/default.nix @@ -2,6 +2,8 @@ , stdenv , fetchurl , pkg-config +, validatePkgConfig +, freexl , geos , librttopo , libxml2 @@ -18,13 +20,18 @@ stdenv.mkDerivation rec { outputs = [ "out" "dev" ]; src = fetchurl { - url = "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/${pname}-${version}.tar.gz"; - sha256 = "sha256-7svJQxHHgBLQWevA+uhupe9u7LEzA+boKzdTwbNAnpg="; + url = "https://www.gaia-gis.it/gaia-sins/libspatialite-${version}.tar.gz"; + hash = "sha256-7svJQxHHgBLQWevA+uhupe9u7LEzA+boKzdTwbNAnpg="; }; - nativeBuildInputs = [ pkg-config ]; + nativeBuildInputs = [ + pkg-config + validatePkgConfig + geos # for geos-config + ]; buildInputs = [ + freexl geos librttopo libxml2 @@ -35,14 +42,20 @@ stdenv.mkDerivation rec { libiconv ]; - configureFlags = [ "--disable-freexl" ]; - enableParallelBuilding = true; postInstall = lib.optionalString stdenv.isDarwin '' ln -s $out/lib/mod_spatialite.{so,dylib} ''; + # Failed tests (linux & darwin): + # - check_extension + # - check_sql_stmt_extension + # - check_virtualtable6 + # - check_drop_rename + # - check_get_normal_zoom_extension_load + doCheck = false; + meta = with lib; { description = "Extensible spatial index library in C++"; homepage = "https://www.gaia-gis.it/fossil/libspatialite"; From 53be5fd7ef1d1eb0a95866a9f7ac2e7552ae5877 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 17 Sep 2022 23:02:37 +0300 Subject: [PATCH 4/6] readosm: enable on darwin --- pkgs/development/libraries/readosm/default.nix | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/readosm/default.nix b/pkgs/development/libraries/readosm/default.nix index f177dc768a69..8ba1f571b028 100644 --- a/pkgs/development/libraries/readosm/default.nix +++ b/pkgs/development/libraries/readosm/default.nix @@ -1,24 +1,26 @@ -{ lib, stdenv, fetchurl, expat, zlib, geos, libspatialite }: +{ lib, stdenv, fetchurl, expat, zlib, validatePkgConfig }: stdenv.mkDerivation rec { pname = "readosm"; version = "1.1.0a"; src = fetchurl { - url = "https://www.gaia-gis.it/gaia-sins/readosm-sources/${pname}-${version}.tar.gz"; - sha256 = "0igif2bxf4dr82glxz9gyx5mmni0r2dsnx9p9k6pxv3c4lfhaz6v"; + url = "https://www.gaia-gis.it/gaia-sins/readosm-${version}.tar.gz"; + hash = "sha256-23wFHSVs7H7NTDd1q5vIINpaS/cv/U6fQLkR15dw8UU="; }; - buildInputs = [ expat zlib geos libspatialite ]; + nativeBuildInputs = [ validatePkgConfig ]; - configureFlags = [ "--disable-freexl" ]; + buildInputs = [ expat zlib ]; enableParallelBuilding = true; - meta = { + doCheck = true; + + meta = with lib; { description = "An open source library to extract valid data from within an Open Street Map input file"; homepage = "https://www.gaia-gis.it/fossil/readosm"; - license = with lib.licenses; [ mpl11 gpl2Plus lgpl21Plus ]; - platforms = lib.platforms.linux; + license = with licenses; [ mpl11 gpl2Plus lgpl21Plus ]; + platforms = platforms.unix; }; } From 0b8725c7285346ad2b1cc967c1d4f0547e8e908b Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Sat, 17 Sep 2022 23:47:43 +0300 Subject: [PATCH 5/6] spatialite-tools: enable on darwin --- .../libraries/libspatialite/default.nix | 8 +++++--- .../libraries/spatialite-tools/default.nix | 19 +++++++++++++------ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix index d17d32069ebe..cc7da2b5f183 100644 --- a/pkgs/development/libraries/libspatialite/default.nix +++ b/pkgs/development/libraries/libspatialite/default.nix @@ -49,13 +49,15 @@ stdenv.mkDerivation rec { ''; # Failed tests (linux & darwin): - # - check_extension - # - check_sql_stmt_extension # - check_virtualtable6 # - check_drop_rename - # - check_get_normal_zoom_extension_load 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"; diff --git a/pkgs/development/libraries/spatialite-tools/default.nix b/pkgs/development/libraries/spatialite-tools/default.nix index 265769f872f4..875c33e60f3c 100644 --- a/pkgs/development/libraries/spatialite-tools/default.nix +++ b/pkgs/development/libraries/spatialite-tools/default.nix @@ -2,6 +2,7 @@ , stdenv , fetchurl , pkg-config +, freexl , geos , expat , librttopo @@ -11,6 +12,8 @@ , proj , readosm , sqlite +, testers +, spatialite_tools }: stdenv.mkDerivation rec { @@ -18,14 +21,15 @@ stdenv.mkDerivation rec { version = "5.0.1"; src = fetchurl { - url = "https://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/${pname}-${version}.tar.gz"; - sha256 = "sha256-lgTCBeh/A3eJvFIwLGbM0TccPpjHTo7E4psHUt41Fxw="; + url = "https://www.gaia-gis.it/gaia-sins/spatialite-tools-${version}.tar.gz"; + hash = "sha256-lgTCBeh/A3eJvFIwLGbM0TccPpjHTo7E4psHUt41Fxw="; }; nativeBuildInputs = [ pkg-config ]; buildInputs = [ expat + freexl geos librttopo libspatialite @@ -36,17 +40,20 @@ stdenv.mkDerivation rec { sqlite ]; - configureFlags = [ "--disable-freexl" ]; - enableParallelBuilding = true; - NIX_LDFLAGS = "-lsqlite3"; + passthru.tests.version = testers.testVersion { + package = spatialite_tools; + command = "! spatialite_tool --version"; + version = "${libspatialite.version}"; + }; meta = with lib; { description = "A complete sqlite3-compatible CLI front-end for libspatialite"; homepage = "https://www.gaia-gis.it/fossil/spatialite-tools"; license = with licenses; [ mpl11 gpl2Plus lgpl21Plus ]; - platforms = platforms.linux; + platforms = platforms.unix; maintainers = with maintainers; [ dotlambda ]; + mainProgram = "spatialite_tool"; }; } From 5fbc12bd70147aae7f925895a4e2beb6bae2f885 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Mon, 19 Sep 2022 10:45:09 +0300 Subject: [PATCH 6/6] spatialite_tools: move to applications/gis --- .../gis}/spatialite-tools/default.nix | 0 pkgs/top-level/all-packages.nix | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename pkgs/{development/libraries => applications/gis}/spatialite-tools/default.nix (100%) diff --git a/pkgs/development/libraries/spatialite-tools/default.nix b/pkgs/applications/gis/spatialite-tools/default.nix similarity index 100% rename from pkgs/development/libraries/spatialite-tools/default.nix rename to pkgs/applications/gis/spatialite-tools/default.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c95ee2138db..f0022fd2d668 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -21815,8 +21815,6 @@ with pkgs; spaceship-prompt = callPackage ../shells/zsh/spaceship-prompt {}; - spatialite_tools = callPackage ../development/libraries/spatialite-tools { }; - spdk = callPackage ../development/libraries/spdk { }; speechd = callPackage ../development/libraries/speechd { }; @@ -26452,6 +26450,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) Cocoa; }; + spatialite_tools = callPackage ../applications/gis/spatialite-tools { }; + udig = callPackage ../applications/gis/udig { }; whitebox-tools = callPackage ../applications/gis/whitebox-tools {