diff options
author | Marius Bakke <mbakke@fastmail.com> | 2018-12-09 00:18:32 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2018-12-09 00:18:32 +0100 |
commit | fbb7b04a8563fbb5dfbe7b3c7be171c8dec23442 (patch) | |
tree | 5508f13c24ef19dd018cd91fe287e8fa50eda7e4 | |
parent | 16735b0b632b5f05fc914836b8f345e3a9e601dd (diff) | |
parent | cec0c4e29c6efb337ae65d9c533cdbb2bf724430 (diff) | |
download | guix-fbb7b04a8563fbb5dfbe7b3c7be171c8dec23442.tar.gz |
Merge branch 'master' into staging
84 files changed, 1059 insertions, 638 deletions
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 <rekado@elephly.net> 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 (<https://bugs.gnu.org/31708>) +*** ‘guix import hackage’ now supports ‘custom-setup’ field + (<https://bugs.gnu.org/23961>) +*** ‘guix-daemon’ taken from ‘guix pull’ looks up ‘guix’ in the right place + (<https://bugs.gnu.org/32183>) +*** Try several file names when looking up kernel modules + (<https://bugs.gnu.org/31714>) +*** ‘file-system-*’ services are now always started after ‘udev’ + (<https://bugs.gnu.org/32313>) +*** Racket now ignores bytecode checksums for files in the store + (<https://bugs.gnu.org/30680>) +*** Grafting now updates CRCs in ‘.gnu_debuglink’ ELF sections + (<https://bugs.gnu.org/19973>) +*** UUID computation for VMs is now deterministic (<https://bugs.gnu.org/32652>) +*** ‘git-predicate’ from (guix git) now uses Guile-Git, which fixes corner cases + (<https://bugs.gnu.org/27925>) +*** (guix store database) registers each store item only once + (<https://bugs.gnu.org/32600>) +*** The File > Open dialog in LibreOffice no longer triggers a crash + (<https://bugs.gnu.org/30642>) +*** Account home directory is always honored (<https://bugs.gnu.org/33422>) + ** 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 <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; -;;; 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 <http://www.gnu.org/licenses/>. ;;; -;;; 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 @@ paragraph." (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 @@ paragraph." (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 <ludo@gnu.org> +;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -133,7 +133,8 @@ COMMIT." ;; 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 @@ GRUB configuration and OS-DRV as the stuff in it." "mnt=/tmp/root/mnt" "-path-list" "-" "--" + + ;; XXX: Add padding to avoid I/O errors on i686: + ;; <https://bugs.gnu.org/33639>. + "-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 @@ solve the shortest vector problem.") (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 @@ solve the shortest vector problem.") 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 @@ buffers, and audio capture.") (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 @@ and ALSA.") (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 @@ background file post-processing.") (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<long>(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 @@ external_libraries/yaml-cpp/include)")) ("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 @@ interface.") (define-public qsynth (package (name "qsynth") - (version "0.5.3") + (version "0.5.4") (source (origin (method url-fetch) @@ -2863,7 +2871,7 @@ interface.") "/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 @@ sequences).") "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 @@ once. This package provides tools to perform Drop-seq analyses.") (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 @@ once. This package provides tools to perform Drop-seq analyses.") "/pigx_rnaseq-" version ".tar.gz")) (sha256 (base32 - "16gla23rmziimqan7w494q0nr7vfbp42zzkrl9fracmr4k7b1kzr")))) + "05gn658zpj9xki5dbs728z9zxq1mcm25hkwr5vzwqxsfi15l5f2l")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; not supported @@ -12981,7 +12989,7 @@ once. This package provides tools to perform Drop-seq analyses.") #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 @@ across a broad spectrum of applications.") (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 @@ data units.") ;; 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 @@ single-member files which can't be decompressed in parallel.") (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 @@ circular variables).") "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 @@ transforms idiomatic python function calls to well-formed SQL queries.") (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 <mail@nicolasgoaziou.fr> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr> +;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,22 +23,29 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (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 @@ (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 @@ acronyms distributed as an info document.") 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 @@ Diction is used to identify wordy and commonly misused phrases in a 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 @@ work, such as sentence length and other readability measures.") (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 @@ a dubious expression is wrong, it will keep silent. 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 @@ and a Python library.") 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{<n><pl>}. 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-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 @@ #: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 @@ The client supports both dynamic and (near) static services, as well as MX 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 calibre (package (name "calibre") - (version "3.28.0") + (version "3.35.0") (source (origin (method url-fetch) @@ -84,7 +84,7 @@ 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 @@ These are distributed in separate files and can be used individually.") (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 @@ It should enable you to implement low-level X11 applications.") (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 @@ It should enable you to implement low-level X11 applications.") 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 @@ ;; 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 @@ #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 @@ parallel computing platforms. It also supports serial execution.") ("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 @@ simulations are also supported.") ("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 @@ Libraries with some extra bells and whistles.") (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 @@ Libraries with some extra bells and whistles.") "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 <brendan.tildesley@openmailbox.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -227,109 +228,69 @@ the freedesktop.org XDG Base Directory specification.") (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 - ;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00084.html>. - (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 - ;; <https://github.com/wingo/elogind/issues/8>. - ("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 @@ as required.") (define-public libfilezilla (package (name "libfilezilla") - (version "0.14.0") + (version "0.15.1") (source (origin (method url-fetch) @@ -178,11 +178,13 @@ as required.") 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 @@ output. (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 @@ Go. It also includes runtime support libraries for these languages.") (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 @@ Go. It also includes runtime support libraries for these languages.") (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 @@ #: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 @@ useful for C++.") (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 @@ useful for C++.") ("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 <rhelling@mykolab.com> ;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net> ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> +;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> ;;; ;;; This file is part of GNU Guix. ;;; @@ -95,6 +96,7 @@ #: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 @@ #: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 @@ configuration program to choose applications starting on login.") (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 - ;; <https://bugs.gnu.org/30756>). 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 @@ configuration program to choose applications starting on login.") ((".*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 @@ functionality and behavior.") (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 @@ functionality and behavior.") (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 @@ way of specifying command line options.") "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-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 @@ 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 @@ #: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-public quassel (package (name "quassel") - (version "0.12.5") + (version "0.13.0") (source (origin (method url-fetch) @@ -73,7 +74,7 @@ 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 @@ (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 @@ It has been modified to remove all non-free binary blobs.") ;; 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 @@ It has been modified to remove all non-free binary blobs.") #: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 @@ It has been modified to remove all non-free binary blobs.") #: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 @@ under OpenGL graphics workloads.") (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 @@ under OpenGL graphics workloads.") "-" 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 <slade@jnanam.net> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz> +;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -928,9 +929,9 @@ from other CLXes around the net.") `(("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 @@ from other CLXes around the net.") ("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 @@ for input. These design decisions reflect the growing popularity of 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 cl-stumpwm - (sbcl-package->cl-source-package sbcl-stumpwm)) +(define-public sbcl-stumpwm + (deprecated-package "sbcl-stumpwm" stumpwm)) -(define-public ecl-stumpwm - (let ((base (sbcl-package->ecl-package sbcl-stumpwm))) - (package - (inherit base) - (outputs '("out")) - (arguments '())))) +(define-public cl-stumpwm + (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 @@ multiple inspectors with independent history.") 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 @@ multiple inspectors with independent history.") (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 @@ sample proximities between pairs of cases.") `(("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 <post@thomasdanckaert.be> ;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> -;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> +;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> ;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com> @@ -2424,15 +2424,15 @@ tools and applications: (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 @@ can solve two kinds of problems: ;; 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 @@ Work may be performed both at the interactive command-line as well as via 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 @@ script files.") "qscintilla2_qt5")) #t)))))))) +(define-public qtoctave + (deprecated-package "qtoctave" octave)) + (define-public opencascade-oce (package (name "opencascade-oce") @@ -1767,6 +1770,7 @@ scientific applications modeled by partial differential equations.") (name "petsc-openmpi") (inputs `(("hdf5" ,hdf5-parallel-openmpi) + ("hypre" ,hypre-openmpi) ("metis" ,metis) ("mumps" ,mumps-openmpi) ("openmpi" ,openmpi) @@ -1776,7 +1780,8 @@ scientific applications modeled by partial differential equations.") (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 @@ in finite element programs.") `(("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 @@ compression format (.mpc files).") (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 @@ terminal using ncurses.") "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 @@ from the command line.") (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 @@ Songs can be searched by artist, name or even by a part of the song text.") (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 @@ Songs can be searched by artist, name or even by a part of the song text.") (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")) #t)) + (add-after 'unpack 'make-python3.7-compatible + (lambda _ + ;; See <https://github.com/beetbox/beets/issues/2978>. + (substitute* "beets/autotag/hooks.py" + (("re\\._pattern_type") "re.Pattern")) + #t)) (replace 'check (lambda _ (invoke "nosetests" "-v")))))) @@ -3298,7 +3305,8 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.") "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 @@ ;; 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 @@ (commit commit))) (sha256 (base32 - "0isagzccfxjqrc38wamknvh0jzv1pjh0wq5baj9jzwl07xkrc0hc")) + "0vzxrsfbr4phhy60m7pc6klb61whqc404c3x76ydj70xvi1xa0wz")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -316,6 +316,7 @@ the Nix package manager.") (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 <adrian@radbox.org> +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 <sys/types.h> - #include <unistd.h> -+#include <sys/mman.h> - #include <sys/mount.h> - #include <fcntl.h> - #include <sched.h> 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 <doko@138bc75d-0d04-0410-961f-82ee72b054a4> -Date: Thu, 7 Sep 2017 07:15:24 +0000 -Subject: [PATCH] 2017-09-07 Matthias Klose <doko@ubuntu.com> - - Backported from mainline - 2017-07-14 Jakub Jelinek <jakub@redhat.com> - - 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 <doko@ubuntu.com> -+ -+ Backported from mainline -+ 2017-07-14 Jakub Jelinek <jakub@redhat.com> -+ -+ 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<char> 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 <pbonzini@redhat.com> +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 <keith.busch@intel.com> +Cc: qemu-block@nongnu.org +Reported-by: Li Qiang <liq3ea@gmail.com> +Reviewed-by: Li Qiang <liq3ea@gmail.com> +Tested-by: Li Qiang <liq3ea@gmail.com> +Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> +Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> +Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> +Signed-off-by: Kevin Wolf <kwolf@redhat.com> +--- + 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 <kraxel@redhat.com> +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 <public@hansmi.ch> +Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> +Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> +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 index 6bbec67e75..6bbec67e75 100644 --- a/gnu/packages/patches/quilt-compat-getopt-fix-option-with-nondigit-param.patch +++ b/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 index cde2c8d41c..cde2c8d41c 100644 --- a/gnu/packages/patches/quilt-compat-getopt-fix-second-separator.patch +++ b/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 @@ listing the files modified by a patch.") (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 <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org> +;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. @@ -1001,7 +1001,7 @@ PDF. Indeed @command{pdfposter} was inspired by @command{poster}.") (define-public pdfgrep (package (name "pdfgrep") - (version "2.1.1") + (version "2.1.2") (source (origin (method url-fetch) @@ -1009,7 +1009,7 @@ PDF. Indeed @command{pdfposter} was inspired by @command{poster}.") 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 @@ data as produced by digital cameras.") (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 @@ cutting and pasting that code over and over.") (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 @@ addresses, and phone numbers.") (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 @@ #: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 @@ a native C extension.") (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<test-unit>\\.freeze, \\[\"~> 2\\.0\"\\]") + "%q<test-unit>.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 @@ #: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 @@ anywhere.") (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 @@ anywhere.") `(("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 @@ many event types, including timers, signals, and the classic file descriptor eve (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 @@ many event types, including timers, signals, and the classic file descriptor eve #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 @@ many event types, including timers, signals, and the classic file descriptor eve `(("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 @@ it a convenient format to store user input files.") (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 @@ it a convenient format to store user input files.") version ".tar.gz")) (sha256 (base32 - "010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0")))) + "0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969")))) (build-system gnu-build-system) (arguments `(#:phases @@ -324,6 +324,14 @@ it a convenient format to store user input files.") ;; 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 @@ user interface to the FEniCS core components and external libraries.") "'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 @@ ("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-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 @@ "/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: + ;; <https://bugs.gnu.org/33620>. + ;; 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 @@ #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 @@ (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 @@ using sh's word-splitting rules.") (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 @@ using sh's word-splitting rules.") (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 @@ server tools for Prometheus metrics.") (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 @@ server tools for Prometheus metrics.") (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 @@ then ported to the GNU / Linux environment.") (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 @@ then ported to the GNU / Linux environment.") 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 @@ (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 @@ driven and does not detract you from your daily work.") (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 @@ features for productive professionals.") (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 @@ features for productive professionals.") ;; 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 @@ features for productive professionals.") ("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 @@ Interface} specification.") (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 @@ minimum to provide high performance operation.") #: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 @@ It converts the procedure call into an XML document, sends it to a remote 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 @@ starting at FIRST-UID, and under GID." 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 @@ failed to register hydra.gnu.org public key: ~a~%" status)))))))) ;; 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 @@ (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 @@ You have been warned. Thanks for being so brave.\x1b[0m ;; 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 @@ ;; 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 @@ export GUIX_BUILD_OPTIONS=--no-grafts 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 @@ guix --version 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 @@ export GUIX_BUILD_OPTIONS=--no-grafts 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 @@ guix build isc-dhcp 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 @@ export GUIX_BUILD_OPTIONS=--no-grafts 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 @@ are not recursively applied to dependencies of DRV." ,@(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 %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 @@ Display information about the channels currently in use.\n")) (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 @@ the latest known version of ~a (~a)~%") (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 @@ Report the size of PACKAGE and its dependencies.\n")) (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 @@ found." (#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 @@ STORE is an open connection to the store." (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 @@ load path." ,(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 @@ encoding conversion errors." (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 <julien@lepiller.eu>\n" "Language-Team: French <traduc@traduc.org>\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 |