Subject: [bug#55516] [PATCH] gnu: Add quod-libet.

From: Remco van 't Veer <[email-masked]>
Date: Sat, 21 May 2022 16:45:57 +0200

Hi,

I've been working on packaging quodlibet a couple of weeks ago but got
stuck doing the tests because Xvfb dies while running the tests.  They
run fine in a pure guix shell environment.

Here's the output from guix build (using xvfb):

> starting phase `check'
> ============================= test session starts ==============================
> platform linux -- Python 3.9.9, pytest-6.2.5, py-1.10.0, pluggy-0.13.1 -- /gnu/store/j3cx0yaqdpw0mxizp5bayx93pya44dhn-python-wrapper-3.9.9/bin/python
> cachedir: .pytest_cache
> hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/tmp/guix-build-quodlibet-4.5.0.drv-0/source/.hypothesis/examples')
> rootdir: /tmp/guix-build-quodlibet-4.5.0.drv-0/source, configfile: setup.cfg
> plugins: hypothesis-6.0.2
> collecting ... collected 3315 items

> tests/test___init__.py::TQuodlibet::test_dirs PASSED                     [  0%]
> tests/test___init__.py::TQuodlibet::test_first_session PASSED            [  0%]
> tests/test___init__.py::TQuodlibet::test_get_build_description PASSED    [  0%]
> tests/test___init__.py::TQuodlibet::test_get_build_version PASSED        [  0%]
> tests/test___init__.py::TVersion::test_message PASSED                    [  0%]
> tests/test_appdata_files.py::TQLAppDataFile::test_filename SKIPPED (...) [  0%]
> tests/test_appdata_files.py::TQLAppDataFile::test_validate SKIPPED (...) [  0%]
> tests/test_appdata_files.py::TEFAppDataFile::test_filename SKIPPED (...) [  0%]
> tests/test_appdata_files.py::TEFAppDataFile::test_validate SKIPPED (...) [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_default PASSED          [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_get PASSED              [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_get_invalid PASSED      [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_index PASSED            [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_index_invalid PASSED    [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_migrate PASSED          [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_name PASSED             [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_old_names PASSED        [  0%]
> tests/test_browsers___init__.py::TBrowsers::test_presence PASSED         [  0%]
> tests/test_browsers__base.py::new_test::test_active_filter /gnu/store/1hg26c00lzj6kcgzia77gmrs5wx89cjr-xvfb-run-1.20.10-3/bin/xvfb-run: line 184:   221 Trace/breakpoint trap   DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@"
> error: in phase 'check': uncaught exception:
> %exception #<&invoke-error program: "dbus-run-session" arguments: ("--" "xvfb-run" "pytest" "-vv" "--disable-warnings" "--ignore=tests/test_browsers_iradio.py" "--ignore=tests/quality") exit-status: 133 term-signal: #f stop-signal: #f>
> phase `check' failed after 11.4 seconds
> command "dbus-run-session" "--" "xvfb-run" "pytest" "-vv" "--disable-warnings" "--ignore=tests/test_browsers_iradio.py" "--ignore=tests/quality" failed with status 133

One of the tests does depend on a network connection but is easily
disabled (see patch I'll send to this ticket after this).  I started
disabling the tests which kill xvfb but gave up because there were so
many to skip.  Maybe something else is wrong and some more xvfb/dbus
magic is needed?

Also I can confirm operon works fine without GI typelib stuff.

I'll send my patch next and please note don't want to compete with your
work so take whatever you need from it.  I hope it will be helpful.

Cheers,
Remco