diff options
Diffstat (limited to 'pkgs/by-name/go/goatcounter/package.nix')
-rw-r--r-- | pkgs/by-name/go/goatcounter/package.nix | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/pkgs/by-name/go/goatcounter/package.nix b/pkgs/by-name/go/goatcounter/package.nix new file mode 100644 index 0000000000000..83e05473ae606 --- /dev/null +++ b/pkgs/by-name/go/goatcounter/package.nix @@ -0,0 +1,59 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + testers, + goatcounter, + nixosTests, +}: + +buildGoModule rec { + pname = "goatcounter"; + version = "2.5.0"; + + src = fetchFromGitHub { + owner = "arp242"; + repo = "goatcounter"; + rev = "v${version}"; + sha256 = "sha256-lwiLk/YYxX4QwSDjpU/mAikumGXYMzleRzmPjZGruZU="; + }; + + vendorHash = "sha256-YAb3uBWQc6hWzF1Z5cAg8RzJQSJV+6dkppfczKS832s="; + subPackages = [ "cmd/goatcounter" ]; + modRoot = "."; + + # Derived from the upstream build scripts: + # + # `-trimpath` is used, which `allowGoReference` sets + allowGoReference = true; + # Flags set in the upstream build. + ldflags = [ + "-s" + "-w" + "-X zgo.at/goatcounter/v2.Version=${src.rev}" + ]; + + passthru.tests = { + moduleTest = nixosTests.goatcounter; + version = testers.testVersion { + package = goatcounter; + command = "goatcounter version"; + version = "v${version}"; + }; + }; + + meta = { + description = "Easy web analytics. No tracking of personal data"; + changelog = "https://github.com/arp242/goatcounter/releases/tag/${src.rev}"; + longDescription = '' + GoatCounter is an open source web analytics platform available as a hosted + service (free for non-commercial use) or self-hosted app. It aims to offer easy + to use and meaningful privacy-friendly web analytics as an alternative to + Google Analytics or Matomo. + ''; + homepage = "https://github.com/arp242/goatcounter"; + license = lib.licenses.eupl12; + maintainers = with lib.maintainers; [ tylerjl ]; + mainProgram = "goatcounter"; + }; +} |