2 #+TITLE: Guix NEWS – history of user-visible changes
3 #+STARTUP: content hidestars
5 Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
7 Copying and distribution of this file, with or without modification,
8 are permitted in any medium without royalty provided the copyright
9 notice and this notice are preserved.
11 Please send Guix bug reports to bug-guix@gnu.org.
13 * Changes in 0.8.1 (since 0.8)
17 *** New ‘--share’ and ‘--expose’ options for ‘guix system vm’
19 See “Invoking guix system” in the manual.
21 *** Emacs mode now automatically loads newly installed Emacs packages
23 See “Emacs Initial Setup” in the manual.
25 *** ‘guix-daemon’ now defaults to ‘--cores=0 --jobs=1’
27 In other words, at any given time, only one derivation is being built or
28 substituted, and it can use as many cores as available. Before, there could
29 be N derivations using N cores, which was obviously not desirable.
31 *** Command-line tools support the ‘GUIX_BUILD_OPTIONS’ environment variable
33 See “Invoking guix build” in the manual.
35 *** ‘guix environment’ is faster
37 *** New ‘--recursive’ option for ‘guix archive’
39 See “Invoking guix archive” in the manual.
41 *** Missing patches required by a package definition are gracefully reported
43 *** ‘guix lint’ supports additional checkers
45 The new checkers are ‘gnu-description’, ‘home-page’, and ‘source’.
46 See “Invoking guix lint” in the manual.
48 *** New CPAN importer for ‘guix import’
50 See “Invoking guix import” in the manual.
55 *** USB installation image has more tools
57 Tools added since 0.8: wpa_supplicant, cryptsetup, and iw.
59 *** Linux kernel module dependencies are automatically handled
61 Before that, all the modules needed in the initrd would need to be explicitly
62 listed, including their dependencies, and in topological order.
64 *** Font packages now all have a name starting with ‘font-’
66 See “Fonts” in the manual.
68 *** Shell startup files have been cleaned up
70 /etc/profile contains only environment variable definitions, which may also be
71 used when running a different shell. The skeletons for user’s ‘.bash_profile’
72 and ‘.bashrc’ files behave as documented in the Bash manual. Zsh is supported.
74 *** The ‘root’ account gets a copy of the account skeleton files
76 Before that, the skeleton files would only be copied to non-root accounts.
78 *** The name service cache daemon (nscd) is configurable
80 By default it aggressively caches host and service lookups. See “Base
81 Services” in the manual.
83 *** Available locale definitions are now declared in ‘operating-system’
85 Before, the ‘glibc’ package would contain all the existing locales, as well as
86 the ‘locale-archive’ file, amounting to 110 MiB. See “Locales” in the manual.
88 *** SLiM sessions are configurable
90 Pressing F1 in the SLiM graphical log-in screen allows users to choose among
91 the pre-configured session types. See “X Window” in the manual.
93 *** Man pages and Info files are systematically gzip-compressed
95 *** ‘gnu-build-system’ ensures that documentation is in share/{man,info}
97 If a package installs to $prefix/{man,info}, this is automatically fixed to be
98 $prefix/share/{man,info}.
100 *** ‘strip’ is invoked only on ELF files and ‘ar’ archives
102 *** ‘libtool’ and ‘libltdl’ are now separate packages
104 *** Emacs mode is readily usable on the Guix System Distribution
106 *** Substitutes are now enabled by default on freshly installed systems
108 ** Programming interfaces
110 *** New (guix elf) and (gnu build linux-modules) modules
112 These provide resolution of Linux kernel module dependencies. See
113 <https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00670.html>.
115 *** ‘glib-or-gtk-build-system’ has been extended
117 It now handles GIO and XDG themes, takes care of generating the icon cache,
118 and has a new #:glib-or-gtk-wrap-excluded-outputs parameter.
120 *** ‘search-path-specification’ can now specify non-directory items
122 For example, the ‘search-path-specification’ attached to libxml2 specifies a
123 file pattern, which allows all the ‘catalog.xml’ files to be added to the
124 ‘XML_CATALOG_FILES’ environment variable.
126 *** (guix build syscalls) has more network-related procedures
128 ‘set-network-interface-flags’, ‘set-network-interface-address’,
129 ‘network-interface-address’, and ‘configure-network-interface’ are ioctl
130 bindings used by network-handling dmd services.
132 *** (guix monads) refactoring
134 ‘%store-monad’ is now in (guix store) and is an alias for the new
135 ‘%state-monad’ provided by (guix monads). Monadic procedures dealing with the
136 store, with derivations, and with packages have been moved from (guix monads)
137 to (guix store), (guix derivations), and (guix packages). See “The Store
138 Monad” in the manual.
140 *** (guix build utils) provides ‘parallel-job-count’
142 *** ‘wrap-program’ preserves the original argv[0]
144 *** New (guix sets) module
146 *** ‘define-record-type*’ now support “delayed” fields
148 ** Noteworthy bug fixes
150 *** X session is executed from a login shell (<http://bugs.gnu.org/19119>)
151 *** grub.cfg is now a garbage-collector root (<http://bugs.gnu.org/19160>)
152 *** Substituter progress report properly formatted
153 (<http://bugs.gnu.org/19313>)
154 *** Document permissions for /gnu/store (<http://bugs.gnu.org/19316>)
155 *** Make sure config.go is newer than config.scm
156 (<http://bugs.gnu.org/19317>)
157 *** Emacs knows where to find its GLib schemas (<http://bugs.gnu.org/19138>)
158 *** Adjust 'grub.cfg' to work on systems with a separate /boot
159 (<http://bugs.gnu.org/19220>)
160 *** Fix removal of next-to-last item in a profile
161 (<http://lists.gnu.org/archive/html/guix-devel/2014-12/msg00292.html>)
162 *** Apply patches with "patch --force" (<http://bugs.gnu.org/19402>)
163 *** Extend ‘search-path-specification’ for libxml2-style use cases
164 (<http://bugs.gnu.org/18033>)
165 *** Search for patches under $GUIX_PACKAGE_PATH (<http://bugs.gnu.org/19364>)
166 *** Use executables from the target inputs in 'patch-shebangs'
167 (<http://bugs.gnu.org/18895>)
168 *** guix-daemon now automatically creates '…/profiles/per-user'
169 (<http://bugs.gnu.org/19315>)
170 *** Make /etc/mtab a symlink to /proc/self/mounts
171 (<http://bugs.gnu.org/19491>)
172 *** Don't build the mips64el-linux-gnuabi64 cross-compiler on i686
173 (<http://bugs.gnu.org/19598>)
174 *** Read archive signatures as Latin-1 strings (<http://bugs.gnu.org/19610>)
175 *** Raise an error for references to non-existent outputs
176 (<http://bugs.gnu.org/19630>)
177 *** Initialize libgcrypt before use (<http://bugs.gnu.org/19677>)
179 ** Native language support
181 *** New translations: fr (French), hu (Hungarian)
182 *** Updated translation: eo
184 * Changes in 0.8 (since 0.7)
186 ** Package management
188 *** New visual user interface in Emacs
190 See “Emacs Interface” in the manual.
192 *** New ‘guix environment’ command to produce development environment
194 See “Invoking guix environment” in the manual.
196 *** The ‘guix import’ command has been extended and documented
198 It can now import packages from pypi.python.org and from GNU.
199 See “Invoking guix import” in the manual.
201 *** New ‘guix lint’ command, for use by Guix developers
203 See “Invoking guix lint” in the manual.
205 *** Packages can now be “grafted” with replacements of their dependencies
207 See “Security Updates” in the manual.
209 *** The distribution can be extended with ‘--load-path’ or $GUIX_PACKAGE_PATH
211 This allows users to maintain their own package definitions, and make them
212 visible to the various user interfaces. See “Package Modules” in the manual.
214 *** ‘guix package’ better reports package upgrades
216 *** ‘guix package’ has a new ‘--switch-generation’ option
218 See “Invoking guix package” in the manual.
220 *** ‘guix-daemon’ has a new ‘--substitute-urls’ option
222 See “Invoking guix-daemon” in the manual.
226 *** The stand-alone operating system now supports Linux mapped devices
228 See “Mapped Devices” in the manual.
230 *** New fields in ‘operating-system’ declarations, better documentation
232 New fields include ‘hosts-file’, ‘mapped-devices’, and ‘swap-devices’.
233 See “operating-system Reference” in the manual.
235 *** New services: ‘dhcp-client-service’, ‘bitlbee-service’, ‘ntp-service’
237 See “Services” in the manual.
239 *** Free firmware can be loaded
241 This notably enables support for some Atheros-based WiFi devices (ath9k-htc.)
242 See “operating-system Reference” in the manual.
244 *** ‘grub-configuration’ declarations can now specify a theme
246 See “GRUB Configuration” in the manual.
248 *** The ‘base-initrd’ now has a different signature
250 Existing uses in ‘operating-system’ declarations need to be updated. See
251 “Initial RAM Disk” in the manual for details.
253 *** eudev is now used by default, instead of an old udev release
255 *** ‘guix system vm’ has a new ‘--full-boot’ option
257 See “Invoking guix system” in the manual.
259 *** The ‘file’ command is now part of the package build environment
261 Autoconf-generated ‘configure’ scripts for packages using Libtool use ‘file’
262 to determine the target ABI, notably on MIPS, hence this change.
266 abiword, acpica, adns, arb, ath9k-htc-firmware, atlas, avrdude, cppunit,
267 dblatex, detox, dfu-programmer, dionysus, direvent, dmidecode, dri3proto,
268 emacs-no-x-toolkit, emacs-w3m, emacs-wget, enchant, eudev, feh, flashrom,
269 flint, fontforge, freedink, freeimage, fribidi,
270 gcc-cross-sans-libc-xtensa-elf, giblib, gnome-themes-standard, gpsbabel,
271 gpscorrelate, graphite2, gtypist, guile-charting, guile-sdl, imake, imlib2,
272 irrlicht, jbig2dec, libpsl, libspiro, libuninameslist, libwmf, lm-sensors,
273 magit, minetest, miscfiles, mozjs, mupdf, nix, nspr, nss-mdns, ntp, nvi, opam,
274 openal, openjpeg, opus-tools, orpheus, ots, oxygen-icons, paredit, perf,
275 perl-archive-zip, perl-dbd-sqlite, perl-dbi, perl-image-exiftool,
276 perl-io-socket-ssl, perl-net-ssleay, perl-www-curl, perl-zip, polkit,
277 polkit-qt, postgresql, potrace, presentproto, python-certifi, python-coverage,
278 python-cython, python-discover, python-docutils, python-exif-read,
279 python-extras, python-fixtures, python-itsdangerous, python-jinja2,
280 python-jsonschema, python-markupsafe, python-mimeparse, python-nose,
281 python-oauthlib, python-py, python-pygments, python-pyjwt, python-pyld,
282 python-pytest, python-scripttest, python-sphinx, python-subunit,
283 python-testrepository, python-testresources, python-testscenarios,
284 python-testtools, python-unidecode, python-unittest2, python-virtualenv,
285 python2-certifi, python2-coverage, python2-cython, python2-discover,
286 python2-docutils, python2-exif-read, python2-extras, python2-fixtures,
287 python2-itsdangerous, python2-jinja2, python2-jsonschema, python2-markupsafe,
288 python2-mimeparse, python2-nose, python2-oauthlib, python2-py,
289 python2-pygments, python2-pyjwt, python2-pyld, python2-pytest,
290 python2-requests, python2-scripttest, python2-sphinx, python2-subunit,
291 python2-testrepository, python2-testresources, python2-testscenarios,
292 python2-testtools, python2-unidecode, python2-unittest2, python2-virtualenv,
293 rrdtool, ruby, ruby, ruby-i18n, sane-backends, scrot, sound-theme-freedesktop,
294 stress, synergy, tdb, terminus-font, testdisk, texi2html, tiled, transfig,
295 unclutter, unixodbc, weechat, wv, xboing, xf86-video-modesetting, xfig,
298 *** 117 package updates
300 acct-6.6.2, acl-2.2.52, apl-1.4, apr-1.5.1, apr-util-1.5.3, autoconf-2.68,
301 autoconf-2.69, autogen-5.18.4, bash-4.3.30, bash-light-4.3.30, bazaar-2.6.0,
302 bison-2.7, calcurse-3.2.1, ccache-3.1.10, chicken-4.9.0.1, coreutils-8.23,
303 curl-7.37.1, datamash-1.0.6, dbus-1.8.8, docbook-xml-4.2, docbook-xml-4.4,
304 docbook-xml-4.5, emacs-24.4, ffmpeg-2.2.10, ffmpeg-2.4.3, file-5.19,
305 file-5.20, freeipmi-1.4.5, gcc-4.7.4, gcc-4.9.2, gcc-toolchain-4.9.2,
306 gcl-2.6.11, gdb-7.8.1, geiser-0.6, gettext-0.19.3, git-2.1.2, glibc-2.20,
307 glibc-2.20, glibc-stripped-tarball-2.20, global-6.3.2, glpk-4.55,
308 gnupg-1.4.18, gnupg-2.0.26, gnurl-7.37.0, gnutls-3.2.20, gpgme-1.5.1,
309 gst-plugins-base-1.0.10, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-3.9.16,
310 guile-1.8.8, guile-json-0.4.0, guile-ncurses-1.6, guile-ssh-0.7.1, guix-0.7,
311 guix-0.7.48bd76e, hello-2.10, help2man-1.46.3, icecat-31.2.0,
312 libart-lgpl-2.3.21, libassuan-2.1.3, libatomic-ops-7.4.2, libdrm-2.4.33,
313 libffi-3.1, libgc-7.2f, libgc-7.4.2, libgcrypt-1.5.4, libgcrypt-1.6.2,
314 libidn-1.29, libjpeg-9a, libotr-4.0.0, libsodium-1.0.0, libtasn1-4.1,
315 libunistring-0.9.4, libwebsockets-1.3, lightning-2.0.5, linux-libre-3.17.3,
316 lsof-4.88, lua-5.2.3, lvm2-2.02.109, lzip-1.16, make-4.1, maxima-5.34.1,
317 mit-scheme-9.2, mysql-5.1.73, neon-0.30.0, net-base-5.3, nettle-2.7.1,
318 notmuch-0.18.1, openssh-6.7p1, openssl-1.0.1j, parallel-20141022,
319 phonon-4.8.2, pspp-0.8.4, python-3.3.5, python-dateutil-1.5,
320 python2-dateutil-1.5, python2-pyicu-1.8, qt-4.8.6, qt-5.3.2, rcs-5.9.3,
321 readline-6.3, subversion-1.7.18, swig-3.0.2, tar-1.28, texinfo-5.2,
322 tor-0.2.5.10, transmission-2.84, ucommon-6.1.11, valgrind-3.10.0, vlc-2.1.5,
323 wget-1.16, windowmaker-0.95.6, xapian-1.2.18, xf86-video-ati-6.14.6,
324 xpdf-3.04, youtube-dl-2014.09.06
326 ** Programming interfaces
328 *** New ‘ruby-build-system’, for Ruby packages
330 See “Build Systems” in the manual.
332 *** New ‘glib-or-gtk-build-system’, for packages using GLib schemas
334 See “Build Systems” in the manual.
336 *** ‘gnu-build-system’ has a new #:substitutable? parameter
338 This allows packagers to mark a package as requiring a local build, thus
339 preventing it from being substituted by a pre-built binary.
341 *** ‘cmake-build-system’ has a new #:build-type parameter
343 See “Build Systems” in the manual.
345 *** The ‘supported-systems’ field of packages is used more consistently
347 This allows packagers to prevent attempts to build a package on a given
348 architecture when that architecture is known not to be supported. The
349 ‘package-transitive-supported-systems’ procedure returns the intersection of
350 the systems supported by the given package and by its dependencies.
352 *** The ‘wrap-program’ procedure can now be called multiple times
354 *** New ‘graft-derivations’ and ‘package-grafts’ procedures
356 They implement “grafts”, as described under “Security Updates” in the manual.
358 *** New “bag” intermediate representation for use by build systems
360 “Bags” are used internally as an intermediate representation between packages
361 and derivations. See “Build Systems” in the manual.
363 *** New (guix monad-repl) module, for monadic interaction at the REPL
365 See “The Store Monad” in the manual.
367 *** New (guix build emacs-utils) module, to facilitate building Emacs packages
369 *** New (guix tests) module, with tools used by the test suite
371 *** The internal ‘guix-register’ command now deduplicates files in store items
373 *** Several system modules moved from (guix build …) to (gnu build …)
375 Also, the (gnu build linux-boot) module has been introduced, with code
376 typically used by initial RAM disks when booting on GNU/Linux-libre.
378 *** (guix profiles) provides a representation of package transactions
380 This factorizes code between ‘guix package’ and the Emacs user interface.
382 *** Bootstrapping packages moved to (gnu packages commencement) modules
386 *** ‘guix-daemon’ now really deduplicates store items by default
388 Deduplication means that identical files found in /gnu/store are stored only
389 once, using hard links. This feature was wrongfully disabled, and is now
390 enabled by default. The former ‘--disable-store-optimization’ option has been
391 renamed to ‘--disable-deduplication’.
393 *** ‘guix-daemon’ no longer uses ‘vfork’
395 This could cause problems with ancient Linux kernel.
397 *** Fixed compilation of ‘gccgo’ (<http://bugs.gnu.org/18101>)
398 *** 'make clean' doesn't delete os-config.tmpl (<http://bugs.gnu.org/18243>)
399 *** Fix handling of periods by fill-paragraph (<http://bugs.gnu.org/17468>)
400 *** Produce a top-level Info 'dir' file (<http://bugs.gnu.org/18305>)
401 *** guix offload ignores unreachable machines (<http://bugs.gnu.org/18070>)
402 *** guix offload: Ignore EEXIST when registering a .drv as a GC root
403 (<http://bugs.gnu.org/18115>)
404 *** perl-tk: Build sequentially (<http://bugs.gnu.org/18262>)
405 *** download: Use the 'SERVER NAME' TLS extension when possible
406 (<http://bugs.gnu.org/18526>)
407 *** libdaemon: Add alternate source URLs (<http://bugs.gnu.org/18639>)
408 *** icu4c: Reinstate RUNPATH on shared libraries
409 (<http://bugs.gnu.org/18695>)
410 *** nss-mdns: Add alternate source URLs (<http://bugs.gnu.org/18704>)
411 *** download: Add "Accept: */*" to the HTTP headers
412 (<http://bugs.gnu.org/18768>)
413 *** guix-register: Do not attempt to create NIX_STORE_DIR
414 (<http://bugs.gnu.org/18689>)
415 *** Allow Linux-libre to find our 'modprobe' command
416 (<http://bugs.gnu.org/18525>)
417 *** man-pages: Build sequentially (<http://bugs.gnu.org/18701>)
418 *** Fix intermittent test failures involving GC (<http://bugs.gnu.org/18935>)
419 *** guix import: pypi: Gracefully handle non-existent packages
420 (<http://bugs.gnu.org/18831>)
421 *** Make sure the shared library has the '.so' extension
422 (<http://bugs.gnu.org/18521>)
423 *** pull: Use the build procedure provided by the newly-downloaded Guix.
424 (<http://bugs.gnu.org/18534>)
425 *** WindowMaker no longer pollutes $PATH (<http://bugs.gnu.org/18698>)
427 ** Native language support
428 *** New translation: cs (Czech)
429 *** Updated translations: de, sr, vi
431 * Changes in 0.7 (since 0.6)
432 ** Package management
433 *** Binaries for mips64el-linux now available from hydra.gnu.org
435 These come in addition to the x86_64-linux and i686-linux binaries already
436 provided, thanks to our generous donor and friendly admins. See
437 “Substitutes” in the manual.
439 *** ‘guix package’ has a new ‘--show’ option
440 *** ‘guix refresh’ has a new ‘--list-dependent’ option
442 ** Programming interfaces
443 *** New (guix gexp) module, which implements “G-expressions”
445 G-expressions are a new mechanism to embed build-side code in host-side
446 code. See “G-Expressions” in the manual.
448 *** (gnu system) and related modules now use G-expressions
450 This greatly simplifies code, and guarantees that build code carries
451 references to the packages or derivations it uses.
453 *** ‘build-expression->derivation’ is deprecated in favor of G-expressions
454 *** The (gnu system) module has been largely augmented and factorized
455 *** New (guix build vm) module, support for virtual machine images
456 *** New (guix build activation) module, for “system activation”
457 *** New (guix build syscalls) module
458 *** New (guix build install) and module for whole system installation
459 *** New (gnu system install) module, for the installation system
460 *** New (gnu system file-systems) module, for ‘file-system’ declarations
461 *** New (gnu) module, which aggregates common (gnu …) modules
462 *** ‘service’ records now have an optional ‘activate’ field
464 This allows services to specify code to run at system activation time.
467 *** An image to install the GNU system from a USB stick is provided
469 This is the first time an installation image is provided. See “System
470 Installation” in the manual for details. This is work in progress as noted
471 in “Limitations”. Your feedback and help are welcome!
473 *** Support for more parameters in ‘operating-system’ declarations
475 Operating system declarations can now provide a list of file systems, a list
476 of setuid programs, bootloader options, and more. See “System Configuration”
479 *** ‘guix system’ supports more actions
481 Newly supported actions are ‘init’, ‘build’, ‘reconfigure’, and ‘disk-image’.
482 See “Invoking guix system” in the manual.
484 *** User accounts and groups are created at system activation time
485 *** Virtual machine support uses para-virtualized devices
486 *** GCC package now has an additional ‘lib’ output, for run-time support libs
487 *** GLib package now has a separate “bin” output (<http://bugs.gnu.org/17853>)
490 abbaye, aegis, attica, babl, barcode, behave, btar, busybox, ccache, ccrtp,
491 chess, clucene, cmatrix, commoncpp, conkeror, cook, cssc, datamash, diffstat,
492 doxygen, dropbear, dtach, duplicity, e2fsck-static, exosip, fftw-openmpi,
493 fish, gconf, gegl, gimp, gmsh, gnome-mime-data, gnome-vfs, gnumeric, goffice,
494 gsegrafix, guile-opengl, guile-static-stripped, hdup, hwloc, inotify-tools,
495 jrnl, kbd, kmod, lftp, libarchive, libart-lgpl, libbonobo, libbonoboui,
496 libcroco, libdbusmenu-qt, libftdi, libglade, libgnome, libgnomecanvas,
497 libgnomeprint, libgnomeprintui, libgnomeui, libgsf, libidl, libmcrypt,
498 libmhash, librsvg, librsync, libsodium, libuv, libvpx, links, lzop, man-pages,
499 maxima, mcrypt, mosh, mpg123, mplayer, mu, ncmpcpp, node, notmuch, numactl,
500 offlineimap, openmpi, orbit2, osip, pangox-compat, perl-io-tty, petsc,
501 petsc-complex, petsc-complex-openmpi, petsc-openmpi, pingus, podofo, protobuf,
502 pt-scotch, python-enum34, python-keyring, python-lockfile, python-mock,
503 python-parse, python-parse-type, python-parsedatetime, python-pycrypto,
504 python-six, python-tzlocal, python2-lockfile, python2-mock, qjson, qrencode,
505 rasqal, rdiff-backup, rdup, redland, rottlog, scotch, sipwitch, sshfs-fuse,
506 strigi, sudo, superlu, superlu-dist, talkfilters, talloc, tcpdump, tinyproxy,
507 transmission, ucommon, udev, vlc, vtk, wakelan, wireless-tools,
508 wpa-supplicant, xboard, youtube-dl
510 *** 87 package updates
512 bitlbee-3.2.2, cursynth-1.5, ddrescue-1.18.1, dfc-3.0.4, dmd-0.2,
513 docbook-xml-4.3, docbook-xml-4.4, docbook-xsl-1.78.1, dvdisaster-0.72.6,
514 ffmpeg-2.3, fftw-3.3.4, fftwf-3.3.4, flac-1.3.0, gawk-4.1.1, gcc-4.7.4,
515 gcc-4.8.3, gcc-4.8.3, gcc-4.9.1, gcc-cross-mips64el-linux-gnuabi64-4.8.3,
516 gcc-objc++-4.8.3, gcc-objc-4.8.3, gcc-stripped-tarball-4.8.3,
517 gcc-toolchain-4.8.3, gcc-toolchain-4.9.1, gccgo-4.8.3, gdb-7.7.1,
518 gettext-0.19.2, gfortran-4.8.3, glib-2.40.0, global-6.3, gmp-6.0.0a,
519 gnupg-1.4.18, gnupg-2.0.25, gnutls-3.2.15, gp2c-0.0.9pl1, grep-2.20,
520 gst-plugins-base-1.0.10, gstreamer-0.10.36, gtk+-3.10.1, gtkmm-2.24.2,
521 guile-2.0.11, guile-2.0.11, guix-0.6, guix-0.6.0ae8c15, htop-1.0.3,
522 icu4c-53.1, imagemagick-6.8.9-0, json-c-0.12, libdrm-2.4.33, libgc-7.2e,
523 libgcrypt-1.5.3, libgpg-error-1.13, libjpeg-8d, libmicrohttpd-0.9.37,
524 libogg-1.3.2, libotr-4.0.0, libtasn1-3.6, libvorbis-1.3.4, lightning-2.0.4,
525 linux-libre-3.15.6, lua-5.1.5, lua-5.2.3, mcron-1.0.8, moe-1.6, nano-2.3.6,
526 neon-0.29.6, nettle-3.0, openssl-1.0.1h, parallel-20140722, pari-gp-2.7.1,
527 pspp-0.8.3, python-2.7.6, python-dateutil-2.2, python2-dateutil-2.2,
528 qemu-2.0.0, qemu-headless-2.0.0, qt-4.8.6, qt-5.2.1, readline-6.2,
529 screen-4.2.1, soprano-2.9.4, texinfo-5.2, texlive-2014, tor-0.2.4.22,
530 wdiff-1.2.2, xorriso-1.3.8, xterm-304
532 ** Native language support
533 *** New translations: de (German), and hu (Hungarian)
534 *** Updated translations: eo, pt_BR, sr, vi
535 *** Package descriptions moved from the ‘guix’ text domain to ‘guix-packages’
537 *** Downloads are now faster (<http://bugs.gnu.org/15368>)
538 *** ‘guix authenticate’ properly writes signatures to stdout
539 (<http://bugs.gnu.org/17312>)
540 *** Progress report of downloads is now properly displayed
541 *** Error reporting of pk-crypto errors has been improved
542 *** The 'patches' field now works for origins with no extension
543 *** Synchronization and GC issues fixed in the offload hook
544 *** (guix ftp-client) emits USER commands suitable for all servers
546 * Changes in 0.6 (since 0.5)
547 ** Package management
548 *** Default store directory changed to /gnu/store
550 Although it is still possible to configure Guix to use the old store
551 directory, we recommend that you start with a fresh install to /gnu/store.
553 *** Substitutes from hydra.gnu.org must now be signed and authorized
554 *** Support for offloading builds to other Guix machines over SSH
555 *** New ‘guix archive’ command
556 *** New ‘guix system’ command; it can currently build VM images
557 *** ‘guix package’ accepts several arguments after -i, -r, and -u
558 *** Updating a profile with ‘guix package’ is now noticeably faster
559 *** ‘guix build’ can override a package’s source with the new ‘--with-source’
560 *** ‘guix build’ has a new ‘--no-build-hook’ option
561 *** ‘guix’ commands that build packages have a common set of options
562 *** ‘guix hash’ has a new ‘--recursive’ option
563 *** Daemon no longer bind-mounts the host’s /dev (improves reproducibility)
564 ** Programming interfaces
565 *** New (guix pk-crypto) and (guix pki) modules for public key cryptography
566 *** New #:local-build? parameter for derivations that shouldn’t be offloaded
567 *** (gnu system vm) has procedures to build VMs that share the host’s store
568 *** New ‘text-file*’ procedure in (guix monads)
569 *** System service definitions are now provided by the (guix services) modules
570 *** New X and SLiM services in (gnu services xorg)
571 *** New (guix git-download) and (guix svn-download) for git/svn checkouts
575 a2ps, asciidoc, aspell-dict-en, aspell-dict-eo, aspell-dict-es,
576 aspell-dict-fr, aumix, bitlbee, bogofilter, boost, calcurse, clusterssh,
577 corkscrew, cursynth, docbook-xml, docbook-xsl, elfutils, enscript, fftwf,
578 fltk, fuse, gcc-toolchain, giflib, glade, gmime, gnome-desktop, gnubg, gnubik,
579 gnumach-headers, gnunet, gnuplot, gnurl, gphoto2, gtkglext, guile-json,
580 guile-reader-for-guile_2.0.11, gxmessage, hdf5, hurd-headers, inkscape, iotop,
581 isc-dhcp, iso-codes, jnettop, libatomic-ops, libexif, libgphoto2, libmpcdec,
582 libmpdclient, libotr, libpcap, libpeas, libpipeline, libtirpc, libwebsockets,
583 ltrace, luajit, lynx, man-db, mc, mig, miniupnpc, moe, mpc123, mpd, ncdc,
584 ncdu, ncmpc, neon, neon, octave, opus, paperkey, patchutils, perl-tk,
585 perl-x11-protocol, pinentry, python2-element-tree, python2-pybugz, quilt,
586 source-highlight, stalonetray, trueprint, ttf-dejavu, unionfs-fuse,
587 unionfs-fuse-static, uucp, vera, windowmaker, xapian, xterm
589 *** 90 package updates
591 apl-1.3, autoconf-2.68, automake-1.14.1, bash-4.3, bash-light-4.3,
592 bigloo-4.1a, binutils-2.24, binutils-static-stripped-tarball-2.24,
593 coreutils-8.22, curl-7.35.0, ed-1.10, ffmpeg-2.1.4, file-5.18, freeipmi-1.4.1,
594 gcc-4.8.2, gcc-4.8.2, gdb-7.7, gdbm-1.11, gettext-0.18.3.2, glib-2.39.1,
595 glibc-2.19, glibc-stripped-tarball-2.19, global-6.2.12, glpk-4.54,
596 gnu-pw-mgr-1.2, gnupg-1.4.16, gnutls-3.2.12, gp2c-0.0.8pl1, grep-2.18,
597 gst-plugins-base-0.10.36, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-2.24.2,
598 guile-2.0.11, guile-ssh-0.6.0, guile-static-stripped-tarball-2.0.11,
599 guile-wm-1.0, guile-xcb-1.3, guix-0.5, help2man-1.45.1, icu4c-52.1,
600 imagemagick-6.8.8-10, inetutils-1.9.2, lapack-3.5.0, libcdio-0.92,
601 libdrm-2.4.46, libextractor-1.3, libgc-7.2e, libgc-7.4.0, libgcrypt-1.6.1,
602 libjpeg-9, libmicrohttpd-0.9.34, libssh-0.6.3, libtasn1-3.4, lightning-2.0.3,
603 linux-libre-3.13.7, mpc-1.0.2, mutt-1.5.23, net-base-5.2, ocrad-0.23,
604 openssh-6.6p1, openssl-1.0.1g, parallel-20140322, pari-gp-2.7.0, pspp-0.8.2,
605 pulseaudio-5.0, python-2.7.6, python-3.3.5, python-wrapper-3.3.5,
606 python2-pysqlite-2.6.3a, qemu-1.7.1, qemu-headless-1.7.1,
607 qemu-with-multiple-smb-shares-1.7.1, qt-4.8.5, qt-5.2.0, readline-6.3,
608 recutils-1.7, slim-1.3.6, sqlite-3.8.4.3, subversion-1.7.14, texinfo-4.13a,
609 tor-0.2.4.21, tzdata-2014a, units-2.11, valgrind-3.9.0, vim-7.4, wget-1.15,
610 xnee-3.18, xorriso-1.3.6.pl01, zile-2.4.11
612 *** New ‘gcc-toolchain’ meta-package, makes it easy to install a GCC tool chain
613 *** libc’s Info manual is now installed
614 *** Binutils is built with --enable-deterministic-archives
615 *** Packages that populated man/man* now populate share/man/man*
616 *** Many other packaging improvements
618 *** ‘guix pull’ consumes less memory, compiles in parallel
619 *** ‘guix package --list-*’ gracefully handles EPIPE when used in a pipeline
620 *** ‘guix package’ handles collisions between a symlink and a directory
621 (http://bugs.gnu.org/17083)
622 *** HTTP downloads provide a ‘User-Agent’ field (http://bugs.gnu.org/16703)
623 *** ‘guix package’ no longer shows misleading installed package number
624 (http://bugs.gnu.org/16484)
625 *** Manual suggests ‘useradd --system’ (http://bugs.gnu.org/16289)
626 *** Python is built with ctypes support (http://bugs.gnu.org/16569)
627 *** HTTP/TLS connection not terminated properly (http://bugs.gnu.org/14884)
628 *** Gracefully handle poorly behaved HTTP servers (http://bugs.gnu.org/15733)
630 * Changes in 0.5 (since 0.4)
631 ** Package management
632 *** GNU package descriptions synchronized with the ‘gnumaint’ repository
634 In addition to synopses, descriptions of GNU packages are now kept in sync
635 with the ‘gnumaint’ repository, which is the canonical place for GNU package
638 ** Programming interfaces
639 *** Patches are now listed as part of ‘origin’
641 The ‘origin’ form supports two new fields: ‘patches’ (list of patches), and
642 ‘snippet’ (code snippet to modify the source.) These are applied when running
643 ‘guix build --source’. See “Defining Packages” in the manual.
645 *** New (guix monads) monadic interface to operate on the store
647 See “The Store Monad” in the manual. The (gnu system …) modules have been
648 rewritten to use this monadic interface.
650 *** New (guix profiles) module
652 It provides an API for dealing with profiles, as with the ‘guix package’
655 *** New (gnu system) module
657 This module provides a generic way to describe the system’s configuration,
658 and to instantiate it, regardless of the final medium (QEMU image, etc.)
659 See “System Configuration” in the manual.
661 This is work in progress. Send feedback to guix-devel@gnu.org!
663 *** ‘build-expression->derivation’ uses more parameters
665 Some positional parameters have been changed to keyword parameters.
666 See “Derivations” in the manual.
669 *** New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’)
671 Bootstrap binaries have been built for that architecture, and several
672 Loongson-specific patches not yet available upstream have been applied to core
673 packages. See “GNU Distribution” and “Porting” in the manual.
675 Pre-built binaries are not yet available via hydra.gnu.org, so Guix will
676 build from source on this platform.
680 acct, alive, alsa-utils, apl, at-spi2-atk, at-spi2-core, atkmm, autogen,
681 automoc4, brasero, bridge-utils, cairomm, catkin, complexity, evince, ffmpeg,
682 fftw, ftgl, gcc-objc, gcc-objc++, gccgo, gcl, gfortran, glibmm, glpk,
683 gnome-icon-theme, gnu-pw-mgr, gp2c, gpgme, gsettings-desktop-schemas, gtkmm,
684 gtksourceview, guile-ssh, guile-wm, gvpe, hicolor-icon-theme, httpd, icecat,
685 icon-naming-utils, json-c, lapack, libcanberra, libcap, libgnome-keyring,
686 libmikmod, libnl, libnotify, libsamplerate, libsigc++, libsndfile, libssh,
687 libtheora, libxkbcommon, mercurial, mtools, netcat, pangomm, parallel,
688 pavucontrol, pciutils, pem, perl-encode-locale, perl-file-list,
689 perl-file-listing, perl-html-parser, perl-html-tagset, perl-http-cookies,
690 perl-http-daemon, perl-http-date, perl-http-message, perl-http-negotiate,
691 perl-io-html, perl-libwww, perl-libxml, perl-lwp-mediatypes, perl-net-http,
692 perl-uri, perl-www-robotrules, perl-xml-dom, perl-xml-regexp, perl-xml-simple,
693 phonon, powertop, pulseaudio, python2-dogtail, python2-empy, qemu-headless,
694 qt, qt, raptor2, scons, sdl, sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf,
695 sdl2, serveez, shared-mime-info, sharutils, skribilo, slim, soprano, swig,
696 xcb-util, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm
698 *** 47 package updates
700 atk 2.10.0, bison 3.0.2, cmake 2.8.12, dmd 0.1, freeipmi 1.3.3, gcc 4.8.2,
701 gcc 4.8.2, gcc-cross-mips64el-linux-gnuabi64 4.8.2, gcc-stripped-tarball 4.8.2,
702 gdb 7.6.2, gettext 0.18.3.1, glib 2.38.0, global 6.2.9, gmp 5.1.3,
703 gnupg 2.0.22, gobject-introspection 1.38.0, grep 2.15, gsl 1.16,
704 gtk+ 2.24.21, gtk+ 3.10.1, guile 2.0.9, guile 2.0.9, guile-xcb 1.2,
705 harfbuzz 0.9.22, hello 2.9, iproute2 3.12.0, libdrm 2.4.46,
706 libextractor 1.2, libjpeg 9, libmicrohttpd 0.9.32, lightning 2.0.2,
707 linux-libre 3.12, lzip 1.15, make 4.0, mit-krb5 1.11.3, pari-gp 2.5.5,
708 pixman 0.32.4, python 3.3.2, qemu 1.6.1,
709 qemu-with-multiple-smb-shares 1.6.1, rcs 5.9.2, recutils 1.6, rsync 3.1.0,
710 tar 1.27.1, texinfo 5.2, units 2.02, xorriso 1.3.2
712 *** Packages are now built with GCC 4.8.2 by default (was 4.7.3)
714 ** Native language support
715 *** New ‘sr’ (Serbian) translation
716 *** New ‘vi’ (Vietnamese) translation
717 *** Updated ‘pt_BR’ (Brazilian Portuguese) translation
719 *** ‘guix pull’ compiles Guix deterministically and correctly
721 Previously, the build environment was not cleared in between ‘compile-file’
722 calls, leading to build errors due to Guile bug http://bugs.gnu.org/15602 .
724 *** ‘guix package’ allows removal of a specific package output
725 (http://bugs.gnu.org/15756)
726 *** ‘guix-daemon’ always sets umask to 022
727 (http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html)
728 *** Files referenced by environment variables are protected from GC
729 *** Yet unbuilt packages get correctly installed (http://bugs.gnu.org/15283)
730 *** ‘bootstrap-graph.{png,eps,pdf}’ built in srcdir (http://bugs.gnu.org/15640)
732 * Changes in 0.4 (since 0.3)
734 ** Package management
736 *** New ‘--list-generations’ and ‘--delete-generations’ options
738 The ‘guix package’ command has these two new options, which make it easier to
739 deal with a profile’s generation. See “Invoking guix package” in the manual.
741 *** New ‘guix-register’ program
743 This program allows the meta-data of a new store to be initialized, by
744 copying info from an existing store. It is mostly an internal tool.
746 ** Programming interfaces
748 *** New API to bootstrap Autotools-based packages
750 The (guix build-system gnu) has a new ‘dist-package’ procedure that takes a
751 package object and source directory, and returns a new package object that
752 runs ‘./bootstrap && make dist’ or anything similar.
754 *** ‘derivation’ and related procedures have a #:references-graphs parameter
756 This parameter instructs the build daemon to populate the derivation’s build
757 tree with files containing the list of references of the given store files.
758 This is useful to write code that copies a packages and all its dependencies
759 to another storage device, such as a QEMU disk image.
761 *** Extended API to build a GNU system virtual machine image
763 The (gnu system vm) module has been augmented in many ways: the ‘qemu-image’
764 procedure can now populate and initialize the image’s store; the new
765 ‘system-qemu-image’ procedure returns a QEMU image that runs dmd as its init
766 system, has ‘login’ running on several consoles, has a set of installed
767 packages, and where Guix can be used.
769 New (gnu system …) modules have been added to handle the configuration of the
770 various parts of a GNU/Linux system. For instance, (gnu system dmd) provides
771 support for instantiating dmd services; (gnu system linux) helps with Linux
772 PAM configuration; and so on.
774 *** <derivation> objects supersede .drv file names in the API
776 ‘derivation’ and similar procedures no longer return two values (a
777 <derivation> and a .drv file name); they now return a single value, which is
778 a <derivation> object. The <derivation> object embeds the corresponding .drv
779 file name. See “Derivations” in the manual for details.
785 apr, apr-util, cdparanoia, dbus-glib, dfc, dmd, dvdisaster, exiv2, fetchmail,
786 freefont-ttf, freeglut, geeqie, git, gkrellm, glu, gnome-doc-utils,
787 gst-plugins-base, gstreamer, guile-cairo, guile-lib, guile-xcb, guix, htop,
788 itstool, lame, libextractor, libmicrohttpd, lightning, lzip, mingetty, mutt,
789 net-base, net-tools, ocrad, pspp, python-babel, python-dateutil, python-pytz,
790 python-setuptools, python-simplejson, python-wrapper, python2-babel,
791 python2-dateutil, python2-mechanize, python2-pyicu, python2-pysqlite,
792 python2-pytz, python2-setuptools, python2-simplejson, qemu-system-initrd,
793 qemu-with-multiple-smb-shares, ripperx, shadow, ttf-bitstream-vera, units,
794 valgrind, xmlto, xnee, yasm
796 *** 27 package updates
798 bigloo 4.0b, cairo 1.12.16, ddrescue 1.17, fontconfig 2.10.93, fplll 4.0.4,
799 gcc 4.7.3, gcc 4.7.3, glibc 2.18, glibc 2.18, glibc-stripped-tarball 2.18,
800 gnupg 2.0.21, gnutls 3.2.4, guile 2.0.9, guile 2.0.9, harfbuzz 0.9.21,
801 imagemagick 6.8.6-9, libdrm 2.4.46, libgcrypt 1.5.3, libjpeg 9, libksba 1.3.0,
802 linux-libre 3.11, m4 1.4.17, mpfrcx 0.4.2, pari-gp 2.5.4, python 2.7.5, python
805 *** Fontconfig font search path made more convenient
807 Fontconfig, the library used by many graphical applications, such as those
808 based on GTK+, now knows where to find the default set of fonts. Additional
809 fonts installed in the user profile are automatically picked up.
811 *** More GUI applications
813 The ‘emacs’ and ‘racket’ packages are now linked against GTK+. New GTK+
814 applications have been added (see above.)
816 *** Packaging guidelines
818 The documentation of packaging guidelines has been augmented. See the manual
819 under “GNU Distribution”.
821 *** Support for Python 3 along with Python 2
823 Python 3 has been added to the distribution, and Python packages that support
824 it are now built for both Python 2 and Python 3. See the “Python Modules”
825 section of the manual for details.
827 ** Internationalization
829 Updated translations: eo.
833 *** Workarounds for Guile 2.0.5 now work on Debian derivatives
834 *** The dependency graph image has correct size in PDF output
835 *** 'ldd' now works correctly on x86_64
836 *** Xorg server test suite no longer fails (http://bugs.gnu.org/15392)
837 *** module-init-tools now builds (http://bugs.gnu.org/15182, http://bugs.gnu.org/15187)
838 *** Hop 2.4 builds with newer Bigloo (http://bugs.gnu.org/15194)
840 * Changes in 0.3 (since 0.2)
842 ** Package management
844 *** Cross-compilation support
846 Guix can now cross-build packages. On the command-line, this is achieved with
847 the new ‘--target’ command-line option of ‘guix build’. At the Scheme level,
848 the guts of this is the ‘package-cross-derivation’ procedure. Core packages
849 of the distribution can already be cross-compiled. See the manual for
852 *** New ‘--max-silent-time’ option for “guix build” and “guix package”
854 See the manual for details.
856 *** New ‘--fallback’ option for “guix build” and “guix package”
858 This option instructs to fall back to local builds when the substituter fails
859 to download a substitute.
861 *** New ‘--requisites’ option for “guix gc”
863 See the manual for details.
865 *** New ‘--key-download’ option for “guix refresh”
867 See the manual for details.
869 ** Programming interfaces
871 *** New ‘package-cross-derivation’ procedure in (guix derivations)
873 See the manual for details.
875 *** New ‘%current-target-system’ SRFI-39 parameter
877 This parameter is like ‘%current-system’, but for cross-compilation. It
878 allows code in package definitions (such as in the ‘arguments’ field) to know
879 whether it is being cross-compiled, and what the target system is.
881 *** New (guix hash) module; new ‘open-sha256-port’ and ‘sha256-port’ procedures
883 This improves performance of SHA256 computations.
890 alsa-lib, babel, cairo, cvs, gcal, gcc-cross-mips64el-linux-gnuabi64, gd,
891 gdk-pixbuf, graphviz, grue-hunter, gtk+, gts, harfbuzz, imagemagick, iproute2,
892 iptables, libspectre, mpg321, noweb, pango, plotutils, privoxy, pytz, racket,
893 rubber, rush, strace, tk, torsocks, unrtf, vc-dwim, wordnet, xlockmore
895 *** 25 package updates
897 automake 1.14, ed 1.9, freeipmi 1.2.8, gawk 4.1.0, gcc 4.8.1, gettext 0.18.3,
898 glib 2.37.1, gmp 5.1.2, gnutls 3.2.1, gzip 1.6, help2man 1.43.3, libapr 1.4.8,
899 libaprutil 1.5.2, libassuan 2.1.1, libffi 3.0.13, libgc 7.2d, libgpg-error
900 1.12, libidn 1.28, libpng 1.5.17, lout 3.40, lsh 2.1, nettle 2.7.1, qemu
901 1.5.1, tzdata 2013d, xorriso 1.3.0
903 *** Binary packages now available for i686-linux
905 The build farm at http://hydra.gnu.org now provides 32-bit GNU/Linux binaries
906 (i686-linux), in addition to the x86_64-linux binaries. Both can be
907 transparently used as substitutes for local builds on these platforms.
909 *** Debug info packages
911 Some packages now have a “debug” output containing debugging information. The
912 “debug” output can be used by GDB, and can be installed separately from the
913 other outputs of the package. See “Installing Debugging Files” in the manual.
915 *** Bootstrap binaries can be cross-compiled
917 The distribution can now be ported to new architectures (currently
918 GNU/Linux-only) by cross-compiling the “bootstrap binaries”. See “Porting”
921 *** Bootstrapping documented
923 See “Bootstrapping” in the manual, for information on how the GNU
924 distribution builds “from scratch”.
926 ** Internationalization
928 New translations: eo, pt_BR.
931 *** “guix --help” now works when using Guile 2.0.5
932 *** Binary substituter multi-threading and pipe issues fixed
934 These could lead to random substituter crashes while substituting a binary.
935 See commits 0332386 and 101d9f3 for details.
937 *** Binary substituter gracefully handles lack of network connectivity
939 *** Daemon properly handles rebuilds of multiple-output derivations
941 Previously it would fail when rebuilding a multiple-output derivation when
942 some (but not all) of its outputs were already present. See
943 http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00038.html and
944 https://github.com/NixOS/nix/issues/122 .
946 *** ‘guix package -i foo:out’ no longer removes other outputs of ‘foo’
948 Previously only the ‘out’ output of package ‘foo’ would be kept in the
951 *** Replacement (srfi srfi-37) provided if the user’s one is broken
953 When the user’s (srfi srfi-37) is affected by http://bugs.gnu.org/13176 (Guile
954 < 2.0.9), a replacement with the bug fix is provided. This bug would affect
955 command-line argument processing in some cases.
957 * Changes in 0.2 (since 0.1)
959 ** Package management
961 *** Guix commands are now sub-commands of the “guix” program
963 Instead of typing “guix-package”, one now has to type “guix package”, and so
964 on. This has allowed us to homogenize the user interface and initial program
965 setup, and to allow commands to be upgradable through “guix pull”.
967 *** New “guix package --upgrade” option
969 As the name implies, this option atomically upgrades all the packages
970 installed in a profile or the set of packages matching a given regexp.
971 See “Invoking guix package” in the manual.
973 *** New “guix package --search” option
975 Performs a full text search in package synopses and descriptions, and returns
976 the matching packages in recutils format. See “Invoking guix package” in the
979 *** New “guix pull” command
981 The command pulls the latest version of Guix–both the package management
982 modules and the distribution. See the manual for details.
984 *** New binary substituter
986 The “substituter” mechanism allows pre-built binaries to be transparently
987 downloaded instead of performing a build locally. Currently binaries are
988 available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. The
989 distribution is continuously built and binaries are made available from there.
991 See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
992 available binary packages.
994 *** New “guix refresh” command
996 The command is used by Guix maintainers. It automatically updates the
997 distribution to the latest upstream releases of GNU software.
999 *** New “guix hash” command
1001 Convenience command to compute the hash of a file. See the manual for
1004 *** Nix daemon code updated
1006 The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated
1007 to current Nix ‘master’.
1009 ** Programming interfaces
1011 *** (guix download) now supports HTTPS, using GnuTLS
1013 It allows package source tarballs to be retrieved over HTTPS.
1015 *** New ‘native-search-path’ and ‘search-path’ package fields
1017 Packages can define in their ‘native-search-path’ field environment variables
1018 that define search paths and need to be set for proper functioning of the
1019 package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
1020 ‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
1021 These environment variables are automatically set when building a package that
1024 *** Package inputs can be a function of the target system type
1026 The ‘inputs’ field of a package can now be conditional on the value of
1027 (%current-system). This is useful for packages that take system-dependent
1028 tarballs as inputs, such as GNU/MIT Scheme.
1030 *** New build systems
1032 The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
1033 been added. They implement the standard build systems for Perl, Python, and
1036 *** Tools to build Linux initrds, QEMU images, and more
1038 The (gnu packages linux-initrd) module provides a procedure to build a Linux
1039 initrd (“initial RAM disk”). The initrd embeds Guile, which is used to
1040 evaluate the given expression. The example below returns an initrd that
1041 mounts the /proc file system and starts a REPL:
1046 (mount "none" "/proc" "proc")
1047 ((@ (system repl repl) start-repl))))
1049 More examples in the linux-initrd.scm file.
1051 Experimental interfaces to produce and use QEMU images are provided by the
1052 (gnu system vm) module. For instance, the
1053 ‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in
1054 a QEMU virtual machine running the Linux kernel and Guile.
1058 Many updates and additions have been made to the distribution. Here are the
1063 GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
1064 Coreutils 8.20, GDB 7.6, Texinfo 5.1.
1066 *** Noteworthy new packages
1068 TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
1069 CHICKEN, Scheme48, Hugs, Python, Lua, Samba.