You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1158 lines
51 KiB

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