Nixpkgs manual: Add a Nix expression to build
This commit is contained in:
parent
14f48dd5c2
commit
438b9c543d
41
doc/Makefile
41
doc/Makefile
@ -1,41 +0,0 @@
|
|||||||
# You may need to override this.
|
|
||||||
docbookxsl = $(HOME)/.nix-profile/xml/xsl/docbook
|
|
||||||
dblatex = dblatex
|
|
||||||
|
|
||||||
XMLLINT = xmllint --catalogs
|
|
||||||
XSLTPROC = xsltproc --catalogs \
|
|
||||||
--param section.autolabel 1 \
|
|
||||||
--param section.label.includes.component.label 1 \
|
|
||||||
--param html.stylesheet \'style.css\' \
|
|
||||||
--param xref.with.number.and.title 1 \
|
|
||||||
--param toc.section.depth 3 \
|
|
||||||
--param admon.style \'\' \
|
|
||||||
--param callout.graphics.extension \'.gif\'
|
|
||||||
|
|
||||||
NEWS_OPTS = \
|
|
||||||
--stringparam generate.toc "article nop" \
|
|
||||||
--stringparam section.autolabel.max.depth 0 \
|
|
||||||
--stringparam header.rule 0
|
|
||||||
|
|
||||||
all: NEWS.html NEWS.txt manual.html manual.pdf
|
|
||||||
|
|
||||||
NEWS.html: release-notes.xml
|
|
||||||
$(XSLTPROC) --nonet --xinclude --output $@ $(NEWS_OPTS) \
|
|
||||||
$(docbookxsl)/xhtml/docbook.xsl release-notes.xml
|
|
||||||
|
|
||||||
NEWS.txt: release-notes.xml
|
|
||||||
$(XSLTPROC) --nonet --xinclude quote-literals.xsl release-notes.xml | \
|
|
||||||
$(XSLTPROC) --nonet --output $@.tmp.html $(NEWS_OPTS) \
|
|
||||||
$(docbookxsl)/xhtml/docbook.xsl -
|
|
||||||
LANG=en_US w3m -dump $@.tmp.html > $@
|
|
||||||
rm $@.tmp.html
|
|
||||||
|
|
||||||
manual.html: *.xml
|
|
||||||
$(XSLTPROC) --nonet --xinclude --output manual.html \
|
|
||||||
$(docbookxsl)/xhtml/docbook.xsl manual.xml
|
|
||||||
|
|
||||||
manual.pdf: *.xml
|
|
||||||
$(dblatex) \
|
|
||||||
-P doc.collab.show=0 \
|
|
||||||
-P latex.output.revhistory=0 \
|
|
||||||
manual.xml
|
|
42
doc/default.nix
Normal file
42
doc/default.nix
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
with import ./.. { };
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "nixpkgs-manual";
|
||||||
|
|
||||||
|
sources = sourceFilesBySuffices ./. [".xml"];
|
||||||
|
|
||||||
|
buildInputs = [ libxml2 libxslt ];
|
||||||
|
|
||||||
|
xsltFlags = ''
|
||||||
|
--param section.autolabel 1
|
||||||
|
--param section.label.includes.component.label 1
|
||||||
|
--param html.stylesheet 'style.css'
|
||||||
|
--param xref.with.number.and.title 1
|
||||||
|
--param toc.section.depth 3
|
||||||
|
--param admon.style '''
|
||||||
|
--param callout.graphics.extension '.gif'
|
||||||
|
'';
|
||||||
|
|
||||||
|
buildCommand = ''
|
||||||
|
ln -s $sources/*.xml . # */
|
||||||
|
|
||||||
|
echo ${nixpkgsVersion} > .version
|
||||||
|
|
||||||
|
xmllint --noout --nonet --xinclude --noxincludenode \
|
||||||
|
--relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
|
||||||
|
manual.xml
|
||||||
|
|
||||||
|
dst=$out/share/doc/nixpkgs
|
||||||
|
mkdir -p $dst
|
||||||
|
xsltproc $xsltFlags --nonet --xinclude \
|
||||||
|
--output $dst/manual.html \
|
||||||
|
${docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \
|
||||||
|
./manual.xml
|
||||||
|
|
||||||
|
cp ${./style.css} $dst/style.css
|
||||||
|
|
||||||
|
mkdir -p $out/nix-support
|
||||||
|
echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products
|
||||||
|
'';
|
||||||
|
}
|
@ -3,10 +3,9 @@
|
|||||||
|
|
||||||
<info>
|
<info>
|
||||||
|
|
||||||
<title>Nixpkgs Manual</title>
|
<title>Nixpkgs Contributors Guide</title>
|
||||||
|
|
||||||
<subtitle>Draft (Version <xi:include href="../.version"
|
<subtitle>Version <xi:include href=".version" parse="text" /></subtitle>
|
||||||
parse="text" />)</subtitle>
|
|
||||||
|
|
||||||
</info>
|
</info>
|
||||||
|
|
||||||
|
@ -14,14 +14,7 @@ releaseTools.sourceTarball rec {
|
|||||||
version = builtins.readFile ../../.version;
|
version = builtins.readFile ../../.version;
|
||||||
versionSuffix = "pre${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
|
versionSuffix = "pre${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [ nix ];
|
||||||
lzma
|
|
||||||
libxml2 # Needed for the release notes.
|
|
||||||
libxslt
|
|
||||||
w3m
|
|
||||||
nix # Needed to check whether the expressions are valid.
|
|
||||||
tetex dblatex
|
|
||||||
];
|
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
eval "$preConfigure"
|
eval "$preConfigure"
|
||||||
@ -32,13 +25,6 @@ releaseTools.sourceTarball rec {
|
|||||||
|
|
||||||
dontBuild = false;
|
dontBuild = false;
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
echo "building docs..."
|
|
||||||
export VARTEXFONTS=$TMPDIR/texfonts
|
|
||||||
make -C doc docbookxsl=${docbook5_xsl}/xml/xsl/docbook
|
|
||||||
ln -s doc/NEWS.txt NEWS
|
|
||||||
'';
|
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
checkPhase = ''
|
checkPhase = ''
|
||||||
@ -87,19 +73,6 @@ releaseTools.sourceTarball rec {
|
|||||||
cp -prd . ../$releaseName
|
cp -prd . ../$releaseName
|
||||||
echo nixpkgs > ../$releaseName/channel-name
|
echo nixpkgs > ../$releaseName/channel-name
|
||||||
(cd .. && tar cfa $out/tarballs/$releaseName.tar.xz $releaseName) || false
|
(cd .. && tar cfa $out/tarballs/$releaseName.tar.xz $releaseName) || false
|
||||||
|
|
||||||
mkdir -p $out/release-notes
|
|
||||||
cp doc/NEWS.html $out/release-notes/index.html
|
|
||||||
cp doc/style.css $out/release-notes/
|
|
||||||
echo "doc release-notes $out/release-notes" >> $out/nix-support/hydra-build-products
|
|
||||||
|
|
||||||
mkdir -p $out/manual
|
|
||||||
cp doc/manual.html $out/manual/index.html
|
|
||||||
cp doc/style.css $out/manual/
|
|
||||||
echo "doc manual $out/manual" >> $out/nix-support/hydra-build-products
|
|
||||||
|
|
||||||
cp doc/manual.pdf $out/manual.pdf
|
|
||||||
echo "doc-pdf manual $out/manual.pdf" >> $out/nix-support/hydra-build-products
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -22,6 +22,8 @@ let
|
|||||||
jobs =
|
jobs =
|
||||||
{ tarball = import ./make-tarball.nix { inherit nixpkgs officialRelease; };
|
{ tarball = import ./make-tarball.nix { inherit nixpkgs officialRelease; };
|
||||||
|
|
||||||
|
manual = import ../../doc;
|
||||||
|
|
||||||
unstable = pkgs.releaseTools.aggregate
|
unstable = pkgs.releaseTools.aggregate
|
||||||
{ name = "nixpkgs-${jobs.tarball.version}";
|
{ name = "nixpkgs-${jobs.tarball.version}";
|
||||||
meta.description = "Release-critical builds for the Nixpkgs unstable channel";
|
meta.description = "Release-critical builds for the Nixpkgs unstable channel";
|
||||||
|
Loading…
Reference in New Issue
Block a user