;;; Copyright © 2015, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018, 2019 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox>
-;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016–2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017, 2019, 2020 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; 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.
;;;
#: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)
#: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)
#: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)
#: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")
(define-public libmd
(package
(name "libmd")
- (version "1.0.1")
+ (version "1.0.3")
(source (origin
(method url-fetch)
(uri
version ".tar.xz")))
(sha256
(base32
- "0waclg2d5qin3r26gy5jvy4584ik60njc8pqbzwk0lzq3j9ynkp1"))))
+ "0jmga8y94h857ilra3qjaiax3wd5pd6mx1h120zhl9fcjmzhj0js"))))
(build-system gnu-build-system)
(synopsis "Message Digest functions from BSD systems")
(description
(define-public tomb
(package
(name "tomb")
- (version "2.8")
+ (version "2.9")
(source (origin
(method url-fetch)
(uri (string-append "https://files.dyne.org/tomb/releases/"
"Tomb-" version ".tar.gz"))
(sha256
(base32
- "0bggzzqmpfiknr76lyl8iszybrcpyqlbgiqk47fxq08h2b5ln1ic"))))
+ "136nfnpaz29hngwwnzrmc858gpnvnb977gf4ldbpapw1h1k3r8mk"))))
(build-system gnu-build-system)
(native-inputs `(("sudo" ,sudo))) ;presence needed for 'check' phase
(inputs
(define-public crypto++
(package
(name "crypto++")
- (version "8.2.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
- "0n40hlz5jkvlcp9vxrj0fsrcfp7dm0zmmv6h52dx3f8i5qjf5w03"))))
+ "0in7rlazq91vfi519g9wr7bh87hii47cimxv7fmj0f88vhjaidq3"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(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
;; 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
(license license:unlicense)))
(define-public libsecp256k1
- (let ((commit "d644dda5c9dbdecee52d1aa259235510fdc2d4ee"))
+ (let ((commit "dbd41db16a0e91b2566820898a3ab2d7dad4fe00"))
(package
(name "libsecp256k1")
- (version (git-version "20191213" "1" commit))
+ (version (git-version "20200615" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(commit commit)))
(sha256
(base32
- "0zmx32746khsm2cx0p3pdy3j2vkwmafvf7axiixijhgcg0xjv93i"))
+ "1fcpnksq5cqwqzshn5f0lq94b73p3frwbp04hgmmbnrndpqg6mpy"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--enable-module-recovery"
+ "--enable-experimental"
+ "--enable-module-ecdh"
+ "--enable-shared")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
(define-public libolm
(package
(name "libolm")
- (version "3.2.1")
+ (version "3.2.2")
(source (origin
(method git-fetch)
(uri (git-reference
(commit version)))
(sha256
(base32
- "14b5cplcnbf2baq0lvz4f97m6swxpb13rvxdajxyw3s4mbvasia4"))
+ "0qji25wiwmkxyfpraxj96c54hyayqmjkvwh0gsy5gb5pz5bp4mcy"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
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)))