2014-07-20 21:12:05 +02:00
|
|
|
{ pkgs, stdenv, fetchurl, python, buildPythonPackage, pythonPackages, mygpoclient, intltool,
|
2014-11-17 21:00:03 +01:00
|
|
|
ipodSupport ? true, libgpod, gnome3, hicolor_icon_theme }:
|
2014-07-20 21:12:05 +02:00
|
|
|
|
|
|
|
with pkgs.lib;
|
|
|
|
|
|
|
|
let
|
|
|
|
inherit (pythonPackages) coverage feedparser minimock sqlite3 dbus pygtk eyeD3;
|
|
|
|
|
|
|
|
in buildPythonPackage rec {
|
2014-11-17 21:00:03 +01:00
|
|
|
name = "gpodder-3.8.3";
|
2014-07-20 21:12:05 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
|
|
|
url = "http://gpodder.org/src/${name}.tar.gz";
|
2014-11-17 21:00:03 +01:00
|
|
|
sha256 = "8ac120a6084bded6bc88ecadbbc9df54a85f44ef4507f73a76de1d7a5574303c";
|
2014-07-20 21:12:05 +02:00
|
|
|
};
|
|
|
|
|
2014-08-07 17:49:16 +02:00
|
|
|
buildInputs = [
|
|
|
|
coverage feedparser minimock sqlite3 mygpoclient intltool
|
2014-11-17 21:00:03 +01:00
|
|
|
gnome3.gnome_themes_standard gnome3.gnome_icon_theme
|
|
|
|
gnome3.gnome_icon_theme_symbolic hicolor_icon_theme
|
|
|
|
gnome3.gsettings_desktop_schemas
|
2014-08-07 17:49:16 +02:00
|
|
|
];
|
2014-07-20 21:12:05 +02:00
|
|
|
|
2014-11-17 21:00:03 +01:00
|
|
|
propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
|
|
|
|
|
|
|
|
pythonPath = [ feedparser dbus mygpoclient sqlite3 pygtk eyeD3 ]
|
2014-07-20 21:12:05 +02:00
|
|
|
++ stdenv.lib.optional ipodSupport libgpod;
|
|
|
|
|
|
|
|
postPatch = "sed -ie 's/PYTHONPATH=src/PYTHONPATH=\$(PYTHONPATH):src/' makefile";
|
|
|
|
|
|
|
|
checkPhase = "make unittest";
|
|
|
|
|
2014-07-21 17:58:27 +02:00
|
|
|
preFixup = ''
|
2014-07-20 21:12:05 +02:00
|
|
|
wrapProgram $out/bin/gpodder \
|
2014-08-07 17:49:16 +02:00
|
|
|
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
|
|
|
|
'';
|
|
|
|
|
|
|
|
# The `wrapPythonPrograms` script in the postFixup phase breaks gpodder. The
|
|
|
|
# easiest way to fix this is to call wrapPythonPrograms and then to clean up
|
|
|
|
# the wrapped file.
|
|
|
|
postFixup = ''
|
|
|
|
wrapPythonPrograms
|
|
|
|
|
|
|
|
if test -e $out/nix-support/propagated-build-inputs; then
|
|
|
|
ln -s $out/nix-support/propagated-build-inputs $out/nix-support/propagated-user-env-packages
|
|
|
|
fi
|
|
|
|
|
|
|
|
createBuildInputsPth build-inputs "$buildInputStrings"
|
|
|
|
for inputsfile in propagated-build-inputs propagated-native-build-inputs; do
|
|
|
|
if test -e $out/nix-support/$inputsfile; then
|
|
|
|
createBuildInputsPth $inputsfile "$(cat $out/nix-support/$inputsfile)"
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
sed -i "$out/bin/..gpodder-wrapped-wrapped" -e '{
|
|
|
|
/import sys; sys.argv/d
|
|
|
|
}'
|
2014-07-20 21:12:05 +02:00
|
|
|
'';
|
2014-07-21 18:05:08 +02:00
|
|
|
|
|
|
|
installPhase = "DESTDIR=/ PREFIX=$out make install";
|
|
|
|
|
2014-07-21 21:32:13 +02:00
|
|
|
meta = {
|
|
|
|
description = "A podcatcher written in python";
|
|
|
|
longDescription = ''
|
|
|
|
gPodder downloads and manages free audio and video content (podcasts)
|
|
|
|
for you. Listen directly on your computer or on your mobile devices.
|
|
|
|
'';
|
|
|
|
homepage = "http://gpodder.org/";
|
2014-11-06 01:44:33 +01:00
|
|
|
license = stdenv.lib.licenses.gpl3;
|
2014-07-22 09:39:06 +02:00
|
|
|
platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
2014-07-21 21:32:13 +02:00
|
|
|
maintainers = [ stdenv.lib.maintainers.skeidel ];
|
|
|
|
};
|
2014-07-20 21:12:05 +02:00
|
|
|
}
|