diff options
author | Josselin Poiret <dev@jpoiret.xyz> | 2024-03-02 22:47:11 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2024-08-31 10:44:55 +0200 |
commit | 9b9977f355d2e58aa9df3524911fd750536c89f7 (patch) | |
tree | 23c2c65f7bcd036c7aca75ca17c3853c0a0e7c8f | |
parent | ce170fb4ca85086a9ae5ec8135d8ad3e2c5d51a5 (diff) | |
download | guix-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.scm | 14 | ||||
-rw-r--r-- | gnu/packages/guile.scm | 16 |
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 |