gnu: Add bees.
* gnu/packages/patches/bees-beesd-honor-destdir-on-installation.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/file-systems.scm (bees): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
f2deb6c18a
commit
8d4c893ab5
|
@ -939,6 +939,7 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/bsd-games-prevent-name-collisions.patch \
|
%D%/packages/patches/bsd-games-prevent-name-collisions.patch \
|
||||||
%D%/packages/patches/bsd-games-stdio.h.patch \
|
%D%/packages/patches/bsd-games-stdio.h.patch \
|
||||||
%D%/packages/patches/beancount-disable-googleapis-fonts.patch \
|
%D%/packages/patches/beancount-disable-googleapis-fonts.patch \
|
||||||
|
%D%/packages/patches/bees-beesd-honor-destdir-on-installation.patch \
|
||||||
%D%/packages/patches/beignet-correct-file-names.patch \
|
%D%/packages/patches/beignet-correct-file-names.patch \
|
||||||
%D%/packages/patches/bidiv-update-fribidi.patch \
|
%D%/packages/patches/bidiv-update-fribidi.patch \
|
||||||
%D%/packages/patches/binutils-2.37-file-descriptor-leak.patch \
|
%D%/packages/patches/binutils-2.37-file-descriptor-leak.patch \
|
||||||
|
|
|
@ -81,6 +81,7 @@ (define-module (gnu packages file-systems)
|
||||||
#:use-module (gnu packages rsync)
|
#:use-module (gnu packages rsync)
|
||||||
#:use-module (gnu packages sssd)
|
#:use-module (gnu packages sssd)
|
||||||
#:use-module (gnu packages sqlite)
|
#:use-module (gnu packages sqlite)
|
||||||
|
#:use-module (gnu packages textutils)
|
||||||
#:use-module (gnu packages time)
|
#:use-module (gnu packages time)
|
||||||
#:use-module (gnu packages tls)
|
#:use-module (gnu packages tls)
|
||||||
#:use-module (gnu packages valgrind)
|
#:use-module (gnu packages valgrind)
|
||||||
|
@ -1790,3 +1791,75 @@ (define-public fuse-overlayfs
|
||||||
(description "This package provides an implementation of overlay+shiftfs
|
(description "This package provides an implementation of overlay+shiftfs
|
||||||
in FUSE for rootless containers.")
|
in FUSE for rootless containers.")
|
||||||
(license license:gpl3)))
|
(license license:gpl3)))
|
||||||
|
|
||||||
|
(define-public bees
|
||||||
|
(package
|
||||||
|
(name "bees")
|
||||||
|
(version "0.8")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/Zygo/bees")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
;; Unbundle cityhash.
|
||||||
|
#~(begin
|
||||||
|
(for-each delete-file
|
||||||
|
'("lib/city.cc" "include/crucible/city.h"))
|
||||||
|
(substitute* "lib/Makefile"
|
||||||
|
(("city.o.*") ""))
|
||||||
|
(substitute* "src/bees-hash.cc"
|
||||||
|
(("#include .crucible/city.h.") "#include <city.h>"))))
|
||||||
|
(patches
|
||||||
|
(search-patches
|
||||||
|
;; XXX: Cherry-picked from upstream, remove the patch when
|
||||||
|
;; bumping version.
|
||||||
|
"bees-beesd-honor-destdir-on-installation.patch"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"1kxpz1p9k5ir385kpvmfjawki5vg22hlx768k7835w6n5z5a65y4"))))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:test-target "test"
|
||||||
|
#:make-flags
|
||||||
|
#~(list (string-append "CC=" #$(cc-for-target))
|
||||||
|
(string-append "DESTDIR=" #$output)
|
||||||
|
(string-append "BEES_VERSION=" #$version)
|
||||||
|
"PREFIX=''")
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(delete 'configure)
|
||||||
|
(add-after 'unpack 'fixpath
|
||||||
|
(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
(substitute* "scripts/beesd.in"
|
||||||
|
(((string-append "\\<(" (string-join (list "realpath"
|
||||||
|
"uuidparse"
|
||||||
|
"grep"
|
||||||
|
"false"
|
||||||
|
"sed"
|
||||||
|
"true"
|
||||||
|
"head"
|
||||||
|
"mkdir"
|
||||||
|
"mount"
|
||||||
|
"touch"
|
||||||
|
"du"
|
||||||
|
"cut"
|
||||||
|
"rm"
|
||||||
|
"truncate"
|
||||||
|
"chmod")
|
||||||
|
"|") ")\\>") command)
|
||||||
|
(search-input-file inputs (string-append "/bin/" command)))
|
||||||
|
|
||||||
|
(("btrfs sub")
|
||||||
|
(string-append (search-input-file inputs "/bin/btrfs") " sub"))))))))
|
||||||
|
(inputs (list btrfs-progs cityhash util-linux))
|
||||||
|
(home-page "https://github.com/Zygo/bees")
|
||||||
|
(synopsis "Best-Effort Extent-Same, a btrfs dedupe agent")
|
||||||
|
(description
|
||||||
|
"@code{bees} is a block-oriented userspace deduplication agent designed
|
||||||
|
for large btrfs filesystems. It is an offline dedupe combined with an
|
||||||
|
incremental data scan capability to minimize time data spends on disk from
|
||||||
|
write to dedupe.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
From 66b00f8a972ebb4da68f7aa0d0656f43ce2a2c3a Mon Sep 17 00:00:00 2001
|
||||||
|
From: Hilton Chain <hako@ultrarare.space>
|
||||||
|
Date: Fri, 23 Dec 2022 11:04:46 +0800
|
||||||
|
Subject: [PATCH] beesd: Honor DESTDIR on installation.
|
||||||
|
|
||||||
|
Co-authored-by: Adam Faiz <adam.faiz@disroot.org>
|
||||||
|
Signed-off-by: Hilton Chain <hako@ultrarare.space>
|
||||||
|
---
|
||||||
|
Defines.mk | 1 +
|
||||||
|
scripts/beesd.in | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/Defines.mk b/Defines.mk
|
||||||
|
index 9e8df40..e5394ba 100644
|
||||||
|
--- a/Defines.mk
|
||||||
|
+++ b/Defines.mk
|
||||||
|
@@ -2,6 +2,7 @@ MAKE += PREFIX=$(PREFIX) LIBEXEC_PREFIX=$(LIBEXEC_PREFIX) ETC_PREFIX=$(ETC_PREFI
|
||||||
|
|
||||||
|
define TEMPLATE_COMPILER =
|
||||||
|
sed $< >$@ \
|
||||||
|
+ -e's#@DESTDIR@#$(DESTDIR)#' \
|
||||||
|
-e's#@PREFIX@#$(PREFIX)#' \
|
||||||
|
-e's#@ETC_PREFIX@#$(ETC_PREFIX)#' \
|
||||||
|
-e's#@LIBEXEC_PREFIX@#$(LIBEXEC_PREFIX)#'
|
||||||
|
diff --git a/scripts/beesd.in b/scripts/beesd.in
|
||||||
|
index 174bb6c..35d04aa 100755
|
||||||
|
--- a/scripts/beesd.in
|
||||||
|
+++ b/scripts/beesd.in
|
||||||
|
@@ -15,7 +15,7 @@ readonly AL128K="$((128*1024))"
|
||||||
|
readonly AL16M="$((16*1024*1024))"
|
||||||
|
readonly CONFIG_DIR=@ETC_PREFIX@/bees/
|
||||||
|
|
||||||
|
-readonly bees_bin=$(realpath @LIBEXEC_PREFIX@/bees)
|
||||||
|
+readonly bees_bin=$(realpath @DESTDIR@/@LIBEXEC_PREFIX@/bees)
|
||||||
|
|
||||||
|
command -v "$bees_bin" &> /dev/null || ERRO "Missing 'bees' agent"
|
||||||
|
|
||||||
|
--
|
||||||
|
2.38.1
|
||||||
|
|
Loading…
Reference in a new issue