guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/03: gnu: openjdk: Fix library substitution when libraries aren't foun


From: guix-commits
Subject: 01/03: gnu: openjdk: Fix library substitution when libraries aren't found.
Date: Wed, 21 Apr 2021 08:38:46 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit 698c4365baaad7eac7e5f38bd6527cf517200052
Author: Carlo Zancanaro <carlo@zancanaro.id.au>
AuthorDate: Tue Apr 20 21:22:20 2021 +1000

    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>
---
 gnu/packages/java.scm | 26 ++++++++++++++------------
 1 file changed, 14 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 9f67cc4..3c5a438 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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]