nixpkgs/pkgs/by-name/go/godns/package.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

66 lines
1.5 KiB
Nix
Raw Normal View History

2023-03-03 12:08:06 +00:00
{
lib,
buildGoModule,
fetchFromGitHub,
2024-03-17 15:36:02 +00:00
nodejs,
npmHooks,
fetchNpmDeps,
2023-03-03 12:08:06 +00:00
nix-update-script,
}:
2021-10-07 03:05:05 +00:00
buildGoModule rec {
pname = "godns";
2024-12-11 20:05:20 +00:00
version = "3.2.0";
2021-10-07 03:05:05 +00:00
src = fetchFromGitHub {
owner = "TimothyYe";
repo = "godns";
2023-03-03 12:08:06 +00:00
rev = "refs/tags/v${version}";
2024-12-11 20:05:20 +00:00
hash = "sha256-qkyEQs96E5l1R5JTGefnTeiThr4P7PtUjpNmiylQj4c=";
2021-10-07 03:05:05 +00:00
};
2024-11-25 01:48:00 +00:00
vendorHash = "sha256-zz33xHIZ2jhD2s3v2vum0ELG7GTqe5SsADUrO5yqumw=";
2024-03-17 15:36:02 +00:00
npmDeps = fetchNpmDeps {
src = "${src}/web";
2024-11-25 01:48:00 +00:00
hash = "sha256-Y35CcUubO3QmbEwWBFXoWKLgvE8dp/mFE/szRigJvLo=";
2024-03-17 15:36:02 +00:00
};
npmRoot = "web";
nativeBuildInputs = [
nodejs
npmHooks.npmConfigHook
];
overrideModAttrs = oldAttrs: {
# Do not add `npmConfigHook` to `goModules`
nativeBuildInputs = lib.remove npmHooks.npmConfigHook oldAttrs.nativeBuildInputs;
# Do not run `preBuild` when building `goModules`
preBuild = null;
};
2021-10-07 03:05:05 +00:00
# Some tests require internet access, broken in sandbox
doCheck = false;
2024-03-17 15:36:02 +00:00
preBuild = ''
npm --prefix="$npmRoot" run build
go generate ./...
'';
2023-03-03 12:08:06 +00:00
ldflags = [
"-s"
"-w"
"-X main.Version=${version}"
];
2021-10-07 03:05:05 +00:00
passthru.updateScript = nix-update-script { };
2022-05-11 04:24:27 +00:00
2021-10-07 03:05:05 +00:00
meta = with lib; {
description = "Dynamic DNS client tool supports AliDNS, Cloudflare, Google Domains, DNSPod, HE.net & DuckDNS & DreamHost, etc";
homepage = "https://github.com/TimothyYe/godns";
2023-03-03 12:06:34 +00:00
changelog = "https://github.com/TimothyYe/godns/releases/tag/v${version}";
2021-10-07 03:05:05 +00:00
license = licenses.asl20;
maintainers = with maintainers; [ yinfeng ];
2024-02-11 02:19:15 +00:00
mainProgram = "godns";
2021-10-07 03:05:05 +00:00
};
}