all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#30979] [PATCH] gnu: Add botan.
@ 2018-03-28 20:44 Leo Famulari
  2018-03-29 16:45 ` Marius Bakke
  0 siblings, 1 reply; 2+ messages in thread
From: Leo Famulari @ 2018-03-28 20:44 UTC (permalink / raw)
  To: 30979

* gnu/packages/crypto.scm (botan): New variable.
---
 gnu/packages/crypto.scm | 59 +++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 57 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index fd7a48c2f..da081fbef 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2014 David Thompson <davet@gnu.org>
 ;;; 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, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
@@ -34,10 +34,10 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages cryptsetup)
+  #:use-module (gnu packages databases)
   #:use-module (gnu packages gettext)
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages image)
-  #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages libbsd)
   #:use-module (gnu packages libffi)
   #:use-module (gnu packages linux)
@@ -45,6 +45,8 @@
   #:use-module (gnu packages password-utils)
   #:use-module (gnu packages perl)
   #: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 search)
   #:use-module (gnu packages serialization)
@@ -711,3 +713,56 @@ of magnet links and a wide range of hash sums like CRC32, MD4, MD5, SHA1,
 SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
 34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and Snefru.")
     (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)))
-- 
2.16.3

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [bug#30979] [PATCH] gnu: Add botan.
  2018-03-28 20:44 [bug#30979] [PATCH] gnu: Add botan Leo Famulari
@ 2018-03-29 16:45 ` Marius Bakke
  0 siblings, 0 replies; 2+ messages in thread
From: Marius Bakke @ 2018-03-29 16:45 UTC (permalink / raw)
  To: Leo Famulari, 30979

[-- Attachment #1: Type: text/plain, Size: 100 bytes --]

Leo Famulari <leo@famulari.name> writes:

> * gnu/packages/crypto.scm (botan): New variable.

LGTM.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2018-03-29 16:46 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-28 20:44 [bug#30979] [PATCH] gnu: Add botan Leo Famulari
2018-03-29 16:45 ` Marius Bakke

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.