blob: 20bb03c07572f8659cbfe9f11a9c36aba8c1622e [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 Turner46fe0bc2022-03-18 00:24:39 +000020 makeWrapper
Skyler Turner0c261772022-03-17 11:00:04 +000021 ];
Skyler Turner9f74a142022-03-18 00:14:26 +000022
Skyler Turner3f619692022-03-18 00:02:19 +000023 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 +000024
Skyler Turner3f619692022-03-18 00:02:19 +000025 vendorSha256 = "sha256-Fpa+wanlMIqxkEZ3JQdCT4ixuNBj7AquG2+wLuO5TQU=";
Skyler Turner9f74a142022-03-18 00:14:26 +000026
Skyler Turner3f619692022-03-18 00:02:19 +000027 runVend = true;
Skyler Turner9f74a142022-03-18 00:14:26 +000028
29 ldflags = [
30 "-X main.GitVersion=${version}"
31 "-X main.GitVersionFuse=[vendored]"
32 "-X main.BuildDate=unknown"
33 ];
34
35 postInstall = ''
36 wrapProgram $out/bin/gocryptfs \
37 --suffix PATH : ${final.lib.makeBinPath [ final.fuse final.fuse3 ]}
38 ln -s $out/bin/gocryptfs $out/bin/mount.fuse.gocryptfs
39 '';
40
41 meta = with final.lib; {
42 description = "GitHub as a FUSE mount";
43 license = licenses.agpl3;
44 homepage = "https://github.com/winfsp/hubfs";
45 maintainers = with maintainers; [ minion3665 ];
46 platforms = platforms.unix;
47 };
Skyler Turnerc2c48112022-03-17 08:55:27 +000048 };
Skyler Turner67d911a2022-03-17 08:54:58 +000049}