unityhub: 3.10.0 -> 3.11.0 (#376840)
[NixPkgs.git] / pkgs / by-name / ag / agate / package.nix
blob13bc3db35528001890f1ed7090b4b4b665671dab
2   lib,
3   stdenv,
4   nixosTests,
5   fetchFromGitHub,
6   rustPlatform,
7   openssl,
8   pkg-config,
9   nix-update-script,
12 rustPlatform.buildRustPackage rec {
13   pname = "agate";
14   version = "3.3.11";
16   src = fetchFromGitHub {
17     owner = "mbrubeck";
18     repo = "agate";
19     rev = "v${version}";
20     hash = "sha256-w02vc89U0a1NmEqneHq0M5u+OKaFbTAVqJDFZgRp7l0=";
21   };
23   cargoHash = "sha256-CUEjumDmRf3uUejE5pg1aS1CbVByPSeb9HWRyXzC2YY=";
25   nativeBuildInputs = [ pkg-config ];
27   buildInputs = [ openssl ];
29   doInstallCheck = true;
30   installCheckPhase = ''
31     runHook preInstallCheck
32     $out/bin/agate --help
33     $out/bin/agate --version 2>&1 | grep "agate ${version}"
34     runHook postInstallCheck
35   '';
37   __darwinAllowLocalNetworking = true;
39   passthru = {
40     tests = {
41       inherit (nixosTests) agate;
42     };
43     updateScript = nix-update-script { };
44   };
46   meta = {
47     homepage = "https://github.com/mbrubeck/agate";
48     changelog = "https://github.com/mbrubeck/agate/releases/tag/v${version}";
49     description = "Very simple server for the Gemini hypertext protocol";
50     mainProgram = "agate";
51     longDescription = ''
52       Agate is a server for the Gemini network protocol, built with the Rust
53       programming language. Agate has very few features, and can only serve
54       static files. It uses async I/O, and should be quite efficient even when
55       running on low-end hardware and serving many concurrent requests.
56     '';
57     license = with lib.licenses; [
58       asl20
59       mit
60     ];
61     maintainers = with lib.maintainers; [ jk ];
62   };