Skip to content

Latest commit

 

History

History
1945 lines (1532 loc) · 95.2 KB

NEWS

File metadata and controls

1945 lines (1532 loc) · 95.2 KB

Guix NEWS – history of user-visible changes

-*- org -*-

Copyright © 2013, 2014, 2015 Ludovic Courtès <[email protected]>

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

Please send Guix bug reports to [email protected].

Changes in 0.9.0 (since 0.8.3)

Package management

New ‘guix graph’ command, to draw package graphs

New ‘guix challenge’ command, to challenge the authenticity of binaries

‘guix environment’ has a new ‘–container’ option

‘guix substitute’ now honors all the specified substitute URLs

New ‘guix import cran’ command, to import R packages from CRAN

Package descriptions can now include Texinfo markup rendered on the fly

‘guix package’ has a new ‘–install-from-file’ option

‘guix package –search’ shows package outputs

‘guix refresh’ can refresh selected non-GNU package definitions

The ‘–ad-hoc’ option of ‘guix environment’ is now positional

The ‘–exec’ option of ‘guix environment’ is deprecated; use ‘–’ instead

‘guix build’ has a new ‘–file’ option

‘guix build –log-file’ can now return URLs

‘guix size’ now has a ‘–substitute-urls’ option and is much faster

New ‘guix lint’ checkers: ‘formatting’, ‘license’, ‘source-file-name’

Download progress report has been improved

Emacs shell-mode completions for ‘guix’ commands updated

Emacs: New ‘M-x guix’ popup interface

Emacs: modes for viewing build logs (‘guix-build-log-mode’)

Distribution

New extensible service composition API

The operating system service API in (gnu services) has been completely rewritten, significantly improving extensibility and modularity, while providing a framework that makes it easy to reason about service composition. Consequently, several sources of redundancy and confusion in ‘operating-system’ declarations have been eliminated. See “Service Composition” in the manual.

New ‘extension-graph’ and ‘dmd-graph’ sub-commands for ‘guix system’

New ‘container’ sub-command for ‘guix system’

New ‘guix container’ command, to deal with GuixSD containers

New ‘list-generations’ sub-command for ‘guix system’

‘operating-system’ has a new ‘locale-libcs’ field

New services: ‘nginx-service’, ‘udisks-service’, ‘guix-publish-service’

‘%desktop-services’ now includes Polkit, GeoClue, elogind, UDisks, and more

‘dbus-daemon’ now has proper support for lazy service activation

‘wicd-service’ automatically adds Wicd to the system profile

‘slim-service’ automatically adds xterm to the system profile

hydra.gnu.org now provides substitutes for ‘armhf-linux’

/run/systemd is mounted as tmpfs by default, for use by elogind

‘glibc’ package no longer contains Bash in its bin/ directory

libc now looks for locale data in a versioned sub-directory

libc honors the new ‘GUIX_LOCPATH’ environment variable

Xfce now defaults to the GNOME icon theme

543 new packages

abduco, accountsservice, american-fuzzy-lop, ansible, arandr, attic, autobuild, bash-minimal, bash-static, bio-blastxmlparser, bio-locus, bioperl-minimal, bioruby, bitcoin-core, bspwm, byobu, cabal-install, cityhash, clang-runtime, clang-runtime, cm, cmus, conky, coreutils-minimal, cpphs, cvs-fast-export, d-feet, deeptools, diffoscope, dosbox, dvtm, emacs-butler, emacs-dash, emacs-debbugs, emacs-deferred, emacs-f, emacs-flycheck, emacs-let-alist, emacs-ob-ipython, emacs-s, emacs-typo, enblend-enfuse, epiphany, esmtp, ethtool, evilwm, exfat-utils, express-beta-diversity, extra-cmake-modules, extundelete, fastcap, fasthenry, figlet, file-roller, flann, font-anonymous-pro, font-gnu-unifont, font-inconsolata, font-tex-gyre, font-ubuntu, frescobaldi, fuse-exfat, gajim, gamine, gerbv, gexiv2, ghc-adjunctions, ghc-aeson, ghc-alex, ghc-annotated-wl-pprint, ghc-ansi-terminal, ghc-ansi-wl-pprint, ghc-appar, ghc-async, ghc-attoparsec, ghc-auto-update, ghc-base-compat, ghc-base-orphans, ghc-base64-bytestring, ghc-bifunctors, ghc-blaze-builder, ghc-blaze-html, ghc-blaze-markup, ghc-byteorder, ghc-bytestring-builder, ghc-cereal, ghc-cgi, ghc-charset, ghc-cheapskate, ghc-clock, ghc-cmdargs, ghc-comonad, ghc-contravariant, ghc-cookie, ghc-css-text, ghc-data-default, ghc-data-default-class, ghc-data-default-instances-base, ghc-data-default-instances-containers, ghc-data-default-instances-dlist, ghc-data-default-instances-old-locale, ghc-digest, ghc-distributive, ghc-dlist, ghc-doctest, ghc-easy-file, ghc-exceptions, ghc-extensible-exceptions, ghc-extra, ghc-fast-logger, ghc-fingertree, ghc-free, ghc-generic-deriving, ghc-gluraw, ghc-glut, ghc-haddock, ghc-haddock-api, ghc-haddock-library, ghc-half, ghc-happy, ghc-haskell-src, ghc-haskell-src-exts, ghc-hspec, ghc-hspec-core, ghc-hspec-expectations, ghc-hspec-meta, ghc-html, ghc-http-types, ghc-iproute, ghc-kan-extensions, ghc-lens, ghc-lifted-base, ghc-logict, ghc-mmorph, ghc-monad-control, ghc-multipart, ghc-nats, ghc-objectname, ghc-old-locale, ghc-old-time, ghc-opengl, ghc-openglraw, ghc-optparse-applicative, ghc-parsers, ghc-pcre-light, ghc-polyparse, ghc-prelude-extras, ghc-profunctors, ghc-quickcheck-instances, ghc-quickcheck-io, ghc-quickcheck-unicode, ghc-reducers, ghc-reflection, ghc-regex-base, ghc-regex-compat, ghc-regex-posix, ghc-regex-tdfa-rc, ghc-resourcet, ghc-safe, ghc-scientific, ghc-sdl, ghc-sdl-image, ghc-sdl-mixer, ghc-semigroupoids, ghc-semigroups, ghc-setenv, ghc-silently, ghc-simple-reflect, ghc-smallcheck, ghc-statevar, ghc-streaming-commons, ghc-stringbuilder, ghc-stringsearch, ghc-tagged, ghc-tagsoup, ghc-tasty, ghc-tasty-ant-xml, ghc-tasty-golden, ghc-tasty-hunit, ghc-tasty-quickcheck, ghc-tasty-smallcheck, ghc-temporary, ghc-temporary-rc, ghc-transformers-base, ghc-transformers-compat, ghc-trifecta, ghc-unbounded-delays, ghc-uniplate, ghc-unix-compat, ghc-unix-time, ghc-utf8-string, ghc-vault, ghc-vector-binary-instances, ghc-void, ghc-wai, ghc-wai-extra, ghc-wai-logger, ghc-word8, ghc-x11, ghc-x11-xft, ghc-xhtml, ghc-xml, ghc-xmonad-contrib, ghc-xss-sanitize, ghc-zip-archive, glibc-hurd, glibc-hurd-headers, gmtp, graphios, gtk-doc, guile-next, guile-present, guile-redis, guile-rsvg, guile-wisp, gusb, gvfs, gzochi, haunt, hlint, hscolour, hspec-discover, hurd-minimal, i3-wm, i3status, ibus-libpinyin, idris, ifstatus, keepassx, klick, kwindowsystem, lablgtk, libatasmart, libchamplain, libchop, libconfuse, libcue, libesmtp, libev, libfm, libfm-extra, libgee, libgudev, liblxqt, libndp, libpano13, libpinyin, libraw, libusb-compat, libyajl, lxqt-common, lxqt-session, lxrandr, lxtask, lxterminal, lz4, mafft, manaplus, mars, menu-cache, minixml, mosaik, nestopia-ue, newt, non-sequencer, ntk, openimageio, opusfile, patches, pbzip2, pcmanfm, pcre2, pd, pelican, perl-czplib, perl-date-manip, perl-finance-quote, perl-html-element-extended, perl-html-tableextract, perl-pod-simple, physfs, pidgin, pidgin-otr, pigz, po4a, poppler-qt4, pwgen, python-appdirs, python-bandit, python-blinker, python-ccm, python-chardet, python-cryptography, python-cryptography-vectors, python-debian, python-debtcollector, python-ecdsa, python-file, python-fonttools, python-gnupg, python-hacking, python-httplib2, python-idna, python-ipython-genutils, python-iso8601, python-joblib, python-libarchive-c, python-llfuse, python-ly, python-minimal, python-minimal, python-mistune, python-monotonic, python-mox3, python-msgpack, python-nbxmpp, python-netaddr, python-numexpr, python-os-client-config, python-os-testr, python-oslo.config, python-oslo.context, python-oslo.i18n, python-oslo.log, python-oslo.serialization, python-oslo.utils, python-oslosphinx, python-oslotest, python-paramiko, python-passlib, python-pathpy, python-patsy, python-pbr, python-pbr, python-pexpect, python-pickleshare, python-pip, python-poppler-qt4, python-pretend, python-prettytable, python-ptyprocess, python-py-bcrypt, python-pyasn1, python-pyopenssl, python-pytest-runner, python-requests-mock, python-setuptools-scm, python-simplegeneric, python-statsmodels, python-stevedore, python-tempest-lib, python-terminado, python-tlsh, python-traitlets, python-webob, python-wrapt, python-xlrd, python2-appdirs, python2-bandit, python2-blinker, python2-ccm, python2-chardet, python2-cryptography, python2-cryptography-vectors, python2-debian, python2-debtcollector, python2-ecdsa, python2-file, python2-fonttools, python2-gnupg, python2-hacking, python2-httplib2, python2-idna, python2-ipaddress, python2-ipython-genutils, python2-iso8601, python2-joblib, python2-keyring, python2-libarchive-c, python2-llfuse, python2-mistune, python2-monotonic, python2-mox3, python2-msgpack, python2-nbxmpp, python2-netaddr, python2-notmuch, python2-numexpr, python2-os-client-config, python2-os-testr, python2-oslo.config, python2-oslo.context, python2-oslo.i18n, python2-oslo.log, python2-oslo.serialization, python2-oslo.utils, python2-oslosphinx, python2-oslotest, python2-paramiko, python2-passlib, python2-pathpy, python2-patsy, python2-pbr, python2-pbr, python2-pexpect, python2-pickleshare, python2-pip, python2-pretend, python2-prettytable, python2-ptyprocess, python2-py-bcrypt, python2-pyasn1, python2-pycrypto, python2-pyopenssl, python2-pytest-runner, python2-requests-mock, python2-setuptools-scm, python2-simplegeneric, python2-statsmodels, python2-stevedore, python2-tempest-lib, python2-terminado, python2-tlsh, python2-traitlets, python2-webob, python2-wrapt, python2-xlrd, r-assertthat, r-bh, r-chron, r-codetools, r-colorspace, r-crayon, r-data.table, r-dbi, r-dichromat, r-digest, r-dplyr, r-evaluate, r-formatr, r-ggplot2, r-gtable, r-highr, r-htmltools, r-htmlwidgets, r-httpuv, r-jsonlite, r-knitr, r-labeling, r-lazyeval, r-magrittr, r-markdown, r-memoise, r-microbenchmark, r-mime, r-munsell, r-plyr, r-proto, r-pryr, r-qtl, r-r6, r-rcolorbrewer, r-rcpp, r-reshape2, r-scales, r-servr, r-stringi, r-stringr, r-testthat, r-yaml, rage, raincat, redis, rest, rfkill, rpm, ruby-activesupport, ruby-atoulme-antwrap, ruby-bio-logger, ruby-builder, ruby-byebug, ruby-coderay, ruby-cucumber-core, ruby-diff-lcs, ruby-docile, ruby-ffi, ruby-formatador, ruby-gherkin3, ruby-json, ruby-libxml, ruby-listen, ruby-log4r, ruby-lumberjack, ruby-method-source, ruby-mini-portile, ruby-minitar, ruby-nenv, ruby-nokogiri, ruby-notiffany, ruby-orderedhash, ruby-ox, ruby-permutation, ruby-pg, ruby-pry, ruby-rack, ruby-rb-inotify, ruby-rjb, ruby-rubygems-tasks, ruby-shellany, ruby-shindo, ruby-simplecov-html, ruby-thor, ruby-thread-safe, ruby-tzinfo, ruby-xml-simple, ruby-yard, sassc, scmutils, seqmagick, shotwell, shroud, simple-scan, squashfs-tools, sxhkd, tinc, udisks, unison, vsearch, webkitgtk-gtk2, wesnoth, wpa-supplicant-minimal, xcb-util-cursor, xcompmgr, xfce4-pulseaudio-plugin, xjackfreak, xlsfonts, xmonad, yapet, yelp, yelp-tools, yelp-xsl, znc, zynaddsubfx

268 package updates

abcde-2.7, arb-2.7.0, ardour-4.2, at-spi2-atk-2.18.1, at-spi2-core-2.18.1, ath9k-htc-firmware-1.4.0, atk-2.18.0, atkmm-2.24.1, autogen-5.18.6, avidemux-2.6.10, bedtools-2.24.0, binutils-2.25.1, binutils-static-stripped-tarball-2.25.1, bison-3.0.4, bluez-5.35, bundler-1.10.6, c-reduce-2.3.0, cairomm-1.12.0, calcurse-4.0.0, calibre-2.41.0, camlp5-6.14, cgal-4.6.3, chess-6.2.2, clang-3.6.2, claws-mail-3.13.0, cmake-3.3.2, complexity-1.3, conkeror-1.0pre1.20150730, cpio-2.12, crossmap-0.2.1, csound-6.05, cups-2.1.0, cups-filters-1.0.75, cups-minimal-2.1.0, curl-7.45.0, dbus-1.10.0, dbus-1.10.0.a, ddrescue-1.20, dmd-0.2.01, docbook-xml-4.4, docbook-xml-4.5, dosfstools-3.0.28, e2fsck-static-1.42.13, e2fsprogs-1.42.13, efl-1.15.2, eigen-3.2.6, elementary-1.15.2, emotion-generic-players-1.15.0, enlightenment-0.19.12, eudev-3.1.5, evas-generic-loaders-1.15.0, feh-2.14, ffmpeg-2.8, fish-2.2.0, flint-2.5.2, fontconfig-2.11.94, freeglut-3.0.0, freeimage-3.17.0, freeipmi-1.4.11, gcc-4.9.3, gcc-4.9.3, gcc-4.9.3, gcc-5.2.0, gcc-toolchain-5.2.0, gcj-4.9.3, gdb-7.10, gdk-pixbuf-2.32.1, geiser-0.8.1, gettext-0.19.6, ghc-7.10.2, ghc-hashable-1.2.3.3, ghc-http-4000.2.20, ghc-mtl-2.2.1, ghc-network-2.6.2.1, ghc-network-uri-2.6.0.3, ghc-primitive-0.6.1.0, ghc-quickcheck-2.8.1, ghc-syb-0.6, ghc-text-1.2.1.3, ghc-vector-0.11.0.0, giflib-5.1.1, git-2.5.0, git-manpages-2.5.0, git-modes-1.2.0, glib-2.46.1, glib-networking-2.46.1, glibc-2.22, glibc-locales-2.22, glibc-stripped-tarball-2.22, glibc-utf8-locales-2.22, glibmm-2.46.1, global-6.5.1, glpk-4.56, gnome-desktop-3.16.2, gnome-themes-standard-3.16.2, gnu-pw-mgr-1.6, gnumach-headers-1.6, gnupg-2.1.9, gnurl-7.45.0, gnutls-3.4.5, gobject-introspection-1.46.0, gp2c-0.0.9pl3, graphite2-1.3.3, graphviz-2.38.0, gsettings-desktop-schemas-3.18.0, gsl-2.0, gst-libav-1.6.1, gst-plugins-base-1.6.1, gst-plugins-good-1.6.1, gst-plugins-ugly-1.6.1, gstreamer-1.6.1, gtk+-3.18.2, gtkmm-3.18.0, guile-ssh-0.8.0, guitarix-0.33.0, guix-0.8.3, guix-0.8.3.b485f75, harfbuzz-1.0.5, help2man-1.47.2, hurd-headers-0.7, ibus-1.5.11, icecat-38.3.0-gnu1, icedtea6-1.13.8, icedtea7-2.6.2, imagemagick-6.9.2-1, intltool-0.51.0, json-glib-1.0.4, leptonica-1.72, less-481, libbluray-0.9.0, libcap-2.24, libdrm-2.4.65, libdvdcss-1.3.99, libedit-20150325-3.1, libgcrypt-1.6.3, libgsf-1.14.34, libidn-1.32, libinput-0.21.0, libmicrohttpd-0.9.45, libmtp-1.1.9, libotr-4.1.0, libpcap-1.7.4, libpciaccess-0.13.4, libqtxdg-1.2.0, librsvg-2.40.11, libsigc++-2.6.1, libsoup-2.52.1, libssh-0.6.5, libtiff-4.0.5, libtorrent-0.13.6, libva-1.6.1, lilypond-2.19.27, links-2.12, linux-libre-4.2.5, linux-pam-1.2.1, lirc-0.9.3, llvm-3.6.2, lua-5.2.3, lzo-2.09, magit-2.3.0, mesa-11.0.3, mesa-headers-11.0.3, mig-1.6, minetest-0.4.13, mosh-1.2.5, mpg123-1.22.4, mplayer-1.2, mpv-0.11.0, mu-0.9.13, mutt-1.5.24, ncdu-1.11, ncmpcpp-0.6.7, ncurses-6.0, node-0.12.7, notmuch-0.20.2, ntp-4.2.8p4, ocaml-4.02.3, offlineimap-6.5.7, openblas-0.2.15, openjpeg-2.1.0, openldap-2.4.42, openssh-7.0p1, orc-0.4.24, pango-1.38.1, pangomm-2.38.1, parallel-20151022, pavucontrol-3.0, pbtranscript-tofu-2.2.3.8f5467fe6, pciutils-3.3.1, perf-4.2.5, perl-xml-parser-2.44, pixman-0.32.8, poppler-0.37.0, powertop-2.7, python-cffi-1.2.1, python-dateutil-2.2, python-fixtures-1.3.1, python-ipython-3.2.1, python-pyflakes-0.9.2, python-pygobject-3.18.0, python-pyqt-4.11.4, python-pyqt-5.5, python-requests-2.8.0, python-scipy-0.16.0, python-setuptools-18.3.1, python-sip-4.16.9, python-six-1.9.0, python2-cffi-1.2.1, python2-dateutil-2.2, python2-fixtures-1.3.1, python2-ipython-3.2.1, python2-pygobject-3.18.0, python2-pyqt-4.11.4, python2-pyqt-5.5, python2-requests-2.8.0, python2-scipy-0.16.0, python2-setuptools-18.3.1, python2-sip-4.16.9, python2-six-1.9.0, qemu-2.4.0.1, qemu-headless-2.4.0.1, qpdf-5.1.3, qsynth-0.4.0, qt-5.5.1, r-3.2.2, racket-6.2.1, ratpoison-1.4.8, readline-6.3, retroarch-1.2.2, ripperx-2.8.0, rtorrent-0.9.6, ruby-2.2.3, ruby-arel-6.0.3, ruby-bacon-1.2.0, ruby-i18n-0.7.0, samtools-1.2, sfarklib-2.24, sfml-2.3.2, shadow-4.2.1, sipwitch-1.9.14, sqlite-3.8.11.1, subversion-1.8.14, synergy-1.7.4, tcl-8.6.4, tcpdump-4.7.4, teckit-2.5.4, terminology-0.9.1, texlive-2015, texlive-bin-2015, texlive-texmf-2015, tiled-0.13.1, tk-8.6.4, tmux-2.0, tor-0.2.6.10, ucommon-6.6.2, units-2.12, util-linux-2.27, vala-0.30.0, valgrind-3.11.0, vlc-2.2.1, webkitgtk-2.8.5, weechat-1.3, wine-1.7.52, wpa-supplicant-2.5, xapian-1.2.21, xterm-320, youtube-dl-2015.11.01, zsh-5.1.1

Programming interfaces

Rewritten (gnu services) module; (gnu services …) modules adjusted

New Emacs development tools, see “Development” in the manual

(guix gexp) provides the declarative ‘computed-file’, ‘program-file’, etc.

New (guix upstream) module, for generalized upstream release tracking

Noteworthy bug fixes

Passwords in /etc/shadow are SHA512-hashed (http://bugs.gnu.org/21318)

daemon: Require a signature for imports made by root

(http://bugs.gnu.org/21354)

emacs: Fix guix-guile-program default value (http://bugs.gnu.org/21127)

Compressed initrds no longer include timestamps

Partly fix handling of encrypted root partitions

(http://bugs.gnu.org/19190)

Python now includes tkinter (http://bugs.gnu.org/20889)

Memoize the results of ‘package-with-python2’ (http://bugs.gnu.org/21675)

Use the daemon’s substitute URLs by default (http://bugs.gnu.org/20217)

‘guix system –no-grub’ works correctly for ‘init’ and ‘reconfigure’

(http://bugs.gnu.org/21068)

Native language support

Updated translations: da

Changes in 0.8.3 (since 0.8.2)

Package management

New ‘guix edit’ and ‘guix size’ commands

New ‘–manifest’ option for ‘guix package’, for declarative profiles

Similarly, new ‘M-x guix-apply-manifest’ for the Emacs UI

Emacs support now includes completion for ‘guix’ commands in shell-mode

‘guix package –search-paths’ now takes an optional argument

‘guix environment –ad-hoc’ creates a custom development environment

New ‘–system’ option for ‘guix environment’

‘guix environment’ defines $GUIX_ENVIRONMENT, useful to adjust ‘PS1’

New ‘–optimize’ and ‘–verify’ options to ‘guix gc’

‘guix build –with-source’ can now be passed a directory

New ‘elpa’ importer for ‘guix import’

‘guix import pypi’ determines the list of dependencies

New ‘–substitute-urls’ option for ‘guix build’ and other commands

‘guix substitute’ can now alternate between different substitute URLs

New “Running Guix Before It Is Installed” section in the manual

Basic manual pages for the ‘guix’ commands are now shipped

Building the daemon now necessitates a C++11 compiler

Distribution

New ‘%base-user-accounts’ variable, for common system accounts

New ‘–on-error’ option for ‘guix system’

New ‘plain-file’ construct, for use in ‘operating-system’ declarations

‘sudoers’ field of ‘operating-system’ renamed to ‘sudoers-file’

‘sudoers-file’ and ‘hosts-file’ fields now take file-like objects

File systems under /sys/fs/cgroup are now mounted by default

Default compiler is now GCC 4.9.3 (was 4.8.4)

ARMv7 port now requires NEON

The disk footprint of a dozen key packages has been reduced

179 new packages

adwaita-icon-theme, amule, aragorn, arpack-ng-openmpi, blast+, bundler, camlp4, camlp5, clutter, clutter-gst, clutter-gtk, cogl, coq, couger, crda, dealii, dealii-openmpi, devhelp, diamond, dunst, edirect, emacs-auctex, emacs-mmm-mode, emacs-pdf-tools, eog, execline, exempi, fasttree, faust, fizmo, gcr, git-modes, gnome-common, gnome-keyring, gnome-klotski, gnu-c-manual, gnujump, gom, grilo, grilo-plugins, gst-plugins-ugly, guile-emacs, guile-for-guile-emacs, guile-gdbm-ffi, guitarix, haskell-mode, hevea, hmmer, hoedown, htslib, hydra, hydrogen, idr, libcmis, libiberty, libmng, libmpeg2, libreoffice, libressl, librest, libstdc++, libstdc++-doc, libstdc++-doc, libsvm, libtar, libx264, libxdg-basedir, lpsolve, lxappearance, magit-svn, metabat, metis, mumps, mumps-metis, mumps-metis-openmpi, mumps-openmpi, orfm, p4est, p4est-openmpi, perl-authen-sasl, perl-catalyst-authentication-store-dbix-class, perl-catalyst-plugin-authorization-roles, perl-data-stag, perl-gssapi, perl-io-string, perl-net-smtp-ssl, perl-set-object, plink, powertabeditor, preseq, prodigal, proof-general, pugixml, pv, python-click, python-feedgenerator, python-flake8, python-gridmap, python-libsvm, python-libxml2, python-mccabe, python-pandas, python-pep8, python-pep8, python-psutil, python-pyflakes, python-pyflakes, python-pyzmq, python-redis, python-rpy2, python-rq, python-scikit-image, python-seaborn, python2-click, python2-fastlmm, python2-feedgenerator, python2-flake8, python2-gridmap, python2-libxml2, python2-mccabe, python2-pandas, python2-pep8, python2-pep8, python2-psutil, python2-pyflakes, python2-pysnptools, python2-pyzmq, python2-redis, python2-rpy2, python2-rq, python2-scikit-image, python2-seaborn, python2-warpedlmm, qsynth, randomjungle, rapidjson, raul, rc, rhythmbox, rsem, rtmidi, ruby-arel, ruby-bacon, ruby-connection-pool, ruby-daemons, ruby-git, ruby-minitest, ruby-minitest-bacon, ruby-minitest-sprint, ruby-multipart-post, ruby-net-http-persistent, ruby-rake-compiler, ruby-rspec, ruby-rspec-core, ruby-rspec-expectations, ruby-rspec-mocks, ruby-slop, ruby-useragent, scalapack, seahorse, setbfree, sfarklib, sfarkxtc, sfxr, skalibs, slepc, slepc-complex, slepc-complex-openmpi, slepc-openmpi, sox, st, totem, wayland, wireless-regdb, withershins, wxmaxima, xfce4-clipman-plugin, xmlsec, zita-resampler

181 package updates

ardour-4.1-5aa834e, bash-4.3.39, bash-light-4.3.39, bedops-2.4.14, bind-utils-9.10.2-P2, bison-3.0.4, bitlbee-3.4, boost-1.58.0, brasero-3.12.1, calibre-2.29.0, catch-1.1.3, ccache-3.2.2, chibi-scheme-0.7.3, clang-3.6.0, coreutils-8.24, cups-2.0.3, cups-filters-1.0.71, cups-minimal-2.0.3, curl-7.43.0, datamash-1.0.7, dfu-programmer-0.7.2, duplicity-0.6.26, ed-1.12, efl-1.14.2, eigen-3.2.5, elementary-1.14.2, emotion-generic-players-1.14.0, enlightenment-0.19.5, evas-generic-loaders-1.14.0, evince-3.16.1, feh-2.13, ffmpeg-2.7.1, freeipmi-1.4.9, freetype-2.6, gawk-4.1.3, gcal-4, gcc-5.2.0, gcc-cross-arm-linux-gnueabihf-4.9.3, gcc-cross-mips64el-linux-gnuabi64-4.9.3, gcc-cross-sans-libc-avr-4.9.3, gcc-cross-sans-libc-xtensa-elf-4.9.3, gcc-objc++-4.8.5, gcc-objc-4.8.5, gcc-stripped-tarball-4.9.3, gcc-toolchain-4.9.3, gcc-toolchain-4.9.3, gcc-toolchain-5.2.0, gccgo-4.8.5, gcj-4.8.5, gdb-7.9.1, geoclue-2.2.0, gettext-0.19.5, gfortran-4.8.5, gfortran-4.9.3, gfortran-4.9.3, girara-0.2.4, git-2.4.3, git-manpages-2.4.3, global-6.5, gnu-pw-mgr-1.4, gnupg-2.1.6, gnutls-3.4.1, goffice-0.10.14, gpgme-1.5.5, gtk+-3.16.3, gtkmm-3.16.0, guile-2.0.11, guile-2.0.11, guile-reader-0.6.1, guile-sdl-0.5.2, guix-0.8.2, guix-0.8.2.72cd8ec, gxmessage-3.4.3, harfbuzz-0.9.40, help2man-1.47.1, httpd-2.4.16, hwloc-1.10.1, icecat-31.8.0-gnu1, imagemagick-6.9.1-3, inetutils-1.9.4, julia-0.3.10, libassuan-2.2.1, libdvdnav-5.0.3, libdvdread-5.0.3, libetonyek-0.1.3, libgpg-error-1.19, libidn-1.31, libksba-1.3.3, libmicrohttpd-0.9.42, libmpdclient-2.10, libmwaw-0.3.5, libpipeline-1.4.0, libpsl-0.7.1, librsvg-2.40.9, libunistring-0.9.6, libusb-1.0.19, libvpx-1.4.0, libwps-0.4.0, libxml2-2.9.2, linux-libre-4.0.8, linux-libre-4.1.2, livestreamer-1.12.2, lv2-1.12.0, magit-1.4.1, man-db-2.7.1, mariadb-10.0.20, maxima-5.36.1, mdds-0.12.1, mpd-0.19.10, mpd-mpc-0.27, mpfr-3.1.3, mysql-5.6.25, nano-2.4.2, ncmpc-0.24, ncmpcpp-0.6.5, nettle-3.1.1, ngs-java-1.1.1, ngs-sdk-1.1.1, npth-1.2, nss-3.19.2, nss-certs-3.19.2, ntp-4.2.8p3, ocaml-4.02.1, openblas-0.2.14, openjpeg-2.0.1, openjpeg-2.1.0, openmpi-1.8.5, openssh-6.9p1, openssl-1.0.2d, parallel-20150622, pari-gp-2.7.4, pcre-8.37, perf-4.1.2, petsc-3.6.0, petsc-complex-3.6.0, petsc-complex-openmpi-3.6.0, petsc-openmpi-3.6.0, pinentry-0.9.5, pius-2.1.1, polkit-0.113, postgresql-9.3.8, pspp-0.8.5, pt-scotch-6.0.4, pumpa-0.9.1, python-3.4.3, python-dateutil-2.2, python-pillow-2.8.1, python-scikit-learn-0.16.1, python2-dateutil-2.2, python2-pillow-2.8.1, python2-pygobject-3.16.1, python2-pyqt-5.4, python2-scikit-learn-0.16.1, qemu-2.3.0, qemu-headless-2.3.0, qt-5.4.2, r-3.2.1, readline-6.3, ruby-2.1.6, ruby-2.2.2, samtools-1.2, scotch-6.0.4, screen-4.3.1, sharutils-4.15.2, sipwitch-1.9.8, sqlite-3.8.10.2, star-2.4.2a, swig-3.0.5, synergy-1.7.3, sysfsutils-2.1.0, talloc-2.1.2, texinfo-6.0, tor-0.2.6.8, ucommon-6.3.4, unrtf-0.21.9, vamp-2.6, webkitgtk-2.8.3, which-2.21, xorriso-1.4.0, youtube-dl-2015.06.25, zathura-0.3.3

Programming interfaces

New “package Reference” and “origin Reference” sections in the manual

New ‘emacs-build-system’, which mimics what package.el does

New (guix cpio) module, used to produce Linux initrds deterministically

New ‘clone’, ‘setns’, and ‘pivot_root’ bindings in (guix build syscalls)

New ‘dependencies’ field in <file-system>

New #:gem-flags parameter for ‘ruby-build-system’

monads: ‘foldm’, ‘mapm’, and ‘anym’ now take a list of regular values

monads: Allow n-ary ‘>>=’ expressions

Noteworthy bug fixes

Binary installation tarball now has files root-owned, with zeroed mtime

(http://bugs.gnu.org/21101)

GRUB background image is always available (http://bugs.gnu.org/20591)

‘guix system’ catches references to non-existent user groups

(http://bugs.gnu.org/20646)

Ignore trailing components for ‘guix gc -d’ (http://bugs.gnu.org/19757)

‘guix lint’ warns only when all the URIs are unreachable

‘guix system init’ overwrites the items in the target store

(http://bugs.gnu.org/20722)

‘guix-register’ performs deduplication even when –prefix is passed

(http://bugs.gnu.org/19044)

The ‘location’ of packages is no longer preserved by ‘inherit’

GuixSD installation image has udev rules for device-mapper

(http://bugs.gnu.org/20791)

Daemon distinguishes between “substitutable” and “offloadable” derivations

(http://bugs.gnu.org/18747)

Avoid infinite loop in ‘guix substitute’

‘guix environment’ now returns the exit code of its command

‘file-system’ declarations can now really use UUIDs

(http://bugs.gnu.org/19778)

Daemon preserves build user groups (http://bugs.gnu.org/18994)

Fix quadratic behavior when building packages with many propagated inputs

Tarballs for origins with patches/snippet are now build deterministically

Scalability issues in ‘guix publish’ have been fixed

Native language support

Updated translations: da, eo

Changes in 0.8.2 (since 0.8.1)

Package management

New “binary tarball” installation method is available

See “Binary Installation” in the manual.

New ‘guix publish’ command, to publish one’s store

See “Invoking guix publish” in the manual.

‘guix package’ runs “profile creation hooks” as needed

It creates X.509 certificate bundles in the profile’s etc/ssl directory, if needed, generates a package database cache for GHC if the profile includes GHC (the Haskell compiler), and generates an Info ‘dir’ file (this part was already done before.)

‘guix package’ creates an ‘etc/profile’ file in the profile

See “Invoking guix package” in the manual.

Commands understand version prefixes, such as ‘gcc-5’ for ‘gcc-5.1.0’

‘guix package –search’ now sorts packages by name and version

Substitute information is now fetched using HTTP pipelining

Before that the “substituter” used threads. Using HTTP pipelining means that resource consumption is reduced on both the client and server sides. As a side effect, a progress report is displayed as substitute info is downloaded.

‘guix package’ warns when a $GUIX_PACKAGE_PATH module cannot be loaded

New ‘–sources’ option to ‘guix build’

New Bash completion file, installed in $sysconfdir/bash_completion.d

New ‘guix import hackage’ command

See “Invoking guix import” in the manual.

‘guix lint’ supports FTP for the ‘source’ and ‘home-page’ checkers

‘guix lint’ has a new ‘derivation’ checker

‘guix import cpan’ better handles dependencies and licenses

Packages are now build in an environment with a UTF-8 locale

Distribution

C library’s name service switch (NSS) is now fully configurable

See “Name Service Switch” in the manual.

New services: wicd, lirc, colord, upower, console-keymap, postgresql

Xorg service supports new drivers, such as Nouveau

lsh service has new options, initializes its seed by default

/etc/ssl symlink is created, for X.509 certificates

See “X.509 Certificates” in the manual.

‘guix system’ reports duplicate service identifiers

New /etc/bashrc file that loads Bash completion when available

SLiM service uses sessions from /run/current-system/profile/share/xsessions

See “X Window” in the manual.

The Linux “YAMA” restricting policy on PTRACE_ATTACH is now disabled

/etc/shells now lists all the user accounts’ shells

/gnu/store is now remounted read-only, to avoid accidental modification

/etc/profile is sources each profile’s ‘etc/profile’ file

718 new packages

aalib, aarddict, acpid, agg, aisleriot, alsa-modular-synth, ant, ardour, ardour, argtable, arpack-ng, aspell-dict-ru, aubio, audacity, avidemux, avidemux, azr3, bamtools, bash-completion, bedops, bind-utils, bluez, bool, brdf-explorer, bwa, calf, calibre, catch, ccl, chibi-scheme, chmlib, clalsadrv, clipper, clisp, clustal-omega, colord, colordiff, cpufrequtils, crossmap, csound, ctl, cunit, cutadapt, desktop-file-utils, djvulibre, dnsmasq, dosfstools, double-conversion, dovecot, ecl, efl, elementary, elogind, emacs-no-x, emotion-generic-players, enca, enlightenment, evas-generic-loaders, exim, express, extremetuxracer, faad2, fastx-toolkit, fcitx, fdupes, flexbar, fluidsynth, font-adobe-source-han-sans, font-wqy-zenhei, freepats, gambit-c, ganv, geda-gaf, geoclue, geocode-glib, ghc, ghc-case-insensitive, ghc-containers, ghc-fgl, ghc-hashable, ghc-http, ghc-hunit, ghc-mtl, ghc-network, ghc-network-uri, ghc-parallel, ghc-parsec, ghc-paths, ghc-primitive, ghc-quickcheck, ghc-random, ghc-split, ghc-stm, ghc-syb, ghc-text, ghc-tf-random, ghc-unordered-containers, ghc-vector, ghc-zlib, girara, gitolite, glib-networking, glibc-locales, glibc-utf8-locales, glibc-utf8-locales, glm, gnome-mines, gnome-settings-daemon, gnome-terminal, gnucash, gnugo, grit, gst-libav, guile-minikanren, guile-reader, hdparm, hisat, htseq, htsjdk, hunspell, hyphen, i2c-tools, ibus, icecast, icedtea6, icedtea7, ilmbase, ir, isync, ixion, jack2, jalv, jansson, jemalloc, julia, key-mon, ladspa, lash, leptonica, liba52, libabw, libaio, libass, libavc1394, libbluray, libbs2b, libcaca, libcap-ng, libcdio-paranoia, libcdr, libdca, libdv, libdvdcss, libe-book, libedit, libepoxy, libetonyek, libexttextcat, libffcall, libfreehand, libgnomecanvasmm, libgtextutils, libgweather, libical, libiec61883, libinput, liblo, libmodplug, libmspack, libmspub, libmtp, libmwaw, libodfgen, libpagemaker, libqtxdg, libquvi, libquvi-scripts, libraw1394, librecad, librep, librevenge, libsbsms, libsecret, libshout, libsoup, libsrtp, libtocc, libungif, libva, libvisio, libwacom, libwebp, libwpd, libwpg, libwps, libxklavier, libxmp, libyaml, lilv, lilypond, lirc, livestreamer, ltrace, lv2, lv2-mda-epiano, lv2-mda-piano, lvtk, macs, mariadb, markdown, mdadm, mdds, mesa-headers, mesa-utils, miredo, miso, moreutils, mpd-mpc, mpdscribble, mplayer2, mpv, muparser, mythes, ncbi-vdb, ngircd, ngs-java, ngs-sdk, npth, nss-certs, openblas, openexr, openlibm, openntpd, openspecfun, openvpn, orc, orcus, p11-kit, patchage, pbtranscript-tofu, pcb, perl-algorithm-c3, perl-algorithm-diff, perl-aliased, perl-apache-logformat-compiler, perl-appconfig, perl-b-hooks-endofscope, perl-base, perl-bit-vector, perl-boolean, perl-cache-cache, perl-cache-fastmmap, perl-capture-tiny, perl-carp-assert, perl-carp-assert-more, perl-carp-clan, perl-catalyst-action-renderview, perl-catalyst-action-rest, perl-catalyst-component-instancepercontext, perl-catalyst-devel, perl-catalyst-dispatchtype-regex, perl-catalyst-model-dbic-schema, perl-catalyst-plugin-accesslog, perl-catalyst-plugin-authentication, perl-catalyst-plugin-captcha, perl-catalyst-plugin-configloader, perl-catalyst-plugin-session, perl-catalyst-plugin-session-state-cookie, perl-catalyst-plugin-session-store-fastmmap, perl-catalyst-plugin-stacktrace, perl-catalyst-plugin-static-simple, perl-catalyst-runtime, perl-catalyst-traitfor-request-proxybase, perl-catalyst-view-download, perl-catalyst-view-json, perl-catalyst-view-tt, perl-catalystx-component-traits, perl-catalystx-roleapplicator, perl-catalystx-script-server-starman, perl-cgi-simple, perl-cgi-struct, perl-class-accessor, perl-class-accessor-chained, perl-class-accessor-grouped, perl-class-c3, perl-class-c3-adopt-next, perl-class-c3-componentised, perl-class-data-inheritable, perl-class-date, perl-class-factory-util, perl-class-inspector, perl-class-load, perl-class-load-xs, perl-class-method-modifiers, perl-class-methodmaker, perl-class-singleton, perl-class-tiny, perl-class-unload, perl-class-xsaccessor, perl-common-sense, perl-compress-raw-bzip2, perl-compress-raw-zlib, perl-config-any, perl-config-autoconf, perl-config-general, perl-context-preserve, perl-cpan-meta, perl-cpan-meta-check, perl-cpan-meta-requirements, perl-cpan-meta-yaml, perl-cpanel-json-xs, perl-crypt-randpasswd, perl-data-dump, perl-data-dumper-concise, perl-data-optlist, perl-data-page, perl-data-stream-bulk, perl-data-tumbler, perl-data-visitor, perl-date-calc, perl-date-calc-xs, perl-datetime, perl-datetime-event-ical, perl-datetime-event-recurrence, perl-datetime-format-builder, perl-datetime-format-flexible, perl-datetime-format-http, perl-datetime-format-ical, perl-datetime-format-natural, perl-datetime-format-strptime, perl-datetime-locale, perl-datetime-set, perl-datetime-timezone, perl-datetimex-easy, perl-dbd-pg, perl-dbix-class, perl-dbix-class-cursor-cached, perl-dbix-class-introspectablem2m, perl-dbix-class-schema-loader, perl-devel-caller, perl-devel-checkbin, perl-devel-globaldestruction, perl-devel-lexalias, perl-devel-overloadinfo, perl-devel-partialdump, perl-devel-stacktrace, perl-devel-stacktrace-ashtml, perl-devel-symdump, perl-digest-hmac, perl-digest-md5-file, perl-dist-checkconflicts, perl-email-abstract, perl-email-address, perl-email-date-format, perl-email-messageid, perl-email-mime, perl-email-mime-contenttype, perl-email-mime-encodings, perl-email-sender, perl-email-simple, perl-error, perl-eval-closure, perl-exception-class, perl-exporter-tiny, perl-extutils-config, perl-extutils-helpers, perl-extutils-installpaths, perl-file-changenotify, perl-file-copy-recursive, perl-file-find-rule, perl-file-find-rule-perl, perl-file-homedir, perl-file-remove, perl-file-sharedir, perl-file-sharedir-install, perl-file-slurp, perl-file-temp, perl-gd, perl-gd-securityimage, perl-getopt-long-descriptive, perl-hash-merge, perl-hash-multivalue, perl-html-form, perl-html-lint, perl-html-tree, perl-http-body, perl-http-cookiejar, perl-http-parser, perl-http-parser-xs, perl-http-request-ascgi, perl-http-server-simple, perl-http-tiny, perl-image-magick, perl-import-into, perl-inc-latest, perl-io-compress, perl-io-interactive, perl-io-socket-ip, perl-io-stringy, perl-ipc-run, perl-ipc-sharelite, perl-json, perl-json-any, perl-json-maybexs, perl-json-xs, perl-lingua-en-findnumber, perl-lingua-en-inflect, perl-lingua-en-inflect-number, perl-lingua-en-inflect-phrase, perl-lingua-en-number-isordinal, perl-lingua-en-tagger, perl-lingua-en-words2nums, perl-lingua-pt-stemmer, perl-lingua-stem, perl-lingua-stem-fr, perl-lingua-stem-it, perl-lingua-stem-ru, perl-lingua-stem-snowball-da, perl-list-allutils, perl-list-moreutils, perl-lwp-protocol-https, perl-lwp-useragent-determined, perl-memoize-expirelru, perl-mime-types, perl-module-build, perl-module-build-tiny, perl-module-find, perl-module-implementation, perl-module-install, perl-module-runtime, perl-module-runtime-conflicts, perl-module-scandeps, perl-module-util, perl-moo, perl-moose, perl-moosex-emulate-class-accessor-fast, perl-moosex-getopt, perl-moosex-markasmethods, perl-moosex-methodattributes, perl-moosex-nonmoose, perl-moosex-params-validate, perl-moosex-relatedclassroles, perl-moosex-role-parameterized, perl-moosex-role-withoverloading, perl-moosex-semiaffordanceaccessor, perl-moosex-strictconstructor, perl-moosex-traits-pluggable, perl-moosex-types, perl-moosex-types-datetime, perl-moosex-types-datetime-morecoercions, perl-moosex-types-loadableclass, perl-moox-types-mooselike, perl-mro-compat, perl-namespace-autoclean, perl-namespace-clean, perl-net-amazon-s3, perl-net-server, perl-number-compare, perl-object-signature, perl-package-anon, perl-package-deprecationmanager, perl-package-stash, perl-package-stash-xs, perl-padwalker, perl-par-dist, perl-params-util, perl-params-validate, perl-parent, perl-parse-cpan-meta, perl-path-class, perl-plack, perl-plack-middleware-fixmissingbodyinredirect, perl-plack-middleware-methodoverride, perl-plack-middleware-removeredundantbody, perl-plack-middleware-reverseproxy, perl-plack-test-externalserver, perl-pod-coverage, perl-posix-strftime-compiler, perl-readonly, perl-role-tiny, perl-safe-isa, perl-scalar-list-utils, perl-scope-guard, perl-set-infinite, perl-set-scalar, perl-snowball-norwegian, perl-snowball-swedish, perl-spiffy, perl-sql-abstract, perl-sql-splitstatement, perl-sql-tokenizer, perl-stream-buffered, perl-strictures, perl-string-camelcase, perl-string-rewriteprefix, perl-string-toidentifier-en, perl-sub-exporter, perl-sub-exporter-progressive, perl-sub-identify, perl-sub-install, perl-sub-name, perl-sub-uplevel, perl-svg, perl-sys-hostname-long, perl-task-weaken, perl-template-timer, perl-template-toolkit, perl-term-encoding, perl-term-progressbar, perl-term-progressbar-quiet, perl-term-progressbar-simple, perl-term-readkey, perl-test-base, perl-test-cleannamespaces, perl-test-differences, perl-test-directory, perl-test-exception, perl-test-fatal, perl-test-harness, perl-test-leaktrace, perl-test-longstring, perl-test-mockobject, perl-test-mocktime, perl-test-most, perl-test-output, perl-test-pod, perl-test-pod-coverage, perl-test-requires, perl-test-sharedfork, perl-test-tcp, perl-test-trap, perl-test-utf8, perl-test-warn, perl-test-warnings, perl-test-without-module, perl-test-writevariants, perl-test-www-mechanize, perl-test-www-mechanize-catalyst, perl-test-www-mechanize-psgi, perl-test-yaml, perl-text-aligner, perl-text-balanced, perl-text-csv, perl-text-diff, perl-text-german, perl-text-glob, perl-text-simpletable, perl-text-table, perl-text-unidecode, perl-throwable, perl-tie-ixhash, perl-tie-toobject, perl-time-duration, perl-time-duration-parse, perl-time-local, perl-time-mock, perl-timedate, perl-tree-simple, perl-tree-simple-visitorfactory, perl-try-tiny, perl-types-serialiser, perl-universal-can, perl-universal-isa, perl-uri-find, perl-uri-ws, perl-variable-magic, perl-www-mechanize, perl-xml-libxml, perl-xml-namespacesupport, perl-xml-sax, perl-xml-sax-base, perl-yaml, perl-yaml-tiny, ploticus, polipo, portaudio, pumpa, python-apsw, python-biopython, python-cssselect, python-dbus, python-decorator, python-drmaa, python-h5py, python-lxml, python-netifaces, python-networkx, python-pyxdg, python-pyyaml, python-requests, python-scikit-learn, python-singledispatch, python-sphinx-rtd-theme, python-sympy, python-testlib, python-tornado, python-urwid, python-waf, python2-apsw, python2-backport-ssl-match-hostname, python2-biopython, python2-bx-python, python2-cssselect, python2-cssutils, python2-dbus, python2-decorator, python2-drmaa, python2-h5py, python2-lxml, python2-netifaces, python2-networkx, python2-pbcore, python2-pil, python2-pybedtools, python2-pycairo, python2-pyxdg, python2-pyyaml, python2-rdflib, python2-rsvg, python2-scikit-learn, python2-singledispatch, python2-six, python2-sphinx-rtd-theme, python2-sympy, python2-testlib, python2-tornado, python2-urwid, python2-waf, python2-xlib, quvi, r, rdesktop, recode, rep-gtk, rseqc, rsound, rubberband, ruby-hoe, rxvt-unicode, s2tc, sawfish, sbcl, seqan, serd, serf, sfml, shogun, sloccount, smartmontools, snakemake, soil, solfege, sord, soundtouch, soxr, sra-tools, sratom, srt2vtt, star, starman, stow, subread, suil, suitesparse, swt, sysfsutils, sysfsutils, taskwarrior, tbb, terminology, tesseract-ocr, texlive-bin, texlive-texmf, the-silver-searcher, tidy, tig, timidity++, tocc, totem-pl-parser, tree, tuxguitar, tvtime, twolame, txt2man, unqlite, upower, utf8proc, vamp, vapoursynth, vcftools, vigra, wavpack, webkitgtk, webkitgtk, weex, wicd, wpa-supplicant-light, wxwidgets, wxwidgets, xbindkeys, xcape, xdg-utils, xf86-input-libinput, xf86-input-wacom, xf86-video-nouveau, xfce, xmp, xosd, xournal, xvid, zathura, zathura-cb, zathura-djvu, zathura-pdf-poppler, zathura-ps, zeromq, zita-alsa-pcmi, zita-convolver

189 package updates

acpica-20150410, apl-1.5, apr-1.5.2, arb-2.3.0, at-spi2-atk-2.16.0, at-spi2-core-2.16.0, atk-2.16.0, autogen-5.18.5, bison-3.0.4, boost-1.57.0, cairo-1.14.2, ccrtp-2.1.2, check-0.9.14, clang-3.6.0, cmake-3.2.2, complexity-1.2, cups-filters-1.0.68, curl-7.42.1, dbus-1.8.16, dbus-glib-0.104, dejagnu-1.5.3, docbook-xml-4.4, docbook-xml-4.5, e2fsck-static-1.42.12, e2fsprogs-1.42.12, ed-1.11, eigen-3.2.4, elfutils-0.161, emacs-24.5, emacs-no-x-toolkit-24.5, exo-0.10.3, ffmpeg-2.6.2, fish-2.1.2, flac-1.3.1, flint-2.4.5, fltk-1.3.3, freetype-2.5.5, garcon-0.4.0, gcc-5.1.0, gcc-toolchain-5.1.0, gdb-7.9, geiser-0.7, glib-2.44.0, glibc-2.21, glibc-2.21, glibc-stripped-tarball-2.21, glibmm-2.44.0, global-6.4, gnome-desktop-3.16.0, gnome-icon-theme-3.12.0, gnome-themes-standard-3.16.0, gnu-pw-mgr-1.3, gnubik-2.4.2, gnumach-headers-1.5, gnunet-0.10.1, gnupg-1.4.19, gnupg-2.0.27, gnupg-2.1.4, gnutls-3.4.0, gobject-introspection-1.44.0, gpgme-1.5.4, gsettings-desktop-schemas-3.16.0, gst-plugins-base-1.4.5, gst-plugins-good-1.4.5, gstreamer-1.4.5, gtk+-3.16.2, gtkmm-2.24.4, gtkmm-3.16.0, guile-ssh-0.7.2, guix-0.8.1, guix-0.8.1.fc34dee, help2man-1.46.6, httpd-2.4.12, hurd-headers-0.6, icecat-31.6.0-gnu1, icu4c-55.1, imagemagick-6.9.0-4, imlib2-1.4.7, inetutils-1.9.3, inkscape-0.91, isc-dhcp-4.3.1, itstool-2.0.2, kbd-2.0.2, libgcrypt-1.6.3, libgpg-error-1.18, libidn-1.30, libltdl-2.4.6, libmicrohttpd-0.9.40, libmikmod-3.3.7, libotr-4.1.0, libsigc++-2.4.1, libtasn1-4.5, libtool-2.4.6, libunistring-0.9.5, libuv-1.4.2, libvorbis-1.3.5, libxfce4ui-4.12.0, libxfce4util-4.12.1, libxfont-1.5.1, lightning-2.1.0, linux-libre-4.0.2, linux-libre-headers-3.14.37, llvm-3.6.0, lua-5.2.3, man-pages-3.82, mesa-10.5.4, mig-1.5, minetest-0.4.12, moe-1.7, mpc-1.0.3, mpd-0.19.9, mu-0.9.12, nano-2.4.1, ncmpcpp-0.6.2, nettle-3.1, nginx-1.8.0, node-0.12.2, notmuch-0.19, nspr-4.10.8, nss-3.18, ntp-4.2.8p2, ocrad-0.25, octave-3.8.2, openconnect-7.05, openjpeg-2.0.1, openjpeg-2.1.0, openldap-2.4.40, openssh-6.8p1, openssl-1.0.2a, pangomm-2.36.0, parallel-20150422, pari-gp-2.7.3, patch-2.7.5, perf-4.0.2, perl-libwww-6.13, perl-net-http-6.07, perl-net-ssleay-1.68, perl-test-simple-1.001014, perl-uri-1.67, pinentry-0.9.0, pius-2.0.11, podofo-0.9.3, poppler-0.32.0, postgresql-9.3.6, pulseaudio-6.0, python-3.4.3, python-pillow-2.7.0, python-pygobject-3.16.1, python-setuptools-12.1, python-wrapper-3.4.3, python2-dateutil-2.2, python2-pillow-2.7.0, python2-pygobject-3.16.1, python2-setuptools-12.1, qt-5.4.1, ruby-2.2.2, samba-3.6.25, scons-2.3.4, sdl2-2.0.3, sharutils-4.15.1, sipwitch-1.9.7, slock-1.2, source-highlight-3.1.8, sqlite-3.8.9, subversion-1.8.13, texinfo-5.2, thunar-1.6.6, thunar-volman-0.8.1, tor-0.2.5.12, tumbler-0.1.31, tzdata-2015c, ucommon-6.3.1, vala-0.28.0, valgrind-3.10.1, vlc-2.2.0, vte-0.40.0, wget-1.16.3, wine-1.7.40, wpa-supplicant-2.4, xboard-4.8.0, xfce4-appfinder-4.12.0, xfce4-panel-4.12.0, xfce4-session-4.12.0, xfce4-settings-4.12.0, xfconf-4.12.0, xfdesktop-4.12.0, xfwm4-4.12.0, xorg-server-1.16.4, xterm-317

Programming interfaces

New (guix build gremlin) to parse and validate ELF dynamic link info

(guix build-system gnu) has a new ‘validate-runpath’ phase

This phase reads the dynamic entries of ELF files and reports libraries listed as NEEDED that are not found in the RUNPATH.

New (gnu services desktop) module and ‘%desktop-services’ variable

New (guix cvs-download) module, for CVS checkouts

New (guix build-system waf) module, for the Waf build system

New (guix build-system haskell) module, to build Haskell packages

(guix build-system gnu) now supports zip archives

New convenience syntax ‘modify-phases’ added in (guix build utils)

The ‘ld’ wrapper more finely determines whether to use ‘-rpath’

(guix gexp) exports ‘gexp-input’ to describe input unambiguously

The ‘define-gexp-compiler’ form allows (guix gexp) to be extended

New ‘local-file’ constructor exported by (guix gexp)

Noteworthy bug fixes

Profiles created with ‘guix package -p’ as indirect GC roots

Before that they were made permanent GC roots–i.e., uncollectable.

‘guix package’ distinguishes downgrades from upgrades

Handle HTTP redirects to relative URI references

(http://bugs.gnu.org/19840)

Downloads now honor the ‘http_proxy’ environment variable

(http://bugs.gnu.org/20402)

‘–no-*’ options are now always correctly handled

(http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00702.html)

SLiM no longer leaks open file descriptors

Don’t compare <pam-service> objects with ‘equal?’

(http://bugs.gnu.org/20037)

x86_64 and i686 bootstrap binaries updated (http://bugs.gnu.org/19780)

‘find-files’ no longer follows symlinks (http://bugs.gnu.org/20081)

libc message catalog (‘libc.mo’) is now installed

libstdc++ has appropriate RUNPATH (http://bugs.gnu.org/20358)

‘dhcp-client-service’ now correctly tracks dhclient’s PID

Native language support

New translations: da (Danish)

Updated translations: eo

Changes in 0.8.1 (since 0.8)

Package management

New ‘–share’ and ‘–expose’ options for ‘guix system vm’

See “Invoking guix system” in the manual.

Emacs mode now automatically loads newly installed Emacs packages

See “Emacs Initial Setup” in the manual.

‘guix-daemon’ now defaults to ‘–cores=0 –jobs=1’

In other words, at any given time, only one derivation is being built or substituted, and it can use as many cores as available. Before, there could be N derivations using N cores, which was obviously not desirable.

Command-line tools support the ‘GUIX_BUILD_OPTIONS’ environment variable

See “Invoking guix build” in the manual.

‘guix environment’ is faster

New ‘–recursive’ option for ‘guix archive’

See “Invoking guix archive” in the manual.

Missing patches required by a package definition are gracefully reported

‘guix lint’ supports additional checkers

The new checkers are ‘gnu-description’, ‘home-page’, and ‘source’. See “Invoking guix lint” in the manual.

New CPAN importer for ‘guix import’

See “Invoking guix import” in the manual.

Distribution

USB installation image has more tools

Tools added since 0.8: wpa_supplicant, cryptsetup, and iw.

Linux kernel module dependencies are automatically handled

Before that, all the modules needed in the initrd would need to be explicitly listed, including their dependencies, and in topological order.

Font packages now all have a name starting with ‘font-’

See “Fonts” in the manual.

Shell startup files have been cleaned up

/etc/profile contains only environment variable definitions, which may also be used when running a different shell. The skeletons for user’s ‘.bash_profile’ and ‘.bashrc’ files behave as documented in the Bash manual. Zsh is supported.

The ‘root’ account gets a copy of the account skeleton files

Before that, the skeleton files would only be copied to non-root accounts.

The name service cache daemon (nscd) is configurable

By default it aggressively caches host and service lookups. See “Base Services” in the manual.

Available locale definitions are now declared in ‘operating-system’

Before, the ‘glibc’ package would contain all the existing locales, as well as the ‘locale-archive’ file, amounting to 110 MiB. See “Locales” in the manual.

SLiM sessions are configurable

Pressing F1 in the SLiM graphical log-in screen allows users to choose among the pre-configured session types. See “X Window” in the manual.

Man pages and Info files are systematically gzip-compressed

‘gnu-build-system’ ensures that documentation is in share/{man,info}

If a package installs to $prefix/{man,info}, this is automatically fixed to be $prefix/share/{man,info}.

‘strip’ is invoked only on ELF files and ‘ar’ archives

‘libtool’ and ‘libltdl’ are now separate packages

Emacs mode is readily usable on the Guix System Distribution

Substitutes are now enabled by default on freshly installed systems

164 new packages

abcde, astyle, avr-libc, bbdb, bedtools, bowtie, bullet, c-reduce, cd-discid, cgal, clang, claws-mail, cups, cups-filters, cups-minimal, dconf, delta, dmenu, eigen, emms, exo, fastjar, font-bitstream-vera, font-dejavu, font-gnu-freefont-ttf, font-liberation, font-terminus, fvwm, garcon, gcc-cross-arm-linux-gnueabihf, gcc-cross-sans-libc-avr, gcj, getmail, git-flow, git-manpages, git-test-sequence, glew, glulxe, gourmet, gst-plugins-good, gtk-xfce-engine, hexchat, ijs, iw, jack, json-glib, libdvdnav, libdvdread, libetpan, libevdev, libltdl, libtorrent, libupnp, libwnck, libwnck, libxfce4ui, libxfce4util, libxshmfence, libyubikey, llvm, lrdf, mg, mp3info, msmtp, ncftp, nginx, ninja, nss, openbox, perl-benchmark-timer, perl-clone, perl-digest-sha1, perl-exporter-lite, perl-file-which, perl-getopt-tabular, perl-ipc-run3, perl-probe-perl, perl-regexp-common, perl-sys-cpu, perl-test-deep, perl-test-nowarnings, perl-test-script, perl-test-simple, perl-test-tester, pflask, python-cairocffi, python-cffi, python-distutils-extra, python-html5lib, python-ipython, python-isodate, python-matplotlib, python-numpy, python-numpydoc, python-pillow, python-pycairo, python-pycparser, python-pygobject, python-pyparsing, python-pyqt, python-pysam, python-rdflib, python-scipy, python-sip, python-sqlalchemy, python-xcffib, python2-cairocffi, python2-cffi, python2-distutils-extra, python2-elib.intl, python2-html5lib, python2-ipython, python2-isodate, python2-matplotlib, python2-numpy, python2-numpydoc, python2-pillow, python2-py2cairo, python2-pycparser, python2-pygobject, python2-pygtk, python2-pyparsing, python2-pyqt, python2-pysam, python2-scipy, python2-sip, python2-sqlalchemy, python2-xcffib, qpdf, retroarch, rtorrent, samtools, shflags, slang, slock, socat, startup-notification, sxiv, taglib, telepathy-glib, thunar, thunar-volman, tre, tumbler, vala, vte, vte, wine, wmctrl, xclip, xdotool, xf86-video-geode, xfce4-appfinder, xfce4-battery-plugin, xfce4-panel, xfce4-session, xfce4-settings, xfce4-terminal, xfconf, xfdesktop, xfwm4, xinit, ykclient, zerofree

222 package updates

apr-util-1.5.4, atk-2.15.3, automake-1.15, bash-4.3.33, bash-light-4.3.33, bdftopcf-1.0.4, binutils-2.25, binutils-static-stripped-tarball-2.25, cairo-1.12.18, cairomm-1.11.2, ccrtp-2.1.1, curl-7.40.0, dbus-1.8.12, dbus-glib-0.102, ddrescue-1.19, dri2proto-2.8, e2fsck-static-1.42.11, e2fsprogs-1.42.11, eudev-2.1.1, ffmpeg-2.5.3, file-5.22, fish-2.1.1, fontconfig-2.11.92, fontsproto-2.1.3, freeipmi-1.4.8, gcc-cross-mips64el-linux-gnuabi64-4.8.4, gcc-cross-sans-libc-xtensa-elf-4.8.4, gcc-objc++-4.8.4, gcc-objc-4.8.4, gcc-stripped-tarball-4.8.4, gccgo-4.8.4, gcl-2.6.12, gd-2.1.1, gdb-7.8.2, gdk-pixbuf-2.31.1, gettext-0.19.4, gfortran-4.8.4, ghostscript-9.14.0, ghostscript-with-x-9.14.0, gimp-2.8.14, git-2.2.1, glib-2.42.1, glibmm-2.42.0, global-6.3.3, glproto-1.4.17, gnutls-3.2.21, gobject-introspection-1.42.0, gp2c-0.0.9pl2, grep-2.21, groff-1.22.3, gss-1.0.3, gst-plugins-base-1.0.10, gtk+-3.14.7, gtkmm-3.14.0, guix-0.8, guix-0.8.4ad8789, help2man-1.46.4, iceauth-1.0.6, icu4c-54.1, inkscape-0.48.5, inputproto-2.3.1, lcms-2.6, lftp-4.6.1, libassuan-2.2.0, libcdio-0.93, libdmx-1.1.3, libdrm-2.4.58, libfontenc-1.1.2, libfs-1.0.6, libgcrypt-1.6.2, libgpg-error-1.17, libice-1.0.9, libjpeg-9a, libksba-1.3.2, libmicrohttpd-0.9.39, libnl-3.2.25, libpciaccess-0.13.2, libpeas-1.12.1, libpng-1.5.21, librsvg-2.40.6, libsm-1.2.2, libtasn1-4.2, libtool-2.4.5, libx11-1.6.2, libxau-1.0.8, libxaw-1.0.12, libxcb-1.11, libxcomposite-0.4.4, libxcursor-1.1.14, libxdamage-1.1.4, libxext-1.3.3, libxfixes-5.0.1, libxfont-1.5.0, libxft-2.3.2, libxi-1.7.4, libxinerama-1.1.3, libxkbcommon-0.5.0, libxmu-1.1.2, libxp-1.0.2, libxpm-3.5.11, libxrandr-1.4.2, libxrender-0.9.8, libxres-1.0.7, libxt-1.1.4, libxtst-1.2.2, libxv-1.0.10, libxvmc-1.0.8, libxxf86dga-1.1.4, libxxf86vm-1.1.3, linux-libre-3.18.4, lua-5.2.3, makedepend-1.0.5, mercurial-3.2.4, mesa-10.4.0, minetest-0.4.11, mkfontscale-1.1.1, neon-0.30.0, nix-1.8, ntp-4.2.8, ocrad-0.24, openjpeg-2.0.1, openssl-1.0.1k, pango-1.36.8, parallel-20150122, pari-gp-2.7.2, patchelf-0.8, pcre-8.36, perf-3.18.4, phonon-4.8.3, pixman-0.32.6, pkg-config-0.28, poppler-0.28.1, python-3.3.5, python-dateutil-2.2, python2-dateutil-2.2, qemu-2.2.0, qemu-headless-2.2.0, qt-5.4.0, racket-6.1.1, randrproto-1.4.0, raptor2-2.0.15, rasqal-0.9.33, rcs-5.9.4, ruby-2.1.5, sessreg-1.0.8, sipwitch-1.9.3, sqlite-3.8.7.4, tiled-0.11.0, tmux-1.9a, tzdata-2014j, ucommon-6.2.3, util-linux-2.25.2, util-macros-1.19.0, vera-1.22, videoproto-2.3.2, wget-1.16.1, xauth-1.0.9, xbacklight-1.2.1, xcb-proto-1.11, xcb-util-0.4.0, xcb-util-image-0.4.0, xcb-util-keysyms-0.4.0, xcb-util-renderutil-0.3.9, xcb-util-wm-0.4.1, xcursor-themes-1.0.4, xcursorgen-1.0.6, xdpyinfo-1.3.1, xev-1.2.1, xextproto-7.3.0, xf86-input-evdev-2.8.4, xf86-input-joystick-1.6.2, xf86-input-keyboard-1.8.0, xf86-input-mouse-1.9.1, xf86-input-synaptics-1.8.1, xf86-video-ark-0.7.5, xf86-video-ati-7.5.0, xf86-video-cirrus-1.5.2, xf86-video-fbdev-0.4.4, xf86-video-glint-1.2.8, xf86-video-i128-1.3.6, xf86-video-intel-2.21.15, xf86-video-mach64-6.9.4, xf86-video-mga-1.6.3, xf86-video-neomagic-1.2.8, xf86-video-nv-2.1.20, xf86-video-openchrome-0.3.3, xf86-video-r128-6.9.2, xf86-video-savage-2.3.7, xf86-video-siliconmotion-1.7.7, xf86-video-sis-0.10.7, xf86-video-suncg6-1.1.2, xf86-video-sunffb-1.2.2, xf86-video-tdfx-1.4.5, xf86-video-tga-1.2.2, xf86-video-trident-1.3.6, xf86-video-vesa-2.3.3, xf86-video-vmware-13.0.2, xf86-video-voodoo-1.2.5, xhost-1.0.6, xinput-1.6.1, xkbcomp-1.3.0, xkbutils-1.0.4, xkeyboard-config-2.13, xkill-1.0.4, xlockmore-5.45, xlsclients-1.1.3, xmodmap-1.0.8, xnee-3.19, xorg-server-1.16.3, xprop-1.2.2, xproto-7.0.26, xrandr-1.4.3, xrdb-1.1.0, xrefresh-1.0.5, xset-1.2.3, xsetroot-1.1.1, xtrans-1.3.5, xvinfo-1.1.2, xwd-1.0.6, xwininfo-1.1.3, youtube-dl-2015.01.23.4, zsh-5.0.7

Programming interfaces

New (guix elf) and (gnu build linux-modules) modules

These provide resolution of Linux kernel module dependencies. See https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00670.html.

‘glib-or-gtk-build-system’ has been extended

It now handles GIO and XDG themes, takes care of generating the icon cache, and has a new #:glib-or-gtk-wrap-excluded-outputs parameter.

‘search-path-specification’ can now specify non-directory items

For example, the ‘search-path-specification’ attached to libxml2 specifies a file pattern, which allows all the ‘catalog.xml’ files to be added to the ‘XML_CATALOG_FILES’ environment variable.

(guix build syscalls) has more network-related procedures

‘set-network-interface-flags’, ‘set-network-interface-address’, ‘network-interface-address’, and ‘configure-network-interface’ are ioctl bindings used by network-handling dmd services.

(guix monads) refactoring

‘%store-monad’ is now in (guix store) and is an alias for the new ‘%state-monad’ provided by (guix monads). Monadic procedures dealing with the store, with derivations, and with packages have been moved from (guix monads) to (guix store), (guix derivations), and (guix packages). See “The Store Monad” in the manual.

(guix build utils) provides ‘parallel-job-count’

‘wrap-program’ preserves the original argv[0]

New (guix sets) module

‘define-record-type*’ now support “delayed” fields

Noteworthy bug fixes

X session is executed from a login shell (http://bugs.gnu.org/19119)

grub.cfg is now a garbage-collector root (http://bugs.gnu.org/19160)

Substituter progress report properly formatted

(http://bugs.gnu.org/19313)

Document permissions for /gnu/store (http://bugs.gnu.org/19316)

Make sure config.go is newer than config.scm

(http://bugs.gnu.org/19317)

Emacs knows where to find its GLib schemas (http://bugs.gnu.org/19138)

Adjust ‘grub.cfg’ to work on systems with a separate /boot

(http://bugs.gnu.org/19220)

Fix removal of next-to-last item in a profile

(http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html)

Apply patches with “patch –force” (http://bugs.gnu.org/19402)

Extend ‘search-path-specification’ for libxml2-style use cases

(http://bugs.gnu.org/18033)

Search for patches under $GUIX_PACKAGE_PATH (http://bugs.gnu.org/19364)

Use executables from the target inputs in ‘patch-shebangs’

(http://bugs.gnu.org/18895)

guix-daemon now automatically creates ‘…/profiles/per-user’

(http://bugs.gnu.org/19315)

Make /etc/mtab a symlink to /proc/self/mounts

(http://bugs.gnu.org/19491)

Don’t build the mips64el-linux-gnuabi64 cross-compiler on i686

(http://bugs.gnu.org/19598)

Read archive signatures as Latin-1 strings (http://bugs.gnu.org/19610)

Raise an error for references to non-existent outputs

(http://bugs.gnu.org/19630)

Initialize libgcrypt before use (http://bugs.gnu.org/19677)

Native language support

New translations: fr (French), hu (Hungarian)

Updated translation: eo, vi

Changes in 0.8 (since 0.7)

Package management

New visual user interface in Emacs

See “Emacs Interface” in the manual.

New ‘guix environment’ command to produce development environment

See “Invoking guix environment” in the manual.

The ‘guix import’ command has been extended and documented

It can now import packages from pypi.python.org and from GNU. See “Invoking guix import” in the manual.

New ‘guix lint’ command, for use by Guix developers

See “Invoking guix lint” in the manual.

Packages can now be “grafted” with replacements of their dependencies

See “Security Updates” in the manual.

The distribution can be extended with ‘–load-path’ or $GUIX_PACKAGE_PATH

This allows users to maintain their own package definitions, and make them visible to the various user interfaces. See “Package Modules” in the manual.

‘guix package’ better reports package upgrades

‘guix package’ has a new ‘–switch-generation’ option

See “Invoking guix package” in the manual.

‘guix-daemon’ has a new ‘–substitute-urls’ option

See “Invoking guix-daemon” in the manual.

Distribution

The stand-alone operating system now supports Linux mapped devices

See “Mapped Devices” in the manual.

New fields in ‘operating-system’ declarations, better documentation

New fields include ‘hosts-file’, ‘mapped-devices’, and ‘swap-devices’. See “operating-system Reference” in the manual.

New services: ‘dhcp-client-service’, ‘bitlbee-service’, ‘ntp-service’

See “Services” in the manual.

Free firmware can be loaded

This notably enables support for some Atheros-based WiFi devices (ath9k-htc.) See “operating-system Reference” in the manual.

‘grub-configuration’ declarations can now specify a theme

See “GRUB Configuration” in the manual.

The ‘base-initrd’ now has a different signature

Existing uses in ‘operating-system’ declarations need to be updated. See “Initial RAM Disk” in the manual for details.

eudev is now used by default, instead of an old udev release

‘guix system vm’ has a new ‘–full-boot’ option

See “Invoking guix system” in the manual.

The ‘file’ command is now part of the package build environment

Autoconf-generated ‘configure’ scripts for packages using Libtool use ‘file’ to determine the target ABI, notably on MIPS, hence this change.

162 new packages

abiword, acpica, adns, arb, ath9k-htc-firmware, atlas, avrdude, cppunit, dblatex, detox, dfu-programmer, dionysus, direvent, dmidecode, dri3proto, emacs-no-x-toolkit, emacs-w3m, emacs-wget, enchant, eudev, feh, flashrom, flint, fontforge, freedink, freeimage, fribidi, gcc-cross-sans-libc-xtensa-elf, giblib, gnome-themes-standard, gpsbabel, gpscorrelate, graphite2, gtypist, guile-charting, guile-sdl, imake, imlib2, irrlicht, jbig2dec, libpsl, libspiro, libuninameslist, libwmf, lm-sensors, magit, minetest, miscfiles, mozjs, mupdf, nix, nspr, nss-mdns, ntp, nvi, opam, openal, openjpeg, opus-tools, orpheus, ots, oxygen-icons, paredit, perf, perl-archive-zip, perl-dbd-sqlite, perl-dbi, perl-image-exiftool, perl-io-socket-ssl, perl-net-ssleay, perl-www-curl, perl-zip, polkit, polkit-qt, postgresql, potrace, presentproto, python-certifi, python-coverage, python-cython, python-discover, python-docutils, python-exif-read, python-extras, python-fixtures, python-itsdangerous, python-jinja2, python-jsonschema, python-markupsafe, python-mimeparse, python-nose, python-oauthlib, python-py, python-pygments, python-pyjwt, python-pyld, python-pytest, python-scripttest, python-sphinx, python-subunit, python-testrepository, python-testresources, python-testscenarios, python-testtools, python-unidecode, python-unittest2, python-virtualenv, python2-certifi, python2-coverage, python2-cython, python2-discover, python2-docutils, python2-exif-read, python2-extras, python2-fixtures, python2-itsdangerous, python2-jinja2, python2-jsonschema, python2-markupsafe, python2-mimeparse, python2-nose, python2-oauthlib, python2-py, python2-pygments, python2-pyjwt, python2-pyld, python2-pytest, python2-requests, python2-scripttest, python2-sphinx, python2-subunit, python2-testrepository, python2-testresources, python2-testscenarios, python2-testtools, python2-unidecode, python2-unittest2, python2-virtualenv, rrdtool, ruby, ruby, ruby-i18n, sane-backends, scrot, sound-theme-freedesktop, stress, synergy, tdb, terminus-font, testdisk, texi2html, tiled, transfig, unclutter, unixodbc, weechat, wv, xboing, xf86-video-modesetting, xfig, xsensors, zsh

117 package updates

acct-6.6.2, acl-2.2.52, apl-1.4, apr-1.5.1, apr-util-1.5.3, autoconf-2.68, autoconf-2.69, autogen-5.18.4, bash-4.3.30, bash-light-4.3.30, bazaar-2.6.0, bison-2.7, calcurse-3.2.1, ccache-3.1.10, chicken-4.9.0.1, coreutils-8.23, curl-7.37.1, datamash-1.0.6, dbus-1.8.8, docbook-xml-4.2, docbook-xml-4.4, docbook-xml-4.5, emacs-24.4, ffmpeg-2.2.10, ffmpeg-2.4.3, file-5.19, file-5.20, freeipmi-1.4.5, gcc-4.7.4, gcc-4.9.2, gcc-toolchain-4.9.2, gcl-2.6.11, gdb-7.8.1, geiser-0.6, gettext-0.19.3, git-2.1.2, glibc-2.20, glibc-2.20, glibc-stripped-tarball-2.20, global-6.3.2, glpk-4.55, gnupg-1.4.18, gnupg-2.0.26, gnurl-7.37.0, gnutls-3.2.20, gpgme-1.5.1, gst-plugins-base-1.0.10, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-3.9.16, guile-1.8.8, guile-json-0.4.0, guile-ncurses-1.6, guile-ssh-0.7.1, guix-0.7, guix-0.7.48bd76e, hello-2.10, help2man-1.46.3, icecat-31.2.0, libart-lgpl-2.3.21, libassuan-2.1.3, libatomic-ops-7.4.2, libdrm-2.4.33, libffi-3.1, libgc-7.2f, libgc-7.4.2, libgcrypt-1.5.4, libgcrypt-1.6.2, libidn-1.29, libjpeg-9a, libotr-4.0.0, libsodium-1.0.0, libtasn1-4.1, libunistring-0.9.4, libwebsockets-1.3, lightning-2.0.5, linux-libre-3.17.3, lsof-4.88, lua-5.2.3, lvm2-2.02.109, lzip-1.16, make-4.1, maxima-5.34.1, mit-scheme-9.2, mysql-5.1.73, neon-0.30.0, net-base-5.3, nettle-2.7.1, notmuch-0.18.1, openssh-6.7p1, openssl-1.0.1j, parallel-20141022, phonon-4.8.2, pspp-0.8.4, python-3.3.5, python-dateutil-1.5, python2-dateutil-1.5, python2-pyicu-1.8, qt-4.8.6, qt-5.3.2, rcs-5.9.3, readline-6.3, subversion-1.7.18, swig-3.0.2, tar-1.28, texinfo-5.2, tor-0.2.5.10, transmission-2.84, ucommon-6.1.11, valgrind-3.10.0, vlc-2.1.5, wget-1.16, windowmaker-0.95.6, xapian-1.2.18, xf86-video-ati-6.14.6, xpdf-3.04, youtube-dl-2014.09.06

Programming interfaces

New ‘ruby-build-system’, for Ruby packages

See “Build Systems” in the manual.

New ‘glib-or-gtk-build-system’, for packages using GLib schemas

See “Build Systems” in the manual.

‘gnu-build-system’ has a new #:substitutable? parameter

This allows packagers to mark a package as requiring a local build, thus preventing it from being substituted by a pre-built binary.

‘cmake-build-system’ has a new #:build-type parameter

See “Build Systems” in the manual.

The ‘supported-systems’ field of packages is used more consistently

This allows packagers to prevent attempts to build a package on a given architecture when that architecture is known not to be supported. The ‘package-transitive-supported-systems’ procedure returns the intersection of the systems supported by the given package and by its dependencies.

The ‘wrap-program’ procedure can now be called multiple times

New ‘graft-derivations’ and ‘package-grafts’ procedures

They implement “grafts”, as described under “Security Updates” in the manual.

New “bag” intermediate representation for use by build systems

“Bags” are used internally as an intermediate representation between packages and derivations. See “Build Systems” in the manual.

New (guix monad-repl) module, for monadic interaction at the REPL

See “The Store Monad” in the manual.

New (guix build emacs-utils) module, to facilitate building Emacs packages

New (guix tests) module, with tools used by the test suite

The internal ‘guix-register’ command now deduplicates files in store items

Several system modules moved from (guix build …) to (gnu build …)

Also, the (gnu build linux-boot) module has been introduced, with code typically used by initial RAM disks when booting on GNU/Linux-libre.

(guix profiles) provides a representation of package transactions

This factorizes code between ‘guix package’ and the Emacs user interface.

Bootstrapping packages moved to (gnu packages commencement) modules

Bugs fixed

‘guix-daemon’ now really deduplicates store items by default

Deduplication means that identical files found in /gnu/store are stored only once, using hard links. This feature was wrongfully disabled, and is now enabled by default. The former ‘–disable-store-optimization’ option has been renamed to ‘–disable-deduplication’.

‘guix-daemon’ no longer uses ‘vfork’

This could cause problems with ancient Linux kernel.

Fixed compilation of ‘gccgo’ (http://bugs.gnu.org/18101)

‘make clean’ doesn’t delete os-config.tmpl (http://bugs.gnu.org/18243)

Fix handling of periods by fill-paragraph (http://bugs.gnu.org/17468)

Produce a top-level Info ‘dir’ file (http://bugs.gnu.org/18305)

guix offload ignores unreachable machines (http://bugs.gnu.org/18070)

guix offload: Ignore EEXIST when registering a .drv as a GC root

(http://bugs.gnu.org/18115)

perl-tk: Build sequentially (http://bugs.gnu.org/18262)

download: Use the ‘SERVER NAME’ TLS extension when possible

(http://bugs.gnu.org/18526)

libdaemon: Add alternate source URLs (http://bugs.gnu.org/18639)

icu4c: Reinstate RUNPATH on shared libraries

(http://bugs.gnu.org/18695)

nss-mdns: Add alternate source URLs (http://bugs.gnu.org/18704)

download: Add “Accept: /” to the HTTP headers

(http://bugs.gnu.org/18768)

guix-register: Do not attempt to create NIX_STORE_DIR

(http://bugs.gnu.org/18689)

Allow Linux-libre to find our ‘modprobe’ command

(http://bugs.gnu.org/18525)

man-pages: Build sequentially (http://bugs.gnu.org/18701)

Fix intermittent test failures involving GC (http://bugs.gnu.org/18935)

guix import: pypi: Gracefully handle non-existent packages

(http://bugs.gnu.org/18831)

Make sure the shared library has the ‘.so’ extension

(http://bugs.gnu.org/18521)

pull: Use the build procedure provided by the newly-downloaded Guix.

(http://bugs.gnu.org/18534)

WindowMaker no longer pollutes $PATH (http://bugs.gnu.org/18698)

Native language support

New translation: cs (Czech)

Updated translations: de, sr, vi

Changes in 0.7 (since 0.6)

Package management

Binaries for mips64el-linux now available from hydra.gnu.org

These come in addition to the x86_64-linux and i686-linux binaries already provided, thanks to our generous donor and friendly admins. See “Substitutes” in the manual.

‘guix package’ has a new ‘–show’ option

‘guix refresh’ has a new ‘–list-dependent’ option

Programming interfaces

New (guix gexp) module, which implements “G-expressions”

G-expressions are a new mechanism to embed build-side code in host-side code. See “G-Expressions” in the manual.

(gnu system) and related modules now use G-expressions

This greatly simplifies code, and guarantees that build code carries references to the packages or derivations it uses.

‘build-expression->derivation’ is deprecated in favor of G-expressions

The (gnu system) module has been largely augmented and factorized

New (guix build vm) module, support for virtual machine images

New (guix build activation) module, for “system activation”

New (guix build syscalls) module

New (guix build install) and module for whole system installation

New (gnu system install) module, for the installation system

New (gnu system file-systems) module, for ‘file-system’ declarations

New (gnu) module, which aggregates common (gnu …) modules

‘service’ records now have an optional ‘activate’ field

This allows services to specify code to run at system activation time.

GNU distribution

An image to install the GNU system from a USB stick is provided

This is the first time an installation image is provided. See “System Installation” in the manual for details. This is work in progress as noted in “Limitations”. Your feedback and help are welcome!

Support for more parameters in ‘operating-system’ declarations

Operating system declarations can now provide a list of file systems, a list of setuid programs, bootloader options, and more. See “System Configuration” in the manual.

‘guix system’ supports more actions

Newly supported actions are ‘init’, ‘build’, ‘reconfigure’, and ‘disk-image’. See “Invoking guix system” in the manual.

User accounts and groups are created at system activation time

Virtual machine support uses para-virtualized devices

GCC package now has an additional ‘lib’ output, for run-time support libs

GLib package now has a separate “bin” output (http://bugs.gnu.org/17853)

134 new packages

abbaye, aegis, attica, babl, barcode, behave, btar, busybox, ccache, ccrtp, chess, clucene, cmatrix, commoncpp, conkeror, cook, cssc, datamash, diffstat, doxygen, dropbear, dtach, duplicity, e2fsck-static, exosip, fftw-openmpi, fish, gconf, gegl, gimp, gmsh, gnome-mime-data, gnome-vfs, gnumeric, goffice, gsegrafix, guile-opengl, guile-static-stripped, hdup, hwloc, inotify-tools, jrnl, kbd, kmod, lftp, libarchive, libart-lgpl, libbonobo, libbonoboui, libcroco, libdbusmenu-qt, libftdi, libglade, libgnome, libgnomecanvas, libgnomeprint, libgnomeprintui, libgnomeui, libgsf, libidl, libmcrypt, libmhash, librsvg, librsync, libsodium, libuv, libvpx, links, lzop, man-pages, maxima, mcrypt, mosh, mpg123, mplayer, mu, ncmpcpp, node, notmuch, numactl, offlineimap, openmpi, orbit2, osip, pangox-compat, perl-io-tty, petsc, petsc-complex, petsc-complex-openmpi, petsc-openmpi, pingus, podofo, protobuf, pt-scotch, python-enum34, python-keyring, python-lockfile, python-mock, python-parse, python-parse-type, python-parsedatetime, python-pycrypto, python-six, python-tzlocal, python2-lockfile, python2-mock, qjson, qrencode, rasqal, rdiff-backup, rdup, redland, rottlog, scotch, sipwitch, sshfs-fuse, strigi, sudo, superlu, superlu-dist, talkfilters, talloc, tcpdump, tinyproxy, transmission, ucommon, udev, vlc, vtk, wakelan, wireless-tools, wpa-supplicant, xboard, youtube-dl

87 package updates

bitlbee-3.2.2, cursynth-1.5, ddrescue-1.18.1, dfc-3.0.4, dmd-0.2, docbook-xml-4.3, docbook-xml-4.4, docbook-xsl-1.78.1, dvdisaster-0.72.6, ffmpeg-2.3, fftw-3.3.4, fftwf-3.3.4, flac-1.3.0, gawk-4.1.1, gcc-4.7.4, gcc-4.8.3, gcc-4.8.3, gcc-4.9.1, gcc-cross-mips64el-linux-gnuabi64-4.8.3, gcc-objc++-4.8.3, gcc-objc-4.8.3, gcc-stripped-tarball-4.8.3, gcc-toolchain-4.8.3, gcc-toolchain-4.9.1, gccgo-4.8.3, gdb-7.7.1, gettext-0.19.2, gfortran-4.8.3, glib-2.40.0, global-6.3, gmp-6.0.0a, gnupg-1.4.18, gnupg-2.0.25, gnutls-3.2.15, gp2c-0.0.9pl1, grep-2.20, gst-plugins-base-1.0.10, gstreamer-0.10.36, gtk+-3.10.1, gtkmm-2.24.2, guile-2.0.11, guile-2.0.11, guix-0.6, guix-0.6.0ae8c15, htop-1.0.3, icu4c-53.1, imagemagick-6.8.9-0, json-c-0.12, libdrm-2.4.33, libgc-7.2e, libgcrypt-1.5.3, libgpg-error-1.13, libjpeg-8d, libmicrohttpd-0.9.37, libogg-1.3.2, libotr-4.0.0, libtasn1-3.6, libvorbis-1.3.4, lightning-2.0.4, linux-libre-3.15.6, lua-5.1.5, lua-5.2.3, mcron-1.0.8, moe-1.6, nano-2.3.6, neon-0.29.6, nettle-3.0, openssl-1.0.1h, parallel-20140722, pari-gp-2.7.1, pspp-0.8.3, python-2.7.6, python-dateutil-2.2, python2-dateutil-2.2, qemu-2.0.0, qemu-headless-2.0.0, qt-4.8.6, qt-5.2.1, readline-6.2, screen-4.2.1, soprano-2.9.4, texinfo-5.2, texlive-2014, tor-0.2.4.22, wdiff-1.2.2, xorriso-1.3.8, xterm-304

Native language support

New translations: de (German), and hu (Hungarian)

Updated translations: eo, pt_BR, sr, vi

Package descriptions moved from the ‘guix’ text domain to ‘guix-packages’

Bugs fixed

Downloads are now faster (http://bugs.gnu.org/15368)

‘guix authenticate’ properly writes signatures to stdout

(http://bugs.gnu.org/17312)

Progress report of downloads is now properly displayed

Error reporting of pk-crypto errors has been improved

The ‘patches’ field now works for origins with no extension

Synchronization and GC issues fixed in the offload hook

(guix ftp-client) emits USER commands suitable for all servers

Changes in 0.6 (since 0.5)

Package management

Default store directory changed to /gnu/store

Although it is still possible to configure Guix to use the old store directory, we recommend that you start with a fresh install to /gnu/store.

Substitutes from hydra.gnu.org must now be signed and authorized

Support for offloading builds to other Guix machines over SSH

New ‘guix archive’ command

New ‘guix system’ command; it can currently build VM images

‘guix package’ accepts several arguments after -i, -r, and -u

Updating a profile with ‘guix package’ is now noticeably faster

‘guix build’ can override a package’s source with the new ‘–with-source’

‘guix build’ has a new ‘–no-build-hook’ option

‘guix’ commands that build packages have a common set of options

‘guix hash’ has a new ‘–recursive’ option

Daemon no longer bind-mounts the host’s /dev (improves reproducibility)

Programming interfaces

New (guix pk-crypto) and (guix pki) modules for public key cryptography

New #:local-build? parameter for derivations that shouldn’t be offloaded

(gnu system vm) has procedures to build VMs that share the host’s store

New ‘text-file*’ procedure in (guix monads)

System service definitions are now provided by the (guix services) modules

New X and SLiM services in (gnu services xorg)

New (guix git-download) and (guix svn-download) for git/svn checkouts

GNU distribution

91 new packages

a2ps, asciidoc, aspell-dict-en, aspell-dict-eo, aspell-dict-es, aspell-dict-fr, aumix, bitlbee, bogofilter, boost, calcurse, clusterssh, corkscrew, cursynth, docbook-xml, docbook-xsl, elfutils, enscript, fftwf, fltk, fuse, gcc-toolchain, giflib, glade, gmime, gnome-desktop, gnubg, gnubik, gnumach-headers, gnunet, gnuplot, gnurl, gphoto2, gtkglext, guile-json, guile-reader-for-guile_2.0.11, gxmessage, hdf5, hurd-headers, inkscape, iotop, isc-dhcp, iso-codes, jnettop, libatomic-ops, libexif, libgphoto2, libmpcdec, libmpdclient, libotr, libpcap, libpeas, libpipeline, libtirpc, libwebsockets, ltrace, luajit, lynx, man-db, mc, mig, miniupnpc, moe, mpc123, mpd, ncdc, ncdu, ncmpc, neon, neon, octave, opus, paperkey, patchutils, perl-tk, perl-x11-protocol, pinentry, python2-element-tree, python2-pybugz, quilt, source-highlight, stalonetray, trueprint, ttf-dejavu, unionfs-fuse, unionfs-fuse-static, uucp, vera, windowmaker, xapian, xterm

90 package updates

apl-1.3, autoconf-2.68, automake-1.14.1, bash-4.3, bash-light-4.3, bigloo-4.1a, binutils-2.24, binutils-static-stripped-tarball-2.24, coreutils-8.22, curl-7.35.0, ed-1.10, ffmpeg-2.1.4, file-5.18, freeipmi-1.4.1, gcc-4.8.2, gcc-4.8.2, gdb-7.7, gdbm-1.11, gettext-0.18.3.2, glib-2.39.1, glibc-2.19, glibc-stripped-tarball-2.19, global-6.2.12, glpk-4.54, gnu-pw-mgr-1.2, gnupg-1.4.16, gnutls-3.2.12, gp2c-0.0.8pl1, grep-2.18, gst-plugins-base-0.10.36, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-2.24.2, guile-2.0.11, guile-ssh-0.6.0, guile-static-stripped-tarball-2.0.11, guile-wm-1.0, guile-xcb-1.3, guix-0.5, help2man-1.45.1, icu4c-52.1, imagemagick-6.8.8-10, inetutils-1.9.2, lapack-3.5.0, libcdio-0.92, libdrm-2.4.46, libextractor-1.3, libgc-7.2e, libgc-7.4.0, libgcrypt-1.6.1, libjpeg-9, libmicrohttpd-0.9.34, libssh-0.6.3, libtasn1-3.4, lightning-2.0.3, linux-libre-3.13.7, mpc-1.0.2, mutt-1.5.23, net-base-5.2, ocrad-0.23, openssh-6.6p1, openssl-1.0.1g, parallel-20140322, pari-gp-2.7.0, pspp-0.8.2, pulseaudio-5.0, python-2.7.6, python-3.3.5, python-wrapper-3.3.5, python2-pysqlite-2.6.3a, qemu-1.7.1, qemu-headless-1.7.1, qemu-with-multiple-smb-shares-1.7.1, qt-4.8.5, qt-5.2.0, readline-6.3, recutils-1.7, slim-1.3.6, sqlite-3.8.4.3, subversion-1.7.14, texinfo-4.13a, tor-0.2.4.21, tzdata-2014a, units-2.11, valgrind-3.9.0, vim-7.4, wget-1.15, xnee-3.18, xorriso-1.3.6.pl01, zile-2.4.11

New ‘gcc-toolchain’ meta-package, makes it easy to install a GCC tool chain

libc’s Info manual is now installed

Binutils is built with –enable-deterministic-archives

Packages that populated man/man* now populate share/man/man*

Many other packaging improvements

Bugs fixed

‘guix pull’ consumes less memory, compiles in parallel

‘guix package –list-*’ gracefully handles EPIPE when used in a pipeline

‘guix package’ handles collisions between a symlink and a directory

(http://bugs.gnu.org/17083)

HTTP downloads provide a ‘User-Agent’ field (http://bugs.gnu.org/16703)

‘guix package’ no longer shows misleading installed package number

(http://bugs.gnu.org/16484)

Manual suggests ‘useradd –system’ (http://bugs.gnu.org/16289)

Python is built with ctypes support (http://bugs.gnu.org/16569)

HTTP/TLS connection not terminated properly (http://bugs.gnu.org/14884)

Gracefully handle poorly behaved HTTP servers (http://bugs.gnu.org/15733)

Changes in 0.5 (since 0.4)

Package management

GNU package descriptions synchronized with the ‘gnumaint’ repository

In addition to synopses, descriptions of GNU packages are now kept in sync with the ‘gnumaint’ repository, which is the canonical place for GNU package meta-data.

Programming interfaces

Patches are now listed as part of ‘origin’

The ‘origin’ form supports two new fields: ‘patches’ (list of patches), and ‘snippet’ (code snippet to modify the source.) These are applied when running ‘guix build –source’. See “Defining Packages” in the manual.

New (guix monads) monadic interface to operate on the store

See “The Store Monad” in the manual. The (gnu system …) modules have been rewritten to use this monadic interface.

New (guix profiles) module

It provides an API for dealing with profiles, as with the ‘guix package’ command.

New (gnu system) module

This module provides a generic way to describe the system’s configuration, and to instantiate it, regardless of the final medium (QEMU image, etc.) See “System Configuration” in the manual.

This is work in progress. Send feedback to [email protected]!

‘build-expression->derivation’ uses more parameters

Some positional parameters have been changed to keyword parameters. See “Derivations” in the manual.

GNU distribution

New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’)

Bootstrap binaries have been built for that architecture, and several Loongson-specific patches not yet available upstream have been applied to core packages. See “GNU Distribution” and “Porting” in the manual.

Pre-built binaries are not yet available via hydra.gnu.org, so Guix will build from source on this platform.

110 new packages

acct, alive, alsa-utils, apl, at-spi2-atk, at-spi2-core, atkmm, autogen, automoc4, brasero, bridge-utils, cairomm, catkin, complexity, evince, ffmpeg, fftw, ftgl, gcc-objc, gcc-objc++, gccgo, gcl, gfortran, glibmm, glpk, gnome-icon-theme, gnu-pw-mgr, gp2c, gpgme, gsettings-desktop-schemas, gtkmm, gtksourceview, guile-ssh, guile-wm, gvpe, hicolor-icon-theme, httpd, icecat, icon-naming-utils, json-c, lapack, libcanberra, libcap, libgnome-keyring, libmikmod, libnl, libnotify, libsamplerate, libsigc++, libsndfile, libssh, libtheora, libxkbcommon, mercurial, mtools, netcat, pangomm, parallel, pavucontrol, pciutils, pem, perl-encode-locale, perl-file-list, perl-file-listing, perl-html-parser, perl-html-tagset, perl-http-cookies, perl-http-daemon, perl-http-date, perl-http-message, perl-http-negotiate, perl-io-html, perl-libwww, perl-libxml, perl-lwp-mediatypes, perl-net-http, perl-uri, perl-www-robotrules, perl-xml-dom, perl-xml-regexp, perl-xml-simple, phonon, powertop, pulseaudio, python2-dogtail, python2-empy, qemu-headless, qt, qt, raptor2, scons, sdl, sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf, sdl2, serveez, shared-mime-info, sharutils, skribilo, slim, soprano, swig, xcb-util, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm

47 package updates

atk 2.10.0, bison 3.0.2, cmake 2.8.12, dmd 0.1, freeipmi 1.3.3, gcc 4.8.2, gcc 4.8.2, gcc-cross-mips64el-linux-gnuabi64 4.8.2, gcc-stripped-tarball 4.8.2, gdb 7.6.2, gettext 0.18.3.1, glib 2.38.0, global 6.2.9, gmp 5.1.3, gnupg 2.0.22, gobject-introspection 1.38.0, grep 2.15, gsl 1.16, gtk+ 2.24.21, gtk+ 3.10.1, guile 2.0.9, guile 2.0.9, guile-xcb 1.2, harfbuzz 0.9.22, hello 2.9, iproute2 3.12.0, libdrm 2.4.46, libextractor 1.2, libjpeg 9, libmicrohttpd 0.9.32, lightning 2.0.2, linux-libre 3.12, lzip 1.15, make 4.0, mit-krb5 1.11.3, pari-gp 2.5.5, pixman 0.32.4, python 3.3.2, qemu 1.6.1, qemu-with-multiple-smb-shares 1.6.1, rcs 5.9.2, recutils 1.6, rsync 3.1.0, tar 1.27.1, texinfo 5.2, units 2.02, xorriso 1.3.2

Packages are now built with GCC 4.8.2 by default (was 4.7.3)

Native language support

New ‘sr’ (Serbian) translation

New ‘vi’ (Vietnamese) translation

Updated ‘pt_BR’ (Brazilian Portuguese) translation

Bugs fixed

‘guix pull’ compiles Guix deterministically and correctly

Previously, the build environment was not cleared in between ‘compile-file’ calls, leading to build errors due to Guile bug http://bugs.gnu.org/15602 .

‘guix package’ allows removal of a specific package output

(http://bugs.gnu.org/15756)

‘guix-daemon’ always sets umask to 022

(http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html)

Files referenced by environment variables are protected from GC

Yet unbuilt packages get correctly installed (http://bugs.gnu.org/15283)

‘bootstrap-graph.{png,eps,pdf}’ built in srcdir (http://bugs.gnu.org/15640)

Changes in 0.4 (since 0.3)

Package management

New ‘–list-generations’ and ‘–delete-generations’ options

The ‘guix package’ command has these two new options, which make it easier to deal with a profile’s generation. See “Invoking guix package” in the manual.

New ‘guix-register’ program

This program allows the meta-data of a new store to be initialized, by copying info from an existing store. It is mostly an internal tool.

Programming interfaces

New API to bootstrap Autotools-based packages

The (guix build-system gnu) has a new ‘dist-package’ procedure that takes a package object and source directory, and returns a new package object that runs ‘./bootstrap && make dist’ or anything similar.

‘derivation’ and related procedures have a #:references-graphs parameter

This parameter instructs the build daemon to populate the derivation’s build tree with files containing the list of references of the given store files. This is useful to write code that copies a packages and all its dependencies to another storage device, such as a QEMU disk image.

Extended API to build a GNU system virtual machine image

The (gnu system vm) module has been augmented in many ways: the ‘qemu-image’ procedure can now populate and initialize the image’s store; the new ‘system-qemu-image’ procedure returns a QEMU image that runs dmd as its init system, has ‘login’ running on several consoles, has a set of installed packages, and where Guix can be used.

New (gnu system …) modules have been added to handle the configuration of the various parts of a GNU/Linux system. For instance, (gnu system dmd) provides support for instantiating dmd services; (gnu system linux) helps with Linux PAM configuration; and so on.

<derivation> objects supersede .drv file names in the API

‘derivation’ and similar procedures no longer return two values (a <derivation> and a .drv file name); they now return a single value, which is a <derivation> object. The <derivation> object embeds the corresponding .drv file name. See “Derivations” in the manual for details.

GNU distribution

60 new packages

apr, apr-util, cdparanoia, dbus-glib, dfc, dmd, dvdisaster, exiv2, fetchmail, freefont-ttf, freeglut, geeqie, git, gkrellm, glu, gnome-doc-utils, gst-plugins-base, gstreamer, guile-cairo, guile-lib, guile-xcb, guix, htop, itstool, lame, libextractor, libmicrohttpd, lightning, lzip, mingetty, mutt, net-base, net-tools, ocrad, pspp, python-babel, python-dateutil, python-pytz, python-setuptools, python-simplejson, python-wrapper, python2-babel, python2-dateutil, python2-mechanize, python2-pyicu, python2-pysqlite, python2-pytz, python2-setuptools, python2-simplejson, qemu-system-initrd, qemu-with-multiple-smb-shares, ripperx, shadow, ttf-bitstream-vera, units, valgrind, xmlto, xnee, yasm

27 package updates

bigloo 4.0b, cairo 1.12.16, ddrescue 1.17, fontconfig 2.10.93, fplll 4.0.4, gcc 4.7.3, gcc 4.7.3, glibc 2.18, glibc 2.18, glibc-stripped-tarball 2.18, gnupg 2.0.21, gnutls 3.2.4, guile 2.0.9, guile 2.0.9, harfbuzz 0.9.21, imagemagick 6.8.6-9, libdrm 2.4.46, libgcrypt 1.5.3, libjpeg 9, libksba 1.3.0, linux-libre 3.11, m4 1.4.17, mpfrcx 0.4.2, pari-gp 2.5.4, python 2.7.5, python 3.3.2, texlive 2013

Fontconfig font search path made more convenient

Fontconfig, the library used by many graphical applications, such as those based on GTK+, now knows where to find the default set of fonts. Additional fonts installed in the user profile are automatically picked up.

More GUI applications

The ‘emacs’ and ‘racket’ packages are now linked against GTK+. New GTK+ applications have been added (see above.)

Packaging guidelines

The documentation of packaging guidelines has been augmented. See the manual under “GNU Distribution”.

Support for Python 3 along with Python 2

Python 3 has been added to the distribution, and Python packages that support it are now built for both Python 2 and Python 3. See the “Python Modules” section of the manual for details.

Internationalization

Updated translations: eo.

Bugs fixed

Workarounds for Guile 2.0.5 now work on Debian derivatives

The dependency graph image has correct size in PDF output

‘ldd’ now works correctly on x86_64

Xorg server test suite no longer fails (http://bugs.gnu.org/15392)

Hop 2.4 builds with newer Bigloo (http://bugs.gnu.org/15194)

Changes in 0.3 (since 0.2)

Package management

Cross-compilation support

Guix can now cross-build packages. On the command-line, this is achieved with the new ‘–target’ command-line option of ‘guix build’. At the Scheme level, the guts of this is the ‘package-cross-derivation’ procedure. Core packages of the distribution can already be cross-compiled. See the manual for details.

New ‘–max-silent-time’ option for “guix build” and “guix package”

See the manual for details.

New ‘–fallback’ option for “guix build” and “guix package”

This option instructs to fall back to local builds when the substituter fails to download a substitute.

New ‘–requisites’ option for “guix gc”

See the manual for details.

New ‘–key-download’ option for “guix refresh”

See the manual for details.

Programming interfaces

New ‘package-cross-derivation’ procedure in (guix derivations)

See the manual for details.

New ‘%current-target-system’ SRFI-39 parameter

This parameter is like ‘%current-system’, but for cross-compilation. It allows code in package definitions (such as in the ‘arguments’ field) to know whether it is being cross-compiled, and what the target system is.

New (guix hash) module; new ‘open-sha256-port’ and ‘sha256-port’ procedures

This improves performance of SHA256 computations.

GNU distribution

33 new packages

alsa-lib, babel, cairo, cvs, gcal, gcc-cross-mips64el-linux-gnuabi64, gd, gdk-pixbuf, graphviz, grue-hunter, gtk+, gts, harfbuzz, imagemagick, iproute2, iptables, libspectre, mpg321, noweb, pango, plotutils, privoxy, pytz, racket, rubber, rush, strace, tk, torsocks, unrtf, vc-dwim, wordnet, xlockmore

25 package updates

automake 1.14, ed 1.9, freeipmi 1.2.8, gawk 4.1.0, gcc 4.8.1, gettext 0.18.3, glib 2.37.1, gmp 5.1.2, gnutls 3.2.1, gzip 1.6, help2man 1.43.3, libapr 1.4.8, libaprutil 1.5.2, libassuan 2.1.1, libffi 3.0.13, libgc 7.2d, libgpg-error 1.12, libidn 1.28, libpng 1.5.17, lout 3.40, lsh 2.1, nettle 2.7.1, qemu 1.5.1, tzdata 2013d, xorriso 1.3.0

Binary packages now available for i686-linux

The build farm at http://hydra.gnu.org now provides 32-bit GNU/Linux binaries (i686-linux), in addition to the x86_64-linux binaries. Both can be transparently used as substitutes for local builds on these platforms.

Debug info packages

Some packages now have a “debug” output containing debugging information. The “debug” output can be used by GDB, and can be installed separately from the other outputs of the package. See “Installing Debugging Files” in the manual.

Bootstrap binaries can be cross-compiled

The distribution can now be ported to new architectures (currently GNU/Linux-only) by cross-compiling the “bootstrap binaries”. See “Porting” in the manual.

Bootstrapping documented

See “Bootstrapping” in the manual, for information on how the GNU distribution builds “from scratch”.

Internationalization

New translations: eo, pt_BR.

Bugs fixed

“guix –help” now works when using Guile 2.0.5

Binary substituter multi-threading and pipe issues fixed

These could lead to random substituter crashes while substituting a binary. See commits 0332386 and 101d9f3 for details.

Binary substituter gracefully handles lack of network connectivity

Daemon properly handles rebuilds of multiple-output derivations

Previously it would fail when rebuilding a multiple-output derivation when some (but not all) of its outputs were already present. See http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00038.html and NixOS/nix#122 .

‘guix package -i foo:out’ no longer removes other outputs of ‘foo’

Previously only the ‘out’ output of package ‘foo’ would be kept in the profile.

Replacement (srfi srfi-37) provided if the user’s one is broken

When the user’s (srfi srfi-37) is affected by http://bugs.gnu.org/13176 (Guile < 2.0.9), a replacement with the bug fix is provided. This bug would affect command-line argument processing in some cases.

Changes in 0.2 (since 0.1)

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 http://hydra.gnu.org. The distribution is continuously built and binaries are made available from there.

See http://hydra.gnu.org/jobset/gnu/master 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 details.

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:

(expression->initrd ‘(begin (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 highlights.

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.