blob: efc8d006bb7b62e0d0e8af9547f7827965b251c4 [file] [log] [blame]
Skyler Turner67d911a2022-03-17 08:54:58 +00001final: prev: let
Skyler Turner9f74a142022-03-18 00:14:26 +00002 version = "1ba013d3fe54de01c52bd74d98037fe4c0029d6e";
3
Skyler Turner67d911a2022-03-17 08:54:58 +00004 src = final.fetchFromGitHub {
5 owner = "winfsp";
6 repo = "hubfs";
Skyler Turner9f74a142022-03-18 00:14:26 +00007 rev = version;
Skyler Turner64f72902022-03-17 10:48:20 +00008 hash = "sha256-R1nCdua0gacXrglQ4AZfxnO3ngVECCKKiUOgp3dWRGg=";
Skyler Turner3f619692022-03-18 00:02:19 +00009 } + "/src";
Skyler Turner67d911a2022-03-17 08:54:58 +000010in {
Skyler Turner3f619692022-03-18 00:02:19 +000011 hubfs = final.buildGoModule {
Skyler Turner9f74a142022-03-18 00:14:26 +000012 inherit src version;
13
Skyler Turnerd5892a92022-03-17 10:45:47 +000014 name = "hubfs";
Skyler Turner9f74a142022-03-18 00:14:26 +000015
Skyler Turner0c261772022-03-17 11:00:04 +000016 buildInputs = with final; [
Skyler Turner3f619692022-03-18 00:02:19 +000017 fuse3
Skyler Turner9f74a142022-03-18 00:14:26 +000018 fuse
Skyler Turnerdca1df32022-03-17 23:57:11 +000019 fuse-common
Skyler Turner0c261772022-03-17 11:00:04 +000020 ];
Skyler Turner9f74a142022-03-18 00:14:26 +000021
Skyler Turner3f619692022-03-18 00:02:19 +000022 checkPhase = ":"; # Bit of a hack here; we need to disable tests as we can't get FUSE inside the build derivation to test the package
Skyler Turner9f74a142022-03-18 00:14:26 +000023
Skyler Turner3f619692022-03-18 00:02:19 +000024 vendorSha256 = "sha256-Fpa+wanlMIqxkEZ3JQdCT4ixuNBj7AquG2+wLuO5TQU=";
Skyler Turner9f74a142022-03-18 00:14:26 +000025
Skyler Turner3f619692022-03-18 00:02:19 +000026 runVend = true;
Skyler Turner9f74a142022-03-18 00:14:26 +000027
28 ldflags = [
29 "-X main.GitVersion=${version}"
30 "-X main.GitVersionFuse=[vendored]"
31 "-X main.BuildDate=unknown"
32 ];
33
34 postInstall = ''
35 wrapProgram $out/bin/gocryptfs \
36 --suffix PATH : ${final.lib.makeBinPath [ final.fuse final.fuse3 ]}
37 ln -s $out/bin/gocryptfs $out/bin/mount.fuse.gocryptfs
38 '';
39
40 meta = with final.lib; {
41 description = "GitHub as a FUSE mount";
42 license = licenses.agpl3;
43 homepage = "https://github.com/winfsp/hubfs";
44 maintainers = with maintainers; [ minion3665 ];
45 platforms = platforms.unix;
46 };
Skyler Turnerc2c48112022-03-17 08:55:27 +000047 };
Skyler Turner67d911a2022-03-17 08:54:58 +000048}