gnu: cryptsetup: Update to 2.2.1.

* gnu/packages/cryptsetup.scm (cryptsetup): Update to 2.2.1.
[arguments]: Add #:configure-flags.
[native-inputs]: Remove python & add pkg-config.
[inputs]: Add argon2 & json-c.
(cryptsetup-static): Disable new binaries.  Keep using libgcrypt.
Disable blkid support.
[inputs]: Add json-c.
This commit is contained in:
Tobias Geerinckx-Rice 2019-10-04 12:31:30 +02:00
parent b5c84b8a37
commit c11caf2060
No known key found for this signature in database
GPG Key ID: D889B0F018C5493C
1 changed files with 31 additions and 11 deletions

View File

@ -26,14 +26,16 @@
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt) #:use-module (gnu packages popt)
#:use-module (gnu packages python) #:use-module (gnu packages linux)
#:use-module (gnu packages linux)) #:use-module (gnu packages web))
(define-public cryptsetup (define-public cryptsetup
(package (package
(name "cryptsetup") (name "cryptsetup")
(version "1.7.5") (version "2.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v" (uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v"
@ -41,15 +43,26 @@
"/cryptsetup-" version ".tar.xz")) "/cryptsetup-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1gail831j826lmpdx2gsc83lp3br6wfnwh3vqwxaa1nn1lfwsc1b")))) "0q8w3khiwsw708169vahm0nccajsc2hwqz5gv6nb1g9qxlqrmrwl"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (arguments
`(("libgcrypt" ,libgcrypt) `(#:configure-flags
("lvm2" ,lvm2) (list
("util-linux" ,util-linux) ;; Argon2 is always enabled, this just selects the (faster) full version.
("popt" ,popt))) "--enable-libargon2"
;; The default is OpenSSL which provides better PBKDF performance.
"--with-crypto_backend=gcrypt"
;; GRUB as of 2.04 still can't read LUKS2 containers.
"--with-default-luks-format=LUKS1")))
(native-inputs (native-inputs
`(("python" ,python-wrapper))) `(("pkg-config" ,pkg-config)))
(inputs
`(("argon2" ,argon2)
("json-c" ,json-c)
("libgcrypt" ,libgcrypt)
("lvm2" ,lvm2) ; device-mapper
("popt" ,popt)
("util-linux" ,util-linux))) ; libuuid
(synopsis "Hard disk encryption tool") (synopsis "Hard disk encryption tool")
(description (description
"LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk "LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk
@ -83,7 +96,13 @@ files). This assumes LIBRARY uses Libtool."
"--enable-static-cryptsetup" "--enable-static-cryptsetup"
"--disable-veritysetup" "--disable-veritysetup"
"--disable-cryptsetup-reencrypt"
"--disable-integritysetup"
;; The default is OpenSSL which provides better PBKDF performance.
"--with-crypto_backend=gcrypt"
"--disable-blkid"
;; 'libdevmapper.a' pulls in libpthread, libudev and libm. ;; 'libdevmapper.a' pulls in libpthread, libudev and libm.
"LIBS=-ludev -pthread -lm") "LIBS=-ludev -pthread -lm")
@ -119,7 +138,8 @@ files). This assumes LIBRARY uses Libtool."
(inherit (static-library libgcrypt)) (inherit (static-library libgcrypt))
(propagated-inputs (propagated-inputs
`(("libgpg-error-host" ,(static-library libgpg-error))))))) `(("libgpg-error-host" ,(static-library libgpg-error)))))))
`(("libgcrypt" ,libgcrypt-static) `(("json-c" ,json-c)
("libgcrypt" ,libgcrypt-static)
("lvm2" ,lvm2-static) ("lvm2" ,lvm2-static)
("util-linux" ,util-linux "static") ("util-linux" ,util-linux "static")
("util-linux" ,util-linux) ("util-linux" ,util-linux)