From 56bd759df1d0c750a065b8c845e93d5dfa6b549d Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Sat, 8 Aug 2015 13:49:04 -0700 Subject: proj/gentoo: Initial commit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 X-Thanks: Alec Warner - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring - wrote much python to improve cvs2svn X-Thanks: Rich Freeman - validation scripts X-Thanks: Patrick Lauer - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed --- dev-java/jffi/Manifest | 5 + dev-java/jffi/files/1.0.0-gcc-3.4.patch | 14 ++ dev-java/jffi/files/jffi-1.0.0-makefile.patch | 82 ++++++++ dev-java/jffi/files/jffi-1.0.11_no-werror.patch | 13 ++ dev-java/jffi/files/jffi-1.2.5_no-werror.patch | 13 ++ dev-java/jffi/files/jffi-1.2.6_no-werror.patch | 13 ++ dev-java/jffi/files/jffi-1.2.7-junit-4.11.patch | 14 ++ dev-java/jffi/files/jffi-1.2.7-makefile.patch | 62 ++++++ dev-java/jffi/files/jffi-1.2.7_no-werror.patch | 31 +++ dev-java/jffi/files/jffi-1.2.8-junit-4.11.patch | 14 ++ dev-java/jffi/files/jffi-1.2.8-makefile.patch | 52 +++++ dev-java/jffi/files/jffi_maven-build.xml | 259 ++++++++++++++++++++++++ dev-java/jffi/jffi-1.0.11-r1.ebuild | 107 ++++++++++ dev-java/jffi/jffi-1.0.11.ebuild | 105 ++++++++++ dev-java/jffi/jffi-1.2.5.ebuild | 96 +++++++++ dev-java/jffi/jffi-1.2.6.ebuild | 120 +++++++++++ dev-java/jffi/jffi-1.2.7-r2.ebuild | 123 +++++++++++ dev-java/jffi/jffi-1.2.7.ebuild | 122 +++++++++++ dev-java/jffi/jffi-1.2.8.ebuild | 124 ++++++++++++ dev-java/jffi/metadata.xml | 8 + 20 files changed, 1377 insertions(+) create mode 100644 dev-java/jffi/Manifest create mode 100644 dev-java/jffi/files/1.0.0-gcc-3.4.patch create mode 100644 dev-java/jffi/files/jffi-1.0.0-makefile.patch create mode 100644 dev-java/jffi/files/jffi-1.0.11_no-werror.patch create mode 100644 dev-java/jffi/files/jffi-1.2.5_no-werror.patch create mode 100644 dev-java/jffi/files/jffi-1.2.6_no-werror.patch create mode 100644 dev-java/jffi/files/jffi-1.2.7-junit-4.11.patch create mode 100644 dev-java/jffi/files/jffi-1.2.7-makefile.patch create mode 100644 dev-java/jffi/files/jffi-1.2.7_no-werror.patch create mode 100644 dev-java/jffi/files/jffi-1.2.8-junit-4.11.patch create mode 100644 dev-java/jffi/files/jffi-1.2.8-makefile.patch create mode 100644 dev-java/jffi/files/jffi_maven-build.xml create mode 100644 dev-java/jffi/jffi-1.0.11-r1.ebuild create mode 100644 dev-java/jffi/jffi-1.0.11.ebuild create mode 100644 dev-java/jffi/jffi-1.2.5.ebuild create mode 100644 dev-java/jffi/jffi-1.2.6.ebuild create mode 100644 dev-java/jffi/jffi-1.2.7-r2.ebuild create mode 100644 dev-java/jffi/jffi-1.2.7.ebuild create mode 100644 dev-java/jffi/jffi-1.2.8.ebuild create mode 100644 dev-java/jffi/metadata.xml (limited to 'dev-java/jffi') diff --git a/dev-java/jffi/Manifest b/dev-java/jffi/Manifest new file mode 100644 index 00000000000..e6419066fa3 --- /dev/null +++ b/dev-java/jffi/Manifest @@ -0,0 +1,5 @@ +DIST jffi-1.0.11.tar.gz 1899655 SHA256 b66781a07e095dbaf9d568b77762e06215da4458d963956ea22dd5adb5f3126a SHA512 0f98c1aa55dfd9fd9338399e173f118ef12d01a65429a49ed5264a23fa6700e7ebdf13ffb6b6318fcd8ea9dce66a47524c5cefa50f3f11a251ca44a4f38fd6aa WHIRLPOOL aa8c3f88b75a26221b3c41ed552fdd83c551ae05fc7455f072b8a3d7f3190cad26a638d1800a67b09d8074b5dfdd04f2be73287a7f22c0cfcc5dbc8df0d2ae12 +DIST jffi-1.2.5.tar.gz 1798081 SHA256 2101c48855558902f2e21baacd0b2c8b7098feb3ca1487a195c2bc3d9116ebd4 SHA512 2613a1874899e1a734ad54d68f7d969fe3bc12bd1ae1aaf5a63a17d63ac6ac6b9812740b7c7a771e66ba0e4ff02105c6a2427771d4571be40ae869f3d6f077e3 WHIRLPOOL 174303fc9f10cf295e009ef2320f9b13295f5e96187ab2ae4599de891b27e1279645ea47409eb8aec9a8b247a5568cddd6f8566950b64be37e399cb0eda0219f +DIST jffi-1.2.6.tar.gz 1850410 SHA256 b568d832828bf0cb980c545e8fd16147034048ca2d3ffc62cae4f844c8cc6cec SHA512 df178691e6894599f2a45146950cca7e4c81e92c38fc751c40b39e660970c19d0dce41c9192053dddf07f42317d28033f59b7140c904784c477526e7471b6938 WHIRLPOOL adb57b9ac981177ae7d697aae41bbaaff3a38dab4c4364258b13272023076dacdd93a751eb24a339ae17a4162d4511685a4aa67afd5d8fab2f852e0403ee73f1 +DIST jffi-1.2.7.tar.gz 1908203 SHA256 25f1930f294cec9651447edd08a51a990b7c92c69eca87257233e86e4dd5f979 SHA512 837ebb0085ec2acc5dc688c3e1883a7c986df62a32a41887196b88f5b5714ee667f918f2bdf005f019faae02df2f7903f291fa32c5ec3cabc360d9b1d8e4548d WHIRLPOOL 0e9824d54b21eb61142f4a868cd10122d9837c34732fc4ff9ba3093c0d4c11ee25dc0e045a40a4157faed201de9498e7cea28df85e7f14d07b58d2f4d1fb26e1 +DIST jffi-1.2.8.tar.gz 1988785 SHA256 445263cd24dccc34e2bd7fb3c488aa182697b1bc3f86d3343e07183161e2986c SHA512 c6622a2cc0cd040d871417d66a074aeaad57f266559c8135692e2b76bb00f05287a4e4c4f17e8e4225c4d5e7e8941d9c883fbb4cfe5db920a79dd9a29ffea105 WHIRLPOOL 165f44b195310cf2826359d00ba74bb0eac66a47c566ec1a522df50627721c6564bd1730459098a8aa973433978fa815b3a418bbcf787b75ebf1cc3cd585909d diff --git a/dev-java/jffi/files/1.0.0-gcc-3.4.patch b/dev-java/jffi/files/1.0.0-gcc-3.4.patch new file mode 100644 index 00000000000..fc2bd5cae10 --- /dev/null +++ b/dev-java/jffi/files/1.0.0-gcc-3.4.patch @@ -0,0 +1,14 @@ +diff --git a/jni/GNUmakefile b/jni/GNUmakefile +index 7a027af..eaba319 100755 +--- a/jni/GNUmakefile ++++ b/jni/GNUmakefile +@@ -188,9 +188,6 @@ endif + + ifeq ($(CPU), i386) + MODEL = 32 +- ifeq ($(findstring $(OS), openbsd darwin mingw32 win32),) +- CFLAGS += -march=i586 -mtune=generic +- endif + endif + + ifeq ($(CPU), amd64) 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 00000000000..11ca2ed6853 --- /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/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 00000000000..25b7e4f8ec0 --- /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-1.2.5_no-werror.patch b/dev-java/jffi/files/jffi-1.2.5_no-werror.patch new file mode 100644 index 00000000000..25b7e4f8ec0 --- /dev/null +++ b/dev-java/jffi/files/jffi-1.2.5_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-1.2.6_no-werror.patch b/dev-java/jffi/files/jffi-1.2.6_no-werror.patch new file mode 100644 index 00000000000..25b7e4f8ec0 --- /dev/null +++ b/dev-java/jffi/files/jffi-1.2.6_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-1.2.7-junit-4.11.patch b/dev-java/jffi/files/jffi-1.2.7-junit-4.11.patch new file mode 100644 index 00000000000..ac3843a0053 --- /dev/null +++ b/dev-java/jffi/files/jffi-1.2.7-junit-4.11.patch @@ -0,0 +1,14 @@ +--- a/src/test/java/com/kenai/jffi/NumberTest.java ++++ b/src/test/java/com/kenai/jffi/NumberTest.java +@@ -234,9 +234,8 @@ + private void returnF32(InvokerType type) { + LibNumberTest lib = UnitHelper.loadTestLibrary(LibNumberTest.class, type); + float[] values = { 0f, 1.0f, -2.0f }; +- for (int i = 0; i < values.length; ++i) { +- assertEquals("Value not returned correctly", values[i], lib.ret_float(values[i]), 0.1f); +- } ++ float[] lib_values = { lib.ret_float(0f), lib.ret_float(1.0f), lib.ret_float(-2.0f) }; ++ assertArrayEquals("Value not returned correctly", values, lib_values, 0.1f); + } + + @Test public void returnDefaultF64() { diff --git a/dev-java/jffi/files/jffi-1.2.7-makefile.patch b/dev-java/jffi/files/jffi-1.2.7-makefile.patch new file mode 100644 index 00000000000..ed17f7882ce --- /dev/null +++ b/dev-java/jffi/files/jffi-1.2.7-makefile.patch @@ -0,0 +1,62 @@ +diff --git a/jffi-1.2.7/jni/GNUmakefile b/jffi-1.2.7/jni/GNUmakefile +index 27737be..2e709d9 100755 +--- a/jffi-1.2.7/jni/GNUmakefile ++++ b/jffi-1.2.7/jni/GNUmakefile +@@ -47,7 +47,6 @@ else + LIBFFI_SRC_DIR = $(SRC_DIR)/libffi + LIBFFI_BUILD_DIR = $(BUILD_DIR)/libffi-$(PLATFORM) + LIBFFI = $(LIBFFI_BUILD_DIR)/.libs/libffi_convenience.a +- LIBFFI_LIBS = $(LIBFFI) + LIBFFI_CFLAGS = -I"$(LIBFFI_BUILD_DIR)"/include + endif + +@@ -64,11 +63,11 @@ 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 +-WFLAGS += -W -Wall -Wno-unused -Wno-parentheses ++WFLAGS += -W -Wall -Wno-unused -Wno-unused-parameter -Wno-parentheses + PICFLAGS = -fPIC + SOFLAGS = # Filled in for each OS specifically + FFI_MMAP_EXEC = -DFFI_MMAP_EXEC_WRIT +@@ -279,7 +278,7 @@ debug: + @echo "JFFI_BUILD_DIR=$(JFFI_BUILD_DIR)" + @echo "OBJS=$(OBJS)" + +-$(LIBJFFI): $(OBJS) $(LIBFFI_LIBS) ++$(LIBJFFI): $(OBJS) + $(CC) -o $@ $(LDFLAGS) $(SOFLAGS) $(OBJS) $(LIBFFI_LIBS) $(LIBS) + $(STRIP) $@ + +@@ -291,7 +290,7 @@ $(BUILD_DIR)/%.o : $(SRC_DIR)/%.S $(wildcard $(JFFI_SRC_DIR)/*.h) + @mkdir -p $(@D) + @$(CC) $(CFLAGS) -o $@ -c $< + +-$(OBJS) : $(LIBFFI_LIBS) ++$(OBJS) : + + ifeq ($(OS), darwin) + build_ffi = \ +diff --git a/jffi-1.2.7/libtest/GNUmakefile b/jffi-1.2.7/libtest/GNUmakefile +index 9e70664..3e279a3 100644 +--- a/jffi-1.2.7/libtest/GNUmakefile ++++ b/jffi-1.2.7/libtest/GNUmakefile +@@ -44,10 +44,10 @@ TEST_OBJS := $(patsubst $(SRC_DIR)/%.c, $(TEST_BUILD_DIR)/%.o, $(TEST_SRCS)) + # Compiler/linker flags from: + # http://weblogs.java.net/blog/kellyohair/archive/2006/01/compilation_of_1.html + JFLAGS = -fno-omit-frame-pointer -fno-strict-aliasing +-OFLAGS = -O2 $(JFLAGS) +-WFLAGS = -W -Werror -Wall -Wno-unused -Wno-parentheses ++OFLAGS = $(JFLAGS) ++WFLAGS = -W -Wall -Wno-unused -Wno-unused-parameter -Wno-parentheses + PICFLAGS = -fPIC +-SOFLAGS = -shared -Wl,-O1 ++SOFLAGS = -shared + LDFLAGS += $(SOFLAGS) + + IFLAGS = -I"$(BUILD_DIR)" diff --git a/dev-java/jffi/files/jffi-1.2.7_no-werror.patch b/dev-java/jffi/files/jffi-1.2.7_no-werror.patch new file mode 100644 index 00000000000..517a1e546d8 --- /dev/null +++ b/dev-java/jffi/files/jffi-1.2.7_no-werror.patch @@ -0,0 +1,31 @@ +diff --git a/jffi-1.2.7/jni/GNUmakefile b/jffi-1.2.7/jni/GNUmakefile +index 27737be..98f147e 100755 +--- a/jffi-1.2.7/jni/GNUmakefile ++++ b/jffi-1.2.7/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/jffi-1.2.7/libtest/GNUmakefile b/jffi-1.2.7/libtest/GNUmakefile +index 9e70664..72e4cc9 100644 +--- a/jffi-1.2.7/libtest/GNUmakefile ++++ b/jffi-1.2.7/libtest/GNUmakefile +@@ -44,10 +44,10 @@ TEST_OBJS := $(patsubst $(SRC_DIR)/%.c, $(TEST_BUILD_DIR)/%.o, $(TEST_SRCS)) + # Compiler/linker flags from: + # http://weblogs.java.net/blog/kellyohair/archive/2006/01/compilation_of_1.html + JFLAGS = -fno-omit-frame-pointer -fno-strict-aliasing +-OFLAGS = -O2 $(JFLAGS) +-WFLAGS = -W -Werror -Wall -Wno-unused -Wno-parentheses ++OFLAGS = $(JFLAGS) ++WFLAGS = -W -Wall -Wno-unused -Wno-parentheses + PICFLAGS = -fPIC +-SOFLAGS = -shared -Wl,-O1 ++SOFLAGS = -shared + LDFLAGS += $(SOFLAGS) + + IFLAGS = -I"$(BUILD_DIR)" diff --git a/dev-java/jffi/files/jffi-1.2.8-junit-4.11.patch b/dev-java/jffi/files/jffi-1.2.8-junit-4.11.patch new file mode 100644 index 00000000000..ac3843a0053 --- /dev/null +++ b/dev-java/jffi/files/jffi-1.2.8-junit-4.11.patch @@ -0,0 +1,14 @@ +--- a/src/test/java/com/kenai/jffi/NumberTest.java ++++ b/src/test/java/com/kenai/jffi/NumberTest.java +@@ -234,9 +234,8 @@ + private void returnF32(InvokerType type) { + LibNumberTest lib = UnitHelper.loadTestLibrary(LibNumberTest.class, type); + float[] values = { 0f, 1.0f, -2.0f }; +- for (int i = 0; i < values.length; ++i) { +- assertEquals("Value not returned correctly", values[i], lib.ret_float(values[i]), 0.1f); +- } ++ float[] lib_values = { lib.ret_float(0f), lib.ret_float(1.0f), lib.ret_float(-2.0f) }; ++ assertArrayEquals("Value not returned correctly", values, lib_values, 0.1f); + } + + @Test public void returnDefaultF64() { diff --git a/dev-java/jffi/files/jffi-1.2.8-makefile.patch b/dev-java/jffi/files/jffi-1.2.8-makefile.patch new file mode 100644 index 00000000000..7f9f07a500c --- /dev/null +++ b/dev-java/jffi/files/jffi-1.2.8-makefile.patch @@ -0,0 +1,52 @@ +--- jni/GNUmakefile ++++ jni/GNUmakefile +@@ -41,6 +41,7 @@ + JFFI_BUILD_DIR = $(BUILD_DIR)/jffi + + ifeq ($(USE_SYSTEM_LIBFFI),1) ++ LIBFFI = + LIBFFI_LIBS ?= $(shell pkg-config --libs libffi) + LIBFFI_CFLAGS ?= $(shell pkg-config --cflags libffi) + else +@@ -64,9 +65,8 @@ + OFLAGS = -O2 $(JFLAGS) + + # MacOS headers aren't completely warning free, so turn them off +-WERROR = -Werror + ifneq ($(OS),darwin) +- WFLAGS += -Wundef $(WERROR) ++ WFLAGS += -Wundef + endif + WFLAGS += -W -Wall -Wno-unused -Wno-parentheses -Wno-unused-parameter + PICFLAGS = -fPIC +@@ -279,7 +279,7 @@ + @echo "JFFI_BUILD_DIR=$(JFFI_BUILD_DIR)" + @echo "OBJS=$(OBJS)" + +-$(LIBJFFI): $(OBJS) $(LIBFFI_LIBS) ++$(LIBJFFI): $(OBJS) $(LIBFFI) + $(CC) -o $@ $(LDFLAGS) $(SOFLAGS) $(OBJS) $(LIBFFI_LIBS) $(LIBS) + $(STRIP) $@ + +@@ -291,7 +291,7 @@ + @mkdir -p $(@D) + @$(CC) $(CFLAGS) -o $@ -c $< + +-$(OBJS) : $(LIBFFI_LIBS) ++$(OBJS) : $(LIBFFI) + + ifeq ($(OS), darwin) + build_ffi = \ +--- libtest/GNUmakefile ++++ libtest/GNUmakefile +@@ -44,8 +44,8 @@ + # Compiler/linker flags from: + # http://weblogs.java.net/blog/kellyohair/archive/2006/01/compilation_of_1.html + JFLAGS = -fno-omit-frame-pointer -fno-strict-aliasing +-OFLAGS = -O2 $(JFLAGS) +-WFLAGS = -W -Werror -Wall -Wno-unused -Wno-unused-parameter -Wno-parentheses ++OFLAGS = $(JFLAGS) ++WFLAGS = -W -Wall -Wno-unused -Wno-unused-parameter -Wno-parentheses + PICFLAGS = -fPIC + SOFLAGS = -shared -Wl,-O1 + LDFLAGS += $(SOFLAGS) 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 00000000000..d8114185ee4 --- /dev/null +++ b/dev-java/jffi/files/jffi_maven-build.xml @@ -0,0 +1,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =================================== WARNING =================================== + JUnit is not present in your $ANT_HOME/lib directory. Tests not executed. + =============================================================================== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 00000000000..1f4dad71570 --- /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/* +} 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 00000000000..6fc2b5a3c66 --- /dev/null +++ b/dev-java/jffi/jffi-1.0.11.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +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 + 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 + + # 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 + 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/* +} diff --git a/dev-java/jffi/jffi-1.2.5.ebuild b/dev-java/jffi/jffi-1.2.5.ebuild new file mode 100644 index 00000000000..d7b2899f000 --- /dev/null +++ b/dev-java/jffi/jffi-1.2.5.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +JAVA_PKG_IUSE="doc source test" + +inherit eutils java-pkg-2 java-ant-2 versionator vcs-snapshot + +DESCRIPTION="An optimized Java interface to libffi" +HOMEPAGE="https://github.com/jnr/jffi" +SRC_URI="https://github.com/jnr/jffi/tarball/${PV} -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 LGPL-3 )" +SLOT="1.2" +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 + )" + +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 > src/main/java/com/kenai/jffi/Version.java <<-EOF + 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 > boot.properties <<-EOF + 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/* +} diff --git a/dev-java/jffi/jffi-1.2.6.ebuild b/dev-java/jffi/jffi-1.2.6.ebuild new file mode 100644 index 00000000000..c9f8a54a731 --- /dev/null +++ b/dev-java/jffi/jffi-1.2.6.ebuild @@ -0,0 +1,120 @@ +# Copyright 1999-2013 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 vcs-snapshot + +DESCRIPTION="An optimized Java interface to libffi" +HOMEPAGE="https://github.com/jnr/jffi" +SRC_URI="https://github.com/jnr/jffi/tarball/${PV} -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 LGPL-3 )" +SLOT="1.2" +KEYWORDS="~amd64 ~ppc ~x86 ~ppc-macos ~x64-macos ~x86-macos" +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 + )" + +java_prepare() { + cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die + epatch "${FILESDIR}"/${P}_no-werror.patch + + # misc fixes for Darwin + if [[ ${CHOST} == *-darwin* ]] ; then + local uarch + # don't do multiarch + # avoid using Xcode stuff + # use Prefix' headers + # don't mess with deployment target + # set install_name + use x64-macos && uarch=x86_64 + use x86-macos && uarch=i386 + use ppc-macos && uarch=ppc + sed -i \ + -e "/ARCHES +=/s/=.*$/= ${uarch}/" \ + -e "/XCODE=/s:=.*$:=${EPREFIX}:" \ + -e "/MACSDK/s/^/#/" \ + -e "/MACOSX_DEPLOYMENT_TARGET=/s/MAC/NOMAC/" \ + -e "/SOFLAGS =/s:=.*:= -install_name ${EPREFIX}/usr/lib/jffi-${SLOT}/libjffi-${SLOT}.jnilib:" \ + jni/GNUmakefile || die + fi + + find "${WORKDIR}" -iname '*.jar' -delete +} + +JAVA_ANT_REWRITE_CLASSPATH="yes" + +EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}" +src_compile() { + # generate Version.java + cat > src/main/java/com/kenai/jffi/Version.java <<-EOF + 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() { + local libname=".so" + + cat > boot.properties <<-EOF + jffi.boot.library.path = ${JAVA_PKG_LIBDEST} + EOF + jar -uf target/${PN}.jar boot.properties || die + + [[ ${CHOST} == *-darwin* ]] && libname=.jnilib + + java-pkg_dojar target/${PN}.jar + java-pkg_doso build/jni/lib${PN}-$(get_version_component_range 1-2)${libname} + + use doc && java-pkg_dojavadoc target/site/apidocs + use source && java-pkg_dosrc src/main/java/* +} diff --git a/dev-java/jffi/jffi-1.2.7-r2.ebuild b/dev-java/jffi/jffi-1.2.7-r2.ebuild new file mode 100644 index 00000000000..151d77b05ab --- /dev/null +++ b/dev-java/jffi/jffi-1.2.7-r2.ebuild @@ -0,0 +1,123 @@ +# Copyright 1999-2015 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 vcs-snapshot + +DESCRIPTION="An optimized Java interface to libffi" +HOMEPAGE="https://github.com/jnr/jffi" +SRC_URI="https://github.com/jnr/jffi/tarball/${PV} -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 LGPL-3 )" +SLOT="1.2" +KEYWORDS="amd64 ~ppc x86 ~ppc-macos ~x64-macos ~x86-macos" + +COMMON_DEP="virtual/libffi:0" + +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.5" + +DEPEND="${COMMON_DEP} + >=virtual/jdk-1.5 + virtual/pkgconfig + test? ( + dev-java/ant-junit4:0 + dev-java/junit:4 + )" + +java_prepare() { + cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die + epatch "${FILESDIR}"/${P}-makefile.patch + epatch "${FILESDIR}"/${P}-junit-4.11.patch + + # misc fixes for Darwin + if [[ ${CHOST} == *-darwin* ]] ; then + local uarch + # don't do multiarch + # avoid using Xcode stuff + # use Prefix' headers + # don't mess with deployment target + # set install_name + use x64-macos && uarch=x86_64 + use x86-macos && uarch=i386 + use ppc-macos && uarch=ppc + sed -i \ + -e "/ARCHES +=/s/=.*$/= ${uarch}/" \ + -e "/XCODE=/s:=.*$:=${EPREFIX}:" \ + -e "/MACSDK/s/^/#/" \ + -e "/MACOSX_DEPLOYMENT_TARGET=/s/MAC/NOMAC/" \ + -e "/SOFLAGS =/s:=.*:= -install_name ${EPREFIX}/usr/lib/jffi-${SLOT}/libjffi-${SLOT}.jnilib:" \ + jni/GNUmakefile || die + fi + + find "${WORKDIR}" -iname '*.jar' -delete || die +} + +JAVA_ANT_REWRITE_CLASSPATH="yes" + +EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}" +src_compile() { + # generate Version.java + cat > src/main/java/com/kenai/jffi/Version.java <<-EOF + 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="ant-junit4,junit-4" + +src_test() { + # build native test library + emake BUILD_DIR=build -f libtest/GNUmakefile + + _JAVA_OPTIONS="-Djffi.boot.library.path=${S}/build/jni" \ + java-pkg-2_src_test +} + +src_install() { + local libname=".so" + + [[ ${CHOST} == *-darwin* ]] && libname=.jnilib + java-pkg_doso build/jni/lib${PN}-$(get_version_component_range 1-2)${libname} + + # must by after _doso to have JAVA_PKG_LIBDEST set + cat > boot.properties <<-EOF + 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/* +} diff --git a/dev-java/jffi/jffi-1.2.7.ebuild b/dev-java/jffi/jffi-1.2.7.ebuild new file mode 100644 index 00000000000..7fef0f62943 --- /dev/null +++ b/dev-java/jffi/jffi-1.2.7.ebuild @@ -0,0 +1,122 @@ +# 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 vcs-snapshot + +DESCRIPTION="An optimized Java interface to libffi" +HOMEPAGE="https://github.com/jnr/jffi" +SRC_URI="https://github.com/jnr/jffi/tarball/${PV} -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 LGPL-3 )" +SLOT="1.2" +KEYWORDS="amd64 ppc x86 ~ppc-macos ~x64-macos ~x86-macos" + +COMMON_DEP="virtual/libffi:0" + +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.5" + +DEPEND="${COMMON_DEP} + >=virtual/jdk-1.5 + virtual/pkgconfig + test? ( + dev-java/ant-junit4:0 + dev-java/junit:4 + )" + +java_prepare() { + cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die + epatch "${FILESDIR}"/${P}_no-werror.patch + epatch "${FILESDIR}"/${P}-junit-4.11.patch + + # misc fixes for Darwin + if [[ ${CHOST} == *-darwin* ]] ; then + local uarch + # don't do multiarch + # avoid using Xcode stuff + # use Prefix' headers + # don't mess with deployment target + # set install_name + use x64-macos && uarch=x86_64 + use x86-macos && uarch=i386 + use ppc-macos && uarch=ppc + sed -i \ + -e "/ARCHES +=/s/=.*$/= ${uarch}/" \ + -e "/XCODE=/s:=.*$:=${EPREFIX}:" \ + -e "/MACSDK/s/^/#/" \ + -e "/MACOSX_DEPLOYMENT_TARGET=/s/MAC/NOMAC/" \ + -e "/SOFLAGS =/s:=.*:= -install_name ${EPREFIX}/usr/lib/jffi-${SLOT}/libjffi-${SLOT}.jnilib:" \ + jni/GNUmakefile || die + fi + + find "${WORKDIR}" -iname '*.jar' -delete +} + +JAVA_ANT_REWRITE_CLASSPATH="yes" + +EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}" +src_compile() { + # generate Version.java + cat > src/main/java/com/kenai/jffi/Version.java <<-EOF + 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="ant-junit4,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() { + local libname=".so" + + cat > boot.properties <<-EOF + jffi.boot.library.path = ${JAVA_PKG_LIBDEST} + EOF + jar -uf target/${PN}.jar boot.properties || die + + [[ ${CHOST} == *-darwin* ]] && libname=.jnilib + + java-pkg_dojar target/${PN}.jar + java-pkg_doso build/jni/lib${PN}-$(get_version_component_range 1-2)${libname} + + use doc && java-pkg_dojavadoc target/site/apidocs + use source && java-pkg_dosrc src/main/java/* +} diff --git a/dev-java/jffi/jffi-1.2.8.ebuild b/dev-java/jffi/jffi-1.2.8.ebuild new file mode 100644 index 00000000000..064bc69413d --- /dev/null +++ b/dev-java/jffi/jffi-1.2.8.ebuild @@ -0,0 +1,124 @@ +# Copyright 1999-2015 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="https://github.com/jnr/jffi" +SRC_URI="https://github.com/jnr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="|| ( Apache-2.0 LGPL-3 )" +SLOT="1.2" +KEYWORDS="~amd64 ~ppc ~x86 ~ppc-macos ~x64-macos ~x86-macos" + +COMMON_DEP="virtual/libffi:0" + +RDEPEND="${COMMON_DEP} + >=virtual/jre-1.5" + +DEPEND="${COMMON_DEP} + >=virtual/jdk-1.5 + virtual/pkgconfig + test? ( + dev-java/ant-junit4:0 + dev-java/junit:4 + )" + +java_prepare() { + cp "${FILESDIR}"/${PN}_maven-build.xml build.xml || die + epatch "${FILESDIR}"/${PN}-1.2.8-makefile.patch + epatch "${FILESDIR}"/${PN}-1.2.8-junit-4.11.patch + + # misc fixes for Darwin + if [[ ${CHOST} == *-darwin* ]] ; then + local uarch + # don't do multiarch + # avoid using Xcode stuff + # use Prefix' headers + # don't mess with deployment target + # set install_name + use x64-macos && uarch=x86_64 + use x86-macos && uarch=i386 + use ppc-macos && uarch=ppc + sed -i \ + -e "/ARCHES +=/s/=.*$/= ${uarch}/" \ + -e "/XCODE=/s:=.*$:=${EPREFIX}:" \ + -e "/MACSDK/s/^/#/" \ + -e "/MACOSX_DEPLOYMENT_TARGET=/s/MAC/NOMAC/" \ + -e "/SOFLAGS =/s:=.*:= -install_name ${EPREFIX}/usr/lib/jffi-${SLOT}/libjffi-${SLOT}.jnilib:" \ + jni/GNUmakefile || die + fi + + find "${WORKDIR}" -iname '*.jar' -delete || die +} + +JAVA_ANT_REWRITE_CLASSPATH="yes" + +EANT_EXTRA_ARGS="-Dmaven.build.finalName=${PN}" +src_compile() { + # generate Version.java + cat > src/main/java/com/kenai/jffi/Version.java <<-EOF + 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 + CCACHE= + -f jni/GNUmakefile + ) + emake "${args[@]}" +} + +EANT_TEST_GENTOO_CLASSPATH="ant-junit4,junit-4" + +src_test() { + # build native test library + emake BUILD_DIR=build -f libtest/GNUmakefile + + _JAVA_OPTIONS="-Djffi.boot.library.path=${S}/build/jni" \ + java-pkg-2_src_test +} + +src_install() { + local libname=".so" + + [[ ${CHOST} == *-darwin* ]] && libname=.jnilib + java-pkg_doso build/jni/lib${PN}-$(get_version_component_range 1-2)${libname} + + # must by after _doso to have JAVA_PKG_LIBDEST set + cat > boot.properties <<-EOF + 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/* +} diff --git a/dev-java/jffi/metadata.xml b/dev-java/jffi/metadata.xml new file mode 100644 index 00000000000..16e36e4cef4 --- /dev/null +++ b/dev-java/jffi/metadata.xml @@ -0,0 +1,8 @@ + + + + java + + jnr/jffi + + -- cgit v1.2.1