aboutsummaryrefslogtreecommitdiff
path: root/contrib/packages/arch/gnunet/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/packages/arch/gnunet/PKGBUILD')
-rw-r--r--contrib/packages/arch/gnunet/PKGBUILD118
1 files changed, 118 insertions, 0 deletions
diff --git a/contrib/packages/arch/gnunet/PKGBUILD b/contrib/packages/arch/gnunet/PKGBUILD
new file mode 100644
index 000000000..2dfcdd6ec
--- /dev/null
+++ b/contrib/packages/arch/gnunet/PKGBUILD
@@ -0,0 +1,118 @@
1# Maintainer: grufo <madmurphy333 AT gmail DOT com>
2# Contributor: redfish <redfish AT galactica DOT pw>
3# Contributor: kertase <kertase AT gmail DOT com>
4# Contributor: Sergej Pupykin <pupykin DOT s+arch AT gmail.com>
5# Contributor: wahnby <wahnby AT yahoo DOT fr>
6
7pkgname='gnunet'
8pkgver='0.17.0'
9pkgrel=1
10pkgdesc='A framework for secure peer-to-peer networking'
11arch=('i686' 'x86_64')
12url="http://${pkgname}.org"
13license=('AGPL')
14conflicts=("${pkgname}-git" "${pkgname}-bin")
15depends=('brotli' 'gettext' 'gnurl' 'gnutls' 'iptables' 'jansson'
16 'libextractor' 'libgcrypt' 'libidn2' 'libmicrohttpd' 'libsodium'
17 'libtool' 'libunistring' 'nss' 'openssl' 'sqlite' 'which' 'zlib')
18makedepends=('bluez-libs' 'libpulse' 'libtool' 'opus' 'pkgconfig' 'postgresql'
19 'python')
20optdepends=('bluez: for bluetooth transport'
21 'gnunet-gtk: for handling the gnunet:// URI scheme'
22 'libgabe: for Attribute-Based Encryption'
23 'libogg: for conversation service'
24 'libpabc: for re:claimID zero-knowledge privacy credentials'
25 'libpulse: for conversation service'
26 'miniupnpc: for NAT uPnP support'
27 'mysql: for an alternative to sqlite in the database plugin'
28 'opus: for conversation service'
29 'pbc: for Attribute-Based Encryption'
30 'postgresql: for an alternative to sqlite in the database plugin'
31 'python: for test suite'
32 'texi2mdoc: for automatic mdoc generation'
33 'texinfo: for building the documentation'
34 'texlive-core: for generating GNS business cards via gnunet-bcd'
35 'zbar: for reading/writing QR codes using gnunet-qr')
36backup=("etc/${pkgname}.conf")
37source=("ftp://ftp.gnu.org/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"{,.sig}
38 "${pkgname}-system.service"
39 "${pkgname}.sysusers"
40 "${pkgname}.tmpfiles"
41 "${pkgname}-uri.desktop"
42 "${pkgname}-user.conf"
43 "${pkgname}-user.service")
44install="${pkgname}.install"
45validpgpkeys=('3D11063C10F98D14BD24D1470B0998EF86F59B6A')
46sha256sums=('6b2f7bf34c3c3986f2c294f04e881dda9db8ef636c0e78ebcf8084b8a47d49ca'
47 'SKIP'
48 '163818b89beddcaf78937daba5bdf0ae060b2975de0731aa13d1ccdd813cf262'
49 '66299dbbdd0219d2f5f0520e69fc094f38f789724d973c2f63a421257ea4f755'
50 '5c34e1ecc6208900426f8e399e8c3edbef12cce19eba605fd7364ddb3547d9f0'
51 '98e4e1d6d4fd7c7fd05d9e16402c95f1e7afeb4b97c8c68ac63e8abd11ff4ee7'
52 '3f17b9ed2c1f8cc0f919fe477df99678c17778a31f1eeb56517e285e3cef30f2'
53 '60caee20b53bcc69522556b35ac3d35d89e28c49b9a22a2ed5121df4a2c33be5')
54
55prepare() {
56
57 cd "${srcdir}/${pkgname}-${pkgver}"
58
59 export GNUNET_PREFIX='/usr/lib'
60 autoreconf -i
61
62}
63
64build() {
65
66 cd "${srcdir}/${pkgname}-${pkgver}"
67
68 ./configure --prefix='/usr' --enable-experimental
69 make
70
71}
72
73package() {
74
75 cd "${srcdir}/${pkgname}-${pkgver}"
76
77 make DESTDIR="${pkgdir}" install
78
79 install -dm755 "${pkgdir}/usr/lib/systemd/system"
80 install -Dm644 "${srcdir}/${pkgname}-system.service" \
81 "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
82
83 install -dm755 "${pkgdir}/usr/lib/systemd/user"
84 install -Dm644 "${srcdir}/${pkgname}-user.service" \
85 "${pkgdir}/usr/lib/systemd/user/${pkgname}.service"
86
87 install -dm755 "${pkgdir}/usr/lib/sysusers.d"
88 install -Dm644 "${srcdir}/${pkgname}.sysusers" \
89 "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
90
91 install -dm755 "${pkgdir}/usr/lib/tmpfiles.d"
92 install -Dm644 "${srcdir}/${pkgname}.tmpfiles" \
93 "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
94
95 install -dm755 "${pkgdir}/usr/share/applications"
96 install -Dm644 "${srcdir}/${pkgname}-uri.desktop" \
97 "${pkgdir}/usr/share/applications/${pkgname}-uri.desktop"
98
99 install -dm700 "${pkgdir}/etc/skel/.config"
100 install -Dm600 "${srcdir}/${pkgname}-user.conf" \
101 "${pkgdir}/etc/skel/.config/${pkgname}.conf"
102
103 # Automatically generate a configuration file using the content of
104 # `/usr/share/gnunet/config.d/` as model; in this way we can ensure
105 # that this configuration file is the one backed up with each update,
106 # while `/usr/share/gnunet/config.d/` is kept as immutable default
107 # configuration.
108
109 install -dm755 "${pkgdir}/etc"
110
111 {
112 echo "# /etc/${pkgname}.conf"
113 (cd "${pkgdir}" > /dev/null 2>&1 && find "usr/share/${pkgname}/config.d" -type f -name '*.conf' \
114 -printf '\n\n# For the default values of the the following lines please refer to\n# /%p\n\n' \
115 -exec cat '{}' ';')
116 } > "${pkgdir}/etc/${pkgname}.conf"
117
118}