nixpkgs/pkgs/servers/http/ran/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

48 lines
1.0 KiB
Nix

{ buildGoModule
, fetchFromGitHub
, lib
, runCommand
, ran
, curl
}:
buildGoModule rec {
pname = "ran";
version = "0.1.6";
src = fetchFromGitHub {
owner = "m3ng9i";
repo = "ran";
rev = "v${version}";
hash = "sha256-iMvUvzr/jaTNdgHQFuoJNJnnkx2XHIUUlrPWyTlreEw=";
};
vendorHash = "sha256-ObroruWWNilHIclqNvbEaa7vwk+1zMzDKbjlVs7Fito=";
CGO_ENABLED = 0;
ldflags = [
"-X" "main._version_=v${version}"
"-X" "main._branch_=master"
];
passthru.tests = {
simple = runCommand "ran-test" { } ''
echo hello world > index.html
${ran}/bin/ran &
# Allow ran to fully initialize
sleep 1
[ "$(${curl}/bin/curl 127.0.0.1:8080)" == "hello world" ]
kill %1
${ran}/bin/ran --version > $out
'';
};
meta = with lib; {
homepage = "https://github.com/m3ng9i/ran";
description = "Ran is a simple web server for serving static files";
mainProgram = "ran";
license = licenses.mit;
maintainers = with maintainers; [ tomberek ];
};
}