diff options
author | Volkmar W. Pogatzki <gentoo@pogatzki.net> | 2021-11-28 10:45:00 +0100 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2021-11-28 19:02:04 +0000 |
commit | 10579138b9895a51dfaad4d6b6bccb5908045ee0 (patch) | |
tree | 544cb1d04edb8d49fc7a143400c759cba9cee70b /dev-java/jnr-ffi | |
parent | dev-python/pip: Keyword 21.3.1-r1 ppc, #827644 (diff) | |
download | gentoo-10579138b9895a51dfaad4d6b6bccb5908045ee0.tar.gz gentoo-10579138b9895a51dfaad4d6b6bccb5908045ee0.tar.bz2 gentoo-10579138b9895a51dfaad4d6b6bccb5908045ee0.zip |
dev-java/jnr-ffi: undo 2.0.2 removal
Bug: https://bugs.gentoo.org/827215
Signed-off-by: Volkmar W. Pogatzki <gentoo@pogatzki.net>
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-java/jnr-ffi')
-rw-r--r-- | dev-java/jnr-ffi/Manifest | 1 | ||||
-rw-r--r-- | dev-java/jnr-ffi/files/jnr-ffi-2.0.2-junit48.patch | 11 | ||||
-rw-r--r-- | dev-java/jnr-ffi/files/jnr-ffi_maven-build.xml | 250 | ||||
-rw-r--r-- | dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild | 60 |
4 files changed, 322 insertions, 0 deletions
diff --git a/dev-java/jnr-ffi/Manifest b/dev-java/jnr-ffi/Manifest index a1833f95b1e1..a62c50306aae 100644 --- a/dev-java/jnr-ffi/Manifest +++ b/dev-java/jnr-ffi/Manifest @@ -1 +1,2 @@ +DIST jnr-ffi-2.0.2.tar.gz 170707 BLAKE2B fc4f1dcea51939b6098b980b4962380e58ba590ea9d4cdba7823c1372bd645d985ae25d8ebf1f0b575a0e4b5c192e5595094076d3cd44e4bb3c077dd838c170f SHA512 80a932408f5ceaf19fd7a399b786aa0d7b9251ea144bc2755bcf3cdc3aea85615a1faa001bbcd3072bc0eead2aaa30d0bbead5f96c82c4b9e455c1ed1379b4c0 DIST jnr-ffi-2.2.8-sources.tar.gz 261959 BLAKE2B 16f7b89c88a61fa07da65d4e5287258f96550b93898bb7313ddd62d1f002276da86aca2c79874eccb466eaebcad5181ff33539996a6558b6d79ce9280cf9c0a9 SHA512 15187d90f15ad82cb6cac0617806ab7d0322bfcb4f44523f2272f93f19ec115625806c9d450bffaa57db32c70906328c8edc905046465b0ec3eb6ff52e500b42 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..5fd24c27ec3c --- /dev/null +++ b/dev-java/jnr-ffi/jnr-ffi-2.0.2.ebuild @@ -0,0 +1,60 @@ +# Copyright 1999-2021 Gentoo Authors +# 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 ~ppc64 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/* +} |