aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/crypto.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-04-08 15:47:00 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2021-04-08 15:47:00 -0400
commit533a893cc6b03f100566760d6e0c8e0500ed7082 (patch)
tree0ecbf89895a400c43d16bb1f6539f1a88aeaa4cf /gnu/packages/crypto.scm
parent6a2546f92d07df04e5d700924edd027ed1e2ef11 (diff)
parentc762df54786fd6f005f3b5307323f1d2df3cbf0b (diff)
downloadguix-533a893cc6b03f100566760d6e0c8e0500ed7082.tar.gz
guix-533a893cc6b03f100566760d6e0c8e0500ed7082.zip
Merge branch 'master' into staging
Conflicts: .guix-authorizations gnu/ci.scm gnu/packages/base.scm gnu/packages/databases.scm gnu/packages/gnome.scm gnu/packages/gtk.scm gnu/packages/imagemagick.scm gnu/packages/password-utils.scm gnu/packages/python-xyz.scm gnu/packages/web-browsers.scm
Diffstat (limited to 'gnu/packages/crypto.scm')
-rw-r--r--gnu/packages/crypto.scm121
1 files changed, 109 insertions, 12 deletions
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 19041c7cbe..57d417de80 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -19,6 +19,7 @@
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
;;; Copyright © 2020 Hendur Saga <hendursaga@yahoo.com>
;;; Copyright © 2020 pukkamustard <pukkamustard@posteo.net>
+;;; Copyright © 2021 Ellis Kenyő <me@elken.dev>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,9 +47,11 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages crates-io)
#:use-module (gnu packages cryptsetup)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages image)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libbsd)
@@ -71,6 +74,7 @@
#:use-module (gnu packages sqlite)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
+ #:use-module (gnu packages version-control)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
@@ -78,6 +82,7 @@
#:use-module (guix git-download)
#:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
#:use-module (guix build-system perl)
@@ -85,6 +90,57 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
+(define-public libdecaf
+ (package
+ (name "libdecaf")
+ (version "1.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.code.sf.net/p/ed448goldilocks/code")
+ (commit
+ (string-append "v" version))))
+ (file-name
+ (git-file-name name version))
+ (sha256
+ (base32 "1ajgmyvc6a4m1h2hg1g4wz7ibx10x1xys9m6ancnmmf1f2srlfly"))))
+ (build-system cmake-build-system)
+ (outputs '("out" "python" "doc"))
+ (arguments
+ `(#:configure-flags '("-DENABLE_STATIC=OFF")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-python-binding
+ (lambda _
+ (substitute* "python/setup.py"
+ (("gmake")
+ "make")
+ (("'\\.\\.', 'build', 'lib', 'libdecaf\\.so'")
+ "'..', '..', 'build', 'src', 'libdecaf.so'"))))
+ (add-after 'install 'install-python-binding
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "../source/python"
+ (invoke "python" "setup.py" "install"
+ (string-append "--prefix=" (assoc-ref outputs "python"))
+ "--root=/"))))
+ (add-after 'install-python-binding 'install-documentation
+ (lambda* (#:key outputs #:allow-other-keys)
+ (invoke "make" "doc")
+ (let* ((doc (assoc-ref outputs "doc"))
+ (dest (string-append doc "/share/doc")))
+ (copy-recursively "doc" dest)))))))
+ (native-inputs
+ `(("dot" ,graphviz)
+ ("doxygen" ,doxygen)
+ ("python" ,python-wrapper)))
+ (synopsis "Decaf Elliptic Curve Library")
+ (description "The libdecaf library is an implementation of elliptic curve
+cryptography using the Montgomery and Edwards curves Curve25519, Ed25519,
+Ed448-Goldilocks and Curve448, using the Decaf encoding.")
+ (home-page "http://ed448goldilocks.sourceforge.net/")
+ (license (list license:expat ;library
+ license:bsd-2)))) ;python bindings
+
(define-public libsodium
(package
(name "libsodium")
@@ -111,7 +167,7 @@ communication, encryption, decryption, signatures, etc.")
(define-public libmd
(package
(name "libmd")
- (version "1.0.1")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri
@@ -122,7 +178,7 @@ communication, encryption, decryption, signatures, etc.")
version ".tar.xz")))
(sha256
(base32
- "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1"))))
+ "0jmga8y94h857ilra3qjaiax3wd5pd6mx1h120zhl9fcjmzhj0js"))))
(build-system gnu-build-system)
(synopsis "Message Digest functions from BSD systems")
(description
@@ -717,15 +773,18 @@ data on your platform, so the seed itself will be as random as possible.
(define-public crypto++
(package
(name "crypto++")
- (version "8.4.0")
+ (version "8.5.0")
(source (origin
- (method url-fetch/zipbomb)
- (uri (string-append "https://cryptopp.com/cryptopp"
- (string-join (string-split version #\.) "")
- ".zip"))
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/weidai11/cryptopp")
+ (commit
+ (string-append "CRYPTOPP_"
+ (string-replace-substring version "." "_")))))
(sha256
(base32
- "16kvfm11xv7j9a3yykzysjgw38a9b7lnc5n5x5h82g395k6ybxf0"))))
+ "0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -884,14 +943,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
(define-public botan
(package
(name "botan")
- (version "2.12.1")
+ (version "2.17.3")
(source (origin
(method url-fetch)
(uri (string-append "https://botan.randombit.net/releases/"
"Botan-" version ".tar.xz"))
(sha256
(base32
- "1ada3ga7b0z4m0vjmxlvfi4nsic2l8kjcy85jwss3z2i58a5y0vy"))))
+ "121vn1aryk36cpks70kk4c4cfic5g0qs82bf92xap9258ijkn4kr"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -913,6 +972,8 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R
;; Recommended by upstream
"--with-zlib" "--with-bzip2" "--with-sqlite3"))))
+ (add-before 'check 'library-path-for-tests
+ (lambda _ (setenv "LD_LIBRARY_PATH" (getcwd))))
(replace 'check
(lambda _ (invoke "./botan-test"))))))
(native-inputs
@@ -1234,7 +1295,7 @@ Trusted comments are signed, thus verified, before being displayed.")
(define-public libolm
(package
(name "libolm")
- (version "3.2.1")
+ (version "3.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -1242,7 +1303,7 @@ Trusted comments are signed, thus verified, before being displayed.")
(commit version)))
(sha256
(base32
- "14b5cplcnbf2baq0lvz4f97m6swxpb13rvxdajxyw3s4mbvasia4"))
+ "0qji25wiwmkxyfpraxj96c54hyayqmjkvwh0gsy5gb5pz5bp4mcy"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
@@ -1335,3 +1396,39 @@ version 3) onion addresses. It allows one to produce customized vanity .onion
addresses using a brute-force method.")
(home-page "https://github.com/cathugger/mkp224o")
(license license:cc0)))
+
+(define-public transcrypt
+ (package
+ (name "transcrypt")
+ (version "2.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/elasticdog/transcrypt")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "0bpz1hazbhfb6pqi68x55kq6a31bgh6vwij836slmi4jqiwvnh5a"))
+ (file-name (git-file-name name version))))
+ (inputs
+ `(("git" ,git)
+ ("openssl" ,openssl)))
+ (build-system copy-build-system)
+ (arguments
+ `(#:install-plan
+ '(("transcrypt" "bin/transcrypt")
+ ("man/transcrypt.1" "share/man/man1/transcrypt.1")
+ ("contrib/bash/transcrypt"
+ "share/bash-completion/completions/transcrypt")
+ ("contrib/zsh/_transcrypt"
+ "share/zsh/site-functions/_transcrypt"))))
+ (home-page "https://github.com/elasticdog/transcrypt")
+ (synopsis "Transparently encrypt files within a git repository")
+ (description
+ "Transcrypt is a script to configure transparent encryption of sensitive
+files stored in a Git repository. Files that you choose will be automatically
+encrypted when you commit them, and automatically decrypted when you check
+them out. The process will degrade gracefully, so even people without your
+encryption password can safely commit changes to the repository's
+non-encrypted files.")
+ (license license:expat)))