diff --git a/devel/jna/Makefile b/devel/jna/Makefile
index abcb0ced723f..93aeb74571d0 100644
--- a/devel/jna/Makefile
+++ b/devel/jna/Makefile
@@ -1,41 +1,40 @@
PORTNAME= jna
-PORTVERSION= 5.7.0
-PORTREVISION= 1
+PORTVERSION= 5.15.0
CATEGORIES= devel java
MAINTAINER= ports@markdixon.name
COMMENT= Java access to native shared libraries
-WWW= https://github.com/twall/jna
+WWW= https://github.com/java-native-access/jna
-LICENSE= LGPL21+ APACHE20
+LICENSE= APACHE20 LGPL21+
LICENSE_COMB= dual
-LICENSE_FILE= ${WRKSRC}/LICENSE
-LICENSE_FILE_LGPL21+ = ${WRKSRC}/LGPL2.1
LICENSE_FILE_APACHE20= ${WRKSRC}/AL2.0
+LICENSE_FILE_LGPL21+ = ${WRKSRC}/LGPL2.1
+LICENSE_FILE= ${WRKSRC}/LICENSE
-BROKEN_armv6= fails to compile: build.xml: compilation failed
-BROKEN_armv7= fails to compile: build.xml: compilation failed
+BROKEN_armv6= fails to compile: build.xml: compilation failed
+BROKEN_armv7= fails to compile: build.xml: compilation failed
BUILD_DEPENDS= makeinfo:print/texinfo
USES= autoreconf:build gmake libtool xorg
USE_ANT= yes
+USE_GITHUB= yes
+GH_ACCOUNT= java-native-access
+GH_TAGNAME= 0a33062e1971962ca6b283c397ed1de5cc053d33
USE_JAVA= yes
JAVA_VERSION= 8+
USE_XORG= x11 xt
-MAKE_ARGS= -DCC="${CC}" -DLD="${LD}"
-MAKE_ENV= ANT_OPTS=-Drelease -DARCH=${ANT_ARCH}
-
-USE_GITHUB= yes
-GH_ACCOUNT= java-native-access
-
-PORTDOCS= javadoc platform-${PORTVERSION}-javadoc.jar
-PLIST_FILES= %%JAVAJARDIR%%/jna-platform.jar \
- %%JAVAJARDIR%%/jna.jar
-
+MAKE_ARGS= -DCC="${CC}" \
+ -DLD="${LD}"
+MAKE_ENV= ANT_OPTS="-Drelease -DARCH=${ANT_ARCH}"
ALL_TARGET= native jar
TEST_TARGET= test
+PLIST_FILES= %%JAVAJARDIR%%/jna-platform.jar \
+ %%JAVAJARDIR%%/jna.jar
+PORTDOCS= javadoc platform-${PORTVERSION}-javadoc.jar
+
OPTIONS_DEFINE= DOCS
ANT_ARCH= ${ARCH:S/amd64/x86-64/:S/i386/x86/:S/powerpc64/ppc64/}
diff --git a/devel/jna/distinfo b/devel/jna/distinfo
index ac6a48560a4d..248305e6e0f8 100644
--- a/devel/jna/distinfo
+++ b/devel/jna/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1615036692
-SHA256 (java-native-access-jna-5.7.0_GH0.tar.gz) = cebdbb0894f011dbb5dd4288ea9cd0553aac3e0f7e8a617a59548432f1161254
-SIZE (java-native-access-jna-5.7.0_GH0.tar.gz) = 104929411
+TIMESTAMP = 1712524364
+SHA256 (java-native-access-jna-5.15.0-0a33062e1971962ca6b283c397ed1de5cc053d33_GH0.tar.gz) = 62b56a76574ab94705f50051b96ff16c0db18bd19e0c106bc6b2141437604a8d
+SIZE (java-native-access-jna-5.15.0-0a33062e1971962ca6b283c397ed1de5cc053d33_GH0.tar.gz) = 116285127
diff --git a/devel/jna/files/patch-build.xml b/devel/jna/files/patch-build.xml
index 26b41ff0ae44..555d5f384dbc 100644
--- a/devel/jna/files/patch-build.xml
+++ b/devel/jna/files/patch-build.xml
@@ -1,19 +1,19 @@
---- build.xml.orig 2016-03-16 14:37:28 UTC
+--- build.xml.orig 2024-03-29 21:57:29 UTC
+++ build.xml
-@@ -99,7 +99,7 @@
-
-
-
+@@ -54,7 +54,7 @@
+
+
+
-
+
-@@ -1084,7 +1084,6 @@ osname=macosx;processor=x86;processor=x8
+@@ -1324,7 +1324,6 @@ cd ..
JNA API Documentation
${footer}
--
+-
diff --git a/devel/jna/files/patch-native_Makefile b/devel/jna/files/patch-native_Makefile
index 4f1fa46eb3cd..19fe822ea0e6 100644
--- a/devel/jna/files/patch-native_Makefile
+++ b/devel/jna/files/patch-native_Makefile
@@ -1,6 +1,6 @@
---- native/Makefile.orig 2021-02-08 18:49:25.000000000 +0000
-+++ native/Makefile 2021-03-06 13:25:34.083392000 +0000
-@@ -39,6 +39,8 @@
+--- native/Makefile.orig 2024-03-29 21:57:29 UTC
++++ native/Makefile
+@@ -41,6 +41,8 @@
# protection simply by defining HAVE_PROTECTION. This option has been only
# been enabled for those platforms on which it has been tested successfully.
@@ -9,12 +9,13 @@
OS=$(shell uname | sed -e 's/CYGWIN.*/win32/g' \
-e 's/MINGW32.*/win32/g' \
-e 's/SunOS.*/solaris/g' \
-@@ -291,8 +293,11 @@
- ifneq (,$(findstring bsd,$(OS)))
- ARCH=$(shell uname -m | sed 's/i.86/i386/g')
- PCFLAGS+=-fPIC
--CINCLUDES+=-I/usr/X11R6/include
-+CINCLUDES+=-I%%LOCALBASE%%/include
+@@ -297,9 +299,12 @@ PCFLAGS+=-fPIC
+ # This is a mess: X11 headers locate in /usr/local/include on FreeBSD and
+ # DragonFly, in /usr/X11R7/include on NetBSD, and in /usr/X11R6/include on
+ # OpenBSD.
+-CINCLUDES+=-I/usr/local/include -I/usr/X11R7/include -I/usr/X11R6/include
++CINCLUDES+=-I%%LOCALBASE%%/include -I/usr/X11R7/include -I/usr/X11R6/include
+ CINCLUDES+=$(X11INC) # Allow extra X11 include path if necessary.
LDFLAGS=-o $@ -shared
+ifeq ($(ARCH),i386)
+LDFLAGS+=-Wl,-z,notext
@@ -22,7 +23,7 @@
CDEFINES+=-DHAVE_PROTECTION -DFFI_MMAP_EXEC_WRIT -DUSE_DEAFULT_LIBNAME_ENCODING
endif
-@@ -356,11 +361,11 @@
+@@ -363,11 +368,11 @@ ifeq ($(CC),gcc)
GCC_MAJOR_VERSION = $(shell gcc -dumpversion | cut -f 1 -d '.')
ifneq ($(GCC_MAJOR_VERSION),4)
ifneq ($(GCC_MAJOR_VERSION),3)