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