nixpkgs/pkgs/applications/audio/gpodder/default.nix
Guillaume Girol 33afbf39f6 treewide: switch to nativeCheckInputs
checkInputs used to be added to nativeBuildInputs. Now we have
nativeCheckInputs to do that instead. Doing this treewide change allows
to keep hashes identical to before the introduction of
nativeCheckInputs.
2023-01-21 12:00:00 +00:00

92 lines
2.2 KiB
Nix

{ lib, fetchFromGitHub, python3, python3Packages, intltool
, glibcLocales, gnome, gtk3, wrapGAppsHook
, gobject-introspection
}:
python3Packages.buildPythonApplication rec {
pname = "gpodder";
version = "3.10.21";
format = "other";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = version;
sha256 = "0n73jm5ypsj962gpr0dk10lqh83giqsczm63wchyhmrkyf1wgga1";
};
patches = [
./disable-autoupdate.patch
];
postPatch = with lib; ''
sed -i -re 's,^( *gpodder_dir *= *).*,\1"'"$out"'",' bin/gpodder
'';
nativeBuildInputs = [
intltool
wrapGAppsHook
glibcLocales
];
# as of 2021-07, the gobject-introspection setup hook does not
# work with `strictDeps` enabled, thus for proper `wrapGAppsHook`
# it needs to be disabled explicitly. https://github.com/NixOS/nixpkgs/issues/56943
strictDeps = false;
buildInputs = [
python3
gtk3
gobject-introspection
gnome.adwaita-icon-theme
];
nativeCheckInputs = with python3Packages; [
minimock
pytest
pytest-httpserver
pytest-cov
];
doCheck = true;
propagatedBuildInputs = with python3Packages; [
feedparser
dbus-python
mygpoclient
requests
pygobject3
eyeD3
podcastparser
html5lib
];
makeFlags = [
"PREFIX=$(out)"
"share/applications/gpodder-url-handler.desktop"
"share/applications/gpodder.desktop"
"share/dbus-1/services/org.gpodder.service"
];
preBuild = ''
export LC_ALL="en_US.UTF-8"
'';
installCheckPhase = ''
LC_ALL=C PYTHONPATH=src/:$PYTHONPATH pytest --ignore=tests --ignore=src/gpodder/utilwin32ctypes.py --doctest-modules src/gpodder/util.py src/gpodder/jsonconfig.py
LC_ALL=C PYTHONPATH=src/:$PYTHONPATH pytest tests --ignore=src/gpodder/utilwin32ctypes.py --ignore=src/mygpoclient --cov=gpodder
'';
meta = with lib; {
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/";
license = licenses.gpl3;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ skeidel mic92 ];
};
}