summaryrefslogtreecommitdiff
path: root/dev-java/jnr-ffi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-java/jnr-ffi
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
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-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-2.0.2.ebuild60
-rw-r--r--dev-java/jnr-ffi/metadata.xml11
5 files changed, 337 insertions, 0 deletions
diff --git a/dev-java/jnr-ffi/Manifest b/dev-java/jnr-ffi/Manifest
new file mode 100644
index 000000000000..53c3b13d11e5
--- /dev/null
+++ b/dev-java/jnr-ffi/Manifest
@@ -0,0 +1,5 @@
+AUX jnr-ffi-2.0.2-junit48.patch 467 BLAKE2B 1f1e76e18f425e1a38dfc0b1788239329a58fb9944958045877115d375c65437660a2fa114cec2bbc3ad3b74b94d38a6b34d6ea142ec0aa12f9ba88638d14894 SHA512 e7b5bb64d65b432a028fa709e4e050feccd4f3023fa6d940f89a2ef67f489f8eeb6dfb87c08eb056f47f4a5019c875225013ca559eb065cca105d54f51b5e884
+AUX jnr-ffi_maven-build.xml 11211 BLAKE2B 94c92f033d7cb90db11123846cffb1e7532d197eaa739cac6da256159fe030c1d90d57e991a292d9f1511e57800a37d6791037afd72349529e045a6db6572c1b SHA512 612b793b664b71e1a1b924aabe2da16c6b0b70947640b3d5b6d6994ffecfd7c0b30991b3a2bb711130052870dd63b9d41f43a54221e52017510119c5d3e4f359
+DIST jnr-ffi-2.0.2.tar.gz 170707 BLAKE2B fc4f1dcea51939b6098b980b4962380e58ba590ea9d4cdba7823c1372bd645d985ae25d8ebf1f0b575a0e4b5c192e5595094076d3cd44e4bb3c077dd838c170f SHA512 80a932408f5ceaf19fd7a399b786aa0d7b9251ea144bc2755bcf3cdc3aea85615a1faa001bbcd3072bc0eead2aaa30d0bbead5f96c82c4b9e455c1ed1379b4c0
+EBUILD jnr-ffi-2.0.2.ebuild 1388 BLAKE2B 7fb54bdd6719f9d8af1cefa11c6560a438367855f8f6a4d28213156ef2a77808b15d77c951e7e93709931c083db4e3630f0d06ea31bc15323a052800235df847 SHA512 6a3d4b402eb4b8e6ad0e80509e510414c3936bcd7f176e2f17179d117aabcf6adf50d53cc28c2744a21eec0c5606494c8501060c6ef88b3bb1265ec408604c25
+MISC metadata.xml 322 BLAKE2B fbb6e5b91a2b8063f428a956f45150d6cb487f98ad9bb6f8222ea6b923d1d67b35373febaf6d2ab53b5411bb27ff07eb5012601114b7a51afa7bf3e362966a7c SHA512 522ccfcd9fc4871e9dccf2c2bb56fac98f695fe999f0967f1e689d24bba779c2c9e8cf657c68b1be9ad54861fd70778c0f1c8b2bb7da589085660f0882896efb
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-2.0.2.ebuild b/dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild
new file mode 100644
index 000000000000..c5807844d596
--- /dev/null
+++ b/dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 ~arm64 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..8554bb04eb46
--- /dev/null
+++ b/dev-java/jnr-ffi/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>java@gentoo.org</email>
+ <name>Java</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jnr/jnr-ffi</remote-id>
+ </upstream>
+</pkgmetadata>