14 rustPlatform.buildRustPackage rec {
18 src = fetchFromGitHub {
22 hash = "sha256-HK4ZTpRe6dEvBnjZLisSGXJmD5gTPEnf6f/gN0AHUsI=";
25 cargoHash = "sha256-yRCH4TRZ3m7ZG/NAEi1YDisSoad6FxCyojtXVvwbU9w=";
27 nativeBuildInputs = [ pkg-config ];
31 ++ lib.optionals stdenv.isDarwin [
33 darwin.apple_sdk.frameworks.Security
36 doInstallCheck = true;
37 installCheckPhase = ''
38 runHook preInstallCheck
40 $out/bin/agate --version 2>&1 | grep "agate ${version}"
41 runHook postInstallCheck
44 __darwinAllowLocalNetworking = true;
48 inherit (nixosTests) agate;
50 updateScript = nix-update-script { };
54 homepage = "https://github.com/mbrubeck/agate";
55 changelog = "https://github.com/mbrubeck/agate/releases/tag/v${version}";
56 description = "Very simple server for the Gemini hypertext protocol";
57 mainProgram = "agate";
59 Agate is a server for the Gemini network protocol, built with the Rust
60 programming language. Agate has very few features, and can only serve
61 static files. It uses async I/O, and should be quite efficient even when
62 running on low-end hardware and serving many concurrent requests.
64 license = with lib.licenses; [
68 maintainers = with lib.maintainers; [ jk ];