summaryrefslogtreecommitdiffstats
path: root/doc/release-notes.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/release-notes.xml')
-rw-r--r--doc/release-notes.xml1353
1 files changed, 710 insertions, 643 deletions
diff --git a/doc/release-notes.xml b/doc/release-notes.xml
index a50ee877acdd..6dae6ae5620e 100644
--- a/doc/release-notes.xml
+++ b/doc/release-notes.xml
@@ -1,164 +1,177 @@
<?xml version="1.0" encoding="UTF-8"?>
<article xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink">
+ <title>Nixpkgs Release Notes</title>
+ <section>
+ <title>Release 0.14 (June 4, 2012)</title>
+
+ <para>
+ In preparation for the switch from Subversion to Git, this release is mainly
+ the prevent the Nixpkgs version number from going backwards. (This would
+ happen because prerelease version numbers produced for the Git repository
+ are lower than those for the Subversion repository.)
+ </para>
-<title>Nixpkgs Release Notes</title>
-
-
-<section><title>Release 0.14 (June 4, 2012)</title>
-
-<para>In preparation for the switch from Subversion to Git, this
-release is mainly the prevent the Nixpkgs version number from going
-backwards. (This would happen because prerelease version numbers
-produced for the Git repository are lower than those for the
-Subversion repository.)</para>
-
-<para>Since the last release, there have been thousands of changes and
-new packages by numerous contributors. For details, see the commit
-logs.</para>
-
-</section>
-
-
-<section><title>Release 0.13 (February 5, 2010)</title>
-
-<para>As always, there are many changes. Some of the most important
-updates are:
-
-<itemizedlist>
-
- <listitem><para>Glibc 2.9.</para></listitem>
-
- <listitem><para>GCC 4.3.3.</para></listitem>
-
- <listitem><para>Linux 2.6.32.</para></listitem>
-
- <listitem><para>X.org 7.5.</para></listitem>
-
- <listitem><para>KDE 4.3.4.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-
-</section>
-
-
-<section><title>Release 0.12 (April 24, 2009)</title>
-
-<para>There are way too many additions to Nixpkgs since the last
-release to list here: for example, the number of packages on Linux has
-increased from 1002 to 2159. However, some specific improvements are
-worth listing:
-
-<itemizedlist>
-
- <listitem><para>Nixpkgs now has a manual. In particular, it
- describes the standard build environment in
- detail.</para></listitem>
-
- <listitem><para>Major new packages:
-
- <itemizedlist>
-
- <listitem><para>KDE 4.</para></listitem>
-
- <listitem><para>TeXLive.</para></listitem>
-
- <listitem><para>VirtualBox.</para></listitem>
-
- </itemizedlist>
-
- … and many others.
-
- </para></listitem>
-
- <listitem><para>Important updates:
-
- <itemizedlist>
-
- <listitem><para>Glibc 2.7.</para></listitem>
-
- <listitem><para>GCC 4.2.4.</para></listitem>
-
- <listitem><para>Linux 2.6.25 — 2.6.28.</para></listitem>
-
- <listitem><para>Firefox 3.</para></listitem>
-
- <listitem><para>X.org 7.3.</para></listitem>
-
- </itemizedlist>
-
- </para></listitem>
-
- <listitem><para>Support for building derivations in a virtual
- machine, including RPM and Debian builds in automatically generated
- VM images. See
- <filename>pkgs/build-support/vm/default.nix</filename> for
- details.</para></listitem>
-
- <listitem><para>Improved support for building Haskell
- packages.</para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>The following people contributed to this release:
-
-Andres Löh,
-Arie Middelkoop,
-Armijn Hemel,
-Eelco Dolstra,
-Lluís Batlle,
-Ludovic Courtès,
-Marc Weber,
-Mart Kolthof,
-Martin Bravenboer,
-Michael Raskin,
-Nicolas Pierron,
-Peter Simons,
-Pjotr Prins,
-Rob Vermaas,
-Sander van der Burg,
-Tobias Hammerschmidt,
-Valentin David,
-Wouter den Breejen and
-Yury G. Kudryashov.
-
-In addition, several people contributed patches on the
-<literal>nix-dev</literal> mailing list.</para>
-
-</section>
-
-
-<section><title>Release 0.11 (September 11, 2007)</title>
-
-<para>This release has the following improvements:
-
-<itemizedlist>
-
-
- <listitem><para>The standard build environment
- (<literal>stdenv</literal>) is now pure on the
- <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
- platforms, just as on <literal>i686-linux</literal>. (Purity means
- that building and using the standard environment has no dependencies
- outside of the Nix store. For instance, it doesn’t require an
- external C compiler such as <filename>/usr/bin/gcc</filename>.)
- Also, the statically linked binaries used in the bootstrap process
- are now automatically reproducible, making it easy to update the
- bootstrap tools and to add support for other Linux platforms. See
- <filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
- details.</para></listitem>
-
-
- <listitem><para>Hook variables in the generic builder are now
- executed using the <function>eval</function> shell command. This
- has a major advantage: you can write hooks directly in Nix
- expressions. For instance, rather than writing a builder like this:
+ <para>
+ Since the last release, there have been thousands of changes and new
+ packages by numerous contributors. For details, see the commit logs.
+ </para>
+ </section>
+ <section>
+ <title>Release 0.13 (February 5, 2010)</title>
+
+ <para>
+ As always, there are many changes. Some of the most important updates are:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Glibc 2.9.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ GCC 4.3.3.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Linux 2.6.32.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ X.org 7.5.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ KDE 4.3.4.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </section>
+ <section>
+ <title>Release 0.12 (April 24, 2009)</title>
+
+ <para>
+ There are way too many additions to Nixpkgs since the last release to list
+ here: for example, the number of packages on Linux has increased from 1002
+ to 2159. However, some specific improvements are worth listing:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Nixpkgs now has a manual. In particular, it describes the standard build
+ environment in detail.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Major new packages:
+ <itemizedlist>
+ <listitem>
+ <para>
+ KDE 4.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ TeXLive.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ VirtualBox.
+ </para>
+ </listitem>
+ </itemizedlist>
+ … and many others.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Important updates:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Glibc 2.7.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ GCC 4.2.4.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Linux 2.6.25 — 2.6.28.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Firefox 3.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ X.org 7.3.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Support for building derivations in a virtual machine, including RPM and
+ Debian builds in automatically generated VM images. See
+ <filename>pkgs/build-support/vm/default.nix</filename> for details.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Improved support for building Haskell packages.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ The following people contributed to this release: Andres Löh, Arie
+ Middelkoop, Armijn Hemel, Eelco Dolstra, Lluís Batlle, Ludovic Courtès,
+ Marc Weber, Mart Kolthof, Martin Bravenboer, Michael Raskin, Nicolas
+ Pierron, Peter Simons, Pjotr Prins, Rob Vermaas, Sander van der Burg, Tobias
+ Hammerschmidt, Valentin David, Wouter den Breejen and Yury G. Kudryashov. In
+ addition, several people contributed patches on the
+ <literal>nix-dev</literal> mailing list.
+ </para>
+ </section>
+ <section>
+ <title>Release 0.11 (September 11, 2007)</title>
+
+ <para>
+ This release has the following improvements:
+ <itemizedlist>
+ <listitem>
+ <para>
+ The standard build environment (<literal>stdenv</literal>) is now pure on
+ the <literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
+ platforms, just as on <literal>i686-linux</literal>. (Purity means that
+ building and using the standard environment has no dependencies outside
+ of the Nix store. For instance, it doesn’t require an external C
+ compiler such as <filename>/usr/bin/gcc</filename>.) Also, the statically
+ linked binaries used in the bootstrap process are now automatically
+ reproducible, making it easy to update the bootstrap tools and to add
+ support for other Linux platforms. See
+ <filename>pkgs/stdenv/linux/make-bootstrap-tools.nix</filename> for
+ details.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Hook variables in the generic builder are now executed using the
+ <function>eval</function> shell command. This has a major advantage: you
+ can write hooks directly in Nix expressions. For instance, rather than
+ writing a builder like this:
<programlisting>
source $stdenv/setup
@@ -169,290 +182,311 @@ postInstall() {
}
genericBuild</programlisting>
-
- (the <literal>gzip</literal> builder), you can just add this
- attribute to the derivation:
-
+ (the <literal>gzip</literal> builder), you can just add this attribute to
+ the derivation:
<programlisting>
postInstall = "ln -sf gzip $out/bin/gunzip; ln -sf gzip $out/bin/zcat";</programlisting>
-
- and so a separate build script becomes unnecessary. This should
- allow us to get rid of most builders in Nixpkgs.</para></listitem>
-
-
- <listitem><para>It is now possible to have the generic builder pass
- arguments to <command>configure</command> and
- <command>make</command> that contain whitespace. Previously, for
- example, you could say in a builder,
-
+ and so a separate build script becomes unnecessary. This should allow us
+ to get rid of most builders in Nixpkgs.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ It is now possible to have the generic builder pass arguments to
+ <command>configure</command> and <command>make</command> that contain
+ whitespace. Previously, for example, you could say in a builder,
<programlisting>
configureFlags="CFLAGS=-O0"</programlisting>
-
- but not
-
+ but not
<programlisting>
configureFlags="CFLAGS=-O0 -g"</programlisting>
-
- since the <literal>-g</literal> would be interpreted as a separate
- argument to <command>configure</command>. Now you can say
-
+ since the <literal>-g</literal> would be interpreted as a separate
+ argument to <command>configure</command>. Now you can say
<programlisting>
configureFlagsArray=("CFLAGS=-O0 -g")</programlisting>
-
- or similarly
-
+ or similarly
<programlisting>
configureFlagsArray=("CFLAGS=-O0 -g" "LDFLAGS=-L/foo -L/bar")</programlisting>
-
- which does the right thing. Idem for <literal>makeFlags</literal>,
- <literal>installFlags</literal>, <literal>checkFlags</literal> and
- <literal>distFlags</literal>.</para>
-
- <para>Unfortunately you can't pass arrays to Bash through the
- environment, so you can't put the array above in a Nix expression,
- e.g.,
-
+ which does the right thing. Idem for <literal>makeFlags</literal>,
+ <literal>installFlags</literal>, <literal>checkFlags</literal> and
+ <literal>distFlags</literal>.
+ </para>
+ <para>
+ Unfortunately you can't pass arrays to Bash through the environment, so
+ you can't put the array above in a Nix expression, e.g.,
<programlisting>
configureFlagsArray = ["CFLAGS=-O0 -g"];</programlisting>
-
- since it would just be flattened to a since string. However, you
- <emphasis>can</emphasis> use the inline hooks described above:
-
+ since it would just be flattened to a since string. However, you
+ <emphasis>can</emphasis> use the inline hooks described above:
<programlisting>
preConfigure = "configureFlagsArray=(\"CFLAGS=-O0 -g\")";</programlisting>
-
- </para></listitem>
-
-
- <listitem><para>The function <function>fetchurl</function> now has
- support for two different kinds of mirroring of files. First, it
- has support for <emphasis>content-addressable mirrors</emphasis>.
- For example, given the <function>fetchurl</function> call
-
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The function <function>fetchurl</function> now has support for two
+ different kinds of mirroring of files. First, it has support for
+ <emphasis>content-addressable mirrors</emphasis>. For example, given the
+ <function>fetchurl</function> call
<programlisting>
fetchurl {
url = http://releases.mozilla.org/<replaceable>...</replaceable>/firefox-2.0.0.6-source.tar.bz2;
sha1 = "eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082";
}</programlisting>
-
- <function>fetchurl</function> will first try to download this file
- from <link
+ <function>fetchurl</function> will first try to download this file from
+ <link
xlink:href="http://tarballs.nixos.org/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
- If that file doesn’t exist, it will try the original URL. In
- general, the “content-addressed” location is
- <replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
- There is currently only one content-addressable mirror (<link
+ If that file doesn’t exist, it will try the original URL. In general,
+ the “content-addressed” location is
+ <replaceable>mirror</replaceable><literal>/</literal><replaceable>hash-type</replaceable><literal>/</literal><replaceable>hash</replaceable>.
+ There is currently only one content-addressable mirror
+ (<link
xlink:href="http://tarballs.nixos.org"/>), but more can be
- specified in the <varname>hashedMirrors</varname> attribute in
- <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
- setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable
- to a whitespace-separated list of URLs.</para>
-
- <para>Second, <function>fetchurl</function> has support for
- widely-mirrored distribution sites such as SourceForge or the Linux
- kernel archives. Given a URL of the form
- <literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
- it will try to download <replaceable>path</replaceable> from a
- configurable list of mirrors for <replaceable>site</replaceable>.
- (This idea was borrowed from Gentoo Linux.) Example:
+ specified in the <varname>hashedMirrors</varname> attribute in
+ <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>, or by
+ setting the <envar>NIX_HASHED_MIRRORS</envar> environment variable to a
+ whitespace-separated list of URLs.
+ </para>
+ <para>
+ Second, <function>fetchurl</function> has support for widely-mirrored
+ distribution sites such as SourceForge or the Linux kernel archives.
+ Given a URL of the form
+ <literal>mirror://<replaceable>site</replaceable>/<replaceable>path</replaceable></literal>,
+ it will try to download <replaceable>path</replaceable> from a
+ configurable list of mirrors for <replaceable>site</replaceable>. (This
+ idea was borrowed from Gentoo Linux.) Example:
<programlisting>
fetchurl {
url = mirror://gnu/gcc/gcc-4.2.0/gcc-core-4.2.0.tar.bz2;
sha256 = "0ykhzxhr8857dr97z0j9wyybfz1kjr71xk457cfapfw5fjas4ny1";
}</programlisting>
- Currently <replaceable>site</replaceable> can be
- <literal>sourceforge</literal>, <literal>gnu</literal> and
- <literal>kernel</literal>. The list of mirrors is defined in
- <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>. You
- can override the list of mirrors for a particular site by setting
- the environment variable
- <envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
+ Currently <replaceable>site</replaceable> can be
+ <literal>sourceforge</literal>, <literal>gnu</literal> and
+ <literal>kernel</literal>. The list of mirrors is defined in
+ <filename>pkgs/build-support/fetchurl/mirrors.nix</filename>. You can
+ override the list of mirrors for a particular site by setting the
+ environment variable
+ <envar>NIX_MIRRORS_<replaceable>site</replaceable></envar>, e.g.
<programlisting>
export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</programlisting>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Important updates:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Glibc 2.5.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ GCC 4.1.2.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Gnome 2.16.3.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ X11R7.2.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Linux 2.6.21.7 and 2.6.22.6.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Emacs 22.1.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Major new packages:
+ <itemizedlist>
+ <listitem>
+ <para>
+ KDE 3.5.6 Base.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Wine 0.9.43.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ OpenOffice 2.2.1.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Many Linux system packages to support NixOS.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ </itemizedlist>
</para>
- </listitem>
-
-
- <listitem><para>Important updates:
-
- <itemizedlist>
-
- <listitem><para>Glibc 2.5.</para></listitem>
-
- <listitem><para>GCC 4.1.2.</para></listitem>
-
- <listitem><para>Gnome 2.16.3.</para></listitem>
-
- <listitem><para>X11R7.2.</para></listitem>
-
- <listitem><para>Linux 2.6.21.7 and 2.6.22.6.</para></listitem>
-
- <listitem><para>Emacs 22.1.</para></listitem>
-
- </itemizedlist>
-
- </para></listitem>
-
-
- <listitem><para>Major new packages:
-
- <itemizedlist>
-
- <listitem><para>KDE 3.5.6 Base.</para></listitem>
-
- <listitem><para>Wine 0.9.43.</para></listitem>
-
- <listitem><para>OpenOffice 2.2.1.</para></listitem>
-
- <listitem><para>Many Linux system packages to support
- NixOS.</para></listitem>
-
- </itemizedlist>
-
- </para></listitem>
-
-</itemizedlist>
-
-</para>
-
-<para>The following people contributed to this release:
-
- Andres Löh,
- Arie Middelkoop,
- Armijn Hemel,
- Eelco Dolstra,
- Marc Weber,
- Mart Kolthof,
- Martin Bravenboer,
- Michael Raskin,
- Wouter den Breejen and
- Yury G. Kudryashov.
-
-</para>
-
-</section>
-
-
-<section><title>Release 0.10 (October 12, 2006)</title>
-
-<note><para>This release of Nixpkgs requires <link
-xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix
-0.10</link> or higher.</para></note>
-
-<para>This release has the following improvements:</para>
-
-<itemizedlist>
-
- <listitem><para><filename>pkgs/system/all-packages-generic.nix</filename>
- is gone, we now just have
- <filename>pkgs/top-level/all-packages.nix</filename> that contains
- all available packages. This should cause much less confusion with
- users. <filename>all-packages.nix</filename> is a function that by
- default returns packages for the current platform, but you can
- override this by specifying a different <varname>system</varname>
- argument.</para></listitem>
-
- <listitem><para>Certain packages in Nixpkgs are now
- user-configurable through a configuration file, i.e., without having
- to edit the Nix expressions in Nixpkgs. For instance, the Firefox
- provided in the Nixpkgs channel is built without the RealPlayer
- plugin (for legal reasons). Previously, you could easily enable
- RealPlayer support by editing the call to the Firefox function in
- <filename>all-packages.nix</filename>, but such changes are not
- respected when Firefox is subsequently updated through the Nixpkgs
- channel.</para>
-
- <para>The Nixpkgs configuration file (found in
- <filename>~/.nixpkgs/config.nix</filename> or through the
- <envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute
- set that contains configuration options that
- <filename>all-packages.nix</filename> reads and uses for certain
- packages. For instance, the following configuration file:
+ <para>
+ The following people contributed to this release: Andres Löh, Arie
+ Middelkoop, Armijn Hemel, Eelco Dolstra, Marc Weber, Mart Kolthof, Martin
+ Bravenboer, Michael Raskin, Wouter den Breejen and Yury G. Kudryashov.
+ </para>
+ </section>
+ <section>
+ <title>Release 0.10 (October 12, 2006)</title>
+
+ <note>
+ <para>
+ This release of Nixpkgs requires
+ <link
+xlink:href='http://nixos.org/releases/nix/nix-0.10/'>Nix 0.10</link>
+ or higher.
+ </para>
+ </note>
+
+ <para>
+ This release has the following improvements:
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ <filename>pkgs/system/all-packages-generic.nix</filename> is gone, we now
+ just have <filename>pkgs/top-level/all-packages.nix</filename> that
+ contains all available packages. This should cause much less confusion
+ with users. <filename>all-packages.nix</filename> is a function that by
+ default returns packages for the current platform, but you can override
+ this by specifying a different <varname>system</varname> argument.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Certain packages in Nixpkgs are now user-configurable through a
+ configuration file, i.e., without having to edit the Nix expressions in
+ Nixpkgs. For instance, the Firefox provided in the Nixpkgs channel is
+ built without the RealPlayer plugin (for legal reasons). Previously, you
+ could easily enable RealPlayer support by editing the call to the Firefox
+ function in <filename>all-packages.nix</filename>, but such changes are
+ not respected when Firefox is subsequently updated through the Nixpkgs
+ channel.
+ </para>
+ <para>
+ The Nixpkgs configuration file (found in
+ <filename>~/.nixpkgs/config.nix</filename> or through the
+ <envar>NIXPKGS_CONFIG</envar> environment variable) is an attribute set
+ that contains configuration options that
+ <filename>all-packages.nix</filename> reads and uses for certain packages.
+ For instance, the following configuration file:
<programlisting>
{
firefox = {
enableRealPlayer = true;
};
}</programlisting>
-
- persistently enables RealPlayer support in the Firefox
- build.</para>
-
- <para>(Actually, <literal>firefox.enableRealPlayer</literal> is the
- <emphasis>only</emphasis> configuration option currently available,
- but more are sure to be added.)</para></listitem>
-
- <listitem><para>Support for new platforms:
-
- <itemizedlist>
-
- <listitem><para><literal>i686-cygwin</literal>, i.e., Windows
- (using <link xlink:href="http://www.cygwin.com/">Cygwin</link>).
- The standard environment on <literal>i686-cygwin</literal> by
- default builds binaries for the Cygwin environment (i.e., it
- uses Cygwin tools and produces executables that use the Cygwin
- library). However, there is also a standard environment that
- produces binaries that use <link
- xlink:href="http://www.mingw.org/">MinGW</link>. You can use it
- by calling <filename>all-package.nix</filename> with the
- <varname>stdenvType</varname> argument set to
- <literal>"i686-mingw"</literal>.</para></listitem>
-
- <listitem><para><literal>i686-darwin</literal>, i.e., Mac OS X
- on Intel CPUs.</para></listitem>
-
- <listitem><para><literal>powerpc-linux</literal>.</para></listitem>
-
- <listitem><para><literal>x86_64-linux</literal>, i.e., Linux on
- 64-bit AMD/Intel CPUs. Unlike <literal>i686-linux</literal>,
- this platform doesn’t have a pure <literal>stdenv</literal>
- yet.</para></listitem>
-
- </itemizedlist>
-
+ persistently enables RealPlayer support in the Firefox build.
</para>
-
- </listitem>
-
- <listitem><para>The default compiler is now GCC 4.1.1.</para></listitem>
-
- <listitem><para>X11 updated to X.org’s X11R7.1.</para></listitem>
-
- <listitem><para>Notable new packages:
-
- <itemizedlist>
-
- <listitem><para>Opera.</para></listitem>
-
- <listitem><para>Microsoft Visual C++ 2005 Express Edition and
- the Windows SDK.</para></listitem>
-
- </itemizedlist>
-
- In total there are now around 809 packages in Nixpkgs.</para>
-
- </listitem>
-
-
- <listitem><para>It is now <emphasis>much</emphasis> easier to
- override the default C compiler and other tools in
- <literal>stdenv</literal> for specific packages.
- <filename>all-packages.nix</filename> provides two utility
- functions for this purpose: <function>overrideGCC</function> and
- <function>overrideInStdenv</function>. Both take a
- <literal>stdenv</literal> and return an augmented
- <literal>stdenv</literal>; the formed changes the C compiler, and
- the latter adds additional packages to the front of
- <literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing
- tools to be overridden.</para>
-
- <para>For instance, the package <varname>strategoxt</varname>
- doesn’t build with the GNU Make in <literal>stdenv</literal>
- (version 3.81), so we call it with an augmented
- <literal>stdenv</literal> that uses GNU Make 3.80:
-
+ <para>
+ (Actually, <literal>firefox.enableRealPlayer</literal> is the
+ <emphasis>only</emphasis> configuration option currently available, but
+ more are sure to be added.)
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Support for new platforms:
+ <itemizedlist>
+ <listitem>
+ <para>
+ <literal>i686-cygwin</literal>, i.e., Windows (using
+ <link xlink:href="http://www.cygwin.com/">Cygwin</link>). The standard
+ environment on <literal>i686-cygwin</literal> by default builds
+ binaries for the Cygwin environment (i.e., it uses Cygwin tools and
+ produces executables that use the Cygwin library). However, there is
+ also a standard environment that produces binaries that use
+ <link
+ xlink:href="http://www.mingw.org/">MinGW</link>. You can
+ use it by calling <filename>all-package.nix</filename> with the
+ <varname>stdenvType</varname> argument set to
+ <literal>"i686-mingw"</literal>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>i686-darwin</literal>, i.e., Mac OS X on Intel CPUs.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>powerpc-linux</literal>.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <literal>x86_64-linux</literal>, i.e., Linux on 64-bit AMD/Intel CPUs.
+ Unlike <literal>i686-linux</literal>, this platform doesn’t have a
+ pure <literal>stdenv</literal> yet.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ The default compiler is now GCC 4.1.1.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ X11 updated to X.org’s X11R7.1.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Notable new packages:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Opera.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Microsoft Visual C++ 2005 Express Edition and the Windows SDK.
+ </para>
+ </listitem>
+ </itemizedlist>
+ In total there are now around 809 packages in Nixpkgs.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ It is now <emphasis>much</emphasis> easier to override the default C
+ compiler and other tools in <literal>stdenv</literal> for specific
+ packages. <filename>all-packages.nix</filename> provides two utility
+ functions for this purpose: <function>overrideGCC</function> and
+ <function>overrideInStdenv</function>. Both take a
+ <literal>stdenv</literal> and return an augmented
+ <literal>stdenv</literal>; the formed changes the C compiler, and the
+ latter adds additional packages to the front of
+ <literal>stdenv</literal>’s initial <envar>PATH</envar>, allowing tools
+ to be overridden.
+ </para>
+ <para>
+ For instance, the package <varname>strategoxt</varname> doesn’t build
+ with the GNU Make in <literal>stdenv</literal> (version 3.81), so we call
+ it with an augmented <literal>stdenv</literal> that uses GNU Make 3.80:
<programlisting>
strategoxt = (import ../development/compilers/strategoxt) {
inherit fetchurl pkgconfig sdf aterm;
@@ -460,44 +494,37 @@ strategoxt = (import ../development/compilers/strategoxt) {
};
gnumake380 = <replaceable>...</replaceable>;</programlisting>
-
- Likewise, there are many packages that don’t compile with the
- default GCC (4.1.1), but that’s easily fixed:
-
+ Likewise, there are many packages that don’t compile with the default
+ GCC (4.1.1), but that’s easily fixed:
<programlisting>
exult = import ../games/exult {
inherit fetchurl SDL SDL_mixer zlib libpng unzip;
stdenv = overrideGCC stdenv gcc34;
};</programlisting>
-
- </para></listitem>
-
-
- <listitem><para>It has also become much easier to experiment with
- changes to the <literal>stdenv</literal> setup script (which notably
- contains the generic builder). Since edits to
- <filename>pkgs/stdenv/generic/setup.sh</filename> trigger a rebuild
- of <emphasis>everything</emphasis>, this was formerly quite painful.
- But now <literal>stdenv</literal> contains a function to
- “regenerate” <literal>stdenv</literal> with a different setup
- script, allowing the use of a different setup script for specific
- packages:
-
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ It has also become much easier to experiment with changes to the
+ <literal>stdenv</literal> setup script (which notably contains the generic
+ builder). Since edits to <filename>pkgs/stdenv/generic/setup.sh</filename>
+ trigger a rebuild of <emphasis>everything</emphasis>, this was formerly
+ quite painful. But now <literal>stdenv</literal> contains a function to
+ “regenerate” <literal>stdenv</literal> with a different setup script,
+ allowing the use of a different setup script for specific packages:
<programlisting>
pkg = import <replaceable>...</replaceable> {
stdenv = stdenv.regenerate ./my-setup.sh;
<replaceable>...</replaceable>
}</programlisting>
-