git: 54150f57d18a - main - graphics/jogamp-jogl: fix build on aarch64

Ronald Klop <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.ports
Message-ID <[email protected]>
The branch main has been updated by ronald:

URL: https://cgit.FreeBSD.org/ports/commit/?id=54150f57d18af9c06a9e0dc74438ac24af1fea72

commit 54150f57d18af9c06a9e0dc74438ac24af1fea72
Author:     Ronald Klop <[email protected]>
AuthorDate: 2026-08-18 17:15:59 +0000
Commit:     Ronald Klop <[email protected]>
CommitDate: 2026-08-19 12:20:16 +0000

    graphics/jogamp-jogl: fix build on aarch64
    
    It needed similar build file glue as powerpc64.
    
    Approved by:    no maintainer
---
 graphics/jogamp-jogl/Makefile                      |  2 +-
 .../jogamp-jogl/files/patch-gluegen_make_build.xml | 28 ++++++++++++----
 .../patch-gluegen_make_gluegen-cpptasks-base.xml   | 38 +++++++++++++++++-----
 .../files/patch-jogl_make_build-jogl.xml           | 18 +++++++---
 .../files/patch-jogl_make_build-nativewindow.xml   | 18 ++++++++--
 .../files/patch-jogl_make_build-newt.xml           | 26 ++++++++++++---
 6 files changed, 103 insertions(+), 27 deletions(-)

diff --git a/graphics/jogamp-jogl/Makefile b/graphics/jogamp-jogl/Makefile
index 903e31b27e07..e2989ef78d66 100644
--- a/graphics/jogamp-jogl/Makefile
+++ b/graphics/jogamp-jogl/Makefile
@@ -23,7 +23,7 @@ USES=		compiler java:ant,run tar:xz xorg
 USE_XORG=	x11 xcursor xi xrandr xrender xxf86vm
 NO_SHLIB_REQUIRES_GLOB=	libjawt.so libjvm.so
 
-ONLY_FOR_ARCHS=	amd64 i386 powerpc64 powerpc64le
+ONLY_FOR_ARCHS=	aarch64 amd64 i386 powerpc64 powerpc64le
 
 PATCH_WRKSRC=	${WRKDIR}
 BUILD_WRKSRC=	${WRKDIR}/jogl/make
diff --git a/graphics/jogamp-jogl/files/patch-gluegen_make_build.xml b/graphics/jogamp-jogl/files/patch-gluegen_make_build.xml
index 6d91e8ace857..25d8edfb5465 100644
--- a/graphics/jogamp-jogl/files/patch-gluegen_make_build.xml
+++ b/graphics/jogamp-jogl/files/patch-gluegen_make_build.xml
@@ -1,6 +1,20 @@
 --- gluegen/make/build.xml.orig	2025-08-30 23:30:24 UTC
 +++ gluegen/make/build.xml
-@@ -435,10 +435,24 @@
+@@ -428,6 +428,13 @@
+       <property name="c.src.dir.os"                         value="unix" />
+     </target>
+ 
++    <target name="declare.freebsd.arm64" if="isFreeBSDARM64">
++      <echo message="FreeBSDARM64" />
++      <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd" />
++      <property name="linker.cfg.id"                        value="linker.cfg.freebsd.arm64" />
++      <property name="c.src.dir.os"                         value="unix" />
++    </target>
++
+     <target name="declare.freebsd.x86" if="isFreeBSDX86">
+       <echo message="FreeBSDX86" />
+       <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd" />
+@@ -435,10 +442,24 @@
        <property name="c.src.dir.os"                         value="unix" />
      </target>
  
@@ -19,14 +33,14 @@
 +      <property name="c.src.dir.os"                         value="unix" />
 +    </target>
 +
-+    <target name="declare.freebsd" depends="declare.freebsd.x86,declare.freebsd.amd64,declare.freebsd.ppc64,declare.freebsd.ppc64le" if="isFreeBSD" >
++    <target name="declare.freebsd" depends="declare.freebsd.x86,declare.freebsd.amd64,declare.freebsd.arm64,declare.freebsd.ppc64,declare.freebsd.ppc64le" if="isFreeBSD" >
 +      <property name="c.src.dir.os"                         value="unix" />
 +    </target>
 +
      <target name="declare.hpux" if="isHPUX">
        <echo message="HP-UX" />
        <property name="compiler.cfg.id"                      value="compiler.cfg.hpux" />
-@@ -457,7 +471,7 @@
+@@ -457,7 +478,7 @@
        <property name="c.compiler.src.files.common" value="src/native/common/*.c" />
        <property name="c.compiler.src.files.os" value="src/native/${c.src.dir.os}/*.c" />
  
@@ -35,7 +49,7 @@
        <property name="output.lib.name.os" value="${native.library.prefix}${output.lib.name}.${native.library.suffix}" />
  
        <uptodate property="gluegen.build.skip.native">
-@@ -680,7 +694,7 @@
+@@ -680,7 +701,7 @@
          <srcfiles dir= "${src.jcpp}"  includes="**"/>
          <srcfiles dir= "${c.grammar}" includes="*.g"/>
          <srcfiles dir= "${j.grammar}" includes="*.g"/>
@@ -44,7 +58,7 @@
        </uptodate>
        <uptodate property="gluegen.build.skip.java2">
          <srcfiles dir= "."            includes="*.xml"/>
-@@ -688,7 +702,7 @@
+@@ -688,7 +709,7 @@
          <srcfiles dir= "${src.jcpp}"  includes="**"/>
          <srcfiles dir= "${c.grammar}" includes="*.g"/>
          <srcfiles dir= "${j.grammar}" includes="*.g"/>
@@ -53,7 +67,7 @@
        </uptodate>
        <condition property="gluegen.build.skip.java" value="true">
          <or>
-@@ -868,7 +882,7 @@
+@@ -868,7 +889,7 @@
      </copy>
  
      <!-- Build gluegen.jar. -->
@@ -62,7 +76,7 @@
        <service type="javax.annotation.processing.Processor">
          <provider classname="com.jogamp.gluegen.structgen.CStructAnnotationProcessor"/>
        </service>
-@@ -921,7 +935,7 @@
+@@ -921,7 +942,7 @@
      </copy>
  
      <!-- Build gluegen-rt.jar. -->
diff --git a/graphics/jogamp-jogl/files/patch-gluegen_make_gluegen-cpptasks-base.xml b/graphics/jogamp-jogl/files/patch-gluegen_make_gluegen-cpptasks-base.xml
index 797eb4b65af0..01d6907534c4 100644
--- a/graphics/jogamp-jogl/files/patch-gluegen_make_gluegen-cpptasks-base.xml
+++ b/graphics/jogamp-jogl/files/patch-gluegen_make_gluegen-cpptasks-base.xml
@@ -1,9 +1,15 @@
 --- gluegen/make/gluegen-cpptasks-base.xml.orig	2025-08-30 23:30:24 UTC
 +++ gluegen/make/gluegen-cpptasks-base.xml
-@@ -334,6 +334,18 @@
+@@ -334,6 +334,24 @@
          <istrue value="${isAMD64}" />
        </and>
      </condition>
++    <condition property="isFreeBSDARM64">
++      <and>
++        <istrue value="${isFreeBSD}" />
++        <os arch="aarch64" />
++      </and>
++    </condition>
 +    <condition property="isFreeBSDPpc64">
 +      <and>
 +        <istrue value="${isFreeBSD}" />
@@ -19,37 +25,46 @@
      <condition property="isHPUX">
        <os name="HP-UX" />
      </condition>
-@@ -638,8 +650,16 @@
+@@ -638,8 +656,20 @@
      <property name="os.and.arch" value="freebsd-amd64" />
    </target>
  
 -  <target name="gluegen.cpptasks.detect.os.freebsd" depends="gluegen.cpptasks.detect.os.freebsd.amd64,gluegen.cpptasks.detect.os.freebsd.x86" unless="gluegen.cpptasks.detected.os.2" />
++  <target name="gluegen.cpptasks.detect.os.freebsd.arm64" unless="gluegen.cpptasks.detected.os.2" if="isFreeBSDARM64">
++    <property name="os.and.arch" value="freebsd-arm64" />
++  </target>
+ 
 +  <target name="gluegen.cpptasks.detect.os.freebsd.ppc64" unless="gluegen.cpptasks.detected.os.2" if="isFreeBSDPpc64">
 +    <property name="os.and.arch" value="freebsd-ppc64" />
 +  </target>
- 
++
 +  <target name="gluegen.cpptasks.detect.os.freebsd.ppc64le" unless="gluegen.cpptasks.detected.os.2" if="isFreeBSDPpc64le">
 +    <property name="os.and.arch" value="freebsd-ppc64le" />
 +  </target>
 +
-+  <target name="gluegen.cpptasks.detect.os.freebsd" depends="gluegen.cpptasks.detect.os.freebsd.amd64,gluegen.cpptasks.detect.os.freebsd.x86,gluegen.cpptasks.detect.os.freebsd.ppc64,gluegen.cpptasks.detect.os.freebsd.ppc64le" unless="gluegen.cpptasks.detected.os.2" />
++  <target name="gluegen.cpptasks.detect.os.freebsd" depends="gluegen.cpptasks.detect.os.freebsd.amd64,gluegen.cpptasks.detect.os.freebsd.arm64,gluegen.cpptasks.detect.os.freebsd.x86,gluegen.cpptasks.detect.os.freebsd.ppc64,gluegen.cpptasks.detect.os.freebsd.ppc64le" unless="gluegen.cpptasks.detected.os.2" />
 +
    <target name="gluegen.cpptasks.detect.os.hpux" unless="gluegen.cpptasks.detected.os.2" if="isHPUX">
      <property name="os.and.arch" value="hpux-hppa" />
    </target>
-@@ -854,6 +874,8 @@
+@@ -854,6 +884,9 @@
      <echo message="FreeBSD=${isFreeBSD}" />
      <echo message="FreeBSDX86=${isFreeBSDX86}" />
      <echo message="FreeBSDAMD64=${isFreeBSDAMD64}" />
++    <echo message="FreeBSDARM64=${isFreeBSDARM64}" />
 +    <echo message="FreeBSDPpc64=${isFreeBSDPpc64}" />
 +    <echo message="FreeBSDPpc64le=${isFreeBSDPpc64le}" />
      <echo message="HPUX=${isHPUX}" />
      <echo message="IA64=${isIA64}" />
      <echo message="Android=${isAndroid}" />
-@@ -1456,6 +1478,14 @@
+@@ -1456,6 +1489,18 @@
        <linkerarg value="-m64"/>
      </linker>
  
++    <linker id="linker.cfg.freebsd.arm64" name="${gcc.compat.compiler}">
++      <linkerarg value="-m64"/>
++    </linker>
++
 +    <linker id="linker.cfg.freebsd.ppc64" name="${gcc.compat.compiler}">
 +      <linkerarg value="-m64"/>
 +    </linker>
@@ -61,11 +76,18 @@
      <!-- SOLARIS linker configuration -->
  
      <linker id="linker.cfg.solaris" name="${gcc.compat.compiler}">
-@@ -1873,7 +1903,21 @@
+@@ -1873,7 +1918,28 @@
        <property name="java.lib.dir.platform"         value="${java.home.dir}/lib"/> <!-- new default -->
      </target>
  
 -    <target name="gluegen.cpptasks.declare.compiler.freebsd" depends="gluegen.cpptasks.declare.compiler.freebsd.x86,gluegen.cpptasks.declare.compiler.freebsd.amd64" if="isFreeBSD">
++    <target name="gluegen.cpptasks.declare.compiler.freebsd.arm64" if="isFreeBSDARM64">
++      <echo message="FreeBSD" />
++      <property name="compiler.cfg.id.base"          value="compiler.cfg.freebsd" />
++      <property name="linker.cfg.id.base"            value="linker.cfg.freebsd.arm64" />
++      <property name="java.lib.dir.platform"         value="${java.home.dir}/lib" />
++    </target>
++
 +    <target name="gluegen.cpptasks.declare.compiler.freebsd.ppc64" if="isFreeBSDPpc64">
 +      <echo message="FreeBSD" />
 +      <property name="compiler.cfg.id.base"          value="compiler.cfg.freebsd" />
@@ -80,7 +102,7 @@
 +      <property name="java.lib.dir.platform"         value="${java.home.dir}/jre/lib/ppc64le" />
 +    </target>
 +
-+    <target name="gluegen.cpptasks.declare.compiler.freebsd" depends="gluegen.cpptasks.declare.compiler.freebsd.x86,gluegen.cpptasks.declare.compiler.freebsd.amd64,gluegen.cpptasks.declare.compiler.freebsd.ppc64,gluegen.cpptasks.declare.compiler.freebsd.ppc64le" if="isFreeBSD">
++    <target name="gluegen.cpptasks.declare.compiler.freebsd" depends="gluegen.cpptasks.declare.compiler.freebsd.x86,gluegen.cpptasks.declare.compiler.freebsd.amd64,gluegen.cpptasks.declare.compiler.freebsd.arm64,gluegen.cpptasks.declare.compiler.freebsd.ppc64,gluegen.cpptasks.declare.compiler.freebsd.ppc64le" if="isFreeBSD">
        <property name="java.includes.dir.platform"    value="${java.includes.dir}/x11" />
      </target>
  
diff --git a/graphics/jogamp-jogl/files/patch-jogl_make_build-jogl.xml b/graphics/jogamp-jogl/files/patch-jogl_make_build-jogl.xml
index 2263f0775032..08a5ec25908d 100644
--- a/graphics/jogamp-jogl/files/patch-jogl_make_build-jogl.xml
+++ b/graphics/jogamp-jogl/files/patch-jogl_make_build-jogl.xml
@@ -19,10 +19,14 @@
          <syslibset dir="/usr/local/lib" libs="X11"/>
        </linker>
  
-@@ -1267,6 +1266,14 @@
+@@ -1267,6 +1266,18 @@
          <syslibset dir="/usr/local/lib" libs="X11"/>
        </linker>
  
++      <linker id="linker.cfg.freebsd.arm64.jogl.x11" extends="linker.cfg.freebsd.arm64">
++        <syslibset dir="/usr/local/lib" libs="X11"/>
++      </linker>
++
 +      <linker id="linker.cfg.freebsd.ppc64.jogl.x11" extends="linker.cfg.freebsd.ppc64">
 +        <syslibset dir="/usr/local/lib" libs="X11"/>
 +      </linker>
@@ -34,7 +38,7 @@
        <linker id="linker.cfg.linux.jogl.x11" extends="linker.cfg.linux">
          <syslibset libs="X11"/>
        </linker>
-@@ -1489,7 +1496,7 @@
+@@ -1489,7 +1500,7 @@
      <target name="c.configure.freebsd.x86" depends="c.configure.x11" if="isFreeBSDX86">
        <echo message="FreeBSD" />
        <property name="compiler.cfg.id"                     value="compiler.cfg.freebsd.jogl" />
@@ -43,11 +47,17 @@
      </target>
  
      <target name="c.configure.freebsd.amd64" depends="c.configure.x11" if="isFreeBSDAMD64">
-@@ -1498,7 +1505,19 @@
+@@ -1498,7 +1509,25 @@
        <property name="linker.cfg.id.os"                    value="linker.cfg.freebsd.amd64.jogl.x11" />
      </target>
  
 -    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.x11" if="isFreeBSD" />
++    <target name="c.configure.freebsd.arm64" depends="c.configure.x11" if="isFreeBSDARM64">
++      <echo message="FreeBSD" />
++      <property name="compiler.cfg.id"                     value="compiler.cfg.freebsd.jogl" />
++      <property name="linker.cfg.id.os"                    value="linker.cfg.freebsd.arm64.jogl.x11" />
++    </target>
++
 +    <target name="c.configure.freebsd.ppc64" depends="c.configure.x11" if="isFreeBSDPpc64">
 +      <echo message="FreeBSD" />
 +      <property name="compiler.cfg.id"                     value="compiler.cfg.freebsd.jogl" />
@@ -60,7 +70,7 @@
 +      <property name="linker.cfg.id.os"                    value="linker.cfg.freebsd.ppc64le.jogl.x11" />
 +    </target>
 +
-+    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.freebsd.ppc64,c.configure.x11,c.configure.freebsd.ppc64le" if="isFreeBSD" />
++    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.freebsd.arm64,c.configure.freebsd.ppc64,c.configure.x11,c.configure.freebsd.ppc64le" if="isFreeBSD" />
  
      <target name="c.configure.hpux" depends="c.configure.x11" if="isHPUX">
        <echo message="HP-UX" />
diff --git a/graphics/jogamp-jogl/files/patch-jogl_make_build-nativewindow.xml b/graphics/jogamp-jogl/files/patch-jogl_make_build-nativewindow.xml
index 63f11b808bcb..ba43c2d7e4e4 100644
--- a/graphics/jogamp-jogl/files/patch-jogl_make_build-nativewindow.xml
+++ b/graphics/jogamp-jogl/files/patch-jogl_make_build-nativewindow.xml
@@ -1,9 +1,15 @@
 --- jogl/make/build-nativewindow.xml.orig	2025-08-30 10:26:30 UTC
 +++ jogl/make/build-nativewindow.xml
-@@ -508,6 +508,18 @@
+@@ -508,6 +508,24 @@
          <syslibset dir="/usr/local/lib" libs="Xrender"/>
        </linker>
  
++      <linker id="linker.cfg.freebsd.arm64.nativewindow.x11" extends="linker.cfg.freebsd.arm64">
++        <syslibset dir="/usr/local/lib" libs="X11" />
++        <syslibset dir="/usr/local/lib" libs="Xxf86vm" />
++        <syslibset dir="/usr/local/lib" libs="Xrender"/>
++      </linker>
++
 +      <linker id="linker.cfg.freebsd.ppc64.nativewindow.x11" extends="linker.cfg.freebsd.ppc64">
 +        <syslibset dir="/usr/local/lib" libs="X11" />
 +        <syslibset dir="/usr/local/lib" libs="Xxf86vm" />
@@ -19,11 +25,17 @@
        <linker id="linker.cfg.linux.nativewindow.drm" extends="linker.cfg.linux">
          <syslibset libs="drm"/>
          <syslibset libs="gbm"/>
-@@ -783,7 +795,19 @@
+@@ -783,7 +801,25 @@
        <property name="linker.cfg.id.oswin"                  value="linker.cfg.freebsd.amd64.nativewindow.x11" />
      </target>
  
 -    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.x11" if="isFreeBSD" />
++    <target name="c.configure.freebsd.arm64" if="isFreeBSDARM64">
++      <echo message="FreeBSD.ARM64" />
++      <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd.nativewindow" />
++      <property name="linker.cfg.id.oswin"                  value="linker.cfg.freebsd.arm64.nativewindow.x11" />
++    </target>
++
 +    <target name="c.configure.freebsd.ppc64" if="isFreeBSDPpc64">
 +      <echo message="FreeBSD.Ppc64" />
 +      <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd.nativewindow" />
@@ -36,7 +48,7 @@
 +      <property name="linker.cfg.id.oswin"                  value="linker.cfg.freebsd.ppc64le.nativewindow.x11" />
 +    </target>
 +
-+    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.x11,c.configure.freebsd.ppc64,c.configure.freebsd.ppc64le" if="isFreeBSD" />
++    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.freebsd.arm64,c.configure.x11,c.configure.freebsd.ppc64,c.configure.freebsd.ppc64le" if="isFreeBSD" />
  
      <target name="c.configure.hpux" depends="c.configure.x11" if="isHPUX">
        <echo message="HP-UX" />
diff --git a/graphics/jogamp-jogl/files/patch-jogl_make_build-newt.xml b/graphics/jogamp-jogl/files/patch-jogl_make_build-newt.xml
index cb9819bf59a8..1ae8715dbd9c 100644
--- a/graphics/jogamp-jogl/files/patch-jogl_make_build-newt.xml
+++ b/graphics/jogamp-jogl/files/patch-jogl_make_build-newt.xml
@@ -9,10 +9,18 @@
          <linkerarg value="-L/usr/local/lib"/>
          <syslibset libs="X11"/>
          <syslibset libs="Xrandr"/>
-@@ -509,6 +509,20 @@
+@@ -509,6 +509,28 @@
          <syslibset libs="Xi"/>
        </linker>
  
++      <linker id="linker.cfg.freebsd.arm64.newt.x11" extends="linker.cfg.freebsd.arm64">
++        <linkerarg value="-L/usr/local/lib"/>
++        <syslibset libs="X11"/>
++        <syslibset libs="Xrandr"/>
++        <syslibset libs="Xcursor"/>
++        <syslibset libs="Xi"/>
++      </linker>
++
 +      <linker id="linker.cfg.freebsd.ppc64.newt.x11" extends="linker.cfg.freebsd.ppc64">
 +        <linkerarg value="-L/usr/local/lib"/>
 +        <syslibset libs="X11"/>
@@ -30,7 +38,7 @@
        <linker id="linker.cfg.linux.newt.bcm_egl" extends="linker.cfg.linux">
          <syslibset libs="EGL"/>
          <syslibset libs="GLES_CM"/>
-@@ -837,8 +851,8 @@
+@@ -837,8 +859,8 @@
      <target name="c.configure.freebsd.x86" if="isFreeBSDX86">
        <echo message="FreeBSD.x86" />
        <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd.newt" />
@@ -41,11 +49,21 @@
            <isset property="isX11" />
        </condition>
        <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" />
-@@ -854,7 +868,27 @@
+@@ -854,7 +876,37 @@
        <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" />
      </target>
  
 -    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.x11" if="isFreeBSD"/>
++    <target name="c.configure.freebsd.arm64" if="isFreeBSDARM64">
++      <echo message="FreeBSD.ARM64" />
++      <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd.newt" />
++      <condition property="linker.cfg.id.oswin"             value="linker.cfg.freebsd.arm64.newt.x11"
++                                                            else="linker.cfg.freebsd.arm64">
++          <isset property="isX11" />
++      </condition>
++      <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" />
++    </target>
++
 +    <target name="c.configure.freebsd.ppc64" if="isFreeBSDPpc64">
 +      <echo message="FreeBSD.Ppc64" />
 +      <property name="compiler.cfg.id"                      value="compiler.cfg.freebsd.newt" />
@@ -66,7 +84,7 @@
 +      <echo message="linker.cfg.id.oswin ${linker.cfg.id.oswin}" />
 +    </target>
 +
-+    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.freebsd.ppc64,c.configure.x11,c.configure.freebsd.ppc64le" if="isFreeBSD"/>
++    <target name="c.configure.freebsd" depends="c.configure.freebsd.x86,c.configure.freebsd.amd64,c.configure.freebsd.arm64,c.configure.freebsd.ppc64,c.configure.x11,c.configure.freebsd.ppc64le" if="isFreeBSD"/>
  
      <target name="c.configure.hpux" depends="c.configure.x11" if="isHPUX">
        <echo message="HP-UX" />
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.