68 lines
2 KiB
Nix
68 lines
2 KiB
Nix
{ stdenv, lib, fetchurl, unzip, makeWrapper, jre8, libXtst, gdal }:
|
|
let
|
|
pname = "udig";
|
|
version = "2.0.0";
|
|
|
|
srcs = {
|
|
x86_64-linux = fetchurl {
|
|
url = "http://udig.refractions.net/files/downloads/udig-${version}.linux.gtk.x86_64.zip";
|
|
hash = "sha256-ijuSWq1jSsB8K653bjcUdNwVGZscDaTuegBr01oNEg4=";
|
|
};
|
|
x86_64-darwin = fetchurl {
|
|
url = "http://udig.refractions.net/files/downloads/udig-${version}.macosx.cocoa.x86_64.zip";
|
|
hash = "sha256-Ihk3InHB3/tEYRqH2ozhokz2GN8Gfig5DJkO/8P1LJs=";
|
|
};
|
|
};
|
|
src = srcs.${stdenv.hostPlatform.system} or (throw "unsupported system ${stdenv.hostPlatform.system}");
|
|
|
|
meta = with lib; {
|
|
description = "User-friendly Desktop Internet GIS";
|
|
homepage = "http://udig.refractions.net/";
|
|
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
|
license = with licenses; [ epl10 bsd3 ];
|
|
maintainers = with maintainers; [ sikmir ];
|
|
platforms = builtins.attrNames srcs;
|
|
mainProgram = "udig";
|
|
};
|
|
|
|
linux = stdenv.mkDerivation {
|
|
inherit pname version src meta;
|
|
|
|
nativeBuildInputs = [ unzip makeWrapper ];
|
|
|
|
installPhase = ''
|
|
install -dm755 $out/bin $out/opt/udig
|
|
cp -r . $out/opt/udig
|
|
makeWrapper $out/opt/udig/udig.sh $out/bin/udig \
|
|
--prefix PATH : ${jre8}/bin \
|
|
--prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath ([ libXtst gdal ])}
|
|
'';
|
|
|
|
postFixup = ''
|
|
patchelf \
|
|
--set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
|
|
$out/opt/udig/udig_internal
|
|
'';
|
|
};
|
|
|
|
darwin = stdenv.mkDerivation {
|
|
inherit pname version src meta;
|
|
|
|
nativeBuildInputs = [ unzip makeWrapper ];
|
|
|
|
postPatch = ''
|
|
substituteInPlace configuration/config.ini \
|
|
--replace "\$LOCALAPPDATA\$" "@user.home"
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/Applications/udig
|
|
cp -R . $out/Applications/udig
|
|
wrapProgram $out/Applications/udig/udig.app/Contents/MacOS/udig_internal \
|
|
--prefix DYLD_LIBRARY_PATH : ${lib.makeLibraryPath ([ gdal ])}
|
|
'';
|
|
};
|
|
in
|
|
if stdenv.isDarwin
|
|
then darwin
|
|
else linux
|