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>
|
||||
|
||||
<title>Nixpkgs Manual</title>
|
||||
<title>Nixpkgs Contributors Guide</title>
|
||||
|
||||
<subtitle>Draft (Version <xi:include href="../.version"
|
||||
parse="text" />)</subtitle>
|
||||
<subtitle>Version <xi:include href=".version" parse="text" /></subtitle>
|
||||
|
||||
</info>
|
||||
|
||||
|
@ -14,14 +14,7 @@ releaseTools.sourceTarball rec {
|
||||
version = builtins.readFile ../../.version;
|
||||
versionSuffix = "pre${toString nixpkgs.revCount}.${nixpkgs.shortRev}";
|
||||
|
||||
buildInputs = [
|
||||
lzma
|
||||
libxml2 # Needed for the release notes.
|
||||
libxslt
|
||||
w3m
|
||||
nix # Needed to check whether the expressions are valid.
|
||||
tetex dblatex
|
||||
];
|
||||
buildInputs = [ nix ];
|
||||
|
||||
configurePhase = ''
|
||||
eval "$preConfigure"
|
||||
@ -32,13 +25,6 @@ releaseTools.sourceTarball rec {
|
||||
|
||||
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;
|
||||
|
||||
checkPhase = ''
|
||||
@ -87,19 +73,6 @@ releaseTools.sourceTarball rec {
|
||||
cp -prd . ../$releaseName
|
||||
echo nixpkgs > ../$releaseName/channel-name
|
||||
(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 = {
|
||||
|
@ -22,6 +22,8 @@ let
|
||||
jobs =
|
||||
{ tarball = import ./make-tarball.nix { inherit nixpkgs officialRelease; };
|
||||
|
||||
manual = import ../../doc;
|
||||
|
||||
unstable = pkgs.releaseTools.aggregate
|
||||
{ name = "nixpkgs-${jobs.tarball.version}";
|
||||
meta.description = "Release-critical builds for the Nixpkgs unstable channel";
|
||||
|
Loading…
Reference in New Issue
Block a user