summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-java/jnr-ffi
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-java/jnr-ffi')
-rw-r--r--dev-java/jnr-ffi/Manifest5
-rw-r--r--dev-java/jnr-ffi/files/jnr-ffi-0.7.11-flags.patch18
-rw-r--r--dev-java/jnr-ffi/files/jnr-ffi-1.0.6-junit48.patch11
-rw-r--r--dev-java/jnr-ffi/files/jnr-ffi-2.0.2-junit48.patch11
-rw-r--r--dev-java/jnr-ffi/files/jnr-ffi_maven-build.xml250
-rw-r--r--dev-java/jnr-ffi/jnr-ffi-0.5.10.ebuild69
-rw-r--r--dev-java/jnr-ffi/jnr-ffi-0.6.0.ebuild65
-rw-r--r--dev-java/jnr-ffi/jnr-ffi-0.7.11-r1.ebuild65
-rw-r--r--dev-java/jnr-ffi/jnr-ffi-1.0.10.ebuild61
-rw-r--r--dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild61
-rw-r--r--dev-java/jnr-ffi/metadata.xml10
11 files changed, 626 insertions, 0 deletions
diff --git a/dev-java/jnr-ffi/Manifest b/dev-java/jnr-ffi/Manifest
new file mode 100644
index 000000000000..e3a0316ac28a
--- /dev/null
+++ b/dev-java/jnr-ffi/Manifest
@@ -0,0 +1,5 @@
+DIST jnr-ffi-0.5.10.tar.gz 559174 SHA256 6d13ae0ca2a63bcee0fcdb81263d676925658b0b466769e893279b453b636c9a SHA512 dc1eff430ab87dcecb798466088cc81fd92d5c44dfe473673635c3dfd7ad7e3e416d2086377b5b93b134902e7e6c3a736ef235f17a358a5a7f541dbaea41b2e5 WHIRLPOOL cef64a4e2db33262c4864b03c95303394c937682ceb9f9fad821932099c1f6e4eb6de36ae655c564aebf69bd4a99a1753839e49396b1adf1c9399bd8a16ef53f
+DIST jnr-ffi-0.6.0.tar.gz 97712 SHA256 91f7a1c21020892332849b9edc5ab7ad98dd7fabe03756fe0a48189ab796a24a SHA512 ea5997de1201c4d326ecd4753ed2ac11ba288d029508891a38e8a8ee8929b3622865057f9276373585414f88b48389ef607fd00474998ca4ce372a2cfc1e9170 WHIRLPOOL b205ecbce04e65981dc890fc0494dac01f5d47090535a336efc980f8877b64ceaf930fd157dd0a5de97987da61a0bbdb4b9cdfce9547d000f4f7c299d7167d60
+DIST jnr-ffi-0.7.11.tar.gz 131566 SHA256 a7045b072762e0905161a7792f60ed66798f298d589ee87262bf1cd75af447b5 SHA512 ddfacafbb5c7764692ef40db082bccb7a635916db9c5ff90ba0720a141e4b61072baaf4b4f5b985ef74fc5e8cb59753b93f7ffddb6f89c8a8ebcd0067ee0178b WHIRLPOOL 41d3308df161db08708fd05b12d9b3c49aba884523c0f19d4eb4531edf4c54316f12255f72a2d45e5ed720a619b2df024c06c7bf96fd252184344af3f8887db0
+DIST jnr-ffi-1.0.10.tar.gz 169196 SHA256 8d37e264705551a0f6b0283046dcc1264b311925874d7f674a6abc1f1f85775b SHA512 a46899e6a71c6fc5ad8586eae8dd718998de1ab30fe7c4b396a6291a54a63057c229c86c195c59e790bff13daa628adcb0caaacb05b1d58683e493fd6aa7fc3b WHIRLPOOL 467b1730a6e6ad494a00063c85bd90c34019df8730ce3a74b60d635f6f574ca0542fa3e2769beb1cecbe0feba2356662f0a2f35021ae425be52cdf1e63d73a1c
+DIST jnr-ffi-2.0.2.tar.gz 170707 SHA256 a79772f3c46cd5afaf272752bc9a8292c8fd53c8302f8dc825a3cf2444ee2ab8 SHA512 80a932408f5ceaf19fd7a399b786aa0d7b9251ea144bc2755bcf3cdc3aea85615a1faa001bbcd3072bc0eead2aaa30d0bbead5f96c82c4b9e455c1ed1379b4c0 WHIRLPOOL cdd7b4b27dd2018747d0a669f7237f30def64bbde18486e81ac99c538a8d0c4679237c2402f955cbada773558a54492cfdc9f0a127d3de4007472339215891e8
diff --git a/dev-java/jnr-ffi/files/jnr-ffi-0.7.11-flags.patch b/dev-java/jnr-ffi/files/jnr-ffi-0.7.11-flags.patch
new file mode 100644
index 000000000000..f47e8d259b15
--- /dev/null
+++ b/dev-java/jnr-ffi/files/jnr-ffi-0.7.11-flags.patch
@@ -0,0 +1,18 @@
+diff --git a/jnr-ffi-0.7.11/libtest/GNUmakefile b/jnr-ffi-0.7.11/libtest/GNUmakefile
+index 1906219..c9a9c11 100644
+--- a/jnr-ffi-0.7.11/libtest/GNUmakefile
++++ b/jnr-ffi-0.7.11/libtest/GNUmakefile
+@@ -37,10 +37,10 @@ TEST_OBJS := $(patsubst $(SRC_DIR)/%.c, $(TEST_BUILD_DIR)/%.o, $(TEST_SRCS))
+ # Compiler/linker flags from:
+ # http://weblogs.java.net/blog/kellyohair/archive/2006/01/compilation_of_1.html
+ JFLAGS = -fno-omit-frame-pointer -fno-strict-aliasing
+-OFLAGS = -O2 $(JFLAGS)
+-WFLAGS = -W -Werror -Wall -Wno-unused -Wno-parentheses
++OFLAGS = $(JFLAGS)
++WFLAGS = -W -Wall -Wno-unused -Wno-parentheses
+ PICFLAGS = -fPIC
+-SOFLAGS = -shared -Wl,-O1
++SOFLAGS = -shared
+ LDFLAGS += $(SOFLAGS)
+
+ IFLAGS = -I"$(BUILD_DIR)"
diff --git a/dev-java/jnr-ffi/files/jnr-ffi-1.0.6-junit48.patch b/dev-java/jnr-ffi/files/jnr-ffi-1.0.6-junit48.patch
new file mode 100644
index 000000000000..92b4cb2bcfc3
--- /dev/null
+++ b/dev-java/jnr-ffi/files/jnr-ffi-1.0.6-junit48.patch
@@ -0,0 +1,11 @@
+--- a/src/test/java/jnr/ffi/ObjectReferenceManagerTest.java
++++ b/src/test/java/jnr/ffi/ObjectReferenceManagerTest.java
+@@ -35,7 +35,7 @@
+ Pointer ptr = referenceManager.add(bar);
+ Pointer ptr2 = referenceManager.add(bar2);
+ assertNotSame(ptr, ptr2);
+- assertNotEquals(ptr, ptr2);
++ assertTrue(!ptr.equals(ptr2));
+ assertSame(bar, referenceManager.get(ptr));
+ assertSame(bar2, referenceManager.get(ptr2));
+ }
diff --git a/dev-java/jnr-ffi/files/jnr-ffi-2.0.2-junit48.patch b/dev-java/jnr-ffi/files/jnr-ffi-2.0.2-junit48.patch
new file mode 100644
index 000000000000..92b4cb2bcfc3
--- /dev/null
+++ b/dev-java/jnr-ffi/files/jnr-ffi-2.0.2-junit48.patch
@@ -0,0 +1,11 @@
+--- a/src/test/java/jnr/ffi/ObjectReferenceManagerTest.java
++++ b/src/test/java/jnr/ffi/ObjectReferenceManagerTest.java
+@@ -35,7 +35,7 @@
+ Pointer ptr = referenceManager.add(bar);
+ Pointer ptr2 = referenceManager.add(bar2);
+ assertNotSame(ptr, ptr2);
+- assertNotEquals(ptr, ptr2);
++ assertTrue(!ptr.equals(ptr2));
+ assertSame(bar, referenceManager.get(ptr));
+ assertSame(bar2, referenceManager.get(ptr2));
+ }
diff --git a/dev-java/jnr-ffi/files/jnr-ffi_maven-build.xml b/dev-java/jnr-ffi/files/jnr-ffi_maven-build.xml
new file mode 100644
index 000000000000..0337f347bec0
--- /dev/null
+++ b/dev-java/jnr-ffi/files/jnr-ffi_maven-build.xml
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- ====================================================================== -->
+<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above. -->
+<!-- ====================================================================== -->
+
+<!-- ====================================================================== -->
+<!-- ===================== - DO NOT EDIT THIS FILE! - ===================== -->
+<!-- ====================================================================== -->
+<!-- -->
+<!-- Any modifications will be overwritten. -->
+<!-- -->
+<!-- Generated by Maven Ant Plugin on 1/9/12 11:18 AM -->
+<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<project name="jnr-ffi-from-maven" default="package" basedir=".">
+
+ <!-- ====================================================================== -->
+ <!-- Build environment properties -->
+ <!-- ====================================================================== -->
+
+ <property file="${user.home}/.m2/maven.properties"/>
+ <property file="maven-build.properties"/>
+
+ <property name="maven.build.finalName" value="jnr-ffi-0.6.0"/>
+ <property name="maven.build.dir" value="target"/>
+ <property name="maven.build.outputDir" value="${maven.build.dir}/classes"/>
+ <property name="maven.build.srcDir.0" value="src/main/java"/>
+ <property name="maven.build.resourceDir.0" value="src/main/resources"/>
+ <property name="maven.build.testOutputDir" value="${maven.build.dir}/test-classes"/>
+ <property name="maven.build.testDir.0" value="src/test/java"/>
+ <property name="maven.build.testResourceDir.0" value="src/test/resources"/>
+ <property name="maven.test.reports" value="${maven.build.dir}/test-reports"/>
+ <property name="maven.reporting.outputDirectory" value="${maven.build.dir}/site"/>
+
+ <property name="maven.repo.local" value="${user.home}/.m2/repository"/>
+ <property name="maven.settings.offline" value="false"/>
+ <property name="maven.settings.interactiveMode" value="true"/>
+
+ <!-- ====================================================================== -->
+ <!-- Defining classpaths -->
+ <!-- ====================================================================== -->
+
+ <path id="build.classpath">
+ <pathelement location="${maven.repo.local}/com/github/jnr/jffi/1.0.11/jffi-1.0.11.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm/3.2/asm-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-commons/3.2/asm-commons-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-analysis/3.2/asm-analysis-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-tree/3.2/asm-tree-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-util/3.2/asm-util-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/com/github/jnr/jnr-x86asm/1.0.1/jnr-x86asm-1.0.1.jar"/>
+ </path>
+ <path id="build.test.classpath">
+ <pathelement location="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar"/>
+ <pathelement location="${maven.repo.local}/com/github/jnr/jffi/1.0.11/jffi-1.0.11.jar"/>
+ <pathelement location="${maven.repo.local}/com/github/jnr/jffi/1.0.11/jffi-1.0.11-native.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm/3.2/asm-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-commons/3.2/asm-commons-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-analysis/3.2/asm-analysis-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-tree/3.2/asm-tree-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/asm/asm-util/3.2/asm-util-3.2.jar"/>
+ <pathelement location="${maven.repo.local}/com/github/jnr/jnr-x86asm/1.0.1/jnr-x86asm-1.0.1.jar"/>
+ </path>
+
+ <!-- ====================================================================== -->
+ <!-- Cleaning up target -->
+ <!-- ====================================================================== -->
+
+ <target name="clean" description="Clean the output directory">
+ <delete dir="${maven.build.dir}"/>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Compilation target -->
+ <!-- ====================================================================== -->
+
+ <target name="compile" depends="get-deps" description="Compile the code">
+ <mkdir dir="${maven.build.outputDir}"/>
+ <javac destdir="${maven.build.outputDir}"
+ nowarn="false"
+ debug="true"
+ optimize="false"
+ deprecation="true"
+ target="1.1"
+ verbose="false"
+ fork="false"
+ source="1.3">
+ <src>
+ <pathelement location="${maven.build.srcDir.0}"/>
+ </src>
+ <classpath refid="build.classpath"/>
+ </javac>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Test-compilation target -->
+ <!-- ====================================================================== -->
+
+ <target name="compile-tests"
+ depends="compile"
+ description="Compile the test code"
+ unless="maven.test.skip">
+ <mkdir dir="${maven.build.testOutputDir}"/>
+ <javac destdir="${maven.build.testOutputDir}"
+ nowarn="false"
+ debug="true"
+ optimize="false"
+ deprecation="true"
+ target="1.1"
+ verbose="false"
+ fork="false"
+ source="1.3">
+ <src>
+ <pathelement location="${maven.build.testDir.0}"/>
+ </src>
+ <classpath>
+ <path refid="build.test.classpath"/>
+ <pathelement location="${maven.build.outputDir}"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Run all tests -->
+ <!-- ====================================================================== -->
+
+ <target name="test"
+ depends="compile-tests, junit-missing"
+ unless="junit.skipped"
+ description="Run the test cases">
+ <mkdir dir="${maven.test.reports}"/>
+ <junit printSummary="yes" haltonerror="true" haltonfailure="true" fork="true" dir=".">
+ <sysproperty key="basedir" value="."/>
+ <formatter type="xml"/>
+ <formatter type="plain" usefile="false"/>
+ <classpath>
+ <path refid="build.test.classpath"/>
+ <pathelement location="${maven.build.outputDir}"/>
+ <pathelement location="${maven.build.testOutputDir}"/>
+ </classpath>
+ <batchtest todir="${maven.test.reports}" unless="test">
+ <fileset dir="${maven.build.testDir.0}">
+ <include name="**/Test*.java"/>
+ <include name="**/*Test.java"/>
+ <include name="**/*TestCase.java"/>
+ <exclude name="**/*Abstract*Test.java"/>
+ </fileset>
+ </batchtest>
+ <batchtest todir="${maven.test.reports}" if="test">
+ <fileset dir="${maven.build.testDir.0}">
+ <include name="**/${test}.java"/>
+ <exclude name="**/*Abstract*Test.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+
+ <target name="test-junit-present">
+ <available classname="junit.framework.Test" property="junit.present"/>
+ </target>
+
+ <target name="test-junit-status"
+ depends="test-junit-present">
+ <condition property="junit.missing">
+ <and>
+ <isfalse value="${junit.present}"/>
+ <isfalse value="${maven.test.skip}"/>
+ </and>
+ </condition>
+ <condition property="junit.skipped">
+ <or>
+ <isfalse value="${junit.present}"/>
+ <istrue value="${maven.test.skip}"/>
+ </or>
+ </condition>
+ </target>
+
+ <target name="junit-missing"
+ depends="test-junit-status"
+ if="junit.missing">
+ <echo>=================================== WARNING ===================================</echo>
+ <echo> JUnit is not present in your $ANT_HOME/lib directory. Tests not executed.</echo>
+ <echo>===============================================================================</echo>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Javadoc target -->
+ <!-- ====================================================================== -->
+
+ <target name="javadoc" description="Generates the Javadoc of the application">
+ <javadoc sourcepath="${maven.build.srcDir.0}"
+ packagenames="*"
+ destdir="${maven.reporting.outputDirectory}/apidocs"
+ access="protected"
+ old="false"
+ verbose="false"
+ version="true"
+ use="true"
+ author="true"
+ splitindex="false"
+ nodeprecated="false"
+ nodeprecatedlist="false"
+ notree="false"
+ noindex="false"
+ nohelp="false"
+ nonavbar="false"
+ serialwarn="false"
+ charset="ISO-8859-1"
+ linksource="false"
+ breakiterator="false"/>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- Package target -->
+ <!-- ====================================================================== -->
+
+ <target name="package" depends="compile,test" description="Package the application">
+ <jar jarfile="${maven.build.dir}/${maven.build.finalName}.jar"
+ compress="true"
+ index="false"
+ basedir="${maven.build.outputDir}"
+ excludes="**/package.html"/>
+ </target>
+
+ <!-- ====================================================================== -->
+ <!-- A dummy target for the package named after the type it creates -->
+ <!-- ====================================================================== -->
+
+ <target name="jar" depends="package" description="Builds the jar for the application"/>
+
+ <!-- ====================================================================== -->
+ <!-- Download dependencies target -->
+ <!-- ====================================================================== -->
+
+ <target name="test-offline">
+ <condition property="maven.mode.offline">
+ <equals arg1="${maven.settings.offline}" arg2="true"/>
+ </condition>
+ </target>
+
+ <target name="get-deps"
+ depends="test-offline"
+ description="Download all dependencies"
+ unless="maven.mode.offline">
+ <!-- removed -->
+ </target>
+
+</project>
diff --git a/dev-java/jnr-ffi/jnr-ffi-0.5.10.ebuild b/dev-java/jnr-ffi/jnr-ffi-0.5.10.ebuild
new file mode 100644
index 000000000000..50bff85580df
--- /dev/null
+++ b/dev-java/jnr-ffi/jnr-ffi-0.5.10.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="An abstracted interface to invoking native functions from java"
+HOMEPAGE="http://github.com/jnr"
+SRC_URI="http://github.com/jnr/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 LGPL-3 )"
+SLOT="0.5"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+COMMON_DEP="
+ dev-java/jffi:1.0
+ dev-java/jnr-x86asm:1.0
+ dev-java/asm:3"
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.5"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-1.5
+ test? (
+ dev-java/ant-junit:0
+ >=dev-java/junit-4.8:4
+ )"
+
+src_unpack() {
+ unpack ${A}
+ mv jnr-jnr-ffi-* "${P}" || die
+}
+
+java_prepare() {
+ sed -i -e 's/-Werror //' libtest/GNUmakefile || die
+ sed -i -e "s|-mimpure-text||g" libtest/GNUmakefile || die # Fix gcc-4.7
+
+ cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die
+
+ find "${WORKDIR}" -name '*.jar' -delete || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="${JAVA_ANT_CLASSPATH_TAGS} javadoc"
+JAVA_ANT_ENCODING="UTF-8"
+
+EANT_GENTOO_CLASSPATH="asm-3,jffi-1.0,jnr-x86asm-1.0"
+EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN} -Dmaven.build.srcDir.0=src"
+
+EANT_TEST_EXTRA_ARGS="-Dmaven.build.testDir.0=test"
+EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4"
+src_test() {
+ # build native test library
+ emake BUILD_DIR=build -f libtest/GNUmakefile
+
+ _JAVA_OPTIONS="-Djna.library.path=build" \
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar target/${PN}.jar
+
+ use doc && java-pkg_dojavadoc target/site/apidocs
+ use source && java-pkg_dosrc src/*
+}
diff --git a/dev-java/jnr-ffi/jnr-ffi-0.6.0.ebuild b/dev-java/jnr-ffi/jnr-ffi-0.6.0.ebuild
new file mode 100644
index 000000000000..2ab51ce827db
--- /dev/null
+++ b/dev-java/jnr-ffi/jnr-ffi-0.6.0.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="An abstracted interface to invoking native functions from java"
+HOMEPAGE="http://github.com/jnr"
+SRC_URI="http://github.com/jnr/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 LGPL-3 )"
+SLOT="0.6"
+KEYWORDS="amd64 x86"
+IUSE=""
+# Fail, upstream pom has ignore test failures enabled.
+RESTRICT="test"
+
+COMMON_DEP="
+ dev-java/jffi:1.0
+ dev-java/jnr-x86asm:1.0
+ dev-java/asm:3"
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.5"
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-1.5
+ test? (
+ dev-java/ant-junit:0
+ >=dev-java/junit-4.8:4
+ )"
+
+src_unpack() {
+ unpack ${A}
+ mv jnr-jnr-ffi-* "${P}" || die
+}
+
+java_prepare() {
+ cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="${JAVA_ANT_CLASSPATH_TAGS} javadoc"
+JAVA_ANT_ENCODING="UTF-8"
+
+EANT_GENTOO_CLASSPATH="asm-3,jffi-1.0,jnr-x86asm-1.0"
+EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}"
+
+EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4"
+src_test() {
+ # build native test library
+ emake BUILD_DIR=build -f libtest/GNUmakefile
+
+ _JAVA_OPTIONS="-Djnr.ffi.library.path=build" \
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar target/${PN}.jar
+
+ use doc && java-pkg_dojavadoc target/site/apidocs
+ use source && java-pkg_dosrc src/main/java/*
+}
diff --git a/dev-java/jnr-ffi/jnr-ffi-0.7.11-r1.ebuild b/dev-java/jnr-ffi/jnr-ffi-0.7.11-r1.ebuild
new file mode 100644
index 000000000000..405c96341aec
--- /dev/null
+++ b/dev-java/jnr-ffi/jnr-ffi-0.7.11-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2 vcs-snapshot
+
+DESCRIPTION="An abstracted interface to invoking native functions from java"
+HOMEPAGE="https://github.com/jnr/jnr-ffi"
+SRC_URI="https://github.com/jnr/${PN}/tarball/${PV} -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 LGPL-3 )"
+SLOT="0.7"
+KEYWORDS="amd64 x86"
+
+COMMON_DEP="
+ >=dev-java/jffi-1.2.7-r1:1.2
+ dev-java/jnr-x86asm:1.0
+ dev-java/asm:4"
+
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.5"
+
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-1.5
+ test? (
+ dev-java/ant-junit:0
+ >=dev-java/junit-4.8:4
+ )"
+
+java_prepare() {
+ cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die
+ epatch "${FILESDIR}"/${P}-flags.patch
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="${JAVA_ANT_CLASSPATH_TAGS} javadoc"
+JAVA_ANT_ENCODING="UTF-8"
+
+EANT_GENTOO_CLASSPATH="asm-4,jffi-1.2,jnr-x86asm-1.0"
+EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}"
+
+EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4"
+
+src_test() {
+ # Fails, upstream pom has ignore test failures enabled.
+ rm -v src/test/java/jnr/ffi/StringArrayTest.java || die
+
+ # build native test library
+ emake BUILD_DIR=build -f libtest/GNUmakefile
+
+# _JAVA_OPTIONS="-Djffi.boot.library.path=${EPREFIX}/usr/$(get_libdir)/jffi-1.2 -Djffi.boot.library.path=${EPREFIX}/usr/$(get_libdir)/jffi -Djava.library.path=${EPREFIX}/usr/$(get_libdir)/jffi"
+ _JAVA_OPTIONS="-Djnr.ffi.library.path=build" \
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar target/${PN}.jar
+
+ use doc && java-pkg_dojavadoc target/site/apidocs
+ use source && java-pkg_dosrc src/main/java/*
+}
diff --git a/dev-java/jnr-ffi/jnr-ffi-1.0.10.ebuild b/dev-java/jnr-ffi/jnr-ffi-1.0.10.ebuild
new file mode 100644
index 000000000000..d36ed8543702
--- /dev/null
+++ b/dev-java/jnr-ffi/jnr-ffi-1.0.10.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="An abstracted interface to invoking native functions from java"
+HOMEPAGE="https://github.com/jnr/jnr-ffi"
+SRC_URI="https://github.com/jnr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 LGPL-3 )"
+SLOT="1"
+KEYWORDS="amd64 x86"
+
+COMMON_DEP="
+ dev-java/jffi:1.2
+ dev-java/jnr-x86asm:1.0
+ dev-java/asm:4"
+
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.5"
+
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-1.5
+ test? (
+ dev-java/ant-junit:0
+ >=dev-java/junit-4.8:4
+ )"
+
+java_prepare() {
+ cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die
+ epatch "${FILESDIR}"/${PN}-1.0.6-junit48.patch
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="${JAVA_ANT_CLASSPATH_TAGS} javadoc"
+JAVA_ANT_ENCODING="UTF-8"
+
+EANT_GENTOO_CLASSPATH="asm-4,jffi-1.2,jnr-x86asm-1.0"
+EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}"
+
+EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4"
+
+src_test() {
+ # build native test library
+ emake BUILD_DIR=build -f libtest/GNUmakefile
+
+ _JAVA_OPTIONS="-Djnr.ffi.library.path=build" \
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar target/${PN}.jar
+
+ use doc && java-pkg_dojavadoc target/site/apidocs
+ use source && java-pkg_dosrc src/main/java/*
+}
diff --git a/dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild b/dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild
new file mode 100644
index 000000000000..42e47e0bff1a
--- /dev/null
+++ b/dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="doc source test"
+
+inherit java-pkg-2 java-ant-2
+
+DESCRIPTION="An abstracted interface to invoking native functions from java"
+HOMEPAGE="https://github.com/jnr/jnr-ffi"
+SRC_URI="https://github.com/jnr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="|| ( Apache-2.0 LGPL-3 )"
+SLOT="2"
+KEYWORDS="amd64 x86"
+
+COMMON_DEP="
+ dev-java/jffi:1.2
+ dev-java/jnr-x86asm:1.0
+ dev-java/asm:4"
+
+RDEPEND="${COMMON_DEP}
+ >=virtual/jre-1.5"
+
+DEPEND="${COMMON_DEP}
+ >=virtual/jdk-1.5
+ test? (
+ dev-java/ant-junit:0
+ >=dev-java/junit-4.8:4
+ )"
+
+java_prepare() {
+ cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die
+ epatch "${FILESDIR}"/${P}-junit48.patch
+}
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+JAVA_ANT_CLASSPATH_TAGS="${JAVA_ANT_CLASSPATH_TAGS} javadoc"
+JAVA_ANT_ENCODING="UTF-8"
+
+EANT_GENTOO_CLASSPATH="asm-4,jffi-1.2,jnr-x86asm-1.0"
+EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}"
+
+EANT_TEST_GENTOO_CLASSPATH="${EANT_GENTOO_CLASSPATH},junit-4"
+
+src_test() {
+ # build native test library
+ emake BUILD_DIR=build -f libtest/GNUmakefile
+
+ _JAVA_OPTIONS="-Djnr.ffi.library.path=build" \
+ java-pkg-2_src_test
+}
+
+src_install() {
+ java-pkg_dojar target/${PN}.jar
+
+ use doc && java-pkg_dojavadoc target/site/apidocs
+ use source && java-pkg_dosrc src/main/java/*
+}
diff --git a/dev-java/jnr-ffi/metadata.xml b/dev-java/jnr-ffi/metadata.xml
new file mode 100644
index 000000000000..17c4d243e37c
--- /dev/null
+++ b/dev-java/jnr-ffi/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>java</herd>
+ <longdescription lang="en">
+</longdescription>
+ <upstream>
+ <remote-id type="github">jnr/jnr-ffi</remote-id>
+ </upstream>
+</pkgmetadata>