python313Packages.filedepot: add legacy-cgi for Python 3.13 (#372373)
[NixPkgs.git] / pkgs / by-name / hu / hurl / package.nix
blob4a49b8b29e873060cbe32311112249f5f23bdea3
2   lib,
3   rustPlatform,
4   fetchFromGitHub,
5   fetchpatch,
6   pkg-config,
7   installShellFiles,
8   libxml2,
9   openssl,
10   stdenv,
11   curl,
12   versionCheckHook,
15 rustPlatform.buildRustPackage rec {
16   pname = "hurl";
17   version = "6.0.0";
19   src = fetchFromGitHub {
20     owner = "Orange-OpenSource";
21     repo = "hurl";
22     tag = version;
23     hash = "sha256-zrZWYnXUuzf2cS3n56/hWDvyXVM4Y/34SOlMPrtAhJo=";
24   };
26   cargoHash = "sha256-IuxTuIU9/6BpAXXunJ1Jjz3FPYRVPFNQhBqVAzMjNro=";
28   nativeBuildInputs = [
29     pkg-config
30     installShellFiles
31   ];
33   buildInputs =
34     [
35       libxml2
36       openssl
37     ]
38     ++ lib.optionals stdenv.hostPlatform.isDarwin [
39       curl
40     ];
42   nativeInstallCheckInputs = [ versionCheckHook ];
44   # The actual tests require network access to a test server, but we can run an install check
45   doCheck = false;
46   doInstallCheck = true;
48   postInstall = ''
49     installManPage docs/manual/hurl.1 docs/manual/hurlfmt.1
50     installShellCompletion --cmd hurl \
51       --bash completions/hurl.bash \
52       --zsh completions/_hurl \
53       --fish completions/hurl.fish
55     installShellCompletion --cmd hurlfmt \
56       --zsh completions/_hurlfmt
57   '';
59   meta = with lib; {
60     description = "Command line tool that performs HTTP requests defined in a simple plain text format";
61     homepage = "https://hurl.dev/";
62     changelog = "https://github.com/Orange-OpenSource/hurl/blob/${version}/CHANGELOG.md";
63     maintainers = with maintainers; [
64       eonpatapon
65       figsoda
66     ];
67     license = licenses.asl20;
68     mainProgram = "hurl";
69   };