about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/geospatial
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-12-06 19:57:55 +0000
committerAlyssa Ross <hi@alyssa.is>2023-02-08 13:48:30 +0000
commitbf3aadfdd39aa197e18bade671fab6726349ffa4 (patch)
tree698567af766ed441d757b57a7b21e68d4a342a2b /nixpkgs/pkgs/servers/geospatial
parentf4afc5a01d9539ce09e47494e679c51f80723d07 (diff)
parent99665eb45f58d959d2cb9e49ddb960c79d596f33 (diff)
downloadnixlib-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')
-rw-r--r--nixpkgs/pkgs/servers/geospatial/geoserver/default.nix38
-rw-r--r--nixpkgs/pkgs/servers/geospatial/mapcache/default.nix59
-rw-r--r--nixpkgs/pkgs/servers/geospatial/mapserver/default.nix63
-rw-r--r--nixpkgs/pkgs/servers/geospatial/martin/default.nix27
-rw-r--r--nixpkgs/pkgs/servers/geospatial/mbtileserver/default.nix24
-rw-r--r--nixpkgs/pkgs/servers/geospatial/pg_featureserv/default.nix25
-rw-r--r--nixpkgs/pkgs/servers/geospatial/pg_tileserv/default.nix27
-rw-r--r--nixpkgs/pkgs/servers/geospatial/t-rex/default.nix29
-rw-r--r--nixpkgs/pkgs/servers/geospatial/tegola/default.nix27
-rw-r--r--nixpkgs/pkgs/servers/geospatial/tile38/default.nix30
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 ];
+  };
+}