summary refs log tree commit diff
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)
downloadnixpkgs-85a9971e96ea8b68b365091ae409c4000b7d9e93.tar
nixpkgs-85a9971e96ea8b68b365091ae409c4000b7d9e93.tar.gz
nixpkgs-85a9971e96ea8b68b365091ae409c4000b7d9e93.tar.bz2
nixpkgs-85a9971e96ea8b68b365091ae409c4000b7d9e93.tar.lz
nixpkgs-85a9971e96ea8b68b365091ae409c4000b7d9e93.tar.xz
nixpkgs-85a9971e96ea8b68b365091ae409c4000b7d9e93.tar.zst
nixpkgs-85a9971e96ea8b68b365091ae409c4000b7d9e93.zip
* 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 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 @@
+<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 00000000000..c38e0835e5f
--- /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 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