summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2008-06-12 13:10:11 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2008-06-12 13:10:11 +0000
commit85a9971e96ea8b68b365091ae409c4000b7d9e93 (patch)
tree30eb69e4914787d0fde46d78da62b2aa50e35f72 /doc
parentbcc44390eb146f5bac5783dfcfb524ab023fb606 (diff)
* Manual outline.
svn path=/nixpkgs/trunk/; revision=12057
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile9
-rw-r--r--doc/introduction.xml9
-rw-r--r--doc/manual.xml33
-rw-r--r--doc/outline.txt172
4 files changed, 222 insertions, 1 deletions
diff --git a/doc/Makefile b/doc/Makefile
index c21825e0dc1d..d81fd55c2c8b 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 000000000000..f1f15995909d
--- /dev/null
+++ b/doc/introduction.xml
@@ -0,0 +1,9 @@
+<chapter xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xml:id="chap-introduction">
+
+<title>Introduction</title>
+
+<para>Bla</para>
+
+</chapter> \ No newline at end of file
diff --git a/doc/manual.xml b/doc/manual.xml
new file mode 100644
index 000000000000..c38e0835e5f6
--- /dev/null
+++ b/doc/manual.xml
@@ -0,0 +1,33 @@
+<book xmlns="http://docbook.org/ns/docbook"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+
+ <info>
+
+ <title>Nixpkgs Manual</title>
+
+ <subtitle>Draft (Version <xi:include href="../VERSION"
+ parse="text" />)</subtitle>
+
+ <author>
+ <personname>
+ <firstname>Eelco</firstname>
+ <surname>Dolstra</surname>
+ </personname>
+ <affiliation>
+ <orgname>Delft University of Technology</orgname>
+ <orgdiv>Department of Software Technology</orgdiv>
+ </affiliation>
+ </author>
+
+ <copyright>
+ <year>2008</year>
+ <holder>Eelco Dolstra</holder>
+ </copyright>
+
+ <date>June 2008</date>
+
+ </info>
+
+ <xi:include href="introduction.xml" />
+
+</book> \ No newline at end of file
diff --git a/doc/outline.txt b/doc/outline.txt
new file mode 100644
index 000000000000..060592a99aba
--- /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