diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 58ec22733bd2..eae53216e6c1 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3488,6 +3488,11 @@ githubId = 30630233; name = "Timo Triebensky"; }; + BIOS9 = { + name = "NightFish"; + github = "BIOS9"; + githubId = 15035908; + }; birdee = { name = "birdee"; github = "BirdeeHub"; diff --git a/pkgs/by-name/sl/slinktool/package.nix b/pkgs/by-name/sl/slinktool/package.nix new file mode 100644 index 000000000000..b48501bd6eb8 --- /dev/null +++ b/pkgs/by-name/sl/slinktool/package.nix @@ -0,0 +1,46 @@ +{ + lib, + stdenv, + fetchFromGitHub, + versionCheckHook, + nix-update-script, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "slinktool"; + version = "4.5.0"; + + src = fetchFromGitHub { + owner = "EarthScope"; + repo = "slinktool"; + tag = "v${finalAttrs.version}"; + hash = "sha256-4UUvjlSqtBTiO200pb4FEFXEvUAmA4OlegrgF4wZII4="; + }; + + # slinktool uses K&R-style function pointers in some places; fails with modern GCC + env.NIX_CFLAGS_COMPILE = "-std=gnu89"; + + installPhase = '' + runHook preInstall + + install -D slinktool $out/bin/slinktool + + runHook postInstall + ''; + + versionCheckProgramArg = "-V"; + nativeInstallCheckInputs = [ versionCheckHook ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "SeedLink client for data stream inspection, data collection and server testing"; + homepage = "https://github.com/EarthScope/slinktool"; + changelog = "https://github.com/EarthScope/slinktool/releases/tag/${finalAttrs.src.tag}"; + license = lib.licenses.lgpl3Only; + maintainers = with lib.maintainers; [ BIOS9 ]; + platforms = lib.platforms.all; + mainProgram = "slinktool"; + }; +})