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>
|
|
|
|
|
|
|
|
|
|
|
2010-01-18 13:10:01 +00:00
|
|
|
|
<section><title>Release 0.13 (Januari NNN, 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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
2009-04-24 21:51:51 +01:00
|
|
|
|
<section><title>Release 0.12 (April 24, 2009)</title>
|
2007-09-12 11:44:09 +01:00
|
|
|
|
|
2009-04-23 16:02:09 +01:00
|
|
|
|
<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:
|
2008-06-11 16:39:04 +01:00
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
2009-04-23 16:02:09 +01:00
|
|
|
|
<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>
|
2008-06-11 16:39:04 +01:00
|
|
|
|
|
|
|
|
|
<listitem><para>Important updates:
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
|
|
|
|
<listitem><para>Glibc 2.7.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>GCC 4.2.4.</para></listitem>
|
|
|
|
|
|
2009-04-23 16:02:09 +01:00
|
|
|
|
<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>
|
2008-06-11 16:39:04 +01:00
|
|
|
|
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
|
|
</para></listitem>
|
|
|
|
|
|
2009-04-23 16:02:09 +01:00
|
|
|
|
<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>
|
|
|
|
|
|
2008-06-11 16:39:04 +01:00
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
|
|
</para>
|
2007-09-12 11:44:09 +01:00
|
|
|
|
|
2009-04-23 16:02:09 +01:00
|
|
|
|
<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>
|
|
|
|
|
|
2007-09-12 11:44:09 +01:00
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
2007-09-11 21:05:54 +01:00
|
|
|
|
<section><title>Release 0.11 (September 11, 2007)</title>
|
2006-10-27 10:42:01 +01:00
|
|
|
|
|
|
|
|
|
<para>This release has the following improvements:
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
2006-10-28 11:20:25 +01:00
|
|
|
|
|
2006-10-27 10:42:01 +01:00
|
|
|
|
<listitem><para>The standard build environment
|
|
|
|
|
(<literal>stdenv</literal>) is now pure on the
|
|
|
|
|
<literal>x86_64-linux</literal> and <literal>powerpc-linux</literal>
|
2007-09-11 22:42:42 +01:00
|
|
|
|
platforms, just as on <literal>i686-linux</literal>. (Purity means
|
2006-10-27 10:42:01 +01:00
|
|
|
|
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
|
2007-09-11 22:42:42 +01:00
|
|
|
|
expressions. For instance, rather than writing a builder like this:
|
2006-10-27 10:42:01 +01:00
|
|
|
|
|
|
|
|
|
<programlisting>
|
|
|
|
|
source $stdenv/setup
|
|
|
|
|
|
|
|
|
|
postInstall=postInstall
|
|
|
|
|
postInstall() {
|
|
|
|
|
ln -sf gzip $out/bin/gunzip
|
|
|
|
|
ln -sf gzip $out/bin/zcat
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
genericBuild</programlisting>
|
|
|
|
|
|
|
|
|
|
(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,
|
|
|
|
|
|
|
|
|
|
<programlisting>
|
|
|
|
|
configureFlags="CFLAGS=-O0"</programlisting>
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
<programlisting>
|
|
|
|
|
configureFlagsArray=("CFLAGS=-O0 -g")</programlisting>
|
|
|
|
|
|
|
|
|
|
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.,
|
|
|
|
|
|
|
|
|
|
<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:
|
|
|
|
|
|
|
|
|
|
<programlisting>
|
|
|
|
|
preConfigure = "configureFlagsArray=(\"CFLAGS=-O0 -g\")";</programlisting>
|
|
|
|
|
|
|
|
|
|
</para></listitem>
|
|
|
|
|
|
|
|
|
|
|
2007-09-11 21:05:54 +01:00
|
|
|
|
<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
|
2008-11-14 16:57:19 +00:00
|
|
|
|
xlink:href="http://nixos.org/tarballs/sha1/eb72f55e4a8bf08e8c6ef227c0ade3d068ba1082"/>.
|
2007-09-11 21:05:54 +01:00
|
|
|
|
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
|
2008-11-14 16:57:19 +00:00
|
|
|
|
xlink:href="http://nixos.org/tarballs"/>), but more can be
|
2007-09-11 21:05:54 +01:00
|
|
|
|
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.
|
|
|
|
|
<programlisting>
|
|
|
|
|
export NIX_MIRRORS_sourceforge=http://osdn.dl.sourceforge.net/sourceforge/</programlisting>
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
</listitem>
|
|
|
|
|
|
|
|
|
|
|
2006-10-28 11:20:25 +01:00
|
|
|
|
<listitem><para>Important updates:
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
|
|
|
|
<listitem><para>Glibc 2.5.</para></listitem>
|
|
|
|
|
|
2007-05-24 19:03:04 +01:00
|
|
|
|
<listitem><para>GCC 4.1.2.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>Gnome 2.16.3.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>X11R7.2.</para></listitem>
|
|
|
|
|
|
2007-09-11 21:05:54 +01:00
|
|
|
|
<listitem><para>Linux 2.6.21.7 and 2.6.22.6.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>Emacs 22.1.</para></listitem>
|
2007-05-24 19:03:04 +01:00
|
|
|
|
|
2007-09-11 21:05:54 +01:00
|
|
|
|
</itemizedlist>
|
2006-10-28 11:20:25 +01:00
|
|
|
|
|
|
|
|
|
</para></listitem>
|
|
|
|
|
|
|
|
|
|
|
2007-05-24 19:03:04 +01:00
|
|
|
|
<listitem><para>Major new packages:
|
|
|
|
|
|
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
|
|
|
|
<listitem><para>KDE 3.5.6 Base.</para></listitem>
|
|
|
|
|
|
2007-09-11 21:05:54 +01:00
|
|
|
|
<listitem><para>Wine 0.9.43.</para></listitem>
|
|
|
|
|
|
|
|
|
|
<listitem><para>OpenOffice 2.2.1.</para></listitem>
|
|
|
|
|
|
2007-05-24 19:03:04 +01:00
|
|
|
|
<listitem><para>Many Linux system packages to support
|
|
|
|
|
NixOS.</para></listitem>
|
|
|
|
|
|
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
2007-05-24 20:14:01 +01:00
|
|
|
|
</para></listitem>
|
2007-05-24 19:03:04 +01:00
|
|
|
|
|
2006-10-27 10:42:01 +01:00
|
|
|
|
</itemizedlist>
|
|
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
2007-09-11 21:05:54 +01:00
|
|
|
|
<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>
|
|
|
|
|
|
2006-10-27 10:42:01 +01:00
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
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
|
2008-11-14 16:57:19 +00:00
|
|
|
|
xlink:href='http://nixos.org/releases/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
|
2008-11-14 16:57:19 +00:00
|
|
|
|
xlink:href="http://nixos.org/" />.</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>
|