lib,
buildGoModule,
src,
+ version,
}:
buildGoModule {
pname = "onechat";
- version = "0.1.0";
- inherit src;
+ inherit src version;
subPackages = [ "." ];
- vendorHash = null;
+ ldflags = [ "-X main.version=${version}" ];
+ vendorHash = "sha256-nRDUAGSXAK5/L2xyfDh3NbMOZmrGGEIm4vtgfWsxHYU=";
+
+ # The flake check runs the full replay.
+ checkFlags = [ "-short" ];
+
+ postInstall = ''
+ mkdir -p "$out/share/systemd/user"
+ substitute ${./onechat.service} "$out/share/systemd/user/onechat.service" \
+ --subst-var-by onechat "$out/bin/onechat"
+ '';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
- test "$("$out/bin/onechat")" = onechat
+ [[ "$("$out/bin/onechat" help)" == "Usage: onechat "* ]]
+ [[ "$("$out/bin/onechat" version)" == "${version}" ]]
runHook postInstallCheck
'';