[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
188/265: build-system/glib-or-gtk: Include GI_TYPELIB_PATH in wrapper.
From: |
guix-commits |
Subject: |
188/265: build-system/glib-or-gtk: Include GI_TYPELIB_PATH in wrapper. |
Date: |
Wed, 19 Aug 2020 13:09:27 -0400 (EDT) |
dannym pushed a commit to branch wip-desktop
in repository guix.
commit 41d8407f5560af3255b86a8d37d0a3bcc395559b
Author: Raghav Gururajan <raghavgururajan@disroot.org>
AuthorDate: Wed Aug 12 05:54:54 2020 -0400
build-system/glib-or-gtk: Include GI_TYPELIB_PATH in wrapper.
* guix/build/glib-or-gtk-build-system.scm (gi-typelib-directories): New
variable.
(wrap-all-programs): Include GI_TYPELIB_PATH in wrapper.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
---
guix/build/glib-or-gtk-build-system.scm | 64 ++++++++++++++++-----------------
1 file changed, 30 insertions(+), 34 deletions(-)
diff --git a/guix/build/glib-or-gtk-build-system.scm
b/guix/build/glib-or-gtk-build-system.scm
index ba680fd..d69fe66 100644
--- a/guix/build/glib-or-gtk-build-system.scm
+++ b/guix/build/glib-or-gtk-build-system.scm
@@ -125,6 +125,21 @@ returns a list with all found directories."
(fold gio-module-directory '() inputs))
+;; For wrapping GI_TYPELIB_PATH.
+(define (gi-typelib-directories inputs)
+ "Check for the existence of \"$libdir/girepository-1.0\" in the INPUTS and
+returns a list with all found directories."
+ (define (gi-typelib-directory input previous)
+ (let* ((in (match input
+ ((_ . dir) dir)
+ (_ "")))
+ (gi-typelib-dir (string-append in "/lib/girepository-1.0")))
+ (if (and (directory-exists? gi-typelib-dir)
+ (not (directory-included? gi-typelib-dir previous)))
+ (cons gi-typelib-dir previous)
+ previous)))
+ (fold gi-typelib-directory '() inputs))
+
(define* (wrap-all-programs #:key inputs outputs
(glib-or-gtk-wrap-excluded-outputs '())
#:allow-other-keys)
@@ -150,6 +165,8 @@ add a dependency of that output on GLib and GTK+."
(alist-cons output directory inputs)))
(gio-mod-dirs (gio-module-directories
(alist-cons output directory inputs)))
+ (gi-typelib-dirs (gi-typelib-directories
+ (alist-cons output directory inputs)))
(data-env-var
(if (not (null? datadirs))
`("XDG_DATA_DIRS" ":" prefix ,datadirs)
@@ -161,41 +178,20 @@ add a dependency of that output on GLib and GTK+."
(gio-mod-env-var
(if (not (null? gio-mod-dirs))
`("GIO_EXTRA_MODULES" ":" prefix ,gio-mod-dirs)
+ #f))
+ (gi-typelib-env-var
+ (if (not (null? gi-typelib-dirs))
+ `("GI_TYPELIB_PATH" ":" prefix ,gi-typelib-dirs)
#f)))
- (cond
- ((and data-env-var gtk-mod-env-var gio-mod-env-var)
- (for-each (cut wrap-program <>
- data-env-var
- gtk-mod-env-var
- gio-mod-env-var)
- bin-list))
- ((and data-env-var gtk-mod-env-var (not gio-mod-env-var))
- (for-each (cut wrap-program <>
- data-env-var
- gtk-mod-env-var)
- bin-list))
- ((and data-env-var (not gtk-mod-env-var) gio-mod-env-var)
- (for-each (cut wrap-program <>
- data-env-var
- gio-mod-env-var)
- bin-list))
- ((and (not data-env-var) gtk-mod-env-var gio-mod-env-var)
- (for-each (cut wrap-program <>
- gio-mod-env-var
- gtk-mod-env-var)
- bin-list))
- ((and data-env-var (not gtk-mod-env-var) (not gio-mod-env-var))
- (for-each (cut wrap-program <>
- data-env-var)
- bin-list))
- ((and (not data-env-var) gtk-mod-env-var (not gio-mod-env-var))
- (for-each (cut wrap-program <>
- gtk-mod-env-var)
- bin-list))
- ((and (not data-env-var) (not gtk-mod-env-var) gio-mod-env-var)
- (for-each (cut wrap-program <>
- gio-mod-env-var)
- bin-list))))))))
+ (let ((specifications
+ (filter identity
+ (list data-env-var gtk-mod-env-var gio-mod-env-var
+ gi-typelib-env-var))))
+ (if specifications
+ (for-each (lambda (original)
+ (apply wrap-program original specifications))
+ bin-list)
+ (error "refusing to wrap when not given environment variables
to set"))))))))
(for-each handle-output outputs)
#t)
- 174/265: gnu: orca: Update package definition., (continued)
- 174/265: gnu: orca: Update package definition., guix-commits, 2020/08/19
- 179/265: gnu: sushi: Update package definition., guix-commits, 2020/08/19
- 180/265: gnu: totem: Update package definition., guix-commits, 2020/08/19
- 187/265: gnu: gnome-shell: Update package definition., guix-commits, 2020/08/19
- 189/265: build-system/glib-or-gtk: Also wrap executables that are in "sbin"., guix-commits, 2020/08/19
- 193/265: gnu: gnome: Revise package definition., guix-commits, 2020/08/19
- 181/265: gnu: wayland: Update package definition., guix-commits, 2020/08/19
- 183/265: gnu: Add mozjs-68., guix-commits, 2020/08/19
- 185/265: gnu: mutter: Update package definition., guix-commits, 2020/08/19
- 186/265: gnu: gdm: Update package definition., guix-commits, 2020/08/19
- 188/265: build-system/glib-or-gtk: Include GI_TYPELIB_PATH in wrapper.,
guix-commits <=
- 190/265: build-system/python: Also wrap executables that are in "libexec"., guix-commits, 2020/08/19
- 192/265: build-system/cmake: Wrap Python executables, too., guix-commits, 2020/08/19
- 158/265: gnu: gnome-keyring: Update package definition., guix-commits, 2020/08/19
- 170/265: gnu: gnome-user-docs: Update package definition., guix-commits, 2020/08/19
- 184/265: gnu: gjs: Update package definition., guix-commits, 2020/08/19
- 194/265: gnu: Add gnome-minimal., guix-commits, 2020/08/19
- 195/265: gnu: opencv: Fix build with new version of jasper., guix-commits, 2020/08/19
- 196/265: build-system/meson: Only include phases that are enabled., guix-commits, 2020/08/19
- 200/265: gnu: at-spi2-core: Include python phases., guix-commits, 2020/08/19
- 218/265: gnu: wpebackend-fdo: Include glib-or-gtk phases., guix-commits, 2020/08/19