git: 465f21e7c5fe - main - java/javacpp: Bridge between Java and C++
Date: Tue, 17 Mar 2026 14:33:24 UTC
The branch main has been updated by arrowd:
URL: https://cgit.FreeBSD.org/ports/commit/?id=465f21e7c5fe863724c8f505f3c9bfb4cfbeecd1
commit 465f21e7c5fe863724c8f505f3c9bfb4cfbeecd1
Author: Markus Graf <markus.graf@markusgraf.net>
AuthorDate: 2026-03-03 14:19:46 +0000
Commit: Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2026-03-17 14:29:37 +0000
java/javacpp: Bridge between Java and C++
Pull Request: https://github.com/freebsd/freebsd-ports/pull/498
---
java/Makefile | 1 +
java/javacpp/Makefile | 45 +++++++++++++++++++++++++++++++++++++++++++++
java/javacpp/distinfo | 5 +++++
java/javacpp/pkg-descr | 4 ++++
4 files changed, 55 insertions(+)
diff --git a/java/Makefile b/java/Makefile
index 66471c6e0a79..99a5095f4bf2 100644
--- a/java/Makefile
+++ b/java/Makefile
@@ -46,6 +46,7 @@
SUBDIR += java-subversion
SUBDIR += java-zoneinfo
SUBDIR += java3d
+ SUBDIR += javacpp
SUBDIR += javahelp
SUBDIR += javamail
SUBDIR += javavmwrapper
diff --git a/java/javacpp/Makefile b/java/javacpp/Makefile
new file mode 100644
index 000000000000..80c1153760a2
--- /dev/null
+++ b/java/javacpp/Makefile
@@ -0,0 +1,45 @@
+PORTNAME= javacpp
+DISTVERSION= 1.5.13
+CATEGORIES= java devel
+MASTER_SITES= https://repo1.maven.org/maven2/org/bytedeco/${PORTNAME}/${DISTVERSION}/
+DISTFILES= ${DISTNAME}.jar
+EXTRACT_ONLY=
+
+MAINTAINER= markus.graf@markusgraf.net
+COMMENT= Java-C++ bridge generator
+WWW= https://github.com/bytedeco/javacpp
+
+LICENSE= APACHE20
+
+ONLY_FOR_ARCHS= amd64
+ONLY_FOR_ARCHS_REASON= Needs upstream patch per arch
+
+TEST_DEPENDS= ${JAVALIBDIR}/junit.jar:java/junit \
+ ${JAVALIBDIR}/hamcrest.jar:java/hamcrest \
+ mvn:devel/maven
+
+USES= java
+
+USE_GITHUB= nodefault
+GH_ACCOUNT= bytedeco:test
+GH_PROJECT= ${PORTNAME}:test
+
+JAVA_VERSION= 21
+
+NO_BUILD= yes
+
+PLIST_FILES= ${JAVAJARDIR}/${PORTNAME}-${DISTVERSION}.jar \
+ ${JAVAJARDIR}/${PORTNAME}.jar
+
+TESTING_UNSAFE= Requires network access
+
+do-install:
+ ${INSTALL_DATA} -v ${DISTDIR}/${DISTNAME}.jar ${STAGEDIR}/${JAVAJARDIR}/
+ ${LN} -vsf ${DISTNAME}.jar ${STAGEDIR}/${JAVAJARDIR}/${PORTNAME}.jar
+
+do-test:
+# Only extract for test, not on build servers
+ ${TAR} xf ${DISTDIR}/${DISTFILES:[2]:C/:.*//} -C ${WRKDIR}
+ cd ${WRKSRC} && mvn test
+
+.include <bsd.port.mk>
diff --git a/java/javacpp/distinfo b/java/javacpp/distinfo
new file mode 100644
index 000000000000..e4dbfe92cafd
--- /dev/null
+++ b/java/javacpp/distinfo
@@ -0,0 +1,5 @@
+TIMESTAMP = 1773334874
+SHA256 (javacpp-1.5.13.jar) = 077f27d663cc928adce43e912a90ec06f97f92f120ca02d414735ae0fb1c743c
+SIZE (javacpp-1.5.13.jar) = 526511
+SHA256 (bytedeco-javacpp-1.5.13_GH0.tar.gz) = 4d34c137af6158d69d4b24c65370d34cf9166130b8172c9d7fa5130e6a3105a3
+SIZE (bytedeco-javacpp-1.5.13_GH0.tar.gz) = 300523
diff --git a/java/javacpp/pkg-descr b/java/javacpp/pkg-descr
new file mode 100644
index 000000000000..002007a0e884
--- /dev/null
+++ b/java/javacpp/pkg-descr
@@ -0,0 +1,4 @@
+JavaCPP provides efficient access to native C++ inside Java, not unlike the way
+some C/C++ compilers interact with assembly language. No need to invent new
+languages. Instead, similar to what cppyy strives to do for Python, it exploits
+the syntactic and semantic similarities between Java and C++.