diff options
-rw-r--r-- | dev-java/jffi/ChangeLog | 8 | ||||
-rw-r--r-- | dev-java/jffi/files/jffi-1.0.0-makefile.patch | 82 | ||||
-rw-r--r-- | dev-java/jffi/jffi-1.0.0.ebuild | 75 |
3 files changed, 164 insertions, 1 deletions
diff --git a/dev-java/jffi/ChangeLog b/dev-java/jffi/ChangeLog index 61d80a3ffb76..758637f9ee08 100644 --- a/dev-java/jffi/ChangeLog +++ b/dev-java/jffi/ChangeLog @@ -1,6 +1,12 @@ # 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.10 2010/01/31 16:32:07 flameeyes Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/jffi/ChangeLog,v 1.11 2010/03/12 22:42:12 ali_bush Exp $ + +*jffi-1.0.0 (11 Mar 2010) + + 11 Mar 2010; Alistair Bush <ali_bush@gentoo.org> +jffi-1.0.0.ebuild, + +files/jffi-1.0.0-makefile.patch: + Version Bump. *jffi-0.7_pre20100131 (31 Jan 2010) diff --git a/dev-java/jffi/files/jffi-1.0.0-makefile.patch b/dev-java/jffi/files/jffi-1.0.0-makefile.patch new file mode 100644 index 000000000000..11ca2ed68530 --- /dev/null +++ b/dev-java/jffi/files/jffi-1.0.0-makefile.patch @@ -0,0 +1,82 @@ +--- jni/GNUmakefile 2010-03-12 12:06:39.000000000 +1300 ++++ jni/GNUmakefile 2010-03-12 12:13:44.000000000 +1300 +@@ -65,7 +65,7 @@ + + # MacOS headers aren't completely warning free, so turn them off + ifneq ($(OS),darwin) +- WFLAGS = -W -Werror -Wall -Wno-unused -Wno-parentheses -Wundef ++ WFLAGS = -W -Wall -Wno-unused -Wno-parentheses -Wundef + endif + PICFLAGS = -fPIC + SOFLAGS = # Filled in for each OS specifically +@@ -78,9 +78,9 @@ + + JDK_INCLUDES = -I"$(JDK_HOME)/include" -I"$(JDK_HOME)/include/$(OS)" + IFLAGS = -I"$(BUILD_DIR)" -I"$(BUILD_DIR)"/jni -I$(SRC_DIR) -I"$(JFFI_SRC_DIR)" +-CFLAGS = $(OFLAGS) $(WFLAGS) $(IFLAGS) $(PICFLAGS) $(JDK_INCLUDES) $(LIBFFI_CFLAGS) ++CFLAGS += $(OFLAGS) $(WFLAGS) $(IFLAGS) $(PICFLAGS) $(JDK_INCLUDES) $(LIBFFI_CFLAGS) + CFLAGS += -D_REENTRANT -D_LARGEFILE64_SOURCE -D_GNU_SOURCE +-CXXFLAGS = $(OFLAGS) $(IFLAGS) $(PICFLAGS) $(JDK_INCLUDES) $(LIBFFI_CFLAGS) ++CXXFLAGS += $(OFLAGS) $(IFLAGS) $(PICFLAGS) $(JDK_INCLUDES) $(LIBFFI_CFLAGS) + + ifeq ($(OS), win64) + override CPU = x86_64 +@@ -258,58 +258,6 @@ + @mkdir -p $(@D) + $(CCACHE) $(CXX) $(CXXFLAGS) -c $< -o $@ + +- +-ifeq ($(OS), darwin) +-build_ffi = \ +- mkdir -p $(BUILD_DIR)/libffi-darwin-$(1); \ +- (if [ ! -f $(BUILD_DIR)/libffi-darwin-$(1)/Makefile ]; then \ +- echo "Configuring libffi for $(1)"; \ +- cd $(BUILD_DIR)/libffi-darwin-$(1) && \ +- env CC="$(CCACHE) $(CC)" CFLAGS="-arch $(1) $(FFI_CFLAGS)" LDFLAGS="-arch $(1)" \ +- $(LIBFFI_CONFIGURE) --host=$(1)-apple-darwin > /dev/null; \ +- fi); \ +- env MACOSX_DEPLOYMENT_TARGET=10.5 $(MAKE) -C $(BUILD_DIR)/libffi-darwin-$(1) +- +-$(LIBFFI): +- @mkdir -p $(@D) +- @for arch in $(ARCHES); do $(call build_ffi,$$arch);done +- +- # Assemble into a FAT (i386, x86_64, ppc) library +- @mkdir -p $(BUILD_DIR)/libffi/.libs +- @env MACOSX_DEPLOYMENT_TARGET=10.5 /usr/bin/libtool -static -o $@ \ +- $(foreach arch, $(ARCHES),$(BUILD_DIR)/libffi-darwin-$(arch)/.libs/libffi_convenience.a) +- @mkdir -p $(LIBFFI_BUILD_DIR)/include +- $(RM) $(LIBFFI_BUILD_DIR)/include/ffi.h +- @( \ +- printf "#if defined(__i386__)\n"; \ +- printf "#include \"libffi-darwin-i386/include/ffi.h\"\n"; \ +- printf "#elif defined(__x86_64__)\n"; \ +- printf "#include \"libffi-darwin-x86_64/include/ffi.h\"\n";\ +- printf "#elif defined(__ppc__)\n"; \ +- printf "#include \"libffi-darwin-ppc/include/ffi.h\"\n";\ +- printf "#endif\n";\ +- ) > $(LIBFFI_BUILD_DIR)/include/ffi.h +- @( \ +- printf "#if defined(__i386__)\n"; \ +- printf "#include \"libffi-darwin-i386/include/ffitarget.h\"\n"; \ +- printf "#elif defined(__x86_64__)\n"; \ +- printf "#include \"libffi-darwin-x86_64/include/ffitarget.h\"\n";\ +- printf "#elif defined(__ppc__)\n"; \ +- printf "#include \"libffi-darwin-ppc/include/ffitarget.h\"\n";\ +- printf "#endif\n";\ +- ) > $(LIBFFI_BUILD_DIR)/include/ffitarget.h +-else +-$(LIBFFI): +- @mkdir -p $(LIBFFI_BUILD_DIR) +- @if [ ! -f $(LIBFFI_BUILD_DIR)/Makefile ]; then \ +- echo "Configuring libffi for $(PLATFORM)"; \ +- cd $(LIBFFI_BUILD_DIR) && env CC="$(FFI_CC)" LD="$(FFI_LD)" CFLAGS="$(FFI_CFLAGS)" \ +- $(LIBFFI_CONFIGURE) > /dev/null; \ +- fi +- $(MAKE) -C $(LIBFFI_BUILD_DIR) +-endif +- +- + clean:: + # nothing to do - ant will delete the build dir + diff --git a/dev-java/jffi/jffi-1.0.0.ebuild b/dev-java/jffi/jffi-1.0.0.ebuild new file mode 100644 index 000000000000..614fce2d9be0 --- /dev/null +++ b/dev-java/jffi/jffi-1.0.0.ebuild @@ -0,0 +1,75 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/jffi/jffi-1.0.0.ebuild,v 1.1 2010/03/12 22:42:12 ali_bush Exp $ + +# Probably best to leave the CFLAGS as they are here. See... +# http://weblogs.java.net/blog/kellyohair/archive/2006/01/compilation_of_1.html + +EAPI="2" +JAVA_PKG_IUSE="source test" +WANT_ANT_TASKS="ant-nodeps" +inherit java-pkg-2 java-ant-2 toolchain-funcs flag-o-matic versionator + +DESCRIPTION="An optimized Java interface to libffi" +HOMEPAGE="http://github.com/wmeissner/jffi" + +SRC_URI="mirrors://gentoo/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0.4" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +RDEPEND=">=virtual/jre-1.5 + virtual/libffi" + +DEPEND=">=virtual/jdk-1.5 + virtual/libffi + dev-util/pkgconfig + test? ( dev-java/ant-junit4 )" + +JAVA_PKG_BSFIX_NAME="build-impl.xml custom-build.xml" +JAVA_PKG_FILTER_COMPILER="ecj-3.3 ecj-3.4 ecj-3.5" + +java_prepare() { + # Delete the bundled JARs. + find lib archive -name "*.jar" -delete || die + # Delete the bundled libffi + rm -rf jni/libffi || die + + epatch "${FILESDIR}/${P}-makefile.patch" + + # any better function for this, excluding get_system_arch in java-vm-2 which is incorrect to inherit ? + local arch="" + use x86 && arch="i386" + use amd64 && arch="x86_64" + use ppc && arch="ppc" + + # Don't include prebuilt files for other archs. + sed -i '/<zipfileset src="archive\//d' custom-build.xml || die + sed -i '/libs.CopyLibs.classpath/d' lib/nblibraries.properties || die + sed -i '/copylibstask.jar/d' lib/nblibraries.properties || die +} + +EANT_EXTRA_ARGS="-Duse.system.libffi=1" + +src_install() { + mkdir -p "${T}"/com/kenai/jffi + cat - > "${T}"/com/kenai/jffi/boot.properties <<EOF +jffi.boot.library.path = ${JAVA_PKG_LIBDEST} +EOF + + pushd "${T}" &>/dev/null + jar -uf "${S}"/dist/${PN}.jar com + popd + + java-pkg_dojar dist/${PN}.jar + java-pkg_doso build/jni/lib${PN}-$(get_version_component_range 1-2).so + use source && java-pkg_dosrc src/* +} + +src_test() { + ANT_TASKS="ant-junit4 ant-nodeps" eant test \ + "${EANT_EXTRA_ARGS}" \ + -Dlibs.junit_4.classpath="$(java-pkg_getjars --with-dependencies junit-4)" +} |