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.

651 lines
28 KiB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
  1. -*- org -*-
  2. #+TITLE: Guix NEWS – history of user-visible changes
  3. #+STARTUP: content hidestars
  4. Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
  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 bug-guix@gnu.org.
  9. * Changes in 0.7 (since 0.6)
  10. ** Package management
  11. *** Binaries for mips64el-linux now available from hydra.gnu.org
  12. These come in addition to the x86_64-linux and i686-linux binaries already
  13. provided, thanks to our generous donor and friendly admins. See
  14. “Substitutes” in the manual.
  15. *** ‘guix package’ has a new ‘--show’ option
  16. *** ‘guix refresh’ has a new ‘--list-dependent’ option
  17. ** Programming interfaces
  18. *** New (guix gexp) module, which implements “G-expressions”
  19. G-expressions are a new mechanism to embed build-side code in host-side
  20. code. See “G-Expressions” in the manual.
  21. *** (gnu system) and related modules now use G-expressions
  22. This greatly simplifies code, and guarantees that build code carries
  23. references to the packages or derivations it uses.
  24. *** ‘build-expression->derivation’ is deprecated in favor of G-expressions
  25. *** The (gnu system) module has been largely augmented and factorized
  26. *** New (guix build vm) module, support for virtual machine images
  27. *** New (guix build activation) module, for “system activation”
  28. *** New (guix build syscalls) module
  29. *** New (guix build install) and module for whole system installation
  30. *** New (gnu system install) module, for the installation system
  31. *** New (gnu system file-systems) module, for ‘file-system’ declarations
  32. *** New (gnu) module, which aggregates common (gnu …) modules
  33. *** ‘service’ records now have an optional ‘activate’ field
  34. This allows services to specify code to run at system activation time.
  35. ** GNU distribution
  36. *** An image to install the GNU system from a USB stick is provided
  37. This is the first time an installation image is provided. See “System
  38. Installation” in the manual for details. This is work in progress as noted
  39. in “Limitations”. Your feedback and help are welcome!
  40. *** Support for more parameters in ‘operating-system’ declarations
  41. Operating system declarations can now provide a list of file systems, a list
  42. of setuid programs, bootloader options, and more. See “System Configuration”
  43. in the manual.
  44. *** ‘guix system’ supports more actions
  45. Newly supported actions are ‘init’, ‘build’, ‘reconfigure’, and ‘disk-image’.
  46. See “Invoking guix system” in the manual.
  47. *** User accounts and groups are created at system activation time
  48. *** Virtual machine support uses para-virtualized devices
  49. *** GCC package now has an additional ‘lib’ output, for run-time support libs
  50. *** GLib package now has a separate “bin” output (<http://bugs.gnu.org/17853>)
  51. *** 134 new packages
  52. abbaye, aegis, attica, babl, barcode, behave, btar, busybox, ccache, ccrtp,
  53. chess, clucene, cmatrix, commoncpp, conkeror, cook, cssc, datamash, diffstat,
  54. doxygen, dropbear, dtach, duplicity, e2fsck-static, exosip, fftw-openmpi,
  55. fish, gconf, gegl, gimp, gmsh, gnome-mime-data, gnome-vfs, gnumeric, goffice,
  56. gsegrafix, guile-opengl, guile-static-stripped, hdup, hwloc, inotify-tools,
  57. jrnl, kbd, kmod, lftp, libarchive, libart-lgpl, libbonobo, libbonoboui,
  58. libcroco, libdbusmenu-qt, libftdi, libglade, libgnome, libgnomecanvas,
  59. libgnomeprint, libgnomeprintui, libgnomeui, libgsf, libidl, libmcrypt,
  60. libmhash, librsvg, librsync, libsodium, libuv, libvpx, links, lzop, man-pages,
  61. maxima, mcrypt, mosh, mpg123, mplayer, mu, ncmpcpp, node, notmuch, numactl,
  62. offlineimap, openmpi, orbit2, osip, pangox-compat, perl-io-tty, petsc,
  63. petsc-complex, petsc-complex-openmpi, petsc-openmpi, pingus, podofo, protobuf,
  64. pt-scotch, python-enum34, python-keyring, python-lockfile, python-mock,
  65. python-parse, python-parse-type, python-parsedatetime, python-pycrypto,
  66. python-six, python-tzlocal, python2-lockfile, python2-mock, qjson, qrencode,
  67. rasqal, rdiff-backup, rdup, redland, rottlog, scotch, sipwitch, sshfs-fuse,
  68. strigi, sudo, superlu, superlu-dist, talkfilters, talloc, tcpdump, tinyproxy,
  69. transmission, ucommon, udev, vlc, vtk, wakelan, wireless-tools,
  70. wpa-supplicant, xboard, youtube-dl
  71. *** 87 package updates
  72. bitlbee-3.2.2, cursynth-1.5, ddrescue-1.18.1, dfc-3.0.4, dmd-0.2,
  73. docbook-xml-4.3, docbook-xml-4.4, docbook-xsl-1.78.1, dvdisaster-0.72.6,
  74. ffmpeg-2.3, fftw-3.3.4, fftwf-3.3.4, flac-1.3.0, gawk-4.1.1, gcc-4.7.4,
  75. gcc-4.8.3, gcc-4.8.3, gcc-4.9.1, gcc-cross-mips64el-linux-gnuabi64-4.8.3,
  76. gcc-objc++-4.8.3, gcc-objc-4.8.3, gcc-stripped-tarball-4.8.3,
  77. gcc-toolchain-4.8.3, gcc-toolchain-4.9.1, gccgo-4.8.3, gdb-7.7.1,
  78. gettext-0.19.2, gfortran-4.8.3, glib-2.40.0, global-6.3, gmp-6.0.0a,
  79. gnupg-1.4.18, gnupg-2.0.25, gnutls-3.2.15, gp2c-0.0.9pl1, grep-2.20,
  80. gst-plugins-base-1.0.10, gstreamer-0.10.36, gtk+-3.10.1, gtkmm-2.24.2,
  81. guile-2.0.11, guile-2.0.11, guix-0.6, guix-0.6.0ae8c15, htop-1.0.3,
  82. icu4c-53.1, imagemagick-6.8.9-0, json-c-0.12, libdrm-2.4.33, libgc-7.2e,
  83. libgcrypt-1.5.3, libgpg-error-1.13, libjpeg-8d, libmicrohttpd-0.9.37,
  84. libogg-1.3.2, libotr-4.0.0, libtasn1-3.6, libvorbis-1.3.4, lightning-2.0.4,
  85. linux-libre-3.15.6, lua-5.1.5, lua-5.2.3, mcron-1.0.8, moe-1.6, nano-2.3.6,
  86. neon-0.29.6, nettle-3.0, openssl-1.0.1h, parallel-20140722, pari-gp-2.7.1,
  87. pspp-0.8.3, python-2.7.6, python-dateutil-2.2, python2-dateutil-2.2,
  88. qemu-2.0.0, qemu-headless-2.0.0, qt-4.8.6, qt-5.2.1, readline-6.2,
  89. screen-4.2.1, soprano-2.9.4, texinfo-5.2, texlive-2014, tor-0.2.4.22,
  90. wdiff-1.2.2, xorriso-1.3.8, xterm-304
  91. ** Native language support
  92. *** New translations: de (German), and hu (Hungarian)
  93. *** Updated translations: eo, pt_BR, sr, vi
  94. *** Package descriptions moved from the ‘guix’ text domain to ‘guix-packages’
  95. ** Bugs fixed
  96. *** Downloads are now faster (<http://bugs.gnu.org/15368>)
  97. *** ‘guix authenticate’ properly writes signatures to stdout
  98. (<http://bugs.gnu.org/17312>)
  99. *** Progress report of downloads is now properly displayed
  100. *** Error reporting of pk-crypto errors has been improved
  101. *** The 'patches' field now works for origins with no extension
  102. *** Synchronization and GC issues fixed in the offload hook
  103. *** (guix ftp-client) emits USER commands suitable for all servers
  104. * Changes in 0.6 (since 0.5)
  105. ** Package management
  106. *** Default store directory changed to /gnu/store
  107. Although it is still possible to configure Guix to use the old store
  108. directory, we recommend that you start with a fresh install to /gnu/store.
  109. *** Substitutes from hydra.gnu.org must now be signed and authorized
  110. *** Support for offloading builds to other Guix machines over SSH
  111. *** New ‘guix archive’ command
  112. *** New ‘guix system’ command; it can currently build VM images
  113. *** ‘guix package’ accepts several arguments after -i, -r, and -u
  114. *** Updating a profile with ‘guix package’ is now noticeably faster
  115. *** ‘guix build’ can override a package’s source with the new ‘--with-source’
  116. *** ‘guix build’ has a new ‘--no-build-hook’ option
  117. *** ‘guix’ commands that build packages have a common set of options
  118. *** ‘guix hash’ has a new ‘--recursive’ option
  119. *** Daemon no longer bind-mounts the host’s /dev (improves reproducibility)
  120. ** Programming interfaces
  121. *** New (guix pk-crypto) and (guix pki) modules for public key cryptography
  122. *** New #:local-build? parameter for derivations that shouldn’t be offloaded
  123. *** (gnu system vm) has procedures to build VMs that share the host’s store
  124. *** New ‘text-file*’ procedure in (guix monads)
  125. *** System service definitions are now provided by the (guix services) modules
  126. *** New X and SLiM services in (gnu services xorg)
  127. *** New (guix git-download) and (guix svn-download) for git/svn checkouts
  128. ** GNU distribution
  129. *** 91 new packages
  130. a2ps, asciidoc, aspell-dict-en, aspell-dict-eo, aspell-dict-es,
  131. aspell-dict-fr, aumix, bitlbee, bogofilter, boost, calcurse, clusterssh,
  132. corkscrew, cursynth, docbook-xml, docbook-xsl, elfutils, enscript, fftwf,
  133. fltk, fuse, gcc-toolchain, giflib, glade, gmime, gnome-desktop, gnubg, gnubik,
  134. gnumach-headers, gnunet, gnuplot, gnurl, gphoto2, gtkglext, guile-json,
  135. guile-reader-for-guile_2.0.11, gxmessage, hdf5, hurd-headers, inkscape, iotop,
  136. isc-dhcp, iso-codes, jnettop, libatomic-ops, libexif, libgphoto2, libmpcdec,
  137. libmpdclient, libotr, libpcap, libpeas, libpipeline, libtirpc, libwebsockets,
  138. ltrace, luajit, lynx, man-db, mc, mig, miniupnpc, moe, mpc123, mpd, ncdc,
  139. ncdu, ncmpc, neon, neon, octave, opus, paperkey, patchutils, perl-tk,
  140. perl-x11-protocol, pinentry, python2-element-tree, python2-pybugz, quilt,
  141. source-highlight, stalonetray, trueprint, ttf-dejavu, unionfs-fuse,
  142. unionfs-fuse-static, uucp, vera, windowmaker, xapian, xterm
  143. *** 90 package updates
  144. apl-1.3, autoconf-2.68, automake-1.14.1, bash-4.3, bash-light-4.3,
  145. bigloo-4.1a, binutils-2.24, binutils-static-stripped-tarball-2.24,
  146. coreutils-8.22, curl-7.35.0, ed-1.10, ffmpeg-2.1.4, file-5.18, freeipmi-1.4.1,
  147. gcc-4.8.2, gcc-4.8.2, gdb-7.7, gdbm-1.11, gettext-0.18.3.2, glib-2.39.1,
  148. glibc-2.19, glibc-stripped-tarball-2.19, global-6.2.12, glpk-4.54,
  149. gnu-pw-mgr-1.2, gnupg-1.4.16, gnutls-3.2.12, gp2c-0.0.8pl1, grep-2.18,
  150. gst-plugins-base-0.10.36, gstreamer-1.0.10, gtk+-3.10.1, gtkmm-2.24.2,
  151. guile-2.0.11, guile-ssh-0.6.0, guile-static-stripped-tarball-2.0.11,
  152. guile-wm-1.0, guile-xcb-1.3, guix-0.5, help2man-1.45.1, icu4c-52.1,
  153. imagemagick-6.8.8-10, inetutils-1.9.2, lapack-3.5.0, libcdio-0.92,
  154. libdrm-2.4.46, libextractor-1.3, libgc-7.2e, libgc-7.4.0, libgcrypt-1.6.1,
  155. libjpeg-9, libmicrohttpd-0.9.34, libssh-0.6.3, libtasn1-3.4, lightning-2.0.3,
  156. linux-libre-3.13.7, mpc-1.0.2, mutt-1.5.23, net-base-5.2, ocrad-0.23,
  157. openssh-6.6p1, openssl-1.0.1g, parallel-20140322, pari-gp-2.7.0, pspp-0.8.2,
  158. pulseaudio-5.0, python-2.7.6, python-3.3.5, python-wrapper-3.3.5,
  159. python2-pysqlite-2.6.3a, qemu-1.7.1, qemu-headless-1.7.1,
  160. qemu-with-multiple-smb-shares-1.7.1, qt-4.8.5, qt-5.2.0, readline-6.3,
  161. recutils-1.7, slim-1.3.6, sqlite-3.8.4.3, subversion-1.7.14, texinfo-4.13a,
  162. tor-0.2.4.21, tzdata-2014a, units-2.11, valgrind-3.9.0, vim-7.4, wget-1.15,
  163. xnee-3.18, xorriso-1.3.6.pl01, zile-2.4.11
  164. *** New ‘gcc-toolchain’ meta-package, makes it easy to install a GCC tool chain
  165. *** libc’s Info manual is now installed
  166. *** Binutils is built with --enable-deterministic-archives
  167. *** Packages that populated man/man* now populate share/man/man*
  168. *** Many other packaging improvements
  169. ** Bugs fixed
  170. *** ‘guix pull’ consumes less memory, compiles in parallel
  171. *** ‘guix package --list-*’ gracefully handles EPIPE when used in a pipeline
  172. *** ‘guix package’ handles collisions between a symlink and a directory
  173. (http://bugs.gnu.org/17083)
  174. *** HTTP downloads provide a ‘User-Agent’ field (http://bugs.gnu.org/16703)
  175. *** ‘guix package’ no longer shows misleading installed package number
  176. (http://bugs.gnu.org/16484)
  177. *** Manual suggests ‘useradd --system’ (http://bugs.gnu.org/16289)
  178. *** Python is built with ctypes support (http://bugs.gnu.org/16569)
  179. *** HTTP/TLS connection not terminated properly (http://bugs.gnu.org/14884)
  180. *** Gracefully handle poorly behaved HTTP servers (http://bugs.gnu.org/15733)
  181. * Changes in 0.5 (since 0.4)
  182. ** Package management
  183. *** GNU package descriptions synchronized with the ‘gnumaint’ repository
  184. In addition to synopses, descriptions of GNU packages are now kept in sync
  185. with the ‘gnumaint’ repository, which is the canonical place for GNU package
  186. meta-data.
  187. ** Programming interfaces
  188. *** Patches are now listed as part of ‘origin’
  189. The ‘origin’ form supports two new fields: ‘patches’ (list of patches), and
  190. ‘snippet’ (code snippet to modify the source.) These are applied when running
  191. ‘guix build --source’. See “Defining Packages” in the manual.
  192. *** New (guix monads) monadic interface to operate on the store
  193. See “The Store Monad” in the manual. The (gnu system …) modules have been
  194. rewritten to use this monadic interface.
  195. *** New (guix profiles) module
  196. It provides an API for dealing with profiles, as with the ‘guix package’
  197. command.
  198. *** New (gnu system) module
  199. This module provides a generic way to describe the system’s configuration,
  200. and to instantiate it, regardless of the final medium (QEMU image, etc.)
  201. See “System Configuration” in the manual.
  202. This is work in progress. Send feedback to guix-devel@gnu.org!
  203. *** ‘build-expression->derivation’ uses more parameters
  204. Some positional parameters have been changed to keyword parameters.
  205. See “Derivations” in the manual.
  206. ** GNU distribution
  207. *** New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’)
  208. Bootstrap binaries have been built for that architecture, and several
  209. Loongson-specific patches not yet available upstream have been applied to core
  210. packages. See “GNU Distribution” and “Porting” in the manual.
  211. Pre-built binaries are not yet available via hydra.gnu.org, so Guix will
  212. build from source on this platform.
  213. *** 110 new packages
  214. acct, alive, alsa-utils, apl, at-spi2-atk, at-spi2-core, atkmm, autogen,
  215. automoc4, brasero, bridge-utils, cairomm, catkin, complexity, evince, ffmpeg,
  216. fftw, ftgl, gcc-objc, gcc-objc++, gccgo, gcl, gfortran, glibmm, glpk,
  217. gnome-icon-theme, gnu-pw-mgr, gp2c, gpgme, gsettings-desktop-schemas, gtkmm,
  218. gtksourceview, guile-ssh, guile-wm, gvpe, hicolor-icon-theme, httpd, icecat,
  219. icon-naming-utils, json-c, lapack, libcanberra, libcap, libgnome-keyring,
  220. libmikmod, libnl, libnotify, libsamplerate, libsigc++, libsndfile, libssh,
  221. libtheora, libxkbcommon, mercurial, mtools, netcat, pangomm, parallel,
  222. pavucontrol, pciutils, pem, perl-encode-locale, perl-file-list,
  223. perl-file-listing, perl-html-parser, perl-html-tagset, perl-http-cookies,
  224. perl-http-daemon, perl-http-date, perl-http-message, perl-http-negotiate,
  225. perl-io-html, perl-libwww, perl-libxml, perl-lwp-mediatypes, perl-net-http,
  226. perl-uri, perl-www-robotrules, perl-xml-dom, perl-xml-regexp, perl-xml-simple,
  227. phonon, powertop, pulseaudio, python2-dogtail, python2-empy, qemu-headless,
  228. qt, qt, raptor2, scons, sdl, sdl-gfx, sdl-image, sdl-mixer, sdl-net, sdl-ttf,
  229. sdl2, serveez, shared-mime-info, sharutils, skribilo, slim, soprano, swig,
  230. xcb-util, xcb-util-image, xcb-util-keysyms, xcb-util-renderutil, xcb-util-wm
  231. *** 47 package updates
  232. atk 2.10.0, bison 3.0.2, cmake 2.8.12, dmd 0.1, freeipmi 1.3.3, gcc 4.8.2,
  233. gcc 4.8.2, gcc-cross-mips64el-linux-gnuabi64 4.8.2, gcc-stripped-tarball 4.8.2,
  234. gdb 7.6.2, gettext 0.18.3.1, glib 2.38.0, global 6.2.9, gmp 5.1.3,
  235. gnupg 2.0.22, gobject-introspection 1.38.0, grep 2.15, gsl 1.16,
  236. gtk+ 2.24.21, gtk+ 3.10.1, guile 2.0.9, guile 2.0.9, guile-xcb 1.2,
  237. harfbuzz 0.9.22, hello 2.9, iproute2 3.12.0, libdrm 2.4.46,
  238. libextractor 1.2, libjpeg 9, libmicrohttpd 0.9.32, lightning 2.0.2,
  239. linux-libre 3.12, lzip 1.15, make 4.0, mit-krb5 1.11.3, pari-gp 2.5.5,
  240. pixman 0.32.4, python 3.3.2, qemu 1.6.1,
  241. qemu-with-multiple-smb-shares 1.6.1, rcs 5.9.2, recutils 1.6, rsync 3.1.0,
  242. tar 1.27.1, texinfo 5.2, units 2.02, xorriso 1.3.2
  243. *** Packages are now built with GCC 4.8.2 by default (was 4.7.3)
  244. ** Native language support
  245. *** New ‘sr’ (Serbian) translation
  246. *** New ‘vi’ (Vietnamese) translation
  247. *** Updated ‘pt_BR’ (Brazilian Portuguese) translation
  248. ** Bugs fixed
  249. *** ‘guix pull’ compiles Guix deterministically and correctly
  250. Previously, the build environment was not cleared in between ‘compile-file’
  251. calls, leading to build errors due to Guile bug http://bugs.gnu.org/15602 .
  252. *** ‘guix package’ allows removal of a specific package output
  253. (http://bugs.gnu.org/15756)
  254. *** ‘guix-daemon’ always sets umask to 022
  255. (http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html)
  256. *** Files referenced by environment variables are protected from GC
  257. *** Yet unbuilt packages get correctly installed (http://bugs.gnu.org/15283)
  258. *** ‘bootstrap-graph.{png,eps,pdf}’ built in srcdir (http://bugs.gnu.org/15640)
  259. * Changes in 0.4 (since 0.3)
  260. ** Package management
  261. *** New ‘--list-generations’ and ‘--delete-generations’ options
  262. The ‘guix package’ command has these two new options, which make it easier to
  263. deal with a profile’s generation. See “Invoking guix package” in the manual.
  264. *** New ‘guix-register’ program
  265. This program allows the meta-data of a new store to be initialized, by
  266. copying info from an existing store. It is mostly an internal tool.
  267. ** Programming interfaces
  268. *** New API to bootstrap Autotools-based packages
  269. The (guix build-system gnu) has a new ‘dist-package’ procedure that takes a
  270. package object and source directory, and returns a new package object that
  271. runs ‘./bootstrap && make dist’ or anything similar.
  272. *** ‘derivation’ and related procedures have a #:references-graphs parameter
  273. This parameter instructs the build daemon to populate the derivation’s build
  274. tree with files containing the list of references of the given store files.
  275. This is useful to write code that copies a packages and all its dependencies
  276. to another storage device, such as a QEMU disk image.
  277. *** Extended API to build a GNU system virtual machine image
  278. The (gnu system vm) module has been augmented in many ways: the ‘qemu-image’
  279. procedure can now populate and initialize the image’s store; the new
  280. ‘system-qemu-image’ procedure returns a QEMU image that runs dmd as its init
  281. system, has ‘login’ running on several consoles, has a set of installed
  282. packages, and where Guix can be used.
  283. New (gnu system …) modules have been added to handle the configuration of the
  284. various parts of a GNU/Linux system. For instance, (gnu system dmd) provides
  285. support for instantiating dmd services; (gnu system linux) helps with Linux
  286. PAM configuration; and so on.
  287. *** <derivation> objects supersede .drv file names in the API
  288. ‘derivation’ and similar procedures no longer return two values (a
  289. <derivation> and a .drv file name); they now return a single value, which is
  290. a <derivation> object. The <derivation> object embeds the corresponding .drv
  291. file name. See “Derivations” in the manual for details.
  292. ** GNU distribution
  293. *** 60 new packages
  294. apr, apr-util, cdparanoia, dbus-glib, dfc, dmd, dvdisaster, exiv2, fetchmail,
  295. freefont-ttf, freeglut, geeqie, git, gkrellm, glu, gnome-doc-utils,
  296. gst-plugins-base, gstreamer, guile-cairo, guile-lib, guile-xcb, guix, htop,
  297. itstool, lame, libextractor, libmicrohttpd, lightning, lzip, mingetty, mutt,
  298. net-base, net-tools, ocrad, pspp, python-babel, python-dateutil, python-pytz,
  299. python-setuptools, python-simplejson, python-wrapper, python2-babel,
  300. python2-dateutil, python2-mechanize, python2-pyicu, python2-pysqlite,
  301. python2-pytz, python2-setuptools, python2-simplejson, qemu-system-initrd,
  302. qemu-with-multiple-smb-shares, ripperx, shadow, ttf-bitstream-vera, units,
  303. valgrind, xmlto, xnee, yasm
  304. *** 27 package updates
  305. bigloo 4.0b, cairo 1.12.16, ddrescue 1.17, fontconfig 2.10.93, fplll 4.0.4,
  306. gcc 4.7.3, gcc 4.7.3, glibc 2.18, glibc 2.18, glibc-stripped-tarball 2.18,
  307. gnupg 2.0.21, gnutls 3.2.4, guile 2.0.9, guile 2.0.9, harfbuzz 0.9.21,
  308. imagemagick 6.8.6-9, libdrm 2.4.46, libgcrypt 1.5.3, libjpeg 9, libksba 1.3.0,
  309. linux-libre 3.11, m4 1.4.17, mpfrcx 0.4.2, pari-gp 2.5.4, python 2.7.5, python
  310. 3.3.2, texlive 2013
  311. *** Fontconfig font search path made more convenient
  312. Fontconfig, the library used by many graphical applications, such as those
  313. based on GTK+, now knows where to find the default set of fonts. Additional
  314. fonts installed in the user profile are automatically picked up.
  315. *** More GUI applications
  316. The ‘emacs’ and ‘racket’ packages are now linked against GTK+. New GTK+
  317. applications have been added (see above.)
  318. *** Packaging guidelines
  319. The documentation of packaging guidelines has been augmented. See the manual
  320. under “GNU Distribution”.
  321. *** Support for Python 3 along with Python 2
  322. Python 3 has been added to the distribution, and Python packages that support
  323. it are now built for both Python 2 and Python 3. See the “Python Modules”
  324. section of the manual for details.
  325. ** Internationalization
  326. Updated translations: eo.
  327. ** Bugs fixed
  328. *** Workarounds for Guile 2.0.5 now work on Debian derivatives
  329. *** The dependency graph image has correct size in PDF output
  330. *** 'ldd' now works correctly on x86_64
  331. *** Xorg server test suite no longer fails (http://bugs.gnu.org/15392)
  332. *** module-init-tools now builds (http://bugs.gnu.org/15182, http://bugs.gnu.org/15187)
  333. *** Hop 2.4 builds with newer Bigloo (http://bugs.gnu.org/15194)
  334. * Changes in 0.3 (since 0.2)
  335. ** Package management
  336. *** Cross-compilation support
  337. Guix can now cross-build packages. On the command-line, this is achieved with
  338. the new ‘--target’ command-line option of ‘guix build’. At the Scheme level,
  339. the guts of this is the ‘package-cross-derivation’ procedure. Core packages
  340. of the distribution can already be cross-compiled. See the manual for
  341. details.
  342. *** New ‘--max-silent-time’ option for “guix build” and “guix package”
  343. See the manual for details.
  344. *** New ‘--fallback’ option for “guix build” and “guix package”
  345. This option instructs to fall back to local builds when the substituter fails
  346. to download a substitute.
  347. *** New ‘--requisites’ option for “guix gc”
  348. See the manual for details.
  349. *** New ‘--key-download’ option for “guix refresh”
  350. See the manual for details.
  351. ** Programming interfaces
  352. *** New ‘package-cross-derivation’ procedure in (guix derivations)
  353. See the manual for details.
  354. *** New ‘%current-target-system’ SRFI-39 parameter
  355. This parameter is like ‘%current-system’, but for cross-compilation. It
  356. allows code in package definitions (such as in the ‘arguments’ field) to know
  357. whether it is being cross-compiled, and what the target system is.
  358. *** New (guix hash) module; new ‘open-sha256-port’ and ‘sha256-port’ procedures
  359. This improves performance of SHA256 computations.
  360. ** GNU distribution
  361. *** 33 new packages
  362. alsa-lib, babel, cairo, cvs, gcal, gcc-cross-mips64el-linux-gnuabi64, gd,
  363. gdk-pixbuf, graphviz, grue-hunter, gtk+, gts, harfbuzz, imagemagick, iproute2,
  364. iptables, libspectre, mpg321, noweb, pango, plotutils, privoxy, pytz, racket,
  365. rubber, rush, strace, tk, torsocks, unrtf, vc-dwim, wordnet, xlockmore
  366. *** 25 package updates
  367. automake 1.14, ed 1.9, freeipmi 1.2.8, gawk 4.1.0, gcc 4.8.1, gettext 0.18.3,
  368. glib 2.37.1, gmp 5.1.2, gnutls 3.2.1, gzip 1.6, help2man 1.43.3, libapr 1.4.8,
  369. libaprutil 1.5.2, libassuan 2.1.1, libffi 3.0.13, libgc 7.2d, libgpg-error
  370. 1.12, libidn 1.28, libpng 1.5.17, lout 3.40, lsh 2.1, nettle 2.7.1, qemu
  371. 1.5.1, tzdata 2013d, xorriso 1.3.0
  372. *** Binary packages now available for i686-linux
  373. The build farm at http://hydra.gnu.org now provides 32-bit GNU/Linux binaries
  374. (i686-linux), in addition to the x86_64-linux binaries. Both can be
  375. transparently used as substitutes for local builds on these platforms.
  376. *** Debug info packages
  377. Some packages now have a “debug” output containing debugging information. The
  378. “debug” output can be used by GDB, and can be installed separately from the
  379. other outputs of the package. See “Installing Debugging Files” in the manual.
  380. *** Bootstrap binaries can be cross-compiled
  381. The distribution can now be ported to new architectures (currently
  382. GNU/Linux-only) by cross-compiling the “bootstrap binaries”. See “Porting”
  383. in the manual.
  384. *** Bootstrapping documented
  385. See “Bootstrapping” in the manual, for information on how the GNU
  386. distribution builds “from scratch”.
  387. ** Internationalization
  388. New translations: eo, pt_BR.
  389. ** Bugs fixed
  390. *** “guix --help” now works when using Guile 2.0.5
  391. *** Binary substituter multi-threading and pipe issues fixed
  392. These could lead to random substituter crashes while substituting a binary.
  393. See commits 0332386 and 101d9f3 for details.
  394. *** Binary substituter gracefully handles lack of network connectivity
  395. *** Daemon properly handles rebuilds of multiple-output derivations
  396. Previously it would fail when rebuilding a multiple-output derivation when
  397. some (but not all) of its outputs were already present. See
  398. http://lists.gnu.org/archive/html/bug-guix/2013-06/msg00038.html and
  399. https://github.com/NixOS/nix/issues/122 .
  400. *** ‘guix package -i foo:out’ no longer removes other outputs of ‘foo’
  401. Previously only the ‘out’ output of package ‘foo’ would be kept in the
  402. profile.
  403. *** Replacement (srfi srfi-37) provided if the user’s one is broken
  404. When the user’s (srfi srfi-37) is affected by http://bugs.gnu.org/13176 (Guile
  405. < 2.0.9), a replacement with the bug fix is provided. This bug would affect
  406. command-line argument processing in some cases.
  407. * Changes in 0.2 (since 0.1)
  408. ** Package management
  409. *** Guix commands are now sub-commands of the “guix” program
  410. Instead of typing “guix-package”, one now has to type “guix package”, and so
  411. on. This has allowed us to homogenize the user interface and initial program
  412. setup, and to allow commands to be upgradable through “guix pull”.
  413. *** New “guix package --upgrade” option
  414. As the name implies, this option atomically upgrades all the packages
  415. installed in a profile or the set of packages matching a given regexp.
  416. See “Invoking guix package” in the manual.
  417. *** New “guix package --search” option
  418. Performs a full text search in package synopses and descriptions, and returns
  419. the matching packages in recutils format. See “Invoking guix package” in the
  420. manual, for details.
  421. *** New “guix pull” command
  422. The command pulls the latest version of Guix–both the package management
  423. modules and the distribution. See the manual for details.
  424. *** New binary substituter
  425. The “substituter” mechanism allows pre-built binaries to be transparently
  426. downloaded instead of performing a build locally. Currently binaries are
  427. available for x86_64 Linux-based GNU systems from http://hydra.gnu.org. The
  428. distribution is continuously built and binaries are made available from there.
  429. See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of
  430. available binary packages.
  431. *** New “guix refresh” command
  432. The command is used by Guix maintainers. It automatically updates the
  433. distribution to the latest upstream releases of GNU software.
  434. *** New “guix hash” command
  435. Convenience command to compute the hash of a file. See the manual for
  436. details.
  437. *** Nix daemon code updated
  438. The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated
  439. to current Nix ‘master’.
  440. ** Programming interfaces
  441. *** (guix download) now supports HTTPS, using GnuTLS
  442. It allows package source tarballs to be retrieved over HTTPS.
  443. *** New ‘native-search-path’ and ‘search-path’ package fields
  444. Packages can define in their ‘native-search-path’ field environment variables
  445. that define search paths and need to be set for proper functioning of the
  446. package. For instance, GCC has ‘CPATH’ and ‘LIBRARY_PATH’ in its
  447. ‘native-search-path’, Perl has ‘PERL5LIB’, Python has ‘PYTHONPATH’, etc.
  448. These environment variables are automatically set when building a package that
  449. uses one of these.
  450. *** Package inputs can be a function of the target system type
  451. The ‘inputs’ field of a package can now be conditional on the value of
  452. (%current-system). This is useful for packages that take system-dependent
  453. tarballs as inputs, such as GNU/MIT Scheme.
  454. *** New build systems
  455. The ‘perl-build-system’, ‘python-build-system’, and ‘cmake-build-system’ have
  456. been added. They implement the standard build systems for Perl, Python, and
  457. CMake packages.
  458. *** Tools to build Linux initrds, QEMU images, and more
  459. The (gnu packages linux-initrd) module provides a procedure to build a Linux
  460. initrd (“initial RAM disk”). The initrd embeds Guile, which is used to
  461. evaluate the given expression. The example below returns an initrd that
  462. mounts the /proc file system and starts a REPL:
  463. (expression->initrd
  464. '(begin
  465. (mkdir "/proc")
  466. (mount "none" "/proc" "proc")
  467. ((@ (system repl repl) start-repl))))
  468. More examples in the linux-initrd.scm file.
  469. Experimental interfaces to produce and use QEMU images are provided by the
  470. (gnu system vm) module. For instance, the
  471. ‘expression->derivation-in-linux-vm’ evaluates the given Scheme expression in
  472. a QEMU virtual machine running the Linux kernel and Guile.
  473. ** GNU distribution
  474. Many updates and additions have been made to the distribution. Here are the
  475. highlights.
  476. *** Major updates
  477. GCC 4.7.3 (the default) and GCC 4.8.0, Binutils 2.23.2, Guile 2.0.9,
  478. Coreutils 8.20, GDB 7.6, Texinfo 5.1.
  479. *** Noteworthy new packages
  480. TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo,
  481. CHICKEN, Scheme48, Hugs, Python, Lua, Samba.