1{ lib
2, buildGoModule
3, fetchFromGitHub
4}:
5
6buildGoModule rec {
7 pname = "doc2go";
8 version = "0.8.1";
9
10 src = fetchFromGitHub {
11 owner = "abhinav";
12 repo = "doc2go";
13 rev = "v${version}";
14 hash = "sha256-b4L20/9jm+bFGdNsHmcwSnzcmr3Il9XoV20284Ba8PU=";
15 };
16 vendorHash = "sha256-d5ZRMFi7GIfDHsYRNvMnDdfnGhTM1sA0WDYD2aDoEd0=";
17
18 ldflags = [ "-s" "-w" "-X main._version=${version}" ];
19
20 subPackages = [ "." ];
21 # integration is it's own module
22 excludedPackages = [ "integration" ];
23
24 checkFlags = [
25 # needs to fetch additional go modules
26 "-skip=TestFinder_ImportedPackage/Modules"
27 ];
28
29 preCheck = ''
30 # run all tests
31 unset subPackages
32 '';
33
34 meta = with lib; {
35 homepage = "https://github.com/abhinav/doc2go";
36 changelog = "https://github.com/abhinav/doc2go/blob/${src.rev}/CHANGELOG.md";
37 description = "Your Go project's documentation, to-go";
38 mainProgram = "doc2go";
39 longDescription = ''
40 doc2go is a command line tool that generates static HTML documentation
41 from your Go code. It is a self-hosted static alternative to
42 https://pkg.go.dev/ and https://godocs.io/.
43 '';
44 license = with licenses; [
45 # general project license
46 asl20
47 # internal/godoc/synopsis*.go adapted from golang source
48 bsd3
49 ];
50 maintainers = with maintainers; [ jk ];
51 };
52}