From bab9793f54f055e814428fe6e312b0f80b629333 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 26 Mar 2018 12:19:14 +0300 Subject: [PATCH] gnu: classpath: Add aarch64-linux support. * gnu/packages/java.scm (classpath-bootstrap, classpath-0.99)[source]: Add patch. * gnu/packages/patches/classpath-aarch64-support.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 6 ++-- .../patches/classpath-aarch64-support.patch | 29 +++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/classpath-aarch64-support.patch diff --git a/gnu/local.mk b/gnu/local.mk index 933649f43b..b1fe6122e0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -594,6 +594,7 @@ dist_patch_DATA = \ %D%/packages/patches/clang-3.8-libc-search-path.patch \ %D%/packages/patches/clang-runtime-asan-build-fixes.patch \ %D%/packages/patches/clang-runtime-esan-build-fixes.patch \ + %D%/packages/patches/classpath-aarch64-support.patch \ %D%/packages/patches/clementine-remove-crypto++-dependency.patch \ %D%/packages/patches/clementine-use-openssl.patch \ %D%/packages/patches/clisp-glibc-2.26.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 3248bebfc0..4a6172a8cc 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -129,7 +129,8 @@ and binary format defined in The Java Virtual Machine Specification.") version ".tar.gz")) (sha256 (base32 - "0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz")))) + "0i99wf9xd3hw1sj2sazychb9prx8nadxh2clgvk3zlmb28v0jbfz")) + (patches (search-patches "classpath-aarch64-support.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -424,7 +425,8 @@ the standard javac executable."))) version ".tar.gz")) (sha256 (base32 - "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr")))) + "1j7cby4k66f1nvckm48xcmh352b1d1b33qk7l6hi7dp9i9zjjagr")) + (patches (search-patches "classpath-aarch64-support.patch")))) (arguments `(#:configure-flags (list (string-append "--with-ecj-jar=" diff --git a/gnu/packages/patches/classpath-aarch64-support.patch b/gnu/packages/patches/classpath-aarch64-support.patch new file mode 100644 index 0000000000..6fdac0c4fb --- /dev/null +++ b/gnu/packages/patches/classpath-aarch64-support.patch @@ -0,0 +1,29 @@ +This is modeled after the ia64 support. Aarch64 can be either big endian +or little endian, so we add the case for both. + +--- + native/fdlibm/ieeefp.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/native/fdlibm/ieeefp.h b/native/fdlibm/ieeefp.h +index 1a9740f..73455c0 100644 +--- a/native/fdlibm/ieeefp.h ++++ b/native/fdlibm/ieeefp.h +@@ -27,6 +27,14 @@ + #endif + #endif + ++#ifdef __aarch64__ ++#ifdef __BIG_ENDIAN__ ++#define __IEEE_BIG_ENDIAN ++#else ++#define __IEEE_LITTLE_ENDIAN ++#endif ++#endif ++ + #ifdef __hppa__ + #define __IEEE_BIG_ENDIAN + #endif +-- +2.16.3 +