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