1 # DO *NOT* MODIFY THE LINES CONTAINING "hash = ..." OR "version = ...".
2 # THEY ARE GENERATED. SEE ./update.sh.
3 { fetchzip, libjpeg, netcdf, pkgs, stdenv }:
6 mkGeoserverExtension = { name, version, hash, buildInputs ? [ ] }: stdenv.mkDerivation {
7 pname = "geoserver-${name}-extension";
8 inherit buildInputs version;
11 url = "mirror://sourceforge/geoserver/GeoServer/${version}/extensions/geoserver-${version}-${name}-plugin.zip";
13 # We expect several files.
20 DIR=$out/share/geoserver/webapps/geoserver/WEB-INF/lib
30 app-schema = mkGeoserverExtension {
32 version = "2.26.1"; # app-schema
33 hash = "sha256-klT03jure+ILuQX5X3jdIfUa7AI/bdzTEig2QDs/P5o="; # app-schema
36 authkey = mkGeoserverExtension {
38 version = "2.26.1"; # authkey
39 hash = "sha256-jjZtUiSQ8ZzsLrinT8Uw628jIRKnGi6XnGT/5GvCwew="; # authkey
42 cas = mkGeoserverExtension {
44 version = "2.26.1"; # cas
45 hash = "sha256-FcUlQ9gSb64wxnEZaU1oJViPDbA32GChcdiZ5uvft7w="; # cas
48 charts = mkGeoserverExtension {
50 version = "2.26.1"; # charts
51 hash = "sha256-IDGBTMa+VMqZIxOFylL29t0h9AoOXe7GJmj3dKrdGQ0="; # charts
54 control-flow = mkGeoserverExtension {
55 name = "control-flow";
56 version = "2.26.1"; # control-flow
57 hash = "sha256-09EuvTTGeaNRLKshhsyHPvE4p9F5IJPV/ig8cNigQbA="; # control-flow
60 css = mkGeoserverExtension {
62 version = "2.26.1"; # css
63 hash = "sha256-Qy5AYnXIcsoGxnGCjHRK4XiDflT1jVoVKr6Iq/GMYlg="; # css
66 csw = mkGeoserverExtension {
68 version = "2.26.1"; # csw
69 hash = "sha256-mZ7BrWFmLrpzW/oM0YovTC+Zb6BMnj1idMSiemNX6Xc="; # csw
72 csw-iso = mkGeoserverExtension {
74 version = "2.26.1"; # csw-iso
75 hash = "sha256-FV5GDv+fywFhdNJi5hT5qvvPQVBT3TJpjI0SQnmH5BY="; # csw-iso
78 db2 = mkGeoserverExtension {
80 version = "2.26.1"; # db2
81 hash = "sha256-XlCAFADr8hLFQAbCxrFtrNIBh4S4oEjbezlCwprW8uQ="; # db2
84 # Needs wps extension.
85 dxf = mkGeoserverExtension {
87 version = "2.26.1"; # dxf
88 hash = "sha256-WHuhp+nqO5NemYWGiRcuD5/vlBdmMNT+sdm2a+yk9do="; # dxf
91 excel = mkGeoserverExtension {
93 version = "2.26.1"; # excel
94 hash = "sha256-JRNM+JilMODNb2r4XEBRj2wkIb/zc6e6Q+U+/X8egAY="; # excel
97 feature-pregeneralized = mkGeoserverExtension {
98 name = "feature-pregeneralized";
99 version = "2.26.1"; # feature-pregeneralized
100 hash = "sha256-I0UzMFkZF9SaIFI+GcfegxdC4IFIUi6+GsutotJ5i1Q="; # feature-pregeneralized
103 # Note: The extension name ("gdal") clashes with pkgs.gdal.
104 gdal = mkGeoserverExtension {
106 version = "2.26.1"; # gdal
107 buildInputs = [ pkgs.gdal ];
108 hash = "sha256-EoaKKlEhch5/wg4SODx9JV9+M+4Ui9Wcb2HSM1bcgLE="; # gdal
111 # Throws "java.io.FileNotFoundException: URL [jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties] cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/nix/store/.../WEB-INF/lib/gs-geofence-server-2.24.1.jar!/geofence-default-override.properties" but seems to work out of the box.
112 #geofence = mkGeoserverExtension {
114 # version = "2.26.1"; # geofence
115 # hash = "sha256-B2yPPEOsdBDxO/mG3W6MYBqhigjvS6YTZTsvHoUzBAg="; # geofence
118 #geofence-server = mkGeoserverExtension {
119 # name = "geofence-server";
120 # version = "2.26.1"; # geofence-server
121 # hash = "sha256-pgWWomyBmru2tfQfuGdomQirN0Km3j5W/JG644vNHZQ="; # geofence-server
124 #geofence-wps = mkGeoserverExtension {
125 # name = "geofence-wps";
126 # version = "2.26.1"; # geofence-wps
127 # hash = "sha256-hQBYJ+jXx3/GOVzqcSS1w/Zc0GKAD2fyIX5lm9kiPmg="; # geofence-wps
130 geopkg-output = mkGeoserverExtension {
131 name = "geopkg-output";
132 version = "2.26.1"; # geopkg-output
133 hash = "sha256-9EuI9Hvvxdf1FmJ6AMHmbc5RJr33MlBbGd9NqNwacFo="; # geopkg-output
136 grib = mkGeoserverExtension {
138 version = "2.26.1"; # grib
139 hash = "sha256-o87Fyy+remmP8c3m4TZ6TX+lUoPdH//P2yJ1DeV+iBs="; # grib
140 buildInputs = [ netcdf ];
143 gwc-s3 = mkGeoserverExtension {
145 version = "2.26.1"; # gwc-s3
146 hash = "sha256-7XLrG4sJ1Bvw6d0qzT0ZGLVQ8wr9br9mUEwZGvd9U+s="; # gwc-s3
149 h2 = mkGeoserverExtension {
151 version = "2.26.1"; # h2
152 hash = "sha256-ldqz1tPPJkyJPFBeltDUIDLwZtTu8mpSHRbWGsY3TfY="; # h2
155 iau = mkGeoserverExtension {
157 version = "2.26.1"; # iau
158 hash = "sha256-mzkYYPfixrSx7+r0lSrOw9agocpi7BogDnmcqtiJh1M="; # iau
161 importer = mkGeoserverExtension {
163 version = "2.26.1"; # importer
164 hash = "sha256-Os7oRg+EM5p7rXyI5Qg0vWzZ2i1/tplw1zHaLJJ0feM="; # importer
167 inspire = mkGeoserverExtension {
169 version = "2.26.1"; # inspire
170 hash = "sha256-cYxoBk/oOjKj7gk4mzHUSU1LbWLRxjSbH9B+JiZCxgU="; # inspire
173 # Needs Kakadu plugin from
174 # https://github.com/geosolutions-it/imageio-ext
175 #jp2k = mkGeoserverExtension {
177 # version = "2.26.1"; # jp2k
178 # hash = "sha256-P4UUtfRSlH4GMpDcvy1TjyorolrPLK0P8zCwDJUbFhE="; # jp2k
181 libjpeg-turbo = mkGeoserverExtension {
182 name = "libjpeg-turbo";
183 version = "2.26.1"; # libjpeg-turbo
184 hash = "sha256-pGorlT/BaS605wyIcgNAM5aJxV6I78Dr3m1uADxdebI="; # libjpeg-turbo
185 buildInputs = [ libjpeg.out ];
188 mapml = mkGeoserverExtension {
190 version = "2.26.1"; # mapml
191 hash = "sha256-r1Z7Gc3c/kH2jm6wD46Oj2ZZTg136k2n9lqnRVkPXfs="; # mapml
194 mbstyle = mkGeoserverExtension {
196 version = "2.26.1"; # mbstyle
197 hash = "sha256-a5jQDyn/nOS/HbhAzKAKl40g1SDYQ51Xi+LzWtByntA="; # mbstyle
200 metadata = mkGeoserverExtension {
202 version = "2.26.1"; # metadata
203 hash = "sha256-O9/gBrJBp8/fOYOx7fsqkgcQ0k6wxIoz9DLQDemjJK8="; # metadata
206 mongodb = mkGeoserverExtension {
208 version = "2.26.1"; # mongodb
209 hash = "sha256-j9e2V6UkagW55WKKW2eaCnBBGwKmdDjGQBSvngpAqb8="; # mongodb
212 monitor = mkGeoserverExtension {
214 version = "2.26.1"; # monitor
215 hash = "sha256-CLTtJHO+/Hq8/JFErm3ieyLc6wIqCelx0CRDpzbPfZ0="; # monitor
218 mysql = mkGeoserverExtension {
220 version = "2.26.1"; # mysql
221 hash = "sha256-TiSkHdp/U9P1acaD5mN0eOA/J/5fnnJH14nDlKNY3+k="; # mysql
224 netcdf = mkGeoserverExtension {
226 version = "2.26.1"; # netcdf
227 hash = "sha256-k/zDVoh19Pg/jZa4svAqU1c4EqPnPRSIQL9ZTlrohvY="; # netcdf
228 buildInputs = [ netcdf ];
231 netcdf-out = mkGeoserverExtension {
233 version = "2.26.1"; # netcdf-out
234 hash = "sha256-maHIpPQshEcB7JZuhTIo1X209o29iv36alUx76LWV2I="; # netcdf-out
235 buildInputs = [ netcdf ];
238 ogr-wfs = mkGeoserverExtension {
240 version = "2.26.1"; # ogr-wfs
241 buildInputs = [ pkgs.gdal ];
242 hash = "sha256-XFEO0JruZCgYj7LWNftIFeI0LoypMbtD2A148LbLg+4="; # ogr-wfs
245 # Needs ogr-wfs extension.
246 ogr-wps = mkGeoserverExtension {
248 version = "2.26.1"; # ogr-wps
249 # buildInputs = [ pkgs.gdal ];
250 hash = "sha256-qfuU/HlVTHjPIA9DCdc8YURpLyPHSxXKEko0s3tDLpI="; # ogr-wps
253 oracle = mkGeoserverExtension {
255 version = "2.26.1"; # oracle
256 hash = "sha256-dZ6b+hYD1uJDHMJRDChsZc3W9TiQhKfvCBbDIr9xB9E="; # oracle
259 params-extractor = mkGeoserverExtension {
260 name = "params-extractor";
261 version = "2.26.1"; # params-extractor
262 hash = "sha256-7qr+jxo4tzxW76k/t+Zd0h45U6mqzReRjnsJfWFZV8o="; # params-extractor
265 printing = mkGeoserverExtension {
267 version = "2.26.1"; # printing
268 hash = "sha256-jXdp0zX5sq4HBs1lF658FtSRjMOm1KXrbVm9dDPDmfk="; # printing
271 pyramid = mkGeoserverExtension {
273 version = "2.26.1"; # pyramid
274 hash = "sha256-hRc24f5pY94TRsmttc0SLPjS6S23kzCeiyuE8XbM4pA="; # pyramid
277 querylayer = mkGeoserverExtension {
279 version = "2.26.1"; # querylayer
280 hash = "sha256-7wNSoi6PUZJLHGUO0D48O88xKoU63FBSH4+lfxgbEjA="; # querylayer
283 sldservice = mkGeoserverExtension {
285 version = "2.26.1"; # sldservice
286 hash = "sha256-T2v42w8mhaFH/gcnJUEJdlQZH6gNyx8Y8wpKws0Xsns="; # sldservice
289 sqlserver = mkGeoserverExtension {
291 version = "2.26.1"; # sqlserver
292 hash = "sha256-gQrmBMxosWkvAb9+DG9UEgrmG8AKl3NPgYLZ2nG2iM0="; # sqlserver
295 vectortiles = mkGeoserverExtension {
296 name = "vectortiles";
297 version = "2.26.1"; # vectortiles
298 hash = "sha256-/cR7S5dzR8td7dFk05QkLnp0vhSpXuCLO0vmiB2JyRQ="; # vectortiles
301 wcs2_0-eo = mkGeoserverExtension {
303 version = "2.26.1"; # wcs2_0-eo
304 hash = "sha256-SYUo3G/BuILOHN6t8F9Q/gwGjAzCY9crmvU+f6mDm/U="; # wcs2_0-eo
307 web-resource = mkGeoserverExtension {
308 name = "web-resource";
309 version = "2.26.1"; # web-resource
310 hash = "sha256-z2Zm4UvigN7TvIIHnn42xThIg8Xy3F2+1fPzdhDMZ+A="; # web-resource
313 wmts-multi-dimensional = mkGeoserverExtension {
314 name = "wmts-multi-dimensional";
315 version = "2.26.1"; # wmts-multi-dimensional
316 hash = "sha256-Wju8vN4KCN13aJshPqfUEQa8B0WHdeOvFEZ/ZzZOg7E="; # wmts-multi-dimensional
319 wps = mkGeoserverExtension {
321 version = "2.26.1"; # wps
322 hash = "sha256-Yi1MdBWeoNBMco/8JUouVXVpfebmpXkTo6COJPLl0bw="; # wps
325 # Needs hazelcast (https://github.com/hazelcast/hazelcast (?)) which is not
326 # available in nixpgs as of 2024/01.
327 #wps-cluster-hazelcast = mkGeoserverExtension {
328 # name = "wps-cluster-hazelcast";
329 # version = "2.26.1"; # wps-cluster-hazelcast
330 # hash = "sha256-Ed2jV6fmoOUQX7Cs3Qe1TjJ8mki/u1v/nng7MqF+Jqs="; # wps-cluster-hazelcast
333 wps-download = mkGeoserverExtension {
334 name = "wps-download";
335 version = "2.26.1"; # wps-download
336 hash = "sha256-HX+RUZHsfyMb/u/I2S57zrW6HKhzSdE9CZT3GjQ0fbM="; # wps-download
339 # Needs Postrgres configuration or similar.
340 # See https://docs.geoserver.org/main/en/user/extensions/wps-jdbc/index.html
341 wps-jdbc = mkGeoserverExtension {
343 version = "2.26.1"; # wps-jdbc
344 hash = "sha256-W6EUZtt8It1u786eFvuw9k7eZ1SLBG+J4amW036PZko="; # wps-jdbc
347 ysld = mkGeoserverExtension {
349 version = "2.26.1"; # ysld
350 hash = "sha256-kwAMkoSNxoraZ20fVg0xCOD3slxAITL+eLOIJCGewXk="; # ysld