summary refs log tree commit diff
path: root/gnu/packages/java.scm
diff options
context:
space:
mode:
authorEfraim Flashner <efraim@flashner.co.il>2023-10-06 16:16:27 +0300
committerEfraim Flashner <efraim@flashner.co.il>2023-10-06 16:21:44 +0300
commita7e6b4c98b97921ab695218f9b89be4f1ded48c9 (patch)
tree9e41be68e25eb8c626f7838ca90ece3103f1bdba /gnu/packages/java.scm
parent8d27ef1ed34a0a7fe14fd76f31541b62d0125498 (diff)
downloadguix-a7e6b4c98b97921ab695218f9b89be4f1ded48c9.tar.gz
gnu: openjdk-12: Fix building on aarch64-linux.
* gnu/packages/java.scm (openjdk-12)[arugments]: When building for
aarch64-linux add a phase to remove a duplicate line.
Diffstat (limited to 'gnu/packages/java.scm')
-rw-r--r--gnu/packages/java.scm12
1 files changed, 12 insertions, 0 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm
index 30a59ec5a3..9445c37b67 100644
--- a/gnu/packages/java.scm
+++ b/gnu/packages/java.scm
@@ -1463,6 +1463,18 @@ new Date();"))
     (substitute-keyword-arguments (package-arguments openjdk11)
       ((#:phases phases)
        #~(modify-phases #$phases
+           #$@(if (target-aarch64?)
+                #~((add-after 'unpack 'patch-for-aarch64
+                    (lambda _
+                      (substitute* "src/hotspot/cpu/aarch64/interp_masm_aarch64.hpp"
+                        ;; This line is duplicated, so remove both occurrences,
+                        ;; then add back one occurrence by substituting a
+                        ;; comment that occurs once.
+                        (("using MacroAssembler::call_VM_leaf_base;") "")
+                        (("Interpreter specific version of call_VM_base")
+                         (string-append "Interpreter specific version of call_VM_base\n"
+                                        "  using MacroAssembler::call_VM_leaf_base;"))))))
+                #~())
            (replace 'fix-java-shebangs
              (lambda _
                ;; 'blocked' was renamed to 'blacklisted' in this version for