1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-24 19:21:24 +02:00

gnu: Add fscrypt.

* gnu/packages/file-systems.scm (fscrypt): New variable.

Change-Id: I7df45a9345726480518c598583a10b6e905e8a1f
Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
45mg
2025-04-04 00:10:49 +05:30
committed by Leo Famulari
parent 7e1278ad91
commit dad964e595

View File

@@ -17,6 +17,7 @@
;;; Copyright © 2025 Julian Flake <flake@uni-koblenz.de>
;;; Copyright © 2025 Ashish SHUKLA <ashish.is@lostca.se>
;;; Copyright © 2020-2025 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2025 45mg <45mg.writes@gmail.com>
;;
;;; This file is part of GNU Guix.
;;;
@@ -455,6 +456,75 @@ is corrupted you'll lose the affected file(s) but not the whole back-up.")
(home-page "https://www.fsarchiver.org/")
(license license:gpl2)))
(define-public fscrypt
(package
(name "fscrypt")
(version "0.3.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/google/fscrypt")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15b89g7imv4691aq16xn9q6nh6fcdldkxmvysc7igm6a8p1n6bai"))))
(build-system go-build-system)
(arguments
(list
#:import-path "github.com/google/fscrypt"
#:install-source? #f
#:test-flags
#~(list "-skip"
(string-join (list
;; These tests expect to be able to find /home,
;; /mnt and /tmp.
"TestLoadReadOnlyMount"
"TestReadWriteMountIsPreferredOverReadOnlyMount"
"TestLoadAmbiguousMounts"
"TestRootSubtreeIsPreferred") "|"))
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'fix-version-detection
;; We don't have .git in the build directory.
(lambda _
(substitute* "src/github.com/google/fscrypt/Makefile"
(("\\$\\(shell git describe --tags\\)")
(string-append "v" #$version)))))
(replace 'build
(lambda* (#:key parallel-build? #:allow-other-keys)
(with-directory-excursion "src/github.com/google/fscrypt"
(invoke "make"
"-j" (if parallel-build?
(number->string (parallel-job-count))
"1")
(string-append "CC=" #$(cc-for-target))))))
(replace 'install
(lambda _
(with-directory-excursion "src/github.com/google/fscrypt"
(invoke "make" "install"
(string-append "PREFIX=" #$output))))))))
(native-inputs (list gnu-make
go-github-com-client9-misspell
go-github-com-pkg-errors
go-github-com-urfave-cli
go-github-com-wadey-gocovmerge
go-golang-org-x-crypto
go-golang-org-x-sys
go-golang-org-x-term
go-golang-org-x-tools
go-google-golang-org-protobuf
go-honnef-co-go-tools
linux-pam
m4))
(home-page "https://github.com/google/fscrypt")
(synopsis "Go tool for managing Linux filesystem encryption")
(description "@command{fscrypt} is a high-level tool for the management of
Linux native filesystem encryption. It manages metadata, key generation, key
wrapping, PAM integration, and provides a uniform interface for creating and
modifying encrypted directories.")
(license license:asl2.0)))
(define-public fstransform
(package
(name "fstransform")