]> git.sesse.net Git - bcachefs-tools-debian/blob - base.nix
fixup! nix: overhaul build system.
[bcachefs-tools-debian] / base.nix
1 { lib
2 , stdenvNoCC
3 , callPackage
4 , nixosTests
5 , autoPatchelfHook
6 , binary
7 , mount
8 , versionString ? "0.1"
9 }:
10
11 stdenvNoCC.mkDerivation {
12   pname = "bcachefs-tools";
13
14   version = "v0.1-flake-${versionString}";
15
16   nativeBuildInputs = [
17     binary
18     mount
19   ];
20
21   buildInputs = mount.propagatedBuildInputs;
22
23   phases = [ "installPhase" ];
24
25   installPhase = ''
26     mkdir $out
27     mkdir $out/bin
28     mkdir $out/lib
29     mkdir $out/share
30     mkdir $out/etc
31     cp -pr "${binary}/bin/"* $out/bin
32     cp -pr "${binary}/lib/"* $out/lib
33     cp -pr "${binary}/share/"* $out/share
34     cp -pr "${binary}/etc/"* $out/etc
35     cp -pr "${mount}/bin/"* $out/bin/
36     chmod u+w $out/bin/*
37     patchelf --add-rpath $out/lib $out/bin/bcachefs-mount
38     ln -s "$out/bin/bcachefs-mount" "$out/bin/mount.bcachefs"
39     ln -s "$out/bin" "$out/sbin"
40   '';
41
42   passthru = {
43     tests = {
44       smoke-test = nixosTests.bcachefs;
45     };
46   };
47
48   enableParallelBuilding = true;
49   meta = with lib; {
50     description = "Userspace tools for bcachefs";
51     homepage    = http://bcachefs.org;
52     license     = licenses.gpl2;
53     platforms   = platforms.linux;
54     maintainers =
55       [ "Kent Overstreet <kent.overstreet@gmail.com>"
56       ];
57
58   };
59 }