diff options
author | Ralph Sennhauser <sera@gentoo.org> | 2012-01-12 09:52:45 +0000 |
---|---|---|
committer | Ralph Sennhauser <sera@gentoo.org> | 2012-01-12 09:52:45 +0000 |
commit | cac642d9b37aad457ddd152cbd534f582f4f76eb (patch) | |
tree | c23f6eccb042e8ccb000152e89ba8ead363b578d /dev-java/jffi | |
parent | Bump (diff) | |
download | gentoo-2-cac642d9b37aad457ddd152cbd534f582f4f76eb.tar.gz gentoo-2-cac642d9b37aad457ddd152cbd534f582f4f76eb.tar.bz2 gentoo-2-cac642d9b37aad457ddd152cbd534f582f4f76eb.zip |
Version bump.
Switch to https://github.com/jnr as project home.
No longer use netbeans build system.
Use slot coresponding to .so version.
(Portage version: 2.1.10.44/cvs/Linux x86_64)
Diffstat (limited to 'dev-java/jffi')
-rw-r--r-- | dev-java/jffi/ChangeLog | 13 | ||||
-rw-r--r-- | dev-java/jffi/files/jffi-1.0.11_no-werror.patch | 13 | ||||
-rw-r--r-- | dev-java/jffi/files/jffi_maven-build.xml | 259 | ||||
-rw-r--r-- | dev-java/jffi/jffi-1.0.11.ebuild | 101 |
4 files changed, 384 insertions, 2 deletions
diff --git a/dev-java/jffi/ChangeLog b/dev-java/jffi/ChangeLog index 9694379e76d6..6881c6ab5965 100644 --- a/dev-java/jffi/ChangeLog +++ b/dev-java/jffi/ChangeLog @@ -1,6 +1,15 @@ # ChangeLog for dev-java/jffi -# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/jffi/ChangeLog,v 1.16 2010/05/24 19:02:03 pacho Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/jffi/ChangeLog,v 1.17 2012/01/12 09:52:45 sera Exp $ + +*jffi-1.0.11 (12 Jan 2012) + + 12 Jan 2012; Ralph Sennhauser <sera@gentoo.org> +jffi-1.0.11.ebuild, + +files/jffi-1.0.11_no-werror.patch, +files/jffi_maven-build.xml: + Version bump. + Switch to https://github.com/jnr as project home. + No longer use netbeans build system. + Use slot coresponding to .so version. 24 May 2010; Pacho Ramos <pacho@gentoo.org> jffi-1.0.0.ebuild: stable amd64, bug 318153 diff --git a/dev-java/jffi/files/jffi-1.0.11_no-werror.patch b/dev-java/jffi/files/jffi-1.0.11_no-werror.patch new file mode 100644 index 000000000000..25b7e4f8ec00 --- /dev/null +++ b/dev-java/jffi/files/jffi-1.0.11_no-werror.patch @@ -0,0 +1,13 @@ +diff --git a/jni/GNUmakefile b/jni/GNUmakefile +index efe6230..25053c7 100755 +--- a/jni/GNUmakefile ++++ b/jni/GNUmakefile +@@ -64,7 +64,7 @@ JFLAGS = -fno-omit-frame-pointer -fno-strict-aliasing -DNDEBUG + OFLAGS = -O2 $(JFLAGS) + + # MacOS headers aren't completely warning free, so turn them off +-WERROR = -Werror ++WERROR = + ifneq ($(OS),darwin) + WFLAGS += -Wundef $(WERROR) + endif diff --git a/dev-java/jffi/files/jffi_maven-build.xml b/dev-java/jffi/files/jffi_maven-build.xml new file mode 100644 index 000000000000..d8114185ee41 --- /dev/null +++ b/dev-java/jffi/files/jffi_maven-build.xml @@ -0,0 +1,259 @@ +<?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 9:52 AM --> +<!-- See: http://maven.apache.org/plugins/maven-ant-plugin/ --> +<!-- --> +<!-- ====================================================================== --> + +<project name="jffi-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="jffi-1.0.11"/> + <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"/> + <path id="build.test.classpath"> + <pathelement location="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.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"> + <mkdir dir="${maven.repo.local}"/> + <mkdir dir="${maven.repo.local}/junit/junit/4.8.2"/> + <get src="http://repository.jboss.com/maven2/junit/junit/4.8.2/junit-4.8.2.jar" + dest="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar" + usetimestamp="false" + ignoreerrors="true"/> + <get src="http://snapshots.jboss.org/maven2/junit/junit/4.8.2/junit-4.8.2.jar" + dest="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar" + usetimestamp="false" + ignoreerrors="true"/> + <get src="http://repository.jboss.org/maven2//junit/junit/4.8.2/junit-4.8.2.jar" + dest="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar" + usetimestamp="false" + ignoreerrors="true"/> + <get src="https://repository.jboss.org/nexus/content/groups/public-jboss//junit/junit/4.8.2/junit-4.8.2.jar" + dest="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar" + usetimestamp="false" + ignoreerrors="true"/> + <get src="https://oss.sonatype.org/content/repositories/snapshots/junit/junit/4.8.2/junit-4.8.2.jar" + dest="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar" + usetimestamp="false" + ignoreerrors="true"/> + <get src="http://repo1.maven.org/maven2/junit/junit/4.8.2/junit-4.8.2.jar" + dest="${maven.repo.local}/junit/junit/4.8.2/junit-4.8.2.jar" + usetimestamp="false" + ignoreerrors="true"/> + </target> + +</project> diff --git a/dev-java/jffi/jffi-1.0.11.ebuild b/dev-java/jffi/jffi-1.0.11.ebuild new file mode 100644 index 000000000000..0129073aa2e4 --- /dev/null +++ b/dev-java/jffi/jffi-1.0.11.ebuild @@ -0,0 +1,101 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/jffi/jffi-1.0.11.ebuild,v 1.1 2012/01/12 09:52:45 sera Exp $ + +EAPI="4" + +JAVA_PKG_IUSE="doc source test" + +inherit eutils java-pkg-2 java-ant-2 versionator + +DESCRIPTION="An optimized Java interface to libffi" +HOMEPAGE="http://github.com/jnr" +SRC_URI="https://github.com/jnr/jffi/tarball/${PV} -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 LGPL-3 )" +SLOT="1.0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +COMMON_DEP=" + virtual/libffi" +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.5" +DEPEND="${COMMON_DEP} + >=virtual/jdk-1.5 + dev-util/pkgconfig + test? ( + dev-java/ant-junit:0 + dev-java/junit:4 + )" + +src_unpack() { + unpack ${A} + mv jnr-jffi-* "${P}" || die +} + +java_prepare() { + cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die + epatch "${FILESDIR}"/${P}_no-werror.patch + + find "${WORKDIR}" -iname '*.jar' -delete +} + +JAVA_ANT_REWRITE_CLASSPATH="yes" + +EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}" +src_compile() { + # generate Version.java + cat <<-EOF > src/main/java/com/kenai/jffi/Version.java + package com.kenai.jffi; + public final class Version { + private Version() {} + public static final int MAJOR = $(get_version_component_range 1); + public static final int MINOR = $(get_version_component_range 2); + public static final int MICRO = $(get_version_component_range 3); + } + EOF + + java-pkg-2_src_compile + + # generate headers + mkdir -p build/jni + javah -d build/jni -classpath target/classes \ + com.kenai.jffi.Foreign \ + com.kenai.jffi.ObjectBuffer \ + com.kenai.jffi.Version \ + || die + + #build native library. + local args=( + SRC_DIR=jni + JNI_DIR=jni + BUILD_DIR=build/jni + VERSION=$(get_version_component_range 1-2) + USE_SYSTEM_LIBFFI=1 + -f jni/GNUmakefile + ) + emake "${args[@]}" +} + +EANT_TEST_GENTOO_CLASSPATH="junit-4" +src_test() { + # build native test library + emake BUILD_DIR=build -f libtest/GNUmakefile + + _JAVA_OPTIONS="-Djffi.boot.library.path=build/jni" \ + java-pkg-2_src_test +} + +src_install() { + cat <<-EOF > boot.properties + jffi.boot.library.path = ${JAVA_PKG_LIBDEST} + EOF + jar -uf target/${PN}.jar boot.properties || die + + java-pkg_dojar target/${PN}.jar + java-pkg_doso build/jni/lib${PN}-$(get_version_component_range 1-2).so + + use doc && java-pkg_dojavadoc target/site/apidocs + use source && java-pkg_dosrc src/main/java/* +} |