Skip to content

Commit 0079797

Browse files
committed
Add doc-ledger and doc-ledger-mode to flake.nix
1 parent 6c0cd78 commit 0079797

File tree

3 files changed

+105
-16
lines changed

3 files changed

+105
-16
lines changed

.github/workflows/build_and_deploy.yml

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,16 @@ jobs:
2222
nix_path: nixpkgs=channel:nixos-unstable
2323
- name: Build website
2424
run: |
25-
nix build .
2625
mkdir -p build
26+
nix build .
2727
cp -R result/* build
2828
- name: Build documentation
29-
env:
30-
# TODO: change ${OWNER} to ledger prior to merging
31-
OWNER: afh
32-
REPO: ledger
3329
run: |
34-
# TODO: change ledger to ${OWNER} prior to merging
35-
LATEST=$(curl -sqI -w '%{redirect_url}' -o /dev/null https://github.com/ledger/${REPO}/releases/latest | awk -F/ '{print $NF}')
36-
# TODO: remove this override prior to merging
37-
LATEST=web-docs
38-
nix build github:${OWNER}/${REPO}/${LATEST}#web-docs
3930
mkdir -p build/doc
31+
nix build .#doc-ledger
4032
cp result/share/doc/ledger/ledger* build/doc
33+
nix build .#doc-ledger-mode
34+
cp result/ledger-mode.* build/doc
4135
- name: Upload artifact
4236
uses: actions/upload-pages-artifact@v1
4337
with:

flake.lock

Lines changed: 40 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 61 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,18 @@
66
inputs = {
77
nixpkgs.url = "nixpkgs/nixpkgs-unstable";
88
flake-utils.url = "github:numtide/flake-utils";
9+
# NOTA BENE: When a new release of ledger or ledger-mode is available, update
10+
# the tag in the url below and run `nix flake update`, so that GitHub Actions
11+
# will build the documentation for ledger-cli.org from the latest release.
12+
# TODO: Uncomment once a ledger release contains changes from afh/ledger@web-docs
13+
#ledger.url = "github:ledger/ledger/v3.3.1";
14+
# TODO: Remove once a ledger release contains changes from afh/ledger@web-docs
15+
ledger.url = "github:afh/ledger/7b7bb08f5c5903566f866af23acde6a3c451b7d3?dir=doc";
16+
ledger-mode.url = "github:ledger/ledger-mode/v4.0.0?dir=doc";
17+
ledger-mode.flake = false;
918
};
1019

11-
outputs = { self, nixpkgs, flake-utils }:
20+
outputs = { self, nixpkgs, flake-utils, ledger, ledger-mode }:
1221
flake-utils.lib.eachDefaultSystem( system:
1322
let
1423
pkgs = import nixpkgs { inherit system; };
@@ -17,14 +26,18 @@
1726
inherit ruby;
1827
gemdir = ./.;
1928
};
29+
tex = with pkgs; texlive.combine {
30+
inherit (texlive) collection-plaingeneric collection-fontsrecommended;
31+
};
2032
in
2133
{
2234
packages = rec {
23-
default = pkgs.stdenvNoCC.mkDerivation rec {
35+
default = website;
36+
website = pkgs.stdenvNoCC.mkDerivation rec {
2437
name = "ledger.github.io";
2538
src = self;
2639

27-
phases = [ "unpackPhase" "buildPhase" "installPhase" ];
40+
dontConfigure = true;
2841

2942
nativeBuildInputs = with pkgs; [ gems ruby nodejs ];
3043

@@ -40,10 +53,52 @@
4053
runHook postInstall
4154
'';
4255
};
43-
};
4456

45-
devShell = pkgs.mkShell {
46-
buildInputs = self.packages.${system}.default.nativeBuildInputs;
57+
doc-ledger = pkgs.stdenvNoCC.mkDerivation rec {
58+
name = "ledger";
59+
60+
src = ledger;
61+
62+
nativeBuildInputs = with pkgs; [
63+
cmake groff texinfo tex
64+
];
65+
66+
enableParallelBuilding = false;
67+
68+
preConfigure = "cd doc";
69+
70+
cmakeFlags = [ "-DBUILD_WEB_DOCS:BOOL=ON" "-Wno-dev" ];
71+
72+
buildFlags = "doc";
73+
};
74+
75+
doc-ledger-mode = pkgs.stdenvNoCC.mkDerivation rec {
76+
name = "ledger-mode";
77+
78+
src = ledger-mode;
79+
nativeBuildInputs = with pkgs; [
80+
texinfo tex
81+
];
82+
83+
enableParallelBuilding = false;
84+
85+
dontConfigure = true;
86+
87+
preBuild = "cd doc";
88+
buildPhase = ''
89+
runHook preBuild
90+
texi2pdf --batch ledger-mode.texi
91+
makeinfo --force --html --no-split ledger-mode.texi
92+
runHook postBuild
93+
'';
94+
95+
installPhase = ''
96+
runHook preInstall
97+
mkdir -p $out
98+
cp ledger-mode.html ledger-mode.pdf $out/
99+
runHook postInstall
100+
'';
101+
};
47102
};
48103
});
49104
}

0 commit comments

Comments
 (0)