diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-java/jffi/jffi-1.0.11-r1.ebuild | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-java/jffi/jffi-1.0.11-r1.ebuild')
-rw-r--r-- | dev-java/jffi/jffi-1.0.11-r1.ebuild | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/dev-java/jffi/jffi-1.0.11-r1.ebuild b/dev-java/jffi/jffi-1.0.11-r1.ebuild new file mode 100644 index 000000000000..1f4dad71570b --- /dev/null +++ b/dev-java/jffi/jffi-1.0.11-r1.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" + +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 + virtual/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 + sed -i -e 's/-Werror //' libtest/GNUmakefile || die + + find "${WORKDIR}" -iname '*.jar' -delete || die + + # Fix build with GCC 4.7 #421501 + sed -i -e "s|-mimpure-text||g" jni/GNUmakefile libtest/GNUmakefile || die +} + +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 || die + 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() { + java-pkg_doso build/jni/lib${PN}-$(get_version_component_range 1-2).so + + # must by after _doso to have JAVA_PKG_LIBDEST set + 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 + + use doc && java-pkg_dojavadoc target/site/apidocs + use source && java-pkg_dosrc src/main/java/* +} |