diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/proj')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/proj/7.nix | 59 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/proj/default.nix | 59 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/proj/tests-sqlite-3.39.patch | 13 |
3 files changed, 131 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/proj/7.nix b/nixpkgs/pkgs/development/libraries/proj/7.nix new file mode 100644 index 000000000000..95c02febdabc --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/proj/7.nix @@ -0,0 +1,59 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, sqlite +, libtiff +, curl +, gtest +, fetchpatch +}: + +stdenv.mkDerivation rec { + pname = "proj"; + version = "7.2.1"; + + src = fetchFromGitHub { + owner = "OSGeo"; + repo = "PROJ"; + rev = version; + sha256 = "0mymvfvs8xggl4axvlj7kc1ksd9g94kaz6w1vdv0x2y5mqk93gx9"; + }; + + patches = [ + (fetchpatch { # https://github.com/OSGeo/PROJ/issues/2557 + name = "gie_self_tests-fail.diff"; # included in >= 8.0.1 + url = "https://github.com/OSGeo/PROJ/commit/6f1a3c4648bf06862dca0b3725cbb3b7ee0284e3.diff"; + sha256 = "0gapny0a9c3r0x9szjgn86sspjrrf4vwbija77b17w6ci5cq4pdf"; + }) + ./tests-sqlite-3.39.patch + ]; + + postPatch = lib.optionalString (version == "7.2.1") '' + substituteInPlace CMakeLists.txt \ + --replace "MAJOR 7 MINOR 2 PATCH 0" "MAJOR 7 MINOR 2 PATCH 1" + ''; + + outputs = [ "out" "dev"]; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ sqlite libtiff curl ]; + + checkInputs = [ gtest ]; + + cmakeFlags = [ + "-DUSE_EXTERNAL_GTEST=ON" + ]; + + doCheck = true; + + meta = with lib; { + description = "Cartographic Projections Library"; + homepage = "https://proj4.org"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/proj/default.nix b/nixpkgs/pkgs/development/libraries/proj/default.nix new file mode 100644 index 000000000000..68b47e2a2eb3 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/proj/default.nix @@ -0,0 +1,59 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, pkg-config +, buildPackages +, sqlite +, libtiff +, curl +, gtest +, nlohmann_json +}: + +stdenv.mkDerivation rec { + pname = "proj"; + version = "9.0.0"; + + src = fetchFromGitHub { + owner = "OSGeo"; + repo = "PROJ"; + rev = version; + sha256 = "sha256-zMP+WzC65BFz8g8mF5t7toqxmxCJePysd6WJuqpe8yg="; + }; + + outputs = [ "out" "dev" ]; + + nativeBuildInputs = [ cmake pkg-config ]; + + buildInputs = [ sqlite libtiff curl nlohmann_json ]; + + checkInputs = [ gtest ]; + + cmakeFlags = [ + "-DUSE_EXTERNAL_GTEST=ON" + "-DRUN_NETWORK_DEPENDENT_TESTS=OFF" + "-DNLOHMANN_JSON_ORIGIN=external" + "-DEXE_SQLITE3=${buildPackages.sqlite}/bin/sqlite3" + ]; + + preCheck = + let + libPathEnvVar = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH"; + in + '' + export HOME=$TMPDIR + export TMP=$TMPDIR + export ${libPathEnvVar}=$PWD/lib + ''; + + doCheck = true; + + meta = with lib; { + description = "Cartographic Projections Library"; + homepage = "https://proj.org/"; + license = licenses.mit; + platforms = platforms.unix; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/nixpkgs/pkgs/development/libraries/proj/tests-sqlite-3.39.patch b/nixpkgs/pkgs/development/libraries/proj/tests-sqlite-3.39.patch new file mode 100644 index 000000000000..0654ff5eadb6 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/proj/tests-sqlite-3.39.patch @@ -0,0 +1,13 @@ +Drop tests that time out with newest sqlite. +https://github.com/OSGeo/PROJ/issues/3254 + +--- a/test/cli/CMakeLists.txt ++++ b/test/cli/CMakeLists.txt +@@ -16 +15,0 @@ +-proj_add_test_script_sh("testprojinfo" PROJINFO_BIN) +--- a/test/unit/CMakeLists.txt ++++ b/test/unit/CMakeLists.txt +@@ -144,3 +143,0 @@ +-add_test(NAME proj_test_cpp_api COMMAND proj_test_cpp_api) +-set_property(TEST proj_test_cpp_api +- PROPERTY ENVIRONMENT ${PROJ_TEST_ENVIRONMENT}) |