2024-02-29 20:09:43 +00:00
# DO *NOT* MODIFY THE LINES CONTAINING "hash = ..." OR "version = ...".
# THEY ARE GENERATED. SEE ./update.sh.
{ fetchzip , libjpeg , netcdf , pkgs , stdenv }:
let
mkGeoserverExtension = { name , version , hash , buildInputs ? [ ] }: stdenv . mkDerivation {
pname = " g e o s e r v e r - ${ name } - e x t e n s i o n " ;
inherit buildInputs version ;
src = fetchzip {
url = " m i r r o r : / / s o u r c e f o r g e / g e o s e r v e r / G e o S e r v e r / ${ version } / e x t e n s i o n s / g e o s e r v e r - ${ version } - ${ name } - p l u g i n . z i p " ;
inherit hash ;
# We expect several files.
stripRoot = false ;
} ;
installPhase = ''
runHook preInstall
DIR = $ out/share/geoserver/webapps/geoserver/WEB-INF/lib
mkdir - p $ DIR
cp - r $ src /* $ D I R
runHook postInstall
'' ;
} ;
in
{
app-schema = mkGeoserverExtension {
name = " a p p - s c h e m a " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # app-schema
hash = " s h a 2 5 6 - q O B S 6 I f u X b T T 9 Y H u c A G e d V f J 5 x s V D T Y P + 9 N L Y 5 q a D W U = " ; # app-schema
2024-02-29 20:09:43 +00:00
} ;
authkey = mkGeoserverExtension {
name = " a u t h k e y " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # authkey
hash = " s h a 2 5 6 - G J S D 3 U L j D k x p 3 E x 6 R S r a f N 6 B X v g l E b q 9 z N Z Z n E Z Y g L 0 = " ; # authkey
2024-02-29 20:09:43 +00:00
} ;
cas = mkGeoserverExtension {
name = " c a s " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # cas
hash = " s h a 2 5 6 - v r Y C P M V K 9 B Q i G a 7 L 2 5 b z S G Q u w A + k E f 6 B G S 5 S v 4 9 N 9 b E = " ; # cas
2024-02-29 20:09:43 +00:00
} ;
charts = mkGeoserverExtension {
name = " c h a r t s " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # charts
hash = " s h a 2 5 6 - Q X b 3 t z O a b B e j I G v y s 7 D R j / z Z P e w c Z j j J P C n 9 9 b v b p j M = " ; # charts
2024-02-29 20:09:43 +00:00
} ;
control-flow = mkGeoserverExtension {
name = " c o n t r o l - f l o w " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # control-flow
hash = " s h a 2 5 6 - J N O s 1 0 3 S M H z G 2 I 4 6 k X D K V 3 f 6 x f G p D h X p V Y + j R 4 I D K F w = " ; # control-flow
2024-02-29 20:09:43 +00:00
} ;
css = mkGeoserverExtension {
name = " c s s " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # css
hash = " s h a 2 5 6 - l N 1 Q f C C M V g V x V K m Z R y Q j 6 m u F O C v o H H x N E T O u x 8 s Z e M M = " ; # css
2024-02-29 20:09:43 +00:00
} ;
csw = mkGeoserverExtension {
name = " c s w " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # csw
hash = " s h a 2 5 6 - r p A V z i t 0 D S j g o p L / / n K 0 f e e j T S f n o T I y a K L z 6 v p a j r s = " ; # csw
2024-02-29 20:09:43 +00:00
} ;
csw-iso = mkGeoserverExtension {
name = " c s w - i s o " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # csw-iso
hash = " s h a 2 5 6 - n s i e T E M r y s Z t 9 J z 3 d W T v f C K h 4 1 D r k r J 1 s T x k 4 I v / k E Y = " ; # csw-iso
2024-02-29 20:09:43 +00:00
} ;
db2 = mkGeoserverExtension {
name = " d b 2 " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # db2
hash = " s h a 2 5 6 - 9 S 1 Q a f q R l C t M 9 N / m E e h R b k o 5 k N g j G e 5 B J e n 9 8 Z c q O t 8 = " ; # db2
2024-02-29 20:09:43 +00:00
} ;
# Needs wps extension.
dxf = mkGeoserverExtension {
name = " d x f " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # dxf
hash = " s h a 2 5 6 - F c X c J w E m 1 Z 3 M 0 O U u R 1 p / P G b v b Q 0 z f 4 v 0 r u L / 7 6 5 x D + E = " ; # dxf
2024-02-29 20:09:43 +00:00
} ;
excel = mkGeoserverExtension {
name = " e x c e l " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # excel
hash = " s h a 2 5 6 - 2 Q E G 6 u 3 l u A g C F v C 1 G I Q Q X 7 K V N z 7 K S l l x + X M i H U B z H 3 c = " ; # excel
2024-02-29 20:09:43 +00:00
} ;
feature-pregeneralized = mkGeoserverExtension {
name = " f e a t u r e - p r e g e n e r a l i z e d " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # feature-pregeneralized
hash = " s h a 2 5 6 - a y O Q 7 Z J 0 v B w M f J l t P X + a j G 9 f p x D b n 9 a + s 0 W 5 g A J 2 N a 0 = " ; # feature-pregeneralized
2024-02-29 20:09:43 +00:00
} ;
# Note: The extension name ("gdal") clashes with pkgs.gdal.
gdal = mkGeoserverExtension {
name = " g d a l " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # gdal
2024-02-29 20:09:43 +00:00
buildInputs = [ pkgs . gdal ] ;
2024-07-27 06:49:29 +00:00
hash = " s h a 2 5 6 - C U K q g c / k i N h / k M r v B X i V H r k o 4 M i M e x v Y 7 W 4 8 N N X X o o U = " ; # gdal
2024-02-29 20:09:43 +00:00
} ;
# 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.
#geofence = mkGeoserverExtension {
# name = "geofence";
2024-07-27 06:49:29 +00:00
# version = "2.25.2"; # geofence
# hash = "sha256-HtbLj5hiqjIJU3IIbcvCQgxlan8PLn/xW+0U2FMBrwE="; # geofence
2024-02-29 20:09:43 +00:00
#};
#geofence-server = mkGeoserverExtension {
# name = "geofence-server";
2024-07-27 06:49:29 +00:00
# version = "2.25.2"; # geofence-server
# hash = "sha256-o8+9ePnCuWjB0u9QcgJ2sYSMb0+XslROJEZdDJPXg3k="; # geofence-server
2024-02-29 20:09:43 +00:00
#};
#geofence-wps = mkGeoserverExtension {
# name = "geofence-wps";
2024-07-27 06:49:29 +00:00
# version = "2.25.2"; # geofence-wps
# hash = "sha256-3VsSgE9crmnbMP9njAlZTMZ8hyBRm5JXTLjSET53lco="; # geofence-wps
2024-02-29 20:09:43 +00:00
#};
geopkg-output = mkGeoserverExtension {
name = " g e o p k g - o u t p u t " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # geopkg-output
hash = " s h a 2 5 6 - P 8 D l l J Y I E I G n z z J e G x + h W p i k 5 T p o 6 m + 7 I p 6 Q R T Z 9 Q c s = " ; # geopkg-output
2024-02-29 20:09:43 +00:00
} ;
grib = mkGeoserverExtension {
name = " g r i b " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # grib
hash = " s h a 2 5 6 - M B y V r J B 6 W C x i Y 4 / L j p f x 9 3 L g 0 1 / i i x g s n p 4 7 C 0 / L m t E = " ; # grib
2024-02-29 20:09:43 +00:00
buildInputs = [ netcdf ] ;
} ;
gwc-s3 = mkGeoserverExtension {
name = " g w c - s 3 " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # gwc-s3
hash = " s h a 2 5 6 - I 3 8 J V v W T c + e r n y y I c Y A a 7 v L K 4 L N b d N i h a b 3 w v e C y o L M = " ; # gwc-s3
2024-02-29 20:09:43 +00:00
} ;
h2 = mkGeoserverExtension {
name = " h 2 " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # h2
hash = " s h a 2 5 6 - P n 3 X N T n F n 1 H Q a 4 V + 9 F G p 4 x R W Y O K Y o 7 F 9 T q n P K s 7 J e N I = " ; # h2
2024-02-29 20:09:43 +00:00
} ;
iau = mkGeoserverExtension {
name = " i a u " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # iau
hash = " s h a 2 5 6 - 4 P D 5 D s J g o X f O Q 5 l f 4 o k x 1 d W 4 z R i H S i 8 g e G r q H 4 a x W e w = " ; # iau
2024-02-29 20:09:43 +00:00
} ;
importer = mkGeoserverExtension {
name = " i m p o r t e r " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # importer
hash = " s h a 2 5 6 - o 5 B H W M u 4 C 7 O 8 V T Z W o 7 L P T t G R 4 7 d 0 o p L T f + d Q M x T V Z z k = " ; # importer
2024-02-29 20:09:43 +00:00
} ;
inspire = mkGeoserverExtension {
name = " i n s p i r e " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # inspire
hash = " s h a 2 5 6 - i Q l p q 5 Z P 3 G z 9 U G X H 1 h S W 7 S 5 Z v 1 m Z H q i e T A C U X 0 d P 3 V s = " ; # inspire
2024-02-29 20:09:43 +00:00
} ;
# Needs Kakadu plugin from
# https://github.com/geosolutions-it/imageio-ext
#jp2k = mkGeoserverExtension {
# name = "jp2k";
2024-07-27 06:49:29 +00:00
# version = "2.25.2"; # jp2k
# hash = "sha256-0Sh0eM0ZWyCL34IOir7j3gYwyUU7y3+zhIV5y+BJ1NA="; # jp2k
2024-02-29 20:09:43 +00:00
#};
libjpeg-turbo = mkGeoserverExtension {
name = " l i b j p e g - t u r b o " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # libjpeg-turbo
hash = " s h a 2 5 6 - h X j F 7 u i f k 8 T p 3 z 2 q L h y m Q O w I J 8 M l 4 F N 5 Q d 4 s 1 N P 3 T P k = " ; # libjpeg-turbo
2024-02-29 20:09:43 +00:00
buildInputs = [ libjpeg . out ] ;
} ;
mapml = mkGeoserverExtension {
name = " m a p m l " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # mapml
hash = " s h a 2 5 6 - f x 8 E p G g 6 Z e u G L u h + P L R N S W g H 7 4 M E n I v B 4 r X w 6 G V S + 6 0 = " ; # mapml
2024-02-29 20:09:43 +00:00
} ;
mbstyle = mkGeoserverExtension {
name = " m b s t y l e " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # mbstyle
hash = " s h a 2 5 6 - u Q w 7 w d k Z P + 1 X U j o m b M x L n Z 6 1 D S l 8 N H y G o E u F y 7 b i D l M = " ; # mbstyle
2024-02-29 20:09:43 +00:00
} ;
metadata = mkGeoserverExtension {
name = " m e t a d a t a " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # metadata
hash = " s h a 2 5 6 - 3 T W M L T o H w X n 1 5 T 1 d 4 v 9 U 7 6 W R j j I J h X 1 2 I t 5 D P f u W d L Y = " ; # metadata
2024-02-29 20:09:43 +00:00
} ;
mongodb = mkGeoserverExtension {
name = " m o n g o d b " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # mongodb
hash = " s h a 2 5 6 - Y / m y u t o m k h A M P D j o G r s q E d s H j z I 9 8 + 5 1 4 v c K D I J P A 2 M = " ; # mongodb
2024-02-29 20:09:43 +00:00
} ;
monitor = mkGeoserverExtension {
name = " m o n i t o r " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # monitor
hash = " s h a 2 5 6 - e l D V d U T 8 D d x W G e s F 9 M X + F S Y s 6 t h f 3 R H o U F J J v x G m b / A = " ; # monitor
2024-02-29 20:09:43 +00:00
} ;
mysql = mkGeoserverExtension {
name = " m y s q l " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # mysql
hash = " s h a 2 5 6 - m e r s + U L F C 1 R S v C 2 a C s 3 q b c f m H b k L d d r i U a D r 9 w f J / Y A = " ; # mysql
2024-02-29 20:09:43 +00:00
} ;
netcdf = mkGeoserverExtension {
name = " n e t c d f " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # netcdf
hash = " s h a 2 5 6 - O J V q w G I h e c D w m t m A a J c X b q l w C I A S j a 5 s U x B i P o X k r B 0 = " ; # netcdf
2024-02-29 20:09:43 +00:00
buildInputs = [ netcdf ] ;
} ;
netcdf-out = mkGeoserverExtension {
name = " n e t c d f - o u t " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # netcdf-out
hash = " s h a 2 5 6 - 0 Y m 8 o V A 1 w D F q Q G a f 0 V s p T X 2 t C T d I 0 y T s p 7 C A m e n B L / 8 = " ; # netcdf-out
2024-02-29 20:09:43 +00:00
buildInputs = [ netcdf ] ;
} ;
ogr-wfs = mkGeoserverExtension {
name = " o g r - w f s " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # ogr-wfs
2024-02-29 20:09:43 +00:00
buildInputs = [ pkgs . gdal ] ;
2024-07-27 06:49:29 +00:00
hash = " s h a 2 5 6 - e n r c + z G q 2 b r r e q Q M b C j c n I m f 7 a T Z b L b u o l K 3 / y 1 I c c k = " ; # ogr-wfs
2024-02-29 20:09:43 +00:00
} ;
# Needs ogr-wfs extension.
ogr-wps = mkGeoserverExtension {
name = " o g r - w p s " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # ogr-wps
2024-02-29 20:09:43 +00:00
# buildInputs = [ pkgs.gdal ];
2024-07-27 06:49:29 +00:00
hash = " s h a 2 5 6 - T C v y d Q Y d t n q H / x u d z B O y r v x q F q W k e 7 B 4 A t 1 f 6 L 7 U H O 4 = " ; # ogr-wps
2024-02-29 20:09:43 +00:00
} ;
oracle = mkGeoserverExtension {
name = " o r a c l e " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # oracle
hash = " s h a 2 5 6 - 1 K i x J v C p e N c 5 l N + X S x + F C 8 D 7 1 W c n k O 6 m G 3 w Y W H 3 w 0 c 4 = " ; # oracle
2024-02-29 20:09:43 +00:00
} ;
params-extractor = mkGeoserverExtension {
name = " p a r a m s - e x t r a c t o r " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # params-extractor
hash = " s h a 2 5 6 - M z d J E v H O e s J J n L s 4 f m W F g L j b j U B l c 8 5 t v W o H Y v 0 g d j E = " ; # params-extractor
2024-02-29 20:09:43 +00:00
} ;
printing = mkGeoserverExtension {
name = " p r i n t i n g " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # printing
hash = " s h a 2 5 6 - J w y J Y G I c Z O a S v k F b J u 9 T A K V f w u 3 X w Z P 7 d z e w Y x 5 H S s c = " ; # printing
2024-02-29 20:09:43 +00:00
} ;
pyramid = mkGeoserverExtension {
name = " p y r a m i d " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # pyramid
hash = " s h a 2 5 6 - 2 L E a t 5 B Z g W F Q m E 6 8 v x i r X H + D I U E d V s T f 6 E c 8 F + / 6 D A 8 = " ; # pyramid
2024-02-29 20:09:43 +00:00
} ;
querylayer = mkGeoserverExtension {
name = " q u e r y l a y e r " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # querylayer
hash = " s h a 2 5 6 - V n v f n t M 3 S v M K x A k 2 5 G j 3 i K q s Y S K h L f h + P y y o A N q w f q 8 = " ; # querylayer
2024-02-29 20:09:43 +00:00
} ;
sldservice = mkGeoserverExtension {
name = " s l d s e r v i c e " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # sldservice
hash = " s h a 2 5 6 - l z O s 7 M r m A q o J l C K + H x i K A O d l C H u q X a 5 D U 9 t i l F 6 c Z o o = " ; # sldservice
2024-02-29 20:09:43 +00:00
} ;
sqlserver = mkGeoserverExtension {
name = " s q l s e r v e r " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # sqlserver
hash = " s h a 2 5 6 - E Z T c o N f p 1 i G C B N W 3 Y R 4 N Z p e I + t S t c o d G E 5 w Q i W f F z n o = " ; # sqlserver
2024-02-29 20:09:43 +00:00
} ;
vectortiles = mkGeoserverExtension {
name = " v e c t o r t i l e s " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # vectortiles
hash = " s h a 2 5 6 - + o 8 q l i i C n R l j C X n i I + 9 I 7 o o U / l 1 S L E P F 9 i D t x v i K f q Y = " ; # vectortiles
2024-02-29 20:09:43 +00:00
} ;
wcs2_0-eo = mkGeoserverExtension {
name = " w c s 2 _ 0 - e o " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # wcs2_0-eo
hash = " s h a 2 5 6 - L 9 j K x i v U t w A 9 J g f y 3 E 1 r Q D 0 + 1 9 P r v H x w k l D J k A Y F R T 0 = " ; # wcs2_0-eo
2024-02-29 20:09:43 +00:00
} ;
web-resource = mkGeoserverExtension {
name = " w e b - r e s o u r c e " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # web-resource
hash = " s h a 2 5 6 - K i k K M M Z 6 v v / q W w n 0 T C Q c N R 1 8 M b r J i b w e u + y v U h Q t 7 v Q = " ; # web-resource
2024-02-29 20:09:43 +00:00
} ;
wmts-multi-dimensional = mkGeoserverExtension {
name = " w m t s - m u l t i - d i m e n s i o n a l " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # wmts-multi-dimensional
hash = " s h a 2 5 6 - J + b u n e o s 9 v d f A 8 t 9 N S 0 I K o 5 7 I t o r B N 1 I O m J v N H O / Q y 0 = " ; # wmts-multi-dimensional
2024-02-29 20:09:43 +00:00
} ;
wps = mkGeoserverExtension {
name = " w p s " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # wps
hash = " s h a 2 5 6 - E q M x 1 a I / G R 0 n F v E M m o 6 R L X B Z u 8 j J e + u 2 v + M u z f + y e 9 Q = " ; # wps
2024-02-29 20:09:43 +00:00
} ;
# Needs hazelcast (https://github.com/hazelcast/hazelcast (?)) which is not
# available in nixpgs as of 2024/01.
#wps-cluster-hazelcast = mkGeoserverExtension {
# name = "wps-cluster-hazelcast";
2024-07-27 06:49:29 +00:00
# version = "2.25.2"; # wps-cluster-hazelcast
# hash = "sha256-58BmwzdX3jGJHqvAjZjhIE5LxcLRZaUaeHmPrnN1PP8="; # wps-cluster-hazelcast
2024-02-29 20:09:43 +00:00
#};
wps-download = mkGeoserverExtension {
name = " w p s - d o w n l o a d " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # wps-download
hash = " s h a 2 5 6 - q c q w 8 7 5 S I z s j X M J F M w I m 9 e t 6 V o 0 G 0 q g 6 z r Z l g m l 8 Q l 8 = " ; # wps-download
2024-02-29 20:09:43 +00:00
} ;
# Needs Postrgres configuration or similar.
# See https://docs.geoserver.org/main/en/user/extensions/wps-jdbc/index.html
wps-jdbc = mkGeoserverExtension {
name = " w p s - j d b c " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # wps-jdbc
hash = " s h a 2 5 6 - M s R 5 / y e D b B g V a l x 4 g m 9 v 8 J N d F Q n G B T d w y 5 n k O y U X T A s = " ; # wps-jdbc
2024-02-29 20:09:43 +00:00
} ;
ysld = mkGeoserverExtension {
name = " y s l d " ;
2024-07-27 06:49:29 +00:00
version = " 2 . 2 5 . 2 " ; # ysld
hash = " s h a 2 5 6 - H 8 B f s R k 6 z k 0 k X 9 4 Y Y 9 y U 8 F e e b T z j A 8 z a g n V W U 7 S r 9 / Q = " ; # ysld
2024-02-29 20:09:43 +00:00
} ;
}