# 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.2
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-pyopenssl>=0.14'
         'python2-pyasn1>=0.1.8'
         '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-$pkgver.tar.bz2.asc"
'PKGBUILD'
'PKGBUILD.sig')
validpgpkeys=('CB6E213A349B8DF9E96B622AC3F4FFCF3EAE8697' # PKGBUILD Maintainer's key
'E34E62D06D0E69CFCA4179FFBDE0D31D68666A7A') # Tahoe-LAFS Release-Signing Key
sha512sums=('79d4e3395aa7ef8e1e7c97eebdfcb75b3b36edb75aa5d5f805c568b842b9b2f4ea5f8529dbf32fbdd9cc467cf82f153aca09310bc3b69fa00efae7be8a7bc198'
'40e5c1cbf24e44a652aaff27f7c55016900cfca0659f6a9071e22b87d0ee281b8ab76005393c92e3eabb9b364eedbd0d108ba3ea29c7f46339c68865f3bb77fe'
'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=('d38a362105118113aaaf34c429c4b611e37ebf10d983dff1a4a117f6802671df78805ac1950b1c01279d36d1c87bc3976fec498580117d6f9bc46912a00b792f')
  [[ "$(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"
}