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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # app-schema
hash = " s h a 2 5 6 - I v c J A u 6 2 w X A h 5 O Q k G 3 c T U B / X 7 d c / 2 q 6 L e 7 G S w f J L / s A = " ; # app-schema
2024-02-29 20:09:43 +00:00
} ;
authkey = mkGeoserverExtension {
name = " a u t h k e y " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # authkey
hash = " s h a 2 5 6 - 4 t E u 9 J O o m M N / n t D H L q E w r n 9 l P r J 4 L j T M / V u M s j A R b F 0 = " ; # authkey
2024-02-29 20:09:43 +00:00
} ;
cas = mkGeoserverExtension {
name = " c a s " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # cas
hash = " s h a 2 5 6 - A m 8 t g F 5 A P K u T a 7 X I 7 a I 9 O q 9 j A i D P f J h G C X E r t y P p D S 8 = " ; # cas
2024-02-29 20:09:43 +00:00
} ;
charts = mkGeoserverExtension {
name = " c h a r t s " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # charts
hash = " s h a 2 5 6 - 0 V u 9 l d B Y W e 4 v F Q 6 f t E O / W s m N z 3 S f 3 W 8 i P S 7 t 9 W / + 5 f Y = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # control-flow
hash = " s h a 2 5 6 - z H + H z 7 S y S K R d r r m M B u k X k a C z i s z I w O q z S m G Y X W Z G x s 4 = " ; # control-flow
2024-02-29 20:09:43 +00:00
} ;
css = mkGeoserverExtension {
name = " c s s " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # css
hash = " s h a 2 5 6 - c 3 V D x T G Z e b G C P f Y h w U y E N o G i D m V a 1 z t t J E i / 8 7 9 R P s c = " ; # css
2024-02-29 20:09:43 +00:00
} ;
csw = mkGeoserverExtension {
name = " c s w " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # csw
hash = " s h a 2 5 6 - 8 G 7 G Y 5 n 0 b V / x v w U k T i j H L n s X B D 4 M c z I a s t d e G m F c f S c = " ; # csw
2024-02-29 20:09:43 +00:00
} ;
csw-iso = mkGeoserverExtension {
name = " c s w - i s o " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # csw-iso
hash = " s h a 2 5 6 - c S Y 9 8 1 K 9 Q i Y 3 Y J J R 1 z B C Q A r J E S Z O + 8 0 o I a / u j + q T s T M = " ; # csw-iso
2024-02-29 20:09:43 +00:00
} ;
db2 = mkGeoserverExtension {
name = " d b 2 " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # db2
hash = " s h a 2 5 6 - 0 e R i L o P I W v 5 B d d i 9 R x R k x A V M S o l Z C p v 1 k K E K 7 F k Q r X s = " ; # db2
2024-02-29 20:09:43 +00:00
} ;
# Needs wps extension.
dxf = mkGeoserverExtension {
name = " d x f " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # dxf
hash = " s h a 2 5 6 - 0 i 2 F 9 3 4 3 I h N 6 L Z M d T j / d S P 5 k 5 Q X d 7 S i / 8 Z W b x m k c d D 4 = " ; # dxf
2024-02-29 20:09:43 +00:00
} ;
excel = mkGeoserverExtension {
name = " e x c e l " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # excel
hash = " s h a 2 5 6 - N 7 O C X q 1 H R w V 1 p o P I m c t 7 T 9 Z W d b W W Y p r S B M a r G X x 3 3 O I = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # feature-pregeneralized
hash = " s h a 2 5 6 - R 1 j v 7 G P T 3 f 7 D 1 8 g Q o W c L X q h t U L t U v A 3 w E e X C 2 Q 0 + e Q g = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # gdal
2024-02-29 20:09:43 +00:00
buildInputs = [ pkgs . gdal ] ;
2024-07-31 10:19:44 +00:00
hash = " s h a 2 5 6 - n 6 B / F H p u l 2 9 M T Y u B s g 0 X N f T T A N B X w / c S E o l z I a b h H A 8 = " ; # 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-31 10:19:44 +00:00
# version = "2.25.3"; # geofence
# hash = "sha256-298rEz0JmFhXxfv0tpdsDOrFLyS7GcuFwp/tX/m+SyI="; # geofence
2024-02-29 20:09:43 +00:00
#};
#geofence-server = mkGeoserverExtension {
# name = "geofence-server";
2024-07-31 10:19:44 +00:00
# version = "2.25.3"; # geofence-server
# hash = "sha256-PHP6OmulBbUJ1Q7qliYXX6fAA2C8q4h4i7qCXJpVUCQ="; # geofence-server
2024-02-29 20:09:43 +00:00
#};
#geofence-wps = mkGeoserverExtension {
# name = "geofence-wps";
2024-07-31 10:19:44 +00:00
# version = "2.25.3"; # geofence-wps
# hash = "sha256-vH7gQsjfAEcpcM+JVRfbw5sH4eJz+051FBrmoS7MyYo="; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # geopkg-output
hash = " s h a 2 5 6 - f r c N j S + p h s y u R o 4 P l m c S U u 2 Y l p 3 k H A 8 O Y m + W C B A U / U I = " ; # geopkg-output
2024-02-29 20:09:43 +00:00
} ;
grib = mkGeoserverExtension {
name = " g r i b " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # grib
hash = " s h a 2 5 6 - u Q 7 x e 3 s o k r E 8 9 Q T f T L y n H S H E 0 W 6 L m i I C O 3 X K k W K E J B U = " ; # grib
2024-02-29 20:09:43 +00:00
buildInputs = [ netcdf ] ;
} ;
gwc-s3 = mkGeoserverExtension {
name = " g w c - s 3 " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # gwc-s3
hash = " s h a 2 5 6 - 1 c c 3 J y w X a C C Q U o j n T V Y m k q 9 G z 5 Y 1 a t B J m d 0 G D h y G A I E = " ; # gwc-s3
2024-02-29 20:09:43 +00:00
} ;
h2 = mkGeoserverExtension {
name = " h 2 " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # h2
hash = " s h a 2 5 6 - C p / 3 q r j N S K z t A a M r x P o Z o 2 Y f G B E e z L Q p 6 / Z G O e h k i x M = " ; # h2
2024-02-29 20:09:43 +00:00
} ;
iau = mkGeoserverExtension {
name = " i a u " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # iau
hash = " s h a 2 5 6 - M V / X Y F 6 1 r Q j u O J S U 6 n 0 A D a u F Y J G F 0 c Z k 4 l M S o H s 9 d r g = " ; # iau
2024-02-29 20:09:43 +00:00
} ;
importer = mkGeoserverExtension {
name = " i m p o r t e r " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # importer
hash = " s h a 2 5 6 - T 6 P G v 3 z f i w A 8 D E 2 X Z 2 C u s a Q 0 v R G Z 7 5 m O 4 n x O N s C Q U + g = " ; # importer
2024-02-29 20:09:43 +00:00
} ;
inspire = mkGeoserverExtension {
name = " i n s p i r e " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # inspire
hash = " s h a 2 5 6 - A 4 B B d 0 Q 8 N V j P L I 6 e 8 H T C g 5 z d 4 Q O L Q 6 H o 3 / 2 h n R X C e T M = " ; # 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-31 10:19:44 +00:00
# version = "2.25.3"; # jp2k
# hash = "sha256-0df5vPLYqxPAxqINwdWZ5RRJQVm/79sUcj8fB4RwMKY="; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # libjpeg-turbo
hash = " s h a 2 5 6 - v Q j e Y u B 6 J Y + b M l x R X Z 7 H q g S 2 h E t m E J J v o w f w h W m Y k Y 4 = " ; # libjpeg-turbo
2024-02-29 20:09:43 +00:00
buildInputs = [ libjpeg . out ] ;
} ;
mapml = mkGeoserverExtension {
name = " m a p m l " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # mapml
hash = " s h a 2 5 6 - 3 B M C W e A F n 5 2 U i o b 5 3 e e r 5 O q B L O g Q a M T m H P F T L s 5 1 m E g = " ; # mapml
2024-02-29 20:09:43 +00:00
} ;
mbstyle = mkGeoserverExtension {
name = " m b s t y l e " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # mbstyle
hash = " s h a 2 5 6 - S J A I 4 s s M Z Z L 7 5 g x 1 h 7 g w f + 4 Y w X P / C N E m 9 B T t A / J N R W 4 = " ; # mbstyle
2024-02-29 20:09:43 +00:00
} ;
metadata = mkGeoserverExtension {
name = " m e t a d a t a " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # metadata
hash = " s h a 2 5 6 - G s t 1 c c t v / o K T S + j D 0 y 8 f H F r E B J y n 7 7 f E a f V + Q z s p Q V c = " ; # metadata
2024-02-29 20:09:43 +00:00
} ;
mongodb = mkGeoserverExtension {
name = " m o n g o d b " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # mongodb
hash = " s h a 2 5 6 - L V e j t i p I R Z y 3 g 5 G K s 8 R k O q K H N R s k f 8 Y S D 1 1 f i F v B F 3 w = " ; # mongodb
2024-02-29 20:09:43 +00:00
} ;
monitor = mkGeoserverExtension {
name = " m o n i t o r " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # monitor
hash = " s h a 2 5 6 - + F l K g o E S E 0 j 6 J X M 0 y o z Y M y z 6 U 2 T s h Y N d 6 W H s K g 9 f r A s = " ; # monitor
2024-02-29 20:09:43 +00:00
} ;
mysql = mkGeoserverExtension {
name = " m y s q l " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # mysql
hash = " s h a 2 5 6 - g f U 6 7 l I D 2 Y S N b i 1 a B 8 m 1 b + z G q t V n C h i 5 6 H r t c B E 6 A q w = " ; # mysql
2024-02-29 20:09:43 +00:00
} ;
netcdf = mkGeoserverExtension {
name = " n e t c d f " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # netcdf
hash = " s h a 2 5 6 - a M y k Y I B M w H 4 6 a p D u d K n A p N b a 4 5 4 Y e p 5 H Z e Y P q E X o q c I = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # netcdf-out
hash = " s h a 2 5 6 - 3 g G z g C 7 I b w p e t t w S f 4 + b 8 H e J R u v k U f D u 0 x r e 9 w y V a p 4 = " ; # netcdf-out
2024-02-29 20:09:43 +00:00
buildInputs = [ netcdf ] ;
} ;
ogr-wfs = mkGeoserverExtension {
name = " o g r - w f s " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # ogr-wfs
2024-02-29 20:09:43 +00:00
buildInputs = [ pkgs . gdal ] ;
2024-07-31 10:19:44 +00:00
hash = " s h a 2 5 6 - 4 r c U v N 1 p y 6 2 J M Q y 5 1 r x v N f V 2 A Q I p t X u R e n 7 t v b r n o 6 s = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # ogr-wps
2024-02-29 20:09:43 +00:00
# buildInputs = [ pkgs.gdal ];
2024-07-31 10:19:44 +00:00
hash = " s h a 2 5 6 - R A 1 d x z j h O t 7 l Q C u 6 S V S M 8 H i X Y w t F b U f j 0 h d k 8 3 1 Q E 5 g = " ; # ogr-wps
2024-02-29 20:09:43 +00:00
} ;
oracle = mkGeoserverExtension {
name = " o r a c l e " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # oracle
hash = " s h a 2 5 6 - f K J w L h 4 T 4 4 5 d a 1 A W P z F p p + + L G W i i K h N 3 3 9 V W t 1 N 0 s 5 Q = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # params-extractor
hash = " s h a 2 5 6 - z O 9 O w H 7 N C U I L n x R q z 1 z / Q J d f g s x 9 g f p f 2 R 7 r I s g T I r 8 = " ; # params-extractor
2024-02-29 20:09:43 +00:00
} ;
printing = mkGeoserverExtension {
name = " p r i n t i n g " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # printing
hash = " s h a 2 5 6 - Q A y 5 3 / p + / m j C T X r e K s V S R c p Y g f A s 7 W 9 f + Z w E 4 Z 6 G n x 8 = " ; # printing
2024-02-29 20:09:43 +00:00
} ;
pyramid = mkGeoserverExtension {
name = " p y r a m i d " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # pyramid
hash = " s h a 2 5 6 - k F T N Q r x i b a t V Z z P S C 6 R v / S z U 3 F U J Y Q J 3 d H Z 5 A f R 3 k D 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # querylayer
hash = " s h a 2 5 6 - T g Q i r o Y c n V C e 5 Q V I c E a 8 g s g Y E L q M 2 j S 7 R v e G y e t W o k U = " ; # querylayer
2024-02-29 20:09:43 +00:00
} ;
sldservice = mkGeoserverExtension {
name = " s l d s e r v i c e " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # sldservice
hash = " s h a 2 5 6 - 5 E 4 1 0 i N a Z V E B K z R G S B c W 3 J N I S a p 2 N r c F t X A u P 1 + c V t 0 = " ; # sldservice
2024-02-29 20:09:43 +00:00
} ;
sqlserver = mkGeoserverExtension {
name = " s q l s e r v e r " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # sqlserver
hash = " s h a 2 5 6 - T N e y e g W O z / a 7 u F s n 1 h B h O g p V 0 v n F n c w Q + U 9 V q y Y 6 2 + g = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # vectortiles
hash = " s h a 2 5 6 - R Q G e G h f i x K r w R u z g m k Z / J D W a P Z y D y 8 f A f G e 0 i X Z f K d Y = " ; # vectortiles
2024-02-29 20:09:43 +00:00
} ;
wcs2_0-eo = mkGeoserverExtension {
name = " w c s 2 _ 0 - e o " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # wcs2_0-eo
hash = " s h a 2 5 6 - + l i 0 z B z y H a q 0 a n 7 q H A d S X K D p v p O Z P r o H n C o H X j y V Y 7 Y = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # web-resource
hash = " s h a 2 5 6 - m 9 + t 3 Q 2 y D + x q v u B v k c 5 j Y W w t G q J i t 0 0 x i H y D S L X 8 e u E = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # wmts-multi-dimensional
hash = " s h a 2 5 6 - b / 1 6 4 6 3 i o t u A D A / b I w T u t Y C i R Z Y u s M f / y B 1 x E M P Z e 9 U = " ; # wmts-multi-dimensional
2024-02-29 20:09:43 +00:00
} ;
wps = mkGeoserverExtension {
name = " w p s " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # wps
hash = " s h a 2 5 6 - 4 W q Z q f c 8 0 Q y 3 A A C O b 3 M h D j o c M 0 2 v K U E k 9 x 8 Y f X 5 o n y g = " ; # 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-31 10:19:44 +00:00
# version = "2.25.3"; # wps-cluster-hazelcast
# hash = "sha256-EDSSNVCZdcmv8ZfB3Gj80xm/ghlWNZwpTYhEwIoegM0="; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # wps-download
hash = " s h a 2 5 6 - 7 0 v w 5 P H h 1 h L L A o c F K l z P K D Z W M j Q m w U b v / L 4 y C J G r D Q 4 = " ; # 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-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # wps-jdbc
hash = " s h a 2 5 6 - 5 d + t x y 1 g w 3 6 G 7 h X f O f 5 q H + b S P I R w 3 X e L e M C T w 6 y H p / M = " ; # wps-jdbc
2024-02-29 20:09:43 +00:00
} ;
ysld = mkGeoserverExtension {
name = " y s l d " ;
2024-07-31 10:19:44 +00:00
version = " 2 . 2 5 . 3 " ; # ysld
hash = " s h a 2 5 6 - l b j f J P v 9 v 4 H U V 3 1 H p 5 Z A E O e 7 I c e R C x N 7 x t U x v O i 2 C Y U = " ; # ysld
2024-02-29 20:09:43 +00:00
} ;
}