default.nix (1955B)
1 { lib, fetchFromGitHub, python3Packages, portolan, inkscape }: 2 3 python3Packages.buildPythonApplication rec { 4 pname = "roentgen"; 5 version = "2021-08-19"; 6 disabled = python3Packages.pythonOlder "3.9"; 7 8 src = fetchFromGitHub { 9 owner = "enzet"; 10 repo = "Roentgen"; 11 rev = "62d1a5e6dc4dceb4599209fe504e0c0240f13171"; 12 hash = "sha256-AsbRYeJxGxwI55YcrBRPpDVD+rYwNXjocRmkO4ruz/U="; 13 }; 14 15 postPatch = '' 16 substituteInPlace roentgen.py \ 17 --replace "scheme/" "$out/share/roentgen/scheme/" \ 18 --replace "icons/" "$out/share/roentgen/icons/" 19 substituteInPlace roentgen/mapper.py \ 20 --replace "scheme/" "$out/share/roentgen/scheme/" \ 21 --replace "icons/" "$out/share/roentgen/icons/" 22 substituteInPlace roentgen/tile.py \ 23 --replace "icons/" "$out/share/roentgen/icons/" 24 substituteInPlace roentgen/workspace.py \ 25 --replace "scheme" "$out/share/roentgen/scheme" \ 26 --replace "icons/" "$out/share/roentgen/icons/" 27 ''; 28 29 dontUseSetuptoolsBuild = true; 30 dontUseSetuptoolsCheck = true; 31 32 installPhase = 33 let 34 pythonEnv = python3Packages.python.withPackages (p: with p; [ 35 colour 36 numpy 37 portolan 38 pycairo 39 pyyaml 40 svgwrite 41 urllib3 42 ]); 43 in 44 '' 45 site_packages=$out/lib/${python3Packages.python.libPrefix}/site-packages 46 mkdir -p $site_packages $out/share/roentgen 47 cp -r roentgen roentgen.py $site_packages 48 cp -r icons scheme $out/share/roentgen 49 50 makeWrapper ${pythonEnv.interpreter} $out/bin/roentgen \ 51 --add-flags "$site_packages/roentgen.py" \ 52 --set INKSCAPE_BIN ${inkscape}/bin/inkscape 53 ''; 54 55 meta = with lib; { 56 description = "A simple renderer for OpenStreetMap with custom icons intended to display as many tags as possible"; 57 inherit (src.meta) homepage; 58 license = licenses.mit; 59 maintainers = [ maintainers.sikmir ]; 60 platforms = platforms.unix; 61 }; 62 }