gnu: mozjs: Mark as unsupported on mips64el-linux.
[jackhill/guix/guix.git] / NEWS
1 -*- org -*-
2 #+TITLE: Guix NEWS – history of user-visible changes
3 #+STARTUP: content hidestars
4
5 Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
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
11 Please send Guix bug reports to bug-guix@gnu.org.
12
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
19 See “Invoking guix system” in the manual.
20
21 *** Emacs mode now automatically loads newly installed Emacs packages
22
23 See “Emacs Initial Setup” in the manual.
24
25 *** ‘guix-daemon’ now defaults to ‘--cores=0 --jobs=1’
26
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.
30
31 *** Command-line tools support the ‘GUIX_BUILD_OPTIONS’ environment variable
32
33 See “Invoking guix build” in the manual.
34
35 *** ‘guix environment’ is faster
36
37 *** New ‘--recursive’ option for ‘guix archive’
38
39 See “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
45 The new checkers are ‘gnu-description’, ‘home-page’, and ‘source’.
46 See “Invoking guix lint” in the manual.
47
48 *** New CPAN importer for ‘guix import’
49
50 See “Invoking guix import” in the manual.
51
52 ** Distribution
53
54 *** USB installation image has more tools
55
56 Tools added since 0.8: wpa_supplicant, cryptsetup, and iw.
57
58 *** Linux kernel module dependencies are automatically handled
59
60 Before that, all the modules needed in the initrd would need to be explicitly
61 listed, including their dependencies, and in topological order.
62
63 *** Font packages now all have a name starting with ‘font-’
64
65 See “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
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.
72
73 *** The ‘root’ account gets a copy of the account skeleton files
74
75 Before that, the skeleton files would only be copied to non-root accounts.
76
77 *** The name service cache daemon (nscd) is configurable
78
79 By default it aggressively caches host and service lookups. See “Base
80 Services” in the manual.
81
82 *** Available locale definitions are now declared in ‘operating-system’
83
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.
86
87 *** SLiM sessions are configurable
88
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.
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
96 If 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
106 *** 164 new packages
107
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
138
139 *** 222 package updates
140
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
195
196 ** Programming interfaces
197
198 *** New (guix elf) and (gnu build linux-modules) modules
199
200 These 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
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.
207
208 *** ‘search-path-specification’ can now specify non-directory items
209
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.
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
218 bindings 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
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.
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)
270 *** Updated translation: eo, vi
271
272 * Changes in 0.8 (since 0.7)
273
274 ** Package management
275
276 *** New visual user interface in Emacs
277
278 See “Emacs Interface” in the manual.
279
280 *** New ‘guix environment’ command to produce development environment
281
282 See “Invoking guix environment” in the manual.
283
284 *** The ‘guix import’ command has been extended and documented
285
286 It can now import packages from pypi.python.org and from GNU.
287 See “Invoking guix import” in the manual.
288
289 *** New ‘guix lint’ command, for use by Guix developers
290
291 See “Invoking guix lint” in the manual.
292
293 *** Packages can now be “grafted” with replacements of their dependencies
294
295 See “Security Updates” in the manual.
296
297 *** The distribution can be extended with ‘--load-path’ or $GUIX_PACKAGE_PATH
298
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.
301
302 *** ‘guix package’ better reports package upgrades
303
304 *** ‘guix package’ has a new ‘--switch-generation’ option
305
306 See “Invoking guix package” in the manual.
307
308 *** ‘guix-daemon’ has a new ‘--substitute-urls’ option
309
310 See “Invoking guix-daemon” in the manual.
311
312 ** Distribution
313
314 *** The stand-alone operating system now supports Linux mapped devices
315
316 See “Mapped Devices” in the manual.
317
318 *** New fields in ‘operating-system’ declarations, better documentation
319
320 New fields include ‘hosts-file’, ‘mapped-devices’, and ‘swap-devices’.
321 See “operating-system Reference” in the manual.
322
323 *** New services: ‘dhcp-client-service’, ‘bitlbee-service’, ‘ntp-service’
324
325 See “Services” in the manual.
326
327 *** Free firmware can be loaded
328
329 This notably enables support for some Atheros-based WiFi devices (ath9k-htc.)
330 See “operating-system Reference” in the manual.
331
332 *** ‘grub-configuration’ declarations can now specify a theme
333
334 See “GRUB Configuration” in the manual.
335
336 *** The ‘base-initrd’ now has a different signature
337
338 Existing 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
345 See “Invoking guix system” in the manual.
346
347 *** The ‘file’ command is now part of the package build environment
348
349 Autoconf-generated ‘configure’ scripts for packages using Libtool use ‘file’
350 to determine the target ABI, notably on MIPS, hence this change.
351
352 *** 162 new packages
353
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
385
386 *** 117 package updates
387
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
413
414 ** Programming interfaces
415
416 *** New ‘ruby-build-system’, for Ruby packages
417
418 See “Build Systems” in the manual.
419
420 *** New ‘glib-or-gtk-build-system’, for packages using GLib schemas
421
422 See “Build Systems” in the manual.
423
424 *** ‘gnu-build-system’ has a new #:substitutable? parameter
425
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.
428
429 *** ‘cmake-build-system’ has a new #:build-type parameter
430
431 See “Build Systems” in the manual.
432
433 *** The ‘supported-systems’ field of packages is used more consistently
434
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.
439
440 *** The ‘wrap-program’ procedure can now be called multiple times
441
442 *** New ‘graft-derivations’ and ‘package-grafts’ procedures
443
444 They 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
449 and derivations. See “Build Systems” in the manual.
450
451 *** New (guix monad-repl) module, for monadic interaction at the REPL
452
453 See “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
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.
465
466 *** (guix profiles) provides a representation of package transactions
467
468 This factorizes code between ‘guix package’ and the Emacs user interface.
469
470 *** Bootstrapping packages moved to (gnu packages commencement) modules
471
472 ** Bugs fixed
473
474 *** ‘guix-daemon’ now really deduplicates store items by default
475
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’.
480
481 *** ‘guix-daemon’ no longer uses ‘vfork’
482
483 This 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>)
513 *** WindowMaker no longer pollutes $PATH (<http://bugs.gnu.org/18698>)
514
515 ** Native language support
516 *** New translation: cs (Czech)
517 *** Updated translations: de, sr, vi
518
519 * Changes in 0.7 (since 0.6)
520 ** Package management
521 *** Binaries for mips64el-linux now available from hydra.gnu.org
522
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.
526
527 *** ‘guix package’ has a new ‘--show’ option
528 *** ‘guix refresh’ has a new ‘--list-dependent’ option
529
530 ** Programming interfaces
531 *** New (guix gexp) module, which implements “G-expressions”
532
533 G-expressions are a new mechanism to embed build-side code in host-side
534 code. See “G-Expressions” in the manual.
535
536 *** (gnu system) and related modules now use G-expressions
537
538 This greatly simplifies code, and guarantees that build code carries
539 references 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
552 This 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
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!
560
561 *** Support for more parameters in ‘operating-system’ declarations
562
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.
566
567 *** ‘guix system’ supports more actions
568
569 Newly supported actions are ‘init’, ‘build’, ‘reconfigure’, and ‘disk-image’.
570 See “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>)
576 *** 134 new packages
577
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
597
598 *** 87 package updates
599
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
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
634 * Changes in 0.6 (since 0.5)
635 ** Package management
636 *** Default store directory changed to /gnu/store
637
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.
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
661 *** 91 new packages
662
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
676
677 *** 90 package updates
678
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
699
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
718 * Changes in 0.5 (since 0.4)
719 ** Package management
720 *** GNU package descriptions synchronized with the ‘gnumaint’ repository
721
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.
725
726 ** Programming interfaces
727 *** Patches are now listed as part of ‘origin’
728
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.
732
733 *** New (guix monads) monadic interface to operate on the store
734
735 See “The Store Monad” in the manual. The (gnu system …) modules have been
736 rewritten to use this monadic interface.
737
738 *** New (guix profiles) module
739
740 It provides an API for dealing with profiles, as with the ‘guix package’
741 command.
742
743 *** New (gnu system) module
744
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.
748
749 This is work in progress. Send feedback to guix-devel@gnu.org!
750
751 *** ‘build-expression->derivation’ uses more parameters
752
753 Some positional parameters have been changed to keyword parameters.
754 See “Derivations” in the manual.
755
756 ** GNU distribution
757 *** New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’)
758
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.
762
763 Pre-built binaries are not yet available via hydra.gnu.org, so Guix will
764 build from source on this platform.
765
766 *** 110 new packages
767
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
785
786 *** 47 package updates
787
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
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
807 *** ‘guix pull’ compiles Guix deterministically and correctly
808
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 .
811
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)
819
820 * Changes in 0.4 (since 0.3)
821
822 ** Package management
823
824 *** New ‘--list-generations’ and ‘--delete-generations’ options
825
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.
828
829 *** New ‘guix-register’ program
830
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.
833
834 ** Programming interfaces
835
836 *** New API to bootstrap Autotools-based packages
837
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.
841
842 *** ‘derivation’ and related procedures have a #:references-graphs parameter
843
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.
848
849 *** Extended API to build a GNU system virtual machine image
850
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.
856
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.
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
866 a <derivation> object. The <derivation> object embeds the corresponding .drv
867 file name. See “Derivations” in the manual for details.
868
869 ** GNU distribution
870
871 *** 60 new packages
872
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
883
884 *** 27 package updates
885
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
892
893 *** Fontconfig font search path made more convenient
894
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.
898
899 *** More GUI applications
900
901 The ‘emacs’ and ‘racket’ packages are now linked against GTK+. New GTK+
902 applications have been added (see above.)
903
904 *** Packaging guidelines
905
906 The documentation of packaging guidelines has been augmented. See the manual
907 under “GNU Distribution”.
908
909 *** Support for Python 3 along with Python 2
910
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.
914
915 ** Internationalization
916
917 Updated translations: eo.
918
919 ** Bugs fixed
920
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)
927
928 * Changes in 0.3 (since 0.2)
929
930 ** Package management
931
932 *** Cross-compilation support
933
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.
939
940 *** New ‘--max-silent-time’ option for “guix build” and “guix package”
941
942 See the manual for details.
943
944 *** New ‘--fallback’ option for “guix build” and “guix package”
945
946 This option instructs to fall back to local builds when the substituter fails
947 to download a substitute.
948
949 *** New ‘--requisites’ option for “guix gc”
950
951 See the manual for details.
952
953 *** New ‘--key-download’ option for “guix refresh”
954
955 See the manual for details.
956
957 ** Programming interfaces
958
959 *** New ‘package-cross-derivation’ procedure in (guix derivations)
960
961 See the manual for details.
962
963 *** New ‘%current-target-system’ SRFI-39 parameter
964
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.
968
969 *** New (guix hash) module; new ‘open-sha256-port’ and ‘sha256-port’ procedures
970
971 This improves performance of SHA256 computations.
972
973
974 ** GNU distribution
975
976 *** 33 new packages
977
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
982
983 *** 25 package updates
984
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
990
991 *** Binary packages now available for i686-linux
992
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.
996
997 *** Debug info packages
998
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.
1002
1003 *** Bootstrap binaries can be cross-compiled
1004
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.
1008
1009 *** Bootstrapping documented
1010
1011 See “Bootstrapping” in the manual, for information on how the GNU
1012 distribution builds “from scratch”.
1013
1014 ** Internationalization
1015
1016 New translations: eo, pt_BR.
1017
1018 ** Bugs fixed
1019 *** “guix --help” now works when using Guile 2.0.5
1020 *** Binary substituter multi-threading and pipe issues fixed
1021
1022 These could lead to random substituter crashes while substituting a binary.
1023 See commits 0332386 and 101d9f3 for details.
1024
1025 *** Binary substituter gracefully handles lack of network connectivity
1026
1027 *** Daemon properly handles rebuilds of multiple-output derivations
1028
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 .
1033
1034 *** ‘guix package -i foo:out’ no longer removes other outputs of ‘foo’
1035
1036 Previously only the ‘out’ output of package ‘foo’ would be kept in the
1037 profile.
1038
1039 *** Replacement (srfi srfi-37) provided if the user’s one is broken
1040
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.
1044
1045 * Changes in 0.2 (since 0.1)
1046
1047 ** Package management
1048
1049 *** Guix commands are now sub-commands of the “guix” program
1050
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”.
1054
1055 *** New “guix package --upgrade” option
1056
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.
1060
1061 *** New “guix package --search” option
1062
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.
1066
1067 *** New “guix pull” command
1068
1069 The command pulls the latest version of Guix–both the package management
1070 modules and the distribution. See the manual for details.
1071
1072 *** New binary substituter
1073
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.
1078
1079 See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
1080 available binary packages.
1081
1082 *** New “guix refresh” command
1083
1084 The command is used by Guix maintainers. It automatically updates the
1085 distribution to the latest upstream releases of GNU software.
1086
1087 *** New “guix hash” command
1088
1089 Convenience command to compute the hash of a file. See the manual for
1090 details.
1091
1092 *** Nix daemon code updated
1093
1094 The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated
1095 to current Nix ‘master’.
1096
1097 ** Programming interfaces
1098
1099 *** (guix download) now supports HTTPS, using GnuTLS
1100
1101 It allows package source tarballs to be retrieved over HTTPS.
1102
1103 *** New ‘native-search-path’ and ‘search-path’ package fields
1104
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.
1111
1112 *** Package inputs can be a function of the target system type
1113
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.
1117
1118 *** New build systems
1119
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.
1123
1124 *** Tools to build Linux initrds, QEMU images, and more
1125
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:
1130
1131 (expression->initrd
1132 '(begin
1133 (mkdir "/proc")
1134 (mount "none" "/proc" "proc")
1135 ((@ (system repl repl) start-repl))))
1136
1137 More examples in the linux-initrd.scm file.
1138
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.
1143
1144 ** GNU distribution
1145
1146 Many updates and additions have been made to the distribution. Here are the
1147 highlights.
1148
1149 *** Major updates
1150
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.
1153
1154 *** Noteworthy new packages
1155
1156 TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
1157 CHICKEN, Scheme48, Hugs, Python, Lua, Samba.