gnu: Add botan.
* gnu/packages/crypto.scm (botan): New variable.
This commit is contained in:
parent
d4e0ebd016
commit
b6beda1d6b
|
@ -1,7 +1,7 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2014 David Thompson <davet@gnu.org>
|
;;; Copyright © 2014 David Thompson <davet@gnu.org>
|
||||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
;;; Copyright © 2016, 2017, 2018 Leo Famulari <leo@famulari.name>
|
||||||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
|
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
|
||||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||||
|
@ -34,10 +34,10 @@ (define-module (gnu packages crypto)
|
||||||
#:use-module (gnu packages boost)
|
#:use-module (gnu packages boost)
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages cryptsetup)
|
#:use-module (gnu packages cryptsetup)
|
||||||
|
#:use-module (gnu packages databases)
|
||||||
#:use-module (gnu packages gettext)
|
#:use-module (gnu packages gettext)
|
||||||
#:use-module (gnu packages gnupg)
|
#:use-module (gnu packages gnupg)
|
||||||
#:use-module (gnu packages image)
|
#:use-module (gnu packages image)
|
||||||
#:use-module (gnu packages pkg-config)
|
|
||||||
#:use-module (gnu packages libbsd)
|
#:use-module (gnu packages libbsd)
|
||||||
#:use-module (gnu packages libffi)
|
#:use-module (gnu packages libffi)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
|
@ -45,6 +45,8 @@ (define-module (gnu packages crypto)
|
||||||
#:use-module (gnu packages password-utils)
|
#:use-module (gnu packages password-utils)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages perl-check)
|
#:use-module (gnu packages perl-check)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages readline)
|
#:use-module (gnu packages readline)
|
||||||
#:use-module (gnu packages search)
|
#:use-module (gnu packages search)
|
||||||
#:use-module (gnu packages serialization)
|
#:use-module (gnu packages serialization)
|
||||||
|
@ -711,3 +713,56 @@ (define-public rhash
|
||||||
SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
|
SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
|
||||||
34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.")
|
34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.")
|
||||||
(license (license:non-copyleft "file://COPYING"))))
|
(license (license:non-copyleft "file://COPYING"))))
|
||||||
|
|
||||||
|
(define-public botan
|
||||||
|
(package
|
||||||
|
(name "botan")
|
||||||
|
(version "2.4.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append "https://botan.randombit.net/releases/"
|
||||||
|
"Botan-" version ".tgz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1988crh5lipmfcd1icldf6hchi9vcy08yymxv79lrvnglpi6957d"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
'(#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'build 'fix-rst2man-invocation
|
||||||
|
(lambda _
|
||||||
|
;; XXX Reported upstream:
|
||||||
|
;; <https://github.com/randombit/botan/issues/1516>
|
||||||
|
(substitute* "src/scripts/build_docs.py"
|
||||||
|
(("'rst2man'")"'rst2man.py'"))
|
||||||
|
#t))
|
||||||
|
(replace 'configure
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((out (assoc-ref %outputs "out"))
|
||||||
|
(lib (string-append out "/lib")))
|
||||||
|
(invoke "python" "./configure.py"
|
||||||
|
(string-append "--prefix=" out)
|
||||||
|
;; Otherwise, the `botan` executable cannot find
|
||||||
|
;; libbotan.
|
||||||
|
(string-append "--ldflags=-Wl,-rpath=" lib)
|
||||||
|
"--with-rst2man"
|
||||||
|
;; Recommended by upstream
|
||||||
|
"--with-zlib" "--with-bzip2" "--with-sqlite3"))))
|
||||||
|
(replace 'check
|
||||||
|
(lambda _ (invoke "./botan-test"))))))
|
||||||
|
(native-inputs
|
||||||
|
`(("python" ,python-minimal-wrapper)
|
||||||
|
("python-docutils" ,python-docutils)))
|
||||||
|
(inputs
|
||||||
|
`(("sqlite" ,sqlite)
|
||||||
|
("bzip2" ,bzip2)
|
||||||
|
("zlib" ,zlib)))
|
||||||
|
(synopsis "Cryptographic library in C++11")
|
||||||
|
(description "Botan is a cryptography library, written in C++11, offering
|
||||||
|
the tools necessary to implement a range of practical systems, such as TLS/DTLS,
|
||||||
|
PKIX certificate handling, PKCS#11 and TPM hardware support, password hashing,
|
||||||
|
and post-quantum crypto schemes. In addition to the C++, botan has a C89 API
|
||||||
|
specifically designed to be easy to call from other languages. A Python binding
|
||||||
|
using ctypes is included, and several other language bindings are available.")
|
||||||
|
(home-page "https://botan.randombit.net")
|
||||||
|
(license license:bsd-2)))
|
||||||
|
|
Loading…
Reference in a new issue