[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

GNU Guix 0.2 released

From: Ludovic Courtès
Subject: GNU Guix 0.2 released
Date: Mon, 13 May 2013 00:01:25 +0200
User-agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.3 (gnu/linux)

We are pleased to announce GNU Guix version 0.2, the second alpha
release, representing 580 commits by 5 people over 4 months.

• About

  GNU Guix is a functional package manager and distribution of
  the GNU system.

  In addition to standard package management features, Guix supports
  transactional upgrades and roll-backs, unprivileged package
  management, per-user profiles, and garbage collection.  Guix uses
  mechanisms from the Nix package management tool, with a Guile Scheme
  programming interface.

• Download

  Here are the compressed sources and a GPG detached signature[*]:

  Use a mirror for higher download bandwidth:

  Here are the MD5 and SHA1 checksums:

  4bdbbd736d0bbcb6cd7e28220c4ea1fe  guix-0.2.tar.gz
  051a65d1d7aa9a0ea69fe97d6d9a8b93fe09cca0  guix-0.2.tar.gz

  [*] Use a .sig file to verify that the corresponding file (without the
  .sig suffix) is intact.  First, be sure to download both the .sig file
  and the corresponding tarball.  Then, run a command like this:

    gpg --verify guix-0.2.tar.gz.sig

  If that command fails because you don't have the required public key,
  then run this command to import it:

    gpg --keyserver --recv-keys EA52ECF4

  and rerun the 'gpg --verify' command.

  This release was bootstrapped with the following tools:
    Autoconf 2.69
    Automake 1.13.1
    Makeinfo 5.1

• Changes since version 0.1 (excerpt from the NEWS file)

  ** Package management

  *** Guix commands are now sub-commands of the “guix” program

  Instead of typing “guix-package”, one now has to type “guix package”, and so
  on.  This has allowed us to homogenize the user interface and initial program
  setup, and to allow commands to be upgradable through “guix pull”.

  *** New “guix package --upgrade” option

  As the name implies, this option atomically upgrades all the packages
  installed in a profile or the set of packages matching a given regexp.
  See “Invoking guix package” in the manual.

  *** New “guix package --search” option

  Performs a full text search in package synopses and descriptions, and returns
  the matching packages in recutils format.  See “Invoking guix package” in the
  manual, for details.

  *** New “guix pull” command

  The command pulls the latest version of Guix–both the package management
  modules and the distribution.  See the manual for details.

  *** New binary substituter

  The “substituter” mechanism allows pre-built binaries to be transparently
  downloaded instead of performing a build locally.  Currently binaries are
  available for x86_64 Linux-based GNU systems from  The
  distribution is continuously built and binaries are made available from there.

  See under “Job status” for the list of
  available binary packages.

  *** New “guix refresh” command

  The command is used by Guix maintainers.  It automatically updates the
  distribution to the latest upstream releases of GNU software.

  *** New “guix hash” command

  Convenience command to compute the hash of a file.  See the manual for

  *** Nix daemon code updated

  The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated
  to current Nix ‘master’.

  ** Programming interfaces

  *** (guix download) now supports HTTPS, using GnuTLS

  It allows package source tarballs to be retrieved over HTTPS.

  *** New ‘native-search-path’ and ‘search-path’ package fields

  Packages can define in their ‘native-search-path’ field environment variables
  that define search paths and need to be set for proper functioning of the
  package.  For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
  ‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
  These environment variables are automatically set when building a package that
  uses one of these.

  *** Package inputs can be a function of the target system type

  The ‘inputs’ field of a package can now be conditional on the value of
  (%current-system).  This is useful for packages that take system-dependent
  tarballs as inputs, such as GNU/MIT Scheme.

  *** New build systems

  The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
  been added.  They implement the standard build systems for Perl, Python, and
  CMake packages.

  *** Tools to build Linux initrds, QEMU images, and more

  The (gnu packages linux-initrd) module provides a procedure to build a Linux
  initrd (“initial RAM disk”).  The initrd embeds Guile, which is used to
  evaluate the given expression.  The example below returns an initrd that
  mounts the /proc file system and starts a REPL:

         (mkdir "/proc")
         (mount "none" "/proc" "proc")
         ((@ (system repl repl) start-repl))))

  More examples in the linux-initrd.scm file.

  Experimental interfaces to produce and use QEMU images are provided by the
  (gnu system vm) module.  For instance, the
  ‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in
  a QEMU virtual machine running the Linux kernel and Guile.

  ** GNU distribution

  Many updates and additions have been made to the distribution.  Here are the

  *** Major updates

  GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
  Coreutils 8.20, GDB 7.6, Texinfo 5.1.

  *** Noteworthy new packages

  TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
  CHICKEN, Scheme48, Hugs, Python, Lua, Samba.

Please report bugs to address@hidden

Ludovic, on behalf of the Guix team.

Attachment: pgp4u3Jy8gYlb.pgp
Description: PGP signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]