default.nix (2230B)
1 { lib 2 , stdenv 3 , fetchFromGitHub 4 , perlPackages 5 , python2Packages 6 , gimp 7 , bc 8 , fig2dev 9 , imagemagick 10 , m4 11 , netpbm 12 , pkg-config 13 , scons 14 , boost 15 , curl 16 , giflib 17 , gtkmm2 18 , jansson 19 , libjpeg 20 , libpng 21 , libshell 22 , libtiff 23 , libusb1 24 , libxml2 25 , libyaml 26 , libzip 27 , proj 28 , shapelib 29 , zlib 30 , getopt 31 }: 32 33 stdenv.mkDerivation (finalAttrs: { 34 pname = "mapsoft"; 35 version = "20220624-alt1"; 36 37 src = fetchFromGitHub { 38 owner = "ushakov"; 39 repo = "mapsoft"; 40 rev = "e51645da7bbb7f6ca6505dd6e6f9a009556a78c1"; 41 hash = "sha256-GPlLVMWqYXs0K3UzQnYlWPm0t9qz6rzQmW1dTOUtPDY="; 42 }; 43 44 patches = [ ./0001-fix-build.patch ]; 45 46 postPatch = '' 47 substituteInPlace scripts/map_rescale \ 48 --replace "/usr/share/mapsoft" "$out/share/mapsoft" 49 substituteInPlace core/vmap/vmap_ocad.cpp \ 50 --replace "/usr/share/mapsoft" "$out/share/mapsoft" 51 substituteInPlace core/vmap/zn.cpp \ 52 --replace "/usr/share/mapsoft" "$out/share/mapsoft" 53 ''; 54 55 nativeBuildInputs = [ 56 fig2dev 57 imagemagick 58 m4 59 netpbm 60 perlPackages.perl 61 pkg-config 62 python2Packages.wrapPython 63 scons 64 ]; 65 buildInputs = [ 66 boost 67 curl 68 giflib 69 gtkmm2 70 jansson 71 libjpeg 72 libpng 73 libtiff 74 libusb1 75 libxml2 76 libyaml 77 libzip 78 perlPackages.TextIconv 79 proj 80 shapelib 81 zlib 82 ]; 83 propagatedBuildInputs = [ bc libshell ]; 84 85 preBuild = '' 86 export CPPFLAGS="-I${boost.dev}/include -I${giflib}/include -I${proj.dev}/include" 87 export LINKFLAGS="-L${giflib}/lib -lgif -L${proj}/lib -lproj" 88 ''; 89 90 sconsFlags = [ "minimal=1" "prefix=$(out)" ]; 91 92 postInstall = '' 93 wrapPythonProgramsIn $out/lib/gimp/${lib.versions.major gimp.version}.0/plug-ins/ 94 substituteInPlace $out/bin/mapsoft_wp_parse \ 95 --replace "/usr/bin/perl" "${perlPackages.perl}/bin/perl" 96 wrapProgram $out/bin/mapsoft_wp_parse --prefix PERL5LIB : "$PERL5LIB" 97 substituteInPlace $out/bin/map_rescale \ 98 --replace "getopt " "${getopt}/bin/getopt " 99 ''; 100 101 meta = with lib; { 102 description = "Mapping software for linux"; 103 inherit (finalAttrs.src.meta) homepage; 104 license = licenses.gpl3; 105 maintainers = [ maintainers.sikmir ]; 106 platforms = platforms.linux; 107 skip.ci = true; 108 }; 109 })