Gentoo Archives: gentoo-commits

From: "Michał Górny" <mgorny@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-vpn/i2p/
Date: Wed, 05 Jun 2019 08:54:44
Message-Id: 1559724867.fbbb435b16dd29a3c85b418a61d08918cc2a5bd3.mgorny@gentoo
1 commit: fbbb435b16dd29a3c85b418a61d08918cc2a5bd3
2 Author: Valérian Rousset <tharvik <AT> users <DOT> noreply <DOT> github <DOT> com>
3 AuthorDate: Mon May 20 20:29:32 2019 +0000
4 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
5 CommitDate: Wed Jun 5 08:54:27 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fbbb435b
7
8 net-vpn/i2p: bump to 0.9.40
9
10 Closes: https://bugs.gentoo.org/686180
11 Package-Manager: Portage-2.3.62, Repoman-2.3.12
12 Signed-off-by: Valérian Rousset <tharvik <AT> users.noreply.github.com>
13 Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
14
15 net-vpn/i2p/Manifest | 1 +
16 net-vpn/i2p/i2p-0.9.40.ebuild | 157 ++++++++++++++++++++++++++++++++++++++++++
17 2 files changed, 158 insertions(+)
18
19 diff --git a/net-vpn/i2p/Manifest b/net-vpn/i2p/Manifest
20 index 07694666fec..5a93396d265 100644
21 --- a/net-vpn/i2p/Manifest
22 +++ b/net-vpn/i2p/Manifest
23 @@ -1,2 +1,3 @@
24 DIST i2psource_0.9.38.tar.bz2 30702106 BLAKE2B c0fd4ea21643edff06853825b9b09dbd648176b6a2318c6bb3846b7c198cac88f89525df0868affbc337e31ec3459f08235cd8a52d38b8551d235c9ef2ca4a4c SHA512 148cd1504dbf0a86367b6dc120a27b2d0d936857eb8cf524e86982d6499c5a831a40aacb3ed67570ad2c323be6545e9a66c12dfc4be2377b80f4d7152e04452d
25 DIST i2psource_0.9.39.tar.bz2 30518064 BLAKE2B da5f4f74db38e932a8d1504dd454f308b6a47e0b308ecb646aafc349c20696d5f18107b393a7a5c3e5a7a24c1f2463657ede1ae6629023d9f817cc5bf0b00d85 SHA512 03ae294a2dbb1c7267484e8b0700ea112820e767ce7e90bc50dc90a1ed621586bd507c6ea80ba177d3498c0959fc1c9d71b51821d527fa48c34847ffbf5c466c
26 +DIST i2psource_0.9.40.tar.bz2 30808508 BLAKE2B b4b81800c4fdcd1c9318e884d6a06f442c28cc902c1aa67a35343b3d61cf95a02186b8e56e455d3896de081d44fd9fa7c2fac1f21f176be3c0b1ca473b6416fa SHA512 297b0bf92405c6e564c5e8c9708bf5b99b8eac721cec04fc74bebac1ff0cd7eae2795cc9788357fb7a9c60d7af37766ae343456203a81b9c2444cda39f3fe46d
27
28 diff --git a/net-vpn/i2p/i2p-0.9.40.ebuild b/net-vpn/i2p/i2p-0.9.40.ebuild
29 new file mode 100644
30 index 00000000000..f9b032fe110
31 --- /dev/null
32 +++ b/net-vpn/i2p/i2p-0.9.40.ebuild
33 @@ -0,0 +1,157 @@
34 +# Copyright 1999-2019 Gentoo Authors
35 +# Distributed under the terms of the GNU General Public License v2
36 +
37 +EAPI="6"
38 +
39 +inherit java-pkg-2 java-ant-2 systemd user
40 +
41 +DESCRIPTION="A privacy-centric, anonymous network"
42 +HOMEPAGE="https://geti2p.net"
43 +SRC_URI="https://download.i2p2.de/releases/${PV}/i2psource_${PV}.tar.bz2"
44 +
45 +LICENSE="Apache-2.0 Artistic BSD CC-BY-2.5 CC-BY-3.0 CC-BY-SA-3.0 EPL-1.0 GPL-2 GPL-3 LGPL-2.1 LGPL-3 MIT public-domain WTFPL-2"
46 +SLOT="0"
47 +
48 +# Until the deps reach other arches
49 +KEYWORDS="~amd64 ~x86"
50 +IUSE='nls test'
51 +
52 +# dev-java/ant-core is automatically added due to java-ant-2.eclass
53 +CP_DEPEND='dev-java/bcprov:1.50
54 + dev-java/jrobin:0
55 + dev-java/slf4j-api:0
56 + dev-java/tomcat-jstl-impl:0
57 + dev-java/tomcat-jstl-spec:0
58 + dev-java/java-service-wrapper:0
59 + dev-java/commons-logging:0
60 + dev-java/slf4j-simple:0
61 + java-virtuals/servlet-api:3.1
62 +'
63 +
64 +DEPEND="${CP_DEPEND}
65 + dev-java/eclipse-ecj:*
66 + nls? ( >=sys-devel/gettext-0.19 )
67 + virtual/jdk:1.8
68 + test? (
69 + dev-java/ant-junit4:0
70 + dev-java/hamcrest-core:1.3
71 + dev-java/hamcrest-library:1.3
72 + dev-java/junit:4
73 + )
74 +"
75 +
76 +RDEPEND="${CP_DEPEND}
77 + virtual/jre:1.8
78 + net-libs/nativebiginteger:0
79 +"
80 +
81 +EANT_BUILD_TARGET="pkg"
82 +# no scala as depending on antlib.xml not installed by dev-lang/scala
83 +EANT_TEST_TARGET='junit.test'
84 +JAVA_ANT_ENCODING="UTF-8"
85 +
86 +pkg_setup() {
87 + java-pkg-2_pkg_setup
88 +
89 + enewgroup i2p
90 + enewuser i2p -1 -1 "${EPREFIX}/var/lib/i2p" i2p
91 +}
92 +
93 +src_prepare() {
94 + # as early as possible to allow generic patches to be applied
95 + default
96 +
97 + java-ant_rewrite-classpath
98 +
99 + java-pkg-2_src_prepare
100 +
101 + # We're on GNU/Linux, we don't need .exe files
102 + echo "noExe=true" > override.properties || die
103 + if ! use nls; then
104 + echo "require.gettext=false" >> override.properties || die
105 + fi
106 +
107 + # avoid auto starting browser
108 + sed -i 's|clientApp.4.startOnLoad=true|clientApp.4.startOnLoad=false|' \
109 + 'installer/resources/clients.config' || die
110 +
111 + # generate wrapper classpath, keeping the default to be replaced later
112 + i2p_cp='' # global forced by java-pkg_gen-cp
113 + java-pkg_gen-cp i2p_cp
114 + local lib cp i=2
115 + for lib in ${i2p_cp//,/ }
116 + do
117 + cp+="wrapper.java.classpath.$((i++))=$(java-pkg_getjars ${lib})\n"
118 + done
119 +
120 + # add generated cp and hardcode system VM
121 + sed -e "s|\(wrapper\.java\.classpath\.1=.*\)|\1\n${cp}|" \
122 + -e "s|\(wrapper\.java\.command\)=.*|\1=/etc/java-config-2/current-system-vm/bin/java|" \
123 + -e "s|\(wrapper\.java\.library\.path\.1\)=.*|\1=/usr/lib/java-service-wrapper|" \
124 + -e "s|\(wrapper\.java\.library\.path\.2\)=.*|\0\nwrapper.java.library.path.3=/usr/$(get_libdir)|" \
125 + -i 'installer/resources/wrapper.config' || die
126 +
127 + # replace paths as the installer would
128 + sed -e "s|[\$%]INSTALL_PATH|${EPREFIX}/usr/share/i2p|" \
129 + -e "s|%SYSTEM_java_io_tmpdir|${EPREFIX}/var/lib/i2p/.i2p|" \
130 + -e "s|%USER_HOME|${EPREFIX}/var/lib/i2p|" \
131 + -i 'installer/resources/'{eepget,runplain.sh,wrapper.config} || die
132 +
133 + if use test; then
134 + # no *streaming as requiring >dev-java/mockito-1.9.5
135 + sed -e '/junit\.test.*streaming/d' \
136 + -i build.xml ||
137 + die 'unable to remove ministreaming tests'
138 + fi
139 +}
140 +
141 +src_test() {
142 + # store built version of jars, overwritten by testing
143 + mv "${S}/pkg-temp/lib/"{i2p,router}.jar "${T}" ||
144 + die 'unable to save jars before tests'
145 +
146 + # generate test classpath
147 + local cp
148 + cp="$(java-pkg_getjars --build-only junit-4,hamcrest-core-1.3,hamcrest-library-1.3)"
149 + EANT_TEST_EXTRA_ARGS="-Djavac.classpath=${cp}" java-pkg-2_src_test
150 +
151 + # redo work undone by testing
152 + mv "${T}/"{i2p,router}.jar "${S}/pkg-temp/lib/" ||
153 + die 'unable to restore jars after tests'
154 +}
155 +
156 +src_install() {
157 + # cd into pkg-temp.
158 + cd "${S}/pkg-temp" || die
159 +
160 + # we remove system installed jar and install the others
161 + rm lib/{jrobin,wrapper,jbigi,commons-logging,javax.servlet}.jar || \
162 + die 'unable to remove locally built jar already found in system'
163 + java-pkg_dojar lib/*.jar
164 +
165 + # create own launcher
166 + java-pkg_dolauncher eepget --main net.i2p.util.EepGet --jar i2p.jar
167 +
168 + # Install main files and basic documentation
169 + insinto '/usr/share/i2p'
170 + doins blocklist.txt hosts.txt *.config
171 + dodoc history.txt INSTALL-headless.txt LICENSE.txt
172 + doman man/*
173 +
174 + # Install other directories
175 + doins -r certificates docs eepsite geoip scripts
176 + java-pkg_dowar webapps/*.war
177 +
178 + # Install daemon files
179 + newinitd "${FILESDIR}/i2p.init" i2p
180 + systemd_dounit "${FILESDIR}/i2p.service"
181 +
182 + # setup user
183 + keepdir '/var/lib/i2p/.i2p'
184 + fowners i2p:i2p '/var/lib/i2p/.i2p'
185 +}
186 +
187 +pkg_postinst() {
188 + elog "Custom configuration belongs in ${EPREFIX}/var/lib/i2p/.i2p to avoid being overwritten."
189 + elog 'I2P can be configured through the web interface at http://localhost:7657/console'
190 +}