Subject: Re: bug#25787: [PATCH 6/6]

From: Pierre Langlois <[email-masked]>
Date: Wed, 22 Feb 2017 22:23:52 +0000

Hi Thomas,

Thanks for taking a look and testing! I'll send a v2 of the series
addressing your comments and Marius'.

Thomas Danckaert writes:

> Hi,
>
> thanks for the patch, I'd like to use clementine on Guix!
>
> I managed to build and run the program, but experienced some 
> stability issues.  Importing music into the library seemed to work 
> fine, but I couldn't really play back files:
>
>   - The first few times, the program segfaulted when I tried to play 
> files (I tried mp3 and ogg).

Ah I see what's happening! I had gst-plugin-{good,bad,ugly} installed in
my profile, it crashes for me too if I remove them. However, we should
have gotten a pop-up complaining about missing plugins not a crash! It
turns out wrapping the clementine binary setting GST_PLUGIN_SYSTEM_PATH
fixes the issue, as done an a few other packages.

We could also add the plugins as propagated inputs, but I'd say it's
better to let people install only the plugins they need. What do you
think?

>
>   - Then I ran it in the debugger and it didn't segfault anymore.
>
>   - Then I tried it again without the debugger, and it didn't 
> segfault,
>     but now my desktop (Gnome on GuixSD) froze (while the music kept
>     playing). I had switch to a tty and restart xorg-server.

Ouch, sorry! I've just tested it in Gnome with the changes I mention
above and it seems to work.

>
> Are you not experiencing stability issues?
>
>> gnu: Add qjson.
>>
>> * gnu/packages/qt.scm (qjson): New variable.
>> [...]
>> +      ;; The tests require a X server
>> +      ;; #:configure-flags '("-DQJSON_BUILD_TESTS=ON")
>> +      `(#:tests? #f))
>
> Have you tried  (setenv "QT_QPA_PLATFORM" "offscreen") to try running 
> the tests anyway?  Another approach that is sometimes used is 
> starting an X server with
>
> (system (format #f "~a/bin/Xvfb :1 &" xorg-server))
> (setenv "DISPLAY" ":1")

Oh nice, I didn't realize you could do this. The X server approach
works but not the QPA one. I'm guessing this is because QPA_PLATFORM is
a QT5 only feature (?). I'll follow Marius' suggestion and see if we can
have both QT5 and QT4 versions of qjson. Or maybe we can have the QT5
version of clementine, I haven't tried to build it yet.

Thanks!
Pierre