diff --git a/Makefile.am b/Makefile.am index 32cebd5917..a7a67e81cf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -459,7 +459,8 @@ check-system: $(GOBJECTS) # Public key used to sign substitutes from hydra.gnu.org & co. dist_pkgdata_DATA = \ etc/substitutes/hydra.gnu.org.pub \ - etc/substitutes/berlin.guixsd.org.pub + etc/substitutes/berlin.guixsd.org.pub \ + etc/substitutes/ci.guix.info.pub # Bash completion file. dist_bashcompletion_DATA = etc/completion/bash/guix \ @@ -762,7 +763,7 @@ assert-no-store-file-names: $(distdir)/ChangeLog exit 1 ; \ fi -# Make sure hydra.gnu.org has the important binaries. +# Make sure important substitutes are available. assert-binaries-available: $(GOBJECTS) $(AM_V_at)$(top_builddir)/pre-inst-env "$(GUILE)" \ "$(top_srcdir)/build-aux/check-available-binaries.scm" diff --git a/NEWS b/NEWS index 11a649a6da..b78c2c6a71 100644 --- a/NEWS +++ b/NEWS @@ -11,28 +11,38 @@ Copyright © 2016, 2017, 2018 Ricardo Wurmus Please send Guix bug reports to bug-guix@gnu.org. -* Changes since 0.15.0 +* Changes in 0.16.0 (since 0.15.0) ** Package management +*** Default substitute URL changed to https://ci.guix.info *** ‘guix pull -l’ lists new and upgraded packages *** ‘guix pull’ now supports channels via ~/.config/guix/channels.scm *** New ‘--profile’ or ‘-p’ option for ‘guix pull’ +*** ~/.config/guix/current is now a symlink to /var/guix/profiles *** New ‘guix describe’ command *** ‘guix package’ no longer shows build logs by default *** ‘guix’ commands now produce colored output by default +*** User interface now reports grafts separately *** Manifests can now refer to arbitrary Guix commits using “inferiors” +*** New ‘--with-branch’ and ‘--with-commit’ package transformation options +*** ‘guix build -f’ now accepts any kind of “file-like object” +*** Git checkouts may now be fetched from Software Heritage +*** New ‘guix repl’ command for use by inferiors *** New ‘guix processes’ command *** ‘guix pack’ now honors ‘--localstatedir’ for all its backends +*** New ‘opam’ importer for ‘guix import’ *** ‘guix import pypi’ has a new ‘--recursive’ option *** ‘guix import hackage’ has a new ‘--recursive’ option *** ‘guix import stackage’ has a new ‘--recursive’ option The short option for ‘--lts-version’ is now ‘-l’ (used to be ‘-r’). *** ‘guix refresh’ now stores upstream keys in ~/.config/guix/upstream *** Guix now depends on Guile-Gcrypt +*** Guix now requires Guile-JSON ** Distribution +*** Rust is now bootstrapped from mrustc *** The GNU Shepherd was upgraded to 0.5.0 *** ‘guix system reconfigure’ now loads Shepherd service replacements *** ‘herd schedule mcron’ now displays mcron’s job schedule @@ -40,21 +50,59 @@ The short option for ‘--lts-version’ is now ‘-l’ (used to be ‘-r’). *** ‘herd invalidate nscd TABLE’ instructs nscd to invalidate TABLE *** New services -gitolite, iptables, pcscd, prometheus-node-exporter, varnish +ddclient, gitolite, iptables, pcscd, prometheus-node-exporter, varnish + +*** 985 new packages + +*** 1945 package updates + +Noteworthy updates: +bash 4.4.23, binutils 2.31.1, cups 2.2.8, enlightenment 0.22.4, gcc 8.2.0, +gdb 8.2, ghc 8.4.3, gimp 2.10.6, glibc 2.28, gnupg 2.2.11, go 1.11.1, +guile 2.2.4, icecat 60.3.0-gnu1, icedtea 3.7.0, libreoffice 6.1.3.2, +linux-libre 4.19.6, ocaml 4.07.1, octave 4.4.1, perl 5.28.0, +python2 2.7.15, python 3.7.0, racket 7.0, rust 1.28.0, r 3.5.1, +sbcl 1.4.13, shepherd 0.5.0, xorg-server 1.20.3 ** Programming interfaces -*** New (guix channels) module -*** New (guix inferior) module -*** New (guix status) module +*** New (guix channels) module, see “Channels” in the manual +*** New (guix inferior) module, see “Inferiors” in the manual +*** New (guix describe) module, used by ‘guix describe’ +*** New (guix status) module, for build progress reporting *** ‘packages->manifest’ now accepts inferior packages *** New build systems: ‘clojure’, ‘guile’ +*** New ‘git-checkout’ record constructor in (guix git) *** Shepherd services can now declare custom actions *** More of the (gnu system …) APIs are now non-monadic *** New ‘add-file-tree-to-store’ procedure in (guix store) +*** New (guix swh) module to access Software Heritage +*** New (guix build debug-link) module, for ELF ‘.gnu_debuglink’ sections ** Noteworthy bug fixes +*** Fix GCC crashes caused by a patch of ours () +*** ‘guix import hackage’ now supports ‘custom-setup’ field + () +*** ‘guix-daemon’ taken from ‘guix pull’ looks up ‘guix’ in the right place + () +*** Try several file names when looking up kernel modules + () +*** ‘file-system-*’ services are now always started after ‘udev’ + () +*** Racket now ignores bytecode checksums for files in the store + () +*** Grafting now updates CRCs in ‘.gnu_debuglink’ ELF sections + () +*** UUID computation for VMs is now deterministic () +*** ‘git-predicate’ from (guix git) now uses Guile-Git, which fixes corner cases + () +*** (guix store database) registers each store item only once + () +*** The File > Open dialog in LibreOffice no longer triggers a crash + () +*** Account home directory is always honored () + ** Native language support *** The manual is now partially translated into German, in addition to French diff --git a/build-aux/check-available-binaries.scm b/build-aux/check-available-binaries.scm index b832d99935..c80db1a37e 100644 --- a/build-aux/check-available-binaries.scm +++ b/build-aux/check-available-binaries.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . ;;; -;;; Check whether important binaries are available at hydra.gnu.org. +;;; Check whether important binaries are available. ;;; (use-modules (guix store) diff --git a/build-aux/check-final-inputs-self-contained.scm b/build-aux/check-final-inputs-self-contained.scm index 37dc883d3c..c819086508 100644 --- a/build-aux/check-final-inputs-self-contained.scm +++ b/build-aux/check-final-inputs-self-contained.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . ;;; -;;; Check whether important binaries are available at hydra.gnu.org. +;;; Check whether important binaries are available. ;;; (use-modules (guix store) diff --git a/build-aux/update-NEWS.scm b/build-aux/update-NEWS.scm index a9dffef1d2..bf5f0e141b 100644 --- a/build-aux/update-NEWS.scm +++ b/build-aux/update-NEWS.scm @@ -30,6 +30,7 @@ (ice-9 match) (ice-9 rdelim) (ice-9 regex) + (ice-9 vlist) (ice-9 pretty-print)) (define %header-rx @@ -98,31 +99,60 @@ (define (write-packages-added news-file old new) (lambda (match port) (let ((stars (match:substring match 1))) (format port - "~a ~a new packages~%~%~a~%~%" - stars (length added) - (enumeration->paragraph added))))))))) + "~a ~a new packages~%~%" + stars (length 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))) + (define important + '("gcc" "glibc" "binutils" "gdb" ;toolchain + "shepherd" "linux-libre" "xorg-server" "cups" ;OS + "gnome" "xfce" "enlightenment" "lxde" "mate" ;desktop env. + "guile" "bash" "python" "python2" "perl" ;languages + "ghc" "rust" "go" "julia" "r" "ocaml" + "icedtea" "openjdk" "clojure" "sbcl" "racket" + "emacs" "gimp" "inkscape" "libreoffice" ;applications + "octave" "icecat" "gnupg")) + + (let* ((table (fold (lambda (package table) + (match package + ((name . version) + (vhash-cons name version table)))) + vlist-null + new)) + (latest (lambda (name) + (let ((versions (vhash-fold* cons '() name table))) + (match (sort versions version>?) + ((latest . _) latest))))) + (upgraded (filter-map (match-lambda + ((package . new-version) + (match (assoc package old) + ((_ . old-version) + (and (string=? new-version + (latest package)) + (version>? new-version old-version) + (cons package new-version))) + (_ #f)))) + new)) + (noteworthy (filter (match-lambda + ((package . version) + (member package important))) + upgraded))) (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))) + (let ((stars (match:substring match 1)) + (lst (map (match-lambda + ((package . version) + (string-append package " " + version))) + noteworthy))) (format port - "~a ~a package updates~%~%~a~%~%" + "~a ~a package updates~%~%Noteworthy updates:~%~a~%~%" stars (length upgraded) - (enumeration->paragraph upgraded))))))))) + (enumeration->paragraph lst))))))))) (define (main . args) @@ -138,6 +168,8 @@ (define (package-file version) (let-values (((previous-version new-version) (call-with-input-file news-file NEWS->versions))) + (format (current-error-port) "Updating NEWS for ~a to ~a...~%" + previous-version new-version) (let* ((old (call-with-input-file (package-file previous-version) read)) (new (fold-packages (lambda (p r) diff --git a/build-aux/update-guix-package.scm b/build-aux/update-guix-package.scm index 9598872dfd..83f6eca6bb 100644 --- a/build-aux/update-guix-package.scm +++ b/build-aux/update-guix-package.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -133,7 +133,8 @@ (define (main . args) ;; Add an indirect GC root for SOURCE in the current directory. (false-if-exception (delete-file root)) (symlink source root) - (add-indirect-root store root) + (add-indirect-root store + (string-append (getcwd) "/" root)) (format #t "source code for commit ~a: ~a (GC root: ~a)~%" commit source root))))) diff --git a/config-daemon.ac b/config-daemon.ac index aac46817f5..e5b0ee082c 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -120,15 +120,7 @@ if test "x$guix_build_daemon" = "xyes"; then dnl Determine the appropriate default list of substitute URLs (GnuTLS dnl is required so we can default to 'https'.) - case "x$host_cpu" in - xaarch64) - # Currently only berlin.guixsd.org provides aarch64 binaries. - guix_substitute_urls="https://berlin.guixsd.org" - ;; - *) - guix_substitute_urls="https://mirror.hydra.gnu.org" - ;; - esac + guix_substitute_urls="https://ci.guix.info" AC_MSG_CHECKING([for default substitute URLs]) AC_MSG_RESULT([$guix_substitute_urls]) diff --git a/doc/contributing.texi b/doc/contributing.texi index 7417f28d14..c55eb63382 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -443,7 +443,7 @@ as timestamps or randomly-generated output in the build result. Another option is to use @command{guix challenge} (@pxref{Invoking guix challenge}). You may run it once the package has been committed and -built by @code{hydra.gnu.org} to check whether it obtains the same +built by @code{@value{SUBSTITUTE-SERVER}} to check whether it obtains the same result as you did. Better yet: Find another machine that can build it and run @command{guix publish}. Since the remote build machine is likely different from yours, this can catch non-determinism issues diff --git a/doc/guix.texi b/doc/guix.texi index aeb6e385b3..1529d888ed 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13,6 +13,9 @@ @set OPENPGP-SIGNING-KEY-ID 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 @set KEY-SERVER pool.sks-keyservers.net +@c The official substitute server used by default. +@set SUBSTITUTE-SERVER ci.guix.info + @copying Copyright @copyright{} 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès@* Copyright @copyright{} 2013, 2014, 2016 Andreas Enge@* @@ -1274,8 +1277,7 @@ remote procedure call (@pxref{The Store}). @anchor{daemon-substitute-urls} Consider @var{urls} the default whitespace-separated list of substitute source URLs. When this option is omitted, -@indicateurl{https://mirror.hydra.gnu.org https://hydra.gnu.org} is used -(@code{mirror.hydra.gnu.org} is a mirror of @code{hydra.gnu.org}). +@indicateurl{https://@value{SUBSTITUTE-SERVER}} is used. This means that substitutes may be downloaded from @var{urls}, as long as they are signed by a trusted signature (@pxref{Substitutes}). @@ -2321,7 +2323,7 @@ also result from derivation builds, can be available as substitutes. @cindex hydra @cindex build farm -The @code{mirror.hydra.gnu.org} server is a front-end to an official build farm +The @code{@value{SUBSTITUTE-SERVER}} server is a front-end to an official build farm that builds packages from Guix continuously for some architectures, and makes them available as substitutes. This is the default source of substitutes; it can be overridden by passing the @@ -2353,33 +2355,28 @@ other substitute server. @cindex substitutes, authorization thereof @cindex access control list (ACL), for substitutes @cindex ACL (access control list), for substitutes -To allow Guix to download substitutes from @code{hydra.gnu.org} or a +To allow Guix to download substitutes from @code{@value{SUBSTITUTE-SERVER}} or a mirror thereof, you must add its public key to the access control list (ACL) of archive imports, using the @command{guix archive} command (@pxref{Invoking guix -archive}). Doing so implies that you trust @code{hydra.gnu.org} to not +archive}). Doing so implies that you trust @code{@value{SUBSTITUTE-SERVER}} to not be compromised and to serve genuine substitutes. -The public key for @code{hydra.gnu.org} is installed along with Guix, in -@code{@var{prefix}/share/guix/hydra.gnu.org.pub}, where @var{prefix} is +The public key for @code{@value{SUBSTITUTE-SERVER}} is installed along with Guix, in +@code{@var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub}, where @var{prefix} is the installation prefix of Guix. If you installed Guix from source, make sure you checked the GPG signature of @file{guix-@value{VERSION}.tar.gz}, which contains this public key file. Then, you can run something like this: @example -# guix archive --authorize < @var{prefix}/share/guix/hydra.gnu.org.pub +# guix archive --authorize < @var{prefix}/share/guix/@value{SUBSTITUTE-SERVER}.pub @end example @quotation Note -Similarly, the @file{berlin.guixsd.org.pub} file contains the public key -for the project's new build farm, reachable at -@indicateurl{https://berlin.guixsd.org}. - -As of this writing @code{berlin.guixsd.org} is being upgraded so it can -better scale up, but you might want to give it a try. It is backed by -20 x86_64/i686 build nodes and may be able to provide substitutes more -quickly than @code{mirror.hydra.gnu.org}. +Similarly, the @file{hydra.gnu.org.pub} file contains the public key +of an independent build farm also run by the project, reachable at +@indicateurl{https://mirror.hydra.gnu.org}. @end quotation Once this is in place, the output of a command like @code{guix build} @@ -2409,7 +2406,7 @@ $ guix build emacs --dry-run @end example @noindent -This indicates that substitutes from @code{hydra.gnu.org} are usable and +This indicates that substitutes from @code{@value{SUBSTITUTE-SERVER}} are usable and will be downloaded, when possible, for future builds. @cindex substitutes, how to disable @@ -2501,9 +2498,9 @@ by a server. Today, each individual's control over their own computing is at the mercy of institutions, corporations, and groups with enough power and determination to subvert the computing infrastructure and exploit its -weaknesses. While using @code{hydra.gnu.org} substitutes can be +weaknesses. While using @code{@value{SUBSTITUTE-SERVER}} substitutes can be convenient, we encourage users to also build on their own, or even run -their own build farm, such that @code{hydra.gnu.org} is less of an +their own build farm, such that @code{@value{SUBSTITUTE-SERVER}} is less of an interesting target. One way to help is by publishing the software you build using @command{guix publish} so that others have one more choice of server to download substitutes from (@pxref{Invoking guix publish}). @@ -3658,11 +3655,11 @@ Read a single-item archive as served by substitute servers low-level operation needed in only very narrow use cases; see below. For example, the following command extracts the substitute for Emacs -served by @code{hydra.gnu.org} to @file{/tmp/emacs}: +served by @code{@value{SUBSTITUTE-SERVER}} to @file{/tmp/emacs}: @example $ wget -O - \ - https://hydra.gnu.org/nar/@dots{}-emacs-24.5 \ + https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-emacs-24.5 \ | bunzip2 | guix archive -x /tmp/emacs @end example @@ -6683,7 +6680,7 @@ but you are actually on an @code{x86_64} machine: @example $ guix build --log-file gdb -s mips64el-linux -https://hydra.gnu.org/log/@dots{}-gdb-7.10 +https://@value{SUBSTITUTE-SERVER}/log/@dots{}-gdb-7.10 @end example You can freely access a huge library of build logs! @@ -8335,7 +8332,7 @@ When @command{guix publish} runs, it spawns an HTTP server which allows anyone with network access to obtain substitutes from it. This means that any machine running Guix can also act as if it were a build farm, since the HTTP interface is compatible with Hydra, the software behind -the @code{hydra.gnu.org} build farm. +the @code{@value{SUBSTITUTE-SERVER}} build farm. For security, each substitute is signed, allowing recipients to check their authenticity and integrity (@pxref{Substitutes}). Because @@ -8572,20 +8569,20 @@ any given store item. The command output looks like this: @smallexample -$ guix challenge --substitute-urls="https://hydra.gnu.org https://guix.example.org" -updating list of substitutes from 'https://hydra.gnu.org'... 100.0% +$ guix challenge --substitute-urls="https://@value{SUBSTITUTE-SERVER} https://guix.example.org" +updating list of substitutes from 'https://@value{SUBSTITUTE-SERVER}'... 100.0% updating list of substitutes from 'https://guix.example.org'... 100.0% /gnu/store/@dots{}-openssl-1.0.2d contents differ: local hash: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q - https://hydra.gnu.org/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q + https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-openssl-1.0.2d: 0725l22r5jnzazaacncwsvp9kgf42266ayyp814v7djxs7nk963q https://guix.example.org/nar/@dots{}-openssl-1.0.2d: 1zy4fmaaqcnjrzzajkdn3f5gmjk754b43qkq47llbyak9z0qjyim /gnu/store/@dots{}-git-2.5.0 contents differ: local hash: 00p3bmryhjxrhpn2gxs2fy0a15lnip05l97205pgbk5ra395hyha - https://hydra.gnu.org/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f + https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0: 069nb85bv4d4a6slrwjdy8v1cn4cwspm3kdbmyb81d6zckj3nq9f https://guix.example.org/nar/@dots{}-git-2.5.0: 0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73 /gnu/store/@dots{}-pius-2.1.1 contents differ: local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax - https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax + https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs @dots{} @@ -8605,7 +8602,7 @@ the servers obtained a result different from the local build. @cindex non-determinism, in package builds As an example, @code{guix.example.org} always gets a different answer. -Conversely, @code{hydra.gnu.org} agrees with local builds, except in the +Conversely, @code{@value{SUBSTITUTE-SERVER}} agrees with local builds, except in the case of Git. This might indicate that the build process of Git is non-deterministic, meaning that its output varies as a function of various things that Guix does not fully control, in spite of building @@ -8619,14 +8616,14 @@ To find out what is wrong with this Git binary, we can do something along these lines (@pxref{Invoking guix archive}): @example -$ wget -q -O - https://hydra.gnu.org/nar/@dots{}-git-2.5.0 \ +$ wget -q -O - https://@value{SUBSTITUTE-SERVER}/nar/@dots{}-git-2.5.0 \ | guix archive -x /tmp/git $ diff -ur --no-dereference /gnu/store/@dots{}-git.2.5.0 /tmp/git @end example This command shows the difference between the files resulting from the local build, and the files resulting from the build on -@code{hydra.gnu.org} (@pxref{Overview, Comparing and Merging Files,, +@code{@value{SUBSTITUTE-SERVER}} (@pxref{Overview, Comparing and Merging Files,, diffutils, Comparing and Merging Files}). The @command{diff} command works great for text files. When binary files differ, a better option is @uref{https://diffoscope.org/, Diffoscope}, a tool that helps @@ -8641,7 +8638,7 @@ In the meantime, @command{guix challenge} is one tool to help address the problem. If you are writing packages for Guix, you are encouraged to check -whether @code{hydra.gnu.org} and other substitute servers obtain the +whether @code{@value{SUBSTITUTE-SERVER}} and other substitute servers obtain the same build result as you did with: @example @@ -9072,7 +9069,7 @@ More and more system services are provided (@pxref{Services}), but some may be missing. @item -More than 7,500 packages are available, but you might +More than 8,500 packages are available, but you might occasionally find that a useful package is missing. @item @@ -11231,14 +11228,14 @@ Number of build user accounts to create. @item @code{authorize-key?} (default: @code{#t}) @cindex substitutes, authorization thereof Whether to authorize the substitute keys listed in -@code{authorized-keys}---by default that of @code{hydra.gnu.org} +@code{authorized-keys}---by default that of @code{@value{SUBSTITUTE-SERVER}} (@pxref{Substitutes}). @vindex %default-authorized-guix-keys @item @code{authorized-keys} (default: @var{%default-authorized-guix-keys}) The list of authorized key files for archive imports, as a list of string-valued gexps (@pxref{Invoking guix archive}). By default, it -contains that of @code{hydra.gnu.org} (@pxref{Substitutes}). +contains that of @code{@value{SUBSTITUTE-SERVER}} (@pxref{Substitutes}). @item @code{use-substitutes?} (default: @code{#t}) Whether to use substitutes. @@ -23776,7 +23773,7 @@ system}. @cindex substituter Users can obtain the new package definition simply by running @command{guix pull} (@pxref{Invoking guix pull}). When -@code{hydra.gnu.org} is done building the package, installing the +@code{@value{SUBSTITUTE-SERVER}} is done building the package, installing the package automatically downloads binaries from there (@pxref{Substitutes}). The only place where human intervention is needed is to review and apply the patch. diff --git a/etc/guix-install.sh b/etc/guix-install.sh index 6a01e59723..f0bfc932bd 100755 --- a/etc/guix-install.sh +++ b/etc/guix-install.sh @@ -361,8 +361,8 @@ sys_authorize_build_farms() case $yn in [Yy]*) guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/hydra.gnu.org.pub" && _msg "${PAS}Authorized public key for hydra.gnu.org"; - guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/berlin.guixsd.org.pub" && - _msg "${PAS}Authorized public key for berlin.guixsd.org"; + guix archive --authorize < "${ROOT_HOME}/.config/guix/current/share/guix/ci.guix.info.pub" && + _msg "${PAS}Authorized public key for ci.guix.info"; break;; [Nn]*) _msg "${INF}Skipped authorizing build farm public keys" break;; diff --git a/etc/substitutes/ci.guix.info.pub b/etc/substitutes/ci.guix.info.pub new file mode 120000 index 0000000000..b1d1e4d763 --- /dev/null +++ b/etc/substitutes/ci.guix.info.pub @@ -0,0 +1 @@ +berlin.guixsd.org.pub \ No newline at end of file diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 746808515f..83ad489cc7 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -477,6 +477,11 @@ (define items "mnt=/tmp/root/mnt" "-path-list" "-" "--" + + ;; XXX: Add padding to avoid I/O errors on i686: + ;; . + "-padding" "10m" + "-volid" (string-upcase volume-id) (if volume-uuid `("-volume_date" "uuid" diff --git a/gnu/local.mk b/gnu/local.mk index 003b75961b..3f19b3fe79 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -600,6 +600,7 @@ dist_patch_DATA = \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bastet-change-source-of-unordered_set.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ + %D%/packages/patches/beets-python-3.7-fix.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blast+-fix-makefile.patch \ @@ -665,7 +666,6 @@ dist_patch_DATA = \ %D%/packages/patches/dropbear-CVE-2018-15599.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ - %D%/packages/patches/elogind-glibc-2.27.patch \ %D%/packages/patches/einstein-build.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ @@ -715,7 +715,6 @@ dist_patch_DATA = \ %D%/packages/patches/gcc-4.8-libsanitizer-fix.patch \ %D%/packages/patches/gcc-4.9-libsanitizer-fix.patch \ %D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch \ - %D%/packages/patches/gcc-libsanitizer-fix.patch \ %D%/packages/patches/gcc-libsanitizer-ustat.patch \ %D%/packages/patches/gcc-libvtv-runpath.patch \ %D%/packages/patches/gcc-strmov-store-file-names.patch \ @@ -1111,6 +1110,8 @@ dist_patch_DATA = \ %D%/packages/patches/python-unittest2-remove-argparse.patch \ %D%/packages/patches/python-waitress-fix-tests.patch \ %D%/packages/patches/qemu-glibc-2.27.patch \ + %D%/packages/patches/qemu-CVE-2018-16847.patch \ + %D%/packages/patches/qemu-CVE-2018-16867.patch \ %D%/packages/patches/qt4-ldflags.patch \ %D%/packages/patches/qtbase-use-TZDIR.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ @@ -1118,8 +1119,8 @@ dist_patch_DATA = \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/quilt-test-fix-regex.patch \ - %D%/packages/patches/quilt-compat-getopt-fix-second-separator.patch \ - %D%/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch \ + %D%/packages/patches/quilt-getopt-nondigit-param.patch \ + %D%/packages/patches/quilt-getopt-second-separator.patch \ %D%/packages/patches/qtwebkit-pbutils-include.patch \ %D%/packages/patches/randomjungle-disable-static-build.patch \ %D%/packages/patches/rapicorn-isnan.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 7b0e24049f..0f19649917 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -139,7 +139,7 @@ (define-public fplll (define-public pari-gp (package (name "pari-gp") - (version "2.11.0") + (version "2.11.1") (source (origin (method url-fetch) (uri (string-append @@ -147,7 +147,7 @@ (define-public pari-gp version ".tar.gz")) (sha256 (base32 - "18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q")))) + "1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,texlive-tiny))) (inputs `(("gmp" ,gmp) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a65cfa238e..678bbcf55f 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2097,7 +2097,9 @@ (define-public patchage (base32 "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb")))) (build-system waf-build-system) - (arguments `(#:tests? #f)) ; no check target + (arguments + `(#:tests? #f ; no check target + #:python ,python-2)) (inputs `(("alsa-lib" ,alsa-lib) ("boost" ,boost) @@ -2118,14 +2120,14 @@ (define-public patchage (define-public qjackctl (package (name "qjackctl") - (version "0.5.4") + (version "0.5.5") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/qjackctl/qjackctl/" version "/qjackctl-" version ".tar.gz")) (sha256 (base32 - "0qr71nb93gkz5q53nfcl5g168z173wc6s8w1yjs3rfn3m4hg0bcq")))) + "1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5")))) (build-system gnu-build-system) (arguments '(#:tests? #f)) ; no check target @@ -2202,6 +2204,12 @@ (define-public supercollider (ice-9 ftw)) #:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-build-with-boost-1.68 + (lambda _ + (substitute* "server/supernova/utilities/time_tag.hpp" + (("(time_duration offset = .+ microseconds\\().*" _ m) + (string-append m "static_cast(get_nanoseconds()/1000));\n"))) + #t)) (add-after 'unpack 'rm-bundled-libs (lambda _ ;; The build system doesn't allow us to unbundle the following @@ -2266,7 +2274,7 @@ (define-public supercollider ("eudev" ,eudev) ;for user interactions with devices ("avahi" ,avahi) ;zeroconf service discovery support ("icu4c" ,icu4c) - ("boost" ,boost) + ("boost" ,boost-cxx14) ("boost-sync" ,boost-sync) ("yaml-cpp" ,yaml-cpp))) (home-page "https://github.com/supercollider/supercollider") @@ -2855,7 +2863,7 @@ (define-public portaudio (define-public qsynth (package (name "qsynth") - (version "0.5.3") + (version "0.5.4") (source (origin (method url-fetch) @@ -2863,7 +2871,7 @@ (define-public qsynth "/qsynth-" version ".tar.gz")) (sha256 (base32 - "1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c")))) + "0kpq5fxr96wnii18ax780w1ivq8ksk892ac0bprn92iz0asfysrd")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" phase diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 026527cd36..e17c53675c 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4024,6 +4024,14 @@ (define-public mash "src/mash/CommandScreen.cpp") (("^#include \"kseq\\.h\"") "#include \"htslib/kseq.h\"")) + #t)) + (add-after 'fix-includes 'use-c++14 + (lambda _ + ;; capnproto 0.7 requires c++14 to build + (substitute* "configure.ac" + (("c\\+\\+11") "c++14")) + (substitute* "Makefile.in" + (("c\\+\\+11") "c++14")) #t))))) (native-inputs `(("autoconf" ,autoconf) @@ -12957,7 +12965,7 @@ (define-public dropseq-tools (define-public pigx-rnaseq (package (name "pigx-rnaseq") - (version "0.0.4") + (version "0.0.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/" @@ -12965,7 +12973,7 @@ (define-public pigx-rnaseq "/pigx_rnaseq-" version ".tar.gz")) (sha256 (base32 - "16gla23rmziimqan7w494q0nr7vfbp42zzkrl9fracmr4k7b1kzr")))) + "05gn658zpj9xki5dbs728z9zxq1mcm25hkwr5vzwqxsfi15l5f2l")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; not supported @@ -12981,7 +12989,7 @@ (define-public pigx-rnaseq #t))))) (inputs `(("gzip" ,gzip) - ("snakemake" ,snakemake-4) + ("snakemake" ,snakemake) ("fastqc" ,fastqc) ("multiqc" ,multiqc) ("star" ,star) diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index f5c2c58300..f1ff1712e6 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -123,6 +123,16 @@ (define-public boost (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) +;; Some programs need Boost to be built with C++14 support. +(define-public boost-cxx14 + (package (inherit boost) + (arguments + (substitute-keyword-arguments (package-arguments boost) + ((#:make-flags flags) + `(append ,flags + '("cxxflags=-std=c++14"))))) + (properties '((hidden? . #t))))) + (define-public boost-for-mysql ;; Older version for MySQL 5.7.23. (package diff --git a/gnu/packages/calendar.scm b/gnu/packages/calendar.scm index 24e19b472c..a5c677bd4d 100644 --- a/gnu/packages/calendar.scm +++ b/gnu/packages/calendar.scm @@ -128,7 +128,9 @@ (define-public khal ;; running in a TTY: ;; https://github.com/pimutils/khal/issues/683 "not test_printics_read_from_stdin " - "and not test_import_from_stdin"))))))) + "and not test_import_from_stdin " + ;; https://github.com/pimutils/khal/issues/825 + "and not test_description_and_location_and_categories"))))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-pytest-cov" ,python-pytest-cov) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index c87ccda304..c33d7ef093 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -2263,7 +2263,7 @@ (define-public innoextract (build-system cmake-build-system) (arguments `(#:tests? #f)) ;; No tests available. - (inputs `(("boost" ,boost) + (inputs `(("boost" ,boost-cxx14) ("libiconv" ,libiconv) ("xz" ,xz))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index f08a204fb8..423bb5b54f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -7754,3 +7754,24 @@ (define-public r-ouch "This package provides tools to fit and compare Ornstein-Uhlenbeck models for evolution along a phylogenetic tree.") (license license:gpl2+))) + +(define-public r-fmsb + (package + (name "r-fmsb") + (version "0.6.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "fmsb" version)) + (sha256 + (base32 + "1n29bnyp20pvpk2lsa9fblsj5w7amp14snc74pk5w3yr5y6rj0s5")))) + (build-system r-build-system) + (home-page "http://minato.sip21c.org/msb/") + (synopsis "Functions for medical statistics book with demographic data") + (description + "This package provides several utility functions for the book entitled +\"Practices of Medical and Health Data Analysis using R\" (Pearson Education +Japan, 2007) with Japanese demographic data and some demographic analysis +related functions.") + (license license:gpl2+))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 3067cf5364..7647328361 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2869,6 +2869,14 @@ (define-public mongo-tools (delete-file-recursively "src/github.com/mongodb/mongo-tools/vendor") #t)) + (add-after 'delete-bundled-source-code 'patch-source + (lambda _ + ;; Remove a redundant argument that causes compilation to fail. + (substitute* + "src/github.com/mongodb/mongo-tools/mongorestore/filepath.go" + (("skipping restore of system.profile collection\", db)") + "skipping restore of system.profile collection\")")) + #t)) ;; We don't need to install the source code for end-user applications (delete 'install-source) (replace 'build diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 3d58589e5e..039ec45965 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2017, 2018 Nicolas Goaziou ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre-Antoine Rouby +;;; Copyright © 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,22 +23,29 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages dictionaries) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages curl) #:use-module (gnu packages emacs) + #:use-module (gnu packages flex) #:use-module (gnu packages fribidi) #:use-module (gnu packages linux) + #:use-module (gnu packages pcre) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (gnu packages texinfo) #:use-module (gnu packages compression) - #:use-module (gnu packages tcl)) + #:use-module (gnu packages tcl) + #:use-module (gnu packages xml)) (define-public vera @@ -87,7 +95,7 @@ (define-public vera (description "V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing acronyms distributed as an info document.") - (license fdl1.3+))) + (license license:fdl1.3+))) (define-public gcide (package @@ -125,7 +133,7 @@ (define-public gcide be used via the GNU Dico program or accessed online at http://gcide.gnu.org.ua/") (home-page "http://gcide.gnu.org.ua/") - (license gpl3+))) + (license license:gpl3+))) (define-public diction ;; Not quite a dictionary, not quite a spell checker either… @@ -147,7 +155,7 @@ (define-public diction body of text. Style instead analyzes surface aspects of a written work, such as sentence length and other readability measures.") (home-page "https://www.gnu.org/software/diction/") - (license gpl3+))) + (license license:gpl3+))) (define-public ding (package @@ -207,7 +215,7 @@ (define-public ding (description "Ding is a dictionary lookup program for the X window system. It comes with a German-English dictionary with approximately 270,000 entries.") (home-page "http://www-user.tu-chemnitz.de/~fri/ding/") - (license gpl2+))) + (license license:gpl2+))) (define-public grammalecte (package @@ -234,7 +242,7 @@ (define-public grammalecte The package provides the command line interface, along with a server and a Python library.") - (license gpl3+))) + (license license:gpl3+))) (define-public translate-shell (package @@ -283,4 +291,87 @@ (define-public translate-shell translator powered by Google Translate (default), Bing Translator, Yandex.Translate and Apertium. It gives you easy access to one of these translation engines from your terminal.") - (license public-domain))) + (license license:public-domain))) + +(define-public lttoolbox + (package + (name "lttoolbox") + (version "3.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/apertium/lttoolbox/releases/download/v" + version "/lttoolbox-" version ".tar.gz")) + (sha256 + (base32 + "08y6pf1hl7prwygy1g8h6ndqww18pmb9f3r5988q0pcrp8w6xz6b")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (inputs + `(("libxml2" ,libxml2))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://wiki.apertium.org/wiki/Lttoolbox") + (synopsis "Lexical processing toolbox") + (description "Lttoolbox is a toolbox for lexical processing, morphological +analysis and generation of words. Analysis is the process of splitting a +word (e.g. cats) into its lemma \"cat\" and the grammatical information +@code{}. Generation is the opposite process.") + (license (list license:gpl2 ; main license + license:expat)))) ; utf8/* + +(define-public apertium + (package + (name "apertium") + (version "3.5.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/apertium/apertium/releases/download/v" + version "/apertium-" version ".tar.gz")) + (sha256 + (base32 + "0lrx58ipx2kzh1pd3xm1viz05dqyrq38jbnj9dnk92c9ckkwkp4h")) + (file-name (string-append name "-" version ".tar.gz")))) + (build-system gnu-build-system) + (inputs + `(("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("lttoolbox" ,lttoolbox) + ("pcre" ,pcre))) + (native-inputs + `(("apertium-get" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/apertium/apertium-get") + (commit "692d030e68008fc123089cf2446070fe8c6e3a3b"))) + (sha256 + (base32 + "0kgp68azvds7yjwfz57z8sa5094fyk5yr0qxzblrw7bisrrihnav")))) + ("flex" ,flex) + ("pkg-config" ,pkg-config) + ;; python is only required for running the test suite + ("python-minimal" ,python-minimal))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; If apertium-get does not exist in the source tree, the build tries + ;; to download it using an svn checkout. To avoid this, copy + ;; apertium-get into the source tree. + (add-after 'unpack 'unpack-apertium-get + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "apertium-get") + "apertium/apertium-get") + #t))))) + (home-page "https://www.apertium.org/") + (synopsis "Rule based machine translation system") + (description "Apertium is a rule based machine translation system +featuring a shallow-transfer machine translation engine. The design of the +system makes translations fast (translating tens of thousands of words per +second on ordinary desktop computers) and, in spite of the errors, reasonably +intelligible and easily correctable.") + (license (list license:gpl2 ; main license + license:expat)))) ; utf8/* diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm index 59bef9a8d1..ea2e65a588 100644 --- a/gnu/packages/django.scm +++ b/gnu/packages/django.scm @@ -37,13 +37,13 @@ (define-module (gnu packages django) (define-public python-django (package (name "python-django") - (version "1.11.15") + (version "1.11.17") (source (origin (method url-fetch) (uri (pypi-uri "Django" version)) (sha256 (base32 - "0h2sl02x2mxr3rl3dy750pzm5kvmx77116fys8rrgw164kc3b0mi")))) + "10xlpm21ll8mgz5py41sz9vrd603qv7an736agbqxkxlyikfx1x7")))) (build-system python-build-system) (arguments '(#:modules ((srfi srfi-1) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 55147f829e..c7b630364d 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -58,6 +58,7 @@ (define-module (gnu packages dns) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial)) @@ -727,3 +728,56 @@ (define-public ddclient record and alternative name management. It caches the address, and only attempts the update when it has changed.") (license license:gpl2+))) + +(define-public hnsd + ;; There have been no releases yet, hence this commit. + (let ((revision "0") + (commit "895d89c25d316d18df9d374fe78aae3902bc89fb")) + (package + (name "hnsd") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/handshake-org/hnsd") + (commit commit))) + (sha256 + (base32 + "0704y73sddn24jga9csw4gxyfb3pnrfnk0vdcph84n1h38490l16")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled copy of libuv. + (delete-file-recursively "uv") + (substitute* "configure.ac" + (("AC_CONFIG_SUBDIRS\\(\\[uv\\]\\)") "")) + (substitute* "Makefile.am" + (("SUBDIRS = uv") "\n") + (("\\$\\(top_builddir\\)/uv/libuv.la") "-luv") + + ;; Make sure the 'hnsd' binary is installed and + ;; dynamically-linked. + (("noinst_PROGRAMS") "bin_PROGRAMS") + (("hnsd_LDFLAGS = -static") "")) + + ;; This script tries to chdir to "uv" and doesn't do more + ;; than "autoreconf" so remove it. + (delete-file "autogen.sh") + #t)))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) ;no need for libhsk.a + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) + (inputs + `(("unbound" ,unbound) + ("libuv" ,libuv))) + (home-page "https://www.handshake.org/") + (synopsis "Resolver daemon for the Handshake naming protocol") + (description + "@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming +System (HNS) peer-to-peer network.") + (license license:expat)))) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index a78e3e871f..e750c6cac8 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -75,7 +75,7 @@ (define-public chmlib (define-public calibre (package (name "calibre") - (version "3.28.0") + (version "3.35.0") (source (origin (method url-fetch) @@ -84,7 +84,7 @@ (define-public calibre version ".tar.xz")) (sha256 (base32 - "0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414")) + "1gd15wjz4fhcra6d44xiy3hwbyk0miwb66a1pq5yldyy0hlb271z")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 69392e19d8..d8a9ffeaed 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2822,11 +2822,13 @@ (define-public emacs-irony-mode (version "1.2.0") (home-page "https://github.com/Sarcasm/irony-mode") (source (origin - (method url-fetch) - (uri (string-append home-page "/archive/v" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url (string-append home-page ".git")) + (commit (string-append "v" version)))) (sha256 (base32 - "1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99")) + "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8")) (file-name (string-append name "-" version ".tar.gz")))) (build-system emacs-build-system) (arguments '()) @@ -6785,7 +6787,7 @@ (define-public emacs-xelb (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.20") + (version "0.21") (synopsis "Emacs X window manager") (source (origin (method url-fetch) @@ -6793,7 +6795,7 @@ (define-public emacs-exwm version ".tar")) (sha256 (base32 - "0nhhzbkm0mkj7sd1dy2c19cmn56gyaj9nl8kgy86h4fp63hjaz04")))) + "07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 232adfb081..795595e447 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -117,8 +117,8 @@ (define-public desmume ;; Building from recent Git because the official 5.0 release no longer builds. (define-public dolphin-emu - (let ((commit "22ddd11573fd8d3e43a879804e7a64e50928435d") - (revision "4")) + (let ((commit "2c57e709d0f9e4010a4415de4192de887e37f187") + (revision "5")) (package (name "dolphin-emu") (version (git-version "5.0" revision commit)) @@ -144,7 +144,7 @@ (define-public dolphin-emu #t)) (sha256 (base32 - "01l6r8spaslqc73m3y7hfb2jx5a4848vdkman6x6w2arpb8bywzl")))) + "0aszfdfvs7yg4bmrd3qxwsiz7hx3mrj29f4aw86bz7h9j7hkh57f")))) (build-system cmake-build-system) (arguments '(#:tests? #f diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 8ef9a5c277..308501f882 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1709,7 +1709,7 @@ (define-public qucs ("gcc-toolchain" ,gcc-toolchain) ("iverilog" ,iverilog) ("libtool" ,libtool) - ("octave" ,octave) + ("octave" ,octave-cli) ("qt4" ,qt-4) ("sed" ,sed))) (home-page "http://qucs.sourceforge.net/") @@ -1839,7 +1839,7 @@ (define-public qucs-s ("libtool" ,libtool) ("mpi" ,openmpi) ("ngspice" ,ngspice) - ("octave" ,octave) + ("octave" ,octave-cli) ("qt4" ,qt-4) ("qucs" ,qucs) ("sed" ,sed) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 43ac388b25..9989e2f5a8 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -275,7 +275,8 @@ (define-public enlightenment (let ((xkeyboard (assoc-ref inputs "xkeyboard-config")) (setxkbmap (assoc-ref inputs "setxkbmap")) (utils (assoc-ref inputs "util-linux")) - (libc (assoc-ref inputs "libc"))) + (libc (assoc-ref inputs "libc")) + (efl (assoc-ref inputs "efl"))) ;; We need to patch the path to 'base.lst' to be able ;; to switch the keyboard layout in E. (substitute* (list "src/modules/xkbswitch/e_mod_parse.c" @@ -290,6 +291,9 @@ (define-public enlightenment "src/modules/conf_intl/e_int_config_intl.c" "src/modules/wizard/page_010.c") (("locale -a") (string-append libc "/bin/locale -a"))) + (substitute* "src/bin/e_import_config_dialog.c" + (("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)") + (string-append efl "/bin/edje_cc -v %s %s %s\""))) (substitute* "src/modules/everything/evry_plug_apps.c" (("/usr/bin/") "")) (substitute* "configure" diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 11ab76bf74..f8e97acf51 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2017 Brendan Tildesley ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2018 Stefan Stefanović ;;; ;;; This file is part of GNU Guix. ;;; @@ -227,109 +228,69 @@ (define-public libxdg-basedir (define-public elogind (package (name "elogind") - (version "232.4") + (version "239.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/elogind/elogind/" - "archive/v" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/elogind/elogind") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931")) - (patches (search-patches "elogind-glibc-2.27.patch")) - (modules '((guix build utils))) - (snippet - '(begin - (use-modules (guix build utils)) - (substitute* "Makefile.am" - ;; Avoid validation against DTD because the DTDs for - ;; both doctype 4.2 and 4.5 are needed. - (("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid")) - #t)))) - (build-system gnu-build-system) + "1gipnbnlz5k3gxv33wyhi2zd94hlfa9lm360p8z6w5i9s8dzhf52")))) + (build-system meson-build-system) (arguments - `(#:tests? #f ;FIXME: "make check" in the "po" directory fails. - #:configure-flags - (list (string-append "--with-udevrulesdir=" - (assoc-ref %outputs "out") - "/lib/udev/rules.d") - - ;; Let elogind be its own cgroup controller, rather than relying - ;; on systemd or OpenRC. By default, 'configure' makes an - ;; incorrect guess. - "--with-cgroup-controller=elogind" - - (string-append "--with-rootprefix=" - (assoc-ref %outputs "out")) - (string-append "--with-rootlibexecdir=" - (assoc-ref %outputs "out") - "/libexec/elogind") - ;; These are needed to ensure that lto linking works. - "RANLIB=gcc-ranlib" - "AR=gcc-ar" - "NM=gcc-nm") - #:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent") + `(#:configure-flags + (let* ((out (assoc-ref %outputs "out")) + (sysconf (string-append out "/etc")) + (libexec (string-append out "/libexec/elogind")) + (dbuspolicy (string-append out "/etc/dbus-1/system.d")) + (shepherd (assoc-ref %build-inputs "shepherd")) + (halt-path (string-append shepherd "/sbin/halt")) + (kexec-path "") ;not available in Guix yet + (poweroff-path (string-append shepherd "/sbin/shutdown")) + (reboot-path (string-append shepherd "/sbin/reboot"))) + (list + (string-append "-Drootprefix=" out) + (string-append "-Dsysconfdir=" sysconf) + (string-append "-Drootlibexecdir=" libexec) + (string-append "-Ddbuspolicydir=" dbuspolicy) + (string-append "-Dc_link_args=-Wl,-rpath=" libexec) + (string-append "-Dcpp_link_args=-Wl,-rpath=" libexec) + (string-append "-Dhalt-path=" halt-path) + (string-append "-Dkexec-path=" kexec-path) + (string-append "-Dpoweroff-path=" poweroff-path) + (string-append "-Dreboot-path=" reboot-path) + "-Dcgroup-controller=elogind" + ;; Disable some tests. + "-Dtests=false" + "-Dslow-tests=false")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-locale-header + (add-after 'unpack 'fix-pkttyagent-path (lambda _ - ;; Fix compilation with glibc >= 2.26, which removed xlocale.h. - ;; This can be removed for elogind 234. - (substitute* "src/basic/parse-util.c" - (("xlocale\\.h") "locale.h")) + (substitute* "meson.build" + (("join_paths\\(bindir, 'pkttyagent'\\)") + "'\"/run/current-system/profile/bin/pkttyagent\"'")) #t)) - (replace 'bootstrap + (add-after 'unpack 'change-pid-file-path (lambda _ - (invoke "intltoolize" "--force" "--automake") - (invoke "autoreconf" "-vif"))) - (add-before 'build 'fix-service-file - (lambda* (#:key outputs #:allow-other-keys) - ;; Fix the file name of the 'elogind' binary in the D-Bus - ;; '.service' file. - (substitute* "src/login/org.freedesktop.login1.service" - (("^Exec=.*") - (string-append "Exec=" (assoc-ref %outputs "out") - "/libexec/elogind/elogind\n"))) - #t)) - (add-after 'install 'add-libcap-to-search-path - (lambda* (#:key inputs outputs #:allow-other-keys) - ;; Add a missing '-L' for libcap in libelogind.la. See - ;; . - (let ((libcap (assoc-ref inputs "libcap")) - (out (assoc-ref outputs "out"))) - (substitute* (string-append out "/lib/libelogind.la") - (("-lcap") - (string-append "-L" libcap "/lib -lcap"))) - #t))) - (add-after 'unpack 'remove-uaccess-tag - (lambda _ - ;; systemd supports a "uaccess" built-in tag, but eudev currently - ;; doesn't. This leads to eudev warnings that we'd rather not - ;; see, so remove the reference to "uaccess." - (substitute* "src/login/73-seat-late.rules.in" - (("^TAG==\"uaccess\".*" line) - (string-append "# " line "\n"))) + (substitute* "src/login/elogind.c" + (("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\"")) #t))))) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("intltool" ,intltool) - ("gettext" ,gettext-minimal) - ("python" ,python) + `(("docbook-xml" ,docbook-xml) + ("docbook-xml-4.2" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) - ("docbook-xml" ,docbook-xml) - ("xsltproc" ,libxslt) - ("m4" ,m4) + ("gettext" ,gettext-minimal) + ("gperf" ,gperf) ("libxml2" ,libxml2) ;for XML_CATALOG_FILES + ("m4" ,m4) ("pkg-config" ,pkg-config) - - ;; Use gperf 3.0 to work around - ;; . - ("gperf" ,gperf-3.0))) + ("python" ,python) + ("xsltproc" ,libxslt))) (inputs `(("linux-pam" ,linux-pam) - ("linux-libre-headers" ,linux-libre-headers) ("libcap" ,libcap) ("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked ;when pressing the power button diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index b9c6d209b8..dd8af33972 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -170,7 +170,7 @@ (define-public weex (define-public libfilezilla (package (name "libfilezilla") - (version "0.14.0") + (version "0.15.1") (source (origin (method url-fetch) @@ -178,11 +178,13 @@ (define-public libfilezilla name "/" name "-" version ".tar.bz2")) (sha256 (base32 - "15cfz98asypf9rfybv4c6kx8nk3wak7qlm1azldc0gd1nqm4xqvz")))) + "17zlhw5b1a7jzh50cbpy2is3sps5lnzch5yf9qm7mwrviw9c8j10")))) (build-system gnu-build-system) (native-inputs `(("cppunit" ,cppunit) ("pkg-config" ,pkg-config))) + (inputs + `(("nettle" ,nettle))) (home-page "https://lib.filezilla-project.org") (synopsis "Cross-platform C++ library used by Filezilla client") (description @@ -207,14 +209,14 @@ (define-public libfilezilla (define-public filezilla (package (name "filezilla") - (version "3.37.4") + (version "3.39.0") (source (origin (method url-fetch) (uri (string-append "https://download.filezilla-project.org/client/" "FileZilla_" version "_src.tar.bz2")) (sha256 - (base32 "169wy7ilsh518mcinkjmr6m0kzxbzchmc9mivf5c9b4zp1w4gg3i")))) + (base32 "0ks42q6mi3qx85zpa98izkyficv2bdh3jnvmy97xjnjyfy9mwlgv")))) (build-system gnu-build-system) (arguments ;; Don't let filezilla phone home to check for updates. diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 8207104174..1f1e80dde8 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -461,34 +461,18 @@ (define-public gcc-5 (define-public gcc-6 (package (inherit gcc-5) - (version "6.4.0") + (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5")) - (patches (search-patches "gcc-libsanitizer-fix.patch" - "gcc-libsanitizer-ustat.patch" - "gcc-strmov-store-file-names.patch" + "0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby")) + (patches (search-patches "gcc-strmov-store-file-names.patch" "gcc-6-source-date-epoch-1.patch" "gcc-6-source-date-epoch-2.patch" - "gcc-5.0-libvtv-runpath.patch")) - (modules '((guix build utils))) - ;; This is required for building with glibc-2.26. - ;; This can be removed when gcc-6.5.0 is released. - ;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712 - (snippet - '(begin - (for-each - (lambda (dir) - (substitute* (string-append "libgcc/config/" - dir "/linux-unwind.h") - (("struct ucontext") "ucontext_t"))) - '("aarch64" "alpha" "bfin" "i386" "m68k" "nios2" - "pa" "sh" "tilepro" "xtensa")) - #t)))) + "gcc-5.0-libvtv-runpath.patch")))) (inputs `(("isl" ,isl) ,@(package-inputs gcc-4.7))) @@ -506,16 +490,15 @@ (define-public gcc-6 (define-public gcc-7 (package (inherit gcc-6) - (version "7.3.0") + (version "7.4.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43")) + "0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd")) (patches (search-patches "gcc-strmov-store-file-names.patch" - "gcc-libsanitizer-ustat.patch" "gcc-5.0-libvtv-runpath.patch")))) (description "GCC is the GNU Compiler Collection. It provides compiler front-ends diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 0af7c6bf00..61d8e84d54 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -36,7 +36,6 @@ (define-module (gnu packages glib) #:use-module (gnu packages enlightenment) #:use-module (gnu packages file) #:use-module (gnu packages flex) - #:use-module (gnu packages gcc) #:use-module (gnu packages gettext) #:use-module (gnu packages gnome) #:use-module (gnu packages gperf) @@ -621,11 +620,7 @@ (define-public python-pygobject (delete-file "tests/test_ossig.py") #t))))) (native-inputs - `(;; Use gcc-7 to work around an internal compiler error that happens - ;; when using gcc-5.5.0. FIXME: Try removing this when the default - ;; compiler is no longer gcc-5.5.0. - ("gcc" ,gcc-7) - ("which" ,which) + `(("which" ,which) ;for tests: dbus-run-session and glib-compile-schemas ("dbus" ,dbus) ("glib-bin" ,glib "bin") @@ -656,11 +651,7 @@ (define-public python2-pygobject ("python-pycairo" ,python2-pycairo) ("gobject-introspection" ,gobject-introspection))) (native-inputs - `(;; Use gcc-7 to work around an internal compiler error that happens - ;; when using gcc-5.5.0. FIXME: Try removing this when the default - ;; compiler is no longer gcc-5.5.0. - ("gcc" ,gcc-7) - ("which" ,which) + `(("which" ,which) ;for tests: dbus-run-session and glib-compile-schemas ("dbus" ,dbus) ("glib-bin" ,glib "bin") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9652f32fb0..9d8e4a8d33 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -31,6 +31,7 @@ ;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2018 Jovany Leandro G.C ;;; Copyright © 2018 Vasile Dumitrascu +;;; Copyright © 2018 Björn Höfling ;;; ;;; This file is part of GNU Guix. ;;; @@ -95,6 +96,7 @@ (define-module (gnu packages gnome) #:use-module (gnu packages polkit) #:use-module (gnu packages popt) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages inkscape) #:use-module (gnu packages ibus) #:use-module (gnu packages iso-codes) #:use-module (gnu packages libcanberra) @@ -151,6 +153,7 @@ (define-module (gnu packages gnome) #:use-module (gnu packages version-control) #:use-module (gnu packages virtualization) #:use-module (gnu packages vpn) + #:use-module (gnu packages web) #:use-module (gnu packages xorg) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -4629,14 +4632,6 @@ (define-public gjs (arguments '(#:phases (modify-phases %standard-phases - (add-after 'set-paths 'work-around-gcc-7-include-path-issue - ;; FIXME: Work around a problem with gcc-7 includes (see - ;; ). Note that we use gcc-7 - ;; to work around an internal compiler error in gcc-5. - (lambda _ - (unsetenv "C_INCLUDE_PATH") - (unsetenv "CPLUS_INCLUDE_PATH") - #t)) (add-before 'check 'pre-check (lambda _ @@ -4654,11 +4649,7 @@ (define-public gjs ((".*expect\\(datestr\\).*") "")) #t))))) (native-inputs - `(("gcc" ,gcc-7) ; FIXME: Work around an internal compiler error in - ; gcc-5. Try removing this when our default compiler is - ; no longer gcc-5.5.0, and also remove the - ; 'work-around-gcc-7-include-path-issue' phase above. - ("glib:bin" ,glib "bin") ; for glib-compile-resources + `(("glib:bin" ,glib "bin") ; for glib-compile-resources ("pkg-config" ,pkg-config) ("xmllint" ,libxml2) ;; For testing @@ -6434,15 +6425,16 @@ (define-public gnome-shell-extensions (define-public arc-theme (package (name "arc-theme") - (version "20170302") + (version "20181022") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/horst3180/arc-theme" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/NicoHood/arc-theme.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw")))) + "08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663")))) (build-system gnu-build-system) (arguments '(#:phases @@ -6453,16 +6445,20 @@ (define-public arc-theme (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) - ("pkg-config" ,pkg-config))) - (inputs - `(("gtk+" ,gtk+))) + ("glib" ,glib "bin") ; for glib-compile-resources + ("gnome-shell" ,gnome-shell) + ("gtk+" ,gtk+) + ("inkscape" ,inkscape) + ("optipng" ,optipng) + ("pkg-config" ,pkg-config) + ("sassc" ,sassc))) (synopsis "A flat GTK+ theme with transparent elements") (description "Arc is a flat theme with transparent elements for GTK 3, GTK 2, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.") (home-page "https://github.com/horst3180/arc-theme") ;; No "or later" language found. - (license license:gpl3))) + (license license:gpl3+))) (define-public faba-icon-theme (package diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 60890bf724..6c970700a5 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -632,7 +632,16 @@ (define-public go-gopkg.in-tomb.v2 "1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10")))) (build-system go-build-system) (arguments - '(#:import-path "gopkg.in/tomb.v2")) + '(#:import-path "gopkg.in/tomb.v2" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-source + (lambda _ + ;; Add a missing % to fix the compilation of this test + (substitute* "src/gopkg.in/tomb.v2/tomb_test.go" + (("t.Fatalf\\(`Killf\\(\"BO%s") + "t.Fatalf(`Killf(\"BO%%s")) + #t))))) (synopsis "@code{tomb} handles clean goroutine tracking and termination") (description "The @code{tomb} package handles clean goroutine tracking and diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 8e70f1fdfc..62f6674691 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -61,7 +61,7 @@ (define-module (gnu packages image-viewers) (define-public feh (package (name "feh") - (version "3.1") + (version "3.1.1") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -69,7 +69,7 @@ (define-public feh name "-" version ".tar.bz2")) (sha256 (base32 - "01rrl009m1kxwvqqr98y4wk8m1al18fkxwv8cds2k7n4qiv6xdb7")))) + "1sy8z6rv5sy1bhk3846hgfdy96wdi874yr2fnxfprks46qp29l31")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 4f4e494ee5..ba31d36b9e 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -30,6 +30,7 @@ (define-module (gnu packages irc) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages aspell) #:use-module (gnu packages autogen) #:use-module (gnu packages autotools) @@ -65,7 +66,7 @@ (define-module (gnu packages irc) (define-public quassel (package (name "quassel") - (version "0.12.5") + (version "0.13.0") (source (origin (method url-fetch) @@ -73,7 +74,7 @@ (define-public quassel version ".tar.bz2")) (sha256 (base32 - "1qkl3sb4ijx4k17m0c42j2p5bc4jymypwhmplm942rbrzm6mg50q")) + "0xp9mppxl63qzgsdyprmblvfrj0bb9z57kfc088gvcavvq1210nr")) (modules '((guix build utils))) ;; We don't want to install the bundled scripts. (snippet @@ -86,21 +87,31 @@ (define-public quassel (arguments ;; The three binaries are not mutually exlusive, and are all built ;; by default. - '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 5.2 MiB - ;;"-DWANT_CORE=OFF" ; 2.4 MiB - ;;"-DWANT_MONO=OFF" ; 6.4 MiB - "-DUSE_QT5=ON" ; default is qt4 + '(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 6.1 MiB + ;;"-DWANT_CORE=OFF" ; 3.0 MiB + ;;"-DWANT_MONO=OFF" ; 7.6 MiB "-DWITH_KDE=OFF" ; no to kde integration ... - "-DWITH_OXYGEN=ON" ; therefore we install bundled icons - "-DWITH_WEBKIT=OFF") ; we don't depend on qtwebkit + "-DWITH_BUNDLED_ICONS=ON" ; so we install bundled icons + "-DWITH_OXYGEN_ICONS=ON" ; also the oxygen ones + "-DWITH_WEBENGINE=OFF") ; we don't depend on qtwebengine + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-inxi-reference + (lambda* (#:key inputs #:allow-other-keys) + (let ((inxi (string-append (assoc-ref inputs "inxi") "/bin/inxi"))) + (substitute* "src/common/aliasmanager.cpp" + ((" inxi ") (string-append " " inxi " "))) + #t)))) #:tests? #f)) ; no test target (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) ("pkg-config" ,pkg-config) ("qttools" ,qttools))) (inputs - `(("qca" ,qca) + `(("inxi" ,inxi-minimal) + ("qca" ,qca) ("qtbase" ,qtbase) + ("qtmultimedia" ,qtmultimedia) ("qtscript" ,qtscript) ("snorenotify" ,snorenotify) ("zlib" ,zlib))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 846edd7212..3d88b74daf 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -400,8 +400,8 @@ (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "a ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.19.6") -(define %linux-libre-hash "1ybi878li06algbv2pdwn81jlh038pfvzz3axn1bzic9p4c9rjhf") +(define %linux-libre-version "4.19.7") +(define %linux-libre-hash "1fj038hz6b7g9gdiw9kggydryf8dvrdsfn81snns9bn5b01yp67n") (define %linux-libre-4.19-patches (list %boot-logo-patch @@ -423,8 +423,8 @@ (define-public linux-libre #:patches %linux-libre-4.19-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.85") -(define %linux-libre-4.14-hash "1jh11y6jakkp3xlq9jbf2myfjzbccjx1iyhd6ny7r9cjkv6r5i5i") +(define %linux-libre-4.14-version "4.14.86") +(define %linux-libre-4.14-hash "1w98drq4ns2awwrbbkd6vy9fh219w8bfjfni5zndfycs5yh5hg65") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -433,8 +433,8 @@ (define-public linux-libre-4.14 #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.142" - "0a7c41m41p83byn68cfixq460sy73ahwcx9y3xm6cv05grqza8zh" + (make-linux-libre "4.9.143" + "0vg6hs7vc09riyki8lyy73p3ghl6k9q4xfv7dals4s9q61i6b6d6" %intel-compatible-systems #:configuration-file kernel-config)) @@ -4055,7 +4055,7 @@ (define-public radeontop (define-public efivar (package (name "efivar") - (version "35") + (version "37") (source (origin (method url-fetch) (uri (string-append "https://github.com/rhboot/" name @@ -4063,7 +4063,7 @@ (define-public efivar "-" version ".tar.bz2")) (sha256 (base32 - "153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy")))) + "17vvfivhsrszh7q39b6npjsrhrhsjf1cmmcpp3xrh6wh7ywzwrrw")))) (build-system gnu-build-system) (arguments `(;; Tests require a UEFI system and is not detected in the chroot. diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 5e8b6fdd3d..120d0d5e17 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Benjamin Slade ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Pierre Neidhardt +;;; Copyright © 2018 Pierre Langlois ;;; ;;; This file is part of GNU Guix. ;;; @@ -928,9 +929,9 @@ (define-public sbcl-cl-ppcre-unicode `(("sbcl-cl-ppcre" ,sbcl-cl-ppcre) ("sbcl-cl-unicode" ,sbcl-cl-unicode))))) -(define-public sbcl-stumpwm +(define-public stumpwm (package - (name "sbcl-stumpwm") + (name "stumpwm") (version "18.05") (source (origin (method url-fetch) @@ -946,7 +947,8 @@ (define-public sbcl-stumpwm ("alexandria" ,sbcl-alexandria))) (outputs '("out" "lib")) (arguments - '(#:phases + '(#:asd-system-name "stumpwm" + #:phases (modify-phases %standard-phases (add-after 'create-symlinks 'build-program (lambda* (#:key outputs #:allow-other-keys) @@ -979,17 +981,15 @@ (define-public sbcl-stumpwm productive, customizable lisp based systems.") (home-page "https://github.com/stumpwm/stumpwm") (license license:gpl2+) - (properties `((ecl-variant . ,(delay ecl-stumpwm)))))) + (properties `((cl-source-variant . ,(delay cl-stumpwm)))))) + +(define-public sbcl-stumpwm + (deprecated-package "sbcl-stumpwm" stumpwm)) (define-public cl-stumpwm - (sbcl-package->cl-source-package sbcl-stumpwm)) - -(define-public ecl-stumpwm - (let ((base (sbcl-package->ecl-package sbcl-stumpwm))) - (package - (inherit base) - (outputs '("out")) - (arguments '())))) + (package + (inherit (sbcl-package->cl-source-package stumpwm)) + (name "cl-stumpwm"))) ;; The slynk that users expect to install includes all of slynk's contrib ;; modules. Therefore, we build the base module and all contribs first; then @@ -1268,16 +1268,16 @@ (define-public ecl-slynk paths) #t))))))) -(define-public sbcl-stumpwm+slynk +(define-public stumpwm+slynk (package - (inherit sbcl-stumpwm) - (name "sbcl-stumpwm-with-slynk") + (inherit stumpwm) + (name "stumpwm-with-slynk") (outputs '("out")) (inputs - `(("stumpwm" ,sbcl-stumpwm "lib") + `(("stumpwm" ,stumpwm "lib") ("slynk" ,sbcl-slynk))) (arguments - (substitute-keyword-arguments (package-arguments sbcl-stumpwm) + (substitute-keyword-arguments (package-arguments stumpwm) ((#:phases phases) `(modify-phases ,phases (replace 'build-program @@ -1301,6 +1301,9 @@ (define-public sbcl-stumpwm+slynk (delete 'cleanup) (delete 'create-symlinks))))))) +(define-public sbcl-stumpwm+slynk + (deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk)) + (define-public sbcl-parse-js (let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6") (revision "1")) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 3f525e39a5..084e62cca4 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -495,7 +495,7 @@ (define (delete-ifdefs file) `(("python" ,python) ("numpy" ,python-numpy) ("r-minimal" ,r-minimal) - ("octave" ,octave) + ("octave" ,octave-cli) ("swig" ,swig) ("eigen" ,eigen) ("hdf5" ,hdf5) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index e88b315946..261d1f013d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -23,7 +23,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Kyle Meyer ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice -;;; Copyright © 2017 Rene Saavedra +;;; Copyright © 2017, 2018 Rene Saavedra ;;; Copyright © 2018 Pierre Langlois ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Gábor Boskovits @@ -2424,15 +2424,15 @@ (define-public alpine (define-public balsa (package (name "balsa") - (version "2.5.3") + (version "2.5.6") (source (origin (method url-fetch) - (uri (string-append "https://pawsa.fedorapeople.org/balsa/balsa-" - version ".tar.bz2")) + (uri (string-append "https://pawsa.fedorapeople.org/balsa/" + name "-" version ".tar.bz2")) (sha256 (base32 - "15jkwp3ylbwd8iha4dr37z1xb6mkk31ym90vv3h2a5xk2rmym5mq")))) + "17k6wcsl8gki7cskr3hhmfj6n54rha8ca3b6fzd8blsl5shsankx")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 9f1db83f3e..7c0273bad6 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1413,9 +1413,9 @@ (define-public ceres ;; For a fully featured Octave, users are strongly recommended also to install ;; the following packages: less, ghostscript, gnuplot. -(define-public octave +(define-public octave-cli (package - (name "octave") + (name "octave-cli") (version "4.4.1") (source (origin @@ -1497,21 +1497,21 @@ (define-public octave script files.") (license license:gpl3+))) -(define-public qtoctave - (package (inherit octave) - (name "qtoctave") +(define-public octave + (package (inherit octave-cli) + (name "octave") (source (origin - (inherit (package-source octave)))) + (inherit (package-source octave-cli)))) (inputs `(("qscintilla" ,qscintilla) ("qt" ,qtbase) - ,@(package-inputs octave))) + ,@(package-inputs octave-cli))) (native-inputs `(("qttools" , qttools) ;for lrelease ("texlive" ,texlive) ;for texi2dvi - ,@(package-native-inputs octave))) + ,@(package-native-inputs octave-cli))) (arguments - (substitute-keyword-arguments (package-arguments octave) + (substitute-keyword-arguments (package-arguments octave-cli) ((#:phases phases) `(modify-phases ,phases (add-before 'configure 'patch-qscintilla-library-name @@ -1525,6 +1525,9 @@ (define-public qtoctave "qscintilla2_qt5")) #t)))))))) +(define-public qtoctave + (deprecated-package "qtoctave" octave)) + (define-public opencascade-oce (package (name "opencascade-oce") @@ -1767,6 +1770,7 @@ (define-public petsc-openmpi (name "petsc-openmpi") (inputs `(("hdf5" ,hdf5-parallel-openmpi) + ("hypre" ,hypre-openmpi) ("metis" ,metis) ("mumps" ,mumps-openmpi) ("openmpi" ,openmpi) @@ -1776,7 +1780,8 @@ (define-public petsc-openmpi (arguments (substitute-keyword-arguments (package-arguments petsc) ((#:configure-flags cf) - ``("--with-mpiexec=mpirun" + ``("--with-hypre=1" + "--with-mpiexec=mpirun" "--with-metis=1" "--with-mumps=1" "--with-scalapack=1" @@ -3578,7 +3583,7 @@ (define-public flann `(("unzip" ,unzip))) (inputs `(("hdf5" ,hdf5) - ("octave" ,octave) + ("octave" ,octave-cli) ("python" ,python-2) ; print syntax ;; ("python2-numpy" ,python2-numpy) ; only required for the tests ("zlib" ,zlib))) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index c9effbafa3..c7736eeb51 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -470,13 +470,13 @@ (define-public mpc123 (define-public eyed3 (package (name "eyed3") - (version "0.8.7") + (version "0.8.8") (source (origin (method url-fetch) (uri (pypi-uri "eyeD3" version)) (sha256 (base32 - "1fzqy6hkg73xvpapdjrdzr3r0fsamnplvjfl7dz7rzgzx2r4x4pg")))) + "197lszkyzm377ym5r0ssryfsiz20yjx8y4rii3wc81n92d1qzlaq")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; the required test data contains copyrighted material. diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index fe8610ab94..0a81a3b8b8 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -244,7 +244,7 @@ (define-public ncmpcpp "0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5")))) (build-system gnu-build-system) (inputs `(("libmpdclient" ,libmpdclient) - ("boost" ,boost) + ("boost" ,boost-cxx14) ("readline" ,readline) ("ncurses" ,ncurses) ("taglib" ,taglib) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index faf5aab09a..37fcf019bc 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2247,14 +2247,14 @@ (define-public aj-snapshot (define-public qtractor (package (name "qtractor") - (version "0.9.2") + (version "0.9.3") (source (origin (method url-fetch) (uri (string-append "http://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "1j3rpvdkw9rw48j4zyfn6rprp01csy4rl6zckcjyx0vh7vaycchr")))) + "1010gvkzdzdk39g1g6wx2j19ls0kdl6l9q51xzk2qik7h2fwxl71")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target @@ -2688,13 +2688,14 @@ (define-public instantmusic (define-public beets (package (name "beets") - (version "1.4.6") + (version "1.4.7") (source (origin (method url-fetch) (uri (pypi-uri "beets" version)) + (patches (search-patches "beets-python-3.7-fix.patch")) (sha256 (base32 - "0l2vfrknwcsm6bn83m7476qrz45qwgxcb5k0h7kn96kr70irn1v2")))) + "0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs")))) (build-system python-build-system) (arguments `(#:phases @@ -2703,6 +2704,12 @@ (define-public beets (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) #t)) + (add-after 'unpack 'make-python3.7-compatible + (lambda _ + ;; See . + (substitute* "beets/autotag/hooks.py" + (("re\\._pattern_type") "re.Pattern")) + #t)) (replace 'check (lambda _ (invoke "nosetests" "-v")))))) @@ -3298,7 +3305,8 @@ (define-public ingen "1wg47vjw9djn99gbnsl2bcwj4xhdid61m4wrbn2nlp797flj91ic")))) (build-system waf-build-system) (arguments - `(#:tests? #f ; no "check" target + `(#:python ,python-2 + #:tests? #f ; no "check" target #:configure-flags (list "--no-webkit") #:phases (modify-phases %standard-phases diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index c5ba65a863..ae8612491f 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -101,9 +101,9 @@ (define-public guix ;; 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.15.0") - (commit "71a78ba65b00ad1f27086a3dcdded7dc4326ade1") - (revision 8)) + (let ((version "0.16.0") + (commit "6ddc63e599a26c302f74d0622f67cfd987f0dc5f") + (revision 3)) (package (name "guix") @@ -119,7 +119,7 @@ (define-public guix (commit commit))) (sha256 (base32 - "0isagzccfxjqrc38wamknvh0jzv1pjh0wq5baj9jzwl07xkrc0hc")) + "0vzxrsfbr4phhy60m7pc6klb61whqc404c3x76ydj70xvi1xa0wz")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -316,6 +316,7 @@ (define-public guix-daemon (inputs `(("gnutls" ,gnutls) ("guile-git" ,guile-git) + ("guile-json" ,guile-json) ("guile-gcrypt" ,guile-gcrypt) ,@(fold alist-delete (package-inputs guix) '("boot-guile" "boot-guile/i686" "util-linux")))) diff --git a/gnu/packages/patches/beets-python-3.7-fix.patch b/gnu/packages/patches/beets-python-3.7-fix.patch new file mode 100644 index 0000000000..43707cd9d0 --- /dev/null +++ b/gnu/packages/patches/beets-python-3.7-fix.patch @@ -0,0 +1,57 @@ +Fix compatibility issue with Python 3.7: + +https://github.com/beetbox/beets/issues/2978 + +Patch copied from upstream source repository: + +https://github.com/beetbox/beets/commit/15d44f02a391764da1ce1f239caef819f08beed8 + +From 15d44f02a391764da1ce1f239caef819f08beed8 Mon Sep 17 00:00:00 2001 +From: Adrian Sampson +Date: Sun, 22 Jul 2018 12:34:19 -0400 +Subject: [PATCH] Fix Python 3.7 compatibility (#2978) + +--- + beets/autotag/hooks.py | 8 +++++++- + docs/changelog.rst | 2 ++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/beets/autotag/hooks.py b/beets/autotag/hooks.py +index 3615a9333..1c62a54c5 100644 +--- a/beets/autotag/hooks.py ++++ b/beets/autotag/hooks.py +@@ -31,6 +31,12 @@ + + log = logging.getLogger('beets') + ++# The name of the type for patterns in re changed in Python 3.7. ++try: ++ Pattern = re._pattern_type ++except AttributeError: ++ Pattern = re.Pattern ++ + + # Classes used to represent candidate options. + +@@ -433,7 +439,7 @@ def _eq(self, value1, value2): + be a compiled regular expression, in which case it will be + matched against `value2`. + """ +- if isinstance(value1, re._pattern_type): ++ if isinstance(value1, Pattern): + return bool(value1.match(value2)) + return value1 == value2 + +#diff --git a/docs/changelog.rst b/docs/changelog.rst +#index be6de2904..d487f31f5 100644 +#--- a/docs/changelog.rst +#+++ b/docs/changelog.rst +#@@ -19,6 +19,8 @@ New features: +# +# Fixes: +# +#+* Fix compatibility Python 3.7 and its change to a name in the ``re`` module. +#+ :bug:`2978` +# * R128 normalization tags are now properly deleted from files when the values +# are missing. +# Thanks to :user:`autrimpo`. diff --git a/gnu/packages/patches/elogind-glibc-2.27.patch b/gnu/packages/patches/elogind-glibc-2.27.patch deleted file mode 100644 index 4ade587b5e..0000000000 --- a/gnu/packages/patches/elogind-glibc-2.27.patch +++ /dev/null @@ -1,22 +0,0 @@ -Look for memfd_create in sys/mman.h instead of linux/memfd.h. -Needed to build with glibc-2.27. - ---- a/configure.ac 1969-12-31 19:00:00.000000000 -0500 -+++ b/configure.ac 2018-03-27 23:54:15.414589005 -0400 -@@ -360,7 +360,7 @@ - # ------------------------------------------------------------------------------ - - AC_CHECK_HEADERS([sys/capability.h], [], [AC_MSG_ERROR([*** POSIX caps headers not found])]) --AC_CHECK_HEADERS([linux/memfd.h], [], []) -+AC_CHECK_HEADERS([sys/mman.h], [], []) - - AC_CHECK_HEADERS([printf.h], [have_printf_h=yes], [have_printf_h=no]) - AS_IF([test x$have_printf_h = xyes], [ -@@ -395,6 +395,7 @@ - [], [], [[ - #include - #include -+#include - #include - #include - #include diff --git a/gnu/packages/patches/gcc-libsanitizer-fix.patch b/gnu/packages/patches/gcc-libsanitizer-fix.patch deleted file mode 100644 index 67aa44bed4..0000000000 --- a/gnu/packages/patches/gcc-libsanitizer-fix.patch +++ /dev/null @@ -1,113 +0,0 @@ -https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=8937b94d1a643fd9760714642296d034a45254a8 -https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81066 - -This patch can be removed when gcc-6.5.0 is released - -From 8937b94d1a643fd9760714642296d034a45254a8 Mon Sep 17 00:00:00 2001 -From: doko -Date: Thu, 7 Sep 2017 07:15:24 +0000 -Subject: [PATCH] 2017-09-07 Matthias Klose - - Backported from mainline - 2017-07-14 Jakub Jelinek - - PR sanitizer/81066 - * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969. - * sanitizer_common/sanitizer_linux.cc: Likewise. - * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise. - * tsan/tsan_platform_linux.cc: Likewise. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@251828 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - libsanitizer/ChangeLog | 11 +++++++++++ - libsanitizer/sanitizer_common/sanitizer_linux.cc | 3 +-- - libsanitizer/sanitizer_common/sanitizer_linux.h | 4 +--- - .../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc | 2 +- - libsanitizer/tsan/tsan_platform_linux.cc | 2 +- - 5 files changed, 15 insertions(+), 7 deletions(-) - -diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog -index 252cd09..d988b28 100644 ---- a/libsanitizer/ChangeLog -+++ b/libsanitizer/ChangeLog -@@ -1,3 +1,14 @@ -+2017-09-07 Matthias Klose -+ -+ Backported from mainline -+ 2017-07-14 Jakub Jelinek -+ -+ PR sanitizer/81066 -+ * sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969. -+ * sanitizer_common/sanitizer_linux.cc: Likewise. -+ * sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise. -+ * tsan/tsan_platform_linux.cc: Likewise. -+ - 2017-07-04 Release Manager - - * GCC 6.4.0 released. -diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc -index 2cefa20..223d9c6 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc -@@ -546,8 +546,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) { - } - #endif - --uptr internal_sigaltstack(const struct sigaltstack *ss, -- struct sigaltstack *oss) { -+uptr internal_sigaltstack(const void *ss, void *oss) { - return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss); - } - -diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h -index 4497702..1594058 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_linux.h -+++ b/libsanitizer/sanitizer_common/sanitizer_linux.h -@@ -19,7 +19,6 @@ - #include "sanitizer_platform_limits_posix.h" - - struct link_map; // Opaque type returned by dlopen(). --struct sigaltstack; - - namespace __sanitizer { - // Dirent structure for getdents(). Note that this structure is different from -@@ -28,8 +27,7 @@ struct linux_dirent; - - // Syscall wrappers. - uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count); --uptr internal_sigaltstack(const struct sigaltstack* ss, -- struct sigaltstack* oss); -+uptr internal_sigaltstack(const void* ss, void* oss); - uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set, - __sanitizer_sigset_t *oldset); - void internal_sigfillset(__sanitizer_sigset_t *set); -diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -index c919e4f..014162af 100644 ---- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -+++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc -@@ -267,7 +267,7 @@ static int TracerThread(void* argument) { - - // Alternate stack for signal handling. - InternalScopedBuffer handler_stack_memory(kHandlerStackSize); -- struct sigaltstack handler_stack; -+ stack_t handler_stack; - internal_memset(&handler_stack, 0, sizeof(handler_stack)); - handler_stack.ss_sp = handler_stack_memory.data(); - handler_stack.ss_size = kHandlerStackSize; -diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc -index 09cec5f..908f4fe 100644 ---- a/libsanitizer/tsan/tsan_platform_linux.cc -+++ b/libsanitizer/tsan/tsan_platform_linux.cc -@@ -291,7 +291,7 @@ bool IsGlobalVar(uptr addr) { - int ExtractResolvFDs(void *state, int *fds, int nfd) { - #if SANITIZER_LINUX - int cnt = 0; -- __res_state *statp = (__res_state*)state; -+ struct __res_state *statp = (struct __res_state*)state; - for (int i = 0; i < MAXNS && cnt < nfd; i++) { - if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1) - fds[cnt++] = statp->_u._ext.nssocks[i]; --- -2.9.3 - diff --git a/gnu/packages/patches/qemu-CVE-2018-16847.patch b/gnu/packages/patches/qemu-CVE-2018-16847.patch new file mode 100644 index 0000000000..c76bdf764a --- /dev/null +++ b/gnu/packages/patches/qemu-CVE-2018-16847.patch @@ -0,0 +1,158 @@ +Fix CVE-2018-16847: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16847 + +Patch copied from upstream source repository: + +https://git.qemu.org/?p=qemu.git;a=commitdiff;h=87ad860c622cc8f8916b5232bd8728c08f938fce + +From 87ad860c622cc8f8916b5232bd8728c08f938fce Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Tue, 20 Nov 2018 19:41:48 +0100 +Subject: [PATCH] nvme: fix out-of-bounds access to the CMB +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Because the CMB BAR has a min_access_size of 2, if you read the last +byte it will try to memcpy *2* bytes from n->cmbuf, causing an off-by-one +error. This is CVE-2018-16847. + +Another way to fix this might be to register the CMB as a RAM memory +region, which would also be more efficient. However, that might be a +change for big-endian machines; I didn't think this through and I don't +know how real hardware works. Add a basic testcase for the CMB in case +somebody does this change later on. + +Cc: Keith Busch +Cc: qemu-block@nongnu.org +Reported-by: Li Qiang +Reviewed-by: Li Qiang +Tested-by: Li Qiang +Signed-off-by: Paolo Bonzini +Reviewed-by: Philippe Mathieu-Daudé +Tested-by: Philippe Mathieu-Daudé +Signed-off-by: Kevin Wolf +--- + hw/block/nvme.c | 2 +- + tests/Makefile.include | 2 +- + tests/nvme-test.c | 68 +++++++++++++++++++++++++++++++++++------- + 3 files changed, 60 insertions(+), 12 deletions(-) + +diff --git a/hw/block/nvme.c b/hw/block/nvme.c +index 28d284346dd..8c35cab2b43 100644 +--- a/hw/block/nvme.c ++++ b/hw/block/nvme.c +@@ -1201,7 +1201,7 @@ static const MemoryRegionOps nvme_cmb_ops = { + .write = nvme_cmb_write, + .endianness = DEVICE_LITTLE_ENDIAN, + .impl = { +- .min_access_size = 2, ++ .min_access_size = 1, + .max_access_size = 8, + }, + }; +diff --git a/tests/Makefile.include b/tests/Makefile.include +index 613242bc6ef..fb0b449c02a 100644 +--- a/tests/Makefile.include ++++ b/tests/Makefile.include +@@ -730,7 +730,7 @@ tests/test-hmp$(EXESUF): tests/test-hmp.o + tests/machine-none-test$(EXESUF): tests/machine-none-test.o + tests/drive_del-test$(EXESUF): tests/drive_del-test.o $(libqos-virtio-obj-y) + tests/qdev-monitor-test$(EXESUF): tests/qdev-monitor-test.o $(libqos-pc-obj-y) +-tests/nvme-test$(EXESUF): tests/nvme-test.o ++tests/nvme-test$(EXESUF): tests/nvme-test.o $(libqos-pc-obj-y) + tests/pvpanic-test$(EXESUF): tests/pvpanic-test.o + tests/i82801b11-test$(EXESUF): tests/i82801b11-test.o + tests/ac97-test$(EXESUF): tests/ac97-test.o +diff --git a/tests/nvme-test.c b/tests/nvme-test.c +index 7674a446e4f..2700ba838aa 100644 +--- a/tests/nvme-test.c ++++ b/tests/nvme-test.c +@@ -8,25 +8,73 @@ + */ + + #include "qemu/osdep.h" ++#include "qemu/units.h" + #include "libqtest.h" ++#include "libqos/libqos-pc.h" ++ ++static QOSState *qnvme_start(const char *extra_opts) ++{ ++ QOSState *qs; ++ const char *arch = qtest_get_arch(); ++ const char *cmd = "-drive id=drv0,if=none,file=null-co://,format=raw " ++ "-device nvme,addr=0x4.0,serial=foo,drive=drv0 %s"; ++ ++ if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) { ++ qs = qtest_pc_boot(cmd, extra_opts ? : ""); ++ global_qtest = qs->qts; ++ return qs; ++ } ++ ++ g_printerr("nvme tests are only available on x86\n"); ++ exit(EXIT_FAILURE); ++} ++ ++static void qnvme_stop(QOSState *qs) ++{ ++ qtest_shutdown(qs); ++} + +-/* Tests only initialization so far. TODO: Replace with functional tests */ + static void nop(void) + { ++ QOSState *qs; ++ ++ qs = qnvme_start(NULL); ++ qnvme_stop(qs); + } + +-int main(int argc, char **argv) ++static void nvmetest_cmb_test(void) + { +- int ret; ++ const int cmb_bar_size = 2 * MiB; ++ QOSState *qs; ++ QPCIDevice *pdev; ++ QPCIBar bar; + +- g_test_init(&argc, &argv, NULL); +- qtest_add_func("/nvme/nop", nop); ++ qs = qnvme_start("-global nvme.cmb_size_mb=2"); ++ pdev = qpci_device_find(qs->pcibus, QPCI_DEVFN(4,0)); ++ g_assert(pdev != NULL); ++ ++ qpci_device_enable(pdev); ++ bar = qpci_iomap(pdev, 2, NULL); ++ ++ qpci_io_writel(pdev, bar, 0, 0xccbbaa99); ++ g_assert_cmpint(qpci_io_readb(pdev, bar, 0), ==, 0x99); ++ g_assert_cmpint(qpci_io_readw(pdev, bar, 0), ==, 0xaa99); ++ ++ /* Test partially out-of-bounds accesses. */ ++ qpci_io_writel(pdev, bar, cmb_bar_size - 1, 0x44332211); ++ g_assert_cmpint(qpci_io_readb(pdev, bar, cmb_bar_size - 1), ==, 0x11); ++ g_assert_cmpint(qpci_io_readw(pdev, bar, cmb_bar_size - 1), !=, 0x2211); ++ g_assert_cmpint(qpci_io_readl(pdev, bar, cmb_bar_size - 1), !=, 0x44332211); ++ g_free(pdev); + +- qtest_start("-drive id=drv0,if=none,file=null-co://,format=raw " +- "-device nvme,drive=drv0,serial=foo"); +- ret = g_test_run(); ++ qnvme_stop(qs); ++} + +- qtest_end(); ++int main(int argc, char **argv) ++{ ++ g_test_init(&argc, &argv, NULL); ++ qtest_add_func("/nvme/nop", nop); ++ qtest_add_func("/nvme/cmb_test", nvmetest_cmb_test); + +- return ret; ++ return g_test_run(); + } +-- +2.19.2 + diff --git a/gnu/packages/patches/qemu-CVE-2018-16867.patch b/gnu/packages/patches/qemu-CVE-2018-16867.patch new file mode 100644 index 0000000000..1403d8e0f8 --- /dev/null +++ b/gnu/packages/patches/qemu-CVE-2018-16867.patch @@ -0,0 +1,49 @@ +Fix CVE-2018-16867: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16867 +https://seclists.org/oss-sec/2018/q4/202 + +Patch copied from upstream source repository: + +https://git.qemu.org/?p=qemu.git;a=commitdiff;h=c52d46e041b42bb1ee6f692e00a0abe37a9659f6 + +From c52d46e041b42bb1ee6f692e00a0abe37a9659f6 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 3 Dec 2018 11:10:45 +0100 +Subject: [PATCH] usb-mtp: outlaw slashes in filenames +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Slash is unix directory separator, so they are not allowed in filenames. +Note this also stops the classic escape via "../". + +Fixes: CVE-2018-16867 +Reported-by: Michael Hanselmann +Signed-off-by: Gerd Hoffmann +Reviewed-by: Philippe Mathieu-Daudé +Message-id: 20181203101045.27976-3-kraxel@redhat.com +--- + hw/usb/dev-mtp.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c +index 0f6a9702ef1..100b7171f4e 100644 +--- a/hw/usb/dev-mtp.c ++++ b/hw/usb/dev-mtp.c +@@ -1719,6 +1719,12 @@ static void usb_mtp_write_metadata(MTPState *s) + + filename = utf16_to_str(dataset->length, dataset->filename); + ++ if (strchr(filename, '/')) { ++ usb_mtp_queue_result(s, RES_PARAMETER_NOT_SUPPORTED, d->trans, ++ 0, 0, 0, 0); ++ return; ++ } ++ + o = usb_mtp_object_lookup_name(p, filename, dataset->length); + if (o != NULL) { + next_handle = o->handle; +-- +2.19.2 + diff --git a/gnu/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch b/gnu/packages/patches/quilt-getopt-nondigit-param.patch similarity index 100% rename from gnu/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch rename to gnu/packages/patches/quilt-getopt-nondigit-param.patch diff --git a/gnu/packages/patches/quilt-compat-getopt-fix-second-separator.patch b/gnu/packages/patches/quilt-getopt-second-separator.patch similarity index 100% rename from gnu/packages/patches/quilt-compat-getopt-fix-second-separator.patch rename to gnu/packages/patches/quilt-getopt-second-separator.patch diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index fa5ad62e44..b655399345 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -102,8 +102,8 @@ (define-public quilt (base32 "06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn")) (patches (search-patches "quilt-test-fix-regex.patch" - "quilt-compat-getopt-fix-second-separator.patch" - "quilt-compat-getopt-fix-option-with-nondigit-param.patch")))) + "quilt-getopt-second-separator.patch" + "quilt-getopt-nondigit-param.patch")))) (build-system gnu-build-system) (native-inputs `(("gettext" ,gnu-gettext))) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 65d7b26df3..4170e4a0ae 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2016 Arun Isaac ;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2017 Alex Vong -;;; Copyright © 2017 Rene Saavedra +;;; Copyright © 2017, 2018 Rene Saavedra ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -1001,7 +1001,7 @@ (define-public pdfposter (define-public pdfgrep (package (name "pdfgrep") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) @@ -1009,7 +1009,7 @@ (define-public pdfgrep name "-" version ".tar.gz")) (sha256 (base32 - "02qcl5kmr5qzjfc99qpbpfb1890bxlrq3r208gnding51zrmb09c")))) + "1fia10djcxxl7n9jw2prargw4yzbykk6izig2443ycj9syhxrwqf")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 1b1458a285..9410d1761d 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -131,14 +131,14 @@ (define-public libexif (define-public libgphoto2 (package (name "libgphoto2") - (version "2.5.20") + (version "2.5.21") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gphoto/libgphoto/" version "/libgphoto2-" version ".tar.bz2")) (sha256 (base32 - "03wbwsb4v7yay8g5ni7pzmkbrh7qnqx977bddjpxsp9f1qag03z1")))) + "1ccb8idjkv19p9zxg6hh8y6vbgs8flpnh550lq6a8cmga8d2nmy5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d251468673..9472a441ef 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2100,13 +2100,13 @@ (define-public python2-kitchen (define-public python-unidecode (package (name "python-unidecode") - (version "0.04.21") + (version "1.0.23") (source (origin (method url-fetch) (uri (pypi-uri "Unidecode" version)) (sha256 (base32 - "0lfhp9c5xrbpjvbpr12ji52g1lx04404bzzdg6pvabhzisw6l2i8")))) + "1ysjbr3nqfqj97h8zyj3v9pya413vkv7a1mzml80w37xx15kb1cb")))) (build-system python-build-system) (home-page "https://pypi.python.org/pypi/Unidecode") (synopsis "ASCII transliterations of Unicode text") @@ -9759,13 +9759,13 @@ (define-public python2-faker (define-public python-pyaml (package (name "python-pyaml") - (version "17.7.2") + (version "18.11.0") (source (origin (method url-fetch) (uri (pypi-uri "pyaml" version)) (sha256 (base32 - "132grrw0ajq4nrappi3ldbkb952k7yn9b6c7csi2rmvzm1g6ppp2")))) + "0fi604ix8lbpj1266q7js6szm771saprdzzcdwmj43wy83694qmr")))) (build-system python-build-system) (native-inputs `(("python-unidecode" ,python-unidecode))) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index c05d819d65..08501aef6f 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -23,21 +23,22 @@ (define-module (gnu packages regex) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix utils)) (define-public re2 (package (name "re2") - (version "2018-10-01") + (version "2018-12-01") (home-page "https://github.com/google/re2") (source (origin - (method url-fetch) - (uri (string-append home-page "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "10fsxsj3yip34hp2zl5rw8h2x2lgnp83fwrh7m0qfd9m99qrf4x3")))) + "181fq0idwzgfmmpyhmqdxi37rbynzgf1b8s99aaka9kqs9ffwj22")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b8fa5a3ad9..6a2eece734 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3029,7 +3029,15 @@ (define-public ruby-json-pure (lambda _ ;; Regenerate gemspec so loosened dependency constraints are ;; propagated. - (invoke "rake" "gemspec")))))) + (invoke "rake" "gemspec"))) + (add-after 'regenerate-gemspec 'fix-json-java.gemspec + (lambda _ + ;; This gemspec doesn't look to be generated by the above + ;; command, so patch it separately. + (substitute* "json-java.gemspec" + (("%q\\.freeze, \\[\"~> 2\\.0\"\\]") + "%q.freeze, [\">= 2.0\"]")) + #t))))) (native-inputs `(("bundler" ,bundler) ("ragel" ,ragel) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index b927bbbf9b..fd9bdd9724 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -32,20 +32,23 @@ (define-module (gnu packages samba) #:use-module (gnu packages acl) #:use-module (gnu packages admin) #:use-module (gnu packages autotools) + #:use-module (gnu packages backup) #:use-module (gnu packages check) #:use-module (gnu packages crypto) #:use-module (gnu packages cups) #:use-module (gnu packages databases) #:use-module (gnu packages docbook) - #:use-module (gnu packages tls) - #:use-module (gnu packages popt) - #:use-module (gnu packages pkg-config) - #:use-module (gnu packages openldap) - #:use-module (gnu packages readline) + #:use-module (gnu packages gnupg) #:use-module (gnu packages kerberos) #:use-module (gnu packages linux) + #:use-module (gnu packages openldap) #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages popt) #:use-module (gnu packages python) + #:use-module (gnu packages readline) + #:use-module (gnu packages tls) + #:use-module (gnu packages web) #:use-module (gnu packages xml)) (define-public cifs-utils @@ -147,14 +150,14 @@ (define (install dir) (define-public samba (package (name "samba") - (version "4.8.6") + (version "4.9.3") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "15hawqdm37l6lp9k14c634315p77cllsx89bvbw9h38fg1hj3fbk")))) + "1krm47x08c0vcrq12dxs8mbicma1ck2sl1i0hgkvrmwsgrqdi3yg")))) (build-system gnu-build-system) (arguments `(#:phases @@ -199,10 +202,14 @@ (define-public samba `(("acl" ,acl) ("cups" ,cups) ;; ("gamin" ,gamin) + ("gpgme" ,gpgme) ("gnutls" ,gnutls) ("iniparser" ,iniparser) + ("jansson" ,jansson) ("libaio" ,libaio) + ("libarchive" ,libarchive) ("linux-pam" ,linux-pam) + ("lmdb" ,lmdb) ("openldap" ,openldap) ("popt" ,popt) ("readline" ,readline) @@ -338,14 +345,14 @@ (define-public tevent (define-public ldb (package (name "ldb") - (version "1.3.6") + (version "1.4.3") (source (origin (method url-fetch) (uri (string-append "https://www.samba.org/ftp/ldb/ldb-" version ".tar.gz")) (sha256 (base32 - "16lkz3gyvsm9als1wyimsl573hclr72xy6454mshwjanncs33lji")) + "07vacwr941y2x31yl9knsr2rpffz5pqabvqds6sbyngqxy4r785c")) (modules '((guix build utils))) (snippet '(begin @@ -358,7 +365,10 @@ (define-public ldb #t)))) (build-system gnu-build-system) (arguments - '(#:phases + '(;; LMDB is only supported on 64-bit systems, yet the test suite + ;; requires it. + #:tests? (assoc-ref %build-inputs "lmdb") + #:phases (modify-phases %standard-phases (replace 'configure ;; ldb use a custom configuration script that runs waf. @@ -378,7 +388,10 @@ (define-public ldb `(("talloc" ,talloc) ("tdb" ,tdb))) (inputs - `(("popt" ,popt) + `(,@(if (target-64bit?) + `(("lmdb" ,lmdb)) + '()) + ("popt" ,popt) ("tevent" ,tevent))) (synopsis "LDAP-like embedded database") (home-page "https://ldb.samba.org/") diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm index 2df0ce1364..2d61f7451b 100644 --- a/gnu/packages/serialization.scm +++ b/gnu/packages/serialization.scm @@ -306,7 +306,7 @@ (define-public jsoncpp (define-public capnproto (package (name "capnproto") - (version "0.6.1") + (version "0.7.0") (source (origin (method url-fetch) (uri (string-append @@ -314,7 +314,7 @@ (define-public capnproto version ".tar.gz")) (sha256 (base32 - "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0")))) + "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969")))) (build-system gnu-build-system) (arguments `(#:phases @@ -324,6 +324,14 @@ (define-public capnproto ;; Workaround for test that tries to resolve port name from ;; /etc/services, which is not present in build environment. (substitute* "src/kj/async-io-test.c++" ((":http") ":80")) + #t)) + (add-before 'check 'use-tmp-for-tempory-files + (lambda _ + ;; Use /tmp for tempory files, as the default /var/tmp directory + ;; doesn't exist. + (substitute* "src/kj/filesystem-disk-test.c++" + (("VAR\\_TMP \"/var/tmp\"") + "VAR_TMP \"/tmp\"")) #t))))) (home-page "https://capnproto.org") (synopsis "Capability-based RPC and serialization system") diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm index c080a16ce7..2132d4acf4 100644 --- a/gnu/packages/simulation.scm +++ b/gnu/packages/simulation.scm @@ -648,6 +648,7 @@ (define-public fenics "'lift-drag', \n" "'elastodynamics', \n" "'dg-advection-diffusion', \n" + "'curl-curl', \n" "'contact-vi-tao', \n" "'contact-vi-snes', \n" "'collision-detection', \n" diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 5051ccd986..4eae37815e 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -321,7 +321,7 @@ (define-public ceph ("python2-testtools" ,python2-testtools) ("python2-tox" ,python2-tox))) (inputs - `(("boost" ,boost) + `(("boost" ,boost-cxx14) ("curl" ,curl) ("cryptsetup" ,cryptsetup) ("expat" ,expat) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c29c88a588..5222354e74 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -30,7 +30,7 @@ (define-module (gnu packages syncthing) (define-public syncthing (package (name "syncthing") - (version "0.14.52") + (version "0.14.54") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -38,12 +38,19 @@ (define-public syncthing "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "1hhn72l74vb9l32i1a54ry2l85ji78cq6isd20lxxdk0bjqc4m29")) - (modules '((guix build utils))) - ;; Delete bundled ("vendored") free software source code. - (snippet '(begin - (delete-file-recursively "vendor") - #t)))) + "1pfjckwsrhy8lbmy42fawgh1gcfmjbh3dfxx05w5yjxnpd1g2z6r")) + ;; Since the update to Go 1.11, Go programs have been keeping + ;; spurious references to all their dependencies: + ;; . + ;; For Syncthing, this increases the size of the 'out' closure + ;; from 87.6 MiB to 253.5 MiB. So, we use the bundled + ;; dependencies until the bug is resolved. +; (modules '((guix build utils))) +; ;; Delete bundled ("vendored") free software source code. +; (snippet '(begin +; (delete-file-recursively "vendor") +; #t)) + )) (build-system go-build-system) ;; The primary Syncthing executable goes to "out", while the auxiliary ;; server programs and utility tools go to "utils". This reduces the size @@ -63,7 +70,7 @@ (define-public syncthing #t)) (replace 'build - (lambda* (#:key inputs #:allow-other-keys) + (lambda _ (with-directory-excursion "src/github.com/syncthing/syncthing" (invoke "go" "run" "build.go" "-no-upgrade")))) @@ -107,48 +114,6 @@ (define-public syncthing (delete-file (string-append out man "/man1/strelaysrv.1")) (delete-file (string-append utils man "/man1/syncthing.1")) #t)))))) - ;; When updating Syncthing, check 'vendor/manifest' in the source - ;; distribution to ensure we are using the correct versions of these - ;; dependencies. - (inputs - `(("go-github-com-audriusbutkevicius-cli" - ,go-github-com-audriusbutkevicius-cli) - ("go-github-com-audriusbutkevicius-go-nat-pmp" - ,go-github-com-audriusbutkevicius-go-nat-pmp) - ("go-github-com-audriusbutkevicius-pfilter" - ,go-github-com-audriusbutkevicius-pfilter) - ("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4) - ("go-github-com-calmh-du" ,go-github-com-calmh-du) - ("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr) - ("go-github-com-prometheus-union" ,(go-github-com-prometheus-union)) - ("go-github-com-chmduquesne-rollinghash-adler32" - ,go-github-com-chmduquesne-rollinghash-adler32) - ("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob) - ("go-github-com-gogo-protobuf-union" - ,(go-github-com-gogo-protobuf-union)) - ("go-github-com-golang-groupcache-lru" - ,go-github-com-golang-groupcache-lru) - ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway) - ("go-github-com-kballard-go-shellquote" - ,go-github-com-kballard-go-shellquote) - ("go-github-com-lib-pq" ,go-github-com-lib-pq) - ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd) - ("go-github-com-oschwald-geoip2-golang" - ,go-github-com-oschwald-geoip2-golang) - ("go-github-com-pkg-errors" ,go-github-com-pkg-errors) - ("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics) - ("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock) - ("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify) - ("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb) - ("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture) - ("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union)) - ("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union)) - ("go-golang-org-x-net-union" ,(go-golang-org-x-net-union)) - ("go-golang-org-x-text" ,(go-golang-org-x-text-union)) - ("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate) - ("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2) - ;; For tests - ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff))) (synopsis "Decentralized continuous file system synchronization") (description "Syncthing is a peer-to-peer file synchronization tool that supports a wide variety of computing platforms. It uses the Block Exchange @@ -941,8 +906,8 @@ (define-public go-github-com-kballard-go-shellquote (license expat)))) (define-public go-github-com-syncthing-notify - (let ((commit "b76b45868a77e7800dd06cce61101af9c4274bcc") - (revision "2")) + (let ((commit "116c45bb5ad48777321e4984d1320d56889b6097") + (revision "3")) (package (name "go-github-com-syncthing-notify") (version (git-version "0.0.0" revision commit)) @@ -954,7 +919,7 @@ (define-public go-github-com-syncthing-notify (file-name (git-file-name name version)) (sha256 (base32 - "1xxkzaxygxxr51i2kdxsdaqb5i95hqpkw4kcr75wmsp914slw2q9")))) + "14bh95pkhwmnc65bnv08p3y4flj1j7f6xxr2cgmlwrphnlp9yhl9")))) (build-system go-build-system) (arguments '(#:import-path "github.com/syncthing/notify")) @@ -1188,11 +1153,11 @@ (define-public go-github-com-client-golang-prometheus-promhttp (license asl2.0)))) (define-public go-github-com-client-golang-prometheus - (let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3") + (let ((commit "7e9098b20fb8e103a7a5691878272d7e3d703663") (revision "0")) (package (name "go-github-com-prometheus-client-golang-prometheus") - (version (git-version "0.0.0" revision commit)) + (version (git-version "0.9.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -1201,11 +1166,12 @@ (define-public go-github-com-client-golang-prometheus (file-name (git-file-name name version)) (sha256 (base32 - "1kkfx1j9ka18ydsmdi2cdy3hs39c22b39mbc4laykmj2x93lmbdp")))) + "09q8hlvgyn58hn8fmmj535hrwhqc1215czwzf7fhaqpa9zamj4w1")))) (build-system go-build-system) (arguments '(#:import-path "github.com/prometheus/client_golang/prometheus" - #:unpack-path "github.com/prometheus/client_golang")) + #:unpack-path "github.com/prometheus/client_golang" + #:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency (propagated-inputs `(("go-github-com-beorn7-perks-quantile" ,go-github-com-beorn7-perks-quantile) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index 01c68d2e35..d9971441c6 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -826,7 +826,7 @@ (define-public acme-client (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.14.0") + (version "2.14.1") (source (origin (method url-fetch) @@ -836,7 +836,7 @@ (define-public mbedtls-apache version "-apache.tgz")) (sha256 (base32 - "0bf8mf8w5dyikbwpckcxgdi0l086adk7pailqds10bkzrcg59y42")))) + "07f6xn77w5rd6fhq5s1dmna3czs4chk5j2s6wkj366cvikawp2gi")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 2f8e541d40..0502bb38c4 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -100,6 +100,8 @@ (define-public qemu (method url-fetch) (uri (string-append "https://download.qemu.org/qemu-" version ".tar.xz")) + (patches (search-patches "qemu-CVE-2018-16847.patch" + "qemu-CVE-2018-16867.patch")) (sha256 (base32 "04sp3f1gp4bdb913jf7fw761njaqp2l32wgipp1sapmxx17zcyld")))) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index 578cfca560..6caa486b84 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -364,45 +364,44 @@ (define-public vimb (license license:gpl3+))) (define-public next-gtk-webkit - (let ((commit "b8899341bbdefd0a33412608fbb0b1f92f818c65")) - (package - (name "next-gtk-webkit") - (version (git-version "1.0.0" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://source.atlas.engineer/public/next") - (commit commit))) - (sha256 - (base32 - "12jmf1b9qr85il9h15mb9vpsfh1wzcln9x9xpn4lps0kkccnpkz9")) - (file-name (git-file-name "next" version)))) - (build-system glib-or-gtk-build-system) - (arguments - `(#:tests? #f ; no tests - #:make-flags (list "gtk-webkit" - "CC=gcc" - (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (replace 'install - (lambda* (#:key (make-flags '()) #:allow-other-keys) - (apply invoke "make" "install-gtk-webkit" make-flags)))))) - (inputs - `(("glib-networking" ,glib-networking) - ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) - ("webkitgtk" ,webkitgtk))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://next.atlas.engineer") - (synopsis "Infinitely extensible web-browser (user interface only)") - (description "Next is a keyboard-oriented, extensible web-browser + (package + (name "next-gtk-webkit") + (version "1.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://source.atlas.engineer/public/next") + (commit version))) + (sha256 + (base32 + "00xi01r6gxlrv7xc2dhf4da30y0vng1snbdmc8d829qyn0chl55q")) + (file-name (git-file-name "next" version)))) + (build-system glib-or-gtk-build-system) + (arguments + `(#:tests? #f ; no tests + #:make-flags (list "gtk-webkit" + "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key (make-flags '()) #:allow-other-keys) + (apply invoke "make" "install-gtk-webkit" make-flags)))))) + (inputs + `(("glib-networking" ,glib-networking) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("webkitgtk" ,webkitgtk))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://next.atlas.engineer") + (synopsis "Infinitely extensible web-browser (user interface only)") + (description "Next is a keyboard-oriented, extensible web-browser inspired by Emacs and designed for power users. The application has familiar key-bindings, is fully configurable and extensible in Lisp, and has powerful features for productive professionals.") - (license license:bsd-3)))) + (license license:bsd-3))) (define-public sbcl-next (package @@ -428,8 +427,6 @@ (define actual-fasl (string-append (define expected-fasl (string-append lib "/lib/sbcl/next--system.fasl")) - (pk actual-fasl) - (pk expected-fasl) (copy-file actual-fasl expected-fasl) #t)) (add-after 'create-symlinks 'build-program @@ -445,6 +442,9 @@ (define expected-fasl (string-append ;; the illegal version will result in NIL in the .desktop ;; file. (lambda* (#:key outputs #:allow-other-keys) + (with-output-to-file "version" + (lambda _ + (format #t "~a" ,(package-version next-gtk-webkit)))) (invoke "make" "install-assets" (string-append "PREFIX=" (assoc-ref outputs "out")))))))) @@ -456,14 +456,12 @@ (define expected-fasl (string-append ("cl-strings" ,sbcl-cl-strings) ("cl-string-match" ,sbcl-cl-string-match) ("puri" ,sbcl-puri) - ("queues.simple-queue" ,sbcl-queues.simple-queue) ("sqlite" ,sbcl-cl-sqlite) ("parenscript" ,sbcl-parenscript) ("cl-json" ,sbcl-cl-json) ("swank" ,sbcl-slime-swank) ("cl-markup" ,sbcl-cl-markup) ("cl-css" ,sbcl-cl-css) - ("usocket" ,sbcl-usocket) ("bordeaux-threads" ,sbcl-bordeaux-threads) ("s-xml-rpc" ,sbcl-s-xml-rpc) ("unix-opts" ,sbcl-unix-opts))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 750b760362..caf56e4119 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -196,14 +196,14 @@ (define-public nginx (name "nginx") ;; Consider updating the nginx-documentation package if the nginx package is ;; updated. - (version "1.14.1") + (version "1.14.2") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "19542jxcjf4dvrqvgb5vr36mhbzcjrxc3v0xh451rm60610rf2dz")))) + "15wppq12qmq8acjs35xfj61czhf9cdc0drnl5mm8hcg3aihryb80")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) @@ -1281,12 +1281,14 @@ (define-public sassc #:tests? #f #:phases (modify-phases %standard-phases + (delete 'bootstrap) (delete 'configure) (add-after 'unpack 'unpack-libsass-and-set-path (lambda* (#:key inputs #:allow-other-keys) (invoke "tar" "xvf" (assoc-ref inputs "libsass")) (setenv "SASS_LIBSASS_PATH" - (string-append (getcwd) "/libsass-" ,version))))))) + (string-append (getcwd) "/libsass-" ,version)) + #t))))) (inputs `(("libsass" ,libsass))) (synopsis "CSS pre-processor") diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 3ac01133e5..fd4c3fea2c 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -39,6 +39,7 @@ (define-module (gnu packages xml) #:use-module (gnu packages) #:use-module (gnu packages autotools) + #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages gnupg) @@ -2152,3 +2153,24 @@ (define-public xmlrpc-c server using HTTP, and gets back the response as XML. This library provides a modular implementation of XML-RPC for C and C++.") (license (list license:psfl license:expat)))) + +(define-public python-xmltodict + (package + (name "python-xmltodict") + (version "0.11.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "xmltodict" version)) + (sha256 + (base32 + "1pxh4yjhvmxi1h6f92skv41g4kbsws3ams57150kzn18m907v3cg")))) + (build-system python-build-system) + (native-inputs + `(("python-coverage" ,python-coverage) + ("python-nose" ,python-nose))) + (home-page "https://github.com/martinblech/xmltodict") + (synopsis "Work with XML like you are working with JSON") + (description "This package provides a Python library to convert XML to +@code{OrderedDict}.") + (license license:expat))) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 228d3c5926..89e39f7690 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1499,26 +1499,27 @@ (define* (guix-build-accounts count #:key 1+ 1)) -(define (hydra-key-authorization key guix) - "Return a gexp with code to register KEY, a file containing a 'guix archive' -public key, with GUIX." +(define (hydra-key-authorization keys guix) + "Return a gexp with code to register KEYS, a list of files containing 'guix +archive' public keys, with GUIX." #~(unless (file-exists? "/etc/guix/acl") - (let ((pid (primitive-fork))) - (case pid - ((0) - (let* ((key #$key) - (port (open-file key "r0b"))) - (format #t "registering public key '~a'...~%" key) - (close-port (current-input-port)) - (dup port 0) - (execl #$(file-append guix "/bin/guix") - "guix" "archive" "--authorize") - (exit 1))) - (else - (let ((status (cdr (waitpid pid)))) - (unless (zero? status) - (format (current-error-port) "warning: \ -failed to register hydra.gnu.org public key: ~a~%" status)))))))) + (for-each (lambda (key) + (let ((pid (primitive-fork))) + (case pid + ((0) + (let* ((port (open-file key "r0b"))) + (format #t "registering public key '~a'...~%" key) + (close-port (current-input-port)) + (dup port 0) + (execl #$(file-append guix "/bin/guix") + "guix" "archive" "--authorize") + (primitive-exit 1))) + (else + (let ((status (cdr (waitpid pid)))) + (unless (zero? status) + (format (current-error-port) "warning: \ +failed to register public key '~a': ~a~%" key status))))))) + '(#$@keys)))) (define %default-authorized-guix-keys ;; List of authorized substitute keys. @@ -1630,10 +1631,9 @@ (define (guix-activation config) ;; otherwise call 'chown' here, but the problem is that on a COW overlayfs, ;; chown leads to an entire copy of the tree, which is a bad idea. - ;; Optionally authorize hydra.gnu.org's key. + ;; Optionally authorize substitute server keys. (if authorize-key? - #~(begin - #$@(map (cut hydra-key-authorization <> guix) keys)) + (hydra-key-authorization keys guix) #~#f)))) (define* (references-file item #:optional (name "references")) diff --git a/gnu/services/dns.scm b/gnu/services/dns.scm index 24ef886682..1ef754b360 100644 --- a/gnu/services/dns.scm +++ b/gnu/services/dns.scm @@ -684,7 +684,8 @@ (define (uglify-field-name field-name) (string-delete #\? (symbol->string field-name))) (define (serialize-field field-name val) - (format #t "~a=~a\n" (uglify-field-name field-name) val)) + (when (not (member field-name '(group secret-file user))) + (format #t "~a=~a\n" (uglify-field-name field-name) val))) (define (serialize-boolean field-name val) (serialize-field field-name (if val "yes" "no"))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 45b3a0c839..c345ba0626 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -250,7 +250,7 @@ (define bare-bones-os ;; The usual services. (syslog-service) - ;; The build daemon. Register the hydra.gnu.org key as trusted. + ;; The build daemon. Register the official server keys as trusted. ;; This allows the installation process to use substitutes by ;; default. (guix-service (guix-configuration (authorize-key? #t))) diff --git a/gnu/tests/desktop.scm b/gnu/tests/desktop.scm index be64c4e7e5..6aa22fd49b 100644 --- a/gnu/tests/desktop.scm +++ b/gnu/tests/desktop.scm @@ -50,7 +50,7 @@ (define marionette ;; Log in as root on tty1, and check what 'loginctl' returns. (test-equal "login on tty1" - '(("c1" "0" "root" "seat0" "/dev/tty1") ;session + '(("c1" "0" "root" "seat0" "tty1") ;session ("seat0") ;seat ("0" "root")) ;user diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 4764ffffde..72e5523942 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -149,7 +149,7 @@ (define %simple-installation-script guix build isc-dhcp parted --script /dev/vdb mklabel gpt \\ mkpart primary ext2 1M 3M \\ - mkpart primary ext2 3M 1G \\ + mkpart primary ext2 3M 1.2G \\ set 1 boot on \\ set 1 bios_grub on mkfs.ext4 -L my-root /dev/vdb2 @@ -174,7 +174,7 @@ (define %extlinux-gpt-installation-script export GUIX_BUILD_OPTIONS=--no-grafts guix build isc-dhcp parted --script /dev/vdb mklabel gpt \\ - mkpart ext2 1M 1G \\ + mkpart ext2 1M 1.2G \\ set 1 legacy_boot on mkfs.ext4 -L my-root -O '^64bit' /dev/vdb1 mount /dev/vdb1 /mnt @@ -377,7 +377,7 @@ (define %simple-installation-script-for-/dev/vda guix build isc-dhcp parted --script /dev/vda mklabel gpt \\ mkpart primary ext2 1M 3M \\ - mkpart primary ext2 3M 1G \\ + mkpart primary ext2 3M 1.2G \\ set 1 boot on \\ set 1 bios_grub on mkfs.ext4 -L my-root /dev/vda2 @@ -510,7 +510,7 @@ (define %separate-store-installation-script parted --script /dev/vdb mklabel gpt \\ mkpart primary ext2 1M 3M \\ mkpart primary ext2 3M 100M \\ - mkpart primary ext2 100M 1G \\ + mkpart primary ext2 100M 1.2G \\ set 1 boot on \\ set 1 bios_grub on mkfs.ext4 -L root-fs /dev/vdb2 @@ -676,7 +676,7 @@ (define %encrypted-root-installation-script ls -l /run/current-system/gc-roots parted --script /dev/vdb mklabel gpt \\ mkpart primary ext2 1M 3M \\ - mkpart primary ext2 3M 1G \\ + mkpart primary ext2 3M 1.2G \\ set 1 boot on \\ set 1 bios_grub on echo -n thepassphrase | \\ diff --git a/guix/grafts.scm b/guix/grafts.scm index 63f384555b..db9c6854fd 100644 --- a/guix/grafts.scm +++ b/guix/grafts.scm @@ -144,7 +144,12 @@ (define properties ,@(append (map add-label sources) (map add-label targets))) #:outputs outputs + + ;; Grafts are computationally cheap so no + ;; need to offload or substitute. #:local-build? #t + #:substitutable? #f + #:properties properties))))) (define (item->deriver store item) "Return two values: the derivation that led to ITEM (a store item), and the diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 5532c65eb6..0b7da3189e 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -65,7 +65,7 @@ (define-module (guix scripts build) (define %default-log-urls ;; Default base URLs for build logs. - '("http://hydra.gnu.org/log")) + '("http://ci.guix.info/log")) ;; XXX: The following procedure cannot be in (guix store) because of the ;; dependency on (guix derivations). diff --git a/guix/scripts/describe.scm b/guix/scripts/describe.scm index f21311af09..7d0ecb0a4d 100644 --- a/guix/scripts/describe.scm +++ b/guix/scripts/describe.scm @@ -89,7 +89,7 @@ (define (display-package-search-path fmt) (define (channel->sexp channel) `(channel - (name ,(channel-name channel)) + (name ',(channel-name channel)) (url ,(channel-url channel)) (commit ,(channel-commit channel)))) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 58fc64db1f..60e822b16b 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -278,7 +278,12 @@ (define* (check-for-package-update package updaters #:key warn?) (define (all-packages) "Return the list of all the distro's packages." - (fold-packages cons '() + (fold-packages (lambda (package result) + ;; Ignore deprecated packages. + (if (package-superseded package) + result + (cons package result))) + '() #:select? (const #t))) ;include hidden packages (define (list-dependents packages) diff --git a/guix/scripts/size.scm b/guix/scripts/size.scm index 344be40883..25218a2945 100644 --- a/guix/scripts/size.scm +++ b/guix/scripts/size.scm @@ -297,7 +297,7 @@ (define (guix-size . args) (leave (G_ "missing store item argument\n"))) ((files ..1) (leave-on-EPIPE - ;; Turn off grafts because (1) hydra.gnu.org does not serve grafted + ;; Turn off grafts because (1) substitute servers do not serve grafted ;; packages, and (2) they do not make any difference on the ;; resulting size. (parameterize ((%graft? #f)) diff --git a/guix/scripts/substitute.scm b/guix/scripts/substitute.scm index eb82224016..d6dc9b6448 100755 --- a/guix/scripts/substitute.scm +++ b/guix/scripts/substitute.scm @@ -1052,7 +1052,7 @@ (define %default-substitute-urls (#f ;; This can only happen when this script is not invoked by the ;; daemon. - '("http://hydra.gnu.org")))) + '("http://ci.guix.info")))) (define substitute-urls ;; List of substitute URLs. diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index d92ec7d5a5..8eb32c62bc 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -497,9 +497,10 @@ (define (reinstall-bootloader store number) (old-entries (map boot-parameters->menu-entry old-params))) (run-with-store store (mlet* %store-monad - ((bootcfg ((bootloader-configuration-file-generator bootloader) - bootloader-config entries - #:old-entries old-entries)) + ((bootcfg (lower-object + ((bootloader-configuration-file-generator bootloader) + bootloader-config entries + #:old-entries old-entries))) (bootcfg-file -> (bootloader-configuration-file bootloader)) (target -> "/") (drvs -> (list bootcfg))) diff --git a/guix/self.scm b/guix/self.scm index 8476c422ec..f2db3dbf52 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -428,6 +428,9 @@ (define (miscellaneous-files source) ,(file-append* source "/etc/substitutes/hydra.gnu.org.pub")) ("share/guix/berlin.guixsd.org.pub" + ,(file-append* source + "/etc/substitutes/berlin.guixsd.org.pub")) + ("share/guix/ci.guix.info.pub" ;alias ,(file-append* source "/etc/substitutes/berlin.guixsd.org.pub"))))) (define* (whole-package name modules dependencies diff --git a/guix/store.scm b/guix/store.scm index 9dc651b26c..509fd4def6 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -693,7 +693,7 @@ (define %default-substitute-urls (map (if (false-if-exception (resolve-interface '(gnutls))) (cut string-append "https://" <>) (cut string-append "http://" <>)) - '("mirror.hydra.gnu.org"))) + '("ci.guix.info"))) (define* (set-build-options server #:key keep-failed? keep-going? fallback? diff --git a/po/guix/fr.po b/po/guix/fr.po index 10de4127f2..7928b4f93d 100644 --- a/po/guix/fr.po +++ b/po/guix/fr.po @@ -18,7 +18,7 @@ msgstr "" "Project-Id-Version: guix 0.16.0\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" "POT-Creation-Date: 2018-11-28 15:05+0100\n" -"PO-Revision-Date: 2018-11-30 23:11+0100\n" +"PO-Revision-Date: 2018-12-03 19:23+0100\n" "Last-Translator: Julien Lepiller \n" "Language-Team: French \n" "Language: fr\n" @@ -3767,7 +3767,7 @@ msgstr[1] "application de ~a greffes pour ~a..." #: guix/status.scm:340 #, scheme-format msgid "building ~a..." -msgstr "Construction de « ~a »...~%" +msgstr "construction de ~a..." #: guix/status.scm:344 #, scheme-format