Commit | Line | Data |
---|---|---|
06504acb LC |
1 | -*- org -*- |
2 | #+TITLE: Guix NEWS – history of user-visible changes | |
3 | #+STARTUP: content hidestars | |
4056b828 | 4 | |
43faf869 | 5 | Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org> |
4056b828 LC |
6 | |
7 | Copying and distribution of this file, with or without modification, | |
8 | are permitted in any medium without royalty provided the copyright | |
9 | notice and this notice are preserved. | |
10 | ||
11 | Please send Guix bug reports to bug-guix@gnu.org. | |
12 | ||
43faf869 LC |
13 | * Changes in 0.8.1 (since 0.8) |
14 | ||
15 | ** Package management | |
16 | ||
17 | *** New ‘--share’ and ‘--expose’ options for ‘guix system vm’ | |
18 | ||
19 | See “Invoking guix system” in the manual. | |
20 | ||
21 | *** Emacs mode now automatically loads newly installed Emacs packages | |
22 | ||
23 | See “Emacs Initial Setup” in the manual. | |
24 | ||
25 | *** ‘guix-daemon’ now defaults to ‘--cores=0 --jobs=1’ | |
26 | ||
27 | In other words, at any given time, only one derivation is being built or | |
28 | substituted, and it can use as many cores as available. Before, there could | |
29 | be N derivations using N cores, which was obviously not desirable. | |
30 | ||
31 | *** Command-line tools support the ‘GUIX_BUILD_OPTIONS’ environment variable | |
32 | ||
33 | See “Invoking guix build” in the manual. | |
34 | ||
35 | *** ‘guix environment’ is faster | |
36 | ||
37 | *** New ‘--recursive’ option for ‘guix archive’ | |
38 | ||
39 | See “Invoking guix archive” in the manual. | |
40 | ||
41 | *** Missing patches required by a package definition are gracefully reported | |
42 | ||
43 | *** ‘guix lint’ supports additional checkers | |
44 | ||
45 | The new checkers are ‘gnu-description’, ‘home-page’, and ‘source’. | |
46 | See “Invoking guix lint” in the manual. | |
47 | ||
48 | *** New CPAN importer for ‘guix import’ | |
49 | ||
50 | See “Invoking guix import” in the manual. | |
51 | ||
52 | ||
53 | ** Distribution | |
54 | ||
55 | *** USB installation image has more tools | |
56 | ||
57 | Tools added since 0.8: wpa_supplicant, cryptsetup, and iw. | |
58 | ||
59 | *** Linux kernel module dependencies are automatically handled | |
60 | ||
61 | Before that, all the modules needed in the initrd would need to be explicitly | |
62 | listed, including their dependencies, and in topological order. | |
63 | ||
64 | *** Font packages now all have a name starting with ‘font-’ | |
65 | ||
66 | See “Fonts” in the manual. | |
67 | ||
68 | *** Shell startup files have been cleaned up | |
69 | ||
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. | |
73 | ||
74 | *** The ‘root’ account gets a copy of the account skeleton files | |
75 | ||
76 | Before that, the skeleton files would only be copied to non-root accounts. | |
77 | ||
78 | *** The name service cache daemon (nscd) is configurable | |
79 | ||
80 | By default it aggressively caches host and service lookups. See “Base | |
81 | Services” in the manual. | |
82 | ||
83 | *** Available locale definitions are now declared in ‘operating-system’ | |
84 | ||
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. | |
87 | ||
88 | *** SLiM sessions are configurable | |
89 | ||
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. | |
92 | ||
93 | *** Man pages and Info files are systematically gzip-compressed | |
94 | ||
95 | *** ‘gnu-build-system’ ensures that documentation is in share/{man,info} | |
96 | ||
97 | If a package installs to $prefix/{man,info}, this is automatically fixed to be | |
98 | $prefix/share/{man,info}. | |
99 | ||
100 | *** ‘strip’ is invoked only on ELF files and ‘ar’ archives | |
101 | ||
102 | *** ‘libtool’ and ‘libltdl’ are now separate packages | |
103 | ||
104 | *** Emacs mode is readily usable on the Guix System Distribution | |
105 | ||
106 | *** Substitutes are now enabled by default on freshly installed systems | |
107 | ||
108 | ** Programming interfaces | |
109 | ||
110 | *** New (guix elf) and (gnu build linux-modules) modules | |
111 | ||
112 | These provide resolution of Linux kernel module dependencies. See | |
113 | <https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00670.html>. | |
114 | ||
115 | *** ‘glib-or-gtk-build-system’ has been extended | |
116 | ||
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. | |
119 | ||
120 | *** ‘search-path-specification’ can now specify non-directory items | |
121 | ||
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. | |
125 | ||
126 | *** (guix build syscalls) has more network-related procedures | |
127 | ||
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. | |
131 | ||
132 | *** (guix monads) refactoring | |
133 | ||
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. | |
139 | ||
140 | *** (guix build utils) provides ‘parallel-job-count’ | |
141 | ||
142 | *** ‘wrap-program’ preserves the original argv[0] | |
143 | ||
144 | *** New (guix sets) module | |
145 | ||
146 | *** ‘define-record-type*’ now support “delayed” fields | |
147 | ||
148 | ** Noteworthy bug fixes | |
149 | ||
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>) | |
178 | ||
179 | ** Native language support | |
180 | ||
181 | *** New translations: fr (French), hu (Hungarian) | |
d3172146 | 182 | *** Updated translation: eo, vi |
43faf869 | 183 | |
0c4b00d8 LC |
184 | * Changes in 0.8 (since 0.7) |
185 | ||
186 | ** Package management | |
187 | ||
188 | *** New visual user interface in Emacs | |
189 | ||
190 | See “Emacs Interface” in the manual. | |
191 | ||
192 | *** New ‘guix environment’ command to produce development environment | |
193 | ||
194 | See “Invoking guix environment” in the manual. | |
195 | ||
29934e02 | 196 | *** The ‘guix import’ command has been extended and documented |
0c4b00d8 | 197 | |
7b3f6a27 | 198 | It can now import packages from pypi.python.org and from GNU. |
0c4b00d8 LC |
199 | See “Invoking guix import” in the manual. |
200 | ||
201 | *** New ‘guix lint’ command, for use by Guix developers | |
202 | ||
203 | See “Invoking guix lint” in the manual. | |
204 | ||
205 | *** Packages can now be “grafted” with replacements of their dependencies | |
206 | ||
207 | See “Security Updates” in the manual. | |
208 | ||
209 | *** The distribution can be extended with ‘--load-path’ or $GUIX_PACKAGE_PATH | |
210 | ||
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. | |
213 | ||
214 | *** ‘guix package’ better reports package upgrades | |
215 | ||
216 | *** ‘guix package’ has a new ‘--switch-generation’ option | |
217 | ||
218 | See “Invoking guix package” in the manual. | |
219 | ||
220 | *** ‘guix-daemon’ has a new ‘--substitute-urls’ option | |
221 | ||
222 | See “Invoking guix-daemon” in the manual. | |
223 | ||
44941798 | 224 | ** Distribution |
0c4b00d8 LC |
225 | |
226 | *** The stand-alone operating system now supports Linux mapped devices | |
227 | ||
228 | See “Mapped Devices” in the manual. | |
229 | ||
230 | *** New fields in ‘operating-system’ declarations, better documentation | |
231 | ||
232 | New fields include ‘hosts-file’, ‘mapped-devices’, and ‘swap-devices’. | |
233 | See “operating-system Reference” in the manual. | |
234 | ||
235 | *** New services: ‘dhcp-client-service’, ‘bitlbee-service’, ‘ntp-service’ | |
236 | ||
237 | See “Services” in the manual. | |
238 | ||
8ee0e719 LC |
239 | *** Free firmware can be loaded |
240 | ||
241 | This notably enables support for some Atheros-based WiFi devices (ath9k-htc.) | |
242 | See “operating-system Reference” in the manual. | |
243 | ||
0c4b00d8 LC |
244 | *** ‘grub-configuration’ declarations can now specify a theme |
245 | ||
246 | See “GRUB Configuration” in the manual. | |
247 | ||
248 | *** The ‘base-initrd’ now has a different signature | |
249 | ||
250 | Existing uses in ‘operating-system’ declarations need to be updated. See | |
251 | “Initial RAM Disk” in the manual for details. | |
252 | ||
253 | *** eudev is now used by default, instead of an old udev release | |
254 | ||
255 | *** ‘guix system vm’ has a new ‘--full-boot’ option | |
256 | ||
257 | See “Invoking guix system” in the manual. | |
258 | ||
259 | *** The ‘file’ command is now part of the package build environment | |
260 | ||
261 | Autoconf-generated ‘configure’ scripts for packages using Libtool use ‘file’ | |
262 | to determine the target ABI, notably on MIPS, hence this change. | |
263 | ||
44941798 LC |
264 | *** 162 new packages |
265 | ||
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, | |
296 | xsensors, zsh | |
297 | ||
298 | *** 117 package updates | |
299 | ||
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 | |
325 | ||
0c4b00d8 LC |
326 | ** Programming interfaces |
327 | ||
328 | *** New ‘ruby-build-system’, for Ruby packages | |
329 | ||
330 | See “Build Systems” in the manual. | |
331 | ||
332 | *** New ‘glib-or-gtk-build-system’, for packages using GLib schemas | |
333 | ||
334 | See “Build Systems” in the manual. | |
335 | ||
336 | *** ‘gnu-build-system’ has a new #:substitutable? parameter | |
337 | ||
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. | |
340 | ||
341 | *** ‘cmake-build-system’ has a new #:build-type parameter | |
342 | ||
343 | See “Build Systems” in the manual. | |
344 | ||
345 | *** The ‘supported-systems’ field of packages is used more consistently | |
346 | ||
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. | |
351 | ||
352 | *** The ‘wrap-program’ procedure can now be called multiple times | |
353 | ||
354 | *** New ‘graft-derivations’ and ‘package-grafts’ procedures | |
355 | ||
356 | They implement “grafts”, as described under “Security Updates” in the manual. | |
357 | ||
358 | *** New “bag” intermediate representation for use by build systems | |
359 | ||
360 | “Bags” are used internally as an intermediate representation between packages | |
361 | and derivations. See “Build Systems” in the manual. | |
362 | ||
363 | *** New (guix monad-repl) module, for monadic interaction at the REPL | |
364 | ||
365 | See “The Store Monad” in the manual. | |
366 | ||
367 | *** New (guix build emacs-utils) module, to facilitate building Emacs packages | |
368 | ||
369 | *** New (guix tests) module, with tools used by the test suite | |
370 | ||
371 | *** The internal ‘guix-register’ command now deduplicates files in store items | |
372 | ||
373 | *** Several system modules moved from (guix build …) to (gnu build …) | |
374 | ||
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. | |
377 | ||
378 | *** (guix profiles) provides a representation of package transactions | |
379 | ||
380 | This factorizes code between ‘guix package’ and the Emacs user interface. | |
381 | ||
8ee0e719 | 382 | *** Bootstrapping packages moved to (gnu packages commencement) modules |
0c4b00d8 LC |
383 | |
384 | ** Bugs fixed | |
385 | ||
386 | *** ‘guix-daemon’ now really deduplicates store items by default | |
387 | ||
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’. | |
392 | ||
393 | *** ‘guix-daemon’ no longer uses ‘vfork’ | |
394 | ||
395 | This could cause problems with ancient Linux kernel. | |
396 | ||
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>) | |
5c88ac53 | 425 | *** WindowMaker no longer pollutes $PATH (<http://bugs.gnu.org/18698>) |
0c4b00d8 | 426 | |
44941798 LC |
427 | ** Native language support |
428 | *** New translation: cs (Czech) | |
429 | *** Updated translations: de, sr, vi | |
430 | ||
02dd2a9c LC |
431 | * Changes in 0.7 (since 0.6) |
432 | ** Package management | |
508ea01e LC |
433 | *** Binaries for mips64el-linux now available from hydra.gnu.org |
434 | ||
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. | |
438 | ||
dccc0b98 LC |
439 | *** ‘guix package’ has a new ‘--show’ option |
440 | *** ‘guix refresh’ has a new ‘--list-dependent’ option | |
02dd2a9c LC |
441 | |
442 | ** Programming interfaces | |
443 | *** New (guix gexp) module, which implements “G-expressions” | |
444 | ||
445 | G-expressions are a new mechanism to embed build-side code in host-side | |
446 | code. See “G-Expressions” in the manual. | |
447 | ||
448 | *** (gnu system) and related modules now use G-expressions | |
449 | ||
450 | This greatly simplifies code, and guarantees that build code carries | |
451 | references to the packages or derivations it uses. | |
452 | ||
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 | |
463 | ||
464 | This allows services to specify code to run at system activation time. | |
465 | ||
466 | ** GNU distribution | |
467 | *** An image to install the GNU system from a USB stick is provided | |
468 | ||
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! | |
472 | ||
473 | *** Support for more parameters in ‘operating-system’ declarations | |
474 | ||
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” | |
477 | in the manual. | |
478 | ||
479 | *** ‘guix system’ supports more actions | |
480 | ||
481 | Newly supported actions are ‘init’, ‘build’, ‘reconfigure’, and ‘disk-image’. | |
482 | See “Invoking guix system” in the manual. | |
483 | ||
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>) | |
dccc0b98 LC |
488 | *** 134 new packages |
489 | ||
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 | |
509 | ||
510 | *** 87 package updates | |
511 | ||
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 | |
02dd2a9c LC |
531 | |
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’ | |
536 | ** Bugs fixed | |
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 | |
545 | ||
b0f981f0 LC |
546 | * Changes in 0.6 (since 0.5) |
547 | ** Package management | |
548 | *** Default store directory changed to /gnu/store | |
549 | ||
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. | |
552 | ||
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 | |
572 | ** GNU distribution | |
4ec91959 LC |
573 | *** 91 new packages |
574 | ||
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 | |
588 | ||
589 | *** 90 package updates | |
590 | ||
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 | |
611 | ||
b0f981f0 LC |
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 | |
617 | ** Bugs fixed | |
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) | |
629 | ||
a043ac04 LC |
630 | * Changes in 0.5 (since 0.4) |
631 | ** Package management | |
632 | *** GNU package descriptions synchronized with the ‘gnumaint’ repository | |
633 | ||
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 | |
636 | meta-data. | |
637 | ||
638 | ** Programming interfaces | |
639 | *** Patches are now listed as part of ‘origin’ | |
640 | ||
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. | |
644 | ||
645 | *** New (guix monads) monadic interface to operate on the store | |
646 | ||
647 | See “The Store Monad” in the manual. The (gnu system …) modules have been | |
648 | rewritten to use this monadic interface. | |
649 | ||
650 | *** New (guix profiles) module | |
651 | ||
652 | It provides an API for dealing with profiles, as with the ‘guix package’ | |
653 | command. | |
654 | ||
655 | *** New (gnu system) module | |
656 | ||
4a8c5617 AE |
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.) | |
a043ac04 LC |
659 | See “System Configuration” in the manual. |
660 | ||
661 | This is work in progress. Send feedback to guix-devel@gnu.org! | |
662 | ||
663 | *** ‘build-expression->derivation’ uses more parameters | |
664 | ||
665 | Some positional parameters have been changed to keyword parameters. | |
666 | See “Derivations” in the manual. | |
667 | ||
668 | ** GNU distribution | |
669 | *** New port to the Loongson MIPS64 processors, n32 ABI (‘mips64el-linux’) | |
670 | ||
4a8c5617 | 671 | Bootstrap binaries have been built for that architecture, and several |
a043ac04 LC |
672 | Loongson-specific patches not yet available upstream have been applied to core |
673 | packages. See “GNU Distribution” and “Porting” in the manual. | |
674 | ||
675 | Pre-built binaries are not yet available via hydra.gnu.org, so Guix will | |
4a8c5617 | 676 | build from source on this platform. |
a043ac04 | 677 | |
5d6dbd29 LC |
678 | *** 110 new packages |
679 | ||
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 | |
697 | ||
698 | *** 47 package updates | |
699 | ||
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 | |
a043ac04 LC |
711 | |
712 | *** Packages are now built with GCC 4.8.2 by default (was 4.7.3) | |
713 | ||
714 | ** Native language support | |
715 | *** New ‘sr’ (Serbian) translation | |
716 | *** New ‘vi’ (Vietnamese) translation | |
717 | *** Updated ‘pt_BR’ (Brazilian Portuguese) translation | |
718 | ** Bugs fixed | |
4a8c5617 | 719 | *** ‘guix pull’ compiles Guix deterministically and correctly |
a043ac04 LC |
720 | |
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 . | |
723 | ||
724 | *** ‘guix package’ allows removal of a specific package output | |
725 | (http://bugs.gnu.org/15756) | |
5d6dbd29 LC |
726 | *** ‘guix-daemon’ always sets umask to 022 |
727 | (http://lists.gnu.org/archive/html/bug-guix/2013-07/msg00033.html) | |
a043ac04 | 728 | *** Files referenced by environment variables are protected from GC |
5d6dbd29 | 729 | *** Yet unbuilt packages get correctly installed (http://bugs.gnu.org/15283) |
a043ac04 LC |
730 | *** ‘bootstrap-graph.{png,eps,pdf}’ built in srcdir (http://bugs.gnu.org/15640) |
731 | ||
8f37bf62 LC |
732 | * Changes in 0.4 (since 0.3) |
733 | ||
734 | ** Package management | |
735 | ||
736 | *** New ‘--list-generations’ and ‘--delete-generations’ options | |
737 | ||
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. | |
740 | ||
741 | *** New ‘guix-register’ program | |
742 | ||
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. | |
745 | ||
746 | ** Programming interfaces | |
747 | ||
748 | *** New API to bootstrap Autotools-based packages | |
749 | ||
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. | |
753 | ||
754 | *** ‘derivation’ and related procedures have a #:references-graphs parameter | |
755 | ||
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. | |
760 | ||
761 | *** Extended API to build a GNU system virtual machine image | |
762 | ||
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. | |
768 | ||
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. | |
773 | ||
774 | *** <derivation> objects supersede .drv file names in the API | |
775 | ||
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. | |
780 | ||
781 | ** GNU distribution | |
782 | ||
6bf3e5f7 LC |
783 | *** 60 new packages |
784 | ||
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 | |
795 | ||
796 | *** 27 package updates | |
797 | ||
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 | |
803 | 3.3.2, texlive 2013 | |
8f37bf62 LC |
804 | |
805 | *** Fontconfig font search path made more convenient | |
806 | ||
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. | |
810 | ||
811 | *** More GUI applications | |
812 | ||
813 | The ‘emacs’ and ‘racket’ packages are now linked against GTK+. New GTK+ | |
814 | applications have been added (see above.) | |
815 | ||
816 | *** Packaging guidelines | |
817 | ||
818 | The documentation of packaging guidelines has been augmented. See the manual | |
819 | under “GNU Distribution”. | |
820 | ||
821 | *** Support for Python 3 along with Python 2 | |
822 | ||
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. | |
826 | ||
827 | ** Internationalization | |
828 | ||
829 | Updated translations: eo. | |
830 | ||
831 | ** Bugs fixed | |
832 | ||
6bf3e5f7 | 833 | *** Workarounds for Guile 2.0.5 now work on Debian derivatives |
8f37bf62 | 834 | *** The dependency graph image has correct size in PDF output |
6bf3e5f7 | 835 | *** 'ldd' now works correctly on x86_64 |
8f37bf62 | 836 | *** Xorg server test suite no longer fails (http://bugs.gnu.org/15392) |
bb5f01c5 | 837 | *** module-init-tools now builds (http://bugs.gnu.org/15182, http://bugs.gnu.org/15187) |
6bf3e5f7 | 838 | *** Hop 2.4 builds with newer Bigloo (http://bugs.gnu.org/15194) |
85f3a05e | 839 | |
d1495831 LC |
840 | * Changes in 0.3 (since 0.2) |
841 | ||
842 | ** Package management | |
bdbb6fbb LC |
843 | |
844 | *** Cross-compilation support | |
845 | ||
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 | |
850 | details. | |
851 | ||
d1495831 LC |
852 | *** New ‘--max-silent-time’ option for “guix build” and “guix package” |
853 | ||
854 | See the manual for details. | |
855 | ||
bdbb6fbb LC |
856 | *** New ‘--fallback’ option for “guix build” and “guix package” |
857 | ||
858 | This option instructs to fall back to local builds when the substituter fails | |
859 | to download a substitute. | |
860 | ||
8e59fdd5 LC |
861 | *** New ‘--requisites’ option for “guix gc” |
862 | ||
863 | See the manual for details. | |
864 | ||
5939006b LC |
865 | *** New ‘--key-download’ option for “guix refresh” |
866 | ||
867 | See the manual for details. | |
42300254 LC |
868 | |
869 | ** Programming interfaces | |
870 | ||
5939006b LC |
871 | *** New ‘package-cross-derivation’ procedure in (guix derivations) |
872 | ||
873 | See the manual for details. | |
874 | ||
875 | *** New ‘%current-target-system’ SRFI-39 parameter | |
876 | ||
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. | |
880 | ||
42300254 LC |
881 | *** New (guix hash) module; new ‘open-sha256-port’ and ‘sha256-port’ procedures |
882 | ||
883 | This improves performance of SHA256 computations. | |
884 | ||
5939006b LC |
885 | |
886 | ** GNU distribution | |
887 | ||
3253830d | 888 | *** 33 new packages |
5939006b | 889 | |
3253830d LC |
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 | |
5939006b | 894 | |
3253830d | 895 | *** 25 package updates |
5939006b | 896 | |
3253830d LC |
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 | |
5939006b LC |
902 | |
903 | *** Binary packages now available for i686-linux | |
904 | ||
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. | |
908 | ||
909 | *** Debug info packages | |
910 | ||
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. | |
914 | ||
915 | *** Bootstrap binaries can be cross-compiled | |
916 | ||
917 | The distribution can now be ported to new architectures (currently | |
918 | GNU/Linux-only) by cross-compiling the “bootstrap binaries”. See “Porting” | |
919 | in the manual. | |
920 | ||
921 | *** Bootstrapping documented | |
922 | ||
923 | See “Bootstrapping” in the manual, for information on how the GNU | |
924 | distribution builds “from scratch”. | |
925 | ||
926 | ** Internationalization | |
927 | ||
928 | New translations: eo, pt_BR. | |
929 | ||
d1495831 LC |
930 | ** Bugs fixed |
931 | *** “guix --help” now works when using Guile 2.0.5 | |
932 | *** Binary substituter multi-threading and pipe issues fixed | |
933 | ||
934 | These could lead to random substituter crashes while substituting a binary. | |
935 | See commits 0332386 and 101d9f3 for details. | |
936 | ||
bdbb6fbb LC |
937 | *** Binary substituter gracefully handles lack of network connectivity |
938 | ||
16357e8c LC |
939 | *** Daemon properly handles rebuilds of multiple-output derivations |
940 | ||
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 . | |
945 | ||
5939006b LC |
946 | *** ‘guix package -i foo:out’ no longer removes other outputs of ‘foo’ |
947 | ||
948 | Previously only the ‘out’ output of package ‘foo’ would be kept in the | |
949 | profile. | |
950 | ||
3253830d LC |
951 | *** Replacement (srfi srfi-37) provided if the user’s one is broken |
952 | ||
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. | |
956 | ||
85f3a05e LC |
957 | * Changes in 0.2 (since 0.1) |
958 | ||
4056b828 LC |
959 | ** Package management |
960 | ||
961 | *** Guix commands are now sub-commands of the “guix” program | |
962 | ||
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”. | |
966 | ||
06504acb LC |
967 | *** New “guix package --upgrade” option |
968 | ||
969 | As the name implies, this option atomically upgrades all the packages | |
e3729544 LC |
970 | installed in a profile or the set of packages matching a given regexp. |
971 | See “Invoking guix package” in the manual. | |
06504acb | 972 | |
0f241da2 LC |
973 | *** New “guix package --search” option |
974 | ||
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 | |
977 | manual, for details. | |
978 | ||
4056b828 LC |
979 | *** New “guix pull” command |
980 | ||
981 | The command pulls the latest version of Guix–both the package management | |
982 | modules and the distribution. See the manual for details. | |
983 | ||
984 | *** New binary substituter | |
985 | ||
986 | The “substituter” mechanism allows pre-built binaries to be transparently | |
987 | downloaded instead of performing a build locally. Currently binaries are | |
0f241da2 LC |
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. | |
990 | ||
991 | See http://hydra.gnu.org/jobset/gnu/master under “Job status” for the list of | |
992 | available binary packages. | |
4056b828 LC |
993 | |
994 | *** New “guix refresh” command | |
995 | ||
996 | The command is used by Guix maintainers. It automatically updates the | |
997 | distribution to the latest upstream releases of GNU software. | |
998 | ||
999 | *** New “guix hash” command | |
1000 | ||
1001 | Convenience command to compute the hash of a file. See the manual for | |
1002 | details. | |
1003 | ||
0f241da2 | 1004 | *** Nix daemon code updated |
4056b828 | 1005 | |
0f241da2 LC |
1006 | The daemon code from Nix, used by the ‘guix-daemon’ command, has been updated |
1007 | to current Nix ‘master’. | |
4056b828 LC |
1008 | |
1009 | ** Programming interfaces | |
1010 | ||
0f241da2 LC |
1011 | *** (guix download) now supports HTTPS, using GnuTLS |
1012 | ||
1013 | It allows package source tarballs to be retrieved over HTTPS. | |
1014 | ||
4056b828 LC |
1015 | *** New ‘native-search-path’ and ‘search-path’ package fields |
1016 | ||
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 | |
1022 | uses one of these. | |
1023 | ||
1024 | *** Package inputs can be a function of the target system type | |
1025 | ||
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. | |
1029 | ||
1030 | *** New build systems | |
1031 | ||
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 | |
1034 | CMake packages. | |
1035 | ||
47d18810 LC |
1036 | *** Tools to build Linux initrds, QEMU images, and more |
1037 | ||
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: | |
1042 | ||
1043 | (expression->initrd | |
1044 | '(begin | |
1045 | (mkdir "/proc") | |
1046 | (mount "none" "/proc" "proc") | |
1047 | ((@ (system repl repl) start-repl)))) | |
1048 | ||
1049 | More examples in the linux-initrd.scm file. | |
1050 | ||
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. | |
1055 | ||
4056b828 LC |
1056 | ** GNU distribution |
1057 | ||
1058 | Many updates and additions have been made to the distribution. Here are the | |
1059 | highlights. | |
1060 | ||
1061 | *** Major updates | |
1062 | ||
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. | |
1065 | ||
1066 | *** Noteworthy new packages | |
1067 | ||
0f241da2 LC |
1068 | TeXLive, Xorg, GNU GRUB, GNU Parted, QEMU and QEMU-KVM, Avahi, Bigloo, |
1069 | CHICKEN, Scheme48, Hugs, Python, Lua, Samba. |