+6
-30
flake.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
+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
+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
+
})