Monorepo for Tangled tangled.org

nix: break out knot pkgs into separate files

Signed-off-by: oppiliappan <me@oppi.li>

oppi.li 63220aad 4d2e16fe

verified
Changed files
+48 -30
nix
+6 -30
flake.nix
··· 55 55 in { 56 56 overlays.default = final: prev: let 57 57 goModHash = "sha256-ZckpIPqFk7/XBiEJUbmrAzdjAxV62hv896xqAXF2aZs="; 58 - knotBuildAttrs = final: 59 - with final; { 60 - pname = "knot"; 61 - version = "0.1.0"; 62 - src = gitignoreSource ./.; 63 - subPackages = ["cmd/knot"]; 64 - vendorHash = goModHash; 65 - env.CGO_ENABLED = 1; 66 - }; 67 58 appviewDeps = { 68 59 inherit htmx-src lucide-src inter-fonts-src ibm-plex-mono-src goModHash gitignoreSource; 69 60 }; 61 + knotDeps = { 62 + inherit goModHash gitignoreSource; 63 + }; 70 64 in { 71 65 lexgen = final.callPackage ./nix/pkgs/lexgen.nix {inherit indigo;}; 72 66 appview = final.pkgsStatic.callPackage ./nix/pkgs/appview.nix appviewDeps; 73 67 appview-cross = final.pkgsCross.gnu64.pkgsStatic.callPackage ./nix/pkgs/appview.nix appviewDeps; 68 + knot = final.pkgsStatic.callPackage ./nix/pkgs/knot.nix {}; 69 + knot-unwrapped = final.pkgsStatic.callPackage ./nix/pkgs/knot-unwrapped.nix knotDeps; 70 + knot-cross = final.pkgsCross.gnu64.pkgsStatic.callPackage ./nix/pkgs/knot.nix knotDeps; 74 71 sqlite-lib = final.pkgsStatic.callPackage ./nix/pkgs/sqlite-lib.nix { 75 72 inherit (final.pkgsStatic) gcc; 76 73 inherit sqlite-lib-src; 77 74 }; 78 - 79 - # knot packages 80 - knot = with final; 81 - final.pkgsStatic.buildGoModule ((knotBuildAttrs final) 82 - // { 83 - nativeBuildInputs = [final.makeWrapper]; 84 - installPhase = '' 85 - runHook preInstall 86 - 87 - mkdir -p $out/bin 88 - cp $GOPATH/bin/knot $out/bin/knot 89 - 90 - wrapProgram $out/bin/knot \ 91 - --prefix PATH : ${pkgs.git}/bin 92 - 93 - runHook postInstall 94 - ''; 95 - }); 96 - knot-cross = final.pkgsCross.gnu64.pkgsStatic.buildGoModule (knotBuildAttrs final); # cross-compile on darwin to x86_64-linux 97 - knot-unwrapped = final.pkgsStatic.buildGoModule (knotBuildAttrs final); 98 - 99 75 genjwks = final.callPackage ./nix/pkgs/genjwks.nix {inherit goModHash gitignoreSource;}; 100 76 }; 101 77
+22
nix/pkgs/knot-unwrapped.nix
··· 1 + { 2 + buildGoModule, 3 + stdenv, 4 + sqlite-lib, 5 + goModHash, 6 + gitignoreSource, 7 + }: 8 + buildGoModule { 9 + pname = "knot"; 10 + version = "0.1.0"; 11 + src = gitignoreSource ../..; 12 + 13 + doCheck = false; 14 + 15 + subPackages = ["cmd/knot"]; 16 + vendorHash = goModHash; 17 + tags = "libsqlite3"; 18 + 19 + env.CGO_CFLAGS = "-I ${sqlite-lib}/include "; 20 + env.CGO_LDFLAGS = "-L ${sqlite-lib}/lib"; 21 + env.CGO_ENABLED = 1; 22 + }
+20
nix/pkgs/knot.nix
··· 1 + { 2 + knot-unwrapped, 3 + makeWrapper, 4 + git, 5 + }: 6 + knot-unwrapped.overrideAttrs (after: before: { 7 + nativeBuildInputs = (before.nativeBuildInputs or []) ++ [makeWrapper]; 8 + 9 + installPhase = '' 10 + runHook preInstall 11 + 12 + mkdir -p $out/bin 13 + cp $GOPATH/bin/knot $out/bin/knot 14 + 15 + wrapProgram $out/bin/knot \ 16 + --prefix PATH : ${git}/bin 17 + 18 + runHook postInstall 19 + ''; 20 + })