12 rustPlatform.buildRustPackage rec {
16 src = fetchFromGitHub {
20 hash = "sha256-w02vc89U0a1NmEqneHq0M5u+OKaFbTAVqJDFZgRp7l0=";
23 cargoHash = "sha256-CUEjumDmRf3uUejE5pg1aS1CbVByPSeb9HWRyXzC2YY=";
25 nativeBuildInputs = [ pkg-config ];
27 buildInputs = [ openssl ];
29 doInstallCheck = true;
30 installCheckPhase = ''
31 runHook preInstallCheck
33 $out/bin/agate --version 2>&1 | grep "agate ${version}"
34 runHook postInstallCheck
37 __darwinAllowLocalNetworking = true;
41 inherit (nixosTests) agate;
43 updateScript = nix-update-script { };
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";
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.
57 license = with lib.licenses; [
61 maintainers = with lib.maintainers; [ jk ];