diff options
author | Alyssa Ross <hi@alyssa.is> | 2022-12-06 19:57:55 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-02-08 13:48:30 +0000 |
commit | bf3aadfdd39aa197e18bade671fab6726349ffa4 (patch) | |
tree | 698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/servers/geospatial | |
parent | f4afc5a01d9539ce09e47494e679c51f80723d07 (diff) | |
parent | 99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff) | |
download | nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.gz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.bz2 nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.lz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.xz nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.tar.zst nixlib-bf3aadfdd39aa197e18bade671fab6726349ffa4.zip |
Merge commit '99665eb45f58d959d2cb9e49ddb960c79d596f33'
Diffstat (limited to 'nixpkgs/pkgs/servers/geospatial')
10 files changed, 349 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/geospatial/geoserver/default.nix b/nixpkgs/pkgs/servers/geospatial/geoserver/default.nix new file mode 100644 index 000000000000..9c6d79fd3bc1 --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/geoserver/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchurl, unzip, jre, makeWrapper }: + +stdenv.mkDerivation rec { + pname = "geoserver"; + version = "2.21.1"; + + src = fetchurl { + url = "mirror://sourceforge/geoserver/GeoServer/${version}/geoserver-${version}-bin.zip"; + sha256 = "sha256-Ln7vHU/J80edOJbL3lAezXrk+jJQ2mGWY9+61GyiLXk="; + }; + + sourceRoot = "."; + nativeBuildInputs = [ unzip makeWrapper ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/share/geoserver + cp -r . $out/share/geoserver + rm -fr $out/share/geoserver/bin/*.bat + + makeWrapper $out/share/geoserver/bin/startup.sh $out/bin/geoserver-startup \ + --set JAVA_HOME "${jre}" \ + --set GEOSERVER_HOME "$out/share/geoserver" + makeWrapper $out/share/geoserver/bin/shutdown.sh $out/bin/geoserver-shutdown \ + --set JAVA_HOME "${jre}" \ + --set GEOSERVER_HOME "$out/share/geoserver" + runHook postInstall + ''; + + meta = with lib; { + description = "Open source server for sharing geospatial data"; + homepage = "https://geoserver.org/"; + sourceProvenance = with sourceTypes; [ binaryBytecode ]; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.all; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/mapcache/default.nix b/nixpkgs/pkgs/servers/geospatial/mapcache/default.nix new file mode 100644 index 000000000000..3eae9c2b33cb --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/mapcache/default.nix @@ -0,0 +1,59 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config +, apacheHttpd, apr, aprutil, curl, db, fcgi, gdal, geos +, libgeotiff, libjpeg, libpng, libtiff, pcre, pixman, proj, sqlite, zlib +}: + +stdenv.mkDerivation rec { + pname = "mapcache"; + version = "1.12.1"; + + src = fetchFromGitHub { + owner = "MapServer"; + repo = pname; + rev = "rel-${lib.replaceStrings [ "." ] [ "-" ] version}"; + sha256 = "sha256-NuiZMWcmsN5wDCd37Hvj3cazwT3Ea+OknV/YR3urZB0="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ]; + + buildInputs = [ + apacheHttpd + apr + aprutil + curl + db + fcgi + gdal + geos + libgeotiff + libjpeg + libpng + libtiff + pcre + pixman + proj + sqlite + zlib + ]; + + cmakeFlags = [ + "-DWITH_BERKELEY_DB=ON" + "-DWITH_MEMCACHE=ON" + "-DWITH_TIFF=ON" + "-DWITH_GEOTIFF=ON" + "-DWITH_PCRE=ON" + "-DAPACHE_MODULE_DIR=${placeholder "out"}/modules" + ]; + + meta = with lib; { + description = "A server that implements tile caching to speed up access to WMS layers"; + homepage = "https://mapserver.org/mapcache/"; + changelog = "https://www.mapserver.org/development/changelog/mapcache/"; + license = licenses.mit; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/mapserver/default.nix b/nixpkgs/pkgs/servers/geospatial/mapserver/default.nix new file mode 100644 index 000000000000..e643f790bb57 --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/mapserver/default.nix @@ -0,0 +1,63 @@ +{ lib, stdenv, fetchFromGitHub, cmake, pkg-config +, cairo, curl, fcgi, freetype, fribidi, gdal, geos, giflib, harfbuzz +, libjpeg, libpng, librsvg, libxml2, postgresql, proj, protobufc, zlib +, withPython ? true, swig, python3 +}: + +stdenv.mkDerivation rec { + pname = "mapserver"; + version = "7.6.4"; + + src = fetchFromGitHub { + owner = "MapServer"; + repo = "MapServer"; + rev = "rel-${lib.replaceStrings [ "." ] [ "-" ] version}"; + sha256 = "sha256-NMo/7CtWYIP1oPKki09oDWLCbj2vPk3xCU4rkHq8YKY="; + }; + + nativeBuildInputs = [ + cmake + pkg-config + ] ++ lib.optional withPython [ swig python3.pkgs.setuptools ]; + + buildInputs = [ + cairo + curl + fcgi + freetype + fribidi + gdal + geos + giflib + harfbuzz + libjpeg + libpng + librsvg + libxml2 + postgresql + proj + protobufc + zlib + ] ++ lib.optional withPython python3; + + cmakeFlags = [ + "-DWITH_KML=ON" + "-DWITH_SOS=ON" + "-DWITH_RSVG=ON" + "-DWITH_CURL=ON" + "-DWITH_CLIENT_WMS=ON" + "-DWITH_CLIENT_WFS=ON" + + # RPATH of binary /nix/store/.../bin/... contains a forbidden reference to /build/ + "-DCMAKE_SKIP_BUILD_RPATH=ON" + ] ++ lib.optional withPython "-DWITH_PYTHON=ON"; + + meta = with lib; { + description = "Platform for publishing spatial data and interactive mapping applications to the web"; + homepage = "https://mapserver.org/"; + changelog = "https://mapserver.org/development/changelog/"; + license = licenses.mit; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/martin/default.nix b/nixpkgs/pkgs/servers/geospatial/martin/default.nix new file mode 100644 index 000000000000..78eaeb7ce8b1 --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/martin/default.nix @@ -0,0 +1,27 @@ +{ lib, stdenv, rustPlatform, fetchFromGitHub, Security }: + +rustPlatform.buildRustPackage rec { + pname = "martin"; + version = "0.5.0"; + + src = fetchFromGitHub { + owner = "urbica"; + repo = pname; + rev = "v${version}"; + sha256 = "1i9zhmjkgid4s90n52wqmrl3lwswcaxd6d47ssycgjl1nv0jla4k"; + }; + + cargoSha256 = "1jgl8s6h4pqhn189swrhn896kw1rkmqpf7dq52ry2rdci80g02nq"; + + buildInputs = with stdenv; lib.optional isDarwin Security; + + doCheck = false; + + meta = with lib; { + description = "Blazing fast and lightweight PostGIS vector tiles server"; + homepage = "https://martin.urbica.co/"; + license = licenses.mit; + maintainers = with maintainers; [ sikmir ]; + platforms = with platforms; linux ++ darwin; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/mbtileserver/default.nix b/nixpkgs/pkgs/servers/geospatial/mbtileserver/default.nix new file mode 100644 index 000000000000..c928fcfbe6dd --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/mbtileserver/default.nix @@ -0,0 +1,24 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "mbtileserver"; + version = "0.8.2"; + + src = fetchFromGitHub { + owner = "consbio"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-aa0YsP+SYYDtaSstTfluEe0/+yDl82KHUSss8LZ2gOc="; + }; + + vendorSha256 = "sha256-eVnL+28eOgbR0bjWv7XotcHDl5309EO0wV8AGMslvZw="; + + meta = with lib; { + description = "A simple Go-based server for map tiles stored in mbtiles format"; + homepage = "https://github.com/consbio/mbtileserver"; + changelog = "https://github.com/consbio/mbtileserver/blob/v${version}/CHANGELOG.md"; + license = licenses.isc; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/pg_featureserv/default.nix b/nixpkgs/pkgs/servers/geospatial/pg_featureserv/default.nix new file mode 100644 index 000000000000..9a4fd071338e --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/pg_featureserv/default.nix @@ -0,0 +1,25 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "pg_featureserv"; + version = "1.2.0"; + + src = fetchFromGitHub { + owner = "CrunchyData"; + repo = pname; + rev = "v${version}"; + sha256 = "0lfsbsgcb7z8ljxn1by37rbx02vaprrpacybk1kja1rjli7ik7m9"; + }; + + vendorSha256 = "1jqrkx850ghmpnfjhqky93r8fq7q63m5ivs0lzljzbvn7ya75f2r"; + + ldflags = [ "-s" "-w" "-X github.com/CrunchyData/pg_featureserv/conf.setVersion=${version}" ]; + + meta = with lib; { + description = "Lightweight RESTful Geospatial Feature Server for PostGIS in Go"; + homepage = "https://github.com/CrunchyData/pg_featureserv"; + license = licenses.asl20; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/pg_tileserv/default.nix b/nixpkgs/pkgs/servers/geospatial/pg_tileserv/default.nix new file mode 100644 index 000000000000..59d58a6a61c8 --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/pg_tileserv/default.nix @@ -0,0 +1,27 @@ +{ lib, fetchFromGitHub, buildGoModule }: + +buildGoModule rec { + pname = "pg_tileserv"; + version = "1.0.9"; + + src = fetchFromGitHub { + owner = "CrunchyData"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-pNm802DJu5t+Y9QZU6wDUcAVpJTZ4SxDK0J61wzuuRE="; + }; + + vendorSha256 = "sha256-iw9bIh1Ngj5IGhrZwmSPciyaAR73msZ283TB0ibwt+c="; + + ldflags = [ "-s" "-w" "-X main.programVersion=${version}" ]; + + doCheck = false; + + meta = with lib; { + description = "A very thin PostGIS-only tile server in Go"; + homepage = "https://github.com/CrunchyData/pg_tileserv"; + license = licenses.asl20; + maintainers = with maintainers; [ sikmir ]; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/t-rex/default.nix b/nixpkgs/pkgs/servers/geospatial/t-rex/default.nix new file mode 100644 index 000000000000..fb132da85876 --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/t-rex/default.nix @@ -0,0 +1,29 @@ +{ lib, stdenv, rustPlatform, fetchFromGitHub, pkg-config, gdal, openssl, Security }: + +rustPlatform.buildRustPackage rec { + pname = "t-rex"; + version = "0.14.3"; + + src = fetchFromGitHub { + owner = "t-rex-tileserver"; + repo = pname; + rev = "v${version}"; + hash = "sha256-LUVk5li2cl/LKbhKOh6Bbwav0GEuI/vUbDPLn7NSRIs="; + }; + + cargoHash = "sha256-I4QmjTTKUp9iugEwzM0xCcNLvF5ozeBdYmbi8sytY88="; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ gdal openssl ] ++ lib.optional stdenv.isDarwin Security; + + meta = with lib; { + description = "Vector tile server specialized on publishing MVT tiles"; + homepage = "https://t-rex.tileserver.ch/"; + changelog = "https://github.com/t-rex-tileserver/t-rex/blob/v${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ sikmir ]; + mainProgram = "t_rex"; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/tegola/default.nix b/nixpkgs/pkgs/servers/geospatial/tegola/default.nix new file mode 100644 index 000000000000..14c1b36581c8 --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/tegola/default.nix @@ -0,0 +1,27 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "tegola"; + version = "0.15.0"; + + src = fetchFromGitHub { + owner = "go-spatial"; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-RSuTZHv3W2SVPAkydz5yB89Ioynp0DO0qaQKut5tokc="; + }; + + vendorSha256 = null; + + subPackages = [ "cmd/tegola" ]; + + ldflags = [ "-s" "-w" "-X github.com/go-spatial/tegola/internal/build.Version=${version}" ]; + + meta = with lib; { + homepage = "https://www.tegola.io/"; + description = "Mapbox Vector Tile server"; + maintainers = with maintainers; [ ingenieroariel ]; + platforms = platforms.unix; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/geospatial/tile38/default.nix b/nixpkgs/pkgs/servers/geospatial/tile38/default.nix new file mode 100644 index 000000000000..9389b45deaf1 --- /dev/null +++ b/nixpkgs/pkgs/servers/geospatial/tile38/default.nix @@ -0,0 +1,30 @@ +{ lib, buildGoModule, fetchFromGitHub }: + +buildGoModule rec { + pname = "tile38"; + version = "1.29.0"; + + src = fetchFromGitHub { + owner = "tidwall"; + repo = pname; + rev = version; + sha256 = "sha256-sb/DKfQ9dmItxKqICVjG5cslpf8lHzLcs5gd6ue/Zn8="; + }; + + vendorSha256 = "sha256-/7dDPUXutyzkWq6EVVINFKzhuaiBCv5GrAF5pWG3ikc="; + + subPackages = [ "cmd/tile38-cli" "cmd/tile38-server" ]; + + ldflags = [ "-s" "-w" "-X github.com/tidwall/tile38/core.Version=${version}" ]; + + meta = with lib; { + description = "Real-time Geospatial and Geofencing"; + longDescription = '' + Tile38 is an in-memory geolocation data store, spatial index, and realtime geofence. + It supports a variety of object types including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON. + ''; + homepage = "https://tile38.com/"; + license = licenses.mit; + maintainers = with maintainers; [ sikmir ]; + }; +} |