diff --git a/doc/Makefile b/doc/Makefile deleted file mode 100644 index 39988cdd414..00000000000 --- a/doc/Makefile +++ /dev/null @@ -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 diff --git a/doc/default.nix b/doc/default.nix new file mode 100644 index 00000000000..1e8974d6026 --- /dev/null +++ b/doc/default.nix @@ -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 + ''; +} diff --git a/doc/manual.xml b/doc/manual.xml index 5eb62e811c6..01373b4f5b1 100644 --- a/doc/manual.xml +++ b/doc/manual.xml @@ -3,10 +3,9 @@ - Nixpkgs Manual + Nixpkgs Contributors Guide - Draft (Version ) + Version diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix index 9856586a183..356368d137d 100644 --- a/pkgs/top-level/make-tarball.nix +++ b/pkgs/top-level/make-tarball.nix @@ -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 = { diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index ff66756aa8b..be76c63685b 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -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";