2006-10-06 14:37:31 +01:00
|
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
<article xmlns="http://docbook.org/ns/docbook"
|
|
|
|
|
xmlns:xlink="http://www.w3.org/1999/xlink">
|
2006-01-30 17:34:34 +00:00
|
|
|
|
|
2006-10-06 14:37:31 +01:00
|
|
|
|
<title>Nixpkgs Release Notes</title>
|
|
|
|
|
|
|
|
|
|
|
2006-10-12 08:20:16 +01:00
|
|
|
|
<section><title>Release 0.10 (October 12, 2006)</title>
|
2006-10-06 14:37:31 +01:00
|
|
|
|
|
|
|
|
|
<note><para>This release of Nixpkgs requires <link
|
|
|
|
|
xlink:href='http://nix.cs.uu.nl/dist/nix/nix-0.10/'>Nix
|
2006-10-11 15:04:02 +01:00
|
|
|
|
0.10</link> or higher.</para></note>
|
2006-10-06 14:37:31 +01:00
|
|
|
|
|
|
|
|
|
<para>This release has the following improvements:</para>
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
2006-10-11 13:29:35 +01:00
|
|
|
|
<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>
|
|
|
|
|
|
2006-10-11 15:04:02 +01:00
|
|
|
|
<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>
|
2006-10-06 14:37:31 +01:00
|
|
|
|
|
2006-10-11 13:29:35 +01:00
|
|
|
|
<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>
|
|
|
|
|
|
2006-10-06 14:37:31 +01:00
|
|
|
|
<listitem><para>The default compiler is now GCC 4.1.1.</para></listitem>
|
|
|
|
|
|
2006-10-11 13:29:35 +01:00
|
|
|
|
<listitem><para>X11 updated to X.org’s X11R7.1.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>Notable new packages:
|
2006-10-06 14:37:31 +01:00
|
|
|
|
|
2006-10-11 13:29:35 +01:00
|
|
|
|
<itemizedlist>
|
2006-10-06 14:37:31 +01:00
|
|
|
|
|
2006-10-11 13:29:35 +01:00
|
|
|
|
<listitem><para>Opera.</para></listitem>
|
|
|
|
|
|
2006-10-12 12:22:47 +01:00
|
|
|
|
<listitem><para>Microsoft Visual C++ 2005 Express Edition and
|
|
|
|
|
the Windows SDK.</para></listitem>
|
2006-10-11 13:29:35 +01:00
|
|
|
|
|
|
|
|
|
</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 overriden.</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;
|
|
|
|
|
stdenv = overrideInStdenv stdenv [gnumake380];
|
2006-10-12 12:22:47 +01:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
gnumake380 = <replaceable>...</replaceable>;</programlisting>
|
2006-10-11 13:29:35 +01:00
|
|
|
|
|
|
|
|
|
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>
|
|
|
|
|
|
2006-10-11 15:04:02 +01:00
|
|
|
|
|
|
|
|
|
<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>
|
2006-10-12 12:22:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<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";
|
|
|
|
|
<replaceable>...</replaceable>
|
|
|
|
|
meta = {
|
|
|
|
|
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>
|
2006-10-11 13:29:35 +01:00
|
|
|
|
|
2006-10-06 14:37:31 +01:00
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
2006-10-11 13:29:35 +01:00
|
|
|
|
|
2006-10-06 14:37:31 +01:00
|
|
|
|
<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>
|
2006-01-30 17:34:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section><title>Release 0.9 (January 31, 2006)</title>
|
|
|
|
|
|
|
|
|
|
<para>There have been zillions of changes since the last release of
|
2006-01-31 14:23:04 +00:00
|
|
|
|
Nixpkgs. Many packages have been added or updated. The following are
|
|
|
|
|
some of the more notable changes:</para>
|
2006-01-30 17:34:34 +00:00
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
2006-10-06 14:37:31 +01:00
|
|
|
|
<listitem><para>Distribution files have been moved to <link
|
|
|
|
|
xlink:href="http://nix.cs.uu.nl/" />.</para></listitem>
|
2006-01-31 11:41:44 +00:00
|
|
|
|
|
|
|
|
|
<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
|
2006-01-31 16:32:21 +00:00
|
|
|
|
working X server (previously we only had X client libraries). We
|
|
|
|
|
use a fully Nixified X server on NixOS.</para></listitem>
|
2006-01-31 11:41:44 +00:00
|
|
|
|
|
2006-10-06 14:37:31 +01:00
|
|
|
|
<listitem><para>The Sun JDK 5 has been purified, i.e., it doesn’t
|
2006-01-31 11:41:44 +00:00
|
|
|
|
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,
|
2006-01-31 16:32:21 +00:00
|
|
|
|
e.g. Grub, GNU <literal>parted</literal> and so
|
|
|
|
|
on.</para></listitem>
|
2006-01-31 11:41:44 +00:00
|
|
|
|
|
|
|
|
|
<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>
|
|
|
|
|
|
2006-01-31 14:23:04 +00:00
|
|
|
|
<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>
|
|
|
|
|
|
2006-01-31 11:41:44 +00:00
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
|
|
</para></listitem>
|
2006-01-30 17:34:34 +00:00
|
|
|
|
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
2006-01-31 11:41:44 +00:00
|
|
|
|
<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>
|
|
|
|
|
|
2006-01-30 17:34:34 +00:00
|
|
|
|
</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
|
2006-10-06 14:37:31 +01:00
|
|
|
|
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>
|
2006-01-30 17:34:34 +00:00
|
|
|
|
|
|
|
|
|
</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>
|