summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <[email protected]>2017-05-22 18:25:01 +0200
committerMarius Bakke <[email protected]>2017-05-22 18:25:01 +0200
commitfd3782d13b8f2e835e9867c7abd92786a93e8ad6 (patch)
tree6259124b015fcee06d6777f0a348da0fce34892f
parent52d2a2be1fda52991a19519bc260f25655bfb1ab (diff)
parent7c63fff6d0ba1dcd74e1a31c13b501d24d9c66f6 (diff)
Merge branch 'version-0.13.0'
-rw-r--r--Makefile.am12
-rw-r--r--NEWS611
-rw-r--r--build-aux/update-NEWS.scm161
-rw-r--r--doc/guix.texi2
-rw-r--r--gnu/packages/package-management.scm8
-rw-r--r--gnu/tests/ssh.scm2
-rw-r--r--guix/scripts/system.scm8
7 files changed, 793 insertions, 11 deletions
diff --git a/Makefile.am b/Makefile.am
index 7c07d1b2b9..c2fc2642a7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -422,6 +422,7 @@ EXTRA_DIST = \
build-aux/generate-authors.scm \
build-aux/test-driver.scm \
build-aux/update-guix-package.scm \
+ build-aux/update-NEWS.scm \
build-aux/run-system-tests.scm \
d3.v3.js \
graph.js \
@@ -666,6 +667,15 @@ update-guix-package:
$(top_srcdir)/build-aux/update-guix-package.scm \
"`git rev-parse HEAD`"
+# Location of a checkout of <git://git.savannah.gnu.org/guix/maintenance.git>.
+# Package data from this checkout is used by 'update-NEWS.scm'.
+GUIX_MAINTENANCE_DIRECTORY ?= $(top_srcdir)/../guix-maintenance
+
+update-NEWS: $(GOBJECTS)
+ $(top_builddir)/pre-inst-env "$(GUILE)" \
+ $(top_srcdir)/build-aux/update-NEWS.scm \
+ $(top_srcdir)/NEWS "$(GUIX_MAINTENANCE_DIRECTORY)/data"
+
# Make sure we're not shipping a file that embeds a local /gnu/store file name.
assert-no-store-file-names: $(distdir)/ChangeLog
$(AM_V_at)if grep -r --exclude=*.texi --exclude=*.info \
@@ -701,7 +711,7 @@ hydra-jobs.scm: $(GOBJECTS)
.PHONY: assert-no-store-file-names assert-binaries-available
.PHONY: assert-final-inputs-self-contained
.PHONY: clean-go make-go
-.PHONY: update-guix-package release
+.PHONY: update-guix-package update-NEWS release
## -------------- ##
## Silent rules. ##
diff --git a/NEWS b/NEWS
index 8b6727fd93..8280902557 100644
--- a/NEWS
+++ b/NEWS
@@ -2,7 +2,7 @@
#+TITLE: Guix NEWS – history of user-visible changes
#+STARTUP: content hidestars
-Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <[email protected]>
+Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <[email protected]>
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
@@ -10,6 +10,615 @@ Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <[email protected]>
Please send Guix bug reports to [email protected].
+* Changes in 0.13.0 (since 0.12.0)
+
+** Package management
+
+*** Guix can now be used on aarch64 GNU/Linux systems
+*** New ‘guix pack’ command to create bundles
+*** New ‘guix copy’ command to copy store items over SSH
+*** New ‘--cache’ option for ‘guix publish’
+*** $GUIX_DAEMON_SOCKET can specify remote daemons
+*** Guix can now run on Guile 2.2, providing better performance
+*** Emacs interface moved to separate Emacs-Guix package
+*** New ‘--root’ option for ‘guix environment’
+*** ‘guix pull’ now connects to git.savannah.gnu.org over HTTPS
+*** New cross-compilation targets: aarch64-linux-gnu, powerpc-linux-gnu
+*** Packages can specify “single-entry search paths” (e.g., ‘GIT_EXEC_PATH’)
+*** ‘guix import’ and ‘guix refresh’ now support Stackage
+*** Support for the deprecated “PKG-VERSION” syntax has been removed
+*** New Cypher backend for ‘guix graph’
+*** GnuTLS (Guile bindings) is now required
+*** Guix now issues a warning when it detects that Guix has not been upgraded in a while
+
+** Distribution
+
+*** The GuixSD installation image supports (U)EFI systems
+*** GuixSD supports Btrfs (<http://bugs.gnu.org/19280>)
+*** Some system services are now run in separate namespaces (“containers”)
+*** The LXDE desktop environment is now available
+*** ‘grub-configuration’ can specify settings for the user interface
+*** Service types can now specify a default value for services
+*** Create the /var/log/wtmp and /var/log/utmpx databases
+*** A raw initial RAM disk can be created to support systems with custom kernel configurations
+*** ‘static-networking’ service can now be extended
+*** Configuration of ‘nginx-service-type’ has been greatly improved
+*** New ‘gnu-build-system’ phase to always reset gzip timestamps
+*** New services
+
+exim, mail-aliases, inetd, agetty, openvswitch, special-files, redis,
+thermald
+
+*** 840 new packages
+
+0ad, 0ad-data, adb, alpine, alsa-plugins, angband, antlr2, antlr3,
+appstream-glib, aris, aspell-dict-pt-br, asunder, balsa, bam, beep,
+binutils-vc4, blind, blists, btrfs-progs-static, camlzip, cargo, catdoc,
+catimg, ccd2cue, cdogs-sdl, cdrtools, ceph, checkpolicy, cifs-utils, cmst,
+colors, compface, compton, cool-retro-term, corrode, crawl, darcs,
+darktable, dcmtk, deutex, ding-libs, dotherside, dovecot-libsodium-plugin,
+dovecot-trees, dub, dvd+rw-tools, dvdauthor, dvdstyler, dzen, e3, electrum,
+emacs-adaptive-wrap, emacs-ag, emacs-aggressive-indent, emacs-alert,
+emacs-ansi, emacs-calfw, emacs-cdlatex, emacs-commander,
+emacs-default-encrypt, emacs-diminish, emacs-dream-theme,
+emacs-evil-commentary, emacs-evil-surround, emacs-exwm, emacs-git-gutter,
+emacs-git-timemachine, emacs-gntp, emacs-gnuplot, emacs-google-maps,
+emacs-highlight-sexp, emacs-ht, emacs-htmlize, emacs-idle-highlight,
+emacs-key-chord, emacs-keyfreq, emacs-linum-relative, emacs-log4e,
+emacs-memoize, emacs-mew, emacs-monroe, emacs-mu4e-alert, emacs-ox-twbs,
+emacs-pretty-mode, emacs-strace-mode, emacs-stripe-buffer, emacs-sx,
+emacs-symon, emacs-transpose-frame, emacs-use-package, emacs-xelb,
+emacs-xmlgen, emacs-yasnippet, emacspeak, enigma, ert-runner, es,
+eudev-with-hwdb, f3, fabric, fcitx-configtool, filezilla, fillets-ng,
+fish-guix, fmt, font-awesome, font-cns11643, font-cns11643-swjz,
+font-comic-neue, font-go, font-google-material-design-icons,
+font-google-roboto, font-iosevka, font-linuxlibertine, font-tamzen,
+font-wqy-microhei, fortify-headers, fprintd, freeciv, freedoom, freegish,
+freerdp, freetalk, freexl, gcc-vc4, gcompris-qt, geos, ghc-code-page,
+ghc-hslogger, ghc-json, ghc-language-c, ghc-markdown-unlit, ghc-setlocale,
+ghc-unexceptionalio, ghc-wave, git-crypt, gl2ps, gnome-autoar,
+gnome-disk-utility, gnumach, gnushogi, gnustep-make, gpicview, grafx2,
+graphene, guildhall, guile-8sync, guile-bash, guile-fibers, guile-git,
+guile-ics, guile-miniadapton, guile-sdl2, guile-sjson,
+guile-syntax-highlight, guile2.0-commonmark, guile2.0-haunt, guile2.0-json,
+guile2.0-reader, guile2.0-ssh, guile2.2-gdbm-ffi, guile2.2-gnutls,
+guile2.2-haunt, guile2.2-lib, guile2.2-reader, guile2.2-ssh, heimdal,
+hiawatha, hisat2, http-parser, httpfs2, httpstat, hubbub, human, hurd,
+hyperestraier, idris-bifunctors, idris-lens, idris-lightyear,
+idris-wl-pprint, intel-gpu-tools, itpp, jacal, java-asm, java-cglib,
+java-commons-cli, java-commons-codec, java-commons-collections4,
+java-commons-compress, java-commons-daemon, java-commons-io,
+java-commons-lang, java-commons-lang3, java-commons-logging-minimal,
+java-commons-math3, java-commons-net, java-easymock, java-eclipse-ant-core,
+java-eclipse-compare-core, java-eclipse-core-commands,
+java-eclipse-core-contenttype, java-eclipse-core-expressions,
+java-eclipse-core-filesystem, java-eclipse-core-jobs,
+java-eclipse-core-resources, java-eclipse-core-runtime,
+java-eclipse-core-variables, java-eclipse-equinox-app,
+java-eclipse-equinox-common, java-eclipse-equinox-preferences,
+java-eclipse-equinox-registry, java-eclipse-jdt-core, java-eclipse-osgi,
+java-eclipse-team-core, java-eclipse-text, java-guava, java-hamcrest-all,
+java-httpcomponents-httpclient, java-httpcomponents-httpcore,
+java-httpcomponents-httpcore-ab, java-httpcomponents-httpcore-nio,
+java-httpcomponents-httpmime, java-icu4j, java-javax-mail, java-jmh,
+java-jmock, java-jopt-simple, java-jsch, java-jsr305, java-log4j-api,
+java-mockito, java-objenesis, java-osgi-annotation, java-osgi-core,
+java-osgi-service-event, java-plexus-interpolation, java-plexus-utils,
+java-rsyntaxtextarea, java-simple-xml, java-usb4java, joe, kakoune,
+keybinder, kiki, knot, lchat, le-certs, leafpad, lensfun, leveldb, libbson,
+libcss, libdom, libfilezilla, libfprint, libgig, libgme,
+libgnome-games-support, libircclient, libmesode, libmnl, libmp4v2,
+libmpack, libnftnl, libnsbmp, libnsgif, libnspsl, libnsutils,
+libparserutils, libpng-apng, libselinux, libsemanage, libsepol, libsmf,
+libstaroffice, libstrophe, libsvgtiny, libtorrent-rasterbar, liburcu,
+libusb4java, libutf, libvterm, libwapcaplet, libxls, libzmf, lierolibre,
+light, lightdm, lightdm-gtk-greeter, linsmith, linuxdcpp,
+llvm-for-extempore, lmms, loudmouth, lshw, lsyncd, lua-libmpack,
+lua5.2-bitop, lua5.2-libmpack, lua5.2-lpeg, lugaru, luminance-hdr, lush2,
+lxde, lxde-common, lxde-icon-theme, lxinput, lxmenu-data, lxpanel,
+lxsession, maxflow, mbedtls-apache, mcabber, mcomix, mdbtools, megaglest,
+megaglest-data, menumaker, mes, meson, mia, minizip, mlmmj,
+multipath-tools, neofetch, neomutt, neovim, neovim-syntastic,
+netcdf-fortran, niftilib, nim, nnn, no-more-secrets, noice, non-mixer,
+non-timeline, nsgenbind, nss-pam-ldapd, nyacc, nyx, obconf, obnam,
+ocaml-alcotest, ocaml-astring, ocaml-base64, ocaml-batteries,
+ocaml-bin-prot, ocaml-bisect, ocaml-bitstring, ocaml-bos, ocaml-cmdliner,
+ocaml-cppo, ocaml-csv, ocaml-expect, ocaml-fieldslib, ocaml-fileutils,
+ocaml-fmt, ocaml-fpath, ocaml-frontc, ocaml-gsl, ocaml-js-build-tools,
+ocaml-jsonm, ocaml-logs, ocaml-lwt, ocaml-mcl, ocaml-mtime, ocaml-oasis,
+ocaml-ocurl, ocaml-ounit, ocaml-pcre, ocaml-ppx-assert, ocaml-ppx-bench,
+ocaml-ppx-compare, ocaml-ppx-core, ocaml-ppx-deriving, ocaml-ppx-driver,
+ocaml-ppx-enumerate, ocaml-ppx-here, ocaml-ppx-inline-test, ocaml-ppx-let,
+ocaml-ppx-optcomp, ocaml-ppx-sexp-conv, ocaml-ppx-tools,
+ocaml-ppx-type-conv, ocaml-ppx-typerep-conv, ocaml-ppx-variants-conv,
+ocaml-qcheck, ocaml-qtest, ocaml-react, ocaml-result, ocaml-rresult,
+ocaml-sexplib, ocaml-sqlite3, ocaml-ssl, ocaml-stringext, ocaml-topkg,
+ocaml-typerep, ocaml-uchar, ocaml-ulex, ocaml-uutf, ocaml-variantslib,
+ocaml-xmlm, ocaml-zarith, ocaml4.01-batteries, ocaml4.01-bisect,
+ocaml4.01-camlzip, ocaml4.01-csv, ocaml4.01-findlib, ocaml4.01-gsl,
+ocaml4.01-mcl, ocaml4.01-ounit, ocaml4.01-qtest, ocaml4.01-sqlite3,
+ocaml4.01-xmlm, ocamlify, ocamlmod, omake, opencascade-oce, openspin,
+openvswitch, orca, ovmf, pcc, pdfgrep, perl-any-moose, perl-anyevent,
+perl-anyevent-i3, perl-async-interrupt, perl-canary-stability,
+perl-cddb-get, perl-crypt-rc4, perl-cwd-guard, perl-devel-checkcompiler,
+perl-ev, perl-extutils-depends, perl-extutils-pkgconfig, perl-file-pushd,
+perl-module-build-xsutil, perl-mouse, perl-mousex-nativetraits,
+perl-ole-storage-lite, perl-parallel-forkmanager, perl-switch,
+perl-test-needs, perl-test-number-delta, perl-x11-xcb, perl-xml-descent,
+perl-xml-tokeparser, perl-xs-object-magic, phonon-backend-gstreamer,
+pngcrunch, policycoreutils, polkit-gnome, ponymix, pootle, postorius,
+pplacer, prboom-plus, profanity, proj.4, proot, proot-static,
+propeller-development-suite, propeller-gcc, propeller-load,
+propeller-toolchain, proplib, prout, python-astroid, python-autopep8,
+python-colorspacious, python-configparser, python-cram, python-cssmin,
+python-cssutils, python-cycler, python-ddt, python-defusedxml,
+python-diff-match-patch, python-dirsync, python-dj-database-url,
+python-django-allauth, python-django-appconf, python-django-assets,
+python-django-bulk-update, python-django-contact-form,
+python-django-contrib-comments, python-django-gravatar2,
+python-django-jsonfield, python-django-mailman3, python-django-overextends,
+python-django-redis, python-django-rq, python-django-sortedm2m,
+python-django-statici18n, python-dulwich, python-elasticsearch,
+python-eventlet, python-factory-boy, python-faker, python-fakeredis,
+python-fastimport, python-flake8-polyfill, python-flask-htmlmin,
+python-flask-login, python-flask-multistatic, python-flask-oidc,
+python-flask-wtf, python-fudge, python-geventhttpclient, python-gpg,
+python-hdf4, python-hiredis, python-htmlmin, python-httpbin, python-ipy,
+python-isort, python-kitchen, python-levenshtein, python-lz4, python-lzo,
+python-mando, python-mando, python-matplotlib-documentation, python-mpmath,
+python-munch, python-mwclient, python-mysqlclient, python-netcdf4,
+python-nosexcover, python-numpy-documentation, python-oauth2client,
+python-openid, python-openid-cla, python-openid-teams,
+python-paramunittest, python-pbkdf2, python-poppler-qt5, python-pyatspi,
+python-pycosat, python-pygit2, python-pykka, python-pylint,
+python-pyodbc-c, python-pypeg2, python-pytest-catchlog,
+python-pytest-httpbin, python-pytest-warnings, python-qrcode, python-reno,
+python-rst2ansi, python-scandir, python-sepolgen, python-setools,
+python-sge-pygame, python-snowballstemmer, python-sockjs-tornado,
+python-sphinx-alabaster-theme, python-sphinx-cloud-sptheme,
+python-sphinx-me, python-straight-plugin, python-tmx,
+python-translate-toolkit, python-trollius-redis, python-utils,
+python-webassets, python-xdo, python2-astroid, python2-autopep8,
+python2-backports-functools-lru-cache,
+python2-backports-shutil-get-terminal-size, python2-cheetah,
+python2-cliapp, python2-colorspacious, python2-configparser,
+python2-coverage-test-runner, python2-cram, python2-cssmin, python2-cycler,
+python2-ddt, python2-defusedxml, python2-diff-match-patch, python2-dirsync,
+python2-dj-database-url, python2-django-allauth, python2-django-appconf,
+python2-django-assets, python2-django-bulk-update,
+python2-django-contact-form, python2-django-contrib-comments,
+python2-django-gravatar2, python2-django-jsonfield,
+python2-django-mailman3, python2-django-overextends, python2-django-redis,
+python2-django-rq, python2-django-sortedm2m, python2-django-statici18n,
+python2-dulwich, python2-elasticsearch, python2-eventlet,
+python2-factory-boy, python2-faker, python2-fakeredis, python2-fastimport,
+python2-flake8-polyfill, python2-flask-htmlmin, python2-flask-login,
+python2-flask-multistatic, python2-flask-wtf, python2-fudge,
+python2-geventhttpclient, python2-gpg, python2-hdf4, python2-hiredis,
+python2-htmlmin, python2-httpbin, python2-isort, python2-kitchen,
+python2-larch, python2-levenshtein, python2-lz4, python2-lzo,
+python2-mando, python2-matplotlib-documentation, python2-mpmath,
+python2-munch, python2-mwclient, python2-mysqlclient, python2-netcdf4,
+python2-nosexcover, python2-numpy-documentation, python2-openid,
+python2-openid-cla, python2-openid-teams, python2-paramunittest,
+python2-pbkdf2, python2-pycosat, python2-pygame, python2-pygit2,
+python2-pykka, python2-pylint, python2-pyodbc-c, python2-pytest-catchlog,
+python2-pytest-httpbin, python2-pytest-warnings, python2-qrcode,
+python2-reno, python2-ruamel.ordereddict, python2-scandir,
+python2-sge-pygame, python2-slowaes, python2-snowballstemmer,
+python2-sockjs-tornado, python2-sphinx-alabaster-theme,
+python2-sphinx-cloud-sptheme, python2-sphinx-me, python2-stemming,
+python2-straight-plugin, python2-subprocess32, python2-tmx,
+python2-tracing, python2-translate-toolkit, python2-trollius-redis,
+python2-ttystatus, python2-utils, pzstd, qdbm, qjackctl, qtcanvas3d,
+qtcharts, qtdatavis3d, qtdeclarative-render2d, qtgamepad, qtpurchasing,
+qtscxml, qtserialbus, qutebrowser, r-affy, r-affyio, r-ape, r-base64,
+r-beeswarm, r-bookdown, r-boot, r-bsgenome-hsapiens-1000genomes-hs37d5,
+r-cairo, r-car, r-caret, r-centipede, r-chipseq, r-class, r-commonmark,
+r-compquadform, r-copyhelper, r-copywriter, r-cowplot, r-delayedarray,
+r-deoptimr, r-desc, r-diptest, r-fastica, r-fivethirtyeight, r-flexmix,
+r-fnn, r-fpc, r-genomeinfodbdata, r-ggbeeswarm, r-ggthemes, r-lars, r-lme4,
+r-maldiquant, r-mass, r-matrixmodels, r-mclust, r-minimal, r-minqa,
+r-mixtools, r-mnormt, r-modelmetrics, r-modeltools, r-msnbase, r-msnid,
+r-mzid, r-mzr, r-nlme, r-nloptr, r-numderiv, r-pbapply, r-pbkrtest,
+r-pcamethods, r-plogr, r-prabclus, r-protgenerics, r-quantreg,
+r-randomforest, r-ranger, r-rann, r-raremetals2, r-rcppeigen,
+r-rcppprogress, r-rhdf5, r-robustbase, r-rprojroot, r-seqminer, r-seurat,
+r-sn, r-sourcetools, r-spatial, r-statmod, r-sva, r-tclust, r-trimcluster,
+r-tsne, r-txdb-mmusculus-ucsc-mm10-knowngene, r-tximport, r-vgam, r-vipor,
+r-vsn, rdma-core, re2c, reducelcs, ribodiff, ripit, rocksdb, roffit,
+rsnapshot, ruby-mail, sambamba, sbm, scheme48-rx, scm, scrypt, scsh,
+seabios, secilc, sedsed, shellcheck, simh, skroll, slib, sonic,
+speedtest-cli, speexdsp, spin2cpp, spinsim, spoon, sssd, stringtemplate3,
+stringtemplate4, stunnel, swaks, syslinux, sysstat, tailon, talloc-static,
+tango-icon-theme, taxtastic, tclx, teeworlds, tftp-hpa, thermald,
+tidy-html, tipp10, tlp, tokyocabinet, tracker, tremc, twm, unibilium,
+unrar, vim-airline, vim-airline-themes, vim-context-filetype, vim-luna,
+vim-neocomplete, vim-neosnippet, vim-neosnippet-snippets, vim-scheme,
+vim-syntastic, vinagre, volk, wificurse, wimlib, wwwoffle, wxsvg, xbattmon,
+xcalc, xdot, xerces-c, xfce4-notifyd, xinetd, xmag, xmessage, xshogi,
+you-get, youtube-dl-gui, zile-on-guile, zpaq, zstd
+
+*** 1220 package updates
+
[email protected], [email protected], arc-icon-theme@20161122, arc-theme@20170302,
[email protected], [email protected], schismtracker@20170420,
[email protected], [email protected], tzdata@2017a, tzdata@2017b,
+
+** Programming interfaces
+
+*** (guix scripts challenge) returns complete reports, not just discrepancies
+*** New ‘dub-build-system’ for the D language and Dub
+*** New ‘ocaml-build-system’ for software written in OCaml
+*** Improvements to the ‘asdf-build-system’ for software written in various Common Lisp dialects.
+*** New ‘package-mapping’ procedure to rewrite package dependency graphs
+*** New modules: (guix workers), (guix discovery), (guix cache),
+ (guix memoization), (guix ssh), (gnu build shepherd)
+*** (gnu build file-systems) now has support for ISO-9660 file systems.
+
+** Noteworthy bug fixes
+
+*** Create home directories once file systems are mounted
+ (<http://bugs.gnu.org/21108>)
+*** GNU R now builds bit-reproducibly (<https://bugs.gnu.org/25598>)
+*** The daemon’s default settings are used unless overriden
+ (<https://bugs.gnu.org/20217>)
+*** ‘guix system’ now supports the common build option ‘--root’
+ (<https://bugs.gnu.org/26271>)
+*** Mesa uses LLVM for better Gallium performance (<https://bugs.gnu.org/25953>)
+*** Grafting no longer triggers a download of all the outputs of each derivation
+ (<https://bugs.gnu.org/24886>)
+*** Home directories are created when using a separate /home
+ (<https://bugs.gnu.org/21108>)
+
+** Native language support
+
+Updated translations: fr (French)
+
* Changes in 0.12.0 (since 0.11.0)
** Package management
diff --git a/build-aux/update-NEWS.scm b/build-aux/update-NEWS.scm
new file mode 100644
index 0000000000..2e8f68c9a8
--- /dev/null
+++ b/build-aux/update-NEWS.scm
@@ -0,0 +1,161 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Ludovic Courtès <[email protected]>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;;
+;;; This script updates the list of new and updated packages in 'NEWS'.
+;;;
+;;; Code:
+
+(use-modules (gnu) (guix)
+ (guix build utils)
+ ((guix ui) #:select (fill-paragraph))
+ (srfi srfi-1)
+ (srfi srfi-11)
+ (ice-9 match)
+ (ice-9 rdelim)
+ (ice-9 regex)
+ (ice-9 pretty-print))
+
+(define %header-rx
+ (make-regexp "^\\* Changes in (version )?([0-9.]+) \\(since ([0-9.]+)\\)"))
+
+(define (NEWS->versions port)
+ "Return two values: the previous version and the current version as read
+from PORT, which is an input port on the 'NEWS' file."
+ (let loop ()
+ (let ((line (read-line port)))
+ (cond ((eof-object? line)
+ (error "failed to determine previous and current version"
+ port))
+ ((regexp-exec %header-rx line)
+ =>
+ (lambda (match)
+ (values (match:substring match 3)
+ (match:substring match 2))))
+ (else
+ (loop))))))
+
+(define (skip-to-org-heading port)
+ "Read from PORT until an Org heading is found."
+ (let loop ()
+ (let ((next (peek-char port)))
+ (cond ((eqv? next #\*)
+ #t)
+ ((eof-object? next)
+ (error "next heading could not be found"))
+ (else
+ (read-line port)
+ (loop))))))
+
+(define (rewrite-org-section input output heading-rx proc)
+ "Write to OUTPUT the text read from INPUT, but with the first Org section
+matching HEADING-RX replaced by NEW-HEADING and CONTENTS."
+ (let loop ()
+ (let ((line (read-line input)))
+ (cond ((eof-object? line)
+ (error "failed to match heading regexp" heading-rx))
+ ((regexp-exec heading-rx line)
+ =>
+ (lambda (match)
+ (proc match output)
+ (skip-to-org-heading input)
+ (dump-port input output)
+ #t))
+ (else
+ (display line output)
+ (newline output)
+ (loop))))))
+
+(define (enumeration->paragraph lst)
+ "Turn LST, a list of strings, into a single string that is a ready-to-print
+paragraph."
+ (fill-paragraph (string-join (sort lst string<?) ", ")
+ 75))
+
+(define (write-packages-added news-file old new)
+ "Write to NEWS-FILE the list of packages added between OLD and NEW."
+ (let ((added (lset-difference string=? (map car new) (map car old))))
+ (with-atomic-file-replacement news-file
+ (lambda (input output)
+ (rewrite-org-section input output
+ (make-regexp "^(\\*+) (.*) new packages")
+ (lambda (match port)
+ (let ((stars (match:substring match 1)))
+ (format port
+ "~a ~a new packages~%~%~a~%~%"
+ stars (length added)
+ (enumeration->paragraph added)))))))))
+
+(define (write-packages-updates news-file old new)
+ "Write to NEWS-FILE the list of packages upgraded between OLD and NEW."
+ (let ((upgraded (filter-map (match-lambda
+ ((package . new-version)
+ (match (assoc package old)
+ ((_ . old-version)
+ (and (version>? new-version old-version)
+ (string-append package "@"
+ new-version)))
+ (_ #f))))
+ new)))
+ (with-atomic-file-replacement news-file
+ (lambda (input output)
+ (rewrite-org-section input output
+ (make-regexp "^(\\*+) (.*) package updates")
+ (lambda (match port)
+ (let ((stars (match:substring match 1)))
+ (format port
+ "~a ~a package updates~%~%~a~%~%"
+ stars (length upgraded)
+ (enumeration->paragraph upgraded)))))))))
+
+
+(define (main . args)
+ (match args
+ ((news-file data-directory)
+ ;; Don't browse things listed in the user's $GUIX_PACKAGE_PATH. Here we
+ ;; assume that the last item in (%package-module-path) is the distro
+ ;; directory.
+ (parameterize ((%package-module-path
+ (list (last (%package-module-path)))))
+ (define (package-file version)
+ (string-append data-directory "/packages-"
+ version ".txt"))
+
+ (let-values (((previous-version new-version)
+ (call-with-input-file news-file NEWS->versions)))
+ (let* ((old (call-with-input-file (package-file previous-version)
+ read))
+ (new (fold-packages (lambda (p r)
+ (alist-cons (package-name p) (package-version p)
+ r))
+ '())))
+ (call-with-output-file (package-file new-version)
+ (lambda (port)
+ (pretty-print new port)))
+
+ (write-packages-added news-file old new)
+ (write-packages-updates news-file old new)))))
+ (x
+ (format (current-error-port) "Usage: update-NEWS NEWS-FILE DATA-DIRECTORY
+
+Update the list of new and updated packages in NEWS-FILE using the
+previous-version package list from DATA-DIRECTORY.\n")
+ (exit 1))))
+
+(apply main (cdr (command-line)))
diff --git a/doc/guix.texi b/doc/guix.texi
index b4a59e793a..aa8b705be6 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -10,7 +10,7 @@
@include version.texi
@c Identifier of the OpenPGP key used to sign tarballs and such.
-@set OPENPGP-SIGNING-KEY-ID BCA689B636553801C3C62150197A5888235FACAC
+@set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5
@copying
Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès@*
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 3438d370e0..12e1f9e6c0 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -73,9 +73,9 @@
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
- (let ((version "0.12.0")
- (commit "ce92d269fea0a2bfac0ac20414f77127d2f07500")
- (revision 11))
+ (let ((version "0.13.0")
+ (commit "a6d728b7aaee09892b0b420d07ed2dbb7de5e63f")
+ (revision 1))
(package
(name "guix")
@@ -91,7 +91,7 @@
(commit commit)))
(sha256
(base32
- "17l9r2mdzzv8vfxb3bc5zkdqkl472q979iwsarp7lcqss1jxys7w"))
+ "1nrskyk8z6w5i9cdfh5zxfgsrqf744sb30ssqi2g5xhijwagr1yq"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/tests/ssh.scm b/gnu/tests/ssh.scm
index 02931e982a..5f06151081 100644
--- a/gnu/tests/ssh.scm
+++ b/gnu/tests/ssh.scm
@@ -51,7 +51,7 @@ When SFTP? is true, run an SFTP server test."
(eval-when (expand load eval)
;; Prepare to use Guile-SSH.
(set! %load-path
- (cons (string-append #$guile-ssh "/share/guile/site/"
+ (cons (string-append #+guile2.0-ssh "/share/guile/site/"
(effective-version))
%load-path)))
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 5e4574f7c7..f71b1d71b8 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -575,7 +575,7 @@ PATTERN, a string. When PATTERN is #f, display all the system generations."
#:disk-image-size
(if full-boot?
image-size
- (* 30 (expt 2 20)))
+ (* 70 (expt 2 20)))
#:mappings mappings))
((disk-image)
(system-disk-image os #:disk-image-size image-size))))
@@ -897,8 +897,10 @@ resulting from command-line parsing."
((shepherd-graph)
(export-shepherd-graph os (current-output-port)))
(else
- (warn-about-old-distro #:suggested-command
- "guix system reconfigure")
+ (unless (memq action '(build init))
+ (warn-about-old-distro #:suggested-command
+ "guix system reconfigure"))
+
(perform-action action os
#:dry-run? dry?
#:derivations-only? (assoc-ref opts