|
- -*- org -*-
- #+TITLE: Guix NEWS – history of user-visible changes
- #+STARTUP: content hidestars
-
- Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-
- 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 bug-guix@gnu.org.
-
- * 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 guix-devel@gnu.org!
-
- *** ‘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)
- *** module-init-tools now builds (http://bugs.gnu.org/15182, http://bugs.gnu.org/15187)
- *** 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
- https://github.com/NixOS/nix/issues/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.
|