summaryrefslogtreecommitdiff
path: root/gnu/packages/glib.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/glib.scm')
-rw-r--r--gnu/packages/glib.scm41
1 files changed, 28 insertions, 13 deletions
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index 72d5ea0bdd..4fe38b7f25 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -105,6 +105,9 @@
;; Install the session bus socket under /tmp.
"--with-session-socket-dir=/tmp"
+ ;; Build shared libraries only.
+ "--disable-static"
+
;; Use /etc/dbus-1 for system-wide config.
;; Look for configuration file under
;; /etc/dbus-1. This is notably required by
@@ -199,11 +202,26 @@ shared NFS home directories.")
("perl" ,perl) ; needed by GIO tests
("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c
(arguments
- `(;; TODO: Uncomment on the next rebuild cycle.
- ;; #:disallowed-references (,tzdata-for-tests)
-
+ `(#:disallowed-references (,tzdata-for-tests)
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-dbus-launch-path
+ (lambda* (#:key inputs #:allow-other-keys)
+ (let ((dbus (assoc-ref inputs "dbus")))
+ (substitute* "gio/gdbusaddress.c"
+ (("command_line = g_strdup_printf \\(\"dbus-launch")
+ (string-append "command_line = g_strdup_printf (\""
+ dbus "/bin/dbus-launch")))
+ #t)))
+ (add-after 'unpack 'patch-gio-launch-desktop
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; See also <https://gitlab.gnome.org/GNOME/glib/issues/1633>
+ ;; for another future fix.
+ (substitute* "gio/gdesktopappinfo.c"
+ (("gio-launch-desktop")
+ (string-append out "/libexec/gio-launch-desktop")))
+ #t)))
(add-before 'build 'pre-build
(lambda* (#:key inputs outputs #:allow-other-keys)
;; For tests/gdatetime.c.
@@ -312,6 +330,13 @@ shared NFS home directories.")
(mkdir-p bin)
(rename-file (string-append out "/bin")
(string-append bin "/bin"))
+ ;; This one is an implementation detail of glib.
+ ;; It is wrong that that's in "/bin" in the first place,
+ ;; but that's what upstream is doing right now.
+ ;; See <https://gitlab.gnome.org/GNOME/glib/issues/1633>.
+ (mkdir (string-append out "/libexec"))
+ (rename-file (string-append bin "/bin/gio-launch-desktop")
+ (string-append out "/libexec/gio-launch-desktop"))
;; Do not refer to "bindir", which points to "${prefix}/bin".
;; We don't patch "bindir" to point to "$bin/bin", because that
;; would create a reference cycle between the "out" and "bin"
@@ -529,16 +554,6 @@ information in their documents, such as whether a particular element should be
translated.")
(license license:gpl3+)))
-(define-public itstool/fixed
- ;; This variant fixes a python-libxml2 crash when processing UTF-8
- ;; sequences: <https://bugs.gnu.org/37468>. Since the issue is quite rare,
- ;; create this variant here to avoid a full rebuild.
- (package/inherit
- itstool
- (inputs
- `(("python-libxml2" ,python-libxml2/fixed)
- ,@(alist-delete "python-libxml2" (package-inputs itstool))))))
-
(define dbus-glib
(package
(name "dbus-glib")