search-paths: Export 'string-tokenize*'.
[guix.git] / NEWS
blob977c6e83e58dc0d66c610078f2561d5caa8e496d
1                                                               -*- org -*-
2 #+TITLE: Guix NEWS – history of user-visible changes
3 #+STARTUP: content hidestars
5 Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
7   Copying and distribution of this file, with or without modification,
8   are permitted in any medium without royalty provided the copyright
9   notice and this notice are preserved.
11 Please send Guix bug reports to bug-guix@gnu.org.
13 * Changes in 0.8.1 (since 0.8)
15 ** Package management
17 *** New ‘--share’ and ‘--expose’ options for ‘guix system vm’
19 See “Invoking guix system” in the manual.
21 *** Emacs mode now automatically loads newly installed Emacs packages
23 See “Emacs Initial Setup” in the manual.
25 *** ‘guix-daemon’ now defaults to ‘--cores=0 --jobs=1’
27 In other words, at any given time, only one derivation is being built or
28 substituted, and it can use as many cores as available.  Before, there could
29 be N derivations using N cores, which was obviously not desirable.
31 *** Command-line tools support the ‘GUIX_BUILD_OPTIONS’ environment variable
33 See “Invoking guix build” in the manual.
35 *** ‘guix environment’ is faster
37 *** New ‘--recursive’ option for ‘guix archive’
39 See “Invoking guix archive” in the manual.
41 *** Missing patches required by a package definition are gracefully reported
43 *** ‘guix lint’ supports additional checkers
45 The new checkers are ‘gnu-description’, ‘home-page’, and ‘source’.
46 See “Invoking guix lint” in the manual.
48 *** New CPAN importer for ‘guix import’
50 See “Invoking guix import” in the manual.
52 ** Distribution
54 *** USB installation image has more tools
56 Tools added since 0.8: wpa_supplicant, cryptsetup, and iw.
58 *** Linux kernel module dependencies are automatically handled
60 Before that, all the modules needed in the initrd would need to be explicitly
61 listed, including their dependencies, and in topological order.
63 *** Font packages now all have a name starting with ‘font-’
65 See “Fonts” in the manual.
67 *** Shell startup files have been cleaned up
69 /etc/profile contains only environment variable definitions, which may also be
70 used when running a different shell.  The skeletons for user’s ‘.bash_profile’
71 and ‘.bashrc’ files behave as documented in the Bash manual.  Zsh is supported.
73 *** The ‘root’ account gets a copy of the account skeleton files
75 Before that, the skeleton files would only be copied to non-root accounts.
77 *** The name service cache daemon (nscd) is configurable
79 By default it aggressively caches host and service lookups.  See “Base
80 Services” in the manual.
82 *** Available locale definitions are now declared in ‘operating-system’
84 Before, the ‘glibc’ package would contain all the existing locales, as well as
85 the ‘locale-archive’ file, amounting to 110 MiB.  See “Locales” in the manual.
87 *** SLiM sessions are configurable
89 Pressing F1 in the SLiM graphical log-in screen allows users to choose among
90 the pre-configured session types.  See “X Window” in the manual.
92 *** Man pages and Info files are systematically gzip-compressed
94 *** ‘gnu-build-system’ ensures that documentation is in share/{man,info}
96 If a package installs to $prefix/{man,info}, this is automatically fixed to be
97 $prefix/share/{man,info}.
99 *** ‘strip’ is invoked only on ELF files and ‘ar’ archives
101 *** ‘libtool’ and ‘libltdl’ are now separate packages
103 *** Emacs mode is readily usable on the Guix System Distribution
105 *** Substitutes are now enabled by default on freshly installed systems
106 *** 164 new packages
108 abcde, astyle, avr-libc, bbdb, bedtools, bowtie, bullet, c-reduce, cd-discid,
109 cgal, clang, claws-mail, cups, cups-filters, cups-minimal, dconf, delta,
110 dmenu, eigen, emms, exo, fastjar, font-bitstream-vera, font-dejavu,
111 font-gnu-freefont-ttf, font-liberation, font-terminus, fvwm, garcon,
112 gcc-cross-arm-linux-gnueabihf, gcc-cross-sans-libc-avr, gcj, getmail,
113 git-flow, git-manpages, git-test-sequence, glew, glulxe, gourmet,
114 gst-plugins-good, gtk-xfce-engine, hexchat, ijs, iw, jack, json-glib,
115 libdvdnav, libdvdread, libetpan, libevdev, libltdl, libtorrent, libupnp,
116 libwnck, libwnck, libxfce4ui, libxfce4util, libxshmfence, libyubikey, llvm,
117 lrdf, mg, mp3info, msmtp, ncftp, nginx, ninja, nss, openbox,
118 perl-benchmark-timer, perl-clone, perl-digest-sha1, perl-exporter-lite,
119 perl-file-which, perl-getopt-tabular, perl-ipc-run3, perl-probe-perl,
120 perl-regexp-common, perl-sys-cpu, perl-test-deep, perl-test-nowarnings,
121 perl-test-script, perl-test-simple, perl-test-tester, pflask,
122 python-cairocffi, python-cffi, python-distutils-extra, python-html5lib,
123 python-ipython, python-isodate, python-matplotlib, python-numpy,
124 python-numpydoc, python-pillow, python-pycairo, python-pycparser,
125 python-pygobject, python-pyparsing, python-pyqt, python-pysam, python-rdflib,
126 python-scipy, python-sip, python-sqlalchemy, python-xcffib, python2-cairocffi,
127 python2-cffi, python2-distutils-extra, python2-elib.intl, python2-html5lib,
128 python2-ipython, python2-isodate, python2-matplotlib, python2-numpy,
129 python2-numpydoc, python2-pillow, python2-py2cairo, python2-pycparser,
130 python2-pygobject, python2-pygtk, python2-pyparsing, python2-pyqt,
131 python2-pysam, python2-scipy, python2-sip, python2-sqlalchemy, python2-xcffib,
132 qpdf, retroarch, rtorrent, samtools, shflags, slang, slock, socat,
133 startup-notification, sxiv, taglib, telepathy-glib, thunar, thunar-volman,
134 tre, tumbler, vala, vte, vte, wine, wmctrl, xclip, xdotool, xf86-video-geode,
135 xfce4-appfinder, xfce4-battery-plugin, xfce4-panel, xfce4-session,
136 xfce4-settings, xfce4-terminal, xfconf, xfdesktop, xfwm4, xinit, ykclient,
137 zerofree
139 *** 222 package updates
141 apr-util-1.5.4, atk-2.15.3, automake-1.15, bash-4.3.33, bash-light-4.3.33,
142 bdftopcf-1.0.4, binutils-2.25, binutils-static-stripped-tarball-2.25,
143 cairo-1.12.18, cairomm-1.11.2, ccrtp-2.1.1, curl-7.40.0, dbus-1.8.12,
144 dbus-glib-0.102, ddrescue-1.19, dri2proto-2.8, e2fsck-static-1.42.11,
145 e2fsprogs-1.42.11, eudev-2.1.1, ffmpeg-2.5.3, file-5.22, fish-2.1.1,
146 fontconfig-2.11.92, fontsproto-2.1.3, freeipmi-1.4.8,
147 gcc-cross-mips64el-linux-gnuabi64-4.8.4, gcc-cross-sans-libc-xtensa-elf-4.8.4,
148 gcc-objc++-4.8.4, gcc-objc-4.8.4, gcc-stripped-tarball-4.8.4, gccgo-4.8.4,
149 gcl-2.6.12, gd-2.1.1, gdb-7.8.2, gdk-pixbuf-2.31.1, gettext-0.19.4,
150 gfortran-4.8.4, ghostscript-9.14.0, ghostscript-with-x-9.14.0, gimp-2.8.14,
151 git-2.2.1, glib-2.42.1, glibmm-2.42.0, global-6.3.3, glproto-1.4.17,
152 gnutls-3.2.21, gobject-introspection-1.42.0, gp2c-0.0.9pl2, grep-2.21,
153 groff-1.22.3, gss-1.0.3, gst-plugins-base-1.0.10, gtk+-3.14.7, gtkmm-3.14.0,
154 guix-0.8, guix-0.8.4ad8789, help2man-1.46.4, iceauth-1.0.6, icu4c-54.1,
155 inkscape-0.48.5, inputproto-2.3.1, lcms-2.6, lftp-4.6.1, libassuan-2.2.0,
156 libcdio-0.93, libdmx-1.1.3, libdrm-2.4.58, libfontenc-1.1.2, libfs-1.0.6,
157 libgcrypt-1.6.2, libgpg-error-1.17, libice-1.0.9, libjpeg-9a, libksba-1.3.2,
158 libmicrohttpd-0.9.39, libnl-3.2.25, libpciaccess-0.13.2, libpeas-1.12.1,
159 libpng-1.5.21, librsvg-2.40.6, libsm-1.2.2, libtasn1-4.2, libtool-2.4.5,
160 libx11-1.6.2, libxau-1.0.8, libxaw-1.0.12, libxcb-1.11, libxcomposite-0.4.4,
161 libxcursor-1.1.14, libxdamage-1.1.4, libxext-1.3.3, libxfixes-5.0.1,
162 libxfont-1.5.0, libxft-2.3.2, libxi-1.7.4, libxinerama-1.1.3,
163 libxkbcommon-0.5.0, libxmu-1.1.2, libxp-1.0.2, libxpm-3.5.11, libxrandr-1.4.2,
164 libxrender-0.9.8, libxres-1.0.7, libxt-1.1.4, libxtst-1.2.2, libxv-1.0.10,
165 libxvmc-1.0.8, libxxf86dga-1.1.4, libxxf86vm-1.1.3, linux-libre-3.18.4,
166 lua-5.2.3, makedepend-1.0.5, mercurial-3.2.4, mesa-10.4.0, minetest-0.4.11,
167 mkfontscale-1.1.1, neon-0.30.0, nix-1.8, ntp-4.2.8, ocrad-0.24,
168 openjpeg-2.0.1, openssl-1.0.1k, pango-1.36.8, parallel-20150122,
169 pari-gp-2.7.2, patchelf-0.8, pcre-8.36, perf-3.18.4, phonon-4.8.3,
170 pixman-0.32.6, pkg-config-0.28, poppler-0.28.1, python-3.3.5,
171 python-dateutil-2.2, python2-dateutil-2.2, qemu-2.2.0, qemu-headless-2.2.0,
172 qt-5.4.0, racket-6.1.1, randrproto-1.4.0, raptor2-2.0.15, rasqal-0.9.33,
173 rcs-5.9.4, ruby-2.1.5, sessreg-1.0.8, sipwitch-1.9.3, sqlite-3.8.7.4,
174 tiled-0.11.0, tmux-1.9a, tzdata-2014j, ucommon-6.2.3, util-linux-2.25.2,
175 util-macros-1.19.0, vera-1.22, videoproto-2.3.2, wget-1.16.1, xauth-1.0.9,
176 xbacklight-1.2.1, xcb-proto-1.11, xcb-util-0.4.0, xcb-util-image-0.4.0,
177 xcb-util-keysyms-0.4.0, xcb-util-renderutil-0.3.9, xcb-util-wm-0.4.1,
178 xcursor-themes-1.0.4, xcursorgen-1.0.6, xdpyinfo-1.3.1, xev-1.2.1,
179 xextproto-7.3.0, xf86-input-evdev-2.8.4, xf86-input-joystick-1.6.2,
180 xf86-input-keyboard-1.8.0, xf86-input-mouse-1.9.1, xf86-input-synaptics-1.8.1,
181 xf86-video-ark-0.7.5, xf86-video-ati-7.5.0, xf86-video-cirrus-1.5.2,
182 xf86-video-fbdev-0.4.4, xf86-video-glint-1.2.8, xf86-video-i128-1.3.6,
183 xf86-video-intel-2.21.15, xf86-video-mach64-6.9.4, xf86-video-mga-1.6.3,
184 xf86-video-neomagic-1.2.8, xf86-video-nv-2.1.20, xf86-video-openchrome-0.3.3,
185 xf86-video-r128-6.9.2, xf86-video-savage-2.3.7,
186 xf86-video-siliconmotion-1.7.7, xf86-video-sis-0.10.7,
187 xf86-video-suncg6-1.1.2, xf86-video-sunffb-1.2.2, xf86-video-tdfx-1.4.5,
188 xf86-video-tga-1.2.2, xf86-video-trident-1.3.6, xf86-video-vesa-2.3.3,
189 xf86-video-vmware-13.0.2, xf86-video-voodoo-1.2.5, xhost-1.0.6, xinput-1.6.1,
190 xkbcomp-1.3.0, xkbutils-1.0.4, xkeyboard-config-2.13, xkill-1.0.4,
191 xlockmore-5.45, xlsclients-1.1.3, xmodmap-1.0.8, xnee-3.19,
192 xorg-server-1.16.3, xprop-1.2.2, xproto-7.0.26, xrandr-1.4.3, xrdb-1.1.0,
193 xrefresh-1.0.5, xset-1.2.3, xsetroot-1.1.1, xtrans-1.3.5, xvinfo-1.1.2,
194 xwd-1.0.6, xwininfo-1.1.3, youtube-dl-2015.01.23.4, zsh-5.0.7
196 ** Programming interfaces
198 *** New (guix elf) and (gnu build linux-modules) modules
200 These provide resolution of Linux kernel module dependencies.  See
201 <https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00670.html>.
203 *** ‘glib-or-gtk-build-system’ has been extended
205 It now handles GIO and XDG themes, takes care of generating the icon cache,
206 and has a new #:glib-or-gtk-wrap-excluded-outputs parameter.
208 *** ‘search-path-specification’ can now specify non-directory items
210 For example, the ‘search-path-specification’ attached to libxml2 specifies a
211 file pattern, which allows all the ‘catalog.xml’ files to be added to the
212 ‘XML_CATALOG_FILES’ environment variable.
214 *** (guix build syscalls) has more network-related procedures
216 ‘set-network-interface-flags’, ‘set-network-interface-address’,
217 ‘network-interface-address’, and ‘configure-network-interface’ are ioctl
218 bindings used by network-handling dmd services.
220 *** (guix monads) refactoring
222 ‘%store-monad’ is now in (guix store) and is an alias for the new
223 ‘%state-monad’ provided by (guix monads).  Monadic procedures dealing with the
224 store, with derivations, and with packages have been moved from (guix monads)
225 to (guix store), (guix derivations), and (guix packages).  See “The Store
226 Monad” in the manual.
228 *** (guix build utils) provides ‘parallel-job-count’
230 *** ‘wrap-program’ preserves the original argv[0]
232 *** New (guix sets) module
234 *** ‘define-record-type*’ now support “delayed” fields
236 ** Noteworthy bug fixes
238 *** X session is executed from a login shell (<http://bugs.gnu.org/19119>)
239 *** grub.cfg is now a garbage-collector root (<http://bugs.gnu.org/19160>)
240 *** Substituter progress report properly formatted 
241     (<http://bugs.gnu.org/19313>)
242 *** Document permissions for /gnu/store (<http://bugs.gnu.org/19316>)
243 *** Make sure config.go is newer than config.scm
244     (<http://bugs.gnu.org/19317>)
245 *** Emacs knows where to find its GLib schemas (<http://bugs.gnu.org/19138>)
246 *** Adjust 'grub.cfg' to work on systems with a separate /boot
247     (<http://bugs.gnu.org/19220>)
248 *** Fix removal of next-to-last item in a profile
249     (<http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>)
250 *** Apply patches with "patch --force" (<http://bugs.gnu.org/19402>)
251 *** Extend ‘search-path-specification’ for libxml2-style use cases
252     (<http://bugs.gnu.org/18033>)
253 *** Search for patches under $GUIX_PACKAGE_PATH (<http://bugs.gnu.org/19364>)
254 *** Use executables from the target inputs in 'patch-shebangs'
255     (<http://bugs.gnu.org/18895>)
256 *** guix-daemon now automatically creates '…/profiles/per-user'
257     (<http://bugs.gnu.org/19315>)
258 *** Make /etc/mtab a symlink to /proc/self/mounts
259     (<http://bugs.gnu.org/19491>)
260 *** Don't build the mips64el-linux-gnuabi64 cross-compiler on i686
261     (<http://bugs.gnu.org/19598>)
262 *** Read archive signatures as Latin-1 strings (<http://bugs.gnu.org/19610>)
263 *** Raise an error for references to non-existent outputs
264     (<http://bugs.gnu.org/19630>)
265 *** Initialize libgcrypt before use (<http://bugs.gnu.org/19677>)
267 ** Native language support
269 *** New translations: fr (French), hu (Hungarian)
270 *** Updated translation: eo, vi
272 * Changes in 0.8 (since 0.7)
274 ** Package management
276 *** New visual user interface in Emacs
278 See “Emacs Interface” in the manual.
280 *** New ‘guix environment’ command to produce development environment
282 See “Invoking guix environment” in the manual.
284 *** The ‘guix import’ command has been extended and documented
286 It can now import packages from pypi.python.org and from GNU.
287 See “Invoking guix import” in the manual.
289 *** New ‘guix lint’ command, for use by Guix developers
291 See “Invoking guix lint” in the manual.
293 *** Packages can now be “grafted” with replacements of their dependencies
295 See “Security Updates” in the manual.
297 *** The distribution can be extended with ‘--load-path’ or $GUIX_PACKAGE_PATH
299 This allows users to maintain their own package definitions, and make them
300 visible to the various user interfaces.  See “Package Modules” in the manual.
302 *** ‘guix package’ better reports package upgrades
304 *** ‘guix package’ has a new ‘--switch-generation’ option
306 See “Invoking guix package” in the manual.
308 *** ‘guix-daemon’ has a new ‘--substitute-urls’ option
310 See “Invoking guix-daemon” in the manual.
312 ** Distribution
314 *** The stand-alone operating system now supports Linux mapped devices
316 See “Mapped Devices” in the manual.
318 *** New fields in ‘operating-system’ declarations, better documentation
320 New fields include ‘hosts-file’, ‘mapped-devices’, and ‘swap-devices’.
321 See “operating-system Reference” in the manual.
323 *** New services: ‘dhcp-client-service’, ‘bitlbee-service’, ‘ntp-service’
325 See “Services” in the manual.
327 *** Free firmware can be loaded
329 This notably enables support for some Atheros-based WiFi devices (ath9k-htc.)
330 See “operating-system Reference” in the manual.
332 *** ‘grub-configuration’ declarations can now specify a theme
334 See “GRUB Configuration” in the manual.
336 *** The ‘base-initrd’ now has a different signature
338 Existing uses in ‘operating-system’ declarations need to be updated.  See
339 “Initial RAM Disk” in the manual for details.
341 *** eudev is now used by default, instead of an old udev release
343 *** ‘guix system vm’ has a new ‘--full-boot’ option
345 See “Invoking guix system” in the manual.
347 *** The ‘file’ command is now part of the package build environment
349 Autoconf-generated ‘configure’ scripts for packages using Libtool use ‘file’
350 to determine the target ABI, notably on MIPS, hence this change.
352 *** 162 new packages
354 abiword, acpica, adns, arb, ath9k-htc-firmware, atlas, avrdude, cppunit,
355 dblatex, detox, dfu-programmer, dionysus, direvent, dmidecode, dri3proto,
356 emacs-no-x-toolkit, emacs-w3m, emacs-wget, enchant, eudev, feh, flashrom,
357 flint, fontforge, freedink, freeimage, fribidi,
358 gcc-cross-sans-libc-xtensa-elf, giblib, gnome-themes-standard, gpsbabel,
359 gpscorrelate, graphite2, gtypist, guile-charting, guile-sdl, imake, imlib2,
360 irrlicht, jbig2dec, libpsl, libspiro, libuninameslist, libwmf, lm-sensors,
361 magit, minetest, miscfiles, mozjs, mupdf, nix, nspr, nss-mdns, ntp, nvi, opam,
362 openal, openjpeg, opus-tools, orpheus, ots, oxygen-icons, paredit, perf,
363 perl-archive-zip, perl-dbd-sqlite, perl-dbi, perl-image-exiftool,
364 perl-io-socket-ssl, perl-net-ssleay, perl-www-curl, perl-zip, polkit,
365 polkit-qt, postgresql, potrace, presentproto, python-certifi, python-coverage,
366 python-cython, python-discover, python-docutils, python-exif-read,
367 python-extras, python-fixtures, python-itsdangerous, python-jinja2,
368 python-jsonschema, python-markupsafe, python-mimeparse, python-nose,
369 python-oauthlib, python-py, python-pygments, python-pyjwt, python-pyld,
370 python-pytest, python-scripttest, python-sphinx, python-subunit,
371 python-testrepository, python-testresources, python-testscenarios,
372 python-testtools, python-unidecode, python-unittest2, python-virtualenv,
373 python2-certifi, python2-coverage, python2-cython, python2-discover,
374 python2-docutils, python2-exif-read, python2-extras, python2-fixtures,
375 python2-itsdangerous, python2-jinja2, python2-jsonschema, python2-markupsafe,
376 python2-mimeparse, python2-nose, python2-oauthlib, python2-py,
377 python2-pygments, python2-pyjwt, python2-pyld, python2-pytest,
378 python2-requests, python2-scripttest, python2-sphinx, python2-subunit,
379 python2-testrepository, python2-testresources, python2-testscenarios,
380 python2-testtools, python2-unidecode, python2-unittest2, python2-virtualenv,
381 rrdtool, ruby, ruby, ruby-i18n, sane-backends, scrot, sound-theme-freedesktop,
382 stress, synergy, tdb, terminus-font, testdisk, texi2html, tiled, transfig,
383 unclutter, unixodbc, weechat, wv, xboing, xf86-video-modesetting, xfig,
384 xsensors, zsh
386 *** 117 package updates
388 acct-6.6.2, acl-2.2.52, apl-1.4, apr-1.5.1, apr-util-1.5.3, autoconf-2.68,
389 autoconf-2.69, autogen-5.18.4, bash-4.3.30, bash-light-4.3.30, bazaar-2.6.0,
390 bison-2.7, calcurse-3.2.1, ccache-3.1.10, chicken-4.9.0.1, coreutils-8.23,
391 curl-7.37.1, datamash-1.0.6, dbus-1.8.8, docbook-xml-4.2, docbook-xml-4.4,
392 docbook-xml-4.5, emacs-24.4, ffmpeg-2.2.10, ffmpeg-2.4.3, file-5.19,
393 file-5.20, freeipmi-1.4.5, gcc-4.7.4, gcc-4.9.2, gcc-toolchain-4.9.2,
394 gcl-2.6.11, gdb-7.8.1, geiser-0.6, gettext-0.19.3, git-2.1.2, glibc-2.20,
395 glibc-2.20, glibc-stripped-tarball-2.20, global-6.3.2, glpk-4.55,
396 gnupg-1.4.18, gnupg-2.0.26, gnurl-7.37.0, gnutls-3.2.20, gpgme-1.5.1,
397 gst-plugins-base-1.0.10, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-3.9.16,
398 guile-1.8.8, guile-json-0.4.0, guile-ncurses-1.6, guile-ssh-0.7.1, guix-0.7,
399 guix-0.7.48bd76e, hello-2.10, help2man-1.46.3, icecat-31.2.0,
400 libart-lgpl-2.3.21, libassuan-2.1.3, libatomic-ops-7.4.2, libdrm-2.4.33,
401 libffi-3.1, libgc-7.2f, libgc-7.4.2, libgcrypt-1.5.4, libgcrypt-1.6.2,
402 libidn-1.29, libjpeg-9a, libotr-4.0.0, libsodium-1.0.0, libtasn1-4.1,
403 libunistring-0.9.4, libwebsockets-1.3, lightning-2.0.5, linux-libre-3.17.3,
404 lsof-4.88, lua-5.2.3, lvm2-2.02.109, lzip-1.16, make-4.1, maxima-5.34.1,
405 mit-scheme-9.2, mysql-5.1.73, neon-0.30.0, net-base-5.3, nettle-2.7.1,
406 notmuch-0.18.1, openssh-6.7p1, openssl-1.0.1j, parallel-20141022,
407 phonon-4.8.2, pspp-0.8.4, python-3.3.5, python-dateutil-1.5,
408 python2-dateutil-1.5, python2-pyicu-1.8, qt-4.8.6, qt-5.3.2, rcs-5.9.3,
409 readline-6.3, subversion-1.7.18, swig-3.0.2, tar-1.28, texinfo-5.2,
410 tor-0.2.5.10, transmission-2.84, ucommon-6.1.11, valgrind-3.10.0, vlc-2.1.5,
411 wget-1.16, windowmaker-0.95.6, xapian-1.2.18, xf86-video-ati-6.14.6,
412 xpdf-3.04, youtube-dl-2014.09.06
414 ** Programming interfaces
416 *** New ‘ruby-build-system’, for Ruby packages
418 See “Build Systems” in the manual.
420 *** New ‘glib-or-gtk-build-system’, for packages using GLib schemas
422 See “Build Systems” in the manual.
424 *** ‘gnu-build-system’ has a new #:substitutable? parameter
426 This allows packagers to mark a package as requiring a local build, thus
427 preventing it from being substituted by a pre-built binary.
429 *** ‘cmake-build-system’ has a new #:build-type parameter
431 See “Build Systems” in the manual.
433 *** The ‘supported-systems’ field of packages is used more consistently
435 This allows packagers to prevent attempts to build a package on a given
436 architecture when that architecture is known not to be supported.  The
437 ‘package-transitive-supported-systems’ procedure returns the intersection of
438 the systems supported by the given package and by its dependencies.
440 *** The ‘wrap-program’ procedure can now be called multiple times
442 *** New ‘graft-derivations’ and ‘package-grafts’ procedures
444 They implement “grafts”, as described under “Security Updates” in the manual.
446 *** New “bag” intermediate representation for use by build systems
448 “Bags” are used internally as an intermediate representation between packages
449 and derivations.  See “Build Systems” in the manual.
451 *** New (guix monad-repl) module, for monadic interaction at the REPL
453 See “The Store Monad” in the manual.
455 *** New (guix build emacs-utils) module, to facilitate building Emacs packages
457 *** New (guix tests) module, with tools used by the test suite
459 *** The internal ‘guix-register’ command now deduplicates files in store items
461 *** Several system modules moved from (guix build …) to (gnu build …)
463 Also, the (gnu build linux-boot) module has been introduced, with code
464 typically used by initial RAM disks when booting on GNU/Linux-libre.
466 *** (guix profiles) provides a representation of package transactions
468 This factorizes code between ‘guix package’ and the Emacs user interface.
470 *** Bootstrapping packages moved to (gnu packages commencement) modules
472 ** Bugs fixed
474 *** ‘guix-daemon’ now really deduplicates store items by default
476 Deduplication means that identical files found in /gnu/store are stored only
477 once, using hard links.  This feature was wrongfully disabled, and is now
478 enabled by default.  The former ‘--disable-store-optimization’ option has been
479 renamed to ‘--disable-deduplication’.
481 *** ‘guix-daemon’ no longer uses ‘vfork’
483 This could cause problems with ancient Linux kernel.
485 *** Fixed compilation of ‘gccgo’ (<http://bugs.gnu.org/18101>)
486 *** 'make clean' doesn't delete os-config.tmpl (<http://bugs.gnu.org/18243>)
487 *** Fix handling of periods by fill-paragraph (<http://bugs.gnu.org/17468>)
488 *** Produce a top-level Info 'dir' file (<http://bugs.gnu.org/18305>)
489 *** guix offload ignores unreachable machines (<http://bugs.gnu.org/18070>)
490 *** guix offload: Ignore EEXIST when registering a .drv as a GC root
491     (<http://bugs.gnu.org/18115>)
492 *** perl-tk: Build sequentially (<http://bugs.gnu.org/18262>)
493 *** download: Use the 'SERVER NAME' TLS extension when possible
494     (<http://bugs.gnu.org/18526>)
495 *** libdaemon: Add alternate source URLs (<http://bugs.gnu.org/18639>)
496 *** icu4c: Reinstate RUNPATH on shared libraries 
497     (<http://bugs.gnu.org/18695>)
498 *** nss-mdns: Add alternate source URLs (<http://bugs.gnu.org/18704>)
499 *** download: Add "Accept: */*" to the HTTP headers
500     (<http://bugs.gnu.org/18768>)
501 *** guix-register: Do not attempt to create NIX_STORE_DIR 
502     (<http://bugs.gnu.org/18689>)
503 *** Allow Linux-libre to find our 'modprobe' command
504     (<http://bugs.gnu.org/18525>)
505 *** man-pages: Build sequentially (<http://bugs.gnu.org/18701>)
506 *** Fix intermittent test failures involving GC (<http://bugs.gnu.org/18935>)
507 *** guix import: pypi: Gracefully handle non-existent packages 
508     (<http://bugs.gnu.org/18831>)
509 *** Make sure the shared library has the '.so' extension
510     (<http://bugs.gnu.org/18521>)
511 *** pull: Use the build procedure provided by the newly-downloaded Guix.
512     (<http://bugs.gnu.org/18534>)
513 *** WindowMaker no longer pollutes $PATH (<http://bugs.gnu.org/18698>)
515 ** Native language support
516 *** New translation: cs (Czech)
517 *** Updated translations: de, sr, vi
519 * Changes in 0.7 (since 0.6)
520 ** Package management
521 *** Binaries for mips64el-linux now available from hydra.gnu.org
523 These come in addition to the x86_64-linux and i686-linux binaries already
524 provided, thanks to our generous donor and friendly admins.  See
525 “Substitutes” in the manual.
527 *** ‘guix package’ has a new ‘--show’ option
528 *** ‘guix refresh’ has a new ‘--list-dependent’ option
530 ** Programming interfaces
531 *** New (guix gexp) module, which implements “G-expressions”
533 G-expressions are a new mechanism to embed build-side code in host-side
534 code.  See “G-Expressions” in the manual.
536 *** (gnu system) and related modules now use G-expressions
538 This greatly simplifies code, and guarantees that build code carries
539 references to the packages or derivations it uses.
541 *** ‘build-expression->derivation’ is deprecated in favor of G-expressions
542 *** The (gnu system) module has been largely augmented and factorized
543 *** New (guix build vm) module, support for virtual machine images
544 *** New (guix build activation) module, for “system activation”
545 *** New (guix build syscalls) module
546 *** New (guix build install) and module for whole system installation
547 *** New (gnu system install) module, for the installation system
548 *** New (gnu system file-systems) module, for ‘file-system’ declarations
549 *** New (gnu) module, which aggregates common (gnu …) modules
550 *** ‘service’ records now have an optional ‘activate’ field
552 This allows services to specify code to run at system activation time.
554 ** GNU distribution
555 *** An image to install the GNU system from a USB stick is provided
557 This is the first time an installation image is provided.  See “System
558 Installation” in the manual for details.  This is work in progress as noted
559 in “Limitations”.  Your feedback and help are welcome!
561 *** Support for more parameters in ‘operating-system’ declarations
563 Operating system declarations can now provide a list of file systems, a list
564 of setuid programs, bootloader options, and more.  See “System Configuration”
565 in the manual.
567 *** ‘guix system’ supports more actions
569 Newly supported actions are ‘init’, ‘build’, ‘reconfigure’, and ‘disk-image’.
570 See “Invoking guix system” in the manual.
572 *** User accounts and groups are created at system activation time
573 *** Virtual machine support uses para-virtualized devices
574 *** GCC package now has an additional ‘lib’ output, for run-time support libs
575 *** GLib package now has a separate “bin” output (<http://bugs.gnu.org/17853>)
576 *** 134 new packages
578 abbaye, aegis, attica, babl, barcode, behave, btar, busybox, ccache, ccrtp,
579 chess, clucene, cmatrix, commoncpp, conkeror, cook, cssc, datamash, diffstat,
580 doxygen, dropbear, dtach, duplicity, e2fsck-static, exosip, fftw-openmpi,
581 fish, gconf, gegl, gimp, gmsh, gnome-mime-data, gnome-vfs, gnumeric, goffice,
582 gsegrafix, guile-opengl, guile-static-stripped, hdup, hwloc, inotify-tools,
583 jrnl, kbd, kmod, lftp, libarchive, libart-lgpl, libbonobo, libbonoboui,
584 libcroco, libdbusmenu-qt, libftdi, libglade, libgnome, libgnomecanvas,
585 libgnomeprint, libgnomeprintui, libgnomeui, libgsf, libidl, libmcrypt,
586 libmhash, librsvg, librsync, libsodium, libuv, libvpx, links, lzop, man-pages,
587 maxima, mcrypt, mosh, mpg123, mplayer, mu, ncmpcpp, node, notmuch, numactl,
588 offlineimap, openmpi, orbit2, osip, pangox-compat, perl-io-tty, petsc,
589 petsc-complex, petsc-complex-openmpi, petsc-openmpi, pingus, podofo, protobuf,
590 pt-scotch, python-enum34, python-keyring, python-lockfile, python-mock,
591 python-parse, python-parse-type, python-parsedatetime, python-pycrypto,
592 python-six, python-tzlocal, python2-lockfile, python2-mock, qjson, qrencode,
593 rasqal, rdiff-backup, rdup, redland, rottlog, scotch, sipwitch, sshfs-fuse,
594 strigi, sudo, superlu, superlu-dist, talkfilters, talloc, tcpdump, tinyproxy,
595 transmission, ucommon, udev, vlc, vtk, wakelan, wireless-tools,
596 wpa-supplicant, xboard, youtube-dl
598 *** 87 package updates
600 bitlbee-3.2.2, cursynth-1.5, ddrescue-1.18.1, dfc-3.0.4, dmd-0.2,
601 docbook-xml-4.3, docbook-xml-4.4, docbook-xsl-1.78.1, dvdisaster-0.72.6,
602 ffmpeg-2.3, fftw-3.3.4, fftwf-3.3.4, flac-1.3.0, gawk-4.1.1, gcc-4.7.4,
603 gcc-4.8.3, gcc-4.8.3, gcc-4.9.1, gcc-cross-mips64el-linux-gnuabi64-4.8.3,
604 gcc-objc++-4.8.3, gcc-objc-4.8.3, gcc-stripped-tarball-4.8.3,
605 gcc-toolchain-4.8.3, gcc-toolchain-4.9.1, gccgo-4.8.3, gdb-7.7.1,
606 gettext-0.19.2, gfortran-4.8.3, glib-2.40.0, global-6.3, gmp-6.0.0a,
607 gnupg-1.4.18, gnupg-2.0.25, gnutls-3.2.15, gp2c-0.0.9pl1, grep-2.20,
608 gst-plugins-base-1.0.10, gstreamer-0.10.36, gtk+-3.10.1, gtkmm-2.24.2,
609 guile-2.0.11, guile-2.0.11, guix-0.6, guix-0.6.0ae8c15, htop-1.0.3,
610 icu4c-53.1, imagemagick-6.8.9-0, json-c-0.12, libdrm-2.4.33, libgc-7.2e,
611 libgcrypt-1.5.3, libgpg-error-1.13, libjpeg-8d, libmicrohttpd-0.9.37,
612 libogg-1.3.2, libotr-4.0.0, libtasn1-3.6, libvorbis-1.3.4, lightning-2.0.4,
613 linux-libre-3.15.6, lua-5.1.5, lua-5.2.3, mcron-1.0.8, moe-1.6, nano-2.3.6,
614 neon-0.29.6, nettle-3.0, openssl-1.0.1h, parallel-20140722, pari-gp-2.7.1,
615 pspp-0.8.3, python-2.7.6, python-dateutil-2.2, python2-dateutil-2.2,
616 qemu-2.0.0, qemu-headless-2.0.0, qt-4.8.6, qt-5.2.1, readline-6.2,
617 screen-4.2.1, soprano-2.9.4, texinfo-5.2, texlive-2014, tor-0.2.4.22,
618 wdiff-1.2.2, xorriso-1.3.8, xterm-304
620 ** Native language support
621 *** New translations: de (German), and hu (Hungarian)
622 *** Updated translations: eo, pt_BR, sr, vi
623 *** Package descriptions moved from the ‘guix’ text domain to ‘guix-packages’
624 ** Bugs fixed
625 *** Downloads are now faster (<http://bugs.gnu.org/15368>)
626 *** ‘guix authenticate’ properly writes signatures to stdout
627     (<http://bugs.gnu.org/17312>)
628 *** Progress report of downloads is now properly displayed
629 *** Error reporting of pk-crypto errors has been improved
630 *** The 'patches' field now works for origins with no extension
631 *** Synchronization and GC issues fixed in the offload hook
632 *** (guix ftp-client) emits USER commands suitable for all servers
634 * Changes in 0.6 (since 0.5)
635 ** Package management
636 *** Default store directory changed to /gnu/store
638 Although it is still possible to configure Guix to use the old store
639 directory, we recommend that you start with a fresh install to /gnu/store.
641 *** Substitutes from hydra.gnu.org must now be signed and authorized
642 *** Support for offloading builds to other Guix machines over SSH
643 *** New ‘guix archive’ command
644 *** New ‘guix system’ command; it can currently build VM images
645 *** ‘guix package’ accepts several arguments after -i, -r, and -u
646 *** Updating a profile with ‘guix package’ is now noticeably faster
647 *** ‘guix build’ can override a package’s source with the new ‘--with-source’
648 *** ‘guix build’ has a new ‘--no-build-hook’ option
649 *** ‘guix’ commands that build packages have a common set of options
650 *** ‘guix hash’ has a new ‘--recursive’ option
651 *** Daemon no longer bind-mounts the host’s /dev (improves reproducibility)
652 ** Programming interfaces
653 *** New (guix pk-crypto) and (guix pki) modules for public key cryptography
654 *** New #:local-build? parameter for derivations that shouldn’t be offloaded
655 *** (gnu system vm) has procedures to build VMs that share the host’s store
656 *** New ‘text-file*’ procedure in (guix monads)
657 *** System service definitions are now provided by the (guix services) modules
658 *** New X and SLiM services in (gnu services xorg)
659 *** New (guix git-download) and (guix svn-download) for git/svn checkouts
660 ** GNU distribution
661 *** 91 new packages
663 a2ps, asciidoc, aspell-dict-en, aspell-dict-eo, aspell-dict-es,
664 aspell-dict-fr, aumix, bitlbee, bogofilter, boost, calcurse, clusterssh,
665 corkscrew, cursynth, docbook-xml, docbook-xsl, elfutils, enscript, fftwf,
666 fltk, fuse, gcc-toolchain, giflib, glade, gmime, gnome-desktop, gnubg, gnubik,
667 gnumach-headers, gnunet, gnuplot, gnurl, gphoto2, gtkglext, guile-json,
668 guile-reader-for-guile_2.0.11, gxmessage, hdf5, hurd-headers, inkscape, iotop,
669 isc-dhcp, iso-codes, jnettop, libatomic-ops, libexif, libgphoto2, libmpcdec,
670 libmpdclient, libotr, libpcap, libpeas, libpipeline, libtirpc, libwebsockets,
671 ltrace, luajit, lynx, man-db, mc, mig, miniupnpc, moe, mpc123, mpd, ncdc,
672 ncdu, ncmpc, neon, neon, octave, opus, paperkey, patchutils, perl-tk,
673 perl-x11-protocol, pinentry, python2-element-tree, python2-pybugz, quilt,
674 source-highlight, stalonetray, trueprint, ttf-dejavu, unionfs-fuse,
675 unionfs-fuse-static, uucp, vera, windowmaker, xapian, xterm
677 *** 90 package updates
679 apl-1.3, autoconf-2.68, automake-1.14.1, bash-4.3, bash-light-4.3,
680 bigloo-4.1a, binutils-2.24, binutils-static-stripped-tarball-2.24,
681 coreutils-8.22, curl-7.35.0, ed-1.10, ffmpeg-2.1.4, file-5.18, freeipmi-1.4.1,
682 gcc-4.8.2, gcc-4.8.2, gdb-7.7, gdbm-1.11, gettext-0.18.3.2, glib-2.39.1,
683 glibc-2.19, glibc-stripped-tarball-2.19, global-6.2.12, glpk-4.54,
684 gnu-pw-mgr-1.2, gnupg-1.4.16, gnutls-3.2.12, gp2c-0.0.8pl1, grep-2.18,
685 gst-plugins-base-0.10.36, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-2.24.2,
686 guile-2.0.11, guile-ssh-0.6.0, guile-static-stripped-tarball-2.0.11,
687 guile-wm-1.0, guile-xcb-1.3, guix-0.5, help2man-1.45.1, icu4c-52.1,
688 imagemagick-6.8.8-10, inetutils-1.9.2, lapack-3.5.0, libcdio-0.92,
689 libdrm-2.4.46, libextractor-1.3, libgc-7.2e, libgc-7.4.0, libgcrypt-1.6.1,
690 libjpeg-9, libmicrohttpd-0.9.34, libssh-0.6.3, libtasn1-3.4, lightning-2.0.3,
691 linux-libre-3.13.7, mpc-1.0.2, mutt-1.5.23, net-base-5.2, ocrad-0.23,
692 openssh-6.6p1, openssl-1.0.1g, parallel-20140322, pari-gp-2.7.0, pspp-0.8.2,
693 pulseaudio-5.0, python-2.7.6, python-3.3.5, python-wrapper-3.3.5,
694 python2-pysqlite-2.6.3a, qemu-1.7.1, qemu-headless-1.7.1,
695 qemu-with-multiple-smb-shares-1.7.1, qt-4.8.5, qt-5.2.0, readline-6.3,
696 recutils-1.7, slim-1.3.6, sqlite-3.8.4.3, subversion-1.7.14, texinfo-4.13a,
697 tor-0.2.4.21, tzdata-2014a, units-2.11, valgrind-3.9.0, vim-7.4, wget-1.15,
698 xnee-3.18, xorriso-1.3.6.pl01, zile-2.4.11
700 *** New ‘gcc-toolchain’ meta-package, makes it easy to install a GCC tool chain
701 *** libc’s Info manual is now installed
702 *** Binutils is built with --enable-deterministic-archives
703 *** Packages that populated man/man* now populate share/man/man*
704 *** Many other packaging improvements
705 ** Bugs fixed
706 *** ‘guix pull’ consumes less memory, compiles in parallel
707 *** ‘guix package --list-*’ gracefully handles EPIPE when used in a pipeline
708 *** ‘guix package’ handles collisions between a symlink and a directory
709     (http://bugs.gnu.org/17083)
710 *** HTTP downloads provide a ‘User-Agent’ field (http://bugs.gnu.org/16703)
711 *** ‘guix package’ no longer shows misleading installed package number
712     (http://bugs.gnu.org/16484)
713 *** Manual suggests ‘useradd --system’ (http://bugs.gnu.org/16289)
714 *** Python is built with ctypes support (http://bugs.gnu.org/16569)
715 *** HTTP/TLS connection not terminated properly (http://bugs.gnu.org/14884)
716 *** Gracefully handle poorly behaved HTTP servers (http://bugs.gnu.org/15733)
718 * Changes in 0.5 (since 0.4)
719 ** Package management
720 *** GNU package descriptions synchronized with the ‘gnumaint’ repository
722 In addition to synopses, descriptions of GNU packages are now kept in sync
723 with the ‘gnumaint’ repository, which is the canonical place for GNU package
724 meta-data.
726 ** Programming interfaces
727 *** Patches are now listed as part of ‘origin’
729 The ‘origin’ form supports two new fields: ‘patches’ (list of patches), and
730 ‘snippet’ (code snippet to modify the source.)  These are applied when running
731 ‘guix build --source’.  See “Defining Packages” in the manual.
733 *** New (guix monads) monadic interface to operate on the store
735 See “The Store Monad” in the manual.  The (gnu system …) modules have been
736 rewritten to use this monadic interface.
738 *** New (guix profiles) module
740 It provides an API for dealing with profiles, as with the ‘guix package’
741 command.
743 *** New (gnu system) module
745 This module provides a generic way to describe the system’s configuration,
746 and to instantiate it, regardless of the final medium (QEMU image, etc.)
747 See “System Configuration” in the manual.
749 This is work in progress.  Send feedback to guix-devel@gnu.org!
751 *** ‘build-expression->derivation’ uses more parameters
753 Some positional parameters have been changed to keyword parameters.
754 See “Derivations” in the manual.
756 ** GNU distribution
757 *** New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’)
759 Bootstrap binaries have been built for that architecture, and several
760 Loongson-specific patches not yet available upstream have been applied to core
761 packages.  See “GNU Distribution” and “Porting” in the manual.
763 Pre-built binaries are not yet available via hydra.gnu.org, so Guix will
764 build from source on this platform.
766 *** 110 new packages
768 acct, alive, alsa-utils, apl, at-spi2-atk, at-spi2-core, atkmm, autogen,
769 automoc4, brasero, bridge-utils, cairomm, catkin, complexity, evince, ffmpeg,
770 fftw, ftgl, gcc-objc, gcc-objc++, gccgo, gcl, gfortran, glibmm, glpk,
771 gnome-icon-theme, gnu-pw-mgr, gp2c, gpgme, gsettings-desktop-schemas, gtkmm,
772 gtksourceview, guile-ssh, guile-wm, gvpe, hicolor-icon-theme, httpd, icecat,
773 icon-naming-utils, json-c, lapack, libcanberra, libcap, libgnome-keyring,
774 libmikmod, libnl, libnotify, libsamplerate, libsigc++, libsndfile, libssh,
775 libtheora, libxkbcommon, mercurial, mtools, netcat, pangomm, parallel,
776 pavucontrol, pciutils, pem, perl-encode-locale, perl-file-list,
777 perl-file-listing, perl-html-parser, perl-html-tagset, perl-http-cookies,
778 perl-http-daemon, perl-http-date, perl-http-message, perl-http-negotiate,
779 perl-io-html, perl-libwww, perl-libxml, perl-lwp-mediatypes, perl-net-http,
780 perl-uri, perl-www-robotrules, perl-xml-dom, perl-xml-regexp, perl-xml-simple,
781 phonon, powertop, pulseaudio, python2-dogtail, python2-empy, qemu-headless,
782 qt, qt, raptor2, scons, sdl, sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf,
783 sdl2, serveez, shared-mime-info, sharutils, skribilo, slim, soprano, swig,
784 xcb-util, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm
786 *** 47 package updates
788 atk 2.10.0, bison 3.0.2, cmake 2.8.12, dmd 0.1, freeipmi 1.3.3, gcc 4.8.2,
789 gcc 4.8.2, gcc-cross-mips64el-linux-gnuabi64 4.8.2, gcc-stripped-tarball 4.8.2,
790 gdb 7.6.2, gettext 0.18.3.1, glib 2.38.0, global 6.2.9, gmp 5.1.3,
791 gnupg 2.0.22, gobject-introspection 1.38.0, grep 2.15, gsl 1.16,
792 gtk+ 2.24.21, gtk+ 3.10.1, guile 2.0.9, guile 2.0.9, guile-xcb 1.2,
793 harfbuzz 0.9.22, hello 2.9, iproute2 3.12.0, libdrm 2.4.46,
794 libextractor 1.2, libjpeg 9, libmicrohttpd 0.9.32, lightning 2.0.2,
795 linux-libre 3.12, lzip 1.15, make 4.0, mit-krb5 1.11.3, pari-gp 2.5.5,
796 pixman 0.32.4, python 3.3.2, qemu 1.6.1,
797 qemu-with-multiple-smb-shares 1.6.1, rcs 5.9.2, recutils 1.6, rsync 3.1.0,
798 tar 1.27.1, texinfo 5.2, units 2.02, xorriso 1.3.2
800 *** Packages are now built with GCC 4.8.2 by default (was 4.7.3)
802 ** Native language support
803 *** New ‘sr’ (Serbian) translation
804 *** New ‘vi’ (Vietnamese) translation
805 *** Updated ‘pt_BR’ (Brazilian Portuguese) translation
806 ** Bugs fixed
807 *** ‘guix pull’ compiles Guix deterministically and correctly
809 Previously, the build environment was not cleared in between ‘compile-file’
810 calls, leading to build errors due to Guile bug http://bugs.gnu.org/15602 .
812 *** ‘guix package’ allows removal of a specific package output
813     (http://bugs.gnu.org/15756)
814 *** ‘guix-daemon’ always sets umask to 022
815     (http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html)
816 *** Files referenced by environment variables are protected from GC
817 *** Yet unbuilt packages get correctly installed (http://bugs.gnu.org/15283)
818 *** ‘bootstrap-graph.{png,eps,pdf}’ built in srcdir (http://bugs.gnu.org/15640)
820 * Changes in 0.4 (since 0.3)
822 ** Package management
824 *** New ‘--list-generations’ and ‘--delete-generations’ options
826 The ‘guix package’ command has these two new options, which make it easier to
827 deal with a profile’s generation.  See “Invoking guix package” in the manual.
829 *** New ‘guix-register’ program
831 This program allows the meta-data of a new store to be initialized, by
832 copying info from an existing store.  It is mostly an internal tool.
834 ** Programming interfaces
836 *** New API to bootstrap Autotools-based packages
838 The (guix build-system gnu) has a new ‘dist-package’ procedure that takes a
839 package object and source directory, and returns a new package object that
840 runs ‘./bootstrap && make dist’ or anything similar.
842 *** ‘derivation’ and related procedures have a #:references-graphs parameter
844 This parameter instructs the build daemon to populate the derivation’s build
845 tree with files containing the list of references of the given store files.
846 This is useful to write code that copies a packages and all its dependencies
847 to another storage device, such as a QEMU disk image.
849 *** Extended API to build a GNU system virtual machine image
851 The (gnu system vm) module has been augmented in many ways: the ‘qemu-image’
852 procedure can now populate and initialize the image’s store; the new
853 ‘system-qemu-image’ procedure returns a QEMU image that runs dmd as its init
854 system, has ‘login’ running on several consoles, has a set of installed
855 packages, and where Guix can be used.
857 New (gnu system …) modules have been added to handle the configuration of the
858 various parts of a GNU/Linux system.  For instance, (gnu system dmd) provides
859 support for instantiating dmd services; (gnu system linux) helps with Linux
860 PAM configuration; and so on.
862 *** <derivation> objects supersede .drv file names in the API
864 ‘derivation’ and similar procedures no longer return two values (a
865 <derivation> and a .drv file name); they now return a single value, which is
866 a <derivation> object.  The <derivation> object embeds the corresponding .drv
867 file name.  See “Derivations” in the manual for details.
869 ** GNU distribution
871 *** 60 new packages
873 apr, apr-util, cdparanoia, dbus-glib, dfc, dmd, dvdisaster, exiv2, fetchmail,
874 freefont-ttf, freeglut, geeqie, git, gkrellm, glu, gnome-doc-utils,
875 gst-plugins-base, gstreamer, guile-cairo, guile-lib, guile-xcb, guix, htop,
876 itstool, lame, libextractor, libmicrohttpd, lightning, lzip, mingetty, mutt,
877 net-base, net-tools, ocrad, pspp, python-babel, python-dateutil, python-pytz,
878 python-setuptools, python-simplejson, python-wrapper, python2-babel,
879 python2-dateutil, python2-mechanize, python2-pyicu, python2-pysqlite,
880 python2-pytz, python2-setuptools, python2-simplejson, qemu-system-initrd,
881 qemu-with-multiple-smb-shares, ripperx, shadow, ttf-bitstream-vera, units,
882 valgrind, xmlto, xnee, yasm
884 *** 27 package updates
886 bigloo 4.0b, cairo 1.12.16, ddrescue 1.17, fontconfig 2.10.93, fplll 4.0.4,
887 gcc 4.7.3, gcc 4.7.3, glibc 2.18, glibc 2.18, glibc-stripped-tarball 2.18,
888 gnupg 2.0.21, gnutls 3.2.4, guile 2.0.9, guile 2.0.9, harfbuzz 0.9.21,
889 imagemagick 6.8.6-9, libdrm 2.4.46, libgcrypt 1.5.3, libjpeg 9, libksba 1.3.0,
890 linux-libre 3.11, m4 1.4.17, mpfrcx 0.4.2, pari-gp 2.5.4, python 2.7.5, python
891 3.3.2, texlive 2013
893 *** Fontconfig font search path made more convenient
895 Fontconfig, the library used by many graphical applications, such as those
896 based on GTK+, now knows where to find the default set of fonts.  Additional
897 fonts installed in the user profile are automatically picked up.
899 *** More GUI applications
901 The ‘emacs’ and ‘racket’ packages are now linked against GTK+.  New GTK+
902 applications have been added (see above.)
904 *** Packaging guidelines
906 The documentation of packaging guidelines has been augmented.  See the manual
907 under “GNU Distribution”.
909 *** Support for Python 3 along with Python 2
911 Python 3 has been added to the distribution, and Python packages that support
912 it are now built for both Python 2 and Python 3.  See the “Python Modules”
913 section of the manual for details.
915 ** Internationalization
917 Updated translations: eo.
919 ** Bugs fixed
921 *** Workarounds for Guile 2.0.5 now work on Debian derivatives
922 *** The dependency graph image has correct size in PDF output
923 *** 'ldd' now works correctly on x86_64
924 *** Xorg server test suite no longer fails (http://bugs.gnu.org/15392)
925 *** module-init-tools now builds (http://bugs.gnu.org/15182, http://bugs.gnu.org/15187)
926 *** Hop 2.4 builds with newer Bigloo (http://bugs.gnu.org/15194)
928 * Changes in 0.3 (since 0.2)
930 ** Package management
932 *** Cross-compilation support
934 Guix can now cross-build packages.  On the command-line, this is achieved with
935 the new ‘--target’ command-line option of ‘guix build’.  At the Scheme level,
936 the guts of this is the ‘package-cross-derivation’ procedure.  Core packages
937 of the distribution can already be cross-compiled.  See the manual for
938 details.
940 *** New ‘--max-silent-time’ option for “guix build” and “guix package”
942 See the manual for details.
944 *** New ‘--fallback’ option for “guix build” and “guix package”
946 This option instructs to fall back to local builds when the substituter fails
947 to download a substitute.
949 *** New ‘--requisites’ option for “guix gc”
951 See the manual for details.
953 *** New ‘--key-download’ option for “guix refresh”
955 See the manual for details.
957 ** Programming interfaces
959 *** New ‘package-cross-derivation’ procedure in (guix derivations)
961 See the manual for details.
963 *** New ‘%current-target-system’ SRFI-39 parameter
965 This parameter is like ‘%current-system’, but for cross-compilation.  It
966 allows code in package definitions (such as in the ‘arguments’ field) to know
967 whether it is being cross-compiled, and what the target system is.
969 *** New (guix hash) module; new ‘open-sha256-port’ and ‘sha256-port’ procedures
971 This improves performance of SHA256 computations.
974 ** GNU distribution
976 *** 33 new packages
978 alsa-lib, babel, cairo, cvs, gcal, gcc-cross-mips64el-linux-gnuabi64, gd,
979 gdk-pixbuf, graphviz, grue-hunter, gtk+, gts, harfbuzz, imagemagick, iproute2,
980 iptables, libspectre, mpg321, noweb, pango, plotutils, privoxy, pytz, racket,
981 rubber, rush, strace, tk, torsocks, unrtf, vc-dwim, wordnet, xlockmore
983 *** 25 package updates
985 automake 1.14, ed 1.9, freeipmi 1.2.8, gawk 4.1.0, gcc 4.8.1, gettext 0.18.3,
986 glib 2.37.1, gmp 5.1.2, gnutls 3.2.1, gzip 1.6, help2man 1.43.3, libapr 1.4.8,
987 libaprutil 1.5.2, libassuan 2.1.1, libffi 3.0.13, libgc 7.2d, libgpg-error
988 1.12, libidn 1.28, libpng 1.5.17, lout 3.40, lsh 2.1, nettle 2.7.1, qemu
989 1.5.1, tzdata 2013d, xorriso 1.3.0
991 *** Binary packages now available for i686-linux
993 The build farm at http://hydra.gnu.org now provides 32-bit GNU/Linux binaries
994 (i686-linux), in addition to the x86_64-linux binaries.  Both can be
995 transparently used as substitutes for local builds on these platforms.
997 *** Debug info packages
999 Some packages now have a “debug” output containing debugging information.  The
1000 “debug” output can be used by GDB, and can be installed separately from the
1001 other outputs of the package.  See “Installing Debugging Files” in the manual.
1003 *** Bootstrap binaries can be cross-compiled
1005 The distribution can now be ported to new architectures (currently
1006 GNU/Linux-only) by cross-compiling the “bootstrap binaries”.  See “Porting”
1007 in the manual.
1009 *** Bootstrapping documented
1011 See “Bootstrapping” in the manual, for information on how the GNU
1012 distribution builds “from scratch”.
1014 ** Internationalization
1016 New translations: eo, pt_BR.
1018 ** Bugs fixed
1019 *** “guix --help” now works when using Guile 2.0.5
1020 *** Binary substituter multi-threading and pipe issues fixed
1022 These could lead to random substituter crashes while substituting a binary.
1023 See commits 0332386 and 101d9f3 for details.
1025 *** Binary substituter gracefully handles lack of network connectivity
1027 *** Daemon properly handles rebuilds of multiple-output derivations
1029 Previously it would fail when rebuilding a multiple-output derivation when
1030 some (but not all) of its outputs were already present.  See
1031 http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00038.html and
1032 https://github.com/NixOS/nix/issues/122 .
1034 *** ‘guix package -i foo:out’ no longer removes other outputs of ‘foo’
1036 Previously only the ‘out’ output of package ‘foo’ would be kept in the
1037 profile.
1039 *** Replacement (srfi srfi-37) provided if the user’s one is broken
1041 When the user’s (srfi srfi-37) is affected by http://bugs.gnu.org/13176 (Guile
1042 < 2.0.9), a replacement with the bug fix is provided.  This bug would affect
1043 command-line argument processing in some cases.
1045 * Changes in 0.2 (since 0.1)
1047 ** Package management
1049 *** Guix commands are now sub-commands of the “guix” program
1051 Instead of typing “guix-package”, one now has to type “guix package”, and so
1052 on.  This has allowed us to homogenize the user interface and initial program
1053 setup, and to allow commands to be upgradable through “guix pull”.
1055 *** New “guix package --upgrade” option
1057 As the name implies, this option atomically upgrades all the packages
1058 installed in a profile or the set of packages matching a given regexp.
1059 See “Invoking guix package” in the manual.
1061 *** New “guix package --search” option
1063 Performs a full text search in package synopses and descriptions, and returns
1064 the matching packages in recutils format.  See “Invoking guix package” in the
1065 manual, for details.
1067 *** New “guix pull” command
1069 The command pulls the latest version of Guix–both the package management
1070 modules and the distribution.  See the manual for details.
1072 *** New binary substituter
1074 The “substituter” mechanism allows pre-built binaries to be transparently
1075 downloaded instead of performing a build locally.  Currently binaries are
1076 available for x86_64 Linux-based GNU systems from http://hydra.gnu.org.  The
1077 distribution is continuously built and binaries are made available from there.
1079 See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
1080 available binary packages.
1082 *** New “guix refresh” command
1084 The command is used by Guix maintainers.  It automatically updates the
1085 distribution to the latest upstream releases of GNU software.
1087 *** New “guix hash” command
1089 Convenience command to compute the hash of a file.  See the manual for
1090 details.
1092 *** Nix daemon code updated
1094 The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated
1095 to current Nix ‘master’.
1097 ** Programming interfaces
1099 *** (guix download) now supports HTTPS, using GnuTLS
1101 It allows package source tarballs to be retrieved over HTTPS.
1103 *** New ‘native-search-path’ and ‘search-path’ package fields
1105 Packages can define in their ‘native-search-path’ field environment variables
1106 that define search paths and need to be set for proper functioning of the
1107 package.  For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
1108 ‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
1109 These environment variables are automatically set when building a package that
1110 uses one of these.
1112 *** Package inputs can be a function of the target system type
1114 The ‘inputs’ field of a package can now be conditional on the value of
1115 (%current-system).  This is useful for packages that take system-dependent
1116 tarballs as inputs, such as GNU/MIT Scheme.
1118 *** New build systems
1120 The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
1121 been added.  They implement the standard build systems for Perl, Python, and
1122 CMake packages.
1124 *** Tools to build Linux initrds, QEMU images, and more
1126 The (gnu packages linux-initrd) module provides a procedure to build a Linux
1127 initrd (“initial RAM disk”).  The initrd embeds Guile, which is used to
1128 evaluate the given expression.  The example below returns an initrd that
1129 mounts the /proc file system and starts a REPL:
1131   (expression->initrd
1132     '(begin
1133        (mkdir "/proc")
1134        (mount "none" "/proc" "proc")
1135        ((@ (system repl repl) start-repl))))
1137 More examples in the linux-initrd.scm file.
1139 Experimental interfaces to produce and use QEMU images are provided by the
1140 (gnu system vm) module.  For instance, the
1141 ‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in
1142 a QEMU virtual machine running the Linux kernel and Guile.
1144 ** GNU distribution
1146 Many updates and additions have been made to the distribution.  Here are the
1147 highlights.
1149 *** Major updates
1151 GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
1152 Coreutils 8.20, GDB 7.6, Texinfo 5.1.
1154 *** Noteworthy new packages
1156 TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
1157 CHICKEN, Scheme48, Hugs, Python, Lua, Samba.