blob: 63853626e97cb4cbdf85cb486c66f20a0603f8e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
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
}
|