diff options
author | Carlo Zancanaro <carlo@zancanaro.id.au> | 2021-04-20 21:22:20 +1000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2021-04-21 14:33:27 +0200 |
commit | 698c4365baaad7eac7e5f38bd6527cf517200052 (patch) | |
tree | c5787893969d2924bb81d660c5051e83d0188473 /gnu/packages/java.scm | |
parent | 8f04cb6c7fb7dbbda1ed7c95866783e6616d3374 (diff) | |
download | guix-698c4365baaad7eac7e5f38bd6527cf517200052.tar guix-698c4365baaad7eac7e5f38bd6527cf517200052.tar.gz |
gnu: openjdk: Fix library substitution when libraries aren't found.
* gnu/packages/java.scm (icedtea-8, openjdk9, openjdk11)[arguments]:
Change 'find-library' to always return a string. Change 'find-library'
callers to use 'string-append' rather than 'format'. Starting from
97a43db8b4416a1450aa61737edba9cf4126cf1c, 'find-library' could return #f
and JNI substitutions would emit a literal "#f".
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r-- | gnu/packages/java.scm | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 9f67cc4e21..3c5a438492 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1800,9 +1800,10 @@ new Date();")) (search-path-as-string->list (getenv "LIBRARY_PATH")))) (find-library (lambda (name) - (search-path - library-path - (string-append "lib" name ".so"))))) + (or (search-path + library-path + (string-append "lib" name ".so")) + (string-append "lib" name ".so"))))) (for-each (lambda (file) (catch 'decoding-error @@ -1810,9 +1811,9 @@ new Date();")) (substitute* file (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" _ name version) - (format #f "\"~a\"" (find-library name))) + (string-append "\"" (find-library name) "\"")) (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) - (format #f "\"~a\"" (find-library name))))) + (string-append "\"" (find-library name) "\"")))) (lambda _ ;; Those are safe to skip. (format (current-error-port) @@ -1955,9 +1956,9 @@ new Date();")) (substitute* file (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" _ name version) - (format #f "\"~a\"" (find-library name))) + (string-append "\"" (find-library name) "\"")) (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) - (format #f "\"~a\"" (find-library name))))) + (string-append "\"" (find-library name) "\"")))) (lambda _ ;; Those are safe to skip. (format (current-error-port) @@ -2158,9 +2159,10 @@ new Date();")) (search-path-as-string->list (getenv "LIBRARY_PATH")))) (find-library (lambda (name) - (search-path - library-path - (string-append "lib" name ".so"))))) + (or (search-path + library-path + (string-append "lib" name ".so")) + (string-append "lib" name ".so"))))) (for-each (lambda (file) (catch 'decoding-error @@ -2168,9 +2170,9 @@ new Date();")) (substitute* file (("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)" _ name version) - (format #f "\"~a\"" (find-library name))) + (string-append "\"" (find-library name) "\"")) (("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name) - (format #f "\"~a\"" (find-library name))))) + (string-append "\"" (find-library name) "\"")))) (lambda _ ;; Those are safe to skip. (format (current-error-port) |