summaryrefslogtreecommitdiff
path: root/pcr/tahoe-lafs/PKGBUILD
blob: 6a09409ae1597a5b447508fa26c2790df165eaab (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
# Maintainer: Luke R. <g4jc@openmailbox.org> GPG: rsa4096/3EAE8697
# Contributor (Arch): Skydrome <skydrome@i2pmail.org>
# Contributor (Arch): DaNiMoTh <jjdanimoth@gmail.com>
# Contributor (Arch): Peter Simons <simons@cryp.to>
# Contributor (Arch): Nicolas Pouillard <nicolas.pouillard@gmail.com>

pkgname=tahoe-lafs
pkgver=1.10.1
pkgrel=1
pkgdesc="Secure, decentralized, and fault-tolerant filesystem."
url='https://tahoe-lafs.org/trac/tahoe-lafs'
license=('GPL')
arch=('any')
conflicts=('tahoe-lafs-i2p')
BUILDENV+=(!check)

depends=('openssl>=1.0.2'
         'python2-twisted>=13.0.0'
         'python2-mock>=1.0.1'
         'python2-pyopenssl>=0.14'
         'python2-pyasn1>=0.1.4'
         'python2-pyasn1-modules>=0.0.5'
         'python2-zope-interface>=4.0.5'
         'python2-characteristic>=14.3.0'
         'python2-service-identity>=14.0.0'
         'python2-cryptography'
         'pyutil>=1.9.4'
         'python2-simplejson>=3.1.3'
         'nevow>=0.11.1'
         'zbase32>=1.1.5'
         'zfec>=1.4.24'
         'pycryptopp>=0.6.0'
         'python2-cffi'
         'python2-enum34'
         'python2-pycparser'
         'python2-six'
         'libffi'
         'python2-foolscap>=0.8.0'
         'net-tools' # provides /sbin/ifconfig
         'python2-setuptools')

optdepends=('python2-numpy: reliability test')

source=("https://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-$pkgver.tar.bz2"
"https://tahoe-lafs.org/source/tahoe-lafs/releases/allmydata-tahoe-1.10.1.tar.bz2.asc"
'PKGBUILD'
'PKGBUILD.sig')
validpgpkeys=('CB6E213A349B8DF9E96B622AC3F4FFCF3EAE8697' # PKGBUILD Maintainer's key
'E34E62D06D0E69CFCA4179FFBDE0D31D68666A7A') # Tahoe-LAFS Release-Signing Key
sha512sums=('1c8a94f07f6c1d832b7ea05f5a24b410a58d7058814215794d2d600e55774aa9f015208caf281e527547a8c12ff25a989ba26fbfd8b89c57c772880857d7dd88'
'1da1eeb1d2f61f836a2f514eaff73770fa8cf3dd18950de9e159af2a4c2f13b46033b10a6bf545e96c0cf8319a88923eb2792e4aebd17f048d6b0a364dd97737'
'SKIP'
'SKIP')

build(){
  gpg --verify PKGBUILD.sig PKGBUILD
  echo "Note: If the GPG verification fails, import the PKGBUILD maintainer's GPG key. See: https://wiki.parabola.nu/GnuPG#Import_key"
  whirlpoolsum=('4150961c179dd6537dc06e1c4423026df42cd04a62c9b2ec9af35034b5fd868342459d46195422fb9638017265ea8232b381df6b6678017463e06a2ae130581a')
  [[ "$(openssl dgst -r -whirlpool allmydata-tahoe-$pkgver.tar.bz2 | awk '{print $1}')" = ${whirlpoolsum} ]] && echo "Whirlpool checksum passed." || { echo "Whirlpool checksum failed!!" ;  exit 1; } # This is an added security layer. If SHA512 for some unlikely reason fails, whirlpool will check and abort if it too fails to match.
    gpg --verify allmydata-tahoe-$pkgver.tar.bz2.asc allmydata-tahoe-$pkgver.tar.bz2
    cd "${srcdir}/allmydata-tahoe-${pkgver}"
    python2 setup.py build
}

check() {
    cd "${srcdir}/allmydata-tahoe-${pkgver}"
    msg "This may take a while"
    python2 bin/tahoe debug trial $MAKEFLAGS
}

package(){
    cd "${srcdir}/allmydata-tahoe-${pkgver}"
    python2 setup.py install --root="$pkgdir" --optimize=1
    install -Dm644 COPYING.GPL "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
}