summaryrefslogtreecommitdiff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2019-09-07 16:17:39 +0200
committerRicardo Wurmus <rekado@elephly.net>2019-09-07 16:17:39 +0200
commit4fb59c9e4dbb6455ef273c83113472be9c8bb51e (patch)
treef6fbff705c65a689d75858513cb6108f7e2603d6 /gnu/packages/java.scm
parent65542a8852759f35e19959149ac92297c8b54be5 (diff)
gnu: classpath-bootstrap: Remove call to free.
Fixes <https://bugs.gnu.org/36685>. * gnu/packages/java.scm (classpath-bootstrap)[arguments]: Add build phase "remove-call-to-free" to let us build ant-bootstrap later.
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm11
1 files changed, 11 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 403c446a82..cde32e451a 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -152,6 +152,17 @@ and binary format defined in The Java Virtual Machine Specification.")
"--disable-gjdoc")
#:phases
(modify-phases %standard-phases
+ ;; XXX: This introduces a memory leak as we remove a call to free up
+ ;; memory for the file name string. This was necessary because of a
+ ;; runtime error that would have prevented us from building
+ ;; ant-bootstrap later. See https://issues.guix.gnu.org/issue/36685
+ ;; for the gnarly details.
+ (add-after 'unpack 'remove-call-to-free
+ (lambda _
+ (substitute* "native/jni/java-io/java_io_VMFile.c"
+ (("result = cpio_isFileExists.*" m)
+ (string-append m "\n//")))
+ #t))
(add-after 'install 'install-data
(lambda _ (invoke "make" "install-data"))))))
(native-inputs