Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 May 2020 11:15:14 +0000 (UTC)
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r535224 - in head/archivers/snappy-java: . files
Message-ID:  <202005141115.04EBFEt5038101@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pi
Date: Thu May 14 11:15:14 2020
New Revision: 535224
URL: https://svnweb.freebsd.org/changeset/ports/535224

Log:
  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

Added:
  head/archivers/snappy-java/files/patch-Makefile   (contents, props changed)
  head/archivers/snappy-java/files/patch-Makefile.common   (contents, props changed)
  head/archivers/snappy-java/files/patch-project_plugins.sbt   (contents, props changed)
Deleted:
  head/archivers/snappy-java/files/patch-likelinux
Modified:
  head/archivers/snappy-java/Makefile
  head/archivers/snappy-java/distinfo

Modified: head/archivers/snappy-java/Makefile
==============================================================================
--- head/archivers/snappy-java/Makefile	Thu May 14 09:32:42 2020	(r535223)
+++ head/archivers/snappy-java/Makefile	Thu May 14 11:15:14 2020	(r535224)
@@ -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: 
 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
+BUILD_DEPENDS=	cmake:devel/cmake \
+		sbt:devel/sbt
 
-USE_GITHUB=	yes
-GH_ACCOUNT=	xerial
-GH_PROJECT=	snappy-java
-
 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
 
-do-build:
+post-extract:
 	@${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
+	@${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:
+	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>

Modified: head/archivers/snappy-java/distinfo
==============================================================================
--- head/archivers/snappy-java/distinfo	Thu May 14 09:32:42 2020	(r535223)
+++ head/archivers/snappy-java/distinfo	Thu May 14 11:15:14 2020	(r535224)
@@ -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

Added: head/archivers/snappy-java/files/patch-Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/snappy-java/files/patch-Makefile	Thu May 14 11:15:14 2020	(r535224)
@@ -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)

Added: head/archivers/snappy-java/files/patch-Makefile.common
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/snappy-java/files/patch-Makefile.common	Thu May 14 11:15:14 2020	(r535224)
@@ -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

Added: head/archivers/snappy-java/files/patch-project_plugins.sbt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/archivers/snappy-java/files/patch-project_plugins.sbt	Thu May 14 11:15:14 2020	(r535224)
@@ -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")



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202005141115.04EBFEt5038101>