Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2018-12-09 00:18:32 +01:00
commit fbb7b04a85
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
84 changed files with 1059 additions and 638 deletions

View file

@ -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"

58
NEWS
View file

@ -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 mcrons 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

View file

@ -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)

View file

@ -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)

View file

@ -30,6 +30,7 @@
(ice-9 match)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 vlist)
(ice-9 pretty-print))
(define %header-rx
@ -98,31 +99,60 @@ (define (write-packages-added news-file old new)
(lambda (match port)
(let ((stars (match:substring match 1)))
(format port
"~a ~a new packages~%~%~a~%~%"
stars (length added)
(enumeration->paragraph added)))))))))
"~a ~a new packages~%~%"
stars (length added)))))))))
(define (write-packages-updates news-file old new)
"Write to NEWS-FILE the list of packages upgraded between OLD and NEW."
(let ((upgraded (filter-map (match-lambda
(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 (version>? new-version old-version)
(string-append package "@"
new-version)))
(and (string=? new-version
(latest package))
(version>? new-version old-version)
(cons package new-version)))
(_ #f))))
new)))
new))
(noteworthy (filter (match-lambda
((package . version)
(member package important)))
upgraded)))
(with-atomic-file-replacement news-file
(lambda (input output)
(rewrite-org-section input output
(make-regexp "^(\\*+) (.*) package updates")
(lambda (match port)
(let ((stars (match:substring match 1)))
(let ((stars (match:substring match 1))
(lst (map (match-lambda
((package . version)
(string-append package " "
version)))
noteworthy)))
(format port
"~a ~a package updates~%~%~a~%~%"
"~a ~a package updates~%~%Noteworthy updates:~%~a~%~%"
stars (length upgraded)
(enumeration->paragraph upgraded)))))))))
(enumeration->paragraph lst)))))))))
(define (main . args)
@ -138,6 +168,8 @@ (define (package-file version)
(let-values (((previous-version new-version)
(call-with-input-file news-file NEWS->versions)))
(format (current-error-port) "Updating NEWS for ~a to ~a...~%"
previous-version new-version)
(let* ((old (call-with-input-file (package-file previous-version)
read))
(new (fold-packages (lambda (p r)

View file

@ -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 @@ (define (main . args)
;; Add an indirect GC root for SOURCE in the current directory.
(false-if-exception (delete-file root))
(symlink source root)
(add-indirect-root store root)
(add-indirect-root store
(string-append (getcwd) "/" root))
(format #t "source code for commit ~a: ~a (GC root: ~a)~%"
commit source root)))))

View file

@ -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])

View file

@ -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

View file

@ -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.

View file

@ -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;;

View file

@ -0,0 +1 @@
berlin.guixsd.org.pub

View file

@ -477,6 +477,11 @@ (define items
"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"

View file

@ -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 \

View file

@ -139,7 +139,7 @@ (define-public fplll
(define-public pari-gp
(package
(name "pari-gp")
(version "2.11.0")
(version "2.11.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -147,7 +147,7 @@ (define-public pari-gp
version ".tar.gz"))
(sha256
(base32
"18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q"))))
"1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94"))))
(build-system gnu-build-system)
(native-inputs `(("texlive" ,texlive-tiny)))
(inputs `(("gmp" ,gmp)

View file

@ -2097,7 +2097,9 @@ (define-public patchage
(base32
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(arguments
`(#:tests? #f ; no check target
#:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
@ -2118,14 +2120,14 @@ (define-public patchage
(define-public qjackctl
(package
(name "qjackctl")
(version "0.5.4")
(version "0.5.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
"0qr71nb93gkz5q53nfcl5g168z173wc6s8w1yjs3rfn3m4hg0bcq"))))
"1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no check target
@ -2202,6 +2204,12 @@ (define-public supercollider
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build-with-boost-1.68
(lambda _
(substitute* "server/supernova/utilities/time_tag.hpp"
(("(time_duration offset = .+ microseconds\\().*" _ m)
(string-append m "static_cast<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 @@ (define-public supercollider
("eudev" ,eudev) ;for user interactions with devices
("avahi" ,avahi) ;zeroconf service discovery support
("icu4c" ,icu4c)
("boost" ,boost)
("boost" ,boost-cxx14)
("boost-sync" ,boost-sync)
("yaml-cpp" ,yaml-cpp)))
(home-page "https://github.com/supercollider/supercollider")
@ -2855,7 +2863,7 @@ (define-public portaudio
(define-public qsynth
(package
(name "qsynth")
(version "0.5.3")
(version "0.5.4")
(source
(origin
(method url-fetch)
@ -2863,7 +2871,7 @@ (define-public qsynth
"/qsynth-" version ".tar.gz"))
(sha256
(base32
"1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c"))))
"0kpq5fxr96wnii18ax780w1ivq8ksk892ac0bprn92iz0asfysrd"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" phase

View file

@ -4024,6 +4024,14 @@ (define-public mash
"src/mash/CommandScreen.cpp")
(("^#include \"kseq\\.h\"")
"#include \"htslib/kseq.h\""))
#t))
(add-after 'fix-includes 'use-c++14
(lambda _
;; capnproto 0.7 requires c++14 to build
(substitute* "configure.ac"
(("c\\+\\+11") "c++14"))
(substitute* "Makefile.in"
(("c\\+\\+11") "c++14"))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
@ -12957,7 +12965,7 @@ (define-public dropseq-tools
(define-public pigx-rnaseq
(package
(name "pigx-rnaseq")
(version "0.0.4")
(version "0.0.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
@ -12965,7 +12973,7 @@ (define-public pigx-rnaseq
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
"16gla23rmziimqan7w494q0nr7vfbp42zzkrl9fracmr4k7b1kzr"))))
"05gn658zpj9xki5dbs728z9zxq1mcm25hkwr5vzwqxsfi15l5f2l"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; not supported
@ -12981,7 +12989,7 @@ (define-public pigx-rnaseq
#t)))))
(inputs
`(("gzip" ,gzip)
("snakemake" ,snakemake-4)
("snakemake" ,snakemake)
("fastqc" ,fastqc)
("multiqc" ,multiqc)
("star" ,star)

View file

@ -123,6 +123,16 @@ (define-public boost
(license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt"
"Some components have other similar licences."))))
;; Some programs need Boost to be built with C++14 support.
(define-public boost-cxx14
(package (inherit boost)
(arguments
(substitute-keyword-arguments (package-arguments boost)
((#:make-flags flags)
`(append ,flags
'("cxxflags=-std=c++14")))))
(properties '((hidden? . #t)))))
(define-public boost-for-mysql
;; Older version for MySQL 5.7.23.
(package

View file

@ -128,7 +128,9 @@ (define-public khal
;; running in a TTY:
;; https://github.com/pimutils/khal/issues/683
"not test_printics_read_from_stdin "
"and not test_import_from_stdin")))))))
"and not test_import_from_stdin "
;; https://github.com/pimutils/khal/issues/825
"and not test_description_and_location_and_categories")))))))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-pytest-cov" ,python-pytest-cov)

View file

@ -2263,7 +2263,7 @@ (define-public innoextract
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; No tests available.
(inputs `(("boost" ,boost)
(inputs `(("boost" ,boost-cxx14)
("libiconv" ,libiconv)
("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config)))

View file

@ -7754,3 +7754,24 @@ (define-public r-ouch
"This package provides tools to fit and compare Ornstein-Uhlenbeck models
for evolution along a phylogenetic tree.")
(license license:gpl2+)))
(define-public r-fmsb
(package
(name "r-fmsb")
(version "0.6.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "fmsb" version))
(sha256
(base32
"1n29bnyp20pvpk2lsa9fblsj5w7amp14snc74pk5w3yr5y6rj0s5"))))
(build-system r-build-system)
(home-page "http://minato.sip21c.org/msb/")
(synopsis "Functions for medical statistics book with demographic data")
(description
"This package provides several utility functions for the book entitled
\"Practices of Medical and Health Data Analysis using R\" (Pearson Education
Japan, 2007) with Japanese demographic data and some demographic analysis
related functions.")
(license license:gpl2+)))

View file

@ -2869,6 +2869,14 @@ (define-public mongo-tools
(delete-file-recursively
"src/github.com/mongodb/mongo-tools/vendor")
#t))
(add-after 'delete-bundled-source-code 'patch-source
(lambda _
;; Remove a redundant argument that causes compilation to fail.
(substitute*
"src/github.com/mongodb/mongo-tools/mongorestore/filepath.go"
(("skipping restore of system.profile collection\", db)")
"skipping restore of system.profile collection\")"))
#t))
;; We don't need to install the source code for end-user applications
(delete 'install-source)
(replace 'build

View file

@ -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 @@ (define-public vera
(description
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
acronyms distributed as an info document.")
(license fdl1.3+)))
(license license:fdl1.3+)))
(define-public gcide
(package
@ -125,7 +133,7 @@ (define-public gcide
be used via the GNU Dico program or accessed online at
http://gcide.gnu.org.ua/")
(home-page "http://gcide.gnu.org.ua/")
(license gpl3+)))
(license license:gpl3+)))
(define-public diction
;; Not quite a dictionary, not quite a spell checker either…
@ -147,7 +155,7 @@ (define-public diction
body of text. Style instead analyzes surface aspects of a written
work, such as sentence length and other readability measures.")
(home-page "https://www.gnu.org/software/diction/")
(license gpl3+)))
(license license:gpl3+)))
(define-public ding
(package
@ -207,7 +215,7 @@ (define-public ding
(description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
(license gpl2+)))
(license license:gpl2+)))
(define-public grammalecte
(package
@ -234,7 +242,7 @@ (define-public grammalecte
The package provides the command line interface, along with a server
and a Python library.")
(license gpl3+)))
(license license:gpl3+)))
(define-public translate-shell
(package
@ -283,4 +291,87 @@ (define-public translate-shell
translator powered by Google Translate (default), Bing Translator,
Yandex.Translate and Apertium. It gives you easy access to one of these
translation engines from your terminal.")
(license public-domain)))
(license license:public-domain)))
(define-public lttoolbox
(package
(name "lttoolbox")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/apertium/lttoolbox/releases/download/v"
version "/lttoolbox-" version ".tar.gz"))
(sha256
(base32
"08y6pf1hl7prwygy1g8h6ndqww18pmb9f3r5988q0pcrp8w6xz6b"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://wiki.apertium.org/wiki/Lttoolbox")
(synopsis "Lexical processing toolbox")
(description "Lttoolbox is a toolbox for lexical processing, morphological
analysis and generation of words. Analysis is the process of splitting a
word (e.g. cats) into its lemma \"cat\" and the grammatical information
@code{<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/*

View file

@ -37,13 +37,13 @@ (define-module (gnu packages django)
(define-public python-django
(package
(name "python-django")
(version "1.11.15")
(version "1.11.17")
(source (origin
(method url-fetch)
(uri (pypi-uri "Django" version))
(sha256
(base32
"0h2sl02x2mxr3rl3dy750pzm5kvmx77116fys8rrgw164kc3b0mi"))))
"10xlpm21ll8mgz5py41sz9vrd603qv7an736agbqxkxlyikfx1x7"))))
(build-system python-build-system)
(arguments
'(#:modules ((srfi srfi-1)

View file

@ -58,6 +58,7 @@ (define-module (gnu packages dns)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial))
@ -727,3 +728,56 @@ (define-public ddclient
record and alternative name management. It caches the address, and only
attempts the update when it has changed.")
(license license:gpl2+)))
(define-public hnsd
;; There have been no releases yet, hence this commit.
(let ((revision "0")
(commit "895d89c25d316d18df9d374fe78aae3902bc89fb"))
(package
(name "hnsd")
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/handshake-org/hnsd")
(commit commit)))
(sha256
(base32
"0704y73sddn24jga9csw4gxyfb3pnrfnk0vdcph84n1h38490l16"))
(file-name (git-file-name name version))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete the bundled copy of libuv.
(delete-file-recursively "uv")
(substitute* "configure.ac"
(("AC_CONFIG_SUBDIRS\\(\\[uv\\]\\)") ""))
(substitute* "Makefile.am"
(("SUBDIRS = uv") "\n")
(("\\$\\(top_builddir\\)/uv/libuv.la") "-luv")
;; Make sure the 'hnsd' binary is installed and
;; dynamically-linked.
(("noinst_PROGRAMS") "bin_PROGRAMS")
(("hnsd_LDFLAGS = -static") ""))
;; This script tries to chdir to "uv" and doesn't do more
;; than "autoreconf" so remove it.
(delete-file "autogen.sh")
#t))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static"))) ;no need for libhsk.a
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(inputs
`(("unbound" ,unbound)
("libuv" ,libuv)))
(home-page "https://www.handshake.org/")
(synopsis "Resolver daemon for the Handshake naming protocol")
(description
"@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming
System (HNS) peer-to-peer network.")
(license license:expat))))

View file

@ -75,7 +75,7 @@ (define-public chmlib
(define-public calibre
(package
(name "calibre")
(version "3.28.0")
(version "3.35.0")
(source
(origin
(method url-fetch)
@ -84,7 +84,7 @@ (define-public calibre
version ".tar.xz"))
(sha256
(base32
"0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414"))
"1gd15wjz4fhcra6d44xiy3hwbyk0miwb66a1pq5yldyy0hlb271z"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))

View file

@ -2822,11 +2822,13 @@ (define-public emacs-irony-mode
(version "1.2.0")
(home-page "https://github.com/Sarcasm/irony-mode")
(source (origin
(method url-fetch)
(uri (string-append home-page "/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
(commit (string-append "v" version))))
(sha256
(base32
"1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99"))
"0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system)
(arguments '())
@ -6785,7 +6787,7 @@ (define-public emacs-xelb
(define-public emacs-exwm
(package
(name "emacs-exwm")
(version "0.20")
(version "0.21")
(synopsis "Emacs X window manager")
(source (origin
(method url-fetch)
@ -6793,7 +6795,7 @@ (define-public emacs-exwm
version ".tar"))
(sha256
(base32
"0nhhzbkm0mkj7sd1dy2c19cmn56gyaj9nl8kgy86h4fp63hjaz04"))))
"07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))

View file

@ -117,8 +117,8 @@ (define-public desmume
;; Building from recent Git because the official 5.0 release no longer builds.
(define-public dolphin-emu
(let ((commit "22ddd11573fd8d3e43a879804e7a64e50928435d")
(revision "4"))
(let ((commit "2c57e709d0f9e4010a4415de4192de887e37f187")
(revision "5"))
(package
(name "dolphin-emu")
(version (git-version "5.0" revision commit))
@ -144,7 +144,7 @@ (define-public dolphin-emu
#t))
(sha256
(base32
"01l6r8spaslqc73m3y7hfb2jx5a4848vdkman6x6w2arpb8bywzl"))))
"0aszfdfvs7yg4bmrd3qxwsiz7hx3mrj29f4aw86bz7h9j7hkh57f"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f

View file

@ -1709,7 +1709,7 @@ (define-public qucs
("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog)
("libtool" ,libtool)
("octave" ,octave)
("octave" ,octave-cli)
("qt4" ,qt-4)
("sed" ,sed)))
(home-page "http://qucs.sourceforge.net/")
@ -1839,7 +1839,7 @@ (define-public qucs-s
("libtool" ,libtool)
("mpi" ,openmpi)
("ngspice" ,ngspice)
("octave" ,octave)
("octave" ,octave-cli)
("qt4" ,qt-4)
("qucs" ,qucs)
("sed" ,sed)

View file

@ -275,7 +275,8 @@ (define-public enlightenment
(let ((xkeyboard (assoc-ref inputs "xkeyboard-config"))
(setxkbmap (assoc-ref inputs "setxkbmap"))
(utils (assoc-ref inputs "util-linux"))
(libc (assoc-ref inputs "libc")))
(libc (assoc-ref inputs "libc"))
(efl (assoc-ref inputs "efl")))
;; We need to patch the path to 'base.lst' to be able
;; to switch the keyboard layout in E.
(substitute* (list "src/modules/xkbswitch/e_mod_parse.c"
@ -290,6 +291,9 @@ (define-public enlightenment
"src/modules/conf_intl/e_int_config_intl.c"
"src/modules/wizard/page_010.c")
(("locale -a") (string-append libc "/bin/locale -a")))
(substitute* "src/bin/e_import_config_dialog.c"
(("%s/edje_cc -v %s %s %s\", e_prefix_bin_get\\(\\)")
(string-append efl "/bin/edje_cc -v %s %s %s\"")))
(substitute* "src/modules/everything/evry_plug_apps.c"
(("/usr/bin/") ""))
(substitute* "configure"

View file

@ -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 @@ (define-public libxdg-basedir
(define-public elogind
(package
(name "elogind")
(version "232.4")
(version "239.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/elogind/elogind/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
(patches (search-patches "elogind-glibc-2.27.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
(substitute* "Makefile.am"
;; Avoid validation against DTD because the DTDs for
;; both doctype 4.2 and 4.5 are needed.
(("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
#t))))
(build-system gnu-build-system)
"1gipnbnlz5k3gxv33wyhi2zd94hlfa9lm360p8z6w5i9s8dzhf52"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
#:configure-flags
(list (string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
"/lib/udev/rules.d")
;; Let elogind be its own cgroup controller, rather than relying
;; on systemd or OpenRC. By default, 'configure' makes an
;; incorrect guess.
"--with-cgroup-controller=elogind"
(string-append "--with-rootprefix="
(assoc-ref %outputs "out"))
(string-append "--with-rootlibexecdir="
(assoc-ref %outputs "out")
"/libexec/elogind")
;; These are needed to ensure that lto linking works.
"RANLIB=gcc-ranlib"
"AR=gcc-ar"
"NM=gcc-nm")
#:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
`(#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(sysconf (string-append out "/etc"))
(libexec (string-append out "/libexec/elogind"))
(dbuspolicy (string-append out "/etc/dbus-1/system.d"))
(shepherd (assoc-ref %build-inputs "shepherd"))
(halt-path (string-append shepherd "/sbin/halt"))
(kexec-path "") ;not available in Guix yet
(poweroff-path (string-append shepherd "/sbin/shutdown"))
(reboot-path (string-append shepherd "/sbin/reboot")))
(list
(string-append "-Drootprefix=" out)
(string-append "-Dsysconfdir=" sysconf)
(string-append "-Drootlibexecdir=" libexec)
(string-append "-Ddbuspolicydir=" dbuspolicy)
(string-append "-Dc_link_args=-Wl,-rpath=" libexec)
(string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
(string-append "-Dhalt-path=" halt-path)
(string-append "-Dkexec-path=" kexec-path)
(string-append "-Dpoweroff-path=" poweroff-path)
(string-append "-Dreboot-path=" reboot-path)
"-Dcgroup-controller=elogind"
;; Disable some tests.
"-Dtests=false"
"-Dslow-tests=false"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-locale-header
(add-after 'unpack 'fix-pkttyagent-path
(lambda _
;; Fix compilation with glibc >= 2.26, which removed xlocale.h.
;; This can be removed for elogind 234.
(substitute* "src/basic/parse-util.c"
(("xlocale\\.h") "locale.h"))
(substitute* "meson.build"
(("join_paths\\(bindir, 'pkttyagent'\\)")
"'\"/run/current-system/profile/bin/pkttyagent\"'"))
#t))
(replace 'bootstrap
(add-after 'unpack 'change-pid-file-path
(lambda _
(invoke "intltoolize" "--force" "--automake")
(invoke "autoreconf" "-vif")))
(add-before 'build 'fix-service-file
(lambda* (#:key outputs #:allow-other-keys)
;; Fix the file name of the 'elogind' binary in the D-Bus
;; '.service' file.
(substitute* "src/login/org.freedesktop.login1.service"
(("^Exec=.*")
(string-append "Exec=" (assoc-ref %outputs "out")
"/libexec/elogind/elogind\n")))
#t))
(add-after 'install 'add-libcap-to-search-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Add a missing '-L' for libcap in libelogind.la. See
;; <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

View file

@ -170,7 +170,7 @@ (define-public weex
(define-public libfilezilla
(package
(name "libfilezilla")
(version "0.14.0")
(version "0.15.1")
(source
(origin
(method url-fetch)
@ -178,11 +178,13 @@ (define-public libfilezilla
name "/" name "-" version ".tar.bz2"))
(sha256
(base32
"15cfz98asypf9rfybv4c6kx8nk3wak7qlm1azldc0gd1nqm4xqvz"))))
"17zlhw5b1a7jzh50cbpy2is3sps5lnzch5yf9qm7mwrviw9c8j10"))))
(build-system gnu-build-system)
(native-inputs
`(("cppunit" ,cppunit)
("pkg-config" ,pkg-config)))
(inputs
`(("nettle" ,nettle)))
(home-page "https://lib.filezilla-project.org")
(synopsis "Cross-platform C++ library used by Filezilla client")
(description
@ -207,14 +209,14 @@ (define-public libfilezilla
(define-public filezilla
(package
(name "filezilla")
(version "3.37.4")
(version "3.39.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.filezilla-project.org/client/"
"FileZilla_" version "_src.tar.bz2"))
(sha256
(base32 "169wy7ilsh518mcinkjmr6m0kzxbzchmc9mivf5c9b4zp1w4gg3i"))))
(base32 "0ks42q6mi3qx85zpa98izkyficv2bdh3jnvmy97xjnjyfy9mwlgv"))))
(build-system gnu-build-system)
(arguments
;; Don't let filezilla phone home to check for updates.

View file

@ -461,34 +461,18 @@ (define-public gcc-5
(define-public gcc-6
(package
(inherit gcc-5)
(version "6.4.0")
(version "6.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5"))
(patches (search-patches "gcc-libsanitizer-fix.patch"
"gcc-libsanitizer-ustat.patch"
"gcc-strmov-store-file-names.patch"
"0i89fksfp6wr1xg9l8296aslcymv2idn60ip31wr9s4pwin7kwby"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-6-source-date-epoch-1.patch"
"gcc-6-source-date-epoch-2.patch"
"gcc-5.0-libvtv-runpath.patch"))
(modules '((guix build utils)))
;; This is required for building with glibc-2.26.
;; This can be removed when gcc-6.5.0 is released.
;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
(snippet
'(begin
(for-each
(lambda (dir)
(substitute* (string-append "libgcc/config/"
dir "/linux-unwind.h")
(("struct ucontext") "ucontext_t")))
'("aarch64" "alpha" "bfin" "i386" "m68k" "nios2"
"pa" "sh" "tilepro" "xtensa"))
#t))))
"gcc-5.0-libvtv-runpath.patch"))))
(inputs
`(("isl" ,isl)
,@(package-inputs gcc-4.7)))
@ -506,16 +490,15 @@ (define-public gcc-6
(define-public gcc-7
(package
(inherit gcc-6)
(version "7.3.0")
(version "7.4.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"0p71bij6bfhzyrs8676a8jmpjsfz392s2rg862sdnsk30jpacb43"))
"0lgy170b0pp60j9cczqkmaqyjjb584vfamj4c30swd7k0j6y5pgd"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-libsanitizer-ustat.patch"
"gcc-5.0-libvtv-runpath.patch"))))
(description
"GCC is the GNU Compiler Collection. It provides compiler front-ends

View file

@ -36,7 +36,6 @@ (define-module (gnu packages glib)
#:use-module (gnu packages enlightenment)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gperf)
@ -621,11 +620,7 @@ (define-public python-pygobject
(delete-file "tests/test_ossig.py")
#t)))))
(native-inputs
`(;; Use gcc-7 to work around an internal compiler error that happens
;; when using gcc-5.5.0. FIXME: Try removing this when the default
;; compiler is no longer gcc-5.5.0.
("gcc" ,gcc-7)
("which" ,which)
`(("which" ,which)
;for tests: dbus-run-session and glib-compile-schemas
("dbus" ,dbus)
("glib-bin" ,glib "bin")
@ -656,11 +651,7 @@ (define-public python2-pygobject
("python-pycairo" ,python2-pycairo)
("gobject-introspection" ,gobject-introspection)))
(native-inputs
`(;; Use gcc-7 to work around an internal compiler error that happens
;; when using gcc-5.5.0. FIXME: Try removing this when the default
;; compiler is no longer gcc-5.5.0.
("gcc" ,gcc-7)
("which" ,which)
`(("which" ,which)
;for tests: dbus-run-session and glib-compile-schemas
("dbus" ,dbus)
("glib-bin" ,glib "bin")

View file

@ -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 @@ (define-module (gnu packages gnome)
#:use-module (gnu packages polkit)
#:use-module (gnu packages popt)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages inkscape)
#:use-module (gnu packages ibus)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libcanberra)
@ -151,6 +153,7 @@ (define-module (gnu packages gnome)
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages vpn)
#:use-module (gnu packages web)
#:use-module (gnu packages xorg)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
@ -4629,14 +4632,6 @@ (define-public gjs
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'work-around-gcc-7-include-path-issue
;; FIXME: Work around a problem with gcc-7 includes (see
;; <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 @@ (define-public gjs
((".*expect\\(datestr\\).*") ""))
#t)))))
(native-inputs
`(("gcc" ,gcc-7) ; FIXME: Work around an internal compiler error in
; gcc-5. Try removing this when our default compiler is
; no longer gcc-5.5.0, and also remove the
; 'work-around-gcc-7-include-path-issue' phase above.
("glib:bin" ,glib "bin") ; for glib-compile-resources
`(("glib:bin" ,glib "bin") ; for glib-compile-resources
("pkg-config" ,pkg-config)
("xmllint" ,libxml2)
;; For testing
@ -6434,15 +6425,16 @@ (define-public gnome-shell-extensions
(define-public arc-theme
(package
(name "arc-theme")
(version "20170302")
(version "20181022")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/horst3180/arc-theme"
"/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/NicoHood/arc-theme.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw"))))
"08951dk1irfadwpr3p323a4fprmxg53rk2r2niwq3v62ryhi3663"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@ -6453,16 +6445,20 @@ (define-public arc-theme
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)))
(inputs
`(("gtk+" ,gtk+)))
("glib" ,glib "bin") ; for glib-compile-resources
("gnome-shell" ,gnome-shell)
("gtk+" ,gtk+)
("inkscape" ,inkscape)
("optipng" ,optipng)
("pkg-config" ,pkg-config)
("sassc" ,sassc)))
(synopsis "A flat GTK+ theme with transparent elements")
(description "Arc is a flat theme with transparent elements for GTK 3, GTK
2, and GNOME Shell which supports GTK 3 and GTK 2 based desktop environments
like GNOME, Unity, Budgie, Pantheon, XFCE, Mate, etc.")
(home-page "https://github.com/horst3180/arc-theme")
;; No "or later" language found.
(license license:gpl3)))
(license license:gpl3+)))
(define-public faba-icon-theme
(package

View file

@ -632,7 +632,16 @@ (define-public go-gopkg.in-tomb.v2
"1sv15sri99szkdz1bkh0ir46w9n8prrwx5hfai13nrhkawfyfy10"))))
(build-system go-build-system)
(arguments
'(#:import-path "gopkg.in/tomb.v2"))
'(#:import-path "gopkg.in/tomb.v2"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-source
(lambda _
;; Add a missing % to fix the compilation of this test
(substitute* "src/gopkg.in/tomb.v2/tomb_test.go"
(("t.Fatalf\\(`Killf\\(\"BO%s")
"t.Fatalf(`Killf(\"BO%%s"))
#t)))))
(synopsis "@code{tomb} handles clean goroutine tracking and termination")
(description
"The @code{tomb} package handles clean goroutine tracking and

View file

@ -61,7 +61,7 @@ (define-module (gnu packages image-viewers)
(define-public feh
(package
(name "feh")
(version "3.1")
(version "3.1.1")
(home-page "https://feh.finalrewind.org/")
(source (origin
(method url-fetch)
@ -69,7 +69,7 @@ (define-public feh
name "-" version ".tar.bz2"))
(sha256
(base32
"01rrl009m1kxwvqqr98y4wk8m1al18fkxwv8cds2k7n4qiv6xdb7"))))
"1sy8z6rv5sy1bhk3846hgfdy96wdi874yr2fnxfprks46qp29l31"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))

View file

@ -30,6 +30,7 @@ (define-module (gnu packages irc)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autogen)
#:use-module (gnu packages autotools)
@ -65,7 +66,7 @@ (define-module (gnu packages irc)
(define-public quassel
(package
(name "quassel")
(version "0.12.5")
(version "0.13.0")
(source
(origin
(method url-fetch)
@ -73,7 +74,7 @@ (define-public quassel
version ".tar.bz2"))
(sha256
(base32
"1qkl3sb4ijx4k17m0c42j2p5bc4jymypwhmplm942rbrzm6mg50q"))
"0xp9mppxl63qzgsdyprmblvfrj0bb9z57kfc088gvcavvq1210nr"))
(modules '((guix build utils)))
;; We don't want to install the bundled scripts.
(snippet
@ -86,21 +87,31 @@ (define-public quassel
(arguments
;; The three binaries are not mutually exlusive, and are all built
;; by default.
'(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 5.2 MiB
;;"-DWANT_CORE=OFF" ; 2.4 MiB
;;"-DWANT_MONO=OFF" ; 6.4 MiB
"-DUSE_QT5=ON" ; default is qt4
'(#:configure-flags '(;;"-DWANT_QTCLIENT=OFF" ; 6.1 MiB
;;"-DWANT_CORE=OFF" ; 3.0 MiB
;;"-DWANT_MONO=OFF" ; 7.6 MiB
"-DWITH_KDE=OFF" ; no to kde integration ...
"-DWITH_OXYGEN=ON" ; therefore we install bundled icons
"-DWITH_WEBKIT=OFF") ; we don't depend on qtwebkit
"-DWITH_BUNDLED_ICONS=ON" ; so we install bundled icons
"-DWITH_OXYGEN_ICONS=ON" ; also the oxygen ones
"-DWITH_WEBENGINE=OFF") ; we don't depend on qtwebengine
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-inxi-reference
(lambda* (#:key inputs #:allow-other-keys)
(let ((inxi (string-append (assoc-ref inputs "inxi") "/bin/inxi")))
(substitute* "src/common/aliasmanager.cpp"
((" inxi ") (string-append " " inxi " ")))
#t))))
#:tests? #f)) ; no test target
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(inputs
`(("qca" ,qca)
`(("inxi" ,inxi-minimal)
("qca" ,qca)
("qtbase" ,qtbase)
("qtmultimedia" ,qtmultimedia)
("qtscript" ,qtscript)
("snorenotify" ,snorenotify)
("zlib" ,zlib)))

View file

@ -400,8 +400,8 @@ (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "a
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.19.6")
(define %linux-libre-hash "1ybi878li06algbv2pdwn81jlh038pfvzz3axn1bzic9p4c9rjhf")
(define %linux-libre-version "4.19.7")
(define %linux-libre-hash "1fj038hz6b7g9gdiw9kggydryf8dvrdsfn81snns9bn5b01yp67n")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@ -423,8 +423,8 @@ (define-public linux-libre
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.85")
(define %linux-libre-4.14-hash "1jh11y6jakkp3xlq9jbf2myfjzbccjx1iyhd6ny7r9cjkv6r5i5i")
(define %linux-libre-4.14-version "4.14.86")
(define %linux-libre-4.14-hash "1w98drq4ns2awwrbbkd6vy9fh219w8bfjfni5zndfycs5yh5hg65")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -433,8 +433,8 @@ (define-public linux-libre-4.14
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.142"
"0a7c41m41p83byn68cfixq460sy73ahwcx9y3xm6cv05grqza8zh"
(make-linux-libre "4.9.143"
"0vg6hs7vc09riyki8lyy73p3ghl6k9q4xfv7dals4s9q61i6b6d6"
%intel-compatible-systems
#:configuration-file kernel-config))
@ -4055,7 +4055,7 @@ (define-public radeontop
(define-public efivar
(package
(name "efivar")
(version "35")
(version "37")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rhboot/" name
@ -4063,7 +4063,7 @@ (define-public efivar
"-" version ".tar.bz2"))
(sha256
(base32
"153k2ifyl4giz5fkryxhz8z621diqjy7v25hfga4z94rs32ks0qy"))))
"17vvfivhsrszh7q39b6npjsrhrhsjf1cmmcpp3xrh6wh7ywzwrrw"))))
(build-system gnu-build-system)
(arguments
`(;; Tests require a UEFI system and is not detected in the chroot.

View file

@ -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 @@ (define-public sbcl-cl-ppcre-unicode
`(("sbcl-cl-ppcre" ,sbcl-cl-ppcre)
("sbcl-cl-unicode" ,sbcl-cl-unicode)))))
(define-public sbcl-stumpwm
(define-public stumpwm
(package
(name "sbcl-stumpwm")
(name "stumpwm")
(version "18.05")
(source (origin
(method url-fetch)
@ -946,7 +947,8 @@ (define-public sbcl-stumpwm
("alexandria" ,sbcl-alexandria)))
(outputs '("out" "lib"))
(arguments
'(#:phases
'(#:asd-system-name "stumpwm"
#:phases
(modify-phases %standard-phases
(add-after 'create-symlinks 'build-program
(lambda* (#:key outputs #:allow-other-keys)
@ -979,17 +981,15 @@ (define-public sbcl-stumpwm
productive, customizable lisp based systems.")
(home-page "https://github.com/stumpwm/stumpwm")
(license license:gpl2+)
(properties `((ecl-variant . ,(delay ecl-stumpwm))))))
(properties `((cl-source-variant . ,(delay cl-stumpwm))))))
(define-public sbcl-stumpwm
(deprecated-package "sbcl-stumpwm" stumpwm))
(define-public cl-stumpwm
(sbcl-package->cl-source-package sbcl-stumpwm))
(define-public ecl-stumpwm
(let ((base (sbcl-package->ecl-package sbcl-stumpwm)))
(package
(inherit base)
(outputs '("out"))
(arguments '()))))
(inherit (sbcl-package->cl-source-package stumpwm))
(name "cl-stumpwm")))
;; The slynk that users expect to install includes all of slynk's contrib
;; modules. Therefore, we build the base module and all contribs first; then
@ -1268,16 +1268,16 @@ (define-public ecl-slynk
paths)
#t)))))))
(define-public sbcl-stumpwm+slynk
(define-public stumpwm+slynk
(package
(inherit sbcl-stumpwm)
(name "sbcl-stumpwm-with-slynk")
(inherit stumpwm)
(name "stumpwm-with-slynk")
(outputs '("out"))
(inputs
`(("stumpwm" ,sbcl-stumpwm "lib")
`(("stumpwm" ,stumpwm "lib")
("slynk" ,sbcl-slynk)))
(arguments
(substitute-keyword-arguments (package-arguments sbcl-stumpwm)
(substitute-keyword-arguments (package-arguments stumpwm)
((#:phases phases)
`(modify-phases ,phases
(replace 'build-program
@ -1301,6 +1301,9 @@ (define-public sbcl-stumpwm+slynk
(delete 'cleanup)
(delete 'create-symlinks)))))))
(define-public sbcl-stumpwm+slynk
(deprecated-package "sbcl-stumpwm-with-slynk" stumpwm+slynk))
(define-public sbcl-parse-js
(let ((commit "fbadc6029bec7039602abfc06c73bb52970998f6")
(revision "1"))

View file

@ -495,7 +495,7 @@ (define (delete-ifdefs file)
`(("python" ,python)
("numpy" ,python-numpy)
("r-minimal" ,r-minimal)
("octave" ,octave)
("octave" ,octave-cli)
("swig" ,swig)
("eigen" ,eigen)
("hdf5" ,hdf5)

View file

@ -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 @@ (define-public alpine
(define-public balsa
(package
(name "balsa")
(version "2.5.3")
(version "2.5.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://pawsa.fedorapeople.org/balsa/balsa-"
version ".tar.bz2"))
(uri (string-append "https://pawsa.fedorapeople.org/balsa/"
name "-" version ".tar.bz2"))
(sha256
(base32
"15jkwp3ylbwd8iha4dr37z1xb6mkk31ym90vv3h2a5xk2rmym5mq"))))
"17k6wcsl8gki7cskr3hhmfj6n54rha8ca3b6fzd8blsl5shsankx"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View file

@ -1413,9 +1413,9 @@ (define-public ceres
;; For a fully featured Octave, users are strongly recommended also to install
;; the following packages: less, ghostscript, gnuplot.
(define-public octave
(define-public octave-cli
(package
(name "octave")
(name "octave-cli")
(version "4.4.1")
(source
(origin
@ -1497,21 +1497,21 @@ (define-public octave
script files.")
(license license:gpl3+)))
(define-public qtoctave
(package (inherit octave)
(name "qtoctave")
(define-public octave
(package (inherit octave-cli)
(name "octave")
(source (origin
(inherit (package-source octave))))
(inherit (package-source octave-cli))))
(inputs
`(("qscintilla" ,qscintilla)
("qt" ,qtbase)
,@(package-inputs octave)))
,@(package-inputs octave-cli)))
(native-inputs
`(("qttools" , qttools) ;for lrelease
("texlive" ,texlive) ;for texi2dvi
,@(package-native-inputs octave)))
,@(package-native-inputs octave-cli)))
(arguments
(substitute-keyword-arguments (package-arguments octave)
(substitute-keyword-arguments (package-arguments octave-cli)
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'patch-qscintilla-library-name
@ -1525,6 +1525,9 @@ (define-public qtoctave
"qscintilla2_qt5"))
#t))))))))
(define-public qtoctave
(deprecated-package "qtoctave" octave))
(define-public opencascade-oce
(package
(name "opencascade-oce")
@ -1767,6 +1770,7 @@ (define-public petsc-openmpi
(name "petsc-openmpi")
(inputs
`(("hdf5" ,hdf5-parallel-openmpi)
("hypre" ,hypre-openmpi)
("metis" ,metis)
("mumps" ,mumps-openmpi)
("openmpi" ,openmpi)
@ -1776,7 +1780,8 @@ (define-public petsc-openmpi
(arguments
(substitute-keyword-arguments (package-arguments petsc)
((#:configure-flags cf)
``("--with-mpiexec=mpirun"
``("--with-hypre=1"
"--with-mpiexec=mpirun"
"--with-metis=1"
"--with-mumps=1"
"--with-scalapack=1"
@ -3578,7 +3583,7 @@ (define-public flann
`(("unzip" ,unzip)))
(inputs
`(("hdf5" ,hdf5)
("octave" ,octave)
("octave" ,octave-cli)
("python" ,python-2) ; print syntax
;; ("python2-numpy" ,python2-numpy) ; only required for the tests
("zlib" ,zlib)))

View file

@ -470,13 +470,13 @@ (define-public mpc123
(define-public eyed3
(package
(name "eyed3")
(version "0.8.7")
(version "0.8.8")
(source (origin
(method url-fetch)
(uri (pypi-uri "eyeD3" version))
(sha256
(base32
"1fzqy6hkg73xvpapdjrdzr3r0fsamnplvjfl7dz7rzgzx2r4x4pg"))))
"197lszkyzm377ym5r0ssryfsiz20yjx8y4rii3wc81n92d1qzlaq"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; the required test data contains copyrighted material.

View file

@ -244,7 +244,7 @@ (define-public ncmpcpp
"0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"))))
(build-system gnu-build-system)
(inputs `(("libmpdclient" ,libmpdclient)
("boost" ,boost)
("boost" ,boost-cxx14)
("readline" ,readline)
("ncurses" ,ncurses)
("taglib" ,taglib)

View file

@ -2247,14 +2247,14 @@ (define-public aj-snapshot
(define-public qtractor
(package
(name "qtractor")
(version "0.9.2")
(version "0.9.3")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
"1j3rpvdkw9rw48j4zyfn6rprp01csy4rl6zckcjyx0vh7vaycchr"))))
"1010gvkzdzdk39g1g6wx2j19ls0kdl6l9q51xzk2qik7h2fwxl71"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@ -2688,13 +2688,14 @@ (define-public instantmusic
(define-public beets
(package
(name "beets")
(version "1.4.6")
(version "1.4.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "beets" version))
(patches (search-patches "beets-python-3.7-fix.patch"))
(sha256
(base32
"0l2vfrknwcsm6bn83m7476qrz45qwgxcb5k0h7kn96kr70irn1v2"))))
"0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -2703,6 +2704,12 @@ (define-public beets
(lambda _
(setenv "HOME" (string-append (getcwd) "/tmp"))
#t))
(add-after 'unpack 'make-python3.7-compatible
(lambda _
;; See <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 @@ (define-public ingen
"1wg47vjw9djn99gbnsl2bcwj4xhdid61m4wrbn2nlp797flj91ic"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
`(#:python ,python-2
#:tests? #f ; no "check" target
#:configure-flags (list "--no-webkit")
#:phases
(modify-phases %standard-phases

View file

@ -101,9 +101,9 @@ (define-public guix
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.15.0")
(commit "71a78ba65b00ad1f27086a3dcdded7dc4326ade1")
(revision 8))
(let ((version "0.16.0")
(commit "6ddc63e599a26c302f74d0622f67cfd987f0dc5f")
(revision 3))
(package
(name "guix")
@ -119,7 +119,7 @@ (define-public guix
(commit commit)))
(sha256
(base32
"0isagzccfxjqrc38wamknvh0jzv1pjh0wq5baj9jzwl07xkrc0hc"))
"0vzxrsfbr4phhy60m7pc6klb61whqc404c3x76ydj70xvi1xa0wz"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -316,6 +316,7 @@ (define-public guix-daemon
(inputs
`(("gnutls" ,gnutls)
("guile-git" ,guile-git)
("guile-json" ,guile-json)
("guile-gcrypt" ,guile-gcrypt)
,@(fold alist-delete (package-inputs guix)
'("boot-guile" "boot-guile/i686" "util-linux"))))

View file

@ -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`.

View file

@ -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>

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -102,8 +102,8 @@ (define-public quilt
(base32
"06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn"))
(patches (search-patches "quilt-test-fix-regex.patch"
"quilt-compat-getopt-fix-second-separator.patch"
"quilt-compat-getopt-fix-option-with-nondigit-param.patch"))))
"quilt-getopt-second-separator.patch"
"quilt-getopt-nondigit-param.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gnu-gettext)))

View file

@ -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 @@ (define-public pdfposter
(define-public pdfgrep
(package
(name "pdfgrep")
(version "2.1.1")
(version "2.1.2")
(source
(origin
(method url-fetch)
@ -1009,7 +1009,7 @@ (define-public pdfgrep
name "-" version ".tar.gz"))
(sha256
(base32
"02qcl5kmr5qzjfc99qpbpfb1890bxlrq3r208gnding51zrmb09c"))))
"1fia10djcxxl7n9jw2prargw4yzbykk6izig2443ycj9syhxrwqf"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View file

@ -131,14 +131,14 @@ (define-public libexif
(define-public libgphoto2
(package
(name "libgphoto2")
(version "2.5.20")
(version "2.5.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/gphoto/libgphoto/"
version "/libgphoto2-" version ".tar.bz2"))
(sha256
(base32
"03wbwsb4v7yay8g5ni7pzmkbrh7qnqx977bddjpxsp9f1qag03z1"))))
"1ccb8idjkv19p9zxg6hh8y6vbgs8flpnh550lq6a8cmga8d2nmy5"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs

View file

@ -2100,13 +2100,13 @@ (define-public python2-kitchen
(define-public python-unidecode
(package
(name "python-unidecode")
(version "0.04.21")
(version "1.0.23")
(source (origin
(method url-fetch)
(uri (pypi-uri "Unidecode" version))
(sha256
(base32
"0lfhp9c5xrbpjvbpr12ji52g1lx04404bzzdg6pvabhzisw6l2i8"))))
"1ysjbr3nqfqj97h8zyj3v9pya413vkv7a1mzml80w37xx15kb1cb"))))
(build-system python-build-system)
(home-page "https://pypi.python.org/pypi/Unidecode")
(synopsis "ASCII transliterations of Unicode text")
@ -9759,13 +9759,13 @@ (define-public python2-faker
(define-public python-pyaml
(package
(name "python-pyaml")
(version "17.7.2")
(version "18.11.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyaml" version))
(sha256
(base32
"132grrw0ajq4nrappi3ldbkb952k7yn9b6c7csi2rmvzm1g6ppp2"))))
"0fi604ix8lbpj1266q7js6szm771saprdzzcdwmj43wy83694qmr"))))
(build-system python-build-system)
(native-inputs
`(("python-unidecode" ,python-unidecode)))

View file

@ -23,21 +23,22 @@ (define-module (gnu packages regex)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix utils))
(define-public re2
(package
(name "re2")
(version "2018-10-01")
(version "2018-12-01")
(home-page "https://github.com/google/re2")
(source (origin
(method url-fetch)
(uri (string-append home-page "/archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"10fsxsj3yip34hp2zl5rw8h2x2lgnp83fwrh7m0qfd9m99qrf4x3"))))
"181fq0idwzgfmmpyhmqdxi37rbynzgf1b8s99aaka9kqs9ffwj22"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)

View file

@ -3029,7 +3029,15 @@ (define-public ruby-json-pure
(lambda _
;; Regenerate gemspec so loosened dependency constraints are
;; propagated.
(invoke "rake" "gemspec"))))))
(invoke "rake" "gemspec")))
(add-after 'regenerate-gemspec 'fix-json-java.gemspec
(lambda _
;; This gemspec doesn't look to be generated by the above
;; command, so patch it separately.
(substitute* "json-java.gemspec"
(("%q<test-unit>\\.freeze, \\[\"~> 2\\.0\"\\]")
"%q<test-unit>.freeze, [\">= 2.0\"]"))
#t)))))
(native-inputs
`(("bundler" ,bundler)
("ragel" ,ragel)

View file

@ -32,20 +32,23 @@ (define-module (gnu packages samba)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module (gnu packages backup)
#:use-module (gnu packages check)
#:use-module (gnu packages crypto)
#:use-module (gnu packages cups)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages tls)
#:use-module (gnu packages popt)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages openldap)
#:use-module (gnu packages readline)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages linux)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages popt)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml))
(define-public cifs-utils
@ -147,14 +150,14 @@ (define (install dir)
(define-public samba
(package
(name "samba")
(version "4.8.6")
(version "4.9.3")
(source (origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
(base32
"15hawqdm37l6lp9k14c634315p77cllsx89bvbw9h38fg1hj3fbk"))))
"1krm47x08c0vcrq12dxs8mbicma1ck2sl1i0hgkvrmwsgrqdi3yg"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -199,10 +202,14 @@ (define-public samba
`(("acl" ,acl)
("cups" ,cups)
;; ("gamin" ,gamin)
("gpgme" ,gpgme)
("gnutls" ,gnutls)
("iniparser" ,iniparser)
("jansson" ,jansson)
("libaio" ,libaio)
("libarchive" ,libarchive)
("linux-pam" ,linux-pam)
("lmdb" ,lmdb)
("openldap" ,openldap)
("popt" ,popt)
("readline" ,readline)
@ -338,14 +345,14 @@ (define-public tevent
(define-public ldb
(package
(name "ldb")
(version "1.3.6")
(version "1.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://www.samba.org/ftp/ldb/ldb-"
version ".tar.gz"))
(sha256
(base32
"16lkz3gyvsm9als1wyimsl573hclr72xy6454mshwjanncs33lji"))
"07vacwr941y2x31yl9knsr2rpffz5pqabvqds6sbyngqxy4r785c"))
(modules '((guix build utils)))
(snippet
'(begin
@ -358,7 +365,10 @@ (define-public ldb
#t))))
(build-system gnu-build-system)
(arguments
'(#:phases
'(;; LMDB is only supported on 64-bit systems, yet the test suite
;; requires it.
#:tests? (assoc-ref %build-inputs "lmdb")
#:phases
(modify-phases %standard-phases
(replace 'configure
;; ldb use a custom configuration script that runs waf.
@ -378,7 +388,10 @@ (define-public ldb
`(("talloc" ,talloc)
("tdb" ,tdb)))
(inputs
`(("popt" ,popt)
`(,@(if (target-64bit?)
`(("lmdb" ,lmdb))
'())
("popt" ,popt)
("tevent" ,tevent)))
(synopsis "LDAP-like embedded database")
(home-page "https://ldb.samba.org/")

View file

@ -306,7 +306,7 @@ (define-public jsoncpp
(define-public capnproto
(package
(name "capnproto")
(version "0.6.1")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -314,7 +314,7 @@ (define-public capnproto
version ".tar.gz"))
(sha256
(base32
"010s9yhq4531wvdfrdf2477zswhck6cjfby79w73rff3v06090l0"))))
"0hfdnhlbskagzgvby8wy6lrxj53zfzpfqimbhga68c0ji2yw1969"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -324,6 +324,14 @@ (define-public capnproto
;; Workaround for test that tries to resolve port name from
;; /etc/services, which is not present in build environment.
(substitute* "src/kj/async-io-test.c++" ((":http") ":80"))
#t))
(add-before 'check 'use-tmp-for-tempory-files
(lambda _
;; Use /tmp for tempory files, as the default /var/tmp directory
;; doesn't exist.
(substitute* "src/kj/filesystem-disk-test.c++"
(("VAR\\_TMP \"/var/tmp\"")
"VAR_TMP \"/tmp\""))
#t)))))
(home-page "https://capnproto.org")
(synopsis "Capability-based RPC and serialization system")

View file

@ -648,6 +648,7 @@ (define-public fenics
"'lift-drag', \n"
"'elastodynamics', \n"
"'dg-advection-diffusion', \n"
"'curl-curl', \n"
"'contact-vi-tao', \n"
"'contact-vi-snes', \n"
"'collision-detection', \n"

View file

@ -321,7 +321,7 @@ (define-public ceph
("python2-testtools" ,python2-testtools)
("python2-tox" ,python2-tox)))
(inputs
`(("boost" ,boost)
`(("boost" ,boost-cxx14)
("curl" ,curl)
("cryptsetup" ,cryptsetup)
("expat" ,expat)

View file

@ -30,7 +30,7 @@ (define-module (gnu packages syncthing)
(define-public syncthing
(package
(name "syncthing")
(version "0.14.52")
(version "0.14.54")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@ -38,12 +38,19 @@ (define-public syncthing
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
"1hhn72l74vb9l32i1a54ry2l85ji78cq6isd20lxxdk0bjqc4m29"))
(modules '((guix build utils)))
;; Delete bundled ("vendored") free software source code.
(snippet '(begin
(delete-file-recursively "vendor")
#t))))
"1pfjckwsrhy8lbmy42fawgh1gcfmjbh3dfxx05w5yjxnpd1g2z6r"))
;; Since the update to Go 1.11, Go programs have been keeping
;; spurious references to all their dependencies:
;; <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 @@ (define-public syncthing
#t))
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(lambda _
(with-directory-excursion "src/github.com/syncthing/syncthing"
(invoke "go" "run" "build.go" "-no-upgrade"))))
@ -107,48 +114,6 @@ (define-public syncthing
(delete-file (string-append out man "/man1/strelaysrv.1"))
(delete-file (string-append utils man "/man1/syncthing.1"))
#t))))))
;; When updating Syncthing, check 'vendor/manifest' in the source
;; distribution to ensure we are using the correct versions of these
;; dependencies.
(inputs
`(("go-github-com-audriusbutkevicius-cli"
,go-github-com-audriusbutkevicius-cli)
("go-github-com-audriusbutkevicius-go-nat-pmp"
,go-github-com-audriusbutkevicius-go-nat-pmp)
("go-github-com-audriusbutkevicius-pfilter"
,go-github-com-audriusbutkevicius-pfilter)
("go-github-com-bkaradzic-go-lz4" ,go-github-com-bkaradzic-go-lz4)
("go-github-com-calmh-du" ,go-github-com-calmh-du)
("go-github-com-calmh-xdr" ,go-github-com-calmh-xdr)
("go-github-com-prometheus-union" ,(go-github-com-prometheus-union))
("go-github-com-chmduquesne-rollinghash-adler32"
,go-github-com-chmduquesne-rollinghash-adler32)
("go-github-com-gobwas-glob" ,go-github-com-gobwas-glob)
("go-github-com-gogo-protobuf-union"
,(go-github-com-gogo-protobuf-union))
("go-github-com-golang-groupcache-lru"
,go-github-com-golang-groupcache-lru)
("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway)
("go-github-com-kballard-go-shellquote"
,go-github-com-kballard-go-shellquote)
("go-github-com-lib-pq" ,go-github-com-lib-pq)
("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
("go-github-com-oschwald-geoip2-golang"
,go-github-com-oschwald-geoip2-golang)
("go-github-com-pkg-errors" ,go-github-com-pkg-errors)
("go-github-com-rcrowley-go-metrics" ,go-github-com-rcrowley-go-metrics)
("go-github-com-sasha-s-go-deadlock" ,go-github-com-sasha-s-go-deadlock)
("go-github-com-syncthing-notify" ,go-github-com-syncthing-notify)
("go-github-com-syndtr-goleveldb" ,go-github-com-syndtr-goleveldb)
("go-github-com-thejerf-suture" ,go-github-com-thejerf-suture)
("go-github-com-vitrun-qart" ,(go-github-com-vitrun-qart-union))
("go-golang-org-x-crypto" ,(go-golang-org-x-crypto-union))
("go-golang-org-x-net-union" ,(go-golang-org-x-net-union))
("go-golang-org-x-text" ,(go-golang-org-x-text-union))
("go-golang-org-x-time-rate" ,go-golang-org-x-time-rate)
("go-gopkg.in-ldap.v2" ,go-gopkg.in-ldap.v2)
;; For tests
("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff)))
(synopsis "Decentralized continuous file system synchronization")
(description "Syncthing is a peer-to-peer file synchronization tool that
supports a wide variety of computing platforms. It uses the Block Exchange
@ -941,8 +906,8 @@ (define-public go-github-com-kballard-go-shellquote
(license expat))))
(define-public go-github-com-syncthing-notify
(let ((commit "b76b45868a77e7800dd06cce61101af9c4274bcc")
(revision "2"))
(let ((commit "116c45bb5ad48777321e4984d1320d56889b6097")
(revision "3"))
(package
(name "go-github-com-syncthing-notify")
(version (git-version "0.0.0" revision commit))
@ -954,7 +919,7 @@ (define-public go-github-com-syncthing-notify
(file-name (git-file-name name version))
(sha256
(base32
"1xxkzaxygxxr51i2kdxsdaqb5i95hqpkw4kcr75wmsp914slw2q9"))))
"14bh95pkhwmnc65bnv08p3y4flj1j7f6xxr2cgmlwrphnlp9yhl9"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/syncthing/notify"))
@ -1188,11 +1153,11 @@ (define-public go-github-com-client-golang-prometheus-promhttp
(license asl2.0))))
(define-public go-github-com-client-golang-prometheus
(let ((commit "180b8fdc22b4ea7750bcb43c925277654a1ea2f3")
(let ((commit "7e9098b20fb8e103a7a5691878272d7e3d703663")
(revision "0"))
(package
(name "go-github-com-prometheus-client-golang-prometheus")
(version (git-version "0.0.0" revision commit))
(version (git-version "0.9.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -1201,11 +1166,12 @@ (define-public go-github-com-client-golang-prometheus
(file-name (git-file-name name version))
(sha256
(base32
"1kkfx1j9ka18ydsmdi2cdy3hs39c22b39mbc4laykmj2x93lmbdp"))))
"09q8hlvgyn58hn8fmmj535hrwhqc1215czwzf7fhaqpa9zamj4w1"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/prometheus/client_golang/prometheus"
#:unpack-path "github.com/prometheus/client_golang"))
#:unpack-path "github.com/prometheus/client_golang"
#:tests? #f)) ; 'TestHandler' test fails in this non-critical dependency
(propagated-inputs
`(("go-github-com-beorn7-perks-quantile"
,go-github-com-beorn7-perks-quantile)

View file

@ -826,7 +826,7 @@ (define-public acme-client
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
(version "2.14.0")
(version "2.14.1")
(source
(origin
(method url-fetch)
@ -836,7 +836,7 @@ (define-public mbedtls-apache
version "-apache.tgz"))
(sha256
(base32
"0bf8mf8w5dyikbwpckcxgdi0l086adk7pailqds10bkzrcg59y42"))))
"07f6xn77w5rd6fhq5s1dmna3czs4chk5j2s6wkj366cvikawp2gi"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags

View file

@ -100,6 +100,8 @@ (define-public qemu
(method url-fetch)
(uri (string-append "https://download.qemu.org/qemu-"
version ".tar.xz"))
(patches (search-patches "qemu-CVE-2018-16847.patch"
"qemu-CVE-2018-16867.patch"))
(sha256
(base32
"04sp3f1gp4bdb913jf7fw761njaqp2l32wgipp1sapmxx17zcyld"))))

View file

@ -364,19 +364,18 @@ (define-public vimb
(license license:gpl3+)))
(define-public next-gtk-webkit
(let ((commit "b8899341bbdefd0a33412608fbb0b1f92f818c65"))
(package
(name "next-gtk-webkit")
(version (git-version "1.0.0" "1" commit))
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.atlas.engineer/public/next")
(commit commit)))
(commit version)))
(sha256
(base32
"12jmf1b9qr85il9h15mb9vpsfh1wzcln9x9xpn4lps0kkccnpkz9"))
"00xi01r6gxlrv7xc2dhf4da30y0vng1snbdmc8d829qyn0chl55q"))
(file-name (git-file-name "next" version))))
(build-system glib-or-gtk-build-system)
(arguments
@ -402,7 +401,7 @@ (define-public next-gtk-webkit
inspired by Emacs and designed for power users. The application has familiar
key-bindings, is fully configurable and extensible in Lisp, and has powerful
features for productive professionals.")
(license license:bsd-3))))
(license license:bsd-3)))
(define-public sbcl-next
(package
@ -428,8 +427,6 @@ (define actual-fasl (string-append
(define expected-fasl (string-append
lib
"/lib/sbcl/next--system.fasl"))
(pk actual-fasl)
(pk expected-fasl)
(copy-file actual-fasl expected-fasl)
#t))
(add-after 'create-symlinks 'build-program
@ -445,6 +442,9 @@ (define expected-fasl (string-append
;; the illegal version will result in NIL in the .desktop
;; file.
(lambda* (#:key outputs #:allow-other-keys)
(with-output-to-file "version"
(lambda _
(format #t "~a" ,(package-version next-gtk-webkit))))
(invoke "make" "install-assets"
(string-append "PREFIX="
(assoc-ref outputs "out"))))))))
@ -456,14 +456,12 @@ (define expected-fasl (string-append
("cl-strings" ,sbcl-cl-strings)
("cl-string-match" ,sbcl-cl-string-match)
("puri" ,sbcl-puri)
("queues.simple-queue" ,sbcl-queues.simple-queue)
("sqlite" ,sbcl-cl-sqlite)
("parenscript" ,sbcl-parenscript)
("cl-json" ,sbcl-cl-json)
("swank" ,sbcl-slime-swank)
("cl-markup" ,sbcl-cl-markup)
("cl-css" ,sbcl-cl-css)
("usocket" ,sbcl-usocket)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("s-xml-rpc" ,sbcl-s-xml-rpc)
("unix-opts" ,sbcl-unix-opts)))

View file

@ -196,14 +196,14 @@ (define-public nginx
(name "nginx")
;; Consider updating the nginx-documentation package if the nginx package is
;; updated.
(version "1.14.1")
(version "1.14.2")
(source (origin
(method url-fetch)
(uri (string-append "https://nginx.org/download/nginx-"
version ".tar.gz"))
(sha256
(base32
"19542jxcjf4dvrqvgb5vr36mhbzcjrxc3v0xh451rm60610rf2dz"))))
"15wppq12qmq8acjs35xfj61czhf9cdc0drnl5mm8hcg3aihryb80"))))
(build-system gnu-build-system)
(inputs `(("openssl" ,openssl)
("pcre" ,pcre)
@ -1281,12 +1281,14 @@ (define-public sassc
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'bootstrap)
(delete 'configure)
(add-after 'unpack 'unpack-libsass-and-set-path
(lambda* (#:key inputs #:allow-other-keys)
(invoke "tar" "xvf" (assoc-ref inputs "libsass"))
(setenv "SASS_LIBSASS_PATH"
(string-append (getcwd) "/libsass-" ,version)))))))
(string-append (getcwd) "/libsass-" ,version))
#t)))))
(inputs
`(("libsass" ,libsass)))
(synopsis "CSS pre-processor")

View file

@ -39,6 +39,7 @@
(define-module (gnu packages xml)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages gnupg)
@ -2152,3 +2153,24 @@ (define-public xmlrpc-c
server using HTTP, and gets back the response as XML. This library provides a
modular implementation of XML-RPC for C and C++.")
(license (list license:psfl license:expat))))
(define-public python-xmltodict
(package
(name "python-xmltodict")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xmltodict" version))
(sha256
(base32
"1pxh4yjhvmxi1h6f92skv41g4kbsws3ams57150kzn18m907v3cg"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)
("python-nose" ,python-nose)))
(home-page "https://github.com/martinblech/xmltodict")
(synopsis "Work with XML like you are working with JSON")
(description "This package provides a Python library to convert XML to
@code{OrderedDict}.")
(license license:expat)))

View file

@ -1499,26 +1499,27 @@ (define* (guix-build-accounts count #:key
1+
1))
(define (hydra-key-authorization key guix)
"Return a gexp with code to register KEY, a file containing a 'guix archive'
public key, with GUIX."
(define (hydra-key-authorization keys guix)
"Return a gexp with code to register KEYS, a list of files containing 'guix
archive' public keys, with GUIX."
#~(unless (file-exists? "/etc/guix/acl")
(for-each (lambda (key)
(let ((pid (primitive-fork)))
(case pid
((0)
(let* ((key #$key)
(port (open-file key "r0b")))
(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")
(exit 1)))
(primitive-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))))))))
failed to register public key '~a': ~a~%" key status)))))))
'(#$@keys))))
(define %default-authorized-guix-keys
;; List of authorized substitute keys.
@ -1630,10 +1631,9 @@ (define (guix-activation config)
;; otherwise call 'chown' here, but the problem is that on a COW overlayfs,
;; chown leads to an entire copy of the tree, which is a bad idea.
;; Optionally authorize hydra.gnu.org's key.
;; Optionally authorize substitute server keys.
(if authorize-key?
#~(begin
#$@(map (cut hydra-key-authorization <> guix) keys))
(hydra-key-authorization keys guix)
#~#f))))
(define* (references-file item #:optional (name "references"))

View file

@ -684,7 +684,8 @@ (define (uglify-field-name field-name)
(string-delete #\? (symbol->string field-name)))
(define (serialize-field field-name val)
(format #t "~a=~a\n" (uglify-field-name field-name) val))
(when (not (member field-name '(group secret-file user)))
(format #t "~a=~a\n" (uglify-field-name field-name) val)))
(define (serialize-boolean field-name val)
(serialize-field field-name (if val "yes" "no")))

View file

@ -250,7 +250,7 @@ (define bare-bones-os
;; The usual services.
(syslog-service)
;; The build daemon. Register the hydra.gnu.org key as trusted.
;; The build daemon. Register the official server keys as trusted.
;; This allows the installation process to use substitutes by
;; default.
(guix-service (guix-configuration (authorize-key? #t)))

View file

@ -50,7 +50,7 @@ (define marionette
;; Log in as root on tty1, and check what 'loginctl' returns.
(test-equal "login on tty1"
'(("c1" "0" "root" "seat0" "/dev/tty1") ;session
'(("c1" "0" "root" "seat0" "tty1") ;session
("seat0") ;seat
("0" "root")) ;user

View file

@ -149,7 +149,7 @@ (define %simple-installation-script
guix build isc-dhcp
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
mkpart primary ext2 3M 1G \\
mkpart primary ext2 3M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
mkfs.ext4 -L my-root /dev/vdb2
@ -174,7 +174,7 @@ (define %extlinux-gpt-installation-script
export GUIX_BUILD_OPTIONS=--no-grafts
guix build isc-dhcp
parted --script /dev/vdb mklabel gpt \\
mkpart ext2 1M 1G \\
mkpart ext2 1M 1.2G \\
set 1 legacy_boot on
mkfs.ext4 -L my-root -O '^64bit' /dev/vdb1
mount /dev/vdb1 /mnt
@ -377,7 +377,7 @@ (define %simple-installation-script-for-/dev/vda
guix build isc-dhcp
parted --script /dev/vda mklabel gpt \\
mkpart primary ext2 1M 3M \\
mkpart primary ext2 3M 1G \\
mkpart primary ext2 3M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
mkfs.ext4 -L my-root /dev/vda2
@ -510,7 +510,7 @@ (define %separate-store-installation-script
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
mkpart primary ext2 3M 100M \\
mkpart primary ext2 100M 1G \\
mkpart primary ext2 100M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
mkfs.ext4 -L root-fs /dev/vdb2
@ -676,7 +676,7 @@ (define %encrypted-root-installation-script
ls -l /run/current-system/gc-roots
parted --script /dev/vdb mklabel gpt \\
mkpart primary ext2 1M 3M \\
mkpart primary ext2 3M 1G \\
mkpart primary ext2 3M 1.2G \\
set 1 boot on \\
set 1 bios_grub on
echo -n thepassphrase | \\

View file

@ -144,7 +144,12 @@ (define properties
,@(append (map add-label sources)
(map add-label targets)))
#:outputs outputs
;; Grafts are computationally cheap so no
;; need to offload or substitute.
#:local-build? #t
#:substitutable? #f
#:properties properties)))))
(define (item->deriver store item)
"Return two values: the derivation that led to ITEM (a store item), and the

View file

@ -65,7 +65,7 @@ (define-module (guix scripts build)
(define %default-log-urls
;; Default base URLs for build logs.
'("http://hydra.gnu.org/log"))
'("http://ci.guix.info/log"))
;; XXX: The following procedure cannot be in (guix store) because of the
;; dependency on (guix derivations).

View file

@ -89,7 +89,7 @@ (define (display-package-search-path fmt)
(define (channel->sexp channel)
`(channel
(name ,(channel-name channel))
(name ',(channel-name channel))
(url ,(channel-url channel))
(commit ,(channel-commit channel))))

View file

@ -278,7 +278,12 @@ (define* (check-for-package-update package updaters #:key warn?)
(define (all-packages)
"Return the list of all the distro's packages."
(fold-packages cons '()
(fold-packages (lambda (package result)
;; Ignore deprecated packages.
(if (package-superseded package)
result
(cons package result)))
'()
#:select? (const #t))) ;include hidden packages
(define (list-dependents packages)

View file

@ -297,7 +297,7 @@ (define (guix-size . args)
(leave (G_ "missing store item argument\n")))
((files ..1)
(leave-on-EPIPE
;; Turn off grafts because (1) hydra.gnu.org does not serve grafted
;; Turn off grafts because (1) substitute servers do not serve grafted
;; packages, and (2) they do not make any difference on the
;; resulting size.
(parameterize ((%graft? #f))

View file

@ -1052,7 +1052,7 @@ (define %default-substitute-urls
(#f
;; This can only happen when this script is not invoked by the
;; daemon.
'("http://hydra.gnu.org"))))
'("http://ci.guix.info"))))
(define substitute-urls
;; List of substitute URLs.

View file

@ -497,9 +497,10 @@ (define (reinstall-bootloader store number)
(old-entries (map boot-parameters->menu-entry old-params)))
(run-with-store store
(mlet* %store-monad
((bootcfg ((bootloader-configuration-file-generator bootloader)
((bootcfg (lower-object
((bootloader-configuration-file-generator bootloader)
bootloader-config entries
#:old-entries old-entries))
#:old-entries old-entries)))
(bootcfg-file -> (bootloader-configuration-file bootloader))
(target -> "/")
(drvs -> (list bootcfg)))

View file

@ -428,6 +428,9 @@ (define (miscellaneous-files source)
,(file-append* source
"/etc/substitutes/hydra.gnu.org.pub"))
("share/guix/berlin.guixsd.org.pub"
,(file-append* source
"/etc/substitutes/berlin.guixsd.org.pub"))
("share/guix/ci.guix.info.pub" ;alias
,(file-append* source "/etc/substitutes/berlin.guixsd.org.pub")))))
(define* (whole-package name modules dependencies

View file

@ -693,7 +693,7 @@ (define %default-substitute-urls
(map (if (false-if-exception (resolve-interface '(gnutls)))
(cut string-append "https://" <>)
(cut string-append "http://" <>))
'("mirror.hydra.gnu.org")))
'("ci.guix.info")))
(define* (set-build-options server
#:key keep-failed? keep-going? fallback?

View file

@ -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