at v192 72 lines 2.4 kB view raw
1{ pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool, 2 ipodSupport ? true, libgpod, gnome3 }: 3 4with pkgs.lib; 5 6let 7 inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3; 8 9in buildPythonPackage rec { 10 name = "gpodder-3.8.4"; 11 12 src = fetchurl { 13 url = "http://gpodder.org/src/${name}.tar.gz"; 14 sha256 = "0cjpk92qjsws7ddbnq0r2h7vm5019zlpafgbxwsgllmjzkknj6pn"; 15 }; 16 17 buildInputs = [ 18 coverage feedparser minimock sqlite3 mygpoclient intltool 19 gnome3.gnome_themes_standard gnome3.defaultIconTheme 20 gnome3.gsettings_desktop_schemas 21 ]; 22 23 propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ]; 24 25 pythonPath = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ] 26 ++ stdenv.lib.optional ipodSupport libgpod; 27 28 postPatch = "sed -ie 's/PYTHONPATH=src/PYTHONPATH=\$(PYTHONPATH):src/' makefile"; 29 30 checkPhase = "make unittest"; 31 32 preFixup = '' 33 wrapProgram $out/bin/gpodder \ 34 --prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" 35 ''; 36 37 # The `wrapPythonPrograms` script in the postFixup phase breaks gpodder. The 38 # easiest way to fix this is to call wrapPythonPrograms and then to clean up 39 # the wrapped file. 40 postFixup = '' 41 wrapPythonPrograms 42 43 if test -e $out/nix-support/propagated-build-inputs; then 44 ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages 45 fi 46 47 createBuildInputsPth build-inputs "$buildInputStrings" 48 for inputsfile in propagated-build-inputs propagated-native-build-inputs; do 49 if test -e $out/nix-support/$inputsfile; then 50 createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)" 51 fi 52 done 53 54 sed -i "$out/bin/..gpodder-wrapped-wrapped" -e '{ 55 /import sys; sys.argv/d 56 }' 57 ''; 58 59 installPhase = "DESTDIR=/ PREFIX=$out make install"; 60 61 meta = { 62 description = "A podcatcher written in python"; 63 longDescription = '' 64 gPodder downloads and manages free audio and video content (podcasts) 65 for you. Listen directly on your computer or on your mobile devices. 66 ''; 67 homepage = "http://gpodder.org/"; 68 license = stdenv.lib.licenses.gpl3; 69 platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin; 70 maintainers = [ stdenv.lib.maintainers.skeidel ]; 71 }; 72}