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
lxqt: fix themes and translations #109324
Conversation
This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch) Result of 14 packages built:
|
Currently running LXQt with this fix applied. It works well for me. |
60dcd3e
to
5e49c61
Compare
LXQt binaries look for their themes and translations based on the name of the binary, which is changed by the wrapper script. This patches liblxqt to recover the original name from the wrapped binary name.
5e49c61
to
b6779d5
Compare
Result of 14 packages built:
|
+1 for a backport to 20.09 |
backported. |
Motivation for this change
LXQt binaries look for their themes and translations based on the name of the binary, which is changed by the wrapper script. This patches liblxqt to recover the original name from the wrapped binary name. This is intended to fix #70780.
I don't know if this is the best or most general solution to the problem. The root cause is that
QCoreApplication::applicationFilePath()
reads/proc/self/exe
to determine the binary name, which points to the renamed wrapped binary, instead of usingargv[0]
, which points to the originally named wrapper script.I'm not familiar with Qt, so I'm not sure what applications generally expect to use the path for. If it's mostly for locating resources relative to the binary, then I wonder if it would be better to patch Qt to read
argv[0]
. Consider that because ofwrapQtAppsHook
,/proc/self/exe
will never be the original name of the binary.Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)