Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gqrx: 2.5.3 -> 2.6.1 #24577

Closed
wants to merge 1 commit into from
Closed

gqrx: 2.5.3 -> 2.6.1 #24577

wants to merge 1 commit into from

Conversation

ndowens
Copy link
Contributor

@ndowens ndowens commented Apr 2, 2017

Motivation for this change

Update

Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

@mention-bot
Copy link

@ndowens, thanks for your PR! By analyzing the history of the files in this pull request, we identified @fpletz, @bjornfor and @wkennington to be potential reviewers.

@ndowens
Copy link
Contributor Author

ndowens commented Apr 2, 2017

This version doesn't load for me; I installed the older version from nix-env and it does the same thing; So I am unsure if it is just me

@bjornfor
Copy link
Contributor

bjornfor commented Apr 2, 2017

FYI, I tried updating gqrx some time ago, but then the menu toolbar icons were missing. (Each button/tool was clickable, but there was no icon -- only gray area.) I didn't push it. I'll have a look at this later, unless anyone beats me.

EDIT: Finish sentence.

@ndowens
Copy link
Contributor Author

ndowens commented Apr 2, 2017

@bjornfor IDK either, both gave me something about pulseaudio permission denied and never got to the GUI; reason why I need people to test this more than normal

@bjornfor
Copy link
Contributor

Tried gqrx-2.6.1 again. Ran it through strace and found

stat(":/icons/icons/play.svg", 0x7ffd14947070) = -1 ENOENT (No such file or directory)

(and many more similar)

This looks wrong to me. I think the :/path/to/thing pattern is supposed to be resolved in Qt internal resource handling, and not hit the filesystem at all. gqrx-2.5.3 on master does not have those.

@bjornfor
Copy link
Contributor

I forgot to say that I tested my branch: https://github.com/bjornfor/nixpkgs/tree/gqrx

I tried building with cmake instead of qmake. Then I got a build time error because of missing svg support. At least it's better than getting the error at runtime :-)

@joachifm
Copy link
Contributor

Any progress on this?

@bjornfor
Copy link
Contributor

Nope.

@bjornfor
Copy link
Contributor

I did another attempt to update gqrx: https://github.com/bjornfor/nixpkgs/tree/gqrx2

Now it finds the Svg module and completes the build, but still the menu bar is gray (missing icons).

@bjornfor
Copy link
Contributor

Explicitly installing QtSvg fixes the menu bar icons: nix-env -iA qt5.qtsvg -f '<nixpkgs>'. Not sure why that's needed when the other Qt modules seem to work fine without being available in my environment.

@bjornfor
Copy link
Contributor

@ttuegel: Do you know about any peculiarities regarding the qtsvg module that makes it insufficient to have applications simply link against it? readelf -a ./result/bin/gqrx | grep NEEDED lists libQt5svg, but still it doesn't find/use the library properly unless I install qtsvg into my environment: nix-env -iA qt5.qtsvg.

Upstream says this module is special (a plugin) and that it needs to be installed systemwide. (Not sure if upstream is familiar with NixOS/nixpkgs, but installing the library into my user profile does fix the issue -- of missing icons in the menu bar.)

You can see my discussion with upstream here: gqrx-sdr/gqrx#529.

Looking in nixpkgs, I find little indication that qtsvg is "special". All packages I see simply add it to buildInputs and that's that. However, one desktop environment, lumina, adds qtsvg to environment.systemPackages. That's a small hint that applications don't work without it. However, that implies that none of the current applications in nixpkgs using qtsvg work, unless also installing qtsvg.

Thoughts?

@bjornfor
Copy link
Contributor

Looking in nixpkgs, I find little indication that qtsvg is "special". All packages I see simply add it to buildInputs and that's that.

Ok, found one package that does some tricks with Qt deps:

https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/science/robotics/qgroundcontrol/default.nix#L53-L65

(But it treats all Qt deps equal, no special handling for qtsvg.)

@bjornfor
Copy link
Contributor

Oh, and the lxqt desktop also put qtsvg in environment.systemPackages.

@bjornfor
Copy link
Contributor

@ttuegel: Ok, found your https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/qt-5/5.9/qtbase/library-paths.patch. So one way to make this work is to prepend PATH=${qtsvg}/bin :-)

@bjornfor
Copy link
Contributor

I ended up doing the qgroundcontrol trick: bjornfor@acdb0e0. (Now the menu bar has buttons with icons.)

The question is whether that is any better than using propagatedUserEnvPkgs.

@bjornfor
Copy link
Contributor

bjornfor commented Oct 2, 2017

Superseded by 65890d6 ("gqrx: 2.5.3 -> 2.7").

@bjornfor bjornfor closed this Oct 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants