blob: 46fb1bb9cdc33483be4db97f4c1469eae170effe (
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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
DATE=20150812
JAVA_PKG_IUSE="doc source"
inherit eutils java-pkg-2 java-ant-2 multilib systemd user
DESCRIPTION="An encrypted network without censorship"
HOMEPAGE="https://freenetproject.org/"
SRC_URI="
https://github.com/${PN}/fred/archive/build0${PV#*p}.zip -> ${P}.zip
mirror://gentoo/seednodes-${DATE}.fref.bz2
mirror://gentoo/freenet-ant-1.7.1.jar"
LICENSE="GPL-2+ GPL-2 MIT BSD-2 Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
CDEPEND="dev-java/bcprov:1.54
dev-java/commons-compress:0
dev-java/fec:0
dev-java/java-service-wrapper:0
dev-java/jbitcollider-core:0
dev-java/lzma:0
dev-java/lzmajio:0
dev-java/mersennetwister:0"
DEPEND="
app-arch/unzip
>=virtual/jdk-1.7
${CDEPEND}
test? (
dev-java/junit:0
dev-java/ant-junit:0
)
dev-java/ant-core:0"
RDEPEND="
>=virtual/jre-1.7
net-libs/nativebiginteger:0
${CDEPEND}"
PDEPEND="net-libs/NativeThread:0"
JAVA_PKG_BSFIX_NAME+=" build-clean.xml"
JAVA_ANT_REWRITE_CLASSPATH="yes"
JAVA_ANT_CLASSPATH_TAGS+=" javadoc"
JAVA_ANT_ENCODING="utf8"
EANT_BUILD_TARGET="package"
EANT_TEST_TARGET="unit"
EANT_BUILD_XML="build-clean.xml"
EANT_GENTOO_CLASSPATH="bcprov-1.54,commons-compress,fec,java-service-wrapper,jbitcollider-core,lzma,lzmajio,mersennetwister"
EANT_EXTRA_ARGS="-Dsuppress.gjs=true -Dlib.contrib.present=true -Dlib.bouncycastle.present=true -Dlib.junit.present=true -Dtest.skip=true"
S="${WORKDIR}/fred-build0${PV#*p}"
RESTRICT="test" # they're broken in the last release.
MY_PATCHES=(
"${FILESDIR}"/0.7.5_p1321-ext.patch
"${FILESDIR}/${PV}-remove-git.patch"
)
pkg_setup() {
has_version dev-java/icedtea[cacao] && {
ewarn "dev-java/icedtea was built with cacao USE flag."
ewarn "freenet may compile with it, but it will refuse to run."
ewarn "Please remerge dev-java/icedtea without cacao USE flag,"
ewarn "if you plan to use it for running freenet."
}
java-pkg-2_pkg_setup
enewgroup freenet
enewuser freenet -1 -1 /var/freenet freenet
}
src_unpack() {
unpack ${P}.zip seednodes-${DATE}.fref.bz2
# See 603362.
# mv "${WORKDIR}"/freenet-fred-* "${S}" || die
}
java_prepare() {
cp "${FILESDIR}"/freenet-0.7.5_p1474-wrapper.conf freenet-wrapper.conf || die
cp "${FILESDIR}"/run.sh-20090501 run.sh || die
epatch "${MY_PATCHES[@]}"
sed -i -e "s:=/usr/lib:=/usr/$(get_libdir):g" \
freenet-wrapper.conf || die "sed failed"
echo "wrapper.java.classpath.1=/usr/share/freenet/lib/freenet.jar" >> freenet-wrapper.conf || die
local i=2 pkg jars jar
local ifs_original=${IFS}
IFS=","
for pkg in ${EANT_GENTOO_CLASSPATH} ; do
jars="$(java-pkg_getjars ${pkg})"
for jar in ${jars} ; do
echo "wrapper.java.classpath.$((i++))=${jar}" >> freenet-wrapper.conf || die
done
done
IFS=${ifs_original}
echo "wrapper.java.classpath.$((i++))=/usr/share/freenet/lib/ant.jar" >> freenet-wrapper.conf || die
cp "${DISTDIR}"/freenet-ant-1.7.1.jar lib/ant.jar || die
}
EANT_TEST_EXTRA_ARGS="-Dtest.skip=false"
src_test() {
java-pkg-2_src_test
}
src_install() {
java-pkg_dojar dist/freenet.jar
java-pkg_newjar "${DISTDIR}"/freenet-ant-1.7.1.jar ant.jar
if has_version =sys-apps/baselayout-2*; then
doinitd "${FILESDIR}"/freenet
else
newinitd "${FILESDIR}"/freenet.old freenet
fi
systemd_dounit "${FILESDIR}"/freenet.service
dodoc AUTHORS
newdoc README.md README
insinto /etc
doins freenet-wrapper.conf
insinto /var/freenet
doins run.sh
newins "${WORKDIR}"/seednodes-${DATE}.fref seednodes.fref
fperms +x /var/freenet/run.sh
dosym java-service-wrapper/libwrapper.so /usr/$(get_libdir)/libwrapper.so
use doc && java-pkg_dojavadoc javadoc
use source && java-pkg_dosrc src
}
pkg_postinst() {
elog " "
elog "1. Start freenet with /etc/init.d/freenet start."
elog "2. Open localhost:8888 in your browser for the web interface."
#workaround for previously existing freenet user
[[ $(stat --format="%U" /var/freenet) == "freenet" ]] || chown \
freenet:freenet /var/freenet
}
pkg_postrm() {
if ! [[ -e /usr/share/freenet/lib/freenet.jar ]] ; then
elog " "
elog "If you dont want to use freenet any more"
elog "and dont want to keep your identity/other stuff"
elog "remember to do 'rm -rf /var/freenet' to remove everything"
fi
}
|