Merge branch 'master' into staging

master
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 @@ paragraph."
(lambda (match port)
(let ((stars (match:substring match 1)))
(format port
"~a ~a new packages~%~%~a~%~%"
stars (length added)
(enumeration->paragraph added)))))))))
"~a ~a new packages~%~%"
stars (length added)))))))))
(define (write-packages-updates news-file old new)
"Write to NEWS-FILE the list of packages upgraded between OLD and NEW."
(let ((upgraded (filter-map (match-lambda
((package . new-version)
(match (assoc package old)
((_ . old-version)
(and (version>? new-version old-version)
(string-append package "@"
new-version)))
(_ #f))))
new)))
(define important
'("gcc" "glibc" "binutils" "gdb" ;toolchain
"shepherd" "linux-libre" "xorg-server" "cups" ;OS
"gnome" "xfce" "enlightenment" "lxde" "mate" ;desktop env.
"guile" "bash" "python" "python2" "perl" ;languages
"ghc" "rust" "go" "julia" "r" "ocaml"
"icedtea" "openjdk" "clojure" "sbcl" "racket"
"emacs" "gimp" "inkscape" "libreoffice" ;applications
"octave" "icecat" "gnupg"))
(let* ((table (fold (lambda (package table)
(match package
((name . version)
(vhash-cons name version table))))
vlist-null
new))
(latest (lambda (name)
(let ((versions (vhash-fold* cons '() name table)))
(match (sort versions version>?)
((latest . _) latest)))))
(upgraded (filter-map (match-lambda
((package . new-version)
(match (assoc package old)
((_ . old-version)
(and (string=? new-version
(latest package))
(version>? new-version old-version)
(cons package new-version)))
(_ #f))))
new))
(noteworthy (filter (match-lambda
((package . version)
(member package important)))
upgraded)))
(with-atomic-file-replacement news-file
(lambda (input output)
(rewrite-org-section input output
(make-regexp "^(\\*+) (.*) package updates")
(lambda (match port)
(let ((stars (match:substring match 1)))
(let ((stars (match:substring match 1))
(lst (map (match-lambda
((package . version)
(string-append package " "
version)))
noteworthy)))
(format port
"~a ~a package updates~%~%~a~%~%"
"~a ~a package updates~%~%Noteworthy updates:~%~a~%~%"
stars (length upgraded)
(enumeration->paragraph upgraded)))))))))
(enumeration->paragraph lst)))))))))
(define (main . args)
@ -138,6 +168,8 @@ paragraph."
(let-values (((previous-version new-version)
(call-with-input-file news-file NEWS->versions)))
(format (current-error-port) "Updating NEWS for ~a to ~a...~%"
previous-version new-version)
(let* ((old (call-with-input-file (package-file previous-version)
read))
(new (fold-packages (lambda (p r)

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

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 @@ GRUB configuration and OS-DRV as the stuff in it."
"mnt=/tmp/root/mnt"
"-path-list" "-"
"--"
;; XXX: Add padding to avoid I/O errors on i686:
;; <https://bugs.gnu.org/33639>.
"-padding" "10m"
"-volid" (string-upcase volume-id)
(if volume-uuid
`("-volume_date" "uuid"

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 @@ solve the shortest vector problem.")
(define-public pari-gp
(package
(name "pari-gp")
(version "2.11.0")
(version "2.11.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -147,7 +147,7 @@ solve the shortest vector problem.")
version ".tar.gz"))
(sha256
(base32
"18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q"))))
"1jfax92jpydjd02fwl30r6b8kfzqqd6sm4yx94gidyz9lqjb7a94"))))
(build-system gnu-build-system)
(native-inputs `(("texlive" ,texlive-tiny)))
(inputs `(("gmp" ,gmp)

View File

@ -2097,7 +2097,9 @@ buffers, and audio capture.")
(base32
"1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb"))))
(build-system waf-build-system)
(arguments `(#:tests? #f)) ; no check target
(arguments
`(#:tests? #f ; no check target
#:python ,python-2))
(inputs
`(("alsa-lib" ,alsa-lib)
("boost" ,boost)
@ -2118,14 +2120,14 @@ and ALSA.")
(define-public qjackctl
(package
(name "qjackctl")
(version "0.5.4")
(version "0.5.5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/qjackctl/qjackctl/"
version "/qjackctl-" version ".tar.gz"))
(sha256
(base32
"0qr71nb93gkz5q53nfcl5g168z173wc6s8w1yjs3rfn3m4hg0bcq"))))
"1rzzqa39a6llr52vjkjr0a86nc776kmr5xs52qqga8ms9697psz5"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f)) ; no check target
@ -2202,6 +2204,12 @@ background file post-processing.")
(ice-9 ftw))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-build-with-boost-1.68
(lambda _
(substitute* "server/supernova/utilities/time_tag.hpp"
(("(time_duration offset = .+ microseconds\\().*" _ m)
(string-append m "static_cast<long>(get_nanoseconds()/1000));\n")))
#t))
(add-after 'unpack 'rm-bundled-libs
(lambda _
;; The build system doesn't allow us to unbundle the following
@ -2266,7 +2274,7 @@ external_libraries/yaml-cpp/include)"))
("eudev" ,eudev) ;for user interactions with devices
("avahi" ,avahi) ;zeroconf service discovery support
("icu4c" ,icu4c)
("boost" ,boost)
("boost" ,boost-cxx14)
("boost-sync" ,boost-sync)
("yaml-cpp" ,yaml-cpp)))
(home-page "https://github.com/supercollider/supercollider")
@ -2855,7 +2863,7 @@ interface.")
(define-public qsynth
(package
(name "qsynth")
(version "0.5.3")
(version "0.5.4")
(source
(origin
(method url-fetch)
@ -2863,7 +2871,7 @@ interface.")
"/qsynth-" version ".tar.gz"))
(sha256
(base32
"1jghczmmva7cyavg1q0j8nr3hmjpzzglzi5ckg92ax4ji8gpks9c"))))
"0kpq5fxr96wnii18ax780w1ivq8ksk892ac0bprn92iz0asfysrd"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" phase

View File

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

View File

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

View File

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

View File

@ -2263,7 +2263,7 @@ single-member files which can't be decompressed in parallel.")
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ;; No tests available.
(inputs `(("boost" ,boost)
(inputs `(("boost" ,boost-cxx14)
("libiconv" ,libiconv)
("xz" ,xz)))
(native-inputs `(("pkg-config" ,pkg-config)))

View File

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

View File

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

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 @@
(description
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
acronyms distributed as an info document.")
(license fdl1.3+)))
(license license:fdl1.3+)))
(define-public gcide
(package
@ -125,7 +133,7 @@ acronyms distributed as an info document.")
be used via the GNU Dico program or accessed online at
http://gcide.gnu.org.ua/")
(home-page "http://gcide.gnu.org.ua/")
(license gpl3+)))
(license license:gpl3+)))
(define-public diction
;; Not quite a dictionary, not quite a spell checker either…
@ -147,7 +155,7 @@ Diction is used to identify wordy and commonly misused phrases in a
body of text. Style instead analyzes surface aspects of a written
work, such as sentence length and other readability measures.")
(home-page "https://www.gnu.org/software/diction/")
(license gpl3+)))
(license license:gpl3+)))
(define-public ding
(package
@ -207,7 +215,7 @@ work, such as sentence length and other readability measures.")
(description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
(license gpl2+)))
(license license:gpl2+)))
(define-public grammalecte
(package
@ -234,7 +242,7 @@ a dubious expression is wrong, it will keep silent.
The package provides the command line interface, along with a server
and a Python library.")
(license gpl3+)))
(license license:gpl3+)))
(define-public translate-shell
(package
@ -283,4 +291,87 @@ and a Python library.")
translator powered by Google Translate (default), Bing Translator,
Yandex.Translate and Apertium. It gives you easy access to one of these
translation engines from your terminal.")
(license public-domain)))
(license license:public-domain)))
(define-public lttoolbox
(package
(name "lttoolbox")
(version "3.5.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/apertium/lttoolbox/releases/download/v"
version "/lttoolbox-" version ".tar.gz"))
(sha256
(base32
"08y6pf1hl7prwygy1g8h6ndqww18pmb9f3r5988q0pcrp8w6xz6b"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://wiki.apertium.org/wiki/Lttoolbox")
(synopsis "Lexical processing toolbox")
(description "Lttoolbox is a toolbox for lexical processing, morphological
analysis and generation of words. Analysis is the process of splitting a
word (e.g. cats) into its lemma \"cat\" and the grammatical information
@code{<n><pl>}. Generation is the opposite process.")
(license (list license:gpl2 ; main license
license:expat)))) ; utf8/*
(define-public apertium
(package
(name "apertium")
(version "3.5.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/apertium/apertium/releases/download/v"
version "/apertium-" version ".tar.gz"))
(sha256
(base32
"0lrx58ipx2kzh1pd3xm1viz05dqyrq38jbnj9dnk92c9ckkwkp4h"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)
("libxslt" ,libxslt)
("lttoolbox" ,lttoolbox)
("pcre" ,pcre)))
(native-inputs
`(("apertium-get"
,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/apertium/apertium-get")
(commit "692d030e68008fc123089cf2446070fe8c6e3a3b")))
(sha256
(base32
"0kgp68azvds7yjwfz57z8sa5094fyk5yr0qxzblrw7bisrrihnav"))))
("flex" ,flex)
("pkg-config" ,pkg-config)
;; python is only required for running the test suite
("python-minimal" ,python-minimal)))
(arguments
`(#:phases
(modify-phases %standard-phases
;; If apertium-get does not exist in the source tree, the build tries
;; to download it using an svn checkout. To avoid this, copy
;; apertium-get into the source tree.
(add-after 'unpack 'unpack-apertium-get
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "apertium-get")
"apertium/apertium-get")
#t)))))
(home-page "https://www.apertium.org/")
(synopsis "Rule based machine translation system")
(description "Apertium is a rule based machine translation system
featuring a shallow-transfer machine translation engine. The design of the
system makes translations fast (translating tens of thousands of words per
second on ordinary desktop computers) and, in spite of the errors, reasonably
intelligible and easily correctable.")
(license (list license:gpl2 ; main license
license:expat)))) ; utf8/*

View File

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

View File

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

View File

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

View File

@ -2822,11 +2822,13 @@ These are distributed in separate files and can be used individually.")
(version "1.2.0")
(home-page "https://github.com/Sarcasm/irony-mode")
(source (origin
(method url-fetch)
(uri (string-append home-page "/archive/v" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url (string-append home-page ".git"))
(commit (string-append "v" version))))
(sha256
(base32
"1f68zi0glkg2aly66s07rx3w0b0hdi1znxan02h6dbabaadylk99"))
"0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system)
(arguments '())
@ -6785,7 +6787,7 @@ It should enable you to implement low-level X11 applications.")
(define-public emacs-exwm
(package
(name "emacs-exwm")
(version "0.20")
(version "0.21")
(synopsis "Emacs X window manager")
(source (origin
(method url-fetch)
@ -6793,7 +6795,7 @@ It should enable you to implement low-level X11 applications.")
version ".tar"))
(sha256
(base32
"0nhhzbkm0mkj7sd1dy2c19cmn56gyaj9nl8kgy86h4fp63hjaz04"))))
"07ng1pgsnc3isfsyzh2gfc7391p9il8lb5xqf1z6yqn20w7k6xzj"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-xelb" ,emacs-xelb)))

View File

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

View File

@ -1709,7 +1709,7 @@ parallel computing platforms. It also supports serial execution.")
("gcc-toolchain" ,gcc-toolchain)
("iverilog" ,iverilog)
("libtool" ,libtool)
("octave" ,octave)
("octave" ,octave-cli)
("qt4" ,qt-4)
("sed" ,sed)))
(home-page "http://qucs.sourceforge.net/")
@ -1839,7 +1839,7 @@ simulations are also supported.")
("libtool" ,libtool)
("mpi" ,openmpi)
("ngspice" ,ngspice)
("octave" ,octave)
("octave" ,octave-cli)
("qt4" ,qt-4)
("qucs" ,qucs)
("sed" ,sed)

View File

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

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 @@ the freedesktop.org XDG Base Directory specification.")
(define-public elogind
(package
(name "elogind")
(version "232.4")
(version "239.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/elogind/elogind/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/elogind/elogind")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
(patches (search-patches "elogind-glibc-2.27.patch"))
(modules '((guix build utils)))
(snippet
'(begin
(use-modules (guix build utils))
(substitute* "Makefile.am"
;; Avoid validation against DTD because the DTDs for
;; both doctype 4.2 and 4.5 are needed.
(("XSLTPROC_FLAGS = ") "XSLTPROC_FLAGS = --novalid"))
#t))))
(build-system gnu-build-system)
"1gipnbnlz5k3gxv33wyhi2zd94hlfa9lm360p8z6w5i9s8dzhf52"))))
(build-system meson-build-system)
(arguments
`(#:tests? #f ;FIXME: "make check" in the "po" directory fails.
#:configure-flags
(list (string-append "--with-udevrulesdir="
(assoc-ref %outputs "out")
"/lib/udev/rules.d")
;; Let elogind be its own cgroup controller, rather than relying
;; on systemd or OpenRC. By default, 'configure' makes an
;; incorrect guess.
"--with-cgroup-controller=elogind"
(string-append "--with-rootprefix="
(assoc-ref %outputs "out"))
(string-append "--with-rootlibexecdir="
(assoc-ref %outputs "out")
"/libexec/elogind")
;; These are needed to ensure that lto linking works.
"RANLIB=gcc-ranlib"
"AR=gcc-ar"
"NM=gcc-nm")
#:make-flags '("PKTTYAGENT=/run/current-system/profile/bin/pkttyagent")
`(#:configure-flags
(let* ((out (assoc-ref %outputs "out"))
(sysconf (string-append out "/etc"))
(libexec (string-append out "/libexec/elogind"))
(dbuspolicy (string-append out "/etc/dbus-1/system.d"))
(shepherd (assoc-ref %build-inputs "shepherd"))
(halt-path (string-append shepherd "/sbin/halt"))
(kexec-path "") ;not available in Guix yet
(poweroff-path (string-append shepherd "/sbin/shutdown"))
(reboot-path (string-append shepherd "/sbin/reboot")))
(list
(string-append "-Drootprefix=" out)
(string-append "-Dsysconfdir=" sysconf)
(string-append "-Drootlibexecdir=" libexec)
(string-append "-Ddbuspolicydir=" dbuspolicy)
(string-append "-Dc_link_args=-Wl,-rpath=" libexec)
(string-append "-Dcpp_link_args=-Wl,-rpath=" libexec)
(string-append "-Dhalt-path=" halt-path)
(string-append "-Dkexec-path=" kexec-path)
(string-append "-Dpoweroff-path=" poweroff-path)
(string-append "-Dreboot-path=" reboot-path)
"-Dcgroup-controller=elogind"
;; Disable some tests.
"-Dtests=false"
"-Dslow-tests=false"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-locale-header
(add-after 'unpack 'fix-pkttyagent-path
(lambda _
;; Fix compilation with glibc >= 2.26, which removed xlocale.h.
;; This can be removed for elogind 234.
(substitute* "src/basic/parse-util.c"
(("xlocale\\.h") "locale.h"))
(substitute* "meson.build"
(("join_paths\\(bindir, 'pkttyagent'\\)")
"'\"/run/current-system/profile/bin/pkttyagent\"'"))
#t))
(replace 'bootstrap
(add-after 'unpack 'change-pid-file-path
(lambda _
(invoke "intltoolize" "--force" "--automake")
(invoke "autoreconf" "-vif")))
(add-before 'build 'fix-service-file
(lambda* (#:key outputs #:allow-other-keys)
;; Fix the file name of the 'elogind' binary in the D-Bus
;; '.service' file.
(substitute* "src/login/org.freedesktop.login1.service"
(("^Exec=.*")
(string-append "Exec=" (assoc-ref %outputs "out")
"/libexec/elogind/elogind\n")))
#t))
(add-after 'install 'add-libcap-to-search-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Add a missing '-L' for libcap in libelogind.la. See
;; <https://lists.gnu.org/archive/html/guix-devel/2017-09/msg00084.html>.
(let ((libcap (assoc-ref inputs "libcap"))
(out (assoc-ref outputs "out")))
(substitute* (string-append out "/lib/libelogind.la")
(("-lcap")
(string-append "-L" libcap "/lib -lcap")))
#t)))
(add-after 'unpack 'remove-uaccess-tag
(lambda _
;; systemd supports a "uaccess" built-in tag, but eudev currently
;; doesn't. This leads to eudev warnings that we'd rather not
;; see, so remove the reference to "uaccess."
(substitute* "src/login/73-seat-late.rules.in"
(("^TAG==\"uaccess\".*" line)
(string-append "# " line "\n")))
(substitute* "src/login/elogind.c"
(("\"/run/elogind.pid\"") "\"/run/systemd/elogind.pid\""))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("intltool" ,intltool)
("gettext" ,gettext-minimal)
("python" ,python)
`(("docbook-xml" ,docbook-xml)
("docbook-xml-4.2" ,docbook-xml-4.2)
("docbook-xsl" ,docbook-xsl)
("docbook-xml" ,docbook-xml)
("xsltproc" ,libxslt)
("m4" ,m4)
("gettext" ,gettext-minimal)
("gperf" ,gperf)
("libxml2" ,libxml2) ;for XML_CATALOG_FILES
("m4" ,m4)
("pkg-config" ,pkg-config)
;; Use gperf 3.0 to work around
;; <https://github.com/wingo/elogind/issues/8>.
("gperf" ,gperf-3.0)))
("python" ,python)
("xsltproc" ,libxslt)))
(inputs
`(("linux-pam" ,linux-pam)
("linux-libre-headers" ,linux-libre-headers)
("libcap" ,libcap)
("shepherd" ,shepherd) ;for 'halt' and 'reboot', invoked
;when pressing the power button

View File

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

View File

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

View File

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

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

View File

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

View File

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

View File

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

View File

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

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

View File

@ -495,7 +495,7 @@ sample proximities between pairs of cases.")
`(("python" ,python)
("numpy" ,python-numpy)
("r-minimal" ,r-minimal)
("octave" ,octave)
("octave" ,octave-cli)
("swig" ,swig)
("eigen" ,eigen)
("hdf5" ,hdf5)

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

View File

@ -1413,9 +1413,9 @@ can solve two kinds of problems:
;; For a fully featured Octave, users are strongly recommended also to install
;; the following packages: less, ghostscript, gnuplot.
(define-public octave
(define-public octave-cli
(package
(name "octave")
(name "octave-cli")
(version "4.4.1")
(source
(origin
@ -1497,21 +1497,21 @@ Work may be performed both at the interactive command-line as well as via
script files.")
(license license:gpl3+)))
(define-public qtoctave
(package (inherit octave)
(name "qtoctave")
(define-public octave
(package (inherit octave-cli)
(name "octave")
(source (origin
(inherit (package-source octave))))
(inherit (package-source octave-cli))))
(inputs
`(("qscintilla" ,qscintilla)
("qt" ,qtbase)
,@(package-inputs octave)))
,@(package-inputs octave-cli)))
(native-inputs
`(("qttools" , qttools) ;for lrelease
("texlive" ,texlive) ;for texi2dvi
,@(package-native-inputs octave)))
,@(package-native-inputs octave-cli)))
(arguments
(substitute-keyword-arguments (package-arguments octave)
(substitute-keyword-arguments (package-arguments octave-cli)
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'patch-qscintilla-library-name
@ -1525,6 +1525,9 @@ script files.")
"qscintilla2_qt5"))
#t))))))))
(define-public qtoctave
(deprecated-package "qtoctave" octave))
(define-public opencascade-oce
(package
(name "opencascade-oce")
@ -1767,6 +1770,7 @@ scientific applications modeled by partial differential equations.")
(name "petsc-openmpi")
(inputs
`(("hdf5" ,hdf5-parallel-openmpi)
("hypre" ,hypre-openmpi)
("metis" ,metis)
("mumps" ,mumps-openmpi)
("openmpi" ,openmpi)
@ -1776,7 +1780,8 @@ scientific applications modeled by partial differential equations.")
(arguments
(substitute-keyword-arguments (package-arguments petsc)
((#:configure-flags cf)
``("--with-mpiexec=mpirun"
``("--with-hypre=1"
"--with-mpiexec=mpirun"
"--with-metis=1"
"--with-mumps=1"
"--with-scalapack=1"
@ -3578,7 +3583,7 @@ in finite element programs.")
`(("unzip" ,unzip)))
(inputs
`(("hdf5" ,hdf5)
("octave" ,octave)
("octave" ,octave-cli)
("python" ,python-2) ; print syntax
;; ("python2-numpy" ,python2-numpy) ; only required for the tests
("zlib" ,zlib)))

View File

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

View File

@ -244,7 +244,7 @@ terminal using ncurses.")
"0m0mjb049sl62vx13h9waavysa30mk0rphacksnvf94n13la62v5"))))
(build-system gnu-build-system)
(inputs `(("libmpdclient" ,libmpdclient)
("boost" ,boost)
("boost" ,boost-cxx14)
("readline" ,readline)
("ncurses" ,ncurses)
("taglib" ,taglib)

View File

@ -2247,14 +2247,14 @@ from the command line.")
(define-public qtractor
(package
(name "qtractor")
(version "0.9.2")
(version "0.9.3")
(source (origin
(method url-fetch)
(uri (string-append "http://downloads.sourceforge.net/qtractor/"
"qtractor-" version ".tar.gz"))
(sha256
(base32
"1j3rpvdkw9rw48j4zyfn6rprp01csy4rl6zckcjyx0vh7vaycchr"))))
"1010gvkzdzdk39g1g6wx2j19ls0kdl6l9q51xzk2qik7h2fwxl71"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; no "check" target
@ -2688,13 +2688,14 @@ Songs can be searched by artist, name or even by a part of the song text.")
(define-public beets
(package
(name "beets")
(version "1.4.6")
(version "1.4.7")
(source (origin
(method url-fetch)
(uri (pypi-uri "beets" version))
(patches (search-patches "beets-python-3.7-fix.patch"))
(sha256
(base32
"0l2vfrknwcsm6bn83m7476qrz45qwgxcb5k0h7kn96kr70irn1v2"))))
"0w3gz69s9gf5ih69d4sddgh7ndj7658m621bp742zldvjakdncrs"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -2703,6 +2704,12 @@ Songs can be searched by artist, name or even by a part of the song text.")
(lambda _
(setenv "HOME" (string-append (getcwd) "/tmp"))
#t))
(add-after 'unpack 'make-python3.7-compatible
(lambda _
;; See <https://github.com/beetbox/beets/issues/2978>.
(substitute* "beets/autotag/hooks.py"
(("re\\._pattern_type") "re.Pattern"))
#t))
(replace 'check
(lambda _
(invoke "nosetests" "-v"))))))
@ -3298,7 +3305,8 @@ plugins, a switch trigger, a toggle switch, and a peakmeter.")
"1wg47vjw9djn99gbnsl2bcwj4xhdid61m4wrbn2nlp797flj91ic"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
`(#:python ,python-2
#:tests? #f ; no "check" target
#:configure-flags (list "--no-webkit")
#:phases
(modify-phases %standard-phases

View File

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

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 @@ listing the files modified by a patch.")
(base32
"06b816m2gz9jfif7k9v2hrm7fz76zjg5pavf7hd3ifybwn4cgjzn"))
(patches (search-patches "quilt-test-fix-regex.patch"
"quilt-compat-getopt-fix-second-separator.patch"
"quilt-compat-getopt-fix-option-with-nondigit-param.patch"))))
"quilt-getopt-second-separator.patch"
"quilt-getopt-nondigit-param.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gnu-gettext)))

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -648,6 +648,7 @@ user interface to the FEniCS core components and external libraries.")
"'lift-drag', \n"
"'elastodynamics', \n"
"'dg-advection-diffusion', \n"
"'curl-curl', \n"
"'contact-vi-tao', \n"
"'contact-vi-snes', \n"
"'collision-detection', \n"

View File

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

View File

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

View File

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

View File

@ -364,45 +364,44 @@ driven and does not detract you from your daily work.")
(license license:gpl3+)))
(define-public next-gtk-webkit
(let ((commit "b8899341bbdefd0a33412608fbb0b1f92f818c65"))
(package
(name "next-gtk-webkit")
(version (git-version "1.0.0" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.atlas.engineer/public/next")
(commit commit)))
(sha256
(base32
"12jmf1b9qr85il9h15mb9vpsfh1wzcln9x9xpn4lps0kkccnpkz9"))
(file-name (git-file-name "next" version))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "gtk-webkit"
"CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" "install-gtk-webkit" make-flags))))))
(inputs
`(("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://next.atlas.engineer")
(synopsis "Infinitely extensible web-browser (user interface only)")
(description "Next is a keyboard-oriented, extensible web-browser
(package
(name "next-gtk-webkit")
(version "1.1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://source.atlas.engineer/public/next")
(commit version)))
(sha256
(base32
"00xi01r6gxlrv7xc2dhf4da30y0vng1snbdmc8d829qyn0chl55q"))
(file-name (git-file-name "next" version))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; no tests
#:make-flags (list "gtk-webkit"
"CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(replace 'install
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" "install-gtk-webkit" make-flags))))))
(inputs
`(("glib-networking" ,glib-networking)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://next.atlas.engineer")
(synopsis "Infinitely extensible web-browser (user interface only)")
(description "Next is a keyboard-oriented, extensible web-browser
inspired by Emacs and designed for power users. The application has familiar
key-bindings, is fully configurable and extensible in Lisp, and has powerful
features for productive professionals.")
(license license:bsd-3))))
(license license:bsd-3)))
(define-public sbcl-next
(package
@ -428,8 +427,6 @@ features for productive professionals.")
(define expected-fasl (string-append
lib
"/lib/sbcl/next--system.fasl"))
(pk actual-fasl)
(pk expected-fasl)
(copy-file actual-fasl expected-fasl)
#t))
(add-after 'create-symlinks 'build-program
@ -445,6 +442,9 @@ features for productive professionals.")
;; the illegal version will result in NIL in the .desktop
;; file.
(lambda* (#:key outputs #:allow-other-keys)
(with-output-to-file "version"
(lambda _
(format #t "~a" ,(package-version next-gtk-webkit))))
(invoke "make" "install-assets"
(string-append "PREFIX="
(assoc-ref outputs "out"))))))))
@ -456,14 +456,12 @@ features for productive professionals.")
("cl-strings" ,sbcl-cl-strings)
("cl-string-match" ,sbcl-cl-string-match)
("puri" ,sbcl-puri)
("queues.simple-queue" ,sbcl-queues.simple-queue)
("sqlite" ,sbcl-cl-sqlite)
("parenscript" ,sbcl-parenscript)
("cl-json" ,sbcl-cl-json)
("swank" ,sbcl-slime-swank)
("cl-markup" ,sbcl-cl-markup)
("cl-css" ,sbcl-cl-css)
("usocket" ,sbcl-usocket)
("bordeaux-threads" ,sbcl-bordeaux-threads)
("s-xml-rpc" ,sbcl-s-xml-rpc)
("unix-opts" ,sbcl-unix-opts)))

View File

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

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 @@ It converts the procedure call into an XML document, sends it to a remote
server using HTTP, and gets back the response as XML. This library provides a
modular implementation of XML-RPC for C and C++.")
(license (list license:psfl license:expat))))
(define-public python-xmltodict
(package
(name "python-xmltodict")
(version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "xmltodict" version))
(sha256
(base32
"1pxh4yjhvmxi1h6f92skv41g4kbsws3ams57150kzn18m907v3cg"))))
(build-system python-build-system)
(native-inputs
`(("python-coverage" ,python-coverage)
("python-nose" ,python-nose)))
(home-page "https://github.com/martinblech/xmltodict")
(synopsis "Work with XML like you are working with JSON")
(description "This package provides a Python library to convert XML to
@code{OrderedDict}.")
(license license:expat)))

View File

@ -1499,26 +1499,27 @@ starting at FIRST-UID, and under GID."
1+
1))
(define (hydra-key-authorization key guix)
"Return a gexp with code to register KEY, a file containing a 'guix archive'
public key, with GUIX."
(define (hydra-key-authorization keys guix)
"Return a gexp with code to register KEYS, a list of files containing 'guix
archive' public keys, with GUIX."
#~(unless (file-exists? "/etc/guix/acl")
(let ((pid (primitive-fork)))
(case pid
((0)
(let* ((key #$key)
(port (open-file key "r0b")))
(format #t "registering public key '~a'...~%" key)
(close-port (current-input-port))
(dup port 0)
(execl #$(file-append guix "/bin/guix")
"guix" "archive" "--authorize")
(exit 1)))
(else
(let ((status (cdr (waitpid pid))))
(unless (zero? status)
(format (current-error-port) "warning: \
failed to register hydra.gnu.org public key: ~a~%" status))))))))
(for-each (lambda (key)
(let ((pid (primitive-fork)))
(case pid
((0)
(let* ((port (open-file key "r0b")))
(format #t "registering public key '~a'...~%" key)
(close-port (current-input-port))
(dup port 0)
(execl #$(file-append guix "/bin/guix")
"guix" "archive" "--authorize")
(primitive-exit 1)))
(else
(let ((status (cdr (waitpid pid))))
(unless (zero? status)
(format (current-error-port) "warning: \
failed to register public key '~a': ~a~%" key status)))))))
'(#$@keys))))
(define %default-authorized-guix-keys
;; List of authorized substitute keys.
@ -1630,10 +1631,9 @@ failed to register hydra.gnu.org public key: ~a~%" status))))))))
;; otherwise call 'chown' here, but the problem is that on a COW overlayfs,
;; chown leads to an entire copy of the tree, which is a bad idea.
;; Optionally authorize hydra.gnu.org's key.
;; Optionally authorize substitute server keys.
(if authorize-key?
#~(begin
#$@(map (cut hydra-key-authorization <> guix) keys))
(hydra-key-authorization keys guix)
#~#f))))
(define* (references-file item #:optional (name "references"))

View File

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

View File

@ -250,7 +250,7 @@ You have been warned. Thanks for being so brave.\x1b[0m
;; The usual services.
(syslog-service)
;; The build daemon. Register the hydra.gnu.org key as trusted.
;; The build daemon. Register the official server keys as trusted.
;; This allows the installation process to use substitutes by
;; default.
(guix-service (guix-configuration (authorize-key? #t)))

View File

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

View File

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

View File

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

View File

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

View File

@ -89,7 +89,7 @@ Display information about the channels currently in use.\n"))
(define (channel->sexp channel)
`(channel
(name ,(channel-name channel))
(name ',(channel-name channel))
(url ,(channel-url channel))
(commit ,(channel-commit channel))))

View File

@ -278,7 +278,12 @@ the latest known version of ~a (~a)~%")
(define (all-packages)
"Return the list of all the distro's packages."
(fold-packages cons '()
(fold-packages (lambda (package result)
;; Ignore deprecated packages.
(if (package-superseded package)
result
(cons package result)))
'()
#:select? (const #t))) ;include hidden packages
(define (list-dependents packages)

View File

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

View File

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

View File

@ -497,9 +497,10 @@ STORE is an open connection to the store."
(old-entries (map boot-parameters->menu-entry old-params)))
(run-with-store store
(mlet* %store-monad
((bootcfg ((bootloader-configuration-file-generator bootloader)
bootloader-config entries
#:old-entries old-entries))
((bootcfg (lower-object
((bootloader-configuration-file-generator bootloader)
bootloader-config entries
#:old-entries old-entries)))
(bootcfg-file -> (bootloader-configuration-file bootloader))
(target -> "/")
(drvs -> (list bootcfg)))

View File

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

View File

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

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