diff options
author | 2021-12-20 08:55:39 -0800 | |
---|---|---|
committer | 2022-02-07 08:59:57 +0100 | |
commit | 77bf00d28f1a424b8ab2fae483927df1cd1b5bf8 (patch) | |
tree | 2d7d72d8aef3433e42cbf022855286e8e6a0b577 /dev-java | |
parent | dev-python/pyamg: Bump to 4.2.2 (diff) | |
download | gentoo-77bf00d28f1a424b8ab2fae483927df1cd1b5bf8.tar.gz gentoo-77bf00d28f1a424b8ab2fae483927df1cd1b5bf8.tar.bz2 gentoo-77bf00d28f1a424b8ab2fae483927df1cd1b5bf8.zip |
dev-java/snappy: Add 1.1.7.8
Signed-off-by: Yuan Liao <liaoyuan@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/23438/commits/1c957771ab63735f4981bb3ee5243e442c802655
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/snappy/Manifest | 1 | ||||
-rw-r--r-- | dev-java/snappy/files/1.1.7.8-gentoo.patch | 28 | ||||
-rw-r--r-- | dev-java/snappy/files/1.1.7.8-java-version-target.patch | 47 | ||||
-rw-r--r-- | dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch | 38 | ||||
-rw-r--r-- | dev-java/snappy/files/1.1.7.8-unbundle-bitshuffle.patch | 26 | ||||
-rw-r--r-- | dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch | 54 | ||||
-rw-r--r-- | dev-java/snappy/snappy-1.1.7.8.ebuild | 103 |
7 files changed, 297 insertions, 0 deletions
diff --git a/dev-java/snappy/Manifest b/dev-java/snappy/Manifest index 3b685046ec3a..7c04b3f1d2a6 100644 --- a/dev-java/snappy/Manifest +++ b/dev-java/snappy/Manifest @@ -1 +1,2 @@ DIST snappy-java-1.1.0.1.tar.gz 4909520 BLAKE2B 65daf3d01f1cb46dd0d51609e2d95fc954d56e41fbb2d22e9eca24fad16a6d4ba16083e633fb13e68dacf6c2fb0d10ec6fb1e6dcdda6dc611b58b172710fcd62 SHA512 32d0afce880ecccd814f7738eb375a13bd533998c73d79908964061337730ad76fb4794f78fd1fcdc4a4562db57cbc4c6f912d9f3351b1d75b12ce3224ec387e +DIST snappy-java-1.1.7.8.tar.gz 3558859 BLAKE2B 871f4190212399c5bd34a72766d7f3abca9a09608d9acddc126905bcdafc723613aa33d0cdb59419e6bfba46ff27e91f5ca5382073dd895d5601f6d84929ef96 SHA512 8129d4ae2abd78f967c07e7f13df8cb9043cc34bd8346be28625a3d2bea06674ce6dd09b521af2b7053b25d0132a0e822b78c06e09bacd0067ba8178bd167691 diff --git a/dev-java/snappy/files/1.1.7.8-gentoo.patch b/dev-java/snappy/files/1.1.7.8-gentoo.patch new file mode 100644 index 000000000000..b4a58e6482be --- /dev/null +++ b/dev-java/snappy/files/1.1.7.8-gentoo.patch @@ -0,0 +1,28 @@ +--- a/Makefile ++++ b/Makefile +@@ -124,11 +124,7 @@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + + $(SNAPPY_OUT)/$(LIBNAME): $(SNAPPY_OBJ) +- $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) -lsnappy -lbitshuffle +- # Workaround for strip Protocol error when using VirtualBox on Mac +- cp $@ /tmp/$(@F) +- $(STRIP) /tmp/$(@F) +- cp /tmp/$(@F) $@ ++ $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) -lsnappy -lbitshuffle $(LDFLAGS) + + clean-native: + rm -rf $(SNAPPY_OUT) +--- a/Makefile.common ++++ b/Makefile.common +@@ -274,8 +274,8 @@ + + CXX := $($(os_arch)_CXX) + STRIP := $($(os_arch)_STRIP) +-CXXFLAGS := $($(os_arch)_CXXFLAGS) +-LINKFLAGS := $($(os_arch)_LINKFLAGS) ++CXXFLAGS := $($(os_arch)_CXXFLAGS) $(CXXFLAGS) ++LINKFLAGS := $($(os_arch)_LINKFLAGS) $(LDFLAGS) + LIBNAME := $($(os_arch)_LIBNAME) + SNAPPY_FLAGS := $($(os_arch)_SNAPPY_FLAGS) + diff --git a/dev-java/snappy/files/1.1.7.8-java-version-target.patch b/dev-java/snappy/files/1.1.7.8-java-version-target.patch new file mode 100644 index 000000000000..a852d0bdb807 --- /dev/null +++ b/dev-java/snappy/files/1.1.7.8-java-version-target.patch @@ -0,0 +1,47 @@ +From e7d1d0167426790ba9b1d28ffa11e0d0c523f3b5 Mon Sep 17 00:00:00 2001 +From: Yuan Liao <liaoyuan@gmail.com> +Date: Sun, 6 Feb 2022 08:29:20 -0800 +Subject: [PATCH] Allow Java version target to be specified using variable + +Signed-off-by: Yuan Liao <liaoyuan@gmail.com> +--- + Makefile | 4 ++-- + Makefile.common | 2 ++ + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 1d82a8a..8eaa319 100644 +--- a/Makefile ++++ b/Makefile +@@ -92,13 +92,13 @@ snappy-header: $(SNAPPY_CMAKE_CACHE) + + $(TARGET)/jni-classes/org/xerial/snappy/SnappyNative.class: $(SRC)/org/xerial/snappy/SnappyNative.java + @mkdir -p $(TARGET)/jni-classes +- $(JAVAC) -source 1.7 -target 1.7 -h $(SRC)/org/xerial/snappy/ -d $(TARGET)/jni-classes -sourcepath $(SRC) $< ++ $(JAVAC) -source $(JAVA_SOURCE) -target $(JAVA_TARGET) -h $(SRC)/org/xerial/snappy/ -d $(TARGET)/jni-classes -sourcepath $(SRC) $< + + $(SRC)/org/xerial/snappy/SnappyNative.h: $(TARGET)/jni-classes/org/xerial/snappy/SnappyNative.class + + $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNative.class: $(SRC)/org/xerial/snappy/BitShuffleNative.java + @mkdir -p $(TARGET)/jni-classes +- $(JAVAC) -source 1.7 -target 1.7 -h $(SRC)/org/xerial/snappy/ -d $(TARGET)/jni-classes -sourcepath $(SRC) $< ++ $(JAVAC) -source $(JAVA_SOURCE) -target $(JAVA_TARGET) -h $(SRC)/org/xerial/snappy/ -d $(TARGET)/jni-classes -sourcepath $(SRC) $< + + $(SRC)/org/xerial/snappy/BitShuffleNative.h: $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNative.class + +diff --git a/Makefile.common b/Makefile.common +index 534bc4f..86d839b 100755 +--- a/Makefile.common ++++ b/Makefile.common +@@ -10,6 +10,8 @@ endif + JAVA := "$$JAVA_HOME/bin/java" + JAVAC := "$$JAVA_HOME/bin/javac" + JAVAH := "$$JAVA_HOME/bin/javah" ++JAVA_SOURCE := 1.8 ++JAVA_TARGET := 1.8 + + LITTLE_ENDIAN := "Little Endian" + BIG_ENDIAN := "Big Endian" +-- +2.34.1 + diff --git a/dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch b/dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch new file mode 100644 index 000000000000..0c64240f12a3 --- /dev/null +++ b/dev-java/snappy/files/1.1.7.8-remove-perl-usage.patch @@ -0,0 +1,38 @@ +From 1413a33ef00e722bacab2e17297b89bb55b2bd49 Mon Sep 17 00:00:00 2001 +From: Yuan Liao <liaoyuan@gmail.com> +Date: Tue, 21 Dec 2021 07:33:52 -0800 +Subject: [PATCH] Makefile: Eliminate usage of the `perl` command + +dev-lang/perl is not an implicit system dependency, so we cannot assume +its existence during build time. The Makefile uses the `perl` command +to generate the name of the JAR being built with it, but the ebuild uses +Ant and a custom build.xml to build the JAR, and it uses the Makefile to +build only the JNI part, thus the name of JAR in the Makefile will not +be used. For this reason, this package can still be built and installed +without dev-lang/perl. However, a QA notice for absent `perl` command +will appear in this case. Rather than declaring dev-lang/perl as a +dependency, it might be better to eliminate usage of the `perl` command +if it is never used in any meaningful way. + +Signed-off-by: Yuan Liao <liaoyuan@gmail.com> +--- + Makefile | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index a7bd87c..d1d3d32 100644 +--- a/Makefile ++++ b/Makefile +@@ -138,7 +138,8 @@ NATIVE_DIR:=src/main/resources/org/xerial/snappy/native/$(OS_NAME)/$(OS_ARCH) + NATIVE_TARGET_DIR:=$(TARGET)/classes/org/xerial/snappy/native/$(OS_NAME)/$(OS_ARCH) + NATIVE_DLL:=$(NATIVE_DIR)/$(LIBNAME) + +-snappy-jar-version:=snappy-java-$(shell perl -npe "s/version in ThisBuild\s+:=\s+\"(.*)\"/\1/" version.sbt | sed -e "/^$$/d") ++#snappy-jar-version:=snappy-java-$(shell perl -npe "s/version in ThisBuild\s+:=\s+\"(.*)\"/\1/" version.sbt | sed -e "/^$$/d") ++snappy-jar-version:=snappy + + native: jni-header snappy-header $(NATIVE_DLL) + native-nocmake: jni-header $(NATIVE_DLL) +-- +2.32.0 + diff --git a/dev-java/snappy/files/1.1.7.8-unbundle-bitshuffle.patch b/dev-java/snappy/files/1.1.7.8-unbundle-bitshuffle.patch new file mode 100644 index 000000000000..e4f699ad123e --- /dev/null +++ b/dev-java/snappy/files/1.1.7.8-unbundle-bitshuffle.patch @@ -0,0 +1,26 @@ +--- a/Makefile ++++ b/Makefile +@@ -36,11 +36,11 @@ + + $(SNAPPY_OUT)/%.o: $(BITSHUFFLE_SRC_DIR)/%.c + @mkdir -p $(@D) +- $(CXX) $(CXXFLAGS) $(CXXFLAGS_BITSHUFFLE) -c $< -o $@ ++ $(CXX) $(CXXFLAGS) -c $< -o $@ + +-SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/,$(patsubst %.cc,%.o,$(SNAPPY_CC)) $(patsubst %.c,%.o,$(BITSHUFFLE_C)) SnappyNative.o BitShuffleNative.o) ++SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/,$(patsubst %.cc,%.o,$(SNAPPY_CC)) SnappyNative.o BitShuffleNative.o) + +-CXXFLAGS:=$(CXXFLAGS) -I$(SNAPPY_SRC_DIR) -I$(SNAPPY_OUT) -I$(BITSHUFFLE_SRC_DIR) ++CXXFLAGS:=$(CXXFLAGS) -I$(SNAPPY_SRC_DIR) -I$(SNAPPY_OUT) + + ifndef CXXFLAGS_BITSHUFFLE + ifeq ($(OS_NAME)-$(OS_ARCH),Linux-x86_64) +@@ -124,7 +124,7 @@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + + $(SNAPPY_OUT)/$(LIBNAME): $(SNAPPY_OBJ) +- $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) -lsnappy ++ $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) -lsnappy -lbitshuffle + # Workaround for strip Protocol error when using VirtualBox on Mac + cp $@ /tmp/$(@F) + $(STRIP) /tmp/$(@F) diff --git a/dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch b/dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch new file mode 100644 index 000000000000..6113019be3ea --- /dev/null +++ b/dev-java/snappy/files/1.1.7.8-unbundle-snappy.patch @@ -0,0 +1,54 @@ +diff --git a/Makefile b/Makefile +index 0821c87..04f0435 100644 +--- a/Makefile ++++ b/Makefile +@@ -8,7 +8,8 @@ + + SNAPPY_OUT:=$(TARGET)/snappy-$(SNAPPY_VERSION)-$(os_arch) + SNAPPY_ARCHIVE:=$(TARGET)/snappy-$(SNAPPY_VERSION).tar.gz +-SNAPPY_CC:=snappy-sinksource.cc snappy-stubs-internal.cc snappy.cc ++#SNAPPY_CC:=snappy-sinksource.cc snappy-stubs-internal.cc snappy.cc ++SNAPPY_CC:= + SNAPPY_SRC_DIR:=$(TARGET)/snappy-$(SNAPPY_VERSION) + SNAPPY_SRC:=$(addprefix $(SNAPPY_SRC_DIR)/,$(SNAPPY_CC)) + SNAPPY_GIT_REPO_URL:=https://github.com/google/snappy +@@ -100,7 +101,8 @@ + + $(SRC)/org/xerial/snappy/BitShuffleNative.h: $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNative.class + +-$(SNAPPY_SRC): $(SNAPPY_GIT_UNPACKED) ++$(SNAPPY_SRC): ++# $(SNAPPY_GIT_UNPACKED) + + # aarch64 can use big-endian optimzied code + ifeq ($(OS_ARCH),aarch64) +@@ -122,7 +124,7 @@ + $(CXX) $(CXXFLAGS) -c $< -o $@ + + $(SNAPPY_OUT)/$(LIBNAME): $(SNAPPY_OBJ) +- $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) ++ $(CXX) $(CXXFLAGS) -o $@ $+ $(LINKFLAGS) -lsnappy + # Workaround for strip Protocol error when using VirtualBox on Mac + cp $@ /tmp/$(@F) + $(STRIP) /tmp/$(@F) +@@ -140,9 +142,9 @@ + #snappy-jar-version:=snappy-java-$(shell perl -npe "s/version in ThisBuild\s+:=\s+\"(.*)\"/\1/" version.sbt | sed -e "/^$$/d") + snappy-jar-version:=snappy + +-native: jni-header snappy-header $(NATIVE_DLL) +-native-nocmake: jni-header $(NATIVE_DLL) +-snappy: native $(TARGET)/$(snappy-jar-version).jar ++native: $(NATIVE_DLL) ++native-nocmake: $(NATIVE_DLL) ++snappy: native + + native-all: native win32 win64 native-arm linux32 linux64 linux-ppc64le + +@@ -151,6 +153,7 @@ + cp $(SNAPPY_OUT)/$(LIBNAME) $@ + @mkdir -p $(NATIVE_TARGET_DIR) + cp $(SNAPPY_OUT)/$(LIBNAME) $(NATIVE_TARGET_DIR)/$(LIBNAME) ++ cp $< $(TARGET)/ + + package: $(TARGET)/$(snappy-jar-version).jar + diff --git a/dev-java/snappy/snappy-1.1.7.8.ebuild b/dev-java/snappy/snappy-1.1.7.8.ebuild new file mode 100644 index 000000000000..63853626e97c --- /dev/null +++ b/dev-java/snappy/snappy-1.1.7.8.ebuild @@ -0,0 +1,103 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +JAVA_PKG_IUSE="doc source test" +MAVEN_ID="org.xerial.snappy:snappy-java:1.1.7.8" + +inherit java-pkg-2 java-ant-2 toolchain-funcs + +MY_PN="${PN}-java" +MY_P="${MY_PN}-${PV}" + +DESCRIPTION="Snappy compressor/decompressor for Java" +HOMEPAGE="https://github.com/xerial/snappy-java/" +SRC_URI="https://github.com/xerial/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="1.1" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + +# Tests require org.apache.hadoop:hadoop-common:2.7.*, which is yet to be +# packaged. Some extra steps are required before running the tests: +# 1. Download hadoop-common 2.7.x from https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-common +# 2. Set EANT_GENTOO_CLASSPATH_EXTRA to the path to hadoop-common-2.7.*.jar +# 3. arm, arm64 and ppc64 only: Install test dependencies that are unkeyworded +# 4. Set ALLOW_TEST="all" +RESTRICT="test" + +CDEPEND="dev-java/osgi-core-api:0 + app-arch/snappy + dev-libs/bitshuffle" + +# Some test dependencies are unsatisfied on arm, arm64, and ppc64 +DEPEND=">=virtual/jdk-1.8:* + ${CDEPEND} + test? ( + dev-java/ant-junit4:0 + dev-java/commons-io:1 + !arm? ( + dev-java/commons-lang:2.1 + ) + !arm? ( !arm64? ( !ppc64? ( + dev-java/plexus-classworlds:0 + dev-java/xerial-core:0 + ) ) ) + )" + +RDEPEND=">=virtual/jre-1.8:* + ${CDEPEND}" + +S="${WORKDIR}/${MY_P}" + +JAVA_ANT_REWRITE_CLASSPATH="true" +JAVA_ANT_CLASSPATH_TAGS="javac javadoc" +EANT_GENTOO_CLASSPATH="osgi-core-api" +EANT_TEST_GENTOO_CLASSPATH=" + ${EANT_GENTOO_CLASSPATH} + commons-io-1 + commons-lang-2.1 + plexus-classworlds + xerial-core +" + +src_prepare() { + cp "${FILESDIR}/1.x-build.xml" build.xml || die + rm -r src/main/resources/org/xerial/snappy/native || die + eapply "${FILESDIR}/${PV}-java-version-target.patch" + eapply "${FILESDIR}/${PV}-remove-perl-usage.patch" + eapply "${FILESDIR}/${PV}-unbundle-snappy.patch" + eapply "${FILESDIR}/${PV}-unbundle-bitshuffle.patch" + eapply "${FILESDIR}/${PV}-gentoo.patch" + java-pkg-2_src_prepare +} + +src_compile() { + emake \ + CXX="$(tc-getCXX)" \ + JAVA_SOURCE="$(java-pkg_get-source)" \ + JAVA_TARGET="$(java-pkg_get-target)" + java-pkg-2_src_compile +} + +src_test() { + cp -r src/test/resources/org/xerial/snappy/* \ + src/test/java/org/xerial/snappy || die + java-pkg-2_src_test +} + +src_install() { + local jniext=.so + if [[ ${CHOST} == *-darwin* ]] ; then + jniext=.jnilib + # avoid install_name check failure + install_name_tool -id "@loader_path/libsnappyjava${jniext}" \ + "target/libsnappyjava${jniext}" + fi + java-pkg_doso "target/libsnappyjava${jniext}" + java-pkg_dojar "target/${PN}.jar" + + use source && java-pkg_dosrc src/main/java/* + use doc && java-pkg_dojavadoc target/site/apidocs +} |