mirror of
https://github.com/NotAShelf/watchdog.git
synced 2026-04-15 06:44:20 +00:00
Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I6ec7858564223f643a2ceea8b104827a6a6a6964
55 lines
1.2 KiB
Nix
55 lines
1.2 KiB
Nix
{
|
|
lib,
|
|
buildGoModule,
|
|
}: let
|
|
versionInfo = lib.importJSON ../version.json;
|
|
in
|
|
buildGoModule (finalAttrs: {
|
|
pname = "watchdog";
|
|
version = versionInfo.version;
|
|
|
|
src = let
|
|
fs = lib.fileset;
|
|
s = ../.;
|
|
in
|
|
fs.toSource {
|
|
root = s;
|
|
fileset = fs.unions [
|
|
(s + /cmd)
|
|
(s + /internal)
|
|
(s + /web)
|
|
|
|
(s + /go.mod)
|
|
(s + /go.sum)
|
|
|
|
# Checkphase
|
|
(s + /test)
|
|
(s + /testdata)
|
|
(s + /version.json)
|
|
];
|
|
};
|
|
|
|
vendorHash = "sha256-qOCa/uj7GS1PYup12Z91zn9w3ovQg4XEHVOLCVP9qZk=";
|
|
|
|
ldflags = [
|
|
"-s"
|
|
"-w"
|
|
"-X main.Version=${finalAttrs.version}"
|
|
"-X main.Commit=${versionInfo.commit}"
|
|
"-X main.BuildDate=${versionInfo.buildDate}"
|
|
];
|
|
|
|
# Copy web assets
|
|
postInstall = ''
|
|
mkdir -p $out/share/watchdog
|
|
cp -r $src/web $out/share/watchdog/
|
|
'';
|
|
|
|
meta = {
|
|
description = "Privacy-preserving web analytics with Prometheus-native metrics";
|
|
homepage = "https://github.com/notashelf/watchdog";
|
|
license = lib.licenses.eupl12;
|
|
maintainers = with lib.maintainers; [NotAShelf];
|
|
mainProgram = "watchdog";
|
|
};
|
|
})
|