From c11caf2060d82c1dc56969ce3668ec9e6561fe79 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 4 Oct 2019 12:31:30 +0200 Subject: [PATCH] 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. --- gnu/packages/cryptsetup.scm | 42 +++++++++++++++++++++++++++---------- 1 file changed, 31 insertions(+), 11 deletions(-) diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm index 8425135245..3bb1388910 100644 --- a/gnu/packages/cryptsetup.scm +++ b/gnu/packages/cryptsetup.scm @@ -26,14 +26,16 @@ #:use-module (guix utils) #:use-module (gnu packages) #: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 python) - #:use-module (gnu packages linux)) + #:use-module (gnu packages linux) + #:use-module (gnu packages web)) (define-public cryptsetup (package (name "cryptsetup") - (version "1.7.5") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v" @@ -41,15 +43,26 @@ "/cryptsetup-" version ".tar.xz")) (sha256 (base32 - "1gail831j826lmpdx2gsc83lp3br6wfnwh3vqwxaa1nn1lfwsc1b")))) + "0q8w3khiwsw708169vahm0nccajsc2hwqz5gv6nb1g9qxlqrmrwl")))) (build-system gnu-build-system) - (inputs - `(("libgcrypt" ,libgcrypt) - ("lvm2" ,lvm2) - ("util-linux" ,util-linux) - ("popt" ,popt))) + (arguments + `(#:configure-flags + (list + ;; Argon2 is always enabled, this just selects the (faster) full version. + "--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 - `(("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") (description "LUKS (Linux Unified Key Setup)/Cryptsetup provides a standard on-disk @@ -83,7 +96,13 @@ files). This assumes LIBRARY uses Libtool." "--enable-static-cryptsetup" "--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. "LIBS=-ludev -pthread -lm") @@ -119,7 +138,8 @@ files). This assumes LIBRARY uses Libtool." (inherit (static-library libgcrypt)) (propagated-inputs `(("libgpg-error-host" ,(static-library libgpg-error))))))) - `(("libgcrypt" ,libgcrypt-static) + `(("json-c" ,json-c) + ("libgcrypt" ,libgcrypt-static) ("lvm2" ,lvm2-static) ("util-linux" ,util-linux "static") ("util-linux" ,util-linux)