biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / servers / http / dufs / default.nix
blob433a68d1a54a5d91a11ce18bf61afc511823b9ae
1 { lib
2 , rustPlatform
3 , fetchFromGitHub
4 , installShellFiles
5 , stdenv
6 , darwin
7 }:
9 rustPlatform.buildRustPackage rec {
10   pname = "dufs";
11   version = "0.40.0";
13   src = fetchFromGitHub {
14     owner = "sigoden";
15     repo = "dufs";
16     rev = "v${version}";
17     hash = "sha256-BoFoF7V6bTQiJ+afGnivviU/s2ikOxAX06s+AwRxo8Q=";
18   };
20   cargoHash = "sha256-B0K/lco7suYM0/02LaDbeqyt4zyiwoeBxhmUPsVTvkw=";
22   nativeBuildInputs = [ installShellFiles ];
24   buildInputs = lib.optionals stdenv.isDarwin [
25     darwin.apple_sdk.frameworks.Security
26   ];
28   # FIXME: checkPhase on darwin will leave some zombie spawn processes
29   # see https://github.com/NixOS/nixpkgs/issues/205620
30   doCheck = !stdenv.isDarwin;
31   checkFlags = [
32     # tests depend on network interface, may fail with virtual IPs.
33     "--skip=validate_printed_urls"
34   ];
36   postInstall = ''
37     installShellCompletion --cmd dufs \
38       --bash <($out/bin/dufs --completions bash) \
39       --fish <($out/bin/dufs --completions fish) \
40       --zsh <($out/bin/dufs --completions zsh)
41   '';
43   meta = with lib; {
44     description = "A file server that supports static serving, uploading, searching, accessing control, webdav";
45     mainProgram = "dufs";
46     homepage = "https://github.com/sigoden/dufs";
47     changelog = "https://github.com/sigoden/dufs/blob/${src.rev}/CHANGELOG.md";
48     license = with licenses; [ asl20 /* or */ mit ];
49     maintainers = with maintainers; [ figsoda holymonson ];
50   };