From 85a9971e96ea8b68b365091ae409c4000b7d9e93 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 12 Jun 2008 13:10:11 +0000 Subject: * Manual outline. svn path=/nixpkgs/trunk/; revision=12057 --- doc/outline.txt | 172 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 172 insertions(+) create mode 100644 doc/outline.txt (limited to 'doc/outline.txt') 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 -- cgit 1.4.1