aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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