summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Sennhauser <sera@gentoo.org>2012-01-12 09:52:45 +0000
committerRalph Sennhauser <sera@gentoo.org>2012-01-12 09:52:45 +0000
commitcac642d9b37aad457ddd152cbd534f582f4f76eb (patch)
treec23f6eccb042e8ccb000152e89ba8ead363b578d /dev-java/jffi
parentBump (diff)
downloadgentoo-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/ChangeLog13
-rw-r--r--dev-java/jffi/files/jffi-1.0.11_no-werror.patch13
-rw-r--r--dev-java/jffi/files/jffi_maven-build.xml259
-rw-r--r--dev-java/jffi/jffi-1.0.11.ebuild101
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/*
+}