;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2014 Alex Kost ;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (tahoe-lafs) #:use-module ((guix licenses) #:select (boost1.0 expat gpl2+)) #:use-module (gnu packages gcc) #:use-module (gnu packages python) #:use-module (gnu packages zip) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix packages)) (define-public cryptopp ;; TODO: Test reproducibility. (package (name "cryptopp") (version "5.6.4") (source (origin (method url-fetch) (uri "http://www.cryptopp.com/cryptopp564.zip") (file-name (string-append name "-" version ".zip")) (sha256 (base32 "1msar24a38rxzq0xgmjf09hzaw2lv6s48vnbbhfrf5awn1vh6hxy")))) (build-system gnu-build-system) (inputs `(("gcc" ,gcc) ("unzip" ,unzip))) (arguments `(#:make-flags `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases (modify-phases %standard-phases (delete `configure) ; FIXME: Configuration is done inside "config.h" file??? (replace `build (lambda* _ (zero? (system* "make" "dynamic"))))))) (home-page "http://www.cryptopp.com/") (synopsis "Crypto++ Library is a free C++ class library of cryptographic schemes") (description "Crypto++ Library is a free C++ class library of cryptographic schemes. This package was not tested for reproducibility.") (license boost1.0))) (define-public python2-attrs ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-attrs") (version "16.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/hynek/attrs/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1fqzm4vw3qk80i3dign4jsdyxfrzyfgp879rndq1z8py9rlml7cw")))) (build-system python-build-system) (inputs `(("python2-setuptools" ,python2-setuptools))) (arguments `(#:python ,python-2 #:tests? #f ; FIXME: Tests require pytest. )) (home-page "https://github.com/hynek/attrs") (synopsis "Python attributes without boilerplate") (description "Python package to ease writing classes by not needing to implement object protocols, tuples or namedtuples, and so resulting in higher runtime performance. This package was not tested for reproducibility.") (license expat))) (define-public python2-characteristic ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-characteristic") (version "14.3.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/hynek/characteristic/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "05p8k68k6bbd02f3xl2n13s4758khgz1impfyg6vfq1c4xci7m26")))) (build-system python-build-system) (inputs `(("python2-setuptools" ,python2-setuptools))) (arguments `(#:python ,python-2 #:tests? #f ; FIXME: Tests require pytest. )) (home-page "https://github.com/hynek/characteristic") (synopsis "Python attributes without boilerplate") (description "Python package with class decorators that ease the chores of implementing the most common attribute-related object protocols. Predecessor of attrs. This package was not tested for reproducibility.") (license expat))) (define-public python2-foolscap ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-foolscap") (version "0.12.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/warner/foolscap/archive/foolscap-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0p58sz1rs4g6zh88c41fkbf7ih8glpwn1f6xm4bfd1nvmma49s59")))) (build-system python-build-system) (inputs `(("python2-pyopenssl" ,python2-pyopenssl) ("python2-setuptools" ,python2-setuptools) ("python2-twisted-tls" ,python2-twisted-tls))) (arguments `(#:python ,python-2)) (home-page "https://foolscap.lothar.com/") (synopsis "Remote object-messaging for Python+Twisted") (description "Foolscap is an RPC/RMI (Remote Procedure Call / Remote Method Invocation) protocol for use with Twisted, derived/inspired by Twisted's built-in Perspective Broker package. This package was not tested for reproducibility.") (license expat))) (define-public python2-nevow ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-nevow") (version "0.14.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/twisted/nevow/archive/nevow-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0in7gdvi7sbxd5ml2qc4lv3lifs2zdwnhgcmpli1q2ba5n5gajkm")))) (build-system python-build-system) (inputs `(("python2-setuptools" ,python2-setuptools) ("python2-twisted" ,python2-twisted) )) (arguments `(#:python ,python-2)) (home-page "https://github.com/twisted/nevow") (synopsis "Web application construction kit") (description "Divmod Nevow is a web application construction kit written in Python. It is designed to allow the programmer to express as much of the view logic as desired in Python, and includes a pure Python XML expression syntax named stan to facilitate this. However it also provides rich support for designer-edited templates, using a very small XML attribute language to provide bi-directional template manipulation capability. This package was not tested for reproducibility.") (license expat))) (define-public python2-pycryptopp ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-pycryptopp") (version "0.7.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/tahoe-lafs/pycryptopp/archive/pycryptopp-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "0ighsdxrqcms0bg63acyqpfmia9c4d2qzx5p8sp994l3wcqdc7ba")))) (build-system python-build-system) (inputs `(("cryptopp" ,cryptopp) ("python2-setuptools" ,python2-setuptools))) (arguments `(#:python ,python-2)) (home-page "https://tahoe-lafs.org/trac/pycryptopp") (synopsis "Python bindings to the Crypto++ library") (description "Pycryptopp is a collection of Python interfaces to a few good crypto algorithms. This package was not tested for reproducibility.") (license gpl2+))) (define-public python2-pyutil ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-pyutil") (version "2.0.0") (source (origin (method url-fetch) (uri (string-append "https://pypi.python.org/packages/source/p/pyutil/pyutil" version ".tar.gz")) (sha256 (base32 "1fsg9yz5mi2sb0h6c1vvcqchx56i89nbvdb5gfgv1ia3b2w5ra8c")))) (build-system python-build-system) (inputs `(("python2-setuptools" ,python2-setuptools))) (arguments `(#:python ,python-2)) (home-page "https://tahoe-lafs.org/trac/pyutil") (synopsis "A collection of utilities for Python programmers") (description "A collection of utilities for Python programmers. This package was not tested for reproducibility.") (license gpl2+))) (define-public python2-service-identity ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-service-identity") (version "16.0.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/pyca/service_identity/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "10jkwsc4a4iwrsy0kcdj5rjpavwkd51kf4vb2sr2xj3345llp1qp")))) (build-system python-build-system) (inputs `(("python2-attrs",python2-attrs) ("python2-pyasn1" ,python2-pyasn1) ("python2-pyasn1-modules" ,python2-pyasn1-modules) ("python2-pyopenssl" ,python2-pyopenssl) ("python2-setuptools" ,python2-setuptools) )) (arguments `( #:tests? #f ; FIXME: Tests require pytest. )) (arguments `(#:python ,python-2)) (home-page "https://github.com/pyca/service_identity") (synopsis "Service identity verification for pyOpenSSL") (description "Use this package if you use pyOpenSSL and don’t want to be MITMed or if you want to verify that a PyCA cryptography certificate is valid for a certain hostname. service_identity aspires to give you all the tools you need for verifying whether a certificate is valid for the intended purposes. In the simplest case, this means host name verification. However, service_identity implements RFC 6125 fully and plans to add other relevant RFCs too. This package was not tested for reproducibility.") (license expat))) (define-public python2-twisted-tls ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (inherit python2-twisted) (name "python2-twisted-tls") (inputs `(("python2-pyopenssl" ,python2-pyopenssl) ("python2-service-identity" ,python2-service-identity) ("python2-idna" ,python2-idna) ,@(package-inputs python2-twisted))) (description (string-append (package-description python2-twisted) " This package was not tested for reproducibility.")))) (define-public python2-zfec ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "python2-zfec") (version "1.4.24") (source (origin (method url-fetch) (uri (string-append "https://github.com/tahoe-lafs/zfec/archive/zfec-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "13d5z6607jzhljna7ylvxqg37d7hsr91p3x4a799064cic11w5fb")))) (build-system python-build-system) (inputs `(("python2-setuptools" ,python2-setuptools) ("python2-pyutil" ,python2-pyutil) )) (arguments `(#:python ,python-2)) (home-page "https://tahoe-lafs.org/trac/zfec") (synopsis "Efficient, portable erasure coding tool") (description "Generate redundant blocks of information such that if some of the blocks are lost then the original data can be recovered from the remaining blocks. This package includes command-line tools, C API, Python API, and Haskell API. This package was not tested for reproducibility.") (license gpl2+))) (define-public tahoe-lafs ;; TODO: Test with Python 3. ;; TODO: Test reproducibility. (package (name "tahoe-lafs") (version "1.11.0") (source (origin (method url-fetch) (uri (string-append "https://www.tahoe-lafs.org/downloads/tahoe-lafs-" version ".tar.gz")) (sha256 (base32 "09jxb4gwa163yd5jf3qd5691slmkqvmvrxwdsppa0nqvyd4w2lhm")))) (build-system python-build-system) (inputs `(("python2-characteristic" ,python2-characteristic) ("python2-foolscap" ,python2-foolscap) ("python2-nevow" ,python2-nevow) ("python2-pyasn1" ,python2-pyasn1) ("python2-pyasn1-modules" ,python2-pyasn1-modules) ("python2-pycrypto" ,python2-pycrypto) ("python2-pycryptopp" ,python2-pycryptopp) ("python2-pyopenssl" ,python2-pyopenssl) ("python2-service-identity" ,python2-service-identity) ("python2-setuptools" ,python2-setuptools) ("python2-simplejson" ,python2-simplejson) ("python2-twisted-tls" ,python2-twisted-tls) ("python2-zfec" ,python2-zfec) ("python2-zope-interface" ,python2-zope-interface) )) (arguments `(#:python ,python-2)) (synopsis "Decentralized storage system with provider-independent security") (description "Tahoe-LAFS is a decentralized data store. It distributes your filesystem across multiple servers, and even if some of the servers fail or are taken over by an attacker, the entire filesystem continues to work correctly and to preserve your privacy and security. This package was not tested for reproducibility.") (home-page "https://tahoe-lafs.org/") (license gpl2+)))