summaryrefslogtreecommitdiff
path: root/dev-java/jnr-ffi
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-java/jnr-ffi
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-java/jnr-ffi')
-rw-r--r--dev-java/jnr-ffi/Manifest7
-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, 339 insertions, 0 deletions
diff --git a/dev-java/jnr-ffi/Manifest b/dev-java/jnr-ffi/Manifest
new file mode 100644
index 000000000000..20d168938434
--- /dev/null
+++ b/dev-java/jnr-ffi/Manifest
@@ -0,0 +1,7 @@
+AUX jnr-ffi-2.0.2-junit48.patch 467 SHA256 9aab14e22055438d5b6fc8aa50c6923fdc5775458d558ba97309277eb7455e4f SHA512 e7b5bb64d65b432a028fa709e4e050feccd4f3023fa6d940f89a2ef67f489f8eeb6dfb87c08eb056f47f4a5019c875225013ca559eb065cca105d54f51b5e884 WHIRLPOOL aa6317f662efd57901f986043366880b629fdd45e30ccf20c9c37aa1e92a9022479c12779a69b6b434a0f9da9da06677a7ced20e35161252b85e87633a128092
+AUX jnr-ffi_maven-build.xml 11211 SHA256 8a69395ee802785c1b55f4527cf594ca18c59e2ff35b94c43a40dde8eeb06919 SHA512 612b793b664b71e1a1b924aabe2da16c6b0b70947640b3d5b6d6994ffecfd7c0b30991b3a2bb711130052870dd63b9d41f43a54221e52017510119c5d3e4f359 WHIRLPOOL 81497fd103c5f445d5ac5a3548fce4f3b138f066dbd8bff0aba58f7f2c3f17af072a152ff9e22bccfc8a787871caff68d4bb960bd72db81699e891dcbd445be4
+DIST jnr-ffi-2.0.2.tar.gz 170707 SHA256 a79772f3c46cd5afaf272752bc9a8292c8fd53c8302f8dc825a3cf2444ee2ab8 SHA512 80a932408f5ceaf19fd7a399b786aa0d7b9251ea144bc2755bcf3cdc3aea85615a1faa001bbcd3072bc0eead2aaa30d0bbead5f96c82c4b9e455c1ed1379b4c0 WHIRLPOOL cdd7b4b27dd2018747d0a669f7237f30def64bbde18486e81ac99c538a8d0c4679237c2402f955cbada773558a54492cfdc9f0a127d3de4007472339215891e8
+EBUILD jnr-ffi-2.0.2.ebuild 1388 SHA256 c981d96b0d31844477bc51abdf4be101e15732f8a89ad0435a0313e8fecd7ef9 SHA512 6a3d4b402eb4b8e6ad0e80509e510414c3936bcd7f176e2f17179d117aabcf6adf50d53cc28c2744a21eec0c5606494c8501060c6ef88b3bb1265ec408604c25 WHIRLPOOL 3c4a8f91cba272652f71b676b8d6144665fa738a90051867334f66c34d5bae01a879777945dccd7cb0355a601910149b726ad030b3c5fb823fe9f8dc0cc8f2bd
+MISC ChangeLog 3233 SHA256 c1272a8134afcb91898be3137616e0da8e9f46cace3263959d377d05535f0d88 SHA512 6e306bf1db9c5dc922a23011409f1007793eb81077cec3cf210a20ebaae99a5a9db72f4aabe661833fd8b903f95bc4bdeda018fce9e8d8005125cc48b745b650 WHIRLPOOL 831359a8951b52f72e40fbd12a8ec02b05eec5df0e497233e9013dadb11f1833307976182d3db27f5e2f4795544d2d81afbce7476022bef46c53ea5da0fc0391
+MISC ChangeLog-2015 3795 SHA256 a6c4051e7108693d97be7beb8193badab687afb2c44564c6c6db22b366e8766a SHA512 4ce8df490bddb5813cec6080c33f233087b94037ff94821c35ec9d8d602745c52a83487b253012590a5707921f1b5587296f92faa771408ea4d5e6e2199139cc WHIRLPOOL 31c4d149d86a2773f6c4e514315eaf35a5ba6f5be6b35a17364e920f12a8ac652a1b7f6a1faa62ec5b3ef25a6ae5adf9b96eb77ac8d4cc19c1ab57eba0a05de5
+MISC metadata.xml 322 SHA256 b5168fca227563ec9ed11c5425addbb9a68ddcc07858931b668029a0b6b16b34 SHA512 522ccfcd9fc4871e9dccf2c2bb56fac98f695fe999f0967f1e689d24bba779c2c9e8cf657c68b1be9ad54861fd70778c0f1c8b2bb7da589085660f0882896efb WHIRLPOOL 3395c0caf7c24569fd96a70aded500d7e1f3dd44607183b777bbce4a23d059e66b0a1e5c555ad9e7d1285bd56b520fc04f1caa98c4c37f26187e8015faa79391
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>