quodlibet: 4.2.1 -> 4.3.0, fix tests

This commit is contained in:
Piotr Bogdan 2020-10-21 18:17:21 +01:00
parent 2deeb58f49
commit 8275e5b391

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, python3, wrapGAppsHook, gettext, libsoup, gnome3, gtk3, gdk-pixbuf, { stdenv, fetchurl, python3, wrapGAppsHook, gettext, libsoup, gnome3, gtk3, gdk-pixbuf, librsvg,
tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobject-introspection, tag ? "", xvfb_run, dbus, glibcLocales, glib, glib-networking, gobject-introspection, hicolor-icon-theme,
gst_all_1, withGstPlugins ? true, gst_all_1, withGstPlugins ? true,
xineBackend ? false, xineLib, xineBackend ? false, xineLib,
withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false, withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
@ -9,16 +9,16 @@
let optionals = stdenv.lib.optionals; in let optionals = stdenv.lib.optionals; in
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "quodlibet${tag}"; pname = "quodlibet${tag}";
version = "4.2.1"; version = "4.3.0";
src = fetchurl { src = fetchurl {
url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz"; url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz";
sha256 = "0b1rvr4hqs2bjmhayms7vxxkn3d92k9v7p1269rjhf11hpk122l7"; sha256 = "1q17ckblfa4fcs7wsjwsq1dj7360ymrdyjkyqmj864wzlqkw1rd2";
}; };
nativeBuildInputs = [ wrapGAppsHook gettext ]; nativeBuildInputs = [ wrapGAppsHook gettext ];
checkInputs = [ gdk-pixbuf ] ++ (with python3.pkgs; [ pytest pytest_xdist polib xvfb_run dbus.daemon glibcLocales ]); checkInputs = [ gdk-pixbuf hicolor-icon-theme ] ++ (with python3.pkgs; [ pytest pytest_xdist polib xvfb_run dbus.daemon glibcLocales ]);
buildInputs = [ gnome3.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ] buildInputs = [ gnome3.adwaita-icon-theme libsoup glib glib-networking gtk3 webkitgtk gdk-pixbuf keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi gobject-introspection ]
++ (if xineBackend then [ xineLib ] else with gst_all_1; ++ (if xineBackend then [ xineLib ] else with gst_all_1;
@ -36,6 +36,10 @@ python3.pkgs.buildPythonApplication rec {
pytestFlags = stdenv.lib.optionals (xineBackend || !withGstPlugins) [ pytestFlags = stdenv.lib.optionals (xineBackend || !withGstPlugins) [
"--ignore=tests/plugin/test_replaygain.py" "--ignore=tests/plugin/test_replaygain.py"
] ++ [ ] ++ [
# requires networking
"--ignore=tests/test_browsers_iradio.py"
# the default theme doesn't have the required icons
"--ignore=tests/plugin/test_trayicon.py"
# upstream does actually not enforce source code linting # upstream does actually not enforce source code linting
"--ignore=tests/quality" "--ignore=tests/quality"
# build failure on Arch Linux # build failure on Arch Linux
@ -45,7 +49,13 @@ python3.pkgs.buildPythonApplication rec {
checkPhase = '' checkPhase = ''
runHook preCheck runHook preCheck
# newer gettext spews some warnings which fail the tests
substituteInPlace tests/test_po.py --replace "strict=True" "strict=False"
# otherwise tests can't find the app icons; instead of creating index.theme from scratch
# I re-used the one from hicolor-icon-theme which seems to work
cp "${hicolor-icon-theme}/share/icons/hicolor/index.theme" quodlibet/images/hicolor
env XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS" \ env XDG_DATA_DIRS="$out/share:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_ICON_DIRS:$XDG_DATA_DIRS" \
GDK_PIXBUF_MODULE_FILE=${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache \
HOME=$(mktemp -d) \ HOME=$(mktemp -d) \
xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
--config-file=${dbus.daemon}/share/dbus-1/session.conf \ --config-file=${dbus.daemon}/share/dbus-1/session.conf \