diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/http/dufs/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/http/dufs/default.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/http/dufs/default.nix b/nixpkgs/pkgs/servers/http/dufs/default.nix new file mode 100644 index 000000000000..433a68d1a54a --- /dev/null +++ b/nixpkgs/pkgs/servers/http/dufs/default.nix @@ -0,0 +1,51 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, installShellFiles +, stdenv +, darwin +}: + +rustPlatform.buildRustPackage rec { + pname = "dufs"; + version = "0.40.0"; + + src = fetchFromGitHub { + owner = "sigoden"; + repo = "dufs"; + rev = "v${version}"; + hash = "sha256-BoFoF7V6bTQiJ+afGnivviU/s2ikOxAX06s+AwRxo8Q="; + }; + + cargoHash = "sha256-B0K/lco7suYM0/02LaDbeqyt4zyiwoeBxhmUPsVTvkw="; + + nativeBuildInputs = [ installShellFiles ]; + + buildInputs = lib.optionals stdenv.isDarwin [ + darwin.apple_sdk.frameworks.Security + ]; + + # FIXME: checkPhase on darwin will leave some zombie spawn processes + # see https://github.com/NixOS/nixpkgs/issues/205620 + doCheck = !stdenv.isDarwin; + checkFlags = [ + # tests depend on network interface, may fail with virtual IPs. + "--skip=validate_printed_urls" + ]; + + postInstall = '' + installShellCompletion --cmd dufs \ + --bash <($out/bin/dufs --completions bash) \ + --fish <($out/bin/dufs --completions fish) \ + --zsh <($out/bin/dufs --completions zsh) + ''; + + meta = with lib; { + description = "A file server that supports static serving, uploading, searching, accessing control, webdav"; + mainProgram = "dufs"; + homepage = "https://github.com/sigoden/dufs"; + changelog = "https://github.com/sigoden/dufs/blob/${src.rev}/CHANGELOG.md"; + license = with licenses; [ asl20 /* or */ mit ]; + maintainers = with maintainers; [ figsoda holymonson ]; + }; +} |