diff --git a/doc/Makefile b/doc/Makefile index c21825e0dc1..d81fd55c2c8 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -16,7 +16,7 @@ NEWS_OPTS = \ --stringparam section.autolabel.max.depth 0 \ --stringparam header.rule 0 -all: NEWS.html NEWS.txt +all: NEWS.html NEWS.txt manual.html NEWS.html: release-notes.xml $(XSLTPROC) --nonet --xinclude --output $@ $(NEWS_OPTS) \ @@ -28,3 +28,10 @@ NEWS.txt: release-notes.xml $(docbookxsl)/html/docbook.xsl - LANG=en_US w3m -dump $@.tmp.html > $@ rm $@.tmp.html + +manual.html: *.xml + $(XSLTPROC) --nonet --xinclude --output manual.html \ + $(docbookxsl)/html/docbook.xsl manual.xml + +manual.pdf: *.xml + dblatex manual.xml diff --git a/doc/introduction.xml b/doc/introduction.xml new file mode 100644 index 00000000000..f1f15995909 --- /dev/null +++ b/doc/introduction.xml @@ -0,0 +1,9 @@ + + +Introduction + +Bla + + \ No newline at end of file diff --git a/doc/manual.xml b/doc/manual.xml new file mode 100644 index 00000000000..c38e0835e5f --- /dev/null +++ b/doc/manual.xml @@ -0,0 +1,33 @@ + + + + + Nixpkgs Manual + + Draft (Version ) + + + + Eelco + Dolstra + + + Delft University of Technology + Department of Software Technology + + + + + 2008 + Eelco Dolstra + + + June 2008 + + + + + + \ No newline at end of file diff --git a/doc/outline.txt b/doc/outline.txt new file mode 100644 index 00000000000..060592a99ab --- /dev/null +++ b/doc/outline.txt @@ -0,0 +1,172 @@ +- Intro + + - Goal of this manual + + +- Quick start to adding a package + + (Some of this can be copied/moved from the Nix manual) + + - Hello example + - Nix expr + - Update all-packages.nix + - How to test + - How to debug failing builds + + - Subversion example + + - Some X example? + + +- The standard environment + + (Some of this can be moved from the Nix manual) + + - Special attributes + + - Generic builder + + - Helper functions + + - GCC / ld wrapper (+ env vars) + + - Phases (+ how to add phases) and hooks + + - Override functions for stdenv + + - Overriding GCC + + - Overriding the setup script + + - Predefined override functions in all-packages.nix: static binary + stdenv, dietlibc stdenv + + - Stdenv bootstrap; how to update the Linux bootstrap binaries + + +- Support for specific languages + + - Perl + + - Generic Perl builder + + - Python + + - Wrapper generation + + - Haskell + + - TODO + + - Java + + - TODO; Java needs lots of improvement + + - TeX/LaTeX + + - Special support for building TeX documents + + +- Special kinds of applications + + - OpenGL apps + + - Binary-only apps + + - Linux kernel modules + + - Mozilla plugins/extensions + + - X apps + + - KDE apps + + - GConf-based apps + + - Programs that need wrappers + + - makeWrapper etc. + + - Initial ramdisks + + +- Library functions + + - i.e. in lib/default.nix + + +- Specific package notes + + - Linux kernel; how to update; feature tests + + - X.org; how to update + + - Gnome; how to update + + - GCC? + + - GHC? + + - ... + + +- Meta attributes + + - License attr; possible values + + +- Virtual machine support (for the build farm) + + - vmtools + + - KVM notes + + - Performing a build in a VM + + - In the host FS + + - In a disk image + + - RPM builds + + - RPM image creation + + - Deb builds + + - Deb image creation + + - Debugging VM builds + + +- Guidelines for Nixpkgs contributions + + - File naming conventions + + - Versioning of packages + + - Tree organisation + + - Variable naming + + - Layout / indentations style + + - Output FS hierarchy (e.g. $out/share/man instead of $out/man) + + +- Misc + + - Building outside of the Nixpkgs tree + + - Config options + + - Downloading stuff + + - fetchurl + + - mirror:// scheme + + - fetchsvn + + - fetchcvs + + - fetchdarcs