gnu: qtbase: Open links properly without xdg-utils in profile

* gnu/packages/qt.scm (qtbase)[inputs]: Add XDG-UTILS.
  [arguments](patch-xdg-open): New phase.

Signed-off-by: Marius Bakke <mbakke@fastmail.com>
This commit is contained in:
Jakub Kądziołka 2020-01-13 12:39:45 +01:00 committed by Marius Bakke
parent 8f1ab291bc
commit 6e332fd370
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -14,6 +14,7 @@
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 John Soo <jsoo1@asu.edu>
;;; Copyright © 2020 Mike Rosset <mike.rosset@gmail.com>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -363,6 +364,7 @@ (define-public qtbase
(build-system gnu-build-system)
(propagated-inputs
`(("mesa" ,mesa)
;; Use which the package, not the function
("which" ,(@ (gnu packages base) which))))
(inputs
`(("alsa-lib" ,alsa-lib)
@ -407,6 +409,7 @@ (define-public qtbase
("xcb-util-keysyms" ,xcb-util-keysyms)
("xcb-util-renderutil" ,xcb-util-renderutil)
("xcb-util-wm" ,xcb-util-wm)
("xdg-utils" ,xdg-utils)
("zlib" ,zlib)))
(native-inputs
`(("bison" ,bison)
@ -428,6 +431,14 @@ (define-public qtbase
"qmake/library/qmakebuiltins.cpp")
(("/bin/sh") (which "sh")))
#t))
(add-after 'configure 'patch-xdg-open
(lambda _
(substitute* '("src/platformsupport/services/genericunix/qgenericunixservices.cpp")
(("^.*const char \\*browsers.*$" all)
(string-append "*browser = QStringLiteral(\""
(which "xdg-open")
"\"); return true; \n" all)))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))