diff options
author | Graham Christensen <graham@grahamc.com> | 2018-05-01 19:54:21 -0400 |
---|---|---|
committer | Graham Christensen <graham@grahamc.com> | 2018-05-01 19:54:21 -0400 |
commit | 77161de4546697f9bf2da6d081eeba4c399b3313 (patch) | |
tree | 8f77aeeb5a17cbc0c76b4401a090f55addabf975 /doc/release-notes.xml | |
parent | fd2dce9708ff68e8a5474d9bf691a23c52c7273e (diff) | |
download | nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.gz nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.bz2 nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.lz nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.xz nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.tar.zst nixlib-77161de4546697f9bf2da6d081eeba4c399b3313.zip |
nixpkgs docs: format =)
Diffstat (limited to 'doc/release-notes.xml')
-rw-r--r-- | doc/release-notes.xml | 1353 |
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> - - </para></listitem> - - - <listitem><para>Packages can now have a human-readable - <emphasis>description</emphasis> field. Package descriptions are - shown by <literal>nix-env -qa --description</literal>. In addition, - they’re shown on the Nixpkgs release page. A description can be - added to a package as follows: - + </para> + </listitem> + <listitem> + <para> + Packages can now have a human-readable <emphasis>description</emphasis> + field. Package descriptions are shown by <literal>nix-env -qa + --description</literal>. In addition, they’re shown on the Nixpkgs + release page. A description can be added to a package as follows: <programlisting> stdenv.mkDerivation { name = "exult-1.2"; @@ -506,228 +533,268 @@ stdenv.mkDerivation { description = "A reimplementation of the Ultima VII game engine"; }; }</programlisting> - - The <varname>meta</varname> attribute is not passed to the builder, - so changes to the description do not trigger a rebuild. Additional - <varname>meta</varname> attributes may be defined in the future - (such as the URL of the package’s homepage, the license, - etc.).</para></listitem> - -</itemizedlist> - - -<para>The following people contributed to this release: - - Andres Löh, - Armijn Hemel, - Christof Douma, - Eelco Dolstra, - Eelco Visser, - Mart Kolthof, - Martin Bravenboer, - Merijn de Jonge, - Rob Vermaas and - Roy van den Broek. - -</para> - -</section> - - -<section><title>Release 0.9 (January 31, 2006)</title> - -<para>There have been zillions of changes since the last release of -Nixpkgs. Many packages have been added or updated. The following are -some of the more notable changes:</para> - -<itemizedlist> - - <listitem><para>Distribution files have been moved to <link - xlink:href="http://nixos.org/" />.</para></listitem> - - <listitem><para>The C library on Linux, Glibc, has been updated to - version 2.3.6.</para></listitem> - - <listitem><para>The default compiler is now GCC 3.4.5. GCC 4.0.2 is - also available.</para></listitem> - - <listitem><para>The old, unofficial Xlibs has been replaced by the - official modularised X11 distribution from X.org, i.e., X11R7.0. - X11R7.0 consists of 287 (!) packages, all of which are in Nixpkgs - though not all have been tested. It is now possible to build a - working X server (previously we only had X client libraries). We - use a fully Nixified X server on NixOS.</para></listitem> - - <listitem><para>The Sun JDK 5 has been purified, i.e., it doesn’t - require any non-Nix components such as - <filename>/lib/ld-linux.so.2</filename>. This means that Java - applications such as Eclipse and Azureus can run on - NixOS.</para></listitem> - - <listitem><para>Hardware-accelerated OpenGL support, used by games - like Quake 3 (which is now built from source).</para></listitem> - - <listitem><para>Improved support for FreeBSD on - x86.</para></listitem> - - <listitem><para>Improved Haskell support; e.g., the GHC build is now - pure.</para></listitem> - - <listitem><para>Some support for cross-compilation: cross-compiling - builds of GCC and Binutils, and cross-compiled builds of the C - library uClibc.</para></listitem> - - <listitem><para>Notable new packages: - - <itemizedlist> - - <listitem><para>teTeX, including support for building LaTeX - documents using Nix (with automatic dependency - determination).</para></listitem> - - <listitem><para>Ruby.</para></listitem> - - <listitem><para>System-level packages to support NixOS, - e.g. Grub, GNU <literal>parted</literal> and so - on.</para></listitem> - - <listitem><para><literal>ecj</literal>, the Eclipse Compiler for - Java, so we finally have a freely distributable compiler that - supports Java 5.0.</para></listitem> - - <listitem><para><literal>php</literal>.</para></listitem> - - <listitem><para>The GIMP.</para></listitem> - - <listitem><para>Inkscape.</para></listitem> - - <listitem><para>GAIM.</para></listitem> - - <listitem><para><literal>kdelibs</literal>. This allows us to - add KDE-based packages (such as - <literal>kcachegrind</literal>).</para></listitem> - - </itemizedlist> - - </para></listitem> - -</itemizedlist> - -<para>The following people contributed to this release: - - Andres Löh, - Armijn Hemel, - Bogdan Dumitriu, - Christof Douma, - Eelco Dolstra, - Eelco Visser, - Mart Kolthof, - Martin Bravenboer, - Rob Vermaas and - Roy van den Broek. - -</para> - -</section> - - -<section><title>Release 0.8 (April 11, 2005)</title> - -<para>This release is mostly to remain synchronised with the changed -hashing scheme in Nix 0.8.</para> - -<para>Notable updates: - -<itemizedlist> - - <listitem><para>Adobe Reader 7.0</para></listitem> - - <listitem><para>Various security updates (zlib 1.2.2, etc.)</para></listitem> - -</itemizedlist> - -</para> - -</section> - - -<section><title>Release 0.7 (March 14, 2005)</title> - -<itemizedlist> - -<listitem> - - <para>The bootstrap process for the standard build - environment on Linux (stdenv-linux) has been improved. It is no - longer dependent in its initial bootstrap stages on the system - Glibc, GCC, and other tools. Rather, Nixpkgs contains a statically - linked bash and curl, and uses that to download other statically - linked tools. These are then used to build a Glibc and dynamically - linked versions of all other tools.</para> - - <para>This change also makes the bootstrap process faster. For - instance, GCC is built only once instead of three times.</para> - - <para>(Contributed by Armijn Hemel.)</para> - -</listitem> - -<listitem> - - <para>Tarballs used by Nixpkgs are now obtained from the same server - that hosts Nixpkgs (<link - xlink:href="http://catamaran.labs.cs.uu.nl/" />). This reduces the - risk of packages being unbuildable due to moved or deleted files on - various servers.</para> - -</listitem> - -<listitem> - - <para>There now is a generic mechanism for building Perl modules. - See the various Perl modules defined in - pkgs/system/all-packages-generic.nix.</para> - -</listitem> - -<listitem> - - <para>Notable new packages: - - <itemizedlist> - - <listitem><para>Qt 3</para></listitem> - <listitem><para>MySQL</para></listitem> - <listitem><para>MythTV</para></listitem> - <listitem><para>Mono</para></listitem> - <listitem><para>MonoDevelop (alpha)</para></listitem> - <listitem><para>Xine</para></listitem> - + The <varname>meta</varname> attribute is not passed to the builder, so + changes to the description do not trigger a rebuild. Additional + <varname>meta</varname> attributes may be defined in the future (such as + the URL of the package’s homepage, the license, etc.). + </para> + </listitem> </itemizedlist> + <para> + The following people contributed to this release: Andres Löh, Armijn Hemel, + Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof, Martin + Bravenboer, Merijn de Jonge, Rob Vermaas and Roy van den Broek. + </para> + </section> + <section> + <title>Release 0.9 (January 31, 2006)</title> + + <para> + There have been zillions of changes since the last release of Nixpkgs. Many + packages have been added or updated. The following are some of the more + notable changes: </para> - -</listitem> - -<listitem> - - <para>Notable updates: <itemizedlist> - - <listitem><para>GCC 3.4.3</para></listitem> - <listitem><para>Glibc 2.3.4</para></listitem> - <listitem><para>GTK 2.6</para></listitem> - + <listitem> + <para> + Distribution files have been moved to + <link + xlink:href="http://nixos.org/" />. + </para> + </listitem> + <listitem> + <para> + The C library on Linux, Glibc, has been updated to version 2.3.6. + </para> + </listitem> + <listitem> + <para> + The default compiler is now GCC 3.4.5. GCC 4.0.2 is also available. + </para> + </listitem> + <listitem> + <para> + The old, unofficial Xlibs has been replaced by the official modularised + X11 distribution from X.org, i.e., X11R7.0. X11R7.0 consists of 287 (!) + packages, all of which are in Nixpkgs though not all have been tested. It + is now possible to build a working X server (previously we only had X + client libraries). We use a fully Nixified X server on NixOS. + </para> + </listitem> + <listitem> + <para> + The Sun JDK 5 has been purified, i.e., it doesn’t require any non-Nix + components such as <filename>/lib/ld-linux.so.2</filename>. This means + that Java applications such as Eclipse and Azureus can run on NixOS. + </para> + </listitem> + <listitem> + <para> + Hardware-accelerated OpenGL support, used by games like Quake 3 (which is + now built from source). + </para> + </listitem> + <listitem> + <para> + Improved support for FreeBSD on x86. + </para> + </listitem> + <listitem> + <para> + Improved Haskell support; e.g., the GHC build is now pure. + </para> + </listitem> + <listitem> + <para> + Some support for cross-compilation: cross-compiling builds of GCC and + Binutils, and cross-compiled builds of the C library uClibc. + </para> + </listitem> + <listitem> + <para> + Notable new packages: + <itemizedlist> + <listitem> + <para> + teTeX, including support for building LaTeX documents using Nix (with + automatic dependency determination). + </para> + </listitem> + <listitem> + <para> + Ruby. + </para> + </listitem> + <listitem> + <para> + System-level packages to support NixOS, e.g. Grub, GNU + <literal>parted</literal> and so on. + </para> + </listitem> + <listitem> + <para> + <literal>ecj</literal>, the Eclipse Compiler for Java, so we finally + have a freely distributable compiler that supports Java 5.0. + </para> + </listitem> + <listitem> + <para> + <literal>php</literal>. + </para> + </listitem> + <listitem> + <para> + The GIMP. + </para> + </listitem> + <listitem> + <para> + Inkscape. + </para> + </listitem> + <listitem> + <para> + GAIM. + </para> + </listitem> + <listitem> + <para> + <literal>kdelibs</literal>. This allows us to add KDE-based packages + (such as <literal>kcachegrind</literal>). + </para> + </listitem> + </itemizedlist> + </para> + </listitem> </itemizedlist> + <para> + The following people contributed to this release: Andres Löh, Armijn Hemel, + Bogdan Dumitriu, Christof Douma, Eelco Dolstra, Eelco Visser, Mart Kolthof, + Martin Bravenboer, Rob Vermaas and Roy van den Broek. </para> + </section> + <section> + <title>Release 0.8 (April 11, 2005)</title> -</listitem> - -</itemizedlist> + <para> + This release is mostly to remain synchronised with the changed hashing + scheme in Nix 0.8. + </para> -</section> + <para> + Notable updates: + <itemizedlist> + <listitem> + <para> + Adobe Reader 7.0 + </para> + </listitem> + <listitem> + <para> + Various security updates (zlib 1.2.2, etc.) + </para> + </listitem> + </itemizedlist> + </para> + </section> + <section> + <title>Release 0.7 (March 14, 2005)</title> - + <itemizedlist> + <listitem> + <para> + The bootstrap process for the standard build environment on Linux + (stdenv-linux) has been improved. It is no longer dependent in its initial + bootstrap stages on the system Glibc, GCC, and other tools. Rather, + Nixpkgs contains a statically linked bash and curl, and uses that to + download other statically linked tools. These are then used to build a + Glibc and dynamically linked versions of all other tools. + </para> + <para> + This change also makes the bootstrap process faster. For instance, GCC is + built only once instead of three times. + </para> + <para> + (Contributed by Armijn Hemel.) + </para> + </listitem> + <listitem> + <para> + Tarballs used by Nixpkgs are now obtained from the same server that hosts + Nixpkgs (<link + xlink:href="http://catamaran.labs.cs.uu.nl/" />). This + reduces the risk of packages being unbuildable due to moved or deleted + files on various servers. + </para> + </listitem> + <listitem> + <para> + There now is a generic mechanism for building Perl modules. See the + various Perl modules defined in pkgs/system/all-packages-generic.nix. + </para> + </listitem> + <listitem> + <para> + Notable new packages: + <itemizedlist> + <listitem> + <para> + Qt 3 + </para> + </listitem> + <listitem> + <para> + MySQL + </para> + </listitem> + <listitem> + <para> + MythTV + </para> + </listitem> + <listitem> + <para> + Mono + </para> + </listitem> + <listitem> + <para> + MonoDevelop (alpha) + </para> + </listitem> + <listitem> + <para> + Xine + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + <listitem> + <para> + Notable updates: + <itemizedlist> + <listitem> + <para> + GCC 3.4.3 + </para> + </listitem> + <listitem> + <para> + Glibc 2.3.4 + </para> + </listitem> + <listitem> + <para> + GTK 2.6 + </para> + </listitem> + </itemizedlist> + </para> + </listitem> + </itemizedlist> + </section> </article> |