[Git][java-team/openjfx][master] 3 commits: Add patch for loongarch64 support (Closes: #1061730)

Tony Mancill (@tmancill) gitlab at salsa.debian.org
Sun Apr 13 22:57:02 BST 2025



Tony Mancill pushed to branch master at Debian Java Maintainers / openjfx


Commits:
85a3bd2e by tony mancill at 2025-04-13T10:10:47-07:00
Add patch for loongarch64 support (Closes: #1061730)

- - - - -
3ccbd17b by tony mancill at 2025-04-13T10:24:16-07:00
Update B-D on pkg-config to pkgconf

- - - - -
f2daf341 by tony mancill at 2025-04-13T11:33:17-07:00
Prepare changelog for upload

- - - - -


6 changed files:

- debian/changelog
- debian/control
- + debian/gradle.properties.loong64
- + debian/patches/75-loongarch-support.patch
- debian/patches/series
- debian/rules


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,12 @@
+openjfx (11.0.11+1-7) unstable; urgency=medium
+
+  * Team upload.
+  * Add patch for loongarch64 support (Closes: #1061730)
+    Thank you to Zhang Na for the patch and to others who tested.
+  * Update B-D on pkg-config to pkgconf
+
+ -- tony mancill <tmancill at debian.org>  Sun, 13 Apr 2025 10:25:38 -0700
+
 openjfx (11.0.11+1-6) unstable; urgency=medium
 
   * Team upload


=====================================
debian/control
=====================================
@@ -32,7 +32,7 @@ Build-Depends: antlr4,
                libxtst-dev,
                libxxf86vm-dev,
                maven-repo-helper,
-               pkg-config,
+               pkgconf,
                python3,
                qtbase5-dev,
                qtchooser,


=====================================
debian/gradle.properties.loong64
=====================================
@@ -0,0 +1,4 @@
+COMPILE_WEBKIT = false
+COMPILE_MEDIA = true
+GRADLE_VERSION_CHECK = false
+CONF = Release


=====================================
debian/patches/75-loongarch-support.patch
=====================================
@@ -0,0 +1,129 @@
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1061730
+Forwarded: not-needed
+From fc418a426205deb8e198f51a374bcfc125f96111 Mon Sep 17 00:00:00 2001
+From: Zhang Na <zhangna at loongson.cn>
+Date: Mon, 29 Jan 2024 08:37:58 +0000
+Subject: [PATCH] Add LoongArch support
+
+---
+ .../gstreamer/gstreamer-lite/gstreamer/gst/gstconfig.h     | 2 +-
+ modules/javafx.web/src/main/native/CMakeLists.txt          | 2 ++
+ .../src/main/native/Source/JavaScriptCore/CMakeLists.txt   | 7 +++++++
+ .../ThirdParty/icu/source/i18n/double-conversion-utils.h   | 2 +-
+ .../javafx.web/src/main/native/Source/WTF/wtf/PageBlock.h  | 2 +-
+ .../src/main/native/Source/WTF/wtf/PlatformCPU.h           | 6 ++++++
+ .../javafx.web/src/main/native/Source/WTF/wtf/dtoa/utils.h | 2 +-
+ 10 files changed, 28 insertions(+), 5 deletions(-)
+ create mode 100644 debian/gradle.properties.loong64
+
+diff --git a/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstconfig.h b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstconfig.h
+index c889459e..dbc9bcda 100644
+--- a/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstconfig.h
++++ b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gstreamer/gst/gstconfig.h
+@@ -107,7 +107,7 @@
+  */
+ #if defined(__alpha__) || defined(__arc__) || defined(__arm__) || defined(__aarch64__) || defined(__bfin) || defined(__hppa__) || defined(__nios2__) || defined(__MICROBLAZE__) || defined(__mips__) || defined(__or1k__) || defined(__sh__) || defined(__SH4__) || defined(__sparc__) || defined(__sparc) || defined(__ia64__) || defined(_M_ALPHA) || defined(_M_ARM) || defined(_M_IA64) || defined(__xtensa__) || defined(__e2k__)
+ #  define GST_HAVE_UNALIGNED_ACCESS 0
+-#elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__)
++#elif defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__ppc__) || defined(__ppc64__) || defined(__powerpc__) || defined(__powerpc64__) || defined(__m68k__) || defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || defined(__s390__) || defined(__s390x__) || defined(__zarch__) || defined(__loongarch__)
+ #  define GST_HAVE_UNALIGNED_ACCESS 1
+ #else
+ #  error "Could not detect architecture; don't know whether it supports unaligned access! Please file a bug."
+diff --git a/modules/javafx.web/src/main/native/CMakeLists.txt b/modules/javafx.web/src/main/native/CMakeLists.txt
+index d8218bf3..27db7c15 100644
+--- a/modules/javafx.web/src/main/native/CMakeLists.txt
++++ b/modules/javafx.web/src/main/native/CMakeLists.txt
+@@ -116,6 +116,8 @@ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64")
+     set(WTF_CPU_PPC64 1)
+ elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "ppc64le")
+     set(WTF_CPU_PPC64LE 1)
++elseif (LOWERCASE_CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
++    set(WTF_CPU_LOONGARCH64 1)
+ else ()
+     set(WTF_CPU_UNKNOWN 1)
+ endif ()
+diff --git a/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt b/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt
+index b775b3ed..7f9dd169 100644
+--- a/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt
++++ b/modules/javafx.web/src/main/native/Source/JavaScriptCore/CMakeLists.txt
+@@ -252,6 +252,8 @@ else ()
+         set(OFFLINE_ASM_BACKEND "ARMv7")
+     elseif (WTF_CPU_MIPS)
+         set(OFFLINE_ASM_BACKEND "MIPS")
++    elseif (WTF_CPU_LOONGARCH64)
++	set(OFFLINE_ASM_BACKEND "LOONGARCH64")
+     endif ()
+ 
+     if (NOT ENABLE_JIT)
+@@ -1333,7 +1335,12 @@ WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS()
+ if (COMPILER_IS_GCC_OR_CLANG)
+     # Avoid using fused multiply-add instructions since this could give different results
+     # for e.g. parseInt depending on the platform and compilation flags.
++    if (WTF_CPU_LOONGARCH64)
++        WEBKIT_ADD_TARGET_CXX_FLAGS(JavaScriptCore -ffp-contract=off)
++    else ()
+     WEBKIT_ADD_TARGET_CXX_FLAGS(JavaScriptCore -ffp-contract=off -fno-slp-vectorize)
++    endif ()
++
+ endif ()
+ 
+ WEBKIT_COPY_FILES(JavaScriptCore_CopyHeaders
+diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/icu/source/i18n/double-conversion-utils.h b/modules/javafx.web/src/main/native/Source/ThirdParty/icu/source/i18n/double-conversion-utils.h
+index 1e44fcaa..686425e8 100644
+--- a/modules/javafx.web/src/main/native/Source/ThirdParty/icu/source/i18n/double-conversion-utils.h
++++ b/modules/javafx.web/src/main/native/Source/ThirdParty/icu/source/i18n/double-conversion-utils.h
+@@ -103,7 +103,7 @@ int main(int argc, char** argv) {
+     defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \
+     defined(__riscv) || \
+     defined(__or1k__) || defined(__arc__) || \
+-    defined(__EMSCRIPTEN__)
++    defined(__EMSCRIPTEN__) || defined(__loongarch__)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(__mc68000__) || \
+     defined(__pnacl__) || defined(__native_client__)
+diff --git a/modules/javafx.web/src/main/native/Source/WTF/wtf/PageBlock.h b/modules/javafx.web/src/main/native/Source/WTF/wtf/PageBlock.h
+index 2a618f69..e5e340c0 100644
+--- a/modules/javafx.web/src/main/native/Source/WTF/wtf/PageBlock.h
++++ b/modules/javafx.web/src/main/native/Source/WTF/wtf/PageBlock.h
+@@ -47,7 +47,7 @@ namespace WTF {
+ // 64 KiB. (Apple uses 16 KiB.)
+ //
+ // Use 64 KiB for any unknown CPUs to be conservative.
+-#if OS(DARWIN) || PLATFORM(PLAYSTATION)
++#if OS(DARWIN) || PLATFORM(PLAYSTATION) || CPU(LOONGARCH64)
+ constexpr size_t CeilingOnPageSize = 16 * KB;
+ #elif USE(64KB_PAGE_BLOCK) || CPU(PPC) || CPU(PPC64) || CPU(PPC64LE) || CPU(UNKNOWN)
+ constexpr size_t CeilingOnPageSize = 64 * KB;
+diff --git a/modules/javafx.web/src/main/native/Source/WTF/wtf/PlatformCPU.h b/modules/javafx.web/src/main/native/Source/WTF/wtf/PlatformCPU.h
+index 58fef8f6..b1bf6019 100644
+--- a/modules/javafx.web/src/main/native/Source/WTF/wtf/PlatformCPU.h
++++ b/modules/javafx.web/src/main/native/Source/WTF/wtf/PlatformCPU.h
+@@ -55,6 +55,12 @@
+ #define WTF_MIPS_FP64 (defined __mips_fpr && __mips_fpr == 64)
+ #endif
+ 
++/* CPU(LOONGARCH64) - LOONGARCH64 */
++#if defined(__loongarch64)
++#define WTF_CPU_LOONGARCH64 1
++#define WTF_CPU_KNOWN 1
++#endif
++
+ /* CPU(PPC64) - PowerPC 64-bit Big Endian */
+ #if (  defined(__ppc64__)      \
+     || defined(__PPC64__))     \
+diff --git a/modules/javafx.web/src/main/native/Source/WTF/wtf/dtoa/utils.h b/modules/javafx.web/src/main/native/Source/WTF/wtf/dtoa/utils.h
+index 96d5bd7b..684d3fbc 100644
+--- a/modules/javafx.web/src/main/native/Source/WTF/wtf/dtoa/utils.h
++++ b/modules/javafx.web/src/main/native/Source/WTF/wtf/dtoa/utils.h
+@@ -91,7 +91,7 @@ int main(int argc, char** argv) {
+     defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \
+     defined(__riscv) || \
+     defined(__or1k__) || defined(__arc__) || \
+-    defined(__EMSCRIPTEN__)
++    defined(__EMSCRIPTEN__) || defined(__loongarch__)
+ #define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
+ #elif defined(__mc68000__) || \
+     defined(__pnacl__) || defined(__native_client__)
+-- 
+2.43.0
+


=====================================
debian/patches/series
=====================================
@@ -24,3 +24,4 @@ jdk-21-compilation.patch
 64-bit-time-t.patch
 gcc-14.patch
 linker_flags_for_armel.patch
+75-loongarch-support.patch


=====================================
debian/rules
=====================================
@@ -19,7 +19,11 @@ export NUMBER_OF_PROCESSORS ?= $(shell nproc)
 	dh $@ --buildsystem=gradle --no-parallel --with maven-repo-helper
 
 override_dh_auto_configure-arch:
+ifneq (,$(filter $(DEB_HOST_ARCH), loong64))
+	cp debian/gradle.properties.loong64 gradle.properties
+else
 	cp debian/gradle.properties .
+endif
 
 override_dh_auto_configure-indep:
 	echo "GRADLE_VERSION_CHECK = false" >> gradle.properties



View it on GitLab: https://salsa.debian.org/java-team/openjfx/-/compare/5f6e7f7a9ccc4cd43f7e980907a2066596eb49cd...f2daf341ffd3bd202056f69082132179bde7292e

-- 
View it on GitLab: https://salsa.debian.org/java-team/openjfx/-/compare/5f6e7f7a9ccc4cd43f7e980907a2066596eb49cd...f2daf341ffd3bd202056f69082132179bde7292e
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20250413/76ba8d90/attachment.htm>


More information about the pkg-java-commits mailing list