default.nix (1652B)
1 { 2 lib, 3 fetchFromGitHub, 4 python3Packages, 5 s2sphere, 6 unstableGitUpdater, 7 }: 8 9 python3Packages.buildPythonApplication { 10 pname = "gpxtrackposter"; 11 version = "0-unstable-2024-06-02"; 12 13 src = fetchFromGitHub { 14 owner = "flopp"; 15 repo = "GpxTrackPoster"; 16 rev = "1ca04e9f2fb4a5ee33e2fb0863e6169ecb2c99a0"; 17 hash = "sha256-0Bdls3Pe1K/3QSK9vsfcIxr3arB4/PZ+IsQO5Pk180E="; 18 }; 19 20 patches = [ 21 ./fix-localedir.patch 22 ]; 23 24 postPatch = '' 25 substituteInPlace gpxtrackposter/poster.py \ 26 --replace-fail "self.translate(\"ATHLETE\")" "\"\"" 27 substituteInPlace gpxtrackposter/track.py \ 28 --replace-fail "from stravalib.model import Activity" "from stravalib.model import DetailedActivity" 29 substituteInPlace gpxtrackposter/cli.py \ 30 --subst-var out 31 ''; 32 33 dependencies = with python3Packages; [ 34 appdirs 35 colour 36 geopy 37 gpxpy 38 pint 39 pytz 40 s2sphere 41 svgwrite 42 stravalib 43 polyline 44 timezonefinder 45 setuptools 46 ]; 47 48 nativeCheckInputs = with python3Packages; [ 49 pytestCheckHook 50 (pytest-mock.overrideAttrs (old: rec { 51 pname = "pytest-mock"; 52 version = "3.3.1"; 53 src = fetchPypi { 54 inherit pname version; 55 hash = "sha256-pNbTcynkqJPnfZ/6ieg43StF1dwJmYTPA8cDrIQRu4I="; 56 }; 57 })) 58 ]; 59 60 doCheck = false; 61 62 postInstall = "rm -fr $out/requirements*.txt"; 63 64 passthru.updateScript = unstableGitUpdater { }; 65 66 meta = { 67 description = "Create a visually appealing poster from your GPX tracks"; 68 homepage = "https://github.com/flopp/GpxTrackPoster"; 69 license = lib.licenses.mit; 70 maintainers = [ lib.maintainers.sikmir ]; 71 }; 72 }