dev-java/jna: Version bump.
authorPatrice Clement <monsieurp@gentoo.org>
Wed, 30 Sep 2015 23:05:53 +0000 (23:05 +0000)
committerPatrice Clement <monsieurp@gentoo.org>
Wed, 30 Sep 2015 23:05:53 +0000 (23:05 +0000)
Package-Manager: portage-2.2.18
Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
dev-java/jna/Manifest
dev-java/jna/jna-3.4.1.ebuild [new file with mode: 0644]

index f99a71650af09834d0fabb7c1dad2844e691f330..2125bdc7dc92d371337306f4e6ca47de3fbf7660 100644 (file)
@@ -1 +1,2 @@
 DIST jna-3.4.0.tar.gz 34547165 SHA256 bff8fb935044a1e5de611e576e30a08c263e6a26a9f4c631dbe3a0cac2d79f14 SHA512 30c4e6a3a5ac133095248d3eb7d4983a91e11a267a581268a91316927ac75c5a133a58625d321276ac0b229c42c502f85492672d99713c90de98a648bd008b35 WHIRLPOOL 0a5a9d35db0e0090375235048c985fd8bd9ccf319d03c1c3db33e81d3e1a1bec8718a48f6b8180c7531d3963ae91b5337f539eb69e3db73b3f87ea693706fe08
+DIST jna-3.4.1.tar.gz 35285043 SHA256 fb0ff552a11ddf18b82f1e3fbfe01985fb7a41e242124c63257bb685408ca16e SHA512 8164de9d213f670e6408627ec13fc128802351c2b906e1e1e95fd3280917ef1eba24d8b6b913a9df8034d20a5d46f6f823b5ee2d18b83248093a1855c89c5917 WHIRLPOOL 9c06862f76fbab7175f134a3f965d7d944ff536a03f03256307f8300b1fd1c9888c6e312bb74a80088128278efa9f8f7dfca668e4ebeacfff91bba3bc97951b0
diff --git a/dev-java/jna/jna-3.4.1.ebuild b/dev-java/jna/jna-3.4.1.ebuild
new file mode 100644 (file)
index 0000000..8ad9de7
--- /dev/null
@@ -0,0 +1,90 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+JAVA_PKG_IUSE="test doc source"
+WANT_ANT_TASKS="ant-nodeps"
+
+inherit java-pkg-2 java-ant-2 toolchain-funcs flag-o-matic vcs-snapshot
+
+DESCRIPTION="Java Native Access (JNA)"
+HOMEPAGE="https://github.com/twall/jna#readme"
+SRC_URI="https://github.com/twall/jna/tarball/${PV} -> ${P}.tar.gz"
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="+awt +nio-buffers"
+REQUIRED_USE="test? ( awt nio-buffers )"
+
+CDEPEND="
+       virtual/libffi"
+RDEPEND="${CDEPEND}
+       >=virtual/jre-1.6"
+DEPEND="${CDEPEND}
+       >=virtual/jdk-1.6
+       virtual/pkgconfig
+       test? (
+               dev-java/junit:0
+               dev-java/ant-junit:0
+               dev-java/ant-trax:0
+       )"
+
+JAVA_ANT_REWRITE_CLASSPATH="true"
+EANT_BUILD_TARGET="jar contrib-jars"
+
+java_prepare() {
+       # This jar is needed for some tests.
+       # So let's make a copy of it.
+       cp lib/clover.jar "${T}" || die
+
+       find -name "*.jar" -exec rm -v {} + || die
+       rm -r native/libffi || die
+       mkdir -p doc/javadoc || die
+
+       # and restore it.
+       cp "${T}"/clover.jar lib || die
+
+       # Build to same directory on 64-bit archs.
+       mkdir build || die
+       ln -snf build build-d64 || die
+
+       if ! use awt ; then
+               sed -i -E "s/^(CDEFINES=.*)/\1 -DNO_JAWT/g" native/Makefile || die
+       fi
+
+       if ! use nio-buffers ; then
+               sed -i -E "s/^(CDEFINES=.*)/\1 -DNO_NIO_BUFFERS/g" native/Makefile || die
+       fi
+}
+
+EANT_EXTRA_ARGS="-Ddynlink.native=true"
+
+EANT_TEST_ANT_TASKS="ant-junit ant-nodeps ant-trax"
+src_test() {
+       local sysprops=""
+
+       # crashes vm (segfault)
+       sed -i -e 's|testRegisterMethods|no&|' test/com/sun/jna/DirectTest.java || die
+
+       # crashes vm, java 7 only (icedtea-7,  oracle-jdk-bin-1.7)
+       sed -i -e 's|testGCCallbackOnFinalize|no&|' test/com/sun/jna/CallbacksTest.java || die
+
+       sysprops+=" -Djava.awt.headless=true"
+       sysprops+=" -Djava.io.tmpdir=${T}" #to ensure exec mount
+
+       mkdir -p lib || die
+       java-pkg_jar-from --into lib --build-only junit
+
+       # need to use _JAVA_OPTIONS or add them to the build.xml. ANT_OPTS won't
+       # survive the junit task.
+       _JAVA_OPTIONS="${sysprops}" java-pkg-2_src_test
+}
+
+src_install() {
+       java-pkg_dojar build/${PN}.jar
+       java-pkg_dojar contrib/platform/dist/platform.jar
+       java-pkg_doso build/native/libjnidispatch.so
+       use source && java-pkg_dosrc src/com
+       use doc && java-pkg_dojavadoc doc/javadoc
+}