archivers/snappy-java: update 1.0.4.1 -> 1.1.7.5, submitter becomes maintainer

- Builds with sbt instead of maven
- Java 11 compatible
- Testing moved to test target
- Builds in poudriere with openjdk8 and openjdk11
- All tests pass
- All databases/cassandra4 tests using snappy-java pass

PR:		246348
Submitted by:	Angelo Polo <language.devel@gmail.com>
Relnotes:	https://github.com/xerial/snappy-java/blob/master/Milestone.md
This commit is contained in:
Kurt Jaeger 2020-05-14 11:15:14 +00:00
parent 0f055e1361
commit f601c9b0e5
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=535224
6 changed files with 158 additions and 49 deletions

View File

@ -1,24 +1,19 @@
# Created by: Radim Kolar <hsn@filez.com>
# $FreeBSD$
# Note to committers:
# With each version update, a new maven repository must be created and distributed
# so build is repeatable and cluster-safe.
# With each version update, a new maven repository must be created
# and distributed so build is repeatable and cluster-safe.
PORTNAME= snappy
PORTVERSION= 1.0.4.1
DISTVERSIONPREFIX= snappy-java-
PORTREVISION= 2
PORTVERSION= 1.1.7.5
CATEGORIES= archivers java
MASTER_SITES= http://pkgs.fedoraproject.org/repo/pkgs/snappy/snappy-1.0.4.tar.gz/b69151652e82168bc5c643bcd6f07162/:source2 \
SF/bsdsrc/${.CURDIR:T}:source3
MASTER_SITES= LOCAL/pi:repo
PKGNAMESUFFIX= java
DISTFILES+= snappy-${PORTVERSION:R}.tar.gz:source2 \
FreeBSD-snappy-${PORTVERSION}-maven-repository.tar.gz:source3
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} \
FreeBSD-snappy-${PORTVERSION}-maven-repository.tar.gz
DISTFILES+= ${PORTNAME}-${PKGNAMESUFFIX}-repository-${PORTVERSION}${EXTRACT_SUFX}:repo
EXTRACT_ONLY= xerial-${PORTNAME}-${PKGNAMESUFFIX}-${PORTVERSION}_GH0${EXTRACT_SUFX} \
${PORTNAME}-${PKGNAMESUFFIX}-repository-${PORTVERSION}${EXTRACT_SUFX}
MAINTAINER= ports@FreeBSD.org
MAINTAINER= language.devel@gmail.com
COMMENT= Fast compressor/decompressor library
LICENSE= APACHE20
@ -27,34 +22,61 @@ BROKEN_armv6= fails to build: maven-assembly-plugin: Failed to retrieve numeric
BROKEN_armv7= fails to build: maven-assembly-plugin: Failed to retrieve numeric file attributes
BROKEN_powerpc64= fails to build: failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.14.1:test
BUILD_DEPENDS= ${LOCALBASE}/share/java/maven3/bin/mvn:devel/maven3
USE_GITHUB= yes
GH_ACCOUNT= xerial
GH_PROJECT= snappy-java
BUILD_DEPENDS= cmake:devel/cmake \
sbt:devel/sbt
USES= gmake
USE_JAVA= yes
USE_LDCONFIG= yes
MAKE_ARGS+= Default_CXX=${CXX}
MAKE_ARGS+= CXX="${CXX}"
TEST_TARGET= test
BITSHUFFLE_V= 0.3.2
PLIST_FILES= %%JAVAJARDIR%%/snappy-java.jar lib/libsnappyjava.so
USE_GITHUB= yes
GH_ACCOUNT= xerial \
google:google \
kiyo-masui:masui
GH_PROJECT= snappy-java \
snappy:google \
bitshuffle:masui
GH_TAGNAME= ${PORTVERSION} \
${PORTVERSION:R}:google \
${BITSHUFFLE_V}:masui
post-patch:
@${REINPLACE_CMD} -e 's|curl.*||g ; \
s|MVN:=mvn|MVN:=${LOCALBASE}/share/java/maven3/bin/mvn -Dmaven.repo.local=${WRKDIR}/repository --offline|g' \
${WRKSRC}/Makefile
PLIST_FILES= ${JAVAJARDIR}/snappy-java.jar lib/libsnappyjava.so
post-extract:
@${MKDIR} ${WRKSRC}/target
@${RM} ${WRKSRC}/sbt
@${CP} ${DISTDIR}/google-snappy-${PORTVERSION:R}_GH0${EXTRACT_SUFX} ${WRKSRC}/target/snappy-${PORTVERSION:R}${EXTRACT_SUFX}
@${CP} ${DISTDIR}/kiyo-masui-bitshuffle-${BITSHUFFLE_V}_GH0${EXTRACT_SUFX} ${WRKSRC}/target/bitshuffle-${BITSHUFFLE_V}${EXTRACT_SUFX}
do-build:
@${MKDIR} ${WRKSRC}/target
@${CP} ${DISTDIR}/snappy-${PORTVERSION:R}.tar.gz ${WRKSRC}/target/
cd ${WRKSRC} && ${SETENV} JAVA_HOME=${JAVA_HOME} \
${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} && ${LOCALBASE}/share/java/maven3/bin/mvn -Dmaven.repo.local=${WRKDIR}/repository --offline test
cd ${WRKSRC} && ${SETENV} JAVA_HOME=${JAVA_HOME} ${MAKE_ENV} \
${MAKE_CMD} ${MAKE_ARGS} SBT_IVY_HOME=${WRKDIR}/repository SBT_BOOT_DIR=${WRKDIR}/sbt_boot SBT_GLOBAL_DIR=${WRKDIR}/sbt_global
do-test:
cd ${WRKSRC} && ${SETENV} JAVA_HOME=${JAVA_HOME} ${MAKE_ENV} \
${MAKE_CMD} ${MAKE_ARGS} SBT_IVY_HOME=${WRKDIR}/repository SBT_BOOT_DIR=${WRKDIR}/sbt_boot SBT_GLOBAL_DIR=${WRKDIR}/sbt_global test
.include <bsd.port.pre.mk>
.if ${OPSYS} == FreeBSD
. if ${ARCH} == amd64
PLATFORM_DIR_SUFFIX= FreeBSD-x86_64
. elif ${ARCH} == i386
PLATFORM_DIR_SUFFIX= FreeBSD-x86
. else
PLATFORM_DIR_SUFFIX= Default
. endif
.else
PLATFORM_DIR_SUFFIX= Default
.endif
do-install:
${INSTALL_DATA} ${WRKSRC}/target/snappy-java-${PORTVERSION}.jar \
${STAGEDIR}${JAVAJARDIR}/snappy-java.jar
${INSTALL_LIB} ${WRKSRC}/target/snappy-${PORTVERSION:R}-Default/libsnappyjava.so \
${INSTALL_LIB} ${WRKSRC}/target/snappy-${PORTVERSION:R}-${PLATFORM_DIR_SUFFIX}/libsnappyjava.so \
${STAGEDIR}${LOCALBASE}/lib
.include <bsd.port.mk>
.include <bsd.port.post.mk>

View File

@ -1,6 +1,9 @@
SHA256 (snappy-1.0.4.tar.gz) = 4ad91adb1592b6de67ecaad2ade6c34b9cf98a0bbc74ac8786b520b529b3bf61
SIZE (snappy-1.0.4.tar.gz) = 1676541
SHA256 (FreeBSD-snappy-1.0.4.1-maven-repository.tar.gz) = 1d258eedabd2ff74954988b7d404ac803f55687b916f697179489c3a4cb0e243
SIZE (FreeBSD-snappy-1.0.4.1-maven-repository.tar.gz) = 8290287
SHA256 (xerial-snappy-java-snappy-java-1.0.4.1_GH0.tar.gz) = efb6d747d754779113b0c023886803c2daedb585b6ec80dd71ffa6a40a083f14
SIZE (xerial-snappy-java-snappy-java-1.0.4.1_GH0.tar.gz) = 5475057
TIMESTAMP = 1589051057
SHA256 (snappy-java-repository-1.1.7.5.tar.gz) = 8025714a5ab5bcd91cf5f0da77465948247b5b2b1b5ebd02a14f4a1bec19e067
SIZE (snappy-java-repository-1.1.7.5.tar.gz) = 222476258
SHA256 (xerial-snappy-java-1.1.7.5_GH0.tar.gz) = af428168ae017944eb775e46ddc8e459365610fdde813e4542b9337aed479d93
SIZE (xerial-snappy-java-1.1.7.5_GH0.tar.gz) = 3547828
SHA256 (google-snappy-1.1.7_GH0.tar.gz) = 3dfa02e873ff51a11ee02b9ca391807f0c8ea0529a4924afa645fbf97163f9d4
SIZE (google-snappy-1.1.7_GH0.tar.gz) = 1090550
SHA256 (kiyo-masui-bitshuffle-0.3.2_GH0.tar.gz) = c0b97632fdcf26c67db2634fda70ac05c1679b5f4d4bc3674c5961bd515672e4
SIZE (kiyo-masui-bitshuffle-0.3.2_GH0.tar.gz) = 109279

View File

@ -0,0 +1,64 @@
--- Makefile.orig 2020-05-06 17:26:51 UTC
+++ Makefile
@@ -2,7 +2,7 @@
include Makefile.common
MVN:=mvn
-SBT:=./sbt
+SBT:=sbt -Dsbt.ivy.home=$(SBT_IVY_HOME) -Dsbt.offline=true -Dsbt.boot.directory=$(SBT_BOOT_DIR) -Dsbt.coursier=false -Dsbt.global.base=$(SBT_GLOBAL_DIR)
all: snappy
@@ -25,7 +25,6 @@ BITSHUFFLE_UNPACKED:=$(TARGET)/bitshuffle-extracted.lo
$(BITSHUFFLE_ARCHIVE):
@mkdir -p $(@D)
- curl -L -o$@ https://github.com/kiyo-masui/bitshuffle/archive/$(BITSHUFFLE_VERSION).tar.gz
$(BITSHUFFLE_UNPACKED): $(BITSHUFFLE_ARCHIVE)
$(TAR) xvfz $< -C $(TARGET)
@@ -65,26 +64,25 @@ endif
$(SNAPPY_ARCHIVE):
@mkdir -p $(@D)
- curl -L -o$@ https://github.com/google/snappy/releases/download/$(SNAPPY_VERSION)/snappy-$(SNAPPY_VERSION).tar.gz
$(SNAPPY_UNPACKED): $(SNAPPY_ARCHIVE)
$(TAR) xvfz $< -C $(TARGET)
touch $@
-$(SNAPPY_GIT_UNPACKED):
- @mkdir -p $(SNAPPY_OUT)
- rm -rf $(SNAPPY_SRC_DIR)
- @mkdir -p $(SNAPPY_SRC_DIR)
- git clone $(SNAPPY_GIT_REPO_URL) $(SNAPPY_SRC_DIR)
- git --git-dir=$(SNAPPY_SRC_DIR)/.git --work-tree=$(SNAPPY_SRC_DIR) checkout -b local/snappy-$(SNAPPY_VERSION) $(SNAPPY_GIT_REV)
- touch $@
+#$(SNAPPY_GIT_UNPACKED):
+# @mkdir -p $(SNAPPY_OUT)
+# rm -rf $(SNAPPY_SRC_DIR)
+# @mkdir -p $(SNAPPY_SRC_DIR)
+# git clone $(SNAPPY_GIT_REPO_URL) $(SNAPPY_SRC_DIR)
+# git --git-dir=$(SNAPPY_SRC_DIR)/.git --work-tree=$(SNAPPY_SRC_DIR) checkout -b local/snappy-$(SNAPPY_VERSION) $(SNAPPY_GIT_REV)
+# touch $@
-$(SNAPPY_CMAKE_CACHE): $(SNAPPY_GIT_UNPACKED)
+$(SNAPPY_CMAKE_CACHE): $(SNAPPY_UNPACKED)
@mkdir -p $(SNAPPY_OUT)
cd $(SNAPPY_OUT) && cmake $(SNAPPY_CMAKE_OPTS) ../../$(SNAPPY_SRC_DIR)
touch $@
-jni-header: $(SNAPPY_GIT_UNPACKED) $(BITSHUFFLE_UNPACKED) $(SRC)/org/xerial/snappy/SnappyNative.h $(SRC)/org/xerial/snappy/BitShuffleNative.h
+jni-header: $(SNAPPY_UNPACKED) $(BITSHUFFLE_UNPACKED) $(SRC)/org/xerial/snappy/SnappyNative.h $(SRC)/org/xerial/snappy/BitShuffleNative.h
snappy-header: $(SNAPPY_CMAKE_CACHE)
@@ -100,7 +98,7 @@ $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNati
$(SRC)/org/xerial/snappy/BitShuffleNative.h: $(TARGET)/jni-classes/org/xerial/snappy/BitShuffleNative.class
-$(SNAPPY_SRC): $(SNAPPY_GIT_UNPACKED)
+$(SNAPPY_SRC): $(SNAPPY_UNPACKED)
# aarch64 can use big-endian optimzied code
ifeq ($(OS_ARCH),aarch64)

View File

@ -0,0 +1,25 @@
--- Makefile.common.orig 2020-05-14 10:44:28 UTC
+++ Makefile.common
@@ -45,7 +45,7 @@ endif
# os=Default is meant to be generic unix/linux
-known_os_archs := Linux-x86 Linux-x86_64 Linux-arm Linux-armv6 Linux-armv7 Linux-android-arm Linux-aarch64 Linux-ppc Linux-ppc64 Linux-ppc64le Linux-s390 Linux-s390x Mac-x86 Mac-x86_64 FreeBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-x86 SunOS-sparc SunOS-x86_64 AIX-ppc AIX-ppc64
+known_os_archs := Linux-x86 Linux-x86_64 Linux-arm Linux-armv6 Linux-armv7 Linux-android-arm Linux-aarch64 Linux-ppc Linux-ppc64 Linux-ppc64le Linux-s390 Linux-s390x Mac-x86 Mac-x86_64 FreeBSD-x86 FreeBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-x86 SunOS-sparc SunOS-x86_64 AIX-ppc AIX-ppc64
os_arch := $(OS_NAME)-$(OS_ARCH)
IBM_JDK_7 := $(findstring IBM, $(shell $(JAVA) -version 2>&1 | grep IBM | grep "JRE 1.7"))
@@ -249,6 +249,13 @@ Mac-x86_64_CXXFLAGS := -Ilib/inc_mac -I$(JAVA_HOME)/i
Mac-x86_64_LINKFLAGS := -dynamiclib
Mac-x86_64_LIBNAME := libsnappyjava.jnilib
Mac-x86_64_SNAPPY_FLAGS :=
+
+FreeBSD-x86_CXX := $(CROSS_PREFIX)g++
+FreeBSD-x86_STRIP := $(CROSS_PREFIX)strip
+FreeBSD-x86_CXXFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
+FreeBSD-x86_LINKFLAGS := -shared -static-libgcc
+FreeBSD-x86_LIBNAME := libsnappyjava.so
+FreeBSD-x86_SNAPPY_FLAGS :=
FreeBSD-x86_64_CXX := $(CROSS_PREFIX)g++
FreeBSD-x86_64_STRIP := $(CROSS_PREFIX)strip

View File

@ -1,13 +0,0 @@
--- Makefile.common.orig 2011-10-05 01:29:42 UTC
+++ Makefile.common
@@ -50,8 +50,8 @@ endif
Default_CXX := g++
Default_STRIP := strip
-Default_CXXFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
-Default_LINKFLAGS := -shared -static
+Default_CXXFLAGS := -Ilib/inc_linux -I$(JAVA_HOME)/include -Ilib/inc_mac -O2 -fPIC -fvisibility=hidden
+Default_LINKFLAGS := -lc -shared
Default_LIBNAME := libsnappyjava.so
Default_SNAPPY_FLAGS :=

View File

@ -0,0 +1,8 @@
--- project/plugins.sbt.orig 2020-05-09 18:44:59 UTC
+++ project/plugins.sbt
@@ -4,5 +4,4 @@ addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2
addSbtPlugin("com.github.sbt" % "sbt-findbugs" % "2.0.0")
addSbtPlugin("com.github.sbt" % "sbt-jacoco" % "3.1.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-osgi" % "0.9.4")
-addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.1.0-M7")
addSbtPlugin("com.geirsson" % "sbt-scalafmt" % "1.5.1")