aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosselin Poiret <dev@jpoiret.xyz>2024-03-02 22:47:11 +0100
committerLudovic Courtès <ludo@gnu.org>2024-08-31 10:44:55 +0200
commit9b9977f355d2e58aa9df3524911fd750536c89f7 (patch)
tree23c2c65f7bcd036c7aca75ca17c3853c0a0e7c8f
parentce170fb4ca85086a9ae5ec8135d8ad3e2c5d51a5 (diff)
downloadguix-9b9977f355d2e58aa9df3524911fd750536c89f7.tar
guix-9b9977f355d2e58aa9df3524911fd750536c89f7.tar.gz
gnu: guile-2.0: Add libxcrypt dependency.
* gnu/packages/guile.scm (guile-2.0): Add libxcrypt dependency, and include it in the pkg-config file's flags. * gnu/packages/commencement.scm (guile-final): Explicitely exclude libxcrypt dependency. Change-Id: Ie01913971b225c4dd23dcfdb96348d4e11042da8
-rw-r--r--gnu/packages/commencement.scm14
-rw-r--r--gnu/packages/guile.scm16
2 files changed, 26 insertions, 4 deletions
diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm
index 9e9fb0a52c..9017788fe5 100644
--- a/gnu/packages/commencement.scm
+++ b/gnu/packages/commencement.scm
@@ -3297,8 +3297,18 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define-public guile-final
;; This package must be public because other modules refer to it. However,
;; mark it as hidden so that 'fold-packages' ignores it.
- (with-boot4 (hidden-package
- (package-with-bootstrap-guile guile-3.0/pinned))))
+ (let ((parent (with-boot4 (hidden-package
+ (package-with-bootstrap-guile guile-3.0/pinned)))))
+ (package
+ (inherit parent)
+ (inputs
+ (modify-inputs (package-inputs parent)
+ (delete "libxcrypt")))
+ (arguments
+ (substitute-keyword-arguments (package-arguments parent)
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (delete 'add-libxcrypt-reference-pkgconfig))))))))
(define-public glibc-utf8-locales-final
;; Now that we have GUILE-FINAL, build the UTF-8 locales. They are needed
diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 89b9869550..c6558d3412 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -176,7 +176,7 @@ without requiring the source code to be rewritten.")
(list this-package)
'())))
(inputs
- (append (list libffi)
+ (append (list libffi libxcrypt)
(libiconv-if-needed)
;; We need Bash when cross-compiling because some of the scripts
@@ -251,7 +251,19 @@ without requiring the source code to be rewritten.")
'(search-input-file inputs "/bin/bash"))
(else
'(string-append bash "/bin/bash")))))
- #t))))))
+ #t)))
+ (add-after 'install 'add-libxcrypt-reference-pkgconfig
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (define out (assoc-ref outputs "out"))
+ (define libxcrypt
+ (false-if-exception
+ (dirname (search-input-file inputs "lib/libcrypt.so.1"))))
+ (when libxcrypt
+ (substitute*
+ (find-files (string-append out "/lib/pkgconfig")
+ ".*\\.pc")
+ (("-lcrypt")
+ (string-append "-L" libxcrypt " -lcrypt")))))))))
(native-search-paths
(list (search-path-specification