mbox series

[bug#49227,0/3] Some Qt/qtbase improvements.

Message ID 20210625180414.10045-1-maxim.cournoyer@gmail.com
Headers show
Series Some Qt/qtbase improvements. | expand

Message

Maxim Cournoyer June 25, 2021, 6:04 p.m. UTC
Hello Guix!

The following 3 patches are some minor improvements for Qt in Guix.  They
allow them to use GTK themes, which noticeably improve the look of things such
as the file picker on systems using a GTK theme.  Passing the configure flags
via the #:configure-flags argument for qtbase allows package rewriting, for
example, building a static version of it:

--8<---------------cut here---------------start------------->8---
(use-modules (gnu packages qt)
             (guix packages)
             (guix transformations)
             (guix utils))

;;; Adapted from static-package in (guix build-system gnu).
(define* (static-package-qt p #:key (strip-all? #t))
  "Return a statically-linked version of package P.  If STRIP-ALL? is true,
use `--strip-all' as the arguments to `strip'."
  (package (inherit p)
    (arguments
     (let ((a (default-keyword-arguments (package-arguments p)
                '(#:configure-flags '()
                  #:strip-flags '("--strip-debug")))))
       (substitute-keyword-arguments a
         ((#:configure-flags flags)
          `(cons* "--disable-shared" "-static" ,flags))
         ((#:strip-flags flags)
          (if strip-all?
              ''("--strip-all")
              flags)))))
    (replacement (and=> (package-replacement p) static-package-qt))))

(define qtbase-static (static-package-qt qtbase))

(packages->manifest (cons qtbase-static))
--8<---------------cut here---------------end--------------->8---

Maxim Cournoyer (3):
  build: qt-build-system: Allow users to override/extend XDG_DATA_DIRS.
  gnu: qtbase: Enable GTK support.
  gnu: qtbase: Specify configure flags via the #:configure-flags
    argument.

 gnu/packages/qt.scm            | 168 ++++++++++++++++-----------------
 guix/build/qt-build-system.scm |  14 +--
 2 files changed, 90 insertions(+), 92 deletions(-)