[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#32102] [PATCH v2 2/2] gnu: gajim: Combine wrap-program phases.
From: |
Arun Isaac |
Subject: |
[bug#32102] [PATCH v2 2/2] gnu: gajim: Combine wrap-program phases. |
Date: |
Sun, 29 Jul 2018 02:12:58 +0530 |
Please find attached the updated patches. Sorry this took so long. I was
working on another project, and couldn't spare the computing time to
build the whole system from scratch due to these patches.
>From 6ee5cf4423109ab64df58c85f4114e456dda098b Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Wed, 11 Jul 2018 13:03:33 +0530
Subject: [PATCH v3 1/3] build-system: python: Do not double wrap executables.
To: address@hidden
Cc: address@hidden,
address@hidden,
address@hidden
* guix/build/python-build-system.scm (wrap): Only wrap executables that have
not already been wrapped.
* guix/build/utils.scm (is-wrapped?): New function.
---
guix/build/python-build-system.scm | 9 ++++-----
guix/build/utils.scm | 9 +++++++++
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/guix/build/python-build-system.scm
b/guix/build/python-build-system.scm
index 376ea81f1..05e5009a4 100644
--- a/guix/build/python-build-system.scm
+++ b/guix/build/python-build-system.scm
@@ -5,6 +5,7 @@
;;; Copyright © 2015, 2018 Mark H Weaver <address@hidden>
;;; Copyright © 2016 Hartmut Goebel <address@hidden>
;;; Copyright © 2018 Ricardo Wurmus <address@hidden>
+;;; Copyright © 2018 Arun Isaac <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -186,11 +187,9 @@ when running checks after installing the package."
(define* (wrap #:key inputs outputs #:allow-other-keys)
(define (list-of-files dir)
- (map (cut string-append dir "/" <>)
- (or (scandir dir (lambda (f)
- (let ((s (stat (string-append dir "/" f))))
- (eq? 'regular (stat:type s)))))
- '())))
+ (find-files dir (lambda (file stat)
+ (and (eq? 'regular (stat:type stat))
+ (not (is-wrapped? file))))))
(define bindirs
(append-map (match-lambda
diff --git a/guix/build/utils.scm b/guix/build/utils.scm
index c58a1afd1..c310b792c 100644
--- a/guix/build/utils.scm
+++ b/guix/build/utils.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2013 Andreas Enge <address@hidden>
;;; Copyright © 2013 Nikita Karetnikov <address@hidden>
;;; Copyright © 2015, 2018 Mark H Weaver <address@hidden>
+;;; Copyright © 2018 Arun Isaac <address@hidden>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +22,7 @@
(define-module (guix build utils)
#:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-2)
#:use-module (srfi srfi-11)
#:use-module (srfi srfi-26)
#:use-module (srfi srfi-34)
@@ -87,6 +89,7 @@
patch-/usr/bin/file
fold-port-matches
remove-store-references
+ is-wrapped?
wrap-program
invoke
@@ -1003,6 +1006,12 @@ known as `nuke-refs' in Nixpkgs."
(put-u8 out (char->integer char))
result))))))
+(define (is-wrapped? prog)
+ "Return #t if PROG is already wrapped using wrap-program, else return #f."
+ (with-directory-excursion (dirname prog)
+ (and-let* ((match-record (string-match "^\\.(.*)-real$" (basename prog))))
+ (access? (match:substring match-record 1) X_OK))))
+
(define* (wrap-program prog #:rest vars)
"Make a wrapper for PROG. VARS should look like this:
--
2.18.0
>From 1a1762da6e62d7bcf6556df300299d9cfc995d0f Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Sat, 28 Jul 2018 17:27:26 +0530
Subject: [PATCH v3 2/3] gnu: gajim: Rename wrap-program phases.
To: address@hidden
Cc: address@hidden,
address@hidden,
address@hidden
* gnu/packages/messaging.scm (gajim)[arguments]: Rename wrap-program phases to
wrap-gi-typelib-path and wrap-gsettings-schema-dir.
---
gnu/packages/messaging.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index a34f74465..0c6c2f642 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -586,7 +586,7 @@ was initially a fork of xmpppy, but uses non-blocking
sockets.")
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'install 'wrap-program
+ (add-after 'install 'wrap-gi-typelib-path
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each
@@ -628,7 +628,7 @@ was initially a fork of xmpppy, but uses non-blocking
sockets.")
(symlink adwaita "Adwaita")
(copy-recursively hicolor "hicolor")))
#t))
- (add-after 'install-icons 'wrap-program
+ (add-after 'install-icons 'wrap-gsettings-schema-dir
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/gajim")
--
2.18.0
>From 71a7f6e39bd5b68b596bda2a75b1d245179349d0 Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Sat, 28 Jul 2018 17:31:44 +0530
Subject: [PATCH v3 3/3] gnu: gajim: Return #t from wrap-gsettings-schema-dir
phase.
To: address@hidden
Cc: address@hidden,
address@hidden,
address@hidden
* gnu/packages/messaging.scm (gajim)[arguments]: Return #t from
wrap-gsettings-schema-dir phase.
---
gnu/packages/messaging.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 0c6c2f642..da0d28325 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -635,7 +635,8 @@ was initially a fork of xmpppy, but uses non-blocking
sockets.")
;; For GtkFileChooserDialog.
`("GSETTINGS_SCHEMA_DIR" =
(,(string-append (assoc-ref inputs "gtk+")
- "/share/glib-2.0/schemas")))))))))
+ "/share/glib-2.0/schemas"))))
+ #t)))))
(native-inputs
`(("intltool" ,intltool)
("xorg-server" ,xorg-server)))
--
2.18.0
- [bug#32102] [PATCH] utils: Fix wrap-program filename generation., (continued)
[bug#32102] [PATCH v2 0/2] build-system: python: Only wrap non-hidden executable files, Arun Isaac, 2018/07/11
[bug#32102] [PATCH v2 2/2] gnu: gajim: Combine wrap-program phases., Arun Isaac, 2018/07/11