aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpsyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet>1984-04-04 00:44:27 +0000
committerpsyc://loupsycedyglgamf.onion/~lynX <ircs://psyced.org/youbroketheinternet>1984-04-04 00:44:27 +0000
commit049ab14cb32bdc0cdfd57282d31ee475b0ab8680 (patch)
treeb103c3215fb321366ac24a30b9a156d89db9e8f1
parentf51a55778cddb465258aa264c722f29111330bab (diff)
downloadyoubroketheinternet-overlay-049ab14cb32bdc0cdfd57282d31ee475b0ab8680.tar.gz
youbroketheinternet-overlay-049ab14cb32bdc0cdfd57282d31ee475b0ab8680.zip
install gnunet with proper working GNS
-rw-r--r--net-misc/gnunet/files/nsswitch.conf25
-rw-r--r--net-misc/gnunet/gnunet-0.10.2_rc3.ebuild226
-rw-r--r--net-misc/gnunet/gnunet-0.10.2_rc4.ebuild (renamed from net-misc/gnunet/gnunet-0.10.2_rc2.ebuild)25
-rw-r--r--net-misc/gnunet/gnunet-9999.ebuild25
4 files changed, 55 insertions, 246 deletions
diff --git a/net-misc/gnunet/files/nsswitch.conf b/net-misc/gnunet/files/nsswitch.conf
new file mode 100644
index 0000000..20f598d
--- /dev/null
+++ b/net-misc/gnunet/files/nsswitch.conf
@@ -0,0 +1,25 @@
1# /etc/nsswitch.conf:
2# Modified to support GNUnet's GNS (.gnu, .zkey etc)
3# Compare with /usr/portage/sys-libs/glibc/files/nsswitch.conf
4
5passwd: compat
6shadow: compat
7group: compat
8
9# passwd: db files nis
10# shadow: db files nis
11# group: db files nis
12
13hosts: files gns [NOTFOUND=return] dns
14networks: files dns
15
16services: db files
17protocols: db files
18rpc: db files
19ethers: db files
20netmasks: files
21netgroup: files
22bootparams: files
23
24automount: files
25aliases: files
diff --git a/net-misc/gnunet/gnunet-0.10.2_rc3.ebuild b/net-misc/gnunet/gnunet-0.10.2_rc3.ebuild
deleted file mode 100644
index 282fab7..0000000
--- a/net-misc/gnunet/gnunet-0.10.2_rc3.ebuild
+++ /dev/null
@@ -1,226 +0,0 @@
1# Copyright 1999-2016 Gentoo Foundation
2# Distributed under the terms of the GNU General Public License v2
3# Written by, in historic order: vminko, vonlynX, ng0.
4# https://gnunet.org/gentoo-build is outdated, please ignore.
5#
6# taken from https://338909.bugs.gentoo.org/attachment.cgi?id=381924
7# referenced at https://bugs.gentoo.org/show_bug.cgi?id=338909
8# merged with 9999 variant from emery overlay
9# refined 2015-07 by carlo von lynX of youbroketheinternet.org
10# tweaks since 2015-07 by ng0 and lynX
11
12EAPI=6
13
14DESCRIPTION="Cryptographic GNU Mesh/Underlay Network Routing Layer"
15HOMEPAGE="https://gnunet.org/"
16LICENSE="GPL-3"
17KEYWORDS="~"
18# KEYWORDS="~amd64 ~x86"
19SLOT="0"
20
21PYTHON_COMPAT=( python2_7 )
22WANT_AUTOCONF="2.5"
23WANT_AUTOMAKE="1.11"
24# WANT_LIBTOOL="2.2"
25AUTOTOOLS_AUTORECONF=1
26
27# if you're a gnunet developer, you can put a symlink to your local git here:
28EGIT_REPO_URI="/usr/local/src/${PN}
29 https://gnunet.org/git/${PN}
30 https://github.com/gnunet/${PN}
31 git://git.gnunet.org/${PN}"
32
33case ${PV} in
34"9999")
35 inherit autotools git-r3 user python-any-r1 flag-o-matic
36 # using latest git. caution:
37 # this methode is prone to man-in-the-middle attacks
38 ;;
39"0.10.2_rc3")
40 inherit autotools git-r3 user python-any-r1 flag-o-matic
41 EGIT_COMMIT="c87a389a4f842c20383d8619120b188e104cf64a"
42 ;;
43"0.10.2_rc2")
44 inherit autotools git-r3 user python-any-r1 flag-o-matic
45 EGIT_COMMIT="922318150433906dafd11adb5185a6ff664573db"
46 ;;
47"0.10.1")
48 inherit autotools user python-any-r1 flag-o-matic
49 SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
50 S="${WORKDIR}/${PN}"
51 # tests of gnunet <= 0.10.1 are using python 2.7, gnunet HEAD uses python 3.
52 ;;
53esac
54#S="${WORKDIR}/${PF}/${PN}"
55
56AUTOTOOLS_IN_SOURCE_BUILD=1
57
58# XXX: There is a false warning about root or sudo required for GNS NSS library
59# installation, claiming that it will not be installed if it is missing from the
60# build environment. With current HEAD (Aug 28 2016) it seems that sudo is no
61# longer needed, neither is root. This warning must be fixed in gnunet.
62IUSE="debug +httpd +sqlite postgres mysql nls +nss +X +gnutls dane +bluetooth \
63 ssl libressl experimental extra pulseaudio gstreamer qr tex test \
64 +gnurl +curl curl_ssl_gnutls"
65
66# !!! TODO: Sort run depend, required use, build time use.
67REQUIRED_USE="|| ( mysql postgres sqlite )
68 ?? ( pulseaudio gstreamer )
69 experimental? ( || ( extra ) )
70 extra? ( || ( experimental ) )"
71
72# XXX: We do not know if libressl is functional here, at least it does build,
73# so buildtime is safe, runtime should be too. If you find bugs, get in contact
74# with me.
75## Helpful notes: https://gnunet.org/bugs/view.php?id=4618#bugnotes
76RDEPEND="
77 mysql? ( >=virtual/mysql-5.1 )
78 postgres? ( >=dev-db/postgresql-8.3:= )
79 sqlite? ( >=dev-db/sqlite-3.0 )
80 >=media-libs/libextractor-0.6.1
81 >=dev-libs/libgcrypt-1.6
82 >=dev-libs/libunistring-0.9.3
83 curl? (
84 gnurl? ( >=net-misc/gnurl-7.50.1 )
85 !gnurl? ( >=net-misc/curl-7.50.1[curl_ssl_gnutls] )
86 )
87 gnutls? ( net-libs/gnutls )
88 dane? ( net-libs/gnutls[dane] )
89 ssl? (
90 !libressl? ( dev-libs/openssl:0= )
91 libressl? ( dev-libs/libressl:0= )
92 )
93 net-dns/libidn
94 sys-libs/zlib
95 httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] )
96 nls? ( >=sys-devel/gettext-0.18.1 )
97 nss? ( dev-libs/nss )
98 dev-libs/gmp:0=
99 X? (
100 x11-libs/libXt
101 x11-libs/libXext
102 x11-libs/libX11
103 x11-libs/libXrandr
104 )
105 dev-libs/jansson
106 >=sci-mathematics/glpk-4.43
107 extra? (
108 qr? ( >=media-gfx/zbar-0.10[python] )
109 tex? ( >=app-text/texlive-2012 )
110 )
111 gstreamer? (
112 media-libs/gstreamer:1.0
113 dev-libs/glib:2
114 )
115 pulseaudio? ( >=media-sound/pulseaudio-2.0 )
116 >=media-libs/opus-1.0.1
117 >=media-libs/libogg-1.3.0
118 bluetooth? ( net-wireless/bluez )
119 test? ( ${PYTHON_DEPS} )"
120
121DEPEND="${RDEPEND}
122 sys-devel/automake:1.14"
123
124# TODO: We should run tests on Gentoo, currently this fails.
125
126# XXX: parallel building fails, run one job only.
127MAKEOPTS="-j1"
128
129pkg_setup() {
130 export GNUNET_HOME="${GNUNET_HOME:=/var/lib/gnunet}"
131 # this does not work, someone fix this.
132 export GNUNET_PREFIX="${EPREFIX}/usr/lib"
133 enewgroup gnunetdns
134 enewgroup gnunet
135 enewuser gnunet -1 /bin/sh "${GNUNET_HOME}" gnunet
136 if [[ $(egethome gnunet) != ${GNUNET_HOME} ]]; then
137 ewarn "For homedir different from"
138 ewarn "/var/lib/gnunet set GNUNET_HOME in your make.conf"
139 ewarn "and re-emerge."
140 esethome gnunet "${GNUNET_HOME}"
141 fi
142}
143
144# Here we add and run what bootstrap would do.
145src_prepare() {
146 if [[ "${PV}" == "0.10.1_pre01021" ]]; then
147 rm -rf libltdl || die
148 eautoreconf
149 ./contrib/pogen.sh || die
150 default
151 eapply_user
152 elif [[ "${PV}" == "9999" ]]; then
153 rm -rf libltdl || die
154 eautoreconf
155 ./contrib/pogen.sh || die
156 default
157 eapply_user
158 else
159 default
160 eapply_user
161 fi
162}
163
164src_configure() {
165 ./bootstrap
166 econf \
167 $(use_enable experimental ) \
168 $(use_with httpd microhttpd ) \
169 $(use_with mysql ) \
170 $(use_with postgres ) \
171 $(use_with sqlite ) \
172 $(use_with X x ) \
173 $(use_with gnutls ) \
174 --with-extractor
175}
176# $(use_with sudo )
177
178
179src_install() {
180 emake DESTDIR="${D}" install
181 newinitd "${FILESDIR}/${PN}.initd" gnunet
182 insinto /etc/gnunet
183 doins "${FILESDIR}/gnunet.conf"
184 keepdir /var/{lib,log}/gnunet
185 fowners gnunet:gnunet /var/lib/gnunet /var/log/gnunet
186}
187
188pkg_postinst() {
189 # We should update the gtk icon cache for the icons.
190 # @TODO: provide average working example config to copy for user.
191 # @TOO: point out that exact time is needed currently.
192 elog "To configure"
193 elog " 1) Add desired user(s) to the 'gnunet' group"
194 elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'"
195 elog " preferably using 'gnunet-setup -c /etc/gnunet/gnunet.conf'"
196 elog " ('gnunet-setup' is part of the gnunet-gtk package)"
197 elog " 3) You may want to choose other bootstrap nodes than the ones"
198 elog " provided in /usr/share/gnunet/hellos or remove them if you"
199 elog " want to run GNUnet another way."
200 elog " 4) Certain services will require '/dev/net/tun' to exist,"
201 elog " which you must enable in your kernel."
202 elog " "
203 elog "Optionally, emerge gnunet-gtk to get a GUI for file-sharing and"
204 elog "configuration. This is particularly recommended"
205 elog "if your network setup is non-trivial, as gnunet-setup can be"
206 elog "used to test in the GUI if your network configuration is working."
207 elog "gnunet-setup should be run as the \"gnunet\" user under X. As it"
208 elog "does very little with the network, running it as \"root\" is likely"
209 elog "also harmless. You can also run it as a normal user, but then"
210 elog "you have to copy \"~/.gnunet/gnunet.conf\" over to the \"gnunet\" user's"
211 elog "home directory in the end."
212 elog " "
213 elog "Once you have configured your peer, run (as the 'gnunet' user)"
214 elog "\"gnunet-arm -s\" to start the peer. You can then run the various"
215 elog "GNUnet-tools as your \"normal\" user (who should only be in the group 'gnunet')."
216 elog " "
217 elog "Please emerge a network time protocol daemon or use other means to keep accurate"
218 elog "time on your device, otherwise you might experience problems."
219}
220
221pkg_postrm() {
222 elog " "
223 elog "You have to manually remove the previously created gnunet user"
224 elog "and the gnunet + gnunetdns groups."
225 elog " "
226}
diff --git a/net-misc/gnunet/gnunet-0.10.2_rc2.ebuild b/net-misc/gnunet/gnunet-0.10.2_rc4.ebuild
index 282fab7..d705cf1 100644
--- a/net-misc/gnunet/gnunet-0.10.2_rc2.ebuild
+++ b/net-misc/gnunet/gnunet-0.10.2_rc4.ebuild
@@ -34,16 +34,12 @@ case ${PV} in
34"9999") 34"9999")
35 inherit autotools git-r3 user python-any-r1 flag-o-matic 35 inherit autotools git-r3 user python-any-r1 flag-o-matic
36 # using latest git. caution: 36 # using latest git. caution:
37 # this methode is prone to man-in-the-middle attacks 37 # this method is prone to man-in-the-middle attacks
38 ;; 38 ;;
39"0.10.2_rc3") 39"0.10.2_rc4")
40 inherit autotools git-r3 user python-any-r1 flag-o-matic 40 inherit autotools git-r3 user python-any-r1 flag-o-matic
41 EGIT_COMMIT="c87a389a4f842c20383d8619120b188e104cf64a" 41 EGIT_COMMIT="6bcc73a1cbb1d4a609884762eab1b6de761ad1d9"
42 ;; 42 ;;
43"0.10.2_rc2")
44 inherit autotools git-r3 user python-any-r1 flag-o-matic
45 EGIT_COMMIT="922318150433906dafd11adb5185a6ff664573db"
46 ;;
47"0.10.1") 43"0.10.1")
48 inherit autotools user python-any-r1 flag-o-matic 44 inherit autotools user python-any-r1 flag-o-matic
49 SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" 45 SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
@@ -94,7 +90,10 @@ RDEPEND="
94 sys-libs/zlib 90 sys-libs/zlib
95 httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] ) 91 httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] )
96 nls? ( >=sys-devel/gettext-0.18.1 ) 92 nls? ( >=sys-devel/gettext-0.18.1 )
97 nss? ( dev-libs/nss ) 93 nss? (
94 dev-libs/nss
95 sys-libs/glibc
96 )
98 dev-libs/gmp:0= 97 dev-libs/gmp:0=
99 X? ( 98 X? (
100 x11-libs/libXt 99 x11-libs/libXt
@@ -167,7 +166,7 @@ src_configure() {
167 $(use_enable experimental ) \ 166 $(use_enable experimental ) \
168 $(use_with httpd microhttpd ) \ 167 $(use_with httpd microhttpd ) \
169 $(use_with mysql ) \ 168 $(use_with mysql ) \
170 $(use_with postgres ) \ 169 $(use_with postgres postgresql ) \
171 $(use_with sqlite ) \ 170 $(use_with sqlite ) \
172 $(use_with X x ) \ 171 $(use_with X x ) \
173 $(use_with gnutls ) \ 172 $(use_with gnutls ) \
@@ -177,8 +176,13 @@ src_configure() {
177 176
178 177
179src_install() { 178src_install() {
179 into /
180 use nss && dolib.so src/gns/nss/.libs/libnss_gns*.so*
180 emake DESTDIR="${D}" install 181 emake DESTDIR="${D}" install
182 rm -rf ${D}/usr/lib/gnunet/nss
181 newinitd "${FILESDIR}/${PN}.initd" gnunet 183 newinitd "${FILESDIR}/${PN}.initd" gnunet
184 insinto /etc
185 use nss && doins "${FILESDIR}/nsswitch.conf"
182 insinto /etc/gnunet 186 insinto /etc/gnunet
183 doins "${FILESDIR}/gnunet.conf" 187 doins "${FILESDIR}/gnunet.conf"
184 keepdir /var/{lib,log}/gnunet 188 keepdir /var/{lib,log}/gnunet
@@ -188,7 +192,8 @@ src_install() {
188pkg_postinst() { 192pkg_postinst() {
189 # We should update the gtk icon cache for the icons. 193 # We should update the gtk icon cache for the icons.
190 # @TODO: provide average working example config to copy for user. 194 # @TODO: provide average working example config to copy for user.
191 # @TOO: point out that exact time is needed currently. 195 # @TODO: point out that exact time is needed currently.
196 elog " "
192 elog "To configure" 197 elog "To configure"
193 elog " 1) Add desired user(s) to the 'gnunet' group" 198 elog " 1) Add desired user(s) to the 'gnunet' group"
194 elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'" 199 elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'"
diff --git a/net-misc/gnunet/gnunet-9999.ebuild b/net-misc/gnunet/gnunet-9999.ebuild
index 282fab7..d705cf1 100644
--- a/net-misc/gnunet/gnunet-9999.ebuild
+++ b/net-misc/gnunet/gnunet-9999.ebuild
@@ -34,16 +34,12 @@ case ${PV} in
34"9999") 34"9999")
35 inherit autotools git-r3 user python-any-r1 flag-o-matic 35 inherit autotools git-r3 user python-any-r1 flag-o-matic
36 # using latest git. caution: 36 # using latest git. caution:
37 # this methode is prone to man-in-the-middle attacks 37 # this method is prone to man-in-the-middle attacks
38 ;; 38 ;;
39"0.10.2_rc3") 39"0.10.2_rc4")
40 inherit autotools git-r3 user python-any-r1 flag-o-matic 40 inherit autotools git-r3 user python-any-r1 flag-o-matic
41 EGIT_COMMIT="c87a389a4f842c20383d8619120b188e104cf64a" 41 EGIT_COMMIT="6bcc73a1cbb1d4a609884762eab1b6de761ad1d9"
42 ;; 42 ;;
43"0.10.2_rc2")
44 inherit autotools git-r3 user python-any-r1 flag-o-matic
45 EGIT_COMMIT="922318150433906dafd11adb5185a6ff664573db"
46 ;;
47"0.10.1") 43"0.10.1")
48 inherit autotools user python-any-r1 flag-o-matic 44 inherit autotools user python-any-r1 flag-o-matic
49 SRC_URI="mirror://gnu/${PN}/${P}.tar.gz" 45 SRC_URI="mirror://gnu/${PN}/${P}.tar.gz"
@@ -94,7 +90,10 @@ RDEPEND="
94 sys-libs/zlib 90 sys-libs/zlib
95 httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] ) 91 httpd? ( >=net-libs/libmicrohttpd-0.9.42[messages] )
96 nls? ( >=sys-devel/gettext-0.18.1 ) 92 nls? ( >=sys-devel/gettext-0.18.1 )
97 nss? ( dev-libs/nss ) 93 nss? (
94 dev-libs/nss
95 sys-libs/glibc
96 )
98 dev-libs/gmp:0= 97 dev-libs/gmp:0=
99 X? ( 98 X? (
100 x11-libs/libXt 99 x11-libs/libXt
@@ -167,7 +166,7 @@ src_configure() {
167 $(use_enable experimental ) \ 166 $(use_enable experimental ) \
168 $(use_with httpd microhttpd ) \ 167 $(use_with httpd microhttpd ) \
169 $(use_with mysql ) \ 168 $(use_with mysql ) \
170 $(use_with postgres ) \ 169 $(use_with postgres postgresql ) \
171 $(use_with sqlite ) \ 170 $(use_with sqlite ) \
172 $(use_with X x ) \ 171 $(use_with X x ) \
173 $(use_with gnutls ) \ 172 $(use_with gnutls ) \
@@ -177,8 +176,13 @@ src_configure() {
177 176
178 177
179src_install() { 178src_install() {
179 into /
180 use nss && dolib.so src/gns/nss/.libs/libnss_gns*.so*
180 emake DESTDIR="${D}" install 181 emake DESTDIR="${D}" install
182 rm -rf ${D}/usr/lib/gnunet/nss
181 newinitd "${FILESDIR}/${PN}.initd" gnunet 183 newinitd "${FILESDIR}/${PN}.initd" gnunet
184 insinto /etc
185 use nss && doins "${FILESDIR}/nsswitch.conf"
182 insinto /etc/gnunet 186 insinto /etc/gnunet
183 doins "${FILESDIR}/gnunet.conf" 187 doins "${FILESDIR}/gnunet.conf"
184 keepdir /var/{lib,log}/gnunet 188 keepdir /var/{lib,log}/gnunet
@@ -188,7 +192,8 @@ src_install() {
188pkg_postinst() { 192pkg_postinst() {
189 # We should update the gtk icon cache for the icons. 193 # We should update the gtk icon cache for the icons.
190 # @TODO: provide average working example config to copy for user. 194 # @TODO: provide average working example config to copy for user.
191 # @TOO: point out that exact time is needed currently. 195 # @TODO: point out that exact time is needed currently.
196 elog " "
192 elog "To configure" 197 elog "To configure"
193 elog " 1) Add desired user(s) to the 'gnunet' group" 198 elog " 1) Add desired user(s) to the 'gnunet' group"
194 elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'" 199 elog " 2) Edit the system-wide config file '/etc/gnunet/gnunet.conf'"