Include only those inputs into XDG_DATA_DIRS having
some subdirectory of /share which is typically used by Qt.
* guix/build/qt-utils.scm (variables-for-wrapping): Take the
output directory as an argument for special handling. Check for
subdirectories of /share used by Qt before including inputs in
XDG_DATA_DIRS.
(wrap-qt-program*): Pass the output directory to variables-for-wrapping.
Co-authored-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
Prior to this change, wrappers did set the specified environment variables to
a fixed value, overwriting any user settings. This inhibited propagating
e.g. XDG_DATA_DIRS from a profile to the application.
Now user environment variables are prefixed (if the variable defines some
"binary" search path, e.g. QT_PLUGIN_PATH) or suffixed (if the variable
defines some config or data search path, e.g. XDG_DATA_DIRS). The code could
also allow to overwrite, anyhow currently no variable is defined like this.
* guix/build/qt-utils.scm (variables-for-wrapping): For each env-var to
be wrapped, specify whether it should prefix, suffix or overwrite the
user's variable.
Unify (guix qt-build-system wrap-all-programs) and
(guix qt-utils wrap-qt-program), so both behave the same.
The functions now reside in qt-utils to make them easily available for
packages not using the qt-build-system.
* guix/build/qt-build-system.scm (variables-for-wrapping, wrap-all-programs):
Move from here ...
* guix/build/qt-utils.scm (variables-for-wrapping, wrap-all-qt-programs):
... to here. Base the later on
(wrap-qt-program*): New function, carved out from old wrap-all-programs.
(wrap-qt-program): Base on wrap-qt-program*, change arguments in an
incompatible way.
* gnu/packages/bittorrent.scm (qbittorrent)[arguments]<phases>{wrap-qt}:
Adjust to new interface of wrap-qt-program.
* gnu/packages/finance.scm (electron-cash): Likewise.
* gnu/packages/geo.scm (qgis): Likewise.
* gnu/packages/password-utils.scm (qtpass): Likewise.
* gnu/packages/video.scm (openshot): Likewise.
* gnu/packages/web-browsers.scm (kristall): Likewise.
This allows Qt applications to use the GTK themes present on the system,
providing a more integrated look and feel for many Qt applications used in the
context of a GTK/GNOME environment.
* gnu/packages/qt.scm (qtbase-5)[inputs]: Add gtk+.
Requested by PsixisP on #guix:
“I have a laptop that requires CONFIG_VMD (Intel's software RAID) in
order for the kernel to see the internal NVMe drive. This is not
present in the default Guix kernel.”
* gnu/packages/aux-files/linux-libre/4.14-x86_64.conf,
gnu/packages/aux-files/linux-libre/4.19-x86_64.conf,
gnu/packages/aux-files/linux-libre/4.9-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.12-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.4-x86_64.conf:
Enable modular CONFIG_VMD.
Since commit da7a5e3597 (e)udev is
actually found triggering the installation of phodav's udev rules.
That's great, except that it uses (e)udev's 'udevdir' pkg-config
variable for that, which is of course not writable.
* gnu/packages/gnome.scm (phodav)[arguments]: Add a new
'fix-udev-rules-directory phase.
Address ‘guix lint’ warnings. Neither tiptoe around the name nor sell
anything.
* gnu/packages/ftp.scm (vsftpd)[synopsis]: Make useful.
[description]: Use its full name and some nice mark-up.
* gnu/packages/ftp.scm (vsftpd): Update to 3.0.4.
[source]: Build from the regular upstream tarball again.
[arguments]: Add ‘-lcap’ and ‘-lpam’ to LDFLAGS.
Remove obsolete custom 'unpack and 'apply-CentOS-patches phases.
[native-inputs]: Remove p7zip and cpio.
Follow up to 018f950941, as gcc on aarch64-linux
doesn't seem to support -mstack-protector-guard=global.
Fixes <https://bugs.gnu.org/49088>.
* gnu/packages/bootloaders.scm (grub-efi)[arguments]: Only add
"--enable-stack-protector" to #:configure-flags when system is x86_64-linux.