lol

checkmake: fix version information and date of the man page, refactor

figsoda 76010e75 2dfbb7c8

+31 -20
+31 -20
pkgs/development/tools/checkmake/default.nix
··· 1 - { buildGoModule, fetchFromGitHub, pandoc, lib }: 1 + { lib 2 + , buildGoModule 3 + , fetchFromGitHub 4 + , installShellFiles 5 + , pandoc 6 + , go 7 + }: 2 8 3 9 buildGoModule rec { 4 10 pname = "checkmake"; ··· 8 14 owner = "mrtazz"; 9 15 repo = pname; 10 16 rev = version; 11 - sha256 = "sha256-Ql8XSQA/w7wT9GbmYOM2vG15GVqj9LxOGIu8Wqp9Wao="; 17 + hash = "sha256-Ql8XSQA/w7wT9GbmYOM2vG15GVqj9LxOGIu8Wqp9Wao="; 12 18 }; 13 19 14 - vendorSha256 = null; 20 + vendorHash = null; 15 21 16 - nativeBuildInputs = [ pandoc ]; 22 + nativeBuildInputs = [ 23 + installShellFiles 24 + pandoc 25 + ]; 26 + 27 + ldflags = [ 28 + "-s" 29 + "-w" 30 + "-X=main.version=${version}" 31 + "-X=main.buildTime=1970-01-01T00:00:00Z" 32 + "-X=main.builder=nixpkgs" 33 + "-X=main.goversion=go${go.version}" 34 + ]; 17 35 18 - preBuild = 19 - let 20 - buildVars = { 21 - version = version; 22 - buildTime = "N/A"; 23 - builder = "nix"; 24 - goversion = "$(go version | egrep -o 'go[0-9]+[.][^ ]*')"; 25 - }; 26 - buildVarsFlags = lib.concatStringsSep " " (lib.mapAttrsToList (k: v: "-X main.${k}=${v}") buildVars); 27 - in 28 - '' 29 - buildFlagsArray+=("-ldflags=${buildVarsFlags}") 30 - ''; 36 + postPatch = '' 37 + substituteInPlace man/man1/checkmake.1.md \ 38 + --replace REPLACE_DATE 1970-01-01T00:00:00Z 39 + ''; 31 40 32 - ldflags = [ "-s" "-w" ]; 41 + postBuild = '' 42 + pandoc man/man1/checkmake.1.md -st man -o man/man1/checkmake.1 43 + ''; 33 44 34 45 postInstall = '' 35 - mkdir -p $out/share/man/man1 36 - pandoc -s -t man -o $out/share/man/man1/checkmake.1 man/man1/checkmake.1.md 46 + installManPage man/man1/checkmake.1 37 47 ''; 38 48 39 49 meta = with lib; { 40 50 description = "Experimental tool for linting and checking Makefiles"; 41 51 homepage = "https://github.com/mrtazz/checkmake"; 52 + changelog = "https://github.com/mrtazz/checkmake/releases/tag/${src.rev}"; 42 53 license = licenses.mit; 43 54 maintainers = with maintainers; [ vidbina ]; 44 55 longDescription = ''