+49
pkgs/by-name/pg/pgit/package.nix
+49
pkgs/by-name/pg/pgit/package.nix
···
1
+
{
2
+
lib,
3
+
buildGoModule,
4
+
fetchFromGitHub,
5
+
runCommand,
6
+
git, # for passthru tests
7
+
pgit, # for passthru tests
8
+
}:
9
+
10
+
buildGoModule (finalAttrs: {
11
+
pname = "pgit";
12
+
version = "1.1.0";
13
+
14
+
src = fetchFromGitHub {
15
+
owner = "picosh";
16
+
repo = "pgit";
17
+
rev = "v${finalAttrs.version}";
18
+
hash = "sha256-81ZiaY973+mGnYbDX+6fhe9NTYjQhWsvdpW0v42pasw=";
19
+
};
20
+
21
+
vendorHash = "sha256-in8GVcOlGsvmcbegJmYwvE0AVJhVJ83x1v3ymV0uTpg=";
22
+
23
+
passthru.tests.smoke =
24
+
runCommand "pgit-smoke-test"
25
+
{
26
+
buildInputs = [ git ];
27
+
}
28
+
''
29
+
${lib.getExe git} init -b smoke
30
+
${lib.getExe git} config --local user.name "Nick Spackages"
31
+
${lib.getExe git} config --local user.email "nixbld@localhost"
32
+
echo "Read me please" > README
33
+
${lib.getExe git} add README
34
+
${lib.getExe git} commit -m "First commit"
35
+
${lib.getExe pgit} -desc "The description" -revs smoke -repo . -out ./public
36
+
grep "The description" ./public/index.html
37
+
grep "First commit" ./public/logs/smoke/index.html
38
+
grep "Read me please" ./public/tree/smoke/item/README.html
39
+
touch $out
40
+
'';
41
+
42
+
meta = with lib; {
43
+
description = "static site generator for git";
44
+
homepage = "https://pgit.pico.sh/";
45
+
license = licenses.mit;
46
+
mainProgram = "pgit";
47
+
maintainers = with maintainers; [ jaculabilis ];
48
+
};
49
+
})