aboutsummaryrefslogtreecommitdiff
path: root/devel/jna
diff options
context:
space:
mode:
authorJimmy Olgeni <olgeni@FreeBSD.org>2010-10-03 10:05:15 +0000
committerJimmy Olgeni <olgeni@FreeBSD.org>2010-10-03 10:05:15 +0000
commitafa1d069aec8a2dc558820db602fa2746cb47666 (patch)
treeafe44585c4b42e9c585d038a85ddc0d37bca89f7 /devel/jna
parent8296dc8ea4e3f1133b3dd3160c20278bf3126b08 (diff)
downloadports-afa1d069aec8a2dc558820db602fa2746cb47666.tar.gz
ports-afa1d069aec8a2dc558820db602fa2746cb47666.zip
Add JNA, which provides Java programs easy access to native shared
libraries without writing anything but Java code.
Notes
Notes: svn path=/head/; revision=262342
Diffstat (limited to 'devel/jna')
-rw-r--r--devel/jna/Makefile44
-rw-r--r--devel/jna/distinfo6
-rw-r--r--devel/jna/files/patch-build.xml24
-rw-r--r--devel/jna/pkg-descr12
4 files changed, 86 insertions, 0 deletions
diff --git a/devel/jna/Makefile b/devel/jna/Makefile
new file mode 100644
index 000000000000..0870aaed6578
--- /dev/null
+++ b/devel/jna/Makefile
@@ -0,0 +1,44 @@
+# New ports collection makefile for: jna
+# Date created: 2010-10-01
+# Whom: Jimmy Olgeni <olgeni@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= jna
+PORTVERSION= 3.2.7
+CATEGORIES= devel java
+MASTER_SITES= LOCAL/olgeni
+DISTFILES= ${PORTNAME}-${PORTVERSION}${EXTRACT_SUFX} \
+ ${PORTNAME}-${PORTVERSION}-doc${EXTRACT_SUFX}
+
+MAINTAINER= olgeni@FreeBSD.org
+COMMENT= Java access to native shared libraries
+
+USE_ANT= yes
+USE_JAVA= 1.4+
+USE_ZIP= yes
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
+DOCSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}-doc
+
+PLIST_FILES= %%JAVAJARDIR%%/jna-freebsd-i386.jar \
+ %%JAVAJARDIR%%/jna.jar
+
+.if !defined(NOPORTDOCS)
+PORTDOCS= javadoc platform
+.endif
+
+post-patch:
+ @${CHMOD} 755 ${WRKSRC}/native/libffi/configure
+
+do-install:
+ @${INSTALL_DATA} ${WRKSRC}/build/freebsd-i386.jar ${JAVAJARDIR}/jna-freebsd-i386.jar
+ @${INSTALL_DATA} ${WRKSRC}/build/jna.jar ${JAVAJARDIR}/jna.jar
+.if !defined(NOPORTDOCS)
+ @${MKDIR} ${DOCSDIR}
+ @cd ${DOCSRC} && ${COPYTREE_SHARE} javadoc ${DOCSDIR}
+ @cd ${DOCSRC} && ${COPYTREE_SHARE} platform ${DOCSDIR}
+.endif
+
+.include <bsd.port.mk>
diff --git a/devel/jna/distinfo b/devel/jna/distinfo
new file mode 100644
index 000000000000..0a78d92334ec
--- /dev/null
+++ b/devel/jna/distinfo
@@ -0,0 +1,6 @@
+MD5 (jna-3.2.7.zip) = 36b3ba3a8c8e54c7a2b74989a3687394
+SHA256 (jna-3.2.7.zip) = 5fdc80c353b22f04edc1424ac984c521dd3bcbf34037274b84320b0991b3e451
+SIZE (jna-3.2.7.zip) = 11556502
+MD5 (jna-3.2.7-doc.zip) = bf6a99a0a8fb4d4726993fde4df9d72c
+SHA256 (jna-3.2.7-doc.zip) = 48bc9de316b02b9142b894a36e2eda464deef6c81b386734bba9002b96db4ef9
+SIZE (jna-3.2.7-doc.zip) = 2295661
diff --git a/devel/jna/files/patch-build.xml b/devel/jna/files/patch-build.xml
new file mode 100644
index 000000000000..596ec4d26bd1
--- /dev/null
+++ b/devel/jna/files/patch-build.xml
@@ -0,0 +1,24 @@
+
+$FreeBSD$
+
+--- build.xml.orig
++++ build.xml
+@@ -58,7 +58,7 @@
+ <!-- Miscellaneous -->
+ <property name="build.compiler.emacs" value="true"/>
+
+- <target name="default" depends="test" description="Build and Test."/>
++ <target name="default" depends="jar,contrib-jars" description="Build and Test."/>
+
+ <!-- uncomment for netbeans profiling -->
+ <!--<import file="nbproject/profiler-build-impl.xml"/>-->
+@@ -437,9 +437,6 @@
+ <jar jarfile="${build}/jws/jnidispatch.jar">
+ <fileset dir="${build.native}" includes="*jnidispatch.*"/>
+ </jar>
+- <signjar alias="jna" keystore="jna.keystore" storepass="jnadev" lazy="true">
+- <fileset dir="${build}/jws" includes="jna.jar,jna-test.jar,junit.jar,jnidispatch.jar,clover.jar"/>
+- </signjar>
+ </target>
+
+ <!-- When running tests from an IDE, be sure to set jna.library.path -->
diff --git a/devel/jna/pkg-descr b/devel/jna/pkg-descr
new file mode 100644
index 000000000000..a178eab25f50
--- /dev/null
+++ b/devel/jna/pkg-descr
@@ -0,0 +1,12 @@
+JNA provides Java programs easy access to native shared libraries
+without writing anything but Java code - no JNI or native code is
+required. This functionality is comparable to Windows' Platform/Invoke
+and Python's ctypes. Access is dynamic at runtime without code
+generation.
+
+JNA allows you to call directly into native functions using natural
+Java method invocation. The Java call looks just like it does in
+native code. Most calls require no special handling or configuration;
+no boilerplate or generated code is required.
+
+WWW: https://jna.dev.java.net/