biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / filesystems / bees / default.nix
bloba014f449079c41ce0be8b4d238722c19912fbf9d
1 { lib
2 , fetchFromGitHub
3 , makeWrapper
4 , nixosTests
6 , stdenv
7 # Build inputs
8 , btrfs-progs
9 , util-linux
10 , python3Packages
11 # bees-service-wrapper
12 , bash
13 , coreutils
16 stdenv.mkDerivation rec {
17   pname = "bees";
18   version = "0.10";
20   src = fetchFromGitHub {
21     owner = "Zygo";
22     repo = "bees";
23     rev = "v${version}";
24     hash = "sha256-f3P3BEd8uO6QOZ1/2hBzdcuOSggYvHxW3g9pGftKO8g=";
25   };
27   buildInputs = [
28     btrfs-progs # for btrfs/ioctl.h
29     util-linux # for uuid.h
30   ];
32   nativeBuildInputs = [
33     makeWrapper
34     python3Packages.markdown # documentation build
35   ];
37   preBuild = ''
38     git() { if [[ $1 = describe ]]; then echo ${version}; else command git "$@"; fi; }
39     export -f git
40   '';
42   postBuild = ''
43     unset -f git
44   '';
46   postInstall = ''
47     makeWrapper ${./bees-service-wrapper} "$out"/bin/bees-service-wrapper \
48       --prefix PATH : ${lib.makeBinPath [ bash coreutils util-linux btrfs-progs ]} \
49       --set beesd_bin "$out"/lib/bees/bees
50   '';
52   buildFlags = [
53     "ETC_PREFIX=/var/run/bees/configs"
54   ];
56   makeFlags = [
57     "SHELL=bash"
58     "PREFIX=$(out)"
59     "ETC_PREFIX=$(out)/etc"
60     "BEES_VERSION=${version}"
61     "SYSTEMD_SYSTEM_UNIT_DIR=$(out)/etc/systemd/system"
62   ];
64   passthru.tests = {
65     smoke-test = nixosTests.bees;
66   };
68   meta = with lib; {
69     homepage = "https://github.com/Zygo/bees";
70     description = "Block-oriented BTRFS deduplication service";
71     longDescription = "Best-Effort Extent-Same: bees finds not just identical files, but also identical extents within files that differ";
72     license = licenses.gpl3;
73     platforms = platforms.linux;
74     maintainers = with maintainers; [ chaduffy ];
75   };