gnu: openjdk@11: Add phase to hardcode libraries.
This fixes a NullPointerException related to using fontconfig, see also <https://bugs.gnu.org/41177>. * gnu/packages/java.scm (openjdk11)[arguments]: Add patch-jni-libs phase. Signed-off-by: Leo Prikler <leo.prikler@student.tugraz.at>master
parent
84805ef205
commit
44425e1f2a
|
@ -2139,6 +2139,33 @@ new Date();"))
|
||||||
(substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
|
(substitute* "make/data/blacklistedcertsconverter/blacklisted.certs.pem"
|
||||||
(("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))
|
(("^#!.*") "#! java BlacklistedCertsConverter SHA-256\n"))
|
||||||
#t))
|
#t))
|
||||||
|
(add-after 'unpack 'patch-jni-libs
|
||||||
|
;; Hardcode dynamically loaded libraries.
|
||||||
|
(lambda _
|
||||||
|
(let* ((library-path (search-path-as-string->list
|
||||||
|
(getenv "LIBRARY_PATH")))
|
||||||
|
(find-library (lambda (name)
|
||||||
|
(search-path
|
||||||
|
library-path
|
||||||
|
(string-append "lib" name ".so")))))
|
||||||
|
(for-each
|
||||||
|
(lambda (file)
|
||||||
|
(catch 'decoding-error
|
||||||
|
(lambda ()
|
||||||
|
(substitute* file
|
||||||
|
(("VERSIONED_JNI_LIB_NAME\\(\"(.*)\", \"(.*)\"\\)"
|
||||||
|
_ name version)
|
||||||
|
(format #f "\"~a\"" (find-library name)))
|
||||||
|
(("JNI_LIB_NAME\\(\"(.*)\"\\)" _ name)
|
||||||
|
(format #f "\"~a\"" (find-library name)))))
|
||||||
|
(lambda _
|
||||||
|
;; Those are safe to skip.
|
||||||
|
(format (current-error-port)
|
||||||
|
"warning: failed to substitute: ~a~%"
|
||||||
|
file))))
|
||||||
|
(find-files "."
|
||||||
|
"\\.c$|\\.h$"))
|
||||||
|
#t)))
|
||||||
(add-before 'build 'write-source-revision-file
|
(add-before 'build 'write-source-revision-file
|
||||||
(lambda _
|
(lambda _
|
||||||
(with-output-to-file ".src-rev"
|
(with-output-to-file ".src-rev"
|
||||||
|
|
Reference in New Issue