summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am2
-rw-r--r--build-aux/build-self.scm4
-rw-r--r--build-aux/pre-inst-env.in7
-rw-r--r--build-aux/test-env.in22
-rw-r--r--doc/contributing.texi33
-rw-r--r--doc/guix.texi16
-rwxr-xr-xetc/guix-install.sh9
-rw-r--r--gnu/local.mk26
-rw-r--r--gnu/packages/abiword.scm5
-rw-r--r--gnu/packages/accessibility.scm37
-rw-r--r--gnu/packages/admin.scm213
-rw-r--r--gnu/packages/algebra.scm14
-rw-r--r--gnu/packages/android.scm9
-rw-r--r--gnu/packages/avr.scm23
-rw-r--r--gnu/packages/backup.scm7
-rw-r--r--gnu/packages/base.scm35
-rw-r--r--gnu/packages/benchmark.scm38
-rw-r--r--gnu/packages/bioinformatics.scm17
-rw-r--r--gnu/packages/bootloaders.scm24
-rw-r--r--gnu/packages/cdrom.scm14
-rw-r--r--gnu/packages/chemistry.scm27
-rw-r--r--gnu/packages/compton.scm22
-rw-r--r--gnu/packages/coq.scm48
-rw-r--r--gnu/packages/cran.scm5
-rw-r--r--gnu/packages/docker.scm46
-rw-r--r--gnu/packages/efi.scm218
-rw-r--r--gnu/packages/emacs-xyz.scm297
-rw-r--r--gnu/packages/embedded.scm12
-rw-r--r--gnu/packages/emulators.scm14
-rw-r--r--gnu/packages/engineering.scm22
-rw-r--r--gnu/packages/finance.scm92
-rw-r--r--gnu/packages/freeipmi.scm5
-rw-r--r--gnu/packages/games.scm8
-rw-r--r--gnu/packages/gnome.scm90
-rw-r--r--gnu/packages/golang.scm33
-rw-r--r--gnu/packages/guile-xyz.scm172
-rw-r--r--gnu/packages/ipfs.scm98
-rw-r--r--gnu/packages/libusb.scm53
-rw-r--r--gnu/packages/linux.scm31
-rw-r--r--gnu/packages/lisp.scm4
-rw-r--r--gnu/packages/mail.scm10
-rw-r--r--gnu/packages/maths.scm508
-rw-r--r--gnu/packages/messaging.scm6
-rw-r--r--gnu/packages/monitoring.scm8
-rw-r--r--gnu/packages/mpi.scm38
-rw-r--r--gnu/packages/music.scm11
-rw-r--r--gnu/packages/networking.scm6
-rw-r--r--gnu/packages/ocaml.scm1141
-rw-r--r--gnu/packages/package-management.scm28
-rw-r--r--gnu/packages/patches/ao-cad-aarch64-support.patch18
-rw-r--r--gnu/packages/patches/blender-newer-ffmpeg.patch80
-rw-r--r--gnu/packages/patches/cool-retro-term-dont-check-uninit-member.patch33
-rw-r--r--gnu/packages/patches/cool-retro-term-fix-array-size.patch25
-rw-r--r--gnu/packages/patches/cool-retro-term-memory-leak-1.patch32
-rw-r--r--gnu/packages/patches/glibc-memchr-overflow-i686.patch74
-rw-r--r--gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch169
-rw-r--r--gnu/packages/patches/hdf5-mpi-deprecations.patch61
-rw-r--r--gnu/packages/patches/mcron-install.patch22
-rw-r--r--gnu/packages/patches/musescore-fix-use_webengine.patch165
-rw-r--r--gnu/packages/patches/net-tools-bitrot.patch108
-rw-r--r--gnu/packages/patches/nyx-show-header-stats-with-python3.patch70
-rw-r--r--gnu/packages/patches/ocaml-findlib-make-install.patch20
-rw-r--r--gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch34
-rw-r--r--gnu/packages/patches/openldap-CVE-2017-9287.patch37
-rw-r--r--gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch16
-rw-r--r--gnu/packages/patches/readline-7.0-mingw.patch28
-rw-r--r--gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch57
-rw-r--r--gnu/packages/patches/u-boot-pinebook-a64-update-dts.patch1485
-rw-r--r--gnu/packages/patches/u-boot-pinebook-dts.patch388
-rw-r--r--gnu/packages/patches/u-boot-pinebook-mmc-calibration.patch98
-rw-r--r--gnu/packages/patches/u-boot-pinebook-r_i2c-controller.patch70
-rw-r--r--gnu/packages/patches/u-boot-pinebook-syscon-node.patch38
-rw-r--r--gnu/packages/patches/u-boot-pinebook-video-bridge.patch50
-rw-r--r--gnu/packages/patches/xboing-CVE-2004-0149.patch134
-rw-r--r--gnu/packages/perl-compression.scm14
-rw-r--r--gnu/packages/photo.scm6
-rw-r--r--gnu/packages/python-xyz.scm135
-rw-r--r--gnu/packages/rdesktop.scm4
-rw-r--r--gnu/packages/scheme.scm6
-rw-r--r--gnu/packages/sdl.scm4
-rw-r--r--gnu/packages/shellutils.scm23
-rw-r--r--gnu/packages/spice.scm4
-rw-r--r--gnu/packages/ssh.scm10
-rw-r--r--gnu/packages/suckless.scm10
-rw-r--r--gnu/packages/syncthing.scm25
-rw-r--r--gnu/packages/terminals.scm24
-rw-r--r--gnu/packages/time.scm41
-rw-r--r--gnu/packages/tls.scm6
-rw-r--r--gnu/packages/tor.scm21
-rw-r--r--gnu/packages/uml.scm10
-rw-r--r--gnu/packages/version-control.scm39
-rw-r--r--gnu/packages/video.scm8
-rw-r--r--gnu/packages/virtualization.scm4
-rw-r--r--gnu/packages/vpn.scm7
-rw-r--r--gnu/packages/web.scm6
-rw-r--r--gnu/packages/wine.scm8
-rw-r--r--gnu/packages/wm.scm15
-rw-r--r--guix/build/dune-build-system.scm4
-rw-r--r--guix/config.scm.in6
-rw-r--r--guix/gexp.scm15
-rw-r--r--guix/git.scm136
-rw-r--r--guix/import/opam.scm46
-rw-r--r--guix/monads.scm15
-rw-r--r--guix/profiles.scm59
-rw-r--r--guix/scripts/build.scm3
-rw-r--r--guix/scripts/package.scm4
-rw-r--r--guix/scripts/pull.scm26
-rw-r--r--guix/self.scm18
-rw-r--r--guix/status.scm87
-rw-r--r--guix/store.scm5
-rw-r--r--guix/ui.scm8
-rw-r--r--nix/libstore/build.cc4
-rw-r--r--nix/libstore/builtins.cc10
-rw-r--r--nix/libstore/gc.cc2
-rw-r--r--nix/libstore/globals.cc19
-rw-r--r--nix/libstore/globals.hh2
-rw-r--r--nix/libstore/local-store.cc10
-rw-r--r--nix/local.mk5
-rw-r--r--nix/nix-daemon/guix-daemon.cc21
-rw-r--r--tests/derivations.scm15
-rw-r--r--tests/guix-build.sh4
-rw-r--r--tests/guix-daemon.sh2
-rw-r--r--tests/guix-package.sh7
-rw-r--r--tests/opam.scm4
-rw-r--r--tests/profiles.scm17
-rw-r--r--tests/status.scm33
-rw-r--r--tests/store.scm13
127 files changed, 4005 insertions, 3945 deletions
diff --git a/Makefile.am b/Makefile.am
index 0590c51519..fec9800ce7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -318,7 +318,7 @@ nobase_nodist_guileobject_DATA = $(GOBJECTS)
# Handy way to remove the .go files without removing all the rest.
clean-go:
-$(RM) -f $(GOBJECTS)
- @find . -name '*.go' -print | \
+ @find . -path ./test-tmp -prune -o -name '*.go' -print | \
if test -t 1; then \
xargs -r echo -e "\033[31mwarning:\033[0m stray .go files:"; \
else \
diff --git a/build-aux/build-self.scm b/build-aux/build-self.scm
index f70c3d91ff..d18b4504cf 100644
--- a/build-aux/build-self.scm
+++ b/build-aux/build-self.scm
@@ -114,11 +114,11 @@
(define %state-directory
;; This must match `NIX_STATE_DIR' as defined in
;; `nix/local.mk'.
- (or (getenv "NIX_STATE_DIR")
+ (or (getenv "GUIX_STATE_DIRECTORY")
(string-append %localstatedir "/guix")))
(define %store-database-directory
- (or (getenv "NIX_DB_DIR")
+ (or (getenv "GUIX_DATABASE_DIRECTORY")
(string-append %state-directory "/db")))
(define %config-directory
diff --git a/build-aux/pre-inst-env.in b/build-aux/pre-inst-env.in
index 286a81591c..3efab69e7d 100644
--- a/build-aux/pre-inst-env.in
+++ b/build-aux/pre-inst-env.in
@@ -1,7 +1,7 @@
#!/bin/sh
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2017 Eric Bavier <bavier@cray.com>
#
# This file is part of GNU Guix.
@@ -45,10 +45,9 @@ export PATH
# Daemon helpers.
NIX_ROOT_FINDER="$abs_top_builddir/nix/scripts/list-runtime-roots"
-NIX_SUBSTITUTERS="$abs_top_builddir/nix/scripts/substitute"
-NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'guix-authenticate'
+NIX_LIBEXEC_DIR="@abs_top_builddir@/nix/scripts" # for 'authenticate', etc.
-export NIX_ROOT_FINDER NIX_SUBSTITUTERS NIX_LIBEXEC_DIR
+export NIX_ROOT_FINDER NIX_LIBEXEC_DIR
NIX_BUILD_HOOK="$abs_top_builddir/nix/scripts/offload"
@BUILD_DAEMON_OFFLOAD_TRUE@export NIX_BUILD_HOOK
diff --git a/build-aux/test-env.in b/build-aux/test-env.in
index aaadcf205b..b1470bb953 100644
--- a/build-aux/test-env.in
+++ b/build-aux/test-env.in
@@ -1,7 +1,7 @@
#!/bin/sh
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -51,19 +51,19 @@ then
NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`"
NIX_LOCALSTATE_DIR="@GUIX_TEST_ROOT@/var"
- NIX_LOG_DIR="@GUIX_TEST_ROOT@/var/log/guix"
- NIX_DB_DIR="@GUIX_TEST_ROOT@/db"
+ GUIX_LOG_DIRECTORY="@GUIX_TEST_ROOT@/var/log/guix"
+ GUIX_DATABASE_DIRECTORY="@GUIX_TEST_ROOT@/db"
NIX_ROOT_FINDER="@abs_top_builddir@/nix/scripts/list-runtime-roots"
# Choose a PID-dependent name to allow for parallel builds. Note
# that the directory name must be chosen so that the socket's file
# name is less than 108-char long (the size of `sun_path' in glibc).
# Currently, in Nix builds, we're at ~106 chars...
- NIX_STATE_DIR="@GUIX_TEST_ROOT@/var/$$"
+ GUIX_STATE_DIRECTORY="@GUIX_TEST_ROOT@/var/$$"
# We can't exit when we reach the limit, because perhaps the test doesn't
# actually rely on the daemon, but at least warn.
- if test "`echo -n "$NIX_STATE_DIR/daemon-socket/socket" | wc -c`" -ge 108
+ if test "`echo -n "$GUIX_STATE_DIRECTORY/daemon-socket/socket" | wc -c`" -ge 108
then
echo "warning: exceeding socket file name limit; test may fail!" >&2
fi
@@ -82,22 +82,22 @@ then
fi
# A place to store data of the substituter.
- GUIX_BINARY_SUBSTITUTE_URL="file://$NIX_STATE_DIR/substituter-data"
- rm -rf "$NIX_STATE_DIR/substituter-data"
- mkdir -p "$NIX_STATE_DIR/substituter-data"
+ GUIX_BINARY_SUBSTITUTE_URL="file://$GUIX_STATE_DIRECTORY/substituter-data"
+ rm -rf "$GUIX_STATE_DIRECTORY/substituter-data"
+ mkdir -p "$GUIX_STATE_DIRECTORY/substituter-data"
# For a number of tests, we want to allow unsigned narinfos, for
# simplicity.
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES=yes
# Place for the substituter's cache.
- XDG_CACHE_HOME="$NIX_STATE_DIR/cache-$$"
+ XDG_CACHE_HOME="$GUIX_STATE_DIRECTORY/cache-$$"
# For the (guix import snix) tests.
NIXPKGS="@NIXPKGS@"
export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \
- NIX_LOCALSTATE_DIR NIX_LOG_DIR NIX_STATE_DIR NIX_DB_DIR \
+ NIX_LOCALSTATE_DIR GUIX_LOG_DIRECTORY GUIX_STATE_DIRECTORY GUIX_DATABASE_DIRECTORY \
NIX_ROOT_FINDER GUIX_BINARY_SUBSTITUTE_URL \
GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES \
GUIX_CONFIGURATION_DIRECTORY XDG_CACHE_HOME NIXPKGS
@@ -109,7 +109,7 @@ then
--substitute-urls="$GUIX_BINARY_SUBSTITUTE_URL" &
daemon_pid=$!
- trap "kill $daemon_pid ; rm -rf $NIX_STATE_DIR" EXIT
+ trap "kill $daemon_pid ; rm -rf $GUIX_STATE_DIRECTORY" EXIT
# The test suite expects the 'guile-bootstrap' package to be available.
# Normally the Guile bootstrap tarball is downloaded by a fixed-output
diff --git a/doc/contributing.texi b/doc/contributing.texi
index ecc20dabc5..9459c481a7 100644
--- a/doc/contributing.texi
+++ b/doc/contributing.texi
@@ -171,7 +171,11 @@ The Perfect Setup to hack on Guix is basically the perfect setup used
for Guile hacking (@pxref{Using Guile in Emacs,,, guile, Guile Reference
Manual}). First, you need more than an editor, you need
@url{http://www.gnu.org/software/emacs, Emacs}, empowered by the
-wonderful @url{http://nongnu.org/geiser/, Geiser}.
+wonderful @url{http://nongnu.org/geiser/, Geiser}. To set that up, run:
+
+@example
+guix package -i emacs guile emacs-geiser
+@end example
Geiser allows for interactive and incremental development from within
Emacs: code compilation and evaluation from within buffers, access to
@@ -814,6 +818,33 @@ Make sure the package builds on your platform, using @code{guix build
@var{package}}.
@item
+We recommend you also try building the package on other supported
+platforms. As you may not have access to actual hardware platforms, we
+recommend using the @code{qemu-binfmt-service-type} to emulate them. In
+order to enable it, add the following service to the list of services in
+your @code{operating-system} configuration:
+
+@example
+(service qemu-binfmt-service-type
+ (qemu-binfmt-configuration
+ (platforms (lookup-qemu-platforms "arm" "aarch64" "ppc" "mips64el"))
+ (guix-support? #t)))
+@end example
+
+Then reconfigure your system.
+
+You can then build packages for different platforms by specifying the
+@code{--system} option. For example, to build the "hello" package for
+the armhf, aarch64, powerpc, or mips64 architectures, you would run the
+following commands, respectively:
+@example
+guix build --system=armhf-linux --rounds=2 hello
+guix build --system=aarch64-linux --rounds=2 hello
+guix build --system=powerpc-linux --rounds=2 hello
+guix build --system=mips64el-linux --rounds=2 hello
+@end example
+
+@item
@cindex bundling
Make sure the package does not use bundled copies of software already
available as separate packages.
diff --git a/doc/guix.texi b/doc/guix.texi
index 580b599ccd..aab8978fca 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2375,7 +2375,8 @@ The installation image described above was built using the @command{guix
system} command, specifically:
@example
-guix system disk-image gnu/system/install.scm
+guix system disk-image --file-system-type=iso9660 \
+ gnu/system/install.scm
@end example
Have a look at @file{gnu/system/install.scm} in the source tree,
@@ -7288,7 +7289,8 @@ care!
Build @var{package} from the latest commit of @var{branch}. The @code{source}
field of @var{package} must be an origin with the @code{git-fetch} method
(@pxref{origin Reference}) or a @code{git-checkout} object; the repository URL
-is taken from that @code{source}.
+is taken from that @code{source}. Git sub-modules of the repository are
+fetched, recursively.
For instance, the following command builds @code{guile-sqlite3} from the
latest commit of its @code{master} branch, and then builds @code{guix} (which
@@ -9982,10 +9984,10 @@ version:
The @code{services} field lists @dfn{system services} to be made
available when the system starts (@pxref{Services}).
The @code{operating-system} declaration above specifies that, in
-addition to the basic services, we want the @command{lshd} secure shell
+addition to the basic services, we want the OpenSSH secure shell
daemon listening on port 2222 (@pxref{Networking Services,
-@code{lsh-service}}). Under the hood,
-@code{lsh-service} arranges so that @code{lshd} is started with the
+@code{openssh-service-type}}). Under the hood,
+@code{openssh-service-type} arranges so that @command{sshd} is started with the
right command-line options, possibly with supporting configuration files
generated as needed (@pxref{Defining Services}).
@@ -23464,7 +23466,7 @@ Guix system services are connected by @dfn{extensions}. For instance, the
secure shell service @emph{extends} the Shepherd---the
initialization system, running as PID@tie{}1---by giving it the command
lines to start and stop the secure shell daemon (@pxref{Networking
-Services, @code{lsh-service}}); the UPower service extends the D-Bus
+Services, @code{openssh-service-type}}); the UPower service extends the D-Bus
service by passing it its @file{.service} specification, and extends the
udev service by passing it device management rules (@pxref{Desktop
Services, @code{upower-service}}); the Guix daemon service extends the
@@ -23491,7 +23493,7 @@ particular operating system definition.
Technically, developers can define @dfn{service types} to express these
relations. There can be any number of services of a given type on the
system---for instance, a system running two instances of the GNU secure
-shell server (lsh) has two instances of @var{lsh-service-type}, with
+shell server (lsh) has two instances of @code{lsh-service-type}, with
different parameters.
The following section describes the programming interface for service
diff --git a/etc/guix-install.sh b/etc/guix-install.sh
index 8eb5214049..dc8de2fe92 100755
--- a/etc/guix-install.sh
+++ b/etc/guix-install.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
# GNU Guix --- Functional package management for GNU
# Copyright © 2017 sharlatan <sharlatanus@gmail.com>
# Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
@@ -19,6 +19,13 @@
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+# We require Bash but for portability we'd rather not use /bin/bash or
+# /usr/bin/env in the shebang, hence this hack.
+if [ "x$BASH_VERSION" = "x" ]
+then
+ exec bash "$0" "$@"
+fi
+
set -e
[ "$UID" -eq 0 ] || { echo "This script must be run as root."; exit 1; }
diff --git a/gnu/local.mk b/gnu/local.mk
index a63f595b30..1ea8069308 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -152,6 +152,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/education.scm \
+ %D%/packages/efi.scm \
%D%/packages/electronics.scm \
%D%/packages/elf.scm \
%D%/packages/elixir.scm \
@@ -639,7 +640,6 @@ dist_patch_DATA = \
%D%/packages/patches/antiword-CVE-2014-8123.patch \
%D%/packages/patches/antlr3-3_1-fix-java8-compilation.patch \
%D%/packages/patches/antlr3-3_3-fix-java8-compilation.patch \
- %D%/packages/patches/ao-cad-aarch64-support.patch \
%D%/packages/patches/apr-skip-getservbyname-test.patch \
%D%/packages/patches/aria2-CVE-2019-3500.patch \
%D%/packages/patches/aspell-default-dict-dir.patch \
@@ -663,7 +663,6 @@ dist_patch_DATA = \
%D%/packages/patches/biber-fix-encoding-write.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
- %D%/packages/patches/blender-newer-ffmpeg.patch \
%D%/packages/patches/boost-fix-icu-build.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
@@ -696,9 +695,6 @@ dist_patch_DATA = \
%D%/packages/patches/coda-use-system-libs.patch \
%D%/packages/patches/combinatorial-blas-awpm.patch \
%D%/packages/patches/combinatorial-blas-io-fix.patch \
- %D%/packages/patches/cool-retro-term-dont-check-uninit-member.patch \
- %D%/packages/patches/cool-retro-term-fix-array-size.patch \
- %D%/packages/patches/cool-retro-term-memory-leak-1.patch \
%D%/packages/patches/cpio-CVE-2016-2037.patch \
%D%/packages/patches/cpufrequtils-fix-aclocal.patch \
%D%/packages/patches/cracklib-CVE-2016-6318.patch \
@@ -822,7 +818,6 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-hurd-magic-pid.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
%D%/packages/patches/glibc-locales.patch \
- %D%/packages/patches/glibc-memchr-overflow-i686.patch \
%D%/packages/patches/glibc-o-largefile.patch \
%D%/packages/patches/glibc-reinstate-prlimit64-fallback.patch \
%D%/packages/patches/glibc-vectorized-strcspn-guards.patch \
@@ -872,6 +867,8 @@ dist_patch_DATA = \
%D%/packages/patches/hdf4-reproducibility.patch \
%D%/packages/patches/hdf4-shared-fortran.patch \
%D%/packages/patches/hdf5-config-date.patch \
+ %D%/packages/patches/hdf5-mpi-deprecations.patch \
+ %D%/packages/patches/hdf5-1.8-mpi-deprecations.patch \
%D%/packages/patches/hdf-eos2-build-shared.patch \
%D%/packages/patches/hdf-eos2-remove-gctp.patch \
%D%/packages/patches/hdf-eos2-fortrantests.patch \
@@ -1029,7 +1026,6 @@ dist_patch_DATA = \
%D%/packages/patches/maxima-defsystem-mkdir.patch \
%D%/packages/patches/maven-generate-component-xml.patch \
%D%/packages/patches/maven-generate-javax-inject-named.patch \
- %D%/packages/patches/mcron-install.patch \
%D%/packages/patches/mcrypt-CVE-2012-4409.patch \
%D%/packages/patches/mcrypt-CVE-2012-4426.patch \
%D%/packages/patches/mcrypt-CVE-2012-4527.patch \
@@ -1054,9 +1050,9 @@ dist_patch_DATA = \
%D%/packages/patches/mumps-build-parallelism.patch \
%D%/packages/patches/mupen64plus-ui-console-notice.patch \
%D%/packages/patches/mupen64plus-video-z64-glew-correct-path.patch \
+ %D%/packages/patches/musescore-fix-use_webengine.patch \
%D%/packages/patches/mutt-store-references.patch \
%D%/packages/patches/m4-gnulib-libio.patch \
- %D%/packages/patches/net-tools-bitrot.patch \
%D%/packages/patches/netcdf-date-time.patch \
%D%/packages/patches/netcdf-tst_h_par.patch \
%D%/packages/patches/netsurf-message-timestamp.patch \
@@ -1071,15 +1067,12 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
- %D%/packages/patches/nyx-show-header-stats-with-python3.patch \
%D%/packages/patches/oath-toolkit-glibc-compat.patch \
%D%/packages/patches/ocaml-bisect-fix-camlp4-in-another-directory.patch \
%D%/packages/patches/ocaml-bitstring-fix-configure.patch \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
%D%/packages/patches/ocaml-enable-ocamldoc-reproducibility.patch \
- %D%/packages/patches/ocaml-findlib-make-install.patch \
- %D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \
%D%/packages/patches/omake-fix-non-determinism.patch \
%D%/packages/patches/ola-readdir-r.patch \
%D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \
@@ -1087,7 +1080,6 @@ dist_patch_DATA = \
%D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
- %D%/packages/patches/openldap-CVE-2017-9287.patch \
%D%/packages/patches/openocd-nrf52.patch \
%D%/packages/patches/opensmtpd-fix-crash.patch \
%D%/packages/patches/openssh-CVE-2018-20685.patch \
@@ -1169,7 +1161,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-cffi-x87-stack-clean.patch \
%D%/packages/patches/python-fix-tests.patch \
%D%/packages/patches/python2-larch-coverage-4.0a6-compatibility.patch \
- %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
@@ -1202,7 +1193,6 @@ dist_patch_DATA = \
%D%/packages/patches/rct-add-missing-headers.patch \
%D%/packages/patches/readline-link-ncurses.patch \
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
- %D%/packages/patches/readline-7.0-mingw.patch \
%D%/packages/patches/reposurgeon-add-missing-docbook-files.patch \
%D%/packages/patches/reptyr-fix-gcc-7.patch \
%D%/packages/patches/ripperx-missing-file.patch \
@@ -1242,6 +1232,7 @@ dist_patch_DATA = \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
+ %D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swig-guile-gc.patch \
%D%/packages/patches/swish-e-search.patch \
@@ -1278,12 +1269,6 @@ dist_patch_DATA = \
%D%/packages/patches/totem-meson-easy-codec.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \
%D%/packages/patches/twinkle-include-qregexpvalidator.patch \
- %D%/packages/patches/u-boot-pinebook-a64-update-dts.patch \
- %D%/packages/patches/u-boot-pinebook-mmc-calibration.patch \
- %D%/packages/patches/u-boot-pinebook-r_i2c-controller.patch \
- %D%/packages/patches/u-boot-pinebook-dts.patch \
- %D%/packages/patches/u-boot-pinebook-syscon-node.patch \
- %D%/packages/patches/u-boot-pinebook-video-bridge.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
%D%/packages/patches/unzip-CVE-2014-8141.patch \
@@ -1337,7 +1322,6 @@ dist_patch_DATA = \
%D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \
%D%/packages/patches/wpa-supplicant-krack-followups.patch \
%D%/packages/patches/x265-arm-flags.patch \
- %D%/packages/patches/xboing-CVE-2004-0149.patch \
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm
index 02f132f6f0..9d8c253a62 100644
--- a/gnu/packages/abiword.scm
+++ b/gnu/packages/abiword.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -51,8 +52,8 @@
(origin
(method url-fetch)
(uri
- (string-append "https://www.abisource.com/downloads/" name "/" version
- "/source/" name "-" version ".tar.gz"))
+ (string-append "https://www.abisource.com/downloads/abiword/" version
+ "/source/abiword-" version ".tar.gz"))
(sha256
(base32 "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg"))
(patches
diff --git a/gnu/packages/accessibility.scm b/gnu/packages/accessibility.scm
index d399f98f09..35c8c8f19b 100644
--- a/gnu/packages/accessibility.scm
+++ b/gnu/packages/accessibility.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -44,7 +45,7 @@
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/florence/florence/" version
- "/" name "-" version ".tar.bz2"))
+ "/florence-" version ".tar.bz2"))
(sha256
(base32
"07h9qm22krlwayhzvc391lr23vicw81s48g7rirvx1fj0zyr4aa2"))))
@@ -122,3 +123,37 @@ available to help to click.")
It works for both single pedal devices and three pedal devices. All supported
devices have vendorId:productId = 0c45:7403 or 0c45:7404.")
(license license:expat))))
+
+(define-public xmagnify
+ (package
+ (name "xmagnify")
+ (version "0.1.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/amiloradovsky/magnify.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1ngnp5f5zl3v35vhbdyjpymy6mwrs0476fm5nd7dzkba7n841jdh"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; none included
+ #:make-flags
+ (list "CC=gcc"
+ (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (inputs
+ `(("libX11" ,libx11)))
+ (home-page "https://gitlab.com/amiloradovsky/magnify")
+ (synopsis "Tiny screen magnifier for X11")
+ (description
+ "This program magnifies a screen region by an integer positive factor and
+draws the result on a window. It is useful as an accessibility tool, which
+works with every X Window System based GUI (depends only on libX11); or as an
+assistant for graphic designers, who need to select individual pixels.")
+ ;; Licensed either under Expat or GPLv2+.
+ (license (list license:expat license:gpl2+))))
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index dd98e087a8..f4c34e10fe 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -148,13 +148,15 @@ usual file attributes can be checked for inconsistencies.")
(package
(name "progress")
(version "0.14")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/Xfennec/"
- name "/archive/v" version ".tar.gz"))
- (sha256
- (base32 "1wcanixfsi5k4i9h5vrnncgjdncalsdfqllrxibxwpgfnf20sji1"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/Xfennec/progress.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1lk2v4b767klib93an4g3f7z5qrv9kdk9jf7545vw1immc4kamrl"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -162,12 +164,12 @@ usual file attributes can be checked for inconsistencies.")
(inputs
`(("ncurses" ,ncurses)))
(arguments
- `(#:tests? #f ; There is no test suite.
+ `(#:tests? #f ; no test suite
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
- (delete 'configure)))) ; There's no configure phase.
+ (delete 'configure)))) ; no configure script
(home-page "https://github.com/Xfennec/progress")
(synopsis "Program to view the progress of the coreutils commands")
(description "A program that looks for coreutils basic commands (cp, mv,
@@ -219,8 +221,8 @@ interface and is based on GNU Guile.")
(source (origin
(method url-fetch)
(uri (string-append
- "https://cr.yp.to/" name "/"
- name "-" version ".tar.gz"))
+ "https://cr.yp.to/daemontools/"
+ "daemontools-" version ".tar.gz"))
(sha256
(base32
"07scvw88faxkscxi91031pjkpccql6wspk4yrlnsbrrb5c0kamd5"))))
@@ -231,7 +233,7 @@ interface and is based on GNU Guile.")
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
- (chdir ,(string-append name "-" version))
+ (chdir ,(string-append "daemontools-" version))
#t))
(delete 'configure)
(add-before 'build 'patch
@@ -1539,14 +1541,13 @@ degradation and failure.")
(version "1.6.1")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/adrianlopezroche/fdupes/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/adrianlopezroche/fdupes.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1sj9pa40pbz6xdwbxfwhdhkvhdf1xc5gvggk9mdq26c41gdnyswx"))))
+ (base32 "19b6vqblddaw8ccw4sn0qsqzbswlhrz8ia6n4m3hymvcxn8skpz9"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
@@ -1703,13 +1704,13 @@ lookup to YAML Mode. You could enable the mode with @code{(add-hook
(version "0.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/opsengine/cpulimit/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opsengine/cpulimit.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "1nn2w849xd5bw4y5sqnll29nxdwl5h0cv4smc7dwmpb9qnd2ycb4"))))
+ (base32 "1dz045yhcsw1rdamzpz4bk8mw888in7fyqk1q1b3m1yk4pd1ahkh"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -1864,7 +1865,7 @@ platform-specific methods.")
(version "2.8.4")
(source (origin
(method url-fetch)
- (uri (string-append home-page name "-" version ".tar.gz"))
+ (uri (string-append home-page "audit-" version ".tar.gz"))
(sha256
(base32
"0f4ci6ffznnmgblwgv7ich9mjfk3p6y5l6m6h3chhmzw156nj454"))))
@@ -1979,22 +1980,22 @@ results (ndiff), and a packet generation and response analysis tool (nping).")
(package
(name "dstat")
(version "0.7.3")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/dagwieers/dstat/archive/"
- version ".tar.gz"))
- (file-name (string-append "dstat-" version ".tar.gz"))
- (sha256
- (base32
- "16286z3y2lc9nsq8njzjkv6k2vyxrj9xiixj1k3gnsbvhlhkirj6"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/dagwieers/dstat.git")
+ (commit version)))
+ (file-name (git-file-name "dstat" version))
+ (sha256
+ (base32 "0sbpna531034gr40w4g9cwz35s2fpf9h654paznsxw9fih91rfa5"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ;; no make check
+ `(#:tests? #f ; no make check
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "DESTDIR=" out)
"prefix=/"))
- ;; no configure script
+ ;; No configure script.
#:phases (modify-phases %standard-phases (delete 'configure))))
(inputs `(("python-2" ,python-2)))
(synopsis "Versatile resource statistics tool")
@@ -2014,16 +2015,17 @@ throughput (in the same interval).")
(define-public thefuck
(package
(name "thefuck")
- (version "3.27")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/nvbn/thefuck/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0my32n2x8x0f0wr8ql7qgk9qhb6ibv5b1rqs5b2r4nadv0gpiv96"))
- (patches (search-patches "thefuck-test-environ.patch"))))
+ (version "3.28")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/nvbn/thefuck.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "070b2sx8r0b4hry6xg97psxlikxghmz91zicg2cm6kc1yhgz4agc"))
+ (patches (search-patches "thefuck-test-environ.patch"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -2089,23 +2091,24 @@ produce uniform output across heterogeneous networks.")
(package
(name "cbatticon")
(version "1.6.8")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/valr/"
- name "/archive/" version ".tar.gz"))
- (sha256
- (base32
- "185lzvaijvyq7y8r7dvizhri0rf9lpc1anfgbbn4lznr1fr3z7rn"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/valr/cbatticon.git")
+ (commit version)))
+ (sha256
+ (base32 "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no tests
+ `(#:tests? #f ; no tests
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc")
#:phases
(modify-phases %standard-phases
- (delete 'configure)))) ; no configure script
+ (delete 'configure)))) ; no configure script
(inputs
`(("gtk+" ,gtk+)
("gettext" ,gettext-minimal)
@@ -2123,22 +2126,22 @@ the status of your battery in the system tray.")
(commit "896543735e1c99144765fdbd7b6e6b5afbd8b881"))
(package
(name "interrobang")
- (version (string-append "0.0.0-" revision "." (string-take commit 7)))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/TrilbyWhite/interrobang")
- (commit commit)))
- (file-name (string-append name "-" version))
- (sha256
- (base32
- "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/TrilbyWhite/interrobang.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1n13m70p1hfba5dy3i8hfclbr6k9q3d9dai3dg4jvhdhmxcpjzdf"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; no tests
+ `(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
- (delete 'configure)) ; no configure script
+ (delete 'configure)) ; no configure script
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))))
(inputs
@@ -2158,8 +2161,8 @@ shortcut syntax and completion options.")
(source (origin
(method url-fetch)
(uri (string-append
- "https://archives.eyrie.org/software/kerberos/" name "-"
- version ".tar.xz"))
+ "https://archives.eyrie.org/software/kerberos/"
+ "pam-krb5-" version ".tar.xz"))
(sha256
(base32
"1qjp8i1s9bz7g6kiqrkzzkxn5pfspa4sy53b6z40fqmdf9przdfb"))))
@@ -2205,11 +2208,12 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
(version "1.4.2")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/linux-sunxi/"
- "sunxi-tools/archive/v" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/linux-sunxi/sunxi-tools.git")
+ (commit (string-append "v" version))))
(sha256
- (base32 "08iqwj95qw2s7ilhrdi2lkbc8dx64zk5lzz1qk587jr0lla81x41"))
+ (base32 "04f3jqg8ww4jxsf9c6ddcdgy2xbhkyp0b3l5f1hvvbv94p81rjxd"))
(modules '((guix build utils)))
(snippet
;; Remove binaries contained in the tarball which are only for the
@@ -2217,7 +2221,7 @@ Kerberos and Heimdal and FAST is supported with recent MIT Kerberos.")
'(begin
(delete-file-recursively "bin")
#t))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (file-name (git-file-name name version))))
(native-inputs
`(("pkg-config" ,pkg-config)
("cross-gcc" ,(cross-gcc "arm-linux-gnueabihf"
@@ -2300,16 +2304,16 @@ in order to be able to find it.
(version "1.0")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/aureliojargas/sedsed/"
- "archive/v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/aureliojargas/sedsed.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0139jkqvm8ipiwfj7k69ry2f9b1ffgpk79arpz4r7w9kf6h23bnh"))))
+ (base32 "0009lsjsxhqmgaklpwq15hhd94hpiy7r4va69yy0ig3mxi6zbg2z"))))
(build-system python-build-system)
(arguments
- `(#:tests? #f ; No tests.
+ `(#:tests? #f ; no tests
#:python ,python-2
#:phases
(modify-phases %standard-phases
@@ -2364,7 +2368,7 @@ buffers.")
(method url-fetch)
(uri (string-append "https://cgit.freedesktop.org/xorg/app/"
"intel-gpu-tools/snapshot/"
- name "-" version ".tar.gz"))
+ "igt-gpu-tools-" version ".tar.gz"))
(sha256
(base32
"0vzv2i4jfv2pkbqby5k3ap9pzidkmajwqmg3s7wnv8i1h33775iq"))))
@@ -2494,7 +2498,7 @@ you are running, what theme or icon set you are using, etc.")
(origin
(method url-fetch)
(uri (string-append "https://github.com/jarun/nnn/releases/download/v"
- version "/" name "-v" version ".tar.gz"))
+ version "/nnn-v" version ".tar.gz"))
(sha256
(base32 "1d6z12y4rlg4dzhpm30irpq2ak8hjh5zykkp2n7vxnz5m4ki89zp"))))
(build-system gnu-build-system)
@@ -2565,14 +2569,15 @@ on systems running the Linux kernel.")
(package
(name "masscan")
(version "1.0.5")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/robertdavidgraham/masscan"
- "/archive/" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "0wxddsgyx27z45906icdhdbfsvfj8ij805208qpqjx46i0lnjs50"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/robertdavidgraham/masscan.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0q0c7bsf0pbl8napry1qyg0gl4pd8wn872h4mz9b56dx4rx90vqg"))))
(build-system gnu-build-system)
(inputs
`(("libpcap" ,libpcap)))
@@ -2608,7 +2613,7 @@ application, collecting the information received.")
(method url-fetch)
(uri (string-append "https://github.com/jwilk/hungrycat/"
"releases/download/" version "/"
- name "-" version ".tar.gz"))
+ "hungrycat-" version ".tar.gz"))
(sha256
(base32
"03fc1zsrf99lvxa7b4ps6pbi43304wbxh1f6ci4q0vkal370yfwh"))))
@@ -2640,7 +2645,7 @@ late.")
(method url-fetch)
(uri (string-append
"https://github.com/LLNL/LaunchMON/releases/download/v"
- version "/" name "-v" version ".tar.gz"))
+ version "/launchmon-v" version ".tar.gz"))
(sha256
(base32
"0fm3nd9mydm9v2bf7bh01dbgrfnpwkapxa3dsvy3x1z0rz61qc0x"))))
@@ -2810,17 +2815,17 @@ support forum. It runs with the @code{/exec} command in most IRC clients.")
(define-public pscircle
(package
(name "pscircle")
- (version "1.1.0")
+ (version "1.3.0")
(source
(origin
- (method url-fetch)
- (uri (string-append
- "https://gitlab.com/mildlyparallel/pscircle/-/archive/v"
- version "/pscircle-v" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/mildlyparallel/pscircle.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1k757yf2bmgfrjd417l6kpcf83hlvi0z1791vz967mwcklrsb3fj"))))
+ "0qsif00dkqa8ky3vl2ycx5anx2yk62nrv47f5lrlqzclz91f00fx"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -2917,7 +2922,7 @@ Logitech Unifying Receiver.")
(define-public lynis
(package
(name "lynis")
- (version "2.7.0")
+ (version "2.7.1")
(source
(origin
(method git-fetch)
@@ -2927,7 +2932,7 @@ Logitech Unifying Receiver.")
(file-name (git-file-name name version))
(sha256
(base32
- "0rzc0y8lk22bymf56249jzmllki2lh0rz5in4lkrc5fkmp29c2wv"))
+ "1nv2dqd2k2n8mcdr6xl5g713xxkgvja6487by1wn4k0b416jij9i"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 757b1111d6..52eb6ee366 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -1,13 +1,13 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2014, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2017, 2019 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -246,7 +246,7 @@ precision.")
(define-public giac-xcas
(package
(name "giac-xcas")
- (version "1.5.0-29")
+ (version "1.5.0-37")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@@ -258,7 +258,7 @@ precision.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
- "1d904w02x6i26crbvw2d25v7j1hv1w461casyj5mgh42kzcdhb4c"))))
+ "1c6jmswv3ay13n6mjgh9w7nbpdgm5lbwdcmva5sli3vqn4chn3vq"))))
(build-system gnu-build-system)
(outputs '("out" "doc")) ;77MiB of documentation
(arguments
@@ -663,7 +663,11 @@ cosine/ sine transforms or DCT/DST).")
(arguments
(substitute-keyword-arguments (package-arguments fftw)
((#:configure-flags cf)
- `(cons "--enable-mpi" ,cf))))
+ `(cons "--enable-mpi" ,cf))
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (add-before 'check 'mpi-setup
+ ,%openmpi-setup)))))
(description
(string-append (package-description fftw)
" With OpenMPI parallelism support."))))
diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm
index 17bf428fe6..80eaab3e5c 100644
--- a/gnu/packages/android.scm
+++ b/gnu/packages/android.scm
@@ -7,6 +7,7 @@
;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -37,6 +38,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages docker)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages pcre)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
@@ -49,7 +51,7 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages xdisorg)
- #:use-module (gnu packages linux))
+ #:use-module (gnu packages xml))
(define-public android-make-stub
(package
@@ -871,14 +873,14 @@ useful for reverse engineering, analysis of Android applications and more.")
(define-public fdroidserver
(package
(name "fdroidserver")
- (version "1.0.10")
+ (version "1.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fdroidserver" version))
(sha256
(base32
- "0n6kkby65qzqdx1jn72grfffvr1w1j1rby5pwm9z8rymmsh8s0pm"))))
+ "0fp7q8faicx6i6wxm717qqaham3jpilb23mvynpz6v73z7hm6wcg"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -892,6 +894,7 @@ useful for reverse engineering, analysis of Android applications and more.")
`(("python-androguard" ,python-androguard)
("python-apache-libcloud" ,python-apache-libcloud)
("python-clint" ,python-clint)
+ ("python-defusedxml" ,python-defusedxml)
("python-docker-py" ,python-docker-py)
("python-gitpython" ,python-gitpython)
("python-mwclient" ,python-mwclient)
diff --git a/gnu/packages/avr.scm b/gnu/packages/avr.scm
index a84b43da6a..eaa3c7d046 100644
--- a/gnu/packages/avr.scm
+++ b/gnu/packages/avr.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
@@ -138,18 +140,19 @@ C++.")
(package
(name "microscheme")
(version "0.9.3")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ryansuchocki/"
- "microscheme/archive/v" version ".tar.gz"))
- (sha256
- (base32
- "1n404mh7z2icy3ga1mx249lk9x091k7idj6xpcf20hnmzabd0k0x"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ryansuchocki/microscheme.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1r3ng4pw1s9yy1h5rafra1rq19d3vmb5pzbpcz1913wz22qdd976"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(#:parallel-build? #f ; fails to build otherwise
- #:tests? #f ; no tests
+ `(#:parallel-build? #f ; fails to build otherwise
+ #:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure))
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index d50c7e4fdc..c312f23c1a 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -11,7 +11,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
-;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -564,6 +564,11 @@ detection, and lossless compression.")
;; HOME=/homeless-shelter.
(setenv "HOME" "/tmp")
#t)))
+ (add-after 'unpack 'remove-documentation-timestamps ; reproducibility
+ (lambda _
+ (substitute* "setup.py"
+ (("write\\(':Date:'.*") "\n"))
+ #t))
;; The tests need to be run after Borg is installed.
(delete 'check)
(add-after 'install 'check
diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 38d9524653..67fab7c114 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -1,11 +1,11 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2014, 2019 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
@@ -35,9 +35,11 @@
#:select (gpl3+ lgpl2.0+ lgpl3+ public-domain))
#:use-module (gnu packages)
#:use-module (gnu packages acl)
+ #:use-module (gnu packages algebra)
#:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages ed)
+ #:use-module (gnu packages gcc)
#:use-module (gnu packages guile)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages compression)
@@ -55,6 +57,8 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (ice-9 match)
+ #:use-module (srfi srfi-1)
+ #:use-module (srfi srfi-26)
#:export (glibc
libiconv-if-needed))
@@ -501,6 +505,33 @@ included.")
(license gpl3+)
(home-page "https://www.gnu.org/software/binutils/")))
+(define-public binutils-gold
+ (package
+ (inherit binutils)
+ (name "binutils-gold")
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'patch-source-shebangs 'patch-more-shebangs
+ (lambda _
+ (substitute* "gold/Makefile.in"
+ (("/bin/sh") (which "sh")))
+ #t)))
+ ,@(substitute-keyword-arguments (package-arguments binutils)
+ ; Upstream is aware of unrelocatable test failures on arm*.
+ ((#:tests? _ #f)
+ (if (any (cute string-prefix? <> (or (%current-target-system)
+ (%current-system)))
+ '("i686" "x86_64"))
+ '#t '#f))
+ ((#:configure-flags flags)
+ `(cons* "--enable-gold=default"
+ (delete "LDFLAGS=-static-libgcc" ,flags))))))
+ (native-inputs
+ `(("bc" ,bc)))
+ (inputs
+ `(("gcc:lib" ,gcc "lib")))))
+
(define* (make-ld-wrapper name #:key
(target (const #f))
binutils
diff --git a/gnu/packages/benchmark.scm b/gnu/packages/benchmark.scm
index c670a9af1c..43d42b37ad 100644
--- a/gnu/packages/benchmark.scm
+++ b/gnu/packages/benchmark.scm
@@ -3,6 +3,7 @@
;;; Copyright © 2017 Dave Love <fx@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
#: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 (gnu packages compression)
#:use-module (gnu packages linux)
@@ -114,16 +116,15 @@ is to write a job file matching the I/O load one wants to simulate.")
(define (imb mpi)
(package
(name (string-append "imb-" (package-name mpi)))
- (version "2017.2")
+ (version "2019.1")
(source
(origin
- (method url-fetch)
- (uri (match (string-split version #\.)
- ((major minor)
- (string-append
- "https://software.intel.com/sites/default/files/managed/76/6c/IMB_"
- major "_Update" minor ".tgz"))))
- (sha256 (base32 "11nczxm686rsppmw9gjc2p2sxc0jniv5kv18yxm1lzp5qfh5rqyb"))))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/intel/mpi-benchmarks.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "18hfdyvl5i172gadiq9si1qxif5rvic0lifxpbrr7s59ylg8f9c4"))))
(build-system gnu-build-system)
(inputs
`(("mpi" ,mpi)))
@@ -135,22 +136,19 @@ is to write a job file matching the I/O load one wants to simulate.")
(replace 'build
(lambda* (#:key inputs #:allow-other-keys)
(let ((mpi-home (assoc-ref inputs "mpi")))
- ;; Not safe for parallel build
- (invoke "make" "-C" "imb/src" "-f" "make_mpich" "SHELL=sh"
- (string-append "MPI_HOME=" mpi-home)))))
+ ;; Override default parallelism
+ (substitute* "Makefile"
+ (("make -j[[:digit:]]+")
+ (format #f "make -j~d" (parallel-job-count))))
+ (invoke "make" "SHELL=sh" "CC=mpicc" "CXX=mpic++"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (doc (string-append out "/share/doc/" ,name))
(bin (string-append out "/bin")))
- (with-directory-excursion "imb/src"
- (for-each
- (lambda (file)
- (install-file file bin))
- '("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA")))
- (mkdir-p doc)
- (with-directory-excursion "imb"
- (copy-recursively "license" doc)))
+ (for-each
+ (lambda (file)
+ (install-file file bin))
+ '("IMB-IO" "IMB-EXT" "IMB-MPI1" "IMB-NBC" "IMB-RMA" "IMB-MT")))
#t)))))
(home-page "https://software.intel.com/en-us/articles/intel-mpi-benchmarks")
(synopsis "Intel MPI Benchmarks")
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 23eba74175..02cafb2358 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -6020,7 +6020,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(define-public star
(package
(name "star")
- (version "2.7.0a")
+ (version "2.7.0b")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -6029,7 +6029,7 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1yx28gra6gqdx1ps5y8mpdinsn8r0dhsc2m3gcvjfrk71i9yhd6l"))
+ "1lih6cbpvnvhyvvswdhy06mwyzvwax96m723378v4z6psqzsh11d"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -6055,6 +6055,13 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(("(COMPILATION_TIME_PLACE=\")(.*)(\")" _ pre mid post)
(string-append pre "Built with Guix" post)))
#t))
+ ;; See https://github.com/alexdobin/STAR/pull/562
+ (add-after 'enter-source-dir 'add-missing-header
+ (lambda _
+ (substitute* "SoloReadFeature_inputRecords.cpp"
+ (("#include \"binarySearch2.h\"" h)
+ (string-append h "\n#include <math.h>")))
+ #t))
(add-after 'enter-source-dir 'do-not-use-bundled-htslib
(lambda _
(substitute* "Makefile"
@@ -8657,7 +8664,7 @@ library implementing most of the pipeline's features.")
(define-public rcas-web
(package
(name "rcas-web")
- (version "0.0.5")
+ (version "0.1.0")
(source
(origin
(method url-fetch)
@@ -8666,7 +8673,7 @@ library implementing most of the pipeline's features.")
"/rcas-web-" version ".tar.gz"))
(sha256
(base32
- "0igz7jpcf7cm9800zcag6p3gd1i649figrhbdba6cjkm8f4gfspr"))))
+ "0wq951aj45gqki1bickg876i993lmawkp8x24agg264br5x716db"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -8689,7 +8696,7 @@ library implementing most of the pipeline's features.")
("r-rcas" ,r-rcas)
("guile-next" ,guile-2.2)
("guile-json" ,guile-json)
- ("guile-redis" ,guile2.2-redis)))
+ ("guile-redis" ,guile-redis)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/BIMSBbioinfo/rcas-web")
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 0fbf481893..5bd784f73c 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -376,7 +376,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
- (version "2018.11")
+ (version "2019.01")
(source (origin
(method url-fetch)
(uri (string-append
@@ -384,7 +384,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
- "0znkwljfwwn4y7j20pzz4ilqw8znphrfxns0x1lwdzh3xbr96z3k"))))
+ "08hwsmh5xsb1gcxsv8gvx00bai938dm5y3889n8jif3a8rd7xgah"))))
(native-inputs
`(("bc" ,bc)
("bison" ,bison)
@@ -440,6 +440,11 @@ also initializes the boards (RAM etc).")
(("def test_ctrl_c")
"@pytest.mark.skip(reason='Guix has problems with SIGINT')
def test_ctrl_c"))
+ ;; This test requires a sound system, which is un-used in u-boot-tools.
+ (for-each (lambda (file)
+ (substitute* file
+ (("CONFIG_SOUND=y") "CONFIG_SOUND=n")))
+ (find-files "configs" "sandbox_.*defconfig$"))
#t))
(replace 'configure
(lambda* (#:key make-flags #:allow-other-keys)
@@ -595,20 +600,7 @@ board-independent tools.")))
(make-u-boot-sunxi64-package "pine64_plus" "aarch64-linux-gnu"))
(define-public u-boot-pinebook
- (let ((base (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu")))
- (package
- (inherit base)
- (source (origin
- (inherit (package-source u-boot))
- (patches (search-patches
- ;; Add patches to enable Pinebook support from sunxi
- ;; maintainer tree: git://git.denx.de/u-boot-sunxi.git
- "u-boot-pinebook-a64-update-dts.patch"
- "u-boot-pinebook-syscon-node.patch"
- "u-boot-pinebook-mmc-calibration.patch"
- "u-boot-pinebook-video-bridge.patch"
- "u-boot-pinebook-r_i2c-controller.patch"
- "u-boot-pinebook-dts.patch")))))))
+ (make-u-boot-sunxi64-package "pinebook" "aarch64-linux-gnu"))
(define-public u-boot-bananapi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index b44cc3bce9..546e1a20d0 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -525,7 +525,7 @@ from an audio CD.")
(define-public abcde
(package
(name "abcde")
- (version "2.9.2")
+ (version "2.9.3")
(home-page "https://abcde.einval.com/")
(source (origin
(method url-fetch)
@@ -533,19 +533,13 @@ from an audio CD.")
version ".tar.gz"))
(sha256
(base32
- "13c5yvp87ckqgha160ym5rdr1a4divgvyqbjh0yb6ffclip6qd9l"))
+ "091ip2iwb6b67bhjsj05l0sxyq2whqjycbzqpkfbpm4dlyxx0v04"))
(modules '((guix build utils)))
(snippet
- `(begin
+ '(begin
(substitute* "Makefile"
- ;; Fix abcde 2.9.2 still thinking it's 2.9.1.
- ;; XXX This will be fixed in the next release.
- (("(abcde_version = abcde-)(2.9.1)" _ good bad)
- (string-append good ,version))
(("/usr/bin/install")
- "install")
- (("^etcdir = .*$")
- (string-append "etcdir = $(prefix)/etc\n")))
+ "install"))
#t))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm
index a493af16f5..b6345b9d27 100644
--- a/gnu/packages/chemistry.scm
+++ b/gnu/packages/chemistry.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2018 Konrad Hinsen <konrad.hinsen@fastmail.net>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,6 +24,7 @@
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages boost)
@@ -44,18 +46,19 @@
(package
(name "avogadro")
(version "1.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/cryos/avogadro/archive/"
- version ".tar.gz"))
- (sha256
- (base32
- "02v4h6hi1m7ilv0apdf74a8l1cm6dxnxyqp0rdaidrp3i9pf6lv4"))
- (file-name (string-append name "-" version ".tar.gz"))
- (patches
- (search-patches "avogadro-eigen3-update.patch"
- "avogadro-python-eigen-lib.patch"
- "avogadro-boost148.patch"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cryos/avogadro.git")
+ (commit version)))
+ (sha256
+ (base32 "0258py3lkba85qhs5ynancinyym61vlp0zaq9yrfs3hhnhpzv9n2"))
+ (file-name (git-file-name name version))
+ (patches
+ (search-patches "avogadro-eigen3-update.patch"
+ "avogadro-python-eigen-lib.patch"
+ "avogadro-boost148.patch"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f
diff --git a/gnu/packages/compton.scm b/gnu/packages/compton.scm
index dec9a94eba..c5b4c4ef5f 100644
--- a/gnu/packages/compton.scm
+++ b/gnu/packages/compton.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
+;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,7 +20,7 @@
(define-module (gnu packages compton)
#: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 (gnu packages docbook)
#:use-module (gnu packages documentation)
@@ -38,15 +39,16 @@
(name "compton")
(version (string-filter (char-set-complement (char-set #\_))
upstream-version))
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/chjj/" name "/archive/v"
- upstream-version ".tar.gz"))
- (sha256
- (base32
- "02dhlqqcwnmlf2dxg7rd4lapgqahgndzixdkbpxicq9jawmdb73v"))
- (file-name (string-append name "-" version "-checkout"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/chjj/compton.git")
+ (commit (string-append "v" upstream-version))))
+ (sha256
+ (base32
+ "0v65viilhnd2xgvmdpzc1srxszcg8kj1vhi5gy9292j48w0s2fx1"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(inputs
`(("dbus" ,dbus)
diff --git a/gnu/packages/coq.scm b/gnu/packages/coq.scm
index 51dd5dedcf..e42f8af1ab 100644
--- a/gnu/packages/coq.scm
+++ b/gnu/packages/coq.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2019 Dan Frumin <dfrumin@cs.ru.nl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -31,6 +32,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
@@ -444,3 +446,49 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
simplifying the proofs of inequalities on expressions of real numbers for the
Coq proof assistant.")
(license license:cecill-c)))
+
+(define-public coq-autosubst
+ ;; Latest commit on that branch, where work on supporting coq 8.6 and
+ ;; more recent versions of coq happen.
+ (let ((branch "coq86-devel")
+ (commit "d0d73557979796b3d4be7aac72135581c33f26f7"))
+ (package
+ (name "coq-autosubst")
+ (version (git-version "1" branch commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://github.com/uds-psl/autosubst.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1852xb5cwkjw3dlc0lp2sakwa40bjzw37qmwz4bn3vqazg1hnh6r"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
+ (invoke "make"
+ (string-append "COQLIB=" (assoc-ref outputs "out")
+ "/lib/coq/")
+ "install"))))))
+ (native-inputs
+ `(("coq" ,coq)))
+ (home-page "https://www.ps.uni-saarland.de/autosubst/")
+ (synopsis "Coq library for parallel de Bruijn substitutions")
+ (description "Formalizing syntactic theories with variable binders is
+not easy. Autosubst is a library for the Coq proof assistant to
+automate this process. Given an inductive definition of syntactic objects in
+de Bruijn representation augmented with binding annotations, Autosubst
+synthesizes the parallel substitution operation and automatically proves the
+basic lemmas about substitutions. This library contains an automation
+tactic that solves equations involving terms and substitutions. This makes the
+usage of substitution lemmas unnecessary. The tactic is based on our current
+work on a decision procedure for the equational theory of an extension of the
+sigma-calculus by Abadi et al. The library is completely written in Coq and
+uses Ltac to synthesize the substitution operation.")
+ (license license:bsd-3))))
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index f6f4a08aab..975884e881 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -1827,7 +1827,10 @@ matrices.")
(properties `((upstream-name . "Rmpi")))
(build-system r-build-system)
(arguments
- `(#:configure-flags '("--configure-args=\"--with-Rmpi-type=OPENMPI\"")))
+ `(#:configure-flags '("--configure-args=\"--with-Rmpi-type=OPENMPI\"")
+ #:phases (modify-phases %standard-phases
+ (add-before 'install 'mpi-setup
+ ,%openmpi-setup))))
(inputs
`(("openmpi" ,openmpi)))
(native-inputs
diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm
index fef4a180f3..992eb0dcc1 100644
--- a/gnu/packages/docker.scm
+++ b/gnu/packages/docker.scm
@@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -160,7 +162,7 @@ Python without keeping their credentials in a Docker configuration file.")
(define-public containerd
(package
(name "containerd")
- (version "1.2.1")
+ (version "1.2.2")
(source
(origin
(method git-fetch)
@@ -170,7 +172,7 @@ Python without keeping their credentials in a Docker configuration file.")
(file-name (git-file-name name version))
(sha256
(base32
- "16zn6p1ky3yrgn53z8h9wza53ch91fj47wj5xgz6w4c57j30f66p"))))
+ "065snv0s3v3z0ghadlii4w78qnhchcbx2kfdrvm8fk8gb4pkx1ya"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/containerd/containerd"
@@ -526,5 +528,43 @@ provisioning etc.")
("pkg-config" ,pkg-config)))
(synopsis "Command line interface to Docker")
(description "This package provides a command line interface to Docker.")
- (home-page "http://www.docker.com/")
+ (home-page "https://www.docker.com/")
(license license:asl2.0)))
+
+(define-public cqfd
+ (package
+ (name "cqfd")
+ (version "5.0.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/savoirfairelinux/cqfd.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1z4v16lbpbwd5ykawizdclpryp2k006lbk2mv427a4b3nvcd9wik"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; The test suite requires a docker daemon and connectivity.
+ `(#:tests? #f
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (delete 'build)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ ;; Fix the directory of the bash completion.
+ (substitute* "Makefile"
+ (("completionsdir=.*$")
+ (string-append "completionsdir=" out
+ "/etc/bash_completion.d; \\\n")))
+ (invoke "make" "install"
+ (string-append "PREFIX=" out))))))))
+ (home-page "https://github.com/savoirfairelinux/cqfd")
+ (synopsis "Convenience wrapper for Docker")
+ (description "cqfd is a Bash script that provides a quick and convenient
+way to run commands in the ecurrent directory, but within a Docker container
+defined in a per-project configuration file.")
+ (license license:gpl3+)))
diff --git a/gnu/packages/efi.scm b/gnu/packages/efi.scm
new file mode 100644
index 0000000000..43e660743a
--- /dev/null
+++ b/gnu/packages/efi.scm
@@ -0,0 +1,218 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2019 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages efi)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages man)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages tls)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix utils))
+
+(define-public gnu-efi
+ (package
+ (name "gnu-efi")
+ (version "3.0.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/gnu-efi/"
+ name "-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1w3p4aqlc5j93q44la7dc8cr3hky20zvsd0h0k2lyzhwmrzfl5b7"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; None exist.
+ #:make-flags
+ (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure))))
+ (synopsis "EFI toolchain")
+ (description "This package provides an EFI (Extensible Firmware
+Interface) toolchain for building programs that can run in the
+environment presented by Intel's EFI.")
+ (home-page "https://directory.fsf.org/wiki/GNU_EFI")
+ ;; Distribution is allowed only when accepting all those licenses.
+ (license (list license:bsd-2 license:bsd-3 license:bsd-4 license:expat))))
+
+(define-public sbsigntools
+ (package
+ (name "sbsigntools")
+ (version "0.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "116649ixr6gvw9fqiljfflxsv4293hgm73bmba5ilxrzn4kpbzvb"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-more-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "lib/ccan.git/tools/create-ccan-tree"
+ (("#!/bin/bash")
+ (string-append "#!"
+ (assoc-ref inputs "bash")
+ "/bin/bash")))
+ #t))
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* '("configure.ac"
+ "tests/Makefile.am")
+ (("/usr/include/efi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/include/efi"))
+ (("/usr/lib/gnuefi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/lib")))
+ #t))
+ (add-after 'unpack 'setenv
+ (lambda _
+ (setenv "CC" "gcc")
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("bash" ,bash)
+ ("help2man" ,help2man)
+ ("pkg-config" ,pkg-config)
+ ("util-linux" ,util-linux))) ; getopt
+ (inputs
+ `(("gnu-efi" ,gnu-efi)
+ ("openssl" ,openssl)))
+ (synopsis "EFI signing tools")
+ (description "This package provides tools for signing EFI binaries.")
+ (home-page "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git/")
+ (license license:gpl3+)))
+
+(define-public efitools
+ (package
+ (name "efitools")
+ (version "1.9.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0jabgl2pxvfl780yvghq131ylpf82k7banjz0ksjhlm66ik8gb1i"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests exist.
+ #:make-flags
+ '("CC=gcc")
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (substitute* "Make.rules"
+ (("/usr/include/efi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/include/efi"))
+ (("\\$\\(DESTDIR\\)/usr")
+ (string-append (assoc-ref outputs "out")))
+ (("/usr/lib/gnuefi")
+ (string-append (assoc-ref inputs "gnu-efi")
+ "/lib")))
+ #t))
+ (add-after 'unpack 'patch-more-shebangs
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "xxdi.pl"
+ (("#!.*")
+ (string-append "#!"
+ (assoc-ref inputs "perl")
+ "/bin/perl\n")))
+ #t))
+ (delete 'configure))))
+ (native-inputs
+ `(("help2man" ,help2man)
+ ("perl" ,perl)
+ ("perl-file-slurp" ,perl-file-slurp)
+ ("sbsigntools" ,sbsigntools)))
+ (inputs
+ `(("gnu-efi" ,gnu-efi)
+ ("openssl" ,openssl)))
+ (synopsis "EFI tools (key management, variable management)")
+ (description "This package provides EFI tools for EFI key management
+and EFI variable management.")
+ (home-page "https://blog.hansenpartnership.com/efitools-1-4-with-linux-key-manipulation-utilities-released/")
+ ;; Programs are under GPL 2.
+ ;; Library routines (in lib/) are under LGPL 2.1.
+ ;; Compiling/linking/using OpenSSL is permitted.
+ (license (list license:gpl2
+ license:lgpl2.1))))
+
+(define-public efilinux
+ (package
+ (name "efilinux")
+ (version "1.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mfleming/efilinux.git")
+ (commit (string-append "efilinux-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0b4nxzr3wl5v4b52r79iw1arfgasz26xb38r2blw9v2qz2s1q9w2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags
+ (list "CC=gcc"
+ (string-append "INCDIR=" (assoc-ref %build-inputs "gnu-efi")
+ "/include")
+ (string-append "LIBDIR=" (assoc-ref %build-inputs "gnu-efi")
+ "/lib"))
+ #:tests? #f ; No tests exist.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "efilinux.efi"
+ (string-append (assoc-ref outputs "out")
+ "/libexec"))
+ #t)))))
+ (inputs
+ `(("gnu-efi" ,gnu-efi)))
+ (synopsis "Minimal Linux loader for UEFI")
+ (description "This package provides a minimal Linux loader as an UEFI
+program.")
+ (home-page "https://github.com/mfleming/efilinux")
+ (license license:bsd-2)))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 29b4487d05..5d8aa0e863 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -16,9 +16,9 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
-;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
-;;; Copyright © 2017, 2018 Mathieu Othacehe <m.othacehe@gmail.com>
+;;; Copyright © 2017, 2018, 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017, 2018 Kyle Meyer <kyle@kyleam.com>
@@ -3078,7 +3078,7 @@ in @code{html-mode}.")
(define-public emacs-slime
(package
(name "emacs-slime")
- (version "2.22")
+ (version "2.23")
(source
(origin
(file-name (string-append name "-" version ".tar.gz"))
@@ -3088,7 +3088,7 @@ in @code{html-mode}.")
version ".tar.gz"))
(sha256
(base32
- "07vaib1n4zyh5yy30gdpq0bc5cv6w84piml5b3mfc9ibjhaykkms"))))
+ "01gkrqfpifcx1vipwrbhns2r4s8izp3z1w4p41azc943s1a2d5nc"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
@@ -4000,8 +4000,8 @@ navigate code in a tree-like fashion.")
(define-public emacs-lispy
;; Release 0.26.0 was almost 3 years ago, and there have been ~772 commits
;; since.
- (let ((commit "c2a358a7a15fcf056a5b7461a8e690b481b03b80")
- (revision "0"))
+ (let ((commit "f94cfc6b8f9c3afe7d028c366928049c011023de")
+ (revision "1"))
(package
(name "emacs-lispy")
(version (git-version "0.26.0" revision commit))
@@ -4011,7 +4011,7 @@ navigate code in a tree-like fashion.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
- "1g6756qqx2n4cx8jac6mlwayilsiyc5rz8nrqjnywvzc75xdinjd"))
+ "1bm2cpwizg1qfpm377gpx1af1hm5maw69if1csnk5vwaphmv8c4g"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(propagated-inputs
@@ -4031,10 +4031,8 @@ S-expression.")
(license license:gpl3+))))
(define-public emacs-lispyville
- ;; Later versions need a more recent Evil, with an evil-define-key*
- ;; supporting nil for the state.
- (let ((commit "b4291857ed6a49a67c4ea77522889ce51fb171ab")
- (revision "0"))
+ (let ((commit "d28b937f0cabd8ce61e2020fe9a733ca80d82c74")
+ (revision "1"))
(package
(name "emacs-lispyville")
(version (git-version "0.1" revision commit))
@@ -4044,7 +4042,7 @@ S-expression.")
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
- "095zibzc3naknahdrnb59g9rbljy8wz9rkc7rf8avb3wxlwvxhm3"))
+ "0f6srwj1qqkfkbmp5n5pjvi6gm7b7xav05p5hrs2i83rjrakzzqx"))
(file-name (git-file-name name version))))
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
@@ -5184,35 +5182,34 @@ news items, openrc and runscripts.")
(license license:gpl2+)))
(define-public emacs-evil
- (let ((commit "230b87212c81aaa68ef5547a6b998d9c365fe139"))
- (package
- (name "emacs-evil")
- (version (git-version "1.2.13" "1" commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/emacs-evil/evil")
- (commit commit)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "0c9zy3bpck10gcrv79kd3h7i4ygd5bgbgy773n0lg7a2r5kwn1gx"))))
- (build-system emacs-build-system)
- (propagated-inputs
- `(("emacs-undo-tree" ,emacs-undo-tree)
- ("emacs-goto-chg" ,emacs-goto-chg)))
- (home-page "https://github.com/emacs-evil/evil")
- (synopsis "Extensible Vi layer for Emacs")
- (description
- "Evil is an extensible vi layer for Emacs. It emulates the
+ (package
+ (name "emacs-evil")
+ (version "1.2.14")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/emacs-evil/evil")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1833w397xhac5g3pp25szr2gyvclxy91aw27azvbmsx94pyk2a3q"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-undo-tree" ,emacs-undo-tree)
+ ("emacs-goto-chg" ,emacs-goto-chg)))
+ (home-page "https://github.com/emacs-evil/evil")
+ (synopsis "Extensible Vi layer for Emacs")
+ (description
+ "Evil is an extensible vi layer for Emacs. It emulates the
main features of Vim, and provides facilities for writing custom
extensions.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-evil-collection
- (let ((commit "4e1f0e0b17153d460805a0da90d6191d66b2673d")
- (revision "5"))
+ (let ((commit "0cfdf4ecf0420aac2a9dd29ff7b54067c3433d71")
+ (revision "6"))
(package
(name "emacs-evil-collection")
(version (git-version "0.0.1" revision commit))
@@ -5224,7 +5221,7 @@ extensions.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "11d5ppdnb2y2mwsdd9g62h7zds962kw3nss89zv5iwgcf9f1fb5x"))))
+ "1igsvgxvij918myc397cjhfybmm11znc7961vnbcd5xlviq2p01y"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)))
@@ -5349,14 +5346,14 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
- (version "9.2")
+ (version "9.2.1")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
- "14ydwh2r360fpi6v2g9rgf0zazy2ddq1pcdxvzn73h65glnnclz9"))))
+ "0ggca29pyksvfblyd2ciqhgi392wlqx0nmph7ck4m5wbzmk2qnry"))))
(build-system emacs-build-system)
(home-page "https://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@@ -5370,14 +5367,14 @@ programming and reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
- (version "20181230")
+ (version "20190203")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
version ".tar"))
(sha256
(base32
- "0gibwcjlardjwq19bh0zzszv0dxxlml0rh5iikkcdynbgndk1aa1"))))
+ "060rm62p1660n9f6i5w8l932w7gn5ign93q92gva4jy4bkmvczyb"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@@ -6959,7 +6956,9 @@ Emacs.")
(modify-phases %standard-phases
(add-after 'install 'install-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
+ (let ((out (assoc-ref outputs "out"))
+ (source-directory (string-append
+ (getenv "TMPDIR") "/source")))
(substitute* "bin/ert-runner"
(("ERT_RUNNER=\"\\$\\(dirname \\$\\(dirname \\$0\\)\\)")
(string-append "ERT_RUNNER=\"" out
@@ -6968,7 +6967,10 @@ Emacs.")
(install-file "bin/ert-runner" (string-append out "/bin"))
(wrap-program (string-append out "/bin/ert-runner")
(list "EMACSLOADPATH" ":" 'prefix
- (string-split (getenv "EMACSLOADPATH") #\:)))
+ ;; Do not capture the transient source directory in
+ ;; the wrapper.
+ (delete source-directory
+ (string-split (getenv "EMACSLOADPATH") #\:))))
#t))))
#:include (cons* "^reporters/.*\\.el$" %default-include)))
(home-page "https://github.com/rejeep/ert-runner.el")
@@ -11305,39 +11307,38 @@ Org-mode. It features:
(license license:gpl3+))))
(define-public emacs-fish-completion
- (let ((commit "bac15fda1392a891070574dfe5d2d50b10831e8b"))
- (package
- (name "emacs-fish-completion")
- (version (git-version "20180616" "1" commit))
- (source
- (origin
- (method url-fetch)
- (uri (string-append
- "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
- "archive.tar.gz?ref="
- commit))
- (sha256
- (base32
- "093qzdrbkl7dhjk16zq8i13kh1phyigkblcfrbgbrxjqd2ndrfdi"))))
- (build-system emacs-build-system)
- (inputs `(("fish" ,fish)))
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'configure
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((fish (assoc-ref inputs "fish")))
- ;; Specify the absolute file names of the various
- ;; programs so that everything works out-of-the-box.
- (emacs-substitute-variables
- "fish-completion.el"
- ("fish-completion-command"
- (string-append fish "/bin/fish")))))))))
- (home-page
- "https://gitlab.com/Ambrevar/emacs-fish-completion")
- (synopsis "Fish completion for Emacs pcomplete")
- (description
- "This package provides completion for the Fish shell to pcomplete (used
+ (package
+ (name "emacs-fish-completion")
+ (version "1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://gitlab.com/Ambrevar/emacs-fish-completion/repository/"
+ "archive.tar.gz?ref="
+ version))
+ (sha256
+ (base32
+ "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0"))))
+ (build-system emacs-build-system)
+ (inputs `(("fish" ,fish)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((fish (assoc-ref inputs "fish")))
+ ;; Specify the absolute file names of the various
+ ;; programs so that everything works out-of-the-box.
+ (emacs-substitute-variables
+ "fish-completion.el"
+ ("fish-completion-command"
+ (string-append fish "/bin/fish")))))))))
+ (home-page
+ "https://gitlab.com/Ambrevar/emacs-fish-completion")
+ (synopsis "Fish completion for Emacs pcomplete")
+ (description
+ "This package provides completion for the Fish shell to pcomplete (used
by shell and Eshell). You can set it up globally with:
@example
@@ -11352,7 +11353,7 @@ shell/Eshell mode hook.
The package @code{emacs-bash-completion} is an optional dependency: if available,
@code{fish-completion-complete} can be configured to fall back on bash to further
try completing. See @code{fish-completion-fallback-on-bash-p}.")
- (license license:gpl3+))))
+ (license license:gpl3+)))
(define-public emacs-gif-screencast
(let ((commit "12b25442b97b84abae74ecb5190a9d14ff7cfe5a"))
@@ -12970,3 +12971,143 @@ comments.")
(description "This package provides an Emacs major mode which acts as a
front end to mpc, a client for the @dfn{Music Player Daemon} (MPD).")
(license license:gpl3+))))
+
+(define-public emacs-mkmcc-gnuplot-mode
+ (package
+ (name "emacs-mkmcc-gnuplot-mode")
+ (version "1.2.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/mkmcc/gnuplot-mode")
+ (commit "601f6392986f0cba332c87678d31ae0d0a496ce7")))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "14f0yh1rjqc3337j4sbqzfb7pjim2c8a7wk1a73xkrdkmjn82vgb"))))
+ (build-system emacs-build-system)
+ (home-page "https://mkmcc.github.io/software/gnuplot-mode.html")
+ (synopsis "Minimal emacs major mode for editing gnuplot scripts")
+ (description "@code{emacs-mkmcc-gnuplot-mode} is a minimal emacs major
+mode for editing gnuplot scripts. It provides syntax highlighting,
+indentation and a command to plot the file.")
+ (license license:gpl3+)))
+
+(define-public emacs-dtrt-indent
+ (package
+ (name "emacs-dtrt-indent")
+ (version "0.8")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/jscheid/dtrt-indent")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pgf0pvqd8k4yzhdn2df9lp0y8hmlm2ccrh07jivwlccs95pcz7z"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/jscheid/dtrt-indent")
+ (synopsis "Minor mode that guesses the indentation offset")
+ (description "This package provides a minor mode that guesses the
+indentation offset originally used for creating source code files and
+transparently adjusts the corresponding settings in Emacs, making it more
+convenient to edit foreign files.")
+ (license license:gpl2+)))
+
+(define-public emacs-repo
+ (package
+ (name "emacs-repo")
+ (version "0.1.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/canatella/repo-el")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0rbvcvm7bfr6ncji7cllfxyyr6x7n9fx863byp243phsj3n93adz"))))
+ (build-system emacs-build-system)
+ (native-inputs
+ `(("emacs-el-mock" ,emacs-el-mock)
+ ("ert-runner" ,emacs-ert-runner)))
+ (propagated-inputs
+ `(("emacs-f" ,emacs-f)
+ ("magit" ,emacs-magit)))
+ (home-page "https://github.com/canatella/repo-el")
+ (synopsis "Emacs interface for the Google Repo tool")
+ (description "This package provides integration of the Google Repo tool
+with emacs. It displays the output of the @code{repo status} command in a
+buffer and launches Magit from the status buffer for the project at point.")
+ (license license:gpl3+)))
+
+(define-public emacs-alect-themes
+ (package
+ (name "emacs-alect-themes")
+ (version "0.9")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alezost/alect-themes")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0nffxpdm0sa7bynwi0rmlwpc4qmvbda5ankhzz7fmk4ap9fkjxv9"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/alezost/alect-themes")
+ (synopsis "Low contrast, light, dark and black color theme for Emacs")
+ (description "@code{emacs-alect-themes} provides configurable light, dark
+and black color themes for Emacs. The themes are intended to be used with
+GUI.")
+ (license license:gpl3+)))
+
+(define-public emacs-google-c-style
+ (let ((commit "6271f3f473ceb3a7fef99388a3040903b1a145f1")
+ (revision "0"))
+ (package
+ (name "emacs-google-c-style")
+ (version (git-version "0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/google/styleguide")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jghyyasdl15c4gaqaxmdn43am63k6bykn5ab83f1ahv9zi1krxk"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/google/styleguide")
+ (synopsis "Emacs settings file for Google C/C++ style")
+ (description "@code{emacs-google-c-style} provides an Emacs settings
+file for Google C and C++ style.")
+ (license license:gpl1+))))
+
+(define-public emacs-redshank
+ (let ((commit "f98e68f532e622bcd464292ca4a9cf5fbea14ebb")
+ (revision "1"))
+ (package
+ (name "emacs-redshank")
+ (version (git-version "0.1" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "http://www.foldr.org/~michaelw/projects/redshank.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-paredit" ,emacs-paredit)))
+ (home-page "http://www.foldr.org/~michaelw/emacs/redshank/")
+ (synopsis "Common Lisp Editing Extensions (for Emacs)")
+ (description "Redshank is a collection of code-wrangling Emacs macros
+mostly geared towards Common Lisp, but some are useful for other Lisp
+dialects, too. Redshank's code transformations aim to be expression-based (as
+opposed to character-based).")
+ (license license:gpl1+))))
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index 1e7fd098cb..990aa05dd8 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -977,14 +977,14 @@ SPI, I2C, JTAG.")
(define-public fc-host-tools
(package
(name "fc-host-tools")
- (version "8")
+ (version "9a")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.freecalypso.org/pub/GSM/"
"FreeCalypso/fc-host-tools-r" version ".tar.bz2"))
(sha256
(base32
- "00kl9442maaxnsjvl5qc4c6fzjkgr3hac9ax1z2k6ry6byfknj6z"))))
+ "15w1njlvbzzbr9bwj2hwy8na3a55p1z1cysk5h9iziz9y955ansg"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; No tests exist.
@@ -1001,15 +1001,15 @@ SPI, I2C, JTAG.")
(add-after 'handle-tarbomb 'patch-installation-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* '("Makefile"
- "rvinterf/libasync/launchrvif.c"
+ "rvinterf/etmsync/fsiomain.c"
+ "rvinterf/etmsync/fsnew.c"
+ "rvinterf/asyncshell/help.c"
+ "rvinterf/libinterf/launchrvif.c"
"loadtools/defpath.c"
"loadtools/Makefile"
"miscutil/c139explore"
"miscutil/pirexplore"
"ffstools/tiffs-wrappers/installpath.c"
- "rvinterf/rvtat/launchrvif.c"
- "rvinterf/etmsync/launchrvif.c"
- "rvinterf/libasync/launchrvif.c"
"uptools/atcmd/atinterf.c")
(("/opt/freecalypso/loadtools")
(string-append (assoc-ref outputs "out") "/lib/freecalypso/loadtools"))
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 19050af1ed..184a3bc859 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2015, 2018 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2016 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;;
@@ -1053,7 +1053,7 @@ emulation community. It provides highly accurate emulation.")
(define-public retroarch
(package
(name "retroarch")
- (version "1.7.5")
+ (version "1.7.6")
(source
(origin
(method git-fetch)
@@ -1062,7 +1062,7 @@ emulation community. It provides highly accurate emulation.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1jfpgl34jjxn3dvxd1kd564swkw7v98hnn562v998b7vllz3dxdm"))))
+ (base32 "122c6cqax92qk2mhm9ywnwhw3qkv8f1ybma9gal5w6i2gsmp0s0s"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
@@ -1072,10 +1072,14 @@ emulation community. It provides highly accurate emulation.")
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(etc (string-append out "/etc"))
- (vulkan (assoc-ref inputs "vulkan-loader")))
+ (vulkan (assoc-ref inputs "vulkan-loader"))
+ (wayland-protocols (assoc-ref inputs "wayland-protocols")))
;; Hard-code the path to libvulkan.so.
(substitute* "gfx/common/vulkan_common.c"
(("libvulkan.so") (string-append vulkan "/lib/libvulkan.so")))
+ (substitute* "gfx/common/wayland/generate_wayland_protos.sh"
+ (("/usr/local/share/wayland-protocols")
+ (string-append wayland-protocols "/share/wayland-protocols")))
(substitute* "qb/qb.libs.sh"
(("/bin/true") (which "true")))
;; Use shared zlib.
@@ -1100,6 +1104,7 @@ emulation community. It provides highly accurate emulation.")
("libxinerama" ,libxinerama)
("libxkbcommon" ,libxkbcommon)
("libxml2" ,libxml2)
+ ("libxrandr" ,libxrandr)
("libxv" ,libxv)
("mesa" ,mesa)
("openal" ,openal)
@@ -1113,6 +1118,7 @@ emulation community. It provides highly accurate emulation.")
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)
+ ("wayland-protocols" ,wayland-protocols)
("which" ,which)))
(home-page "https://www.libretro.com/")
(synopsis "Reference frontend for the libretro API")
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index ea5dd885d1..ad7ae18781 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -10,6 +10,7 @@
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1911,3 +1912,24 @@ editors.")
license:cc0 ; libs/optional, libs/sexpresso
license:bsd-2 ; libs/optional/tests/catch.hpp
license:lgpl2.1+)))) ; libs/quazip
+
+(define-public gpx
+ (package
+ (name "gpx")
+ (version "2.5.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/markwal/GPX.git")
+ (commit version)))
+ (sha256
+ (base32
+ "1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
+ (build-system gnu-build-system)
+ (home-page "https://github.com/markwal/GPX")
+ (synopsis "Converting gcode to x3g files for 3D printing")
+ (description
+ "GPX is a post processing utility for converting gcode output from 3D
+slicing software to x3g files for standalone 3D printing on common 3D
+printers.")
+ (license license:gpl2+)))
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index 250b1db144..ce67694cfe 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -6,10 +6,10 @@
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
-;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
@@ -139,17 +139,17 @@ line client and a client based on Qt.")
(package
(name "ledger")
(version "3.1.1")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://github.com/ledger/ledger/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
- (sha256
- (base32
- "12jlv3gsjhrja25q9hrwh73cdacd2l3c2yyn8qnijav9mdhnbw4h"))
- (patches (search-patches "ledger-revert-boost-python-fix.patch"
- "ledger-fix-uninitialized.patch"))))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ledger/ledger.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1j4p7djkmdmd858hylrsc3inamh9z0vkfl98s9wiqfmrzw51pmxp"))
+ (patches (search-patches "ledger-revert-boost-python-fix.patch"
+ "ledger-fix-uninitialized.patch"))))
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
@@ -252,16 +252,16 @@ in ability, and easy to use.")
(version "0.9.13")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/stesie/geierlein"
- "/archive/V" version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/stesie/geierlein.git")
+ (commit (string-append "V" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "11jfa7mxvvf0ldhx0hsvjbx3xwvzvn2wrfjpms8c7qmrnqhwh4wp"))))
+ (base32 "00zpwr3lk2vdmd60fgdwdk0xxs52wvnm19ln2m75yfphydvkglic"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; would require npm, python and a lot more
+ `(#:tests? #f ; would require npm, python and a lot more
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
@@ -590,13 +590,13 @@ Monero GUI client.")
(version "0.9.4")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/romanz/trezor-agent/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/romanz/trezor-agent.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0h8jb147vpjk7mqbl4za0xdh7lblhx07n9dfk80kn2plwnvrry1x"))))
+ (base32 "15aaqk79d9y9nbsfznf2iscz12z5ispcj8kr8v5bc0sqqj2brs12"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -604,7 +604,7 @@ Monero GUI client.")
(delete 'check)
(add-after 'install 'check
(lambda* (#:key outputs inputs #:allow-other-keys)
- ;; Make installed package available for running the tests
+ ;; Make installed package available for running the tests.
(add-installed-pythonpath inputs outputs)
(invoke "py.test"))))))
(propagated-inputs
@@ -855,7 +855,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(define-public python-duniterpy
(package
(name "python-duniterpy")
- (version "0.51.0")
+ (version "0.52.0")
(source
(origin
(method git-fetch)
@@ -866,7 +866,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(file-name (git-file-name name version))
(sha256
(base32
- "074mh2kh3s00ib0h99050ss3j4c51v57py6dzm7crida6l0iydbv"))))
+ "07liba2d21hb8m3n6yccfamq9yq0ryywh18vs9g2sgywfsnv82lh"))))
(build-system python-build-system)
(arguments
;; Tests fail with "AttributeError: module 'attr' has no attribute 's'".
@@ -884,16 +884,17 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(copy-recursively "docs/_build/html" doc))
#t)))))
(native-inputs
- `(("python-sphinx" ,python-sphinx)
- ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
+ `(("sphinx" ,python-sphinx)
+ ("sphinx-rtd-theme" ,python-sphinx-rtd-theme)))
(propagated-inputs
- `(("python-aiohttp" ,python-aiohttp)
- ("python-attr" ,python-attr)
- ("python-base58" ,python-base58)
- ("python-jsonschema" ,python-jsonschema)
- ("python-libnacl" ,python-libnacl)
- ("python-pylibscrypt" ,python-pylibscrypt)
- ("python-pypeg2" ,python-pypeg2)))
+ `(("aiohttp" ,python-aiohttp)
+ ("attr" ,python-attr)
+ ("base58" ,python-base58)
+ ("jsonschema" ,python-jsonschema)
+ ("libnacl" ,python-libnacl)
+ ("pyaes" ,python-pyaes)
+ ("pylibscrypt" ,python-pylibscrypt)
+ ("pypeg2" ,python-pypeg2)))
(home-page "https://git.duniter.org/clients/python/duniterpy")
(synopsis "Python implementation of Duniter API")
(description "@code{duniterpy} is an implementation of
@@ -912,7 +913,7 @@ main features are:
(define-public silkaj
(package
(name "silkaj")
- (version "0.6.1")
+ (version "0.6.5")
(source
(origin
(method git-fetch)
@@ -922,17 +923,16 @@ main features are:
(file-name (git-file-name name version))
(sha256
(base32
- "0a99gbgdd7m9wisqhqpfyaim0rlv9gkp8gmrppkagqf6j0683igh"))))
+ "1fy509vsmz7rs9m3vah0ky0jvq9mxmfga6b18rkrkl2lbjk872q2"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;no test
(inputs
- `(("python-commandlines" ,python-commandlines)
- ("python-ipaddress" ,python-ipaddress)
- ("python-pyaes" ,python-pyaes)
- ("python-pynacl" ,python-pynacl)
- ("python-scrypt" ,python-scrypt)
- ("python-tabulate" ,python-tabulate)))
+ `(("click" ,python-click)
+ ("duniterpy" ,python-duniterpy)
+ ("ipaddress" ,python-ipaddress)
+ ("pynacl" ,python-pynacl)
+ ("tabulate" ,python-tabulate)))
(home-page "https://silkaj.duniter.org/")
(synopsis "Command line client for Duniter network")
(description "@code{Silkaj} is a command line client for the
diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm
index 523f9e6334..5f1931e7fe 100644
--- a/gnu/packages/freeipmi.scm
+++ b/gnu/packages/freeipmi.scm
@@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -27,14 +28,14 @@
(define-public freeipmi
(package
(name "freeipmi")
- (version "1.6.2")
+ (version "1.6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
- "0jhjf21gn1m9lhjsc1ard9zymq25mk7rxcyygjfxgy0vb4j36l9i"))))
+ "1sg12ycig2g5yv9l3vx25wsjmz7ybnrsvji0vs51yjmclwsygm5a"))))
(build-system gnu-build-system)
(inputs
`(("libgcrypt" ,libgcrypt)))
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 07f36bba4e..5d7c89a880 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -4544,7 +4544,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(define-public 0ad-data
(package
(name "0ad-data")
- (version "0.0.23-alpha")
+ (version "0.0.23b-alpha")
(source
(origin
(method url-fetch)
@@ -4553,7 +4553,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "1b6qcvd8yyyxavgdwpcs7asmln3xgnvjkglz6ggvwb956x37ggzx"))
+ "04x7729hk6zw1xj3n4s4lvaviijsnbjf5rhzvjxlr5fygvg4l6z1"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -4597,7 +4597,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(define-public 0ad
(package
(name "0ad")
- (version "0.0.23-alpha")
+ (version "0.0.23b-alpha")
(source
(origin
(method url-fetch)
@@ -4606,7 +4606,7 @@ fight against their plot and save his fellow rabbits from slavery.")
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "0qz1sg4n5y766qwgi63drrrx6k17kk0rcnn9a4a9crllk2vf78fg"))))
+ "0draa53xg69i5qhqym85658m45xhwkbiimaldj4sr3703rjgggq1"))))
;; A snippet here would cause a build failure because of timestamps
;; reset. See https://bugs.gnu.org/26734.
(inputs
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 4f2b24b8ee..3ea1cf5978 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -50,27 +50,20 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnome)
- #: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 cmake)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system glib-or-gtk)
- #:use-module (guix build-system meson)
- #:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages aspell)
#:use-module (gnu packages autotools)
#:use-module (gnu packages avahi)
+ #:use-module (gnu packages backup)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages calendar)
+ #:use-module (gnu packages cdrom)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
+ #:use-module (gnu packages compression)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@@ -78,87 +71,94 @@
#:use-module (gnu packages dbm)
#:use-module (gnu packages djvu)
#:use-module (gnu packages dns)
- #:use-module (gnu packages documentation)
- #:use-module (gnu packages flex)
#:use-module (gnu packages docbook)
+ #:use-module (gnu packages documentation)
#:use-module (gnu packages enchant)
+ #:use-module (gnu packages flex)
+ #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
+ #:use-module (gnu packages freedesktop)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
+ #:use-module (gnu packages ghostscript)
+ #:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gnuzilla)
+ #:use-module (gnu packages gperf)
+ #:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
- #:use-module (gnu packages gperf)
#:use-module (gnu packages guile)
- #:use-module (gnu packages openldap)
- #:use-module (gnu packages pdf)
- #: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 image)
+ #:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages inkscape)
#:use-module (gnu packages iso-codes)
+ #:use-module (gnu packages kerberos)
#:use-module (gnu packages libcanberra)
#:use-module (gnu packages libunistring)
- #:use-module (gnu packages linux)
#:use-module (gnu packages libusb)
+ #:use-module (gnu packages linux)
#:use-module (gnu packages lirc)
#:use-module (gnu packages lua)
- #:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
+ #:use-module (gnu packages mail)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages music)
+ #:use-module (gnu packages ncurses)
+ #:use-module (gnu packages nettle)
#:use-module (gnu packages networking)
#:use-module (gnu packages ninja)
+ #:use-module (gnu packages openldap)
#:use-module (gnu packages password-utils)
#:use-module (gnu packages pcre)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages polkit)
+ #:use-module (gnu packages popt)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages rdesktop)
+ #:use-module (gnu packages readline)
+ #:use-module (gnu packages samba)
#:use-module (gnu packages scanner)
#:use-module (gnu packages selinux)
#:use-module (gnu packages slang)
+ #:use-module (gnu packages speech)
+ #:use-module (gnu packages spice)
#:use-module (gnu packages sqlite)
#:use-module (gnu packages ssh)
- #:use-module (gnu packages xml)
- #:use-module (gnu packages gl)
- #:use-module (gnu packages graphviz)
- #:use-module (gnu packages compression)
- #:use-module (gnu packages spice)
#:use-module (gnu packages tex)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
- #:use-module (gnu packages web)
- #:use-module (gnu packages webkit)
- #:use-module (gnu packages xiph)
- #:use-module (gnu packages xorg)
- #:use-module (gnu packages xdisorg)
- #:use-module (gnu packages freedesktop)
- #:use-module (gnu packages mail)
- #:use-module (gnu packages kerberos)
- #:use-module (gnu packages multiprecision)
- #:use-module (gnu packages backup)
- #:use-module (gnu packages nettle)
- #:use-module (gnu packages ncurses)
- #:use-module (gnu packages video)
- #:use-module (gnu packages cdrom)
- #:use-module (gnu packages samba)
- #:use-module (gnu packages readline)
- #:use-module (gnu packages fonts)
- #:use-module (gnu packages speech)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages video)
#:use-module (gnu packages virtualization)
#:use-module (gnu packages vpn)
#:use-module (gnu packages web)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages webkit)
+ #:use-module (gnu packages xdisorg)
+ #:use-module (gnu packages xiph)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages xorg)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system glib-or-gtk)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system meson)
+ #:use-module (guix build-system trivial)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e6269f526f..768e641786 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
@@ -399,6 +399,10 @@ in the style of communicating sequential processes (@dfn{CSP}).")
#t)))))))
(native-inputs
`(("go" ,go-1.4)
+ ,@(match (%current-system)
+ ((or "armhf-linux" "aarch64-linux")
+ `(("gold" ,binutils-gold)))
+ (_ `()))
,@(package-native-inputs go-1.4)))
(supported-systems %supported-systems)))
@@ -2730,7 +2734,7 @@ needing to use secp256k1 elliptic curve cryptography.")
(define-public go-github-com-minio-sha256-simd
(let ((commit "51976451ce1942acbb55707a983ed232fa027110")
- (revision "0"))
+ (revision "2"))
(package
(name "go-github-com-minio-sha256-simd")
(version (git-version "0.0.0" revision commit))
@@ -3365,3 +3369,28 @@ have super fancy logs.")
(synopsis "Filesystem-related functions for Go")
(description "Package fs provides filesystem-related functions.")
(license license:bsd-3))))
+
+(define-public go-github-com-direnv-go-dotenv
+ (let ((commit "4cce6d1a66f7bc8dc730eab85cab6af1b801abed")
+ (revision "0"))
+ (package
+ (name "go-github-com-direnv-go-dotenv")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/direnv/go-dotenv")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00wn4fc2lma0csf6ryvlc6k9jbpbifm4n7i3kkd2xrfw5qlm29b6"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/direnv/go-dotenv"))
+ (home-page "https://github.com/direnv/go-dotenv")
+ (synopsis "Go dotenv parsing library")
+ (description "This package provides a library for parsing the dotenv
+format in Go.")
+ (license license:expat))))
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 5c6a6c7e0b..ae05197e16 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -45,8 +45,10 @@
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages ed)
+ #:use-module (gnu packages emacs)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
@@ -62,6 +64,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages networking)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
@@ -84,7 +87,7 @@
(define-public artanis
(let ((release "0.3.1")
- (revision 0))
+ (revision 0))
(package
(name "artanis")
(version (if (zero? revision)
@@ -151,6 +154,13 @@
#:test-target "test"
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'patch-site-dir
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "artanis/commands/help.scm"
+ (("\\(%site-dir\\)")
+ (string-append "\""
+ (assoc-ref outputs "out")
+ "/share/guile/site/2.2\"")))))
(add-before 'install 'substitute-root-dir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@@ -161,14 +171,16 @@
(mkdir-p (string-append out "/bin")) ;for the `art' executable
#t)))
(add-after 'install 'wrap-art
- (lambda* (#:key outputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(scm (string-append out "/share/guile/site/2.2"))
(go (string-append out "/lib/guile/2.2/site-ccache")))
(wrap-program (string-append bin "/art")
- `("GUILE_LOAD_PATH" ":" prefix (,scm))
- `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,go)))
+ `("GUILE_LOAD_PATH" ":" prefix
+ (,scm ,(getenv "GUILE_LOAD_PATH")))
+ `("GUILE_LOAD_COMPILED_PATH" ":" prefix
+ (,go ,(getenv "GUILE_LOAD_COMPILED_PATH"))))
#t))))))
(synopsis "Web application framework written in Guile")
(description "GNU Artanis is a web application framework written in Guile
@@ -548,6 +560,45 @@ HTML (via SXML) or any other format for rendering.")
It has a nice, simple s-expression based syntax.")
(license license:lgpl3+)))
+(define-public guile-squee
+ (let ((commit "a85902a92bf6f58a1d35fd974a01ade163deda8d")
+ (revision "0"))
+ (package
+ (name "guile-squee")
+ (version (string-append "0-" revision "." (string-take commit 7)))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://notabug.org/cwebber/guile-squee.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0p1lpsp4kx57j3ai1dkxilm4ziavzzx8wbbc42m3hpziq0a7qz5z"))))
+ (build-system guile-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "squee.scm"
+ (("dynamic-link \"libpq\"")
+ (string-append
+ "dynamic-link \""
+ (assoc-ref inputs "postgresql") "/lib/libpq.so"
+ "\"")))
+ #t)))))
+ (inputs
+ `(("postgresql" ,postgresql)))
+ (native-inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://notabug.org/cwebber/guile-squee")
+ (synopsis "Connect to PostgreSQL using Guile")
+ (description
+ "@code{squee} is a Guile library for connecting to PostgreSQL databases
+using Guile's foreign function interface.")
+ (license license:lgpl3+))))
+
(define-public guile-colorized
(package
(name "guile-colorized")
@@ -1045,8 +1096,10 @@ library}.")
(list (string-append
"--with-guile-site-dir=" %output "/share/guile/site/2.2"))
#:make-flags
- (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib:"
- (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib"))
+ (list (string-append
+ "LDFLAGS=-Wl,-rpath=" %output "/lib:"
+ (assoc-ref %build-inputs "guile-dbd-sqlite3") "/lib" ":"
+ (assoc-ref %build-inputs "guile-dbd-postgresql") "/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'patch-extension-path
@@ -1058,7 +1111,8 @@ library}.")
(substitute* dbi.scm (("libguile-dbi") ext))
#t))))))
(inputs
- `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3))) ; only shared library, no scheme files
+ `(("guile-dbd-sqlite3" ,guile-dbd-sqlite3)
+ ("guile-dbd-postgresql" ,guile-dbd-postgresql))) ; only shared library, no scheme files
(propagated-inputs
`(("guile" ,guile-2.2)))
(synopsis "Guile database abstraction layer")
@@ -1105,6 +1159,62 @@ It currently supports MySQL, Postgres and SQLite3.")
SQL databases. This package implements the interface for SQLite.")
(license license:gpl2+)))
+(define-public guile-dbd-postgresql
+ (let ((commit "e97589b6b018b206c901e4cc24db463407a4036b")
+ (revision 0))
+ (package
+ (name "guile-dbd-postgresql")
+ (version (string-append
+ "2.1.6-" (number->string revision) "." (string-take commit 7)))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/opencog/guile-dbi.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0n1gv9a0kdys10a4qmnrwvg5sydwb03880asri4gqdchcj3fimni"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'chdir
+ (lambda _
+ ;; The upstream Git repository contains all the code, so change
+ ;; to the relevant directory.
+ (chdir "guile-dbd-postgresql")
+ #t))
+ (add-after 'chdir 'patch-src/Makefile.am
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "src/Makefile.am"
+ (("/usr/include")
+ (string-append (assoc-ref inputs "postgresql") "/include")))
+ #t))
+ (add-after 'patch-src/Makefile.am 'patch-src
+ (lambda _
+ (substitute* "src/guile-dbd-postgresql.c"
+ (("postgresql/libpq-fe\\.h") "libpq-fe.h"))
+ #t)))))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("perl" ,perl)
+ ("libtool" ,libtool)
+ ("guile-dbi-bootstrap" ,guile-dbi-bootstrap)))
+ (inputs
+ `(("postgresql" ,postgresql)
+ ("zlib" ,zlib)))
+ (synopsis "Guile DBI driver for PostgreSQL")
+ (home-page
+ "https://github.com/opencog/guile-dbi/tree/master/guile-dbd-postgresql")
+ (description
+ "@code{guile-dbi} is a library for Guile that provides a convenient
+interface to SQL databases. This package implements the interface for
+PostgreSQL.")
+ (license license:gpl2+))))
+
(define-public guile-config
(package
(name "guile-config")
@@ -1236,7 +1346,7 @@ The library is shipped with documentation in Info format and usage examples.")
(define-public guile-wisp
(package
(name "guile-wisp")
- (version "0.9.9")
+ (version "0.9.9.1")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/ArneBab/"
@@ -1244,13 +1354,18 @@ The library is shipped with documentation in Info format and usage examples.")
version ".tar.gz"))
(sha256
(base32
- "1xa0f0fvcrimqap50azv5872bfx8jbhc6baxa1prpbwcksbh8gdz"))))
+ "1ii14qz1lx7ffhb8i9q7dgaiwbif8g2q182skx17j11skp65c8r3"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
+ ((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
+ (guix build emacs-utils)
(ice-9 rdelim)
(ice-9 popen))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build emacs-build-system)
+ (guix build emacs-utils))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-/usr/bin/env
@@ -1284,12 +1399,19 @@ The library is shipped with documentation in Info format and usage examples.")
(invoke "guild" "compile" "-L" module-dir
file "-o" go)))
(find-files module-dir "\\.scm$"))
- #t))))))
+ #t)))
+ (add-after 'install 'install-emacs-files
+ (assoc-ref emacs:%standard-phases 'install))
+ (add-after 'install-emacs-files 'compile-emacs-files
+ (assoc-ref emacs:%standard-phases 'build))
+ (add-after 'compile-emacs-files 'make-autoloads
+ (assoc-ref emacs:%standard-phases 'make-autoloads)))))
(home-page "https://draketo.de/english/wisp")
(inputs
`(("guile" ,guile-2.2)))
(native-inputs
- `(("python" ,python)
+ `(("emacs" ,emacs-minimal)
+ ("python" ,python)
("pkg-config" ,pkg-config)))
(synopsis "Whitespace to lisp syntax for Guile")
(description "Wisp is a syntax for Guile which provides a Python-like
@@ -1715,14 +1837,14 @@ interface for reading articles in any format.")
(define-public guile-redis
(package
(name "guile-redis")
- (version "1.0.0")
+ (version "1.3.0")
(home-page "https://github.com/aconchillo/guile-redis")
(source (origin
(method url-fetch)
(uri (string-append home-page "/archive/" version ".tar.gz"))
(sha256
(base32
- "1dp5fmqvma59pvp1nfpq6hqgbmjici8sd1y8llahl87fynw1dvr9"))))
+ "1li70a2716my9q9zfq0qn2x5d1cir9k2vx0jm9glm464yaf1vj39"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -1839,3 +1961,27 @@ format is also supported.")
(define-public mcron2
;; This was mthl's mcron development branch, and it became mcron 1.1.
(deprecated-package "mcron2" mcron))
+
+(define-public guile-picture-language
+ (let ((commit "1531116036d1b5e0d2482ff2c8d77ad21f1d2bef")
+ (revision "1"))
+ (package
+ (name "guile-picture-language")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://git.elephly.net/software/guile-picture-language.git")
+ (commit commit)))
+ (sha256
+ (base32
+ "04salmqf5x84vb3qkkxx47b64jyl290zsf3ik81l9hg6fwvvlmq3"))))
+ (build-system guile-build-system)
+ (inputs
+ `(("guile" ,guile-2.2)))
+ (home-page "https://git.elephly.net/software/guile-picture-language.git")
+ (synopsis "Picture language for Guile")
+ (description
+ "This package provides a simple SVG-based picture language for Guile.
+The picture values can directly be displayed in Geiser.")
+ (license license:lgpl3+))))
diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm
index a67919691f..9d00c9c981 100644
--- a/gnu/packages/ipfs.scm
+++ b/gnu/packages/ipfs.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
+;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -101,58 +102,55 @@ that are shared between @command{go-ipfs/commands} and its rewrite
(license license:expat))))
(define-public gx
- (let ((commit
- "89338e509426d2895f20086685cf4c77d64cc5df")
- (revision "0"))
- (package
- (name "gx")
- (version (git-version "0.14.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/whyrusleeping/gx.git")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "08gh04jln8rxpq0j4fm4chjap162wp8cjwj9szbvj9c7123s42rd"))))
- (build-system go-build-system)
- (arguments
- '(#:import-path "github.com/whyrusleeping/gx"))
- (native-inputs
- `(("go-github-com-blang-semver" ,go-github-com-blang-semver)
- ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
- ("go-github-com-ipfs-go-ipfs-api" ,go-github-com-ipfs-go-ipfs-api)
- ("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files)
- ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
- ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
- ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics)
- ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
- ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
- ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
- ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
- ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir)
- ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
- ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
- ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net)
- ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
- ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
- ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
- ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))
- ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
- ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
- ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore)
- ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
- ("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter)
- ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
- ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump)))
- (home-page "https://github.com/whyrusleeping/gx")
- (synopsis "Package management tool using IPFS")
- (description "@command{gx} is a packaging tool built around the
+ (package
+ (name "gx")
+ (version "0.14.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/whyrusleeping/gx.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pfx2p59xdbmqzfbgaf8xvlnzh8m05hkg596glq5kvl8ib65i4ha"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/whyrusleeping/gx"))
+ (native-inputs
+ `(("go-github-com-blang-semver" ,go-github-com-blang-semver)
+ ("go-github-com-gxed-hashland-keccakpg" ,go-github-com-gxed-hashland-keccakpg)
+ ("go-github-com-ipfs-go-ipfs-api" ,go-github-com-ipfs-go-ipfs-api)
+ ("go-github-com-ipfs-go-ipfs-cmdkit-files" ,go-github-com-ipfs-go-ipfs-cmdkit-files)
+ ("go-github-com-libp2p-go-flow-metrics" ,go-github-com-libp2p-go-flow-metrics)
+ ("go-github-com-libp2p-go-libp2p-crypto" ,go-github-com-libp2p-go-libp2p-crypto)
+ ("go-github-com-libp2p-go-libp2p-metrics" ,go-github-com-libp2p-go-libp2p-metrics)
+ ("go-github-com-libp2p-go-libp2p-peer" ,go-github-com-libp2p-go-libp2p-peer)
+ ("go-github-com-libp2p-go-libp2p-protocol" ,go-github-com-libp2p-go-libp2p-protocol)
+ ("go-github-com-minio-blake2b-simd" ,go-github-com-minio-blake2b-simd)
+ ("go-github-com-minio-sha256-simd" ,go-github-com-minio-sha256-simd)
+ ("go-github-com-mitchellh-go-homedir" ,go-github-com-mitchellh-go-homedir)
+ ("go-github-com-mr-tron-base58" ,go-github-com-mr-tron-base58)
+ ("go-github-com-multiformats-go-multiaddr" ,go-github-com-multiformats-go-multiaddr)
+ ("go-github-com-multiformats-go-multiaddr-net" ,go-github-com-multiformats-go-multiaddr-net)
+ ("go-github-com-multiformats-go-multihash" ,go-github-com-multiformats-go-multihash)
+ ("go-github-com-spaolacci-murmur3" ,go-github-com-spaolacci-murmur3)
+ ("go-github-com-whyrusleeping-tar-utils" ,go-github-com-whyrusleeping-tar-utils)
+ ("go-golang-org-x-crypto-union" ,(go-golang-org-x-crypto-union))
+ ("go-github-com-btcsuite-btcd-btcec" ,go-github-com-btcsuite-btcd-btcec)
+ ("go-github-com-gogo-protobuf-proto" ,go-github-com-gogo-protobuf-proto)
+ ("go-github-com-sabhiram-go-gitignore" ,go-github-com-sabhiram-go-gitignore)
+ ("go-github-com-urfave-cli" ,go-github-com-urfave-cli)
+ ("go-github-com-whyrusleeping-json-filter" ,go-github-com-whyrusleeping-json-filter)
+ ("go-github-com-whyrusleeping-progmeter" ,go-github-com-whyrusleeping-progmeter)
+ ("go-github-com-whyrusleeping-stump" ,go-github-com-whyrusleeping-stump)))
+ (home-page "https://github.com/whyrusleeping/gx")
+ (synopsis "Package management tool using IPFS")
+ (description "@command{gx} is a packaging tool built around the
distributed, content addressed filesystem IPFS. It aims to be flexible,
powerful and simple.")
- (license license:expat))))
+ (license license:expat)))
(define-public go-github-com-whyrusleeping-gx-util
(package
diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm
index e27cffa331..f0725d77e8 100644
--- a/gnu/packages/libusb.scm
+++ b/gnu/packages/libusb.scm
@@ -368,10 +368,10 @@ connections from and to iOS devices by connecting to a socket provided by a
"m"))))
(propagated-inputs
`(("openssl" ,openssl)
+ ("libplist" ,libplist)
("libusbmuxd" ,libusbmuxd)))
(inputs
- `(("libplist" ,libplist)
- ("python" ,python)))
+ `(("python" ,python)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python-cython" ,python-cython)
@@ -386,6 +386,55 @@ addressbook/calendars/notes and bookmarks and (using libgpod) synchronize
music and video to the device.")
(license license:lgpl2.1+)))
+(define-public ifuse
+ (package
+ (name "ifuse")
+ (version "1.1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.libimobiledevice.org/downloads/"
+ "ifuse-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "1p9a4n36jb194cnp6v57cz2bggwbywaz8pbpb95ch83pzdkdx257"))))
+ (inputs
+ `(("fuse" ,fuse)
+ ("libimobiledevice" ,libimobiledevice)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (build-system gnu-build-system)
+ (home-page "http://www.libimobiledevice.org/")
+ (synopsis "Mount iOS devices")
+ (description "This package provides @command{ifuse}, a command to mount
+iOS devices and access their contents.")
+ (license license:lgpl2.1+)))
+
+(define-public usbmuxd
+ (package
+ (name "usbmuxd")
+ (version "1.1.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://www.libimobiledevice.org/downloads/"
+ "usbmuxd-" version ".tar.bz2"))
+ (sha256
+ (base32
+ "0bdlc7a8plvglqqx39qqampqm6y0hcdws76l9dffwl22zss4i29y"))))
+ (inputs
+ `(("libplist" ,libplist)
+ ("libusb" ,libusb)
+ ("libimobiledevice" ,libimobiledevice)))
+ (native-inputs
+ `(("pkg-config" ,pkg-config)))
+ (build-system gnu-build-system)
+ (home-page "http://www.libimobiledevice.org/")
+ (synopsis "Multiplex connections over USB to an iOS device")
+ (description "This package provides the @code{usbmuxd} daemon
+which multiplexes connections over USB to an iOS device. To
+users, it means you can sync your music, contacts, photos, etc.
+over USB.")
+ (license license:gpl2+)))
+
(define-public libmtp
(package
(name "libmtp")
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 78bfadca26..f3b5476f2d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -413,8 +413,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
-(define %linux-libre-version "4.20.5")
-(define %linux-libre-hash "1fis4izy97d35wb5626av235agn22ww8dfmmcdlbiay37ihwwm98")
+(define %linux-libre-version "4.20.7")
+(define %linux-libre-hash "05jbpg4ivcbr8xi5ki03f4n57hnhc52nfjk1ik8czag7f4ph9v0b")
(define %linux-libre-4.20-patches
(list %boot-logo-patch
@@ -427,8 +427,8 @@ It has been modified to remove all non-free binary blobs.")
#:patches %linux-libre-4.20-patches
#:configuration-file kernel-config))
-(define %linux-libre-4.19-version "4.19.18")
-(define %linux-libre-4.19-hash "1m3qbd09zd7llq0fjsccyjr070n6szl5dj10qrlpd54bnvry22fc")
+(define %linux-libre-4.19-version "4.19.20")
+(define %linux-libre-4.19-hash "1rs4jvp88n23n9a6f037sn498fzl1fn96zsjjmjngb8nmjr1y9vp")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
@@ -441,8 +441,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.96")
-(define %linux-libre-4.14-hash "03g28n9n4ci8y2qs59vili7dkqag7fmhr9q6ah8l66qn37d375k9")
+(define %linux-libre-4.14-version "4.14.98")
+(define %linux-libre-4.14-hash "165wlqqpb16zhrwihsb75y153xyz8q5dbi14xim7jsnvwlbh5i79")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@@ -451,14 +451,14 @@ 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.153"
- "1ks910wk4nggp7ygai2pnr5b61ix2j3gxk95rv9wkd5za15sgbqa"
+ (make-linux-libre "4.9.155"
+ "0fyj8dqhpqi3jh6i58avyvmg4mp9bplnpiffpp3fdka4v85lx152"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
- (make-linux-libre "4.4.172"
- "000bz3jfg0li3rwlf2c80df6682lhi59hj1kwm4hw7whgg69xi7b"
+ (make-linux-libre "4.4.173"
+ "1iy8qzjvcssf7ppb590lqzhb01ap2fjqv9iam691q1d4r8vmgcsh"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
@@ -1252,7 +1252,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
(define-public iproute
(package
(name "iproute2")
- (version "4.19.0")
+ (version "4.20.0")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1260,7 +1260,7 @@ that the Ethernet protocol is much simpler than the IP protocol.")
version ".tar.xz"))
(sha256
(base32
- "114rlb3bvrf7q6yr03mn1rj6gl7mrg0psvm2dx0qb2kxyjhmrv6r"))))
+ "1a7xyvqjxfnm7rk21amm0xgxa38clg7q7cmc4dmlg27q81mambf8"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no test suite
@@ -4718,6 +4718,13 @@ libraries, which are often integrated directly into libfabric.")
(string-append %output "/include")))
(substitute* "Makefile"
(("/lib64") "/lib"))
+ #t))
+ (add-after 'unpack 'patch-sysmacros
+ (lambda _
+ (substitute* "ipath/ipath_proto.c"
+ (("#include <sys/poll.h>" m)
+ (string-append m "\n"
+ "#include <sys/sysmacros.h>")))
#t)))))
(synopsis "Intel Performance Scaled Messaging (PSM) Libraries")
(description
diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm
index 465454aad6..93dc1aaf80 100644
--- a/gnu/packages/lisp.scm
+++ b/gnu/packages/lisp.scm
@@ -5,7 +5,7 @@
;;; Copyright © 2016 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
-;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
@@ -3612,7 +3612,7 @@ portability, and boilerplate reduction in CSS.")
(define-public cl-css
(sbcl-package->cl-source-package sbcl-cl-css))
-(define-public ecl-cl-markup
+(define-public ecl-cl-css
(sbcl-package->ecl-package sbcl-cl-css))
(define-public sbcl-portable-threads
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index c5e422fbd5..4f2c1c31e7 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -17,7 +17,7 @@
;;; Copyright © 2016, 2017 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2016, 2017, 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
@@ -1861,7 +1861,7 @@ converts them to maildir format directories.")
(define-public mpop
(package
(name "mpop")
- (version "1.4.0")
+ (version "1.4.2")
(source
(origin
(method url-fetch)
@@ -1869,7 +1869,7 @@ converts them to maildir format directories.")
name "-" version ".tar.xz"))
(sha256
(base32
- "14xsvpm5bc1wycisq882gqrnamnyi1q4rlk6anlw8ihzvwgm4h2j"))))
+ "1rx5mhgqkm7swbynrhbsz32v85h0rydb4kqfgfs9jrznd9d14m2d"))))
(build-system gnu-build-system)
(inputs
`(("gnutls" ,gnutls)
@@ -2317,7 +2317,7 @@ on the fly. Both programs are written in C and are very fast.")
(define-public swaks
(package
(name "swaks")
- (version "20170101.0")
+ (version "20181104.0")
(source
(origin
(method url-fetch)
@@ -2326,7 +2326,7 @@ on the fly. Both programs are written in C and are very fast.")
version ".tar.gz"))
(sha256
(base32
- "0pli4mlhasnqqxmmxalwyg3x7n2vhcbgsnp2xgddamjavv82vrl4"))))
+ "0n1yd27xcyb1ylp5gln3yv5gzi9r377hjy1j32367kgb3247ygq2"))))
(build-system perl-build-system)
(inputs
`(("perl-net-dns" ,perl-net-dns)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 871b4a5a3f..7d3ac773b3 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -749,7 +749,7 @@ incompatible with HDF5.")
(define-public hdf5
(package
(name "hdf5")
- (version "1.8.19")
+ (version "1.8.21")
(source
(origin
(method url-fetch)
@@ -759,12 +759,14 @@ incompatible with HDF5.")
version ".tar.bz2")
(string-append "https://support.hdfgroup.org/ftp/HDF5/"
"current"
- (apply string-append
- (take (string-split version #\.) 2))
+ (match (string-split version #\.)
+ ((major minor _ ...)
+ (string-append major minor)))
"/src/hdf5-" version ".tar.bz2")))
(sha256
- (base32 "0f3jfbqpaaq21ighi40qzs52nb52kc2d2yjk541rjmsx20b3ih2r"))
- (patches (list (search-patch "hdf5-config-date.patch")))))
+ (base32 "03glk4w4wyb1jyb443g53y3y1ncnf6mj2cqwm6avfr2awkgb3cg5"))
+ (patches (search-patches "hdf5-config-date.patch"
+ "hdf5-1.8-mpi-deprecations.patch"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
@@ -877,7 +879,8 @@ extremely large and complex data collections.")
"/src/hdf5-" version ".tar.bz2")))
(sha256
(base32 "1pr85fa1sh2ky6ai2hs3f21lp252grl2cq3wbyi4rh7dm83gyrqj"))
- (patches (list (search-patch "hdf5-config-date.patch")))))))
+ (patches (search-patches "hdf5-config-date.patch"
+ "hdf5-mpi-deprecations.patch"))))))
(define-public hdf-java
(package
@@ -2331,7 +2334,8 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
"RowPerm = NOROWPERM;"))
#t))
(patches (search-patches "superlu-dist-scotchmetis.patch"
- "superlu-dist-awpm-grid.patch"))))
+ "superlu-dist-awpm-grid.patch"
+ "superlu-dist-fix-mpi-deprecations.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
@@ -2691,7 +2695,7 @@ to BMP, JPEG or PNG image formats.")
(define-public maxima
(package
(name "maxima")
- (version "5.42.1")
+ (version "5.42.2")
(source
(origin
(method url-fetch)
@@ -2699,7 +2703,7 @@ to BMP, JPEG or PNG image formats.")
version "-source/" name "-" version ".tar.gz"))
(sha256
(base32
- "1ka0xf70a55ndgmyrq7p5xxbd78pq7bfkqhgxsivaqdw6gn5lmcg"))
+ "0kdncy6137sg3rradirxzj10mkcvafxd892zlclwhr9sa7b12zhn"))
(patches (search-patches "maxima-defsystem-mkdir.patch"))))
(build-system gnu-build-system)
(inputs
@@ -2802,7 +2806,7 @@ point numbers.")
(define-public wxmaxima
(package
(name "wxmaxima")
- (version "18.11.4")
+ (version "19.01.3")
(source
(origin
(method git-fetch)
@@ -2812,7 +2816,7 @@ point numbers.")
(file-name (git-file-name name version))
(sha256
(base32
- "1sz8n9v23q442l7yjj67pjh0dk78rl4cbcc3j8m1bm88anlfxl9r"))))
+ "1vwahx3zxkn3qlv4z0fm7v8wh0wspvs026alrh7ff7s0c2dcy95x"))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)))
@@ -4244,3 +4248,485 @@ linear algebra primitives specifically targeting graph analytics.")
license:gpl2+ ;include/psort/(funnel|sort)*.h
license:x11 ;usort and psort
license:bsd-3)))) ;CombBLAS and MersenneTwister.h
+
+(define-public dune-common
+ (package
+ (name "dune-common")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-common-" version ".tar.gz"))
+ (sha256
+ (base32
+ "019wcr1qf7jwyxx1y5y290wdlglylskvbb2m01ljkzcza2xnlmhw"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build_tests" make-flags)))
+ ;; These tests fail because they require a fully functional MPI
+ ;; environment.
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (setenv "ARGS"
+ (string-append "--exclude-regex '("
+ (string-join
+ (list
+ "remoteindicestest"
+ "remoteindicestest-mpi-2"
+ "syncertest"
+ "syncertest-mpi-2"
+ "variablesizecommunicatortest"
+ "variablesizecommunicatortest-mpi-2"
+ "arithmetictestsuitetest"
+ "assertandreturntest"
+ "assertandreturntest_ndebug"
+ "concept"
+ "debugaligntest"
+ "mpicollectivecommunication"
+ "mpicollectivecommunication-mpi-2"
+ "mpiguardtest"
+ "mpiguardtest-mpi-2"
+ "mpihelpertest"
+ "mpihelpertest-mpi-2"
+ "mpihelpertest2"
+ "mpihelpertest2-mpi-2")
+ "|")
+ ")'"))
+ #t)))))
+ (inputs
+ `(("gmp" ,gmp)
+ ("metis" ,metis)
+ ("openmpi" ,openmpi)
+ ("openblas" ,openblas)
+ ("python" ,python)
+ ("superlu" ,superlu)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "DUNE, the Distributed and Unified Numerics Environment is a
+modular toolbox for solving @dfn{partial differential equations} (PDEs) with
+grid-based methods. It supports the easy implementation of methods like
+@dfn{Finite Elements} (FE), @dfn{Finite Volumes} (FV), and also @dfn{Finite
+Differences} (FD).")
+ ;; GPL version 2 with "runtime exception" to make it behave like LGPLv2.
+ (license license:gpl2)))
+
+(define-public dune-geometry
+ (package
+ (name "dune-geometry")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-geometry-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0hlaaxjyv9j05blasvb67sy02hd0w4g9znf68gdh3l731dd1aqbn"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build_tests" make-flags))))))
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("openmpi" ,openmpi)
+ ;; Optional
+ ("openblas" ,openblas)
+ ("gmp" ,gmp)
+ ("python" ,python)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "DUNE, the Distributed and Unified Numerics Environment is a
+modular toolbox for solving @dfn{partial differential equations} (PDEs) with
+grid-based methods. It supports the easy implementation of methods like
+@dfn{Finite Elements} (FE), @dfn{Finite Volumes} (FV), and also @dfn{Finite
+Differences} (FD).
+
+This package contains the basic DUNE geometry classes.")
+ ;; GPL version 2 with "runtime exception"
+ (license license:gpl2)))
+
+(define-public dune-grid
+ (package
+ (name "dune-grid")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-grid-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1jp4vscm9yb9xg0lh7apzccfkhvgbnk652yahigmh3cvzpl4acd0"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build_tests" make-flags)))
+ ;; These tests fail because they require a fully functional MPI
+ ;; environment.
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (setenv "ARGS"
+ (string-append "--exclude-regex '("
+ (string-join
+ (list
+ "scsgmappertest"
+ "conformvolumevtktest"
+ "gnuplottest"
+ "nonconformboundaryvtktest"
+ "subsamplingvtktest"
+ "vtktest"
+ "vtktest-mpi-2"
+ "vtksequencetest"
+ "gmshtest-onedgrid"
+ "test-dgf-yasp"
+ "test-dgf-yasp-offset"
+ "test-dgf-oned"
+ "test-geogrid-yaspgrid"
+ "test-gridinfo"
+ "test-identitygrid"
+ "testiteratorranges"
+ "test-hierarchicsearch"
+ "test-parallel-ug-mpi-2"
+ "test-yaspgrid-backuprestore-equidistant"
+ "test-yaspgrid-backuprestore-equidistant-mpi-2"
+ "test-yaspgrid-backuprestore-equidistantoffset"
+ "test-yaspgrid-backuprestore-equidistantoffset-mpi-2"
+ "test-yaspgrid-backuprestore-tensor"
+ "test-yaspgrid-backuprestore-tensor-mpi-2"
+ "test-yaspgrid-tensorgridfactory"
+ "test-yaspgrid-tensorgridfactory-mpi-2"
+ "test-yaspgrid-yaspfactory-1d"
+ "test-yaspgrid-yaspfactory-1d-mpi-2"
+ "test-yaspgrid-yaspfactory-2d"
+ "test-yaspgrid-yaspfactory-2d-mpi-2"
+ "test-yaspgrid-yaspfactory-3d"
+ "test-yaspgrid-yaspfactory-3d-mpi-2"
+ "globalindexsettest"
+ "persistentcontainertest"
+ "structuredgridfactorytest"
+ "tensorgridfactorytest"
+ "vertexordertest")
+ "|")
+ ")'"))
+ #t)))))
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("dune-geometry" ,dune-geometry)
+ ("gmp" ,gmp)
+ ("metis" ,metis)
+ ("openblas" ,openblas)
+ ("openmpi" ,openmpi)
+ ("python" ,python)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "DUNE, the Distributed and Unified Numerics Environment is a
+modular toolbox for solving @dfn{partial differential equations} (PDEs) with
+grid-based methods. It supports the easy implementation of methods like
+@dfn{Finite Elements} (FE), @dfn{Finite Volumes} (FV), and also @dfn{Finite
+Differences} (FD).
+
+This package contains the basic DUNE grid classes.")
+ ;; GPL version 2 with "runtime exception"
+ (license license:gpl2)))
+
+(define-public dune-istl
+ (package
+ (name "dune-istl")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-istl-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l2gyrvys5w6wsmk0ckbb7295s80b7yk7qrl7x66akv2jv1nzq2w"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build_tests" make-flags)))
+ ;; These tests fail because they require a fully functional MPI
+ ;; environment.
+ (add-after 'unpack 'disable-failing-tests
+ (lambda _
+ (setenv "ARGS"
+ (string-append "--exclude-regex '("
+ (string-join
+ (list
+ "galerkintest"
+ "hierarchytest"
+ "pamgtest"
+ "pamg_comm_repart_test"
+ "matrixredisttest"
+ "vectorcommtest"
+ "matrixmarkettest")
+ "|")
+ ")'"))
+ #t)))))
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("openmpi" ,openmpi)
+ ;; Optional
+ ("metis" ,metis)
+ ("superlu" ,superlu)
+ ("openblas" ,openblas)
+ ("gmp" ,gmp)
+ ("python" ,python)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "DUNE, the Distributed and Unified Numerics Environment is a
+modular toolbox for solving @dfn{partial differential equations} (PDEs) with
+grid-based methods.
+
+This is the iterative solver template library which provides generic sparse
+matrix/vector classes and a variety of solvers based on these classes. A
+special feature is the use of templates to exploit the recursive block
+structure of finite element matrices at compile time. Available solvers
+include Krylov methods, (block-) incomplete decompositions and
+aggregation-based algebraic multigrid.")
+ ;; GPL version 2 with "runtime exception"
+ (license license:gpl2)))
+
+(define-public dune-localfunctions
+ (package
+ (name "dune-localfunctions")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-localfunctions-" version ".tar.gz"))
+ (sha256
+ (base32
+ "19c6zjinwwpy8jh4v4prhphyd438rapd4x80fj93apmwgw04nrhl"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build_tests" make-flags))))))
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("dune-geometry" ,dune-geometry)
+ ("openmpi" ,openmpi)
+ ;; Optional
+ ("metis" ,metis)
+ ("superlu" ,superlu)
+ ("gmp" ,gmp)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment") ; TODO
+ (description "This DUNE module provides interface and implementation for
+shape functions defined on the DUNE reference elements. In addition to the
+shape function, interpolation operators and special keys are provided which
+can be used to assemble global function spaces on finite-element grids.
+
+This package provides an interface and implementation for shape functions
+defined on the DUNE reference elements. In addition to the shape function,
+interpolation operators and special keys are provided which can be used to
+assemble global function spaces on finite-element grids.")
+ ;; GPL version 2 with "runtime exception"
+ (license license:gpl2)))
+
+(define-public dune-alugrid
+ (package
+ (name "dune-alugrid")
+ (version "2.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://dune-project.org/download/"
+ version "/dune-alugrid-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1l9adgyjpra8mvwm445s0lpjshnb63jag85fb2hisbjn6bm320yj"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ; 7 of 8 tests fail because they need a full MPI
+ ; environment
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-include
+ (lambda _
+ (substitute* "dune/alugrid/test/test-alugrid.cc"
+ (("doc/grids/gridfactory/testgrids")
+ "doc/dune-grid/grids/gridfactory/testgrids"))
+ #t))
+ (add-after 'build 'build-tests
+ (lambda* (#:key inputs make-flags #:allow-other-keys)
+ (setenv "CPLUS_INCLUDE_PATH"
+ (string-append (assoc-ref inputs "dune-grid") "/share:"
+ (getenv "CPLUS_INCLUDE_PATH")))
+ (apply invoke "make" "build_tests" make-flags))))))
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("dune-geometry" ,dune-geometry)
+ ("dune-grid" ,dune-grid)
+ ("openmpi" ,openmpi)
+ ;; Optional
+ ("metis" ,metis)
+ ("openblas" ,openblas)
+ ("python" ,python)
+ ("superlu" ,superlu)
+ ("gmp" ,gmp)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "ALUGrid is an adaptive, loadbalancing, unstructured
+implementation of the DUNE grid interface supporting either simplices or
+cubes.")
+ (license license:gpl2+)))
+
+(define-public dune-typetree
+ (package
+ (name "dune-typetree")
+ (version "2.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.dune-project.org/staging/dune-typetree.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0mnv6w2f22lz3j4bdpdjq55vjm8xxfx9v4vvhg9bd36xpsbjpjp9"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'build 'build-tests
+ (lambda* (#:key make-flags #:allow-other-keys)
+ (apply invoke "make" "build_tests" make-flags))))))
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("openmpi" ,openmpi)
+ ;; Optional
+ ("openblas" ,openblas)
+ ("python" ,python)
+ ("metis" ,metis)
+ ("superlu" ,superlu)
+ ("gmp" ,gmp)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "TypeTree is a template library for constructing and
+operating on statically typed trees of objects.")
+ ;; Either GPL version 2 with "runtime exception" or LGPLv3+.
+ (license (list license:lgpl3+ license:gpl2))))
+
+(define-public dune-functions
+ (package
+ (name "dune-functions")
+ (version "2.6.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.dune-project.org/staging/dune-functions.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1an8gb477n8j0kzpbrv7nr1snh8pxip0gsxq6w63jc83gg3dj200"))))
+ (build-system cmake-build-system)
+ (arguments `(#:tests? #f)) ; FIXME: tests require dune-uugrid
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("dune-istl" ,dune-istl)
+ ("dune-localfunctions" ,dune-localfunctions)
+ ("dune-grid" ,dune-grid)
+ ("dune-geometry" ,dune-geometry)
+ ("dune-typetree" ,dune-typetree)
+ ("openmpi" ,openmpi)
+ ("openblas" ,openblas)
+ ("metis" ,metis)
+ ("python" ,python)
+ ("superlu" ,superlu)
+ ("gmp" ,gmp)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Distributed and Unified Numerics Environment")
+ (description "The dune-functions module provides an abstraction layer for
+global finite element functions. Its two main concepts are functions
+implemented as callable objects, and bases of finite element spaces.")
+ ;; Either GPL version 2 with "runtime exception" or LGPLv3+.
+ (license (list license:lgpl3+ license:gpl2))))
+
+(define-public dune-pdelab
+ (package
+ (name "dune-pdelab")
+ (version "2.6.0-rc1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.dune-project.org/pdelab/dune-pdelab")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "07g0s9448z65vjrq88g5rv3340iifil85k170n8kbqchsvi4ny5v"))))
+ (build-system cmake-build-system)
+ (arguments '(#:tests? #f)) ; XXX: the tests cannot be compiled
+ (inputs
+ `(("dune-common" ,dune-common)
+ ("dune-istl" ,dune-istl)
+ ("dune-localfunctions" ,dune-localfunctions)
+ ("dune-geometry" ,dune-geometry)
+ ("dune-grid" ,dune-grid)
+ ("dune-typetree" ,dune-typetree)
+ ("dune-functions" ,dune-functions)
+ ("openmpi" ,openmpi)
+ ;; Optional
+ ("openblas" ,openblas)
+ ("eigen" ,eigen)
+ ("metis" ,metis)
+ ("python" ,python)
+ ("superlu" ,superlu)
+ ("gmp" ,gmp)))
+ (native-inputs
+ `(("gfortran" ,gfortran)
+ ("pkg-config" ,pkg-config)))
+ (home-page "https://dune-project.org/")
+ (synopsis "Differential equations solver toolbox")
+ (description "PDELab is a partial differential equations solver toolbox
+built on top of DUNE, the Distributed and Unified Numerics Environment.")
+ ;; Either GPL version 2 with "runtime exception" or LGPLv3+.
+ (license (list license:lgpl3+ license:gpl2))))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 3356cb3992..d8ec64f6c3 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -10,7 +10,7 @@
;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
@@ -492,14 +492,14 @@ compromised.")
(define-public znc
(package
(name "znc")
- (version "1.7.1")
+ (version "1.7.2")
(source (origin
(method url-fetch)
(uri (string-append "http://znc.in/releases/archive/znc-"
version ".tar.gz"))
(sha256
(base32
- "1i1r1lh9q2mr1bg520zrvrlwhrhy6wibrin78wjxq1gab1qymks4"))))
+ "1ac2csl5jr56vahnxdynlvrhwlvcc1gqxvyifckc6cn5aj7ygd30"))))
;; TODO: autotools support has been deprecated, and new features like i18n
;; are only supported when building with cmake.
(build-system gnu-build-system)
diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm
index a638dd7c80..4384406227 100644
--- a/gnu/packages/monitoring.scm
+++ b/gnu/packages/monitoring.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
-;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
@@ -371,18 +371,20 @@ demand.")
(define-public python-prometheus-client
(package
(name "python-prometheus-client")
- (version "0.1.1")
+ (version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prometheus_client" version))
(sha256
(base32
- "164qzzg8q8awqk0angcm87p2sjiibaj1wgjz0xk6j0klvqi5q2mz"))))
+ "0g7rpv1pq2lab1nfqdx98z9d3bqwc400alg1j4ynrpjkrbsizhg8"))))
(build-system python-build-system)
(arguments
'(;; No included tests.
#:tests? #f))
+ (propagated-inputs
+ `(("python-twisted" ,python-twisted)))
(home-page
"https://github.com/prometheus/client_python")
(synopsis "Python client for the Prometheus monitoring system")
diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm
index 6e56142bd1..0a43c55b7a 100644
--- a/gnu/packages/mpi.scm
+++ b/gnu/packages/mpi.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014, 2015, 2018 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2014, 2015, 2018, 2019 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Dave Love <fx@gnu.org>
@@ -33,6 +33,7 @@
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages pciutils)
#:use-module (gnu packages xorg)
@@ -40,6 +41,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages perl)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages parallel)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages valgrind)
#:use-module (srfi srfi-1)
@@ -156,7 +158,7 @@ bind processes, and much more.")
(define-public openmpi
(package
(name "openmpi")
- (version "3.0.1")
+ (version "4.0.0")
(source
(origin
(method url-fetch)
@@ -165,12 +167,13 @@ bind processes, and much more.")
"/downloads/openmpi-" version ".tar.bz2"))
(sha256
(base32
- "0pbqrm5faf57nasy1s81wqivl7zvxmv8lzjh8hvb0f3qxv8m0d36"))))
+ "0srnjwzsmyhka9hhnmqm86qck4w3xwjm8g6sbns58wzbrwv8l2rg"))))
(build-system gnu-build-system)
(inputs
`(("hwloc" ,hwloc "lib")
("gfortran" ,gfortran)
("libfabric" ,libfabric)
+ ("libevent" ,libevent)
,@(if (and (not (%current-target-system))
(member (%current-system) (package-supported-systems psm)))
`(("psm" ,psm))
@@ -180,7 +183,8 @@ bind processes, and much more.")
`(("psm2" ,psm2))
'())
("rdma-core" ,rdma-core)
- ("valgrind" ,valgrind)))
+ ("valgrind" ,valgrind)
+ ("slurm" ,slurm))) ;for PMI support (launching via "srun")
(native-inputs
`(("pkg-config" ,pkg-config)
("perl" ,perl)))
@@ -189,15 +193,15 @@ bind processes, and much more.")
`(#:configure-flags `("--enable-mpi-ext=affinity" ;cr doesn't work
"--enable-memchecker"
"--with-sge"
-
- ;; VampirTrace is obsoleted by scorep and disabling
- ;; it reduces the closure size considerably.
- "--disable-vt"
-
- ,(string-append "--with-valgrind="
- (assoc-ref %build-inputs "valgrind"))
- ,(string-append "--with-hwloc="
- (assoc-ref %build-inputs "hwloc")))
+ "--with-psm"
+ "--with-psm2"
+ "--with-valgrind"
+ "--with-hwloc=external"
+ "--with-libevent"
+ ;; Enable support for SLURM's Process Manager
+ ;; Interface (PMI).
+ ,(string-append "--with-pmi="
+ (assoc-ref %build-inputs "slurm")))
#:phases (modify-phases %standard-phases
(add-before 'build 'remove-absolute
(lambda _
@@ -212,8 +216,8 @@ bind processes, and much more.")
(("_ABSOLUTE") ""))
;; Avoid valgrind (which pulls in gdb etc.).
(substitute*
- '("./ompi/mca/io/romio314/src/io_romio314_component.c")
- (("MCA_io_romio314_COMPLETE_CONFIGURE_FLAGS")
+ '("./ompi/mca/io/romio321/src/io_romio321_component.c")
+ (("MCA_io_romio321_COMPLETE_CONFIGURE_FLAGS")
"\"[elided to reduce closure]\""))
#t))
(add-before 'build 'scrub-timestamps ;reproducibility
@@ -263,7 +267,7 @@ only provides @code{MPI_THREAD_FUNNELED}.")))
(setenv "OMPI_MCA_plm_rsh_agent" (which "false"))
;; Allow oversubscription in case there are less physical cores available
;; in the build environment than the package wants while testing.
- (setenv "OMPI_MCA_rmaps_base_oversubscribe" "yes")
+ (setenv "OMPI_MCA_rmaps_base_mapping_policy" "core:OVERSUBSCRIBE")
#t))
(define-public python-mpi4py
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 4fe352fe96..c4333364e1 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -2793,6 +2793,7 @@ of tools for manipulating and accessing your music.")
#:configure-flags '("-DCMAKE_CXX_FLAGS=-ljack")))
(inputs
`(("alsa-lib" ,alsa-lib)
+ ("lhasa" ,lhasa)
("jack" ,jack-1)
("rtmidi" ,rtmidi)
("sdl" ,sdl2)
@@ -3636,7 +3637,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
- (version "3.0.1")
+ (version "3.0.2")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3645,7 +3646,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
- "085qwfv3fsgry1pnx531w83lnyvf7kbaklipdf8zqa9shi6d3x9i"))
+ "1w9il6gg0dh4yi20nbdcibx5z5z4bvzppq8wsqf1l916hnczsj3s"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@@ -3659,7 +3660,11 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
'("thirdparty/freetype"
"thirdparty/openssl"
"thirdparty/portmidi"))
- #t))))
+ #t))
+ ;; Fix compilation error due to BUILD_WEBENGINE CMake option not
+ ;; properly handled. Applied upstream already:
+ ;; <https://github.com/musescore/MuseScore/commit/bb0c1a9b4940f3f6b52c0df535289ec8a3bc9e03>
+ (patches (search-patches "musescore-fix-use_webengine.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 6ba544ecd9..c71ae4a24d 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
@@ -590,7 +590,7 @@ of the same name.")
(define-public wireshark
(package
(name "wireshark")
- (version "2.6.5")
+ (version "2.6.6")
(source
(origin
(method url-fetch)
@@ -598,7 +598,7 @@ of the same name.")
version ".tar.xz"))
(sha256
(base32
- "12j3fw0j8qcr86c1vsz4bsb55j9inp0ll3wjjdvg1cj4hmwmn5ck"))))
+ "0qz8a1ays63712pq1v7nnw7c57zlqkcifq7himfv5nsv0zm36ya8"))))
(build-system gnu-build-system)
(inputs `(("c-ares" ,c-ares)
("glib" ,glib)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a32cee44dc..07fcf92aea 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -805,64 +805,21 @@ libpanel, librsvg and quartz.")
(define-public unison
(package
(name "unison")
- (version "2.48.3")
- (source
- (origin
- (method svn-fetch)
- (uri (svn-reference
- (url (string-append "https://webdav.seas.upenn.edu/svn/"
- "unison/branches/"
- (version-major+minor version)))
- (revision 535)))
- (file-name (string-append name "-" version "-checkout"))
- (sha256
- (base32
- "0486s53wyayicj9f2raj2dvwvk4xyzar219rccc1iczdwixm4x05"))
- (modules '((guix build utils)
- (ice-9 rdelim)
- (ice-9 regex)
- (srfi srfi-1)))
- (snippet
- `(begin
- ;; The svn revision in the release tarball appears to be
- ;; artificially manipulated in order to set the desired point
- ;; version number. Because the point version is calculated during
- ;; the build, we can offset pointVersionOrigin by the desired
- ;; point version and write that into "Rev: %d". We do this rather
- ;; than hardcoding the necessary revision number, for
- ;; maintainability.
- (with-atomic-file-replacement "src/mkProjectInfo.ml"
- (lambda (in out)
- (let ((pt-ver (string->number (third (string-split ,version #\.))))
- (pt-rx (make-regexp "^let pointVersionOrigin = ([0-9]+)"))
- (rev-rx (make-regexp "Rev: [0-9]+")))
- (let loop ((pt-origin #f))
- (let ((line (read-line in 'concat)))
- (cond
- ((regexp-exec pt-rx line)
- => (lambda (m)
- (display line out)
- (loop (string->number (match:substring m 1)))))
- ((regexp-exec rev-rx line)
- => (lambda (m)
- (format out "~aRev: ~d~a"
- (match:prefix m)
- (+ pt-origin pt-ver)
- (match:suffix m))
- (dump-port in out))) ;done
- (else
- (display line out)
- (loop pt-origin))))))))
- ;; Without the '-fix' argument, the html file produced does not
- ;; have functioning internal hyperlinks.
- (substitute* "doc/Makefile"
- (("hevea unison") "hevea -fix unison"))
- #t))))
+ (version "2.51.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/bcpierce00/unison.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1bykiyc0dc5pkw8x370qkg2kygq9pq7yqzsgczd3y13b6ivm4sdq"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.9 MiB of documentation
(native-inputs
- `(("ocaml" ,ocaml-4.02)
+ `(("ocaml" ,ocaml)
;; For documentation
("ghostscript" ,ghostscript)
("texlive" ,texlive-tiny)
@@ -1391,14 +1348,14 @@ coverage information.")
(define-public dune
(package
(name "dune")
- (version "1.2.1")
+ (version "1.6.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/ocaml/dune/releases/"
"download/" version "/dune-" version ".tbz"))
(sha256
(base32
- "00c5dbm4hkdapc2i7pg07b2lj8sv6ly38qr7zid58cdmbmzq21z9"))))
+ "0dmf0wbfmgdy5plz1bjiisc2hjgblvxsnrqjmw2c8y45v1h23mdz"))))
(build-system ocaml-build-system)
(arguments
`(#:tests? #f; require odoc
@@ -1419,24 +1376,24 @@ following a very simple s-expression syntax.")
(define-public ocaml-migrate-parsetree
(package
(name "ocaml-migrate-parsetree")
- (version "1.1.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/ocaml-ppx/"
- "ocaml-migrate-parsetree/releases/download/v"
- version "/ocaml-migrate-parsetree-"
- version ".tbz"))
- (sha256
- (base32
- "01zjp1q4hryqaxv4apkjd868fycz2kf887r6lkb6x2a545h1lh7f"))))
+ (version "1.2.0")
+ (home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append home-page ".git"))
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "16kas19iwm4afijv3yxd250s08absabmdcb4yj57wc8r4fmzv5dm"))))
(build-system dune-build-system)
(arguments
- `(#:tests? #f
- #:jbuild? #t))
+ `(#:tests? #f))
(propagated-inputs
- `(("ocamlbuild" ,ocamlbuild)
+ `(("ocaml-ppx-derivers" ,ocaml-ppx-derivers)
+ ("ocamlbuild" ,ocamlbuild)
("ocaml-result" ,ocaml-result)))
- (home-page "https://github.com/ocaml-ppx/ocaml-migrate-parsetree")
(synopsis "OCaml parsetree convertor")
(description "This library converts between parsetrees of different OCaml
versions. For each version, there is a snapshot of the parsetree and conversion
@@ -4694,6 +4651,38 @@ Dedukti files.")
syntax checking on dedukti files.")
(license license:cecill-b))))
+(define-public ocaml-ppx-inline-test
+ (package
+ (name "ocaml-ppx-inline-test")
+ (version "0.11.0")
+ (home-page "https://github.com/janestreet/ppx_inline_test")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append home-page ".git"))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "11n94fz1asjf5vqdgriv0pvsa5lbfpqcyk525c7816w23vskcvq6"))))
+ (build-system dune-build-system)
+ (arguments
+ ;see home page README for further information
+ `(#:tests? #f))
+ (inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-compiler-libs" ,ocaml-compiler-libs)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (synopsis "Syntax extension for writing in-line tests in ocaml code")
+ (description "This package contains a syntax extension for writing
+in-line tests in ocaml code. It is part of Jane Street's PPX rewriters
+collection.")
+ (license license:expat)))
+
(define-public ocaml-biniou
(package
(name "ocaml-biniou")
@@ -4987,7 +4976,7 @@ parsexp_io.")
(base32
"1qfl0m04rpcjvc4yw1hzh6r16jpwmap0sa9ax6zjji67dz4szpyb"))))
(build-system dune-build-system)
- (inputs
+ (propagated-inputs
`(("ocaml-num" ,ocaml-num)
("ocaml-parsexp" ,ocaml-parsexp)
("ocaml-sexplib0" ,ocaml-sexplib0)))
@@ -5014,7 +5003,7 @@ functionality for parsing and pretty-printing s-expressions.")
(base32
"0j6xb4265jr41vw4fjzak6yr8s30qrnzapnc6rl1dxy8bjai0nir"))))
(build-system dune-build-system)
- (inputs
+ (propagated-inputs
`(("ocaml-sexplib0" ,ocaml-sexplib0)))
(arguments
`(#:phases
@@ -5077,8 +5066,9 @@ is now @code{Ocaml_common.Ast_helper}.")
(base32
"1facajqhvq34g2wrg368y0ajxd6lrj5b3lyzyj0jhdmraxajjcwn"))))
(build-system dune-build-system)
- (inputs `(("ocaml-base" ,ocaml-base)
- ("ocaml-sexplib0" ,ocaml-sexplib0)))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-sexplib0" ,ocaml-sexplib0)))
(arguments
'(#:tests? #f)) ;no tests
(synopsis "Standard IO library for OCaml")
@@ -5107,6 +5097,7 @@ a more consistent API.")
(build-system dune-build-system)
(arguments
'(#:tests? #f)) ;no tests
+ (properties `((upstream-name . "ppx_derivers")))
(synopsis "Shared @code{@@deriving} plugin registry")
(description
"Ppx_derivers is a tiny package whose sole purpose is to allow
@@ -5130,7 +5121,7 @@ as part of the same ocaml-migrate-parsetree driver.")
(base32
"1nr4igf5m4prvigvv470dnhfdhdw0p6hz6zw8gnm5bzcv7s2lg5l"))))
(build-system dune-build-system)
- (inputs
+ (propagated-inputs
`(("ocaml-base" ,ocaml-base)
("ocaml-compiler-libs" ,ocaml-compiler-libs)
("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
@@ -5138,8 +5129,6 @@ as part of the same ocaml-migrate-parsetree driver.")
("ocaml-stdio" ,ocaml-stdio)
("ocaml-result" ,ocaml-result)
("ocaml-sexplib0" ,ocaml-sexplib0)))
- (native-inputs
- `(("ocaml-findlib" ,ocaml-findlib)))
(arguments
'(#:phases
(modify-phases %standard-phases
@@ -5147,7 +5136,7 @@ as part of the same ocaml-migrate-parsetree driver.")
(lambda* (#:key inputs #:allow-other-keys)
;; add the line #directory ".." at the top of each file
;; using #use "topfind";; to be able to find topfind
- (let* ((findlib-path (assoc-ref inputs "ocaml-findlib"))
+ (let* ((findlib-path (assoc-ref inputs "findlib"))
(findlib-libdir
(string-append findlib-path "/lib/ocaml/site-lib")))
(substitute* '("test/base/test.ml"
@@ -5175,3 +5164,999 @@ OCaml AST in the OCaml syntax;
@item a generator of open recursion classes from type definitions.
@end itemize")
(license license:expat)))
+
+(define-public ocaml-ppx-compare
+ (package
+ (name "ocaml-ppx-compare")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_compare.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "06bq4m1bsm4jlx4g7wh5m99qky7xm4c2g52kaz6pv25hdn5agi2m"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_compare")))
+ (home-page "https://github.com/janestreet/ppx_compare")
+ (synopsis "Generation of comparison functions from types")
+ (description "Generation of fast comparison functions from type expressions
+and definitions. Ppx_compare is a ppx rewriter that derives comparison functions
+from type representations. The scaffolded functions are usually much faster
+than ocaml's Pervasives.compare. Scaffolding functions also gives you more
+flexibility by allowing you to override them for a specific type and more safety
+by making sure that you only compare comparable values.")
+ (license license:asl2.0)))
+
+(define-public ocaml-fieldslib
+ (package
+ (name "ocaml-fieldslib")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version) "/files/"
+ "fieldslib-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "12948pzxrl360lybm9fzyvplgcl87zjbn4m3sk1aw75zk85p1388"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "fieldslib")))
+ (home-page "https://github.com/janestreet/fieldslib")
+ (synopsis "Syntax extension to record fields")
+ (description "Syntax extension to define first class values representing
+record fields, to get and set record fields, iterate and fold over all fields
+of a record and create new record values.")
+ (license license:asl2.0)))
+
+(define-public ocaml-variantslib
+ (package
+ (name "ocaml-variantslib")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/variantslib-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hsdwmkslvk4cznqr4lyyiy7vvk5spil226k0z2in26fxq6y0hf3"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "variantslib")))
+ (home-page "https://github.com/janestreet/variantslib")
+ (synopsis "OCaml variants as first class values")
+ (description "The Core suite of libraries is an alternative to OCaml's
+standard library.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-fields-conv
+ (package
+ (name "ocaml-ppx-fields-conv")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_fields_conv-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "07zrd3qky2ppbfl55gpm90rvqa5860xgwcsvihrjmkrw6d0jirkc"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-fieldslib" ,ocaml-fieldslib)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_fields_conv")))
+ (home-page "https://github.com/janestreet/ppx_fields_conv")
+ (synopsis "Generation of accessor and iteration functions for ocaml records")
+ (description "Ppx_fields_conv is a ppx rewriter that can be used to define
+first class values representing record fields, and additional routines, to get
+and set record fields, iterate and fold over all fields of a record and create
+new record values.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-sexp-conv
+ (package
+ (name "ocaml-ppx-sexp-conv")
+ (version "0.11.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_sexp_conv.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0pqwnqy1xp309wvdcaax4lg02yk64lq2w03mbgfvf6ps5ry4gis9"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_sexp_conv")))
+ (home-page "https://github.com/janestreet/ppx_sexp_conv")
+ (synopsis "Generation of S-expression conversion functions from type definitions")
+ (description "This package generates S-expression conversion functions from type
+definitions.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-variants-conv
+ (package
+ (name "ocaml-ppx-variants-conv")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_variants_conv.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1yc0gsds5m2nv39zga8nnrca2n75rkqy5dz4xj1635ybz20hhbjd"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-variantslib" ,ocaml-variantslib)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties
+ `((upstream-name . "ppx_variants_conv")))
+ (home-page
+ "https://github.com/janestreet/ppx_variants_conv")
+ (synopsis "Generation of accessor and iteration functions for OCaml variant types")
+ (description
+ "This package generates accessors and interation functions for OCaml
+variant types.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-custom-printf
+ (package
+ (name "ocaml-ppx-custom-printf")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_custom_printf-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "11b73smf3g3bpd9lg014pr4rx285nk9mnk6g6464ph51jv0sqzhj"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_custom_printf")))
+ (home-page "https://github.com/janestreet/ppx_custom_printf")
+ (synopsis "Printf-style format-strings for user-defined string conversion")
+ (description "Extensions to printf-style format-strings for user-defined
+string conversion.")
+ (license license:asl2.0)))
+
+(define-public ocaml-bin-prot
+ (package
+ (name "ocaml-bin-prot")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/bin_prot-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1rsd91gx36prj4whi76nsiz1bzpgal9nzyw3pxdz1alv4ilk2il6"))))
+ (build-system dune-build-system)
+ (inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf)
+ ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)))
+ (properties `((upstream-name . "bin_prot")))
+ (home-page "https://github.com/janestreet/bin_prot")
+ (synopsis "Binary protocol generator")
+ (description "This library contains functionality for reading and writing
+OCaml-values in a type-safe binary protocol. It is extremely efficient,
+typically supporting type-safe marshalling and unmarshalling of even highly
+structured values at speeds sufficient to saturate a gigabit connection. The
+protocol is also heavily optimized for size, making it ideal for long-term
+storage of large amounts of data.")
+ (license (list
+ license:asl2.0
+ license:bsd-3))))
+
+(define-public ocaml-octavius
+ (package
+ (name "ocaml-octavius")
+ (version "1.2.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ocaml-doc/octavius")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gqfbwsh0zq4b9mvvlmg3zhpbfbvq8swqr31320aibbqydwf77hr"))))
+ (build-system dune-build-system)
+ (properties `((upstream-name . "octavius")))
+ (home-page "https://github.com/ocaml-doc/octavius")
+ (synopsis "Ocamldoc comment syntax parser")
+ (description "Octavius is a library to parse the `ocamldoc` comment syntax.")
+ (license license:isc)))
+
+(define-public ocaml-ppx-hash
+ (package
+ (name "ocaml-ppx-hash")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_hash.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1p0ic6aijxlrdggpmycj12q3cy9xksbq2vq727215maz4snvlf5p"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_hash")))
+ (home-page "https://github.com/janestreet/ppx_hash")
+ (synopsis "Generation of hash functions from type expressions and definitions")
+ (description "This package is a collecton of ppx rewriters that generate
+hash functions from type exrpessions and definitions.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-enumerate
+ (package
+ (name "ocaml-ppx-enumerate")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_enumerate.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0spx9k1v7vjjb6sigbfs69yndgq76v114jhxvzjmffw7q989cyhr"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_enumerate")))
+ (home-page "https://github.com/janestreet/ppx_enumerate")
+ (synopsis "Generate a list containing all values of a finite type")
+ (description "Ppx_enumerate is a ppx rewriter which generates a definition
+for the list of all values of a type (for a type which only has finitely
+many values).")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-bench
+ (package
+ (name "ocaml-ppx-bench")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_bench-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ys4pblbcjbk9dn073rqiwm7r6rc7fah03j7riklkwnb5n44andl"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_bench")))
+ (home-page "https://github.com/janestreet/ppx_bench")
+ (synopsis "Syntax extension for writing in-line benchmarks in ocaml code")
+ (description "Syntax extension for writing in-line benchmarks in ocaml code.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-here
+ (package
+ (name "ocaml-ppx-here")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_here-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0wxcak3ay4jpigm3pfdcpr65qw4hxfa8whhkryhcd8gy71x056z5"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; broken tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_here")))
+ (home-page "https://github.com/janestreet/ppx_here")
+ (synopsis "Expands [%here] into its location")
+ (description
+ "Part of the Jane Street's PPX rewriters collection.")
+ (license license:asl2.0)))
+
+(define-public ocaml-typerep
+ (package
+ (name "ocaml-typerep")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/typerep-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1zi7hy0prpgzqhr4lkacr04wvlvbp21jfbdfvffhrm6cd400rb5v"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:tests? #f))
+ (propagated-inputs `(("ocaml-base" ,ocaml-base)))
+ (home-page "https://github.com/janestreet/typerep")
+ (synopsis "Typerep is a library for runtime types")
+ (description "Typerep is a library for runtime types.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-sexp-value
+ (package
+ (name "ocaml-ppx-sexp-value")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_sexp_value-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1xnalfrln6k5khsyxvxkg6v32q8fpr4cqamsjqfih29jdv486xrs"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_sexp_value")))
+ (home-page "https://github.com/janestreet/ppx_sexp_value")
+ (synopsis "Simplify building s-expressions from ocaml values")
+ (description "A ppx rewriter that simplifies building s-expressions from
+ocaml values.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-sexp-message
+ (package
+ (name "ocaml-ppx-sexp-message")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_sexp_message-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1yh440za0w9cvrbxbmqacir8715kdaw6sw24ys9xj80av9nqpiw7"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_sexp_message")))
+ (home-page "https://github.com/janestreet/ppx_sexp_message")
+ (synopsis "A ppx rewriter for easy construction of s-expressions")
+ (description "Ppx_sexp_message aims to ease the creation of s-expressions
+in OCaml. This is mainly motivated by writing error and debugging messages,
+where one needs to construct a s-expression based on various element of the
+context such as function arguments.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-pipebang
+ (package
+ (name "ocaml-ppx-pipebang")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_pipebang-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wrrzlb4kdvkkcmzi01fw25jar38r2jlnyn0i6pn4z0lq4gpm9m0"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_pipebang")))
+ (home-page "https://github.com/janestreet/ppx_pipebang")
+ (synopsis "Inline reverse application operators `|>` and `|!`")
+ (description "A ppx rewriter that inlines reverse application operators
+@code{|>} and @code{|!}.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-optional
+ (package
+ (name "ocaml-ppx-optional")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_optional-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1z8z2bga95k2vksljljfglg10vygkjd24kn1b37sk4z3nmp47x0h"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_optional")))
+ (home-page "https://github.com/janestreet/ppx_optional")
+ (synopsis "Pattern matching on flat options")
+ (description
+ "A ppx rewriter that rewrites simple match statements with an if then
+else expression.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-optcomp
+ (package
+ (name "ocaml-ppx-optcomp")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_optcomp-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1bb52p2j2h4s9f06vrcpla80rj93jinnzq6jzilapyx9q068929i"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_optcomp")))
+ (home-page "https://github.com/janestreet/ppx_optcomp")
+ (synopsis "Optional compilation for OCaml")
+ (description "Ppx_optcomp stands for Optional Compilation. It is a tool
+used to handle optional compilations of pieces of code depending of the word
+size, the version of the compiler, ...")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-let
+ (package
+ (name "ocaml-ppx-let")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_let-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1wdfw6w4xbg97a35yg6bif9gggxniy9ddnrjfw1a0inkl2yamxkj"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_let")))
+ (home-page "https://github.com/janestreet/ppx_let")
+ (synopsis "Monadic let-bindings")
+ (description "A ppx rewriter for monadic and applicative let bindings,
+match expressions, and if expressions.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-fail
+ (package
+ (name "ocaml-ppx-fail")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_fail-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "07plqsvljiwvngggfypwq55g46s5my55y45mvlmalrxyppzr03s8"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_fail")))
+ (home-page "https://github.com/janestreet/ppx_fail")
+ (synopsis "Add location to calls to failwiths")
+ (description "Syntax extension that makes [failwiths] always include a
+position.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-assert
+ (package
+ (name "ocaml-ppx-assert")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_assert-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "17kd311n0l9f72gblf9kv8i5rghr106w37x4f0m5qwh6nlgl0j9k"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_assert")))
+ (home-page "https://github.com/janestreet/ppx_assert")
+ (synopsis "Assert-like extension nodes that raise useful errors on failure")
+ (description "This package contains assert-like extension nodes that raise
+useful errors on failure.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-expect
+ (package
+ (name "ocaml-ppx-expect")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_expect.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0bnz3cpj3vwdw409r6f8raakl8n364q5l7wy4i6gckr34a4vla69"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:jbuild? #t))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-assert" ,ocaml-ppx-assert)
+ ("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf)
+ ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)
+ ("ocaml-re" ,ocaml-re)))
+ (properties `((upstream-name . "ppx_expect")))
+ (home-page "https://github.com/janestreet/ppx_expect")
+ (synopsis "Cram like framework for OCaml")
+ (description "Expect-test is a framework for writing tests in OCaml, similar
+to Cram. Expect-tests mimics the existing inline tests framework with the
+@code{let%expect_test} construct. The body of an expect-test can contain
+output-generating code, interleaved with @code{%expect} extension expressions
+to denote the expected output.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-js-style
+ (package
+ (name "ocaml-ppx-js-style")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_js_style-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0z3fc55jdjhhsblla6z4fqc13kljpcz29q79rvs5h2vsraqrldr2"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-octavius" ,ocaml-octavius)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_js_style")))
+ (home-page "https://github.com/janestreet/ppx_js_style")
+ (synopsis "Code style checker for Jane Street Packages")
+ (description "This packages is a no-op ppx rewriter. It is used as a
+@code{lint} tool to enforce some coding conventions across all Jane Street
+packages.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-typerep-conv
+ (package
+ (name "ocaml-ppx-typerep-conv")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_typerep_conv.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0a13dpfrrg0rsm8qni1bh7pqcda30l70z8r6yzi5a64bmwk7g5ah"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "."))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-typerep" ,ocaml-typerep)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_typerep_conv")))
+ (home-page "https://github.com/janestreet/ppx_typerep_conv")
+ (synopsis "Generation of runtime types from type declarations")
+ (description "This package can automatically generate runtime types
+from type definitions.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-base
+ (package
+ (name "ocaml-ppx-base")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_base-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0aq206pg330jmj7lhcagiiwm3a0b3gsqm801m8ajd4ysyw7idkym"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "."))
+ (propagated-inputs
+ `(("ocaml-ppx-compare" ,ocaml-ppx-compare)
+ ("ocaml-ppx-enumerate" ,ocaml-ppx-enumerate)
+ ("ocaml-ppx-hash" ,ocaml-ppx-hash)
+ ("ocaml-ppx-js-style" ,ocaml-ppx-js-style)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_base")))
+ (home-page "https://github.com/janestreet/ppx_base")
+ (synopsis "Base set of ppx rewriters")
+ (description "Ppx_base is the set of ppx rewriters used for Base.
+
+Note that Base doesn't need ppx to build, it is only used as a
+verification tool.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-bin-prot
+ (package
+ (name "ocaml-ppx-bin-prot")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_bin_prot.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1h60i75bzvhna1axyn662gyrzhh441l79vl142d235i5x31dmnkz"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; Cyclic dependency with ocaml-ppx-jane
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-bin-prot" ,ocaml-bin-prot)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_bin_prot")))
+ (home-page "https://github.com/janestreet/ppx_bin_prot")
+ (synopsis "Generation of bin_prot readers and writers from types")
+ (description "Generation of binary serialization and deserialization
+functions from type definitions.")
+ (license license:asl2.0)))
+
+(define-public ocaml-ppx-jane
+ (package
+ (name "ocaml-ppx-jane")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/ppx_jane-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0lgppkw3aixrfnixihrsz2ipafv8fpvkdpy3pw8n0r615gg8x8la"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "."))
+ (propagated-inputs
+ `(("ocaml-ppx-assert" ,ocaml-ppx-assert)
+ ("ocaml-ppx-base" ,ocaml-ppx-base)
+ ("ocaml-ppx-bench" ,ocaml-ppx-bench)
+ ("ocaml-ppx-bin-prot" ,ocaml-ppx-bin-prot)
+ ("ocaml-ppx-custom-printf" ,ocaml-ppx-custom-printf)
+ ("ocaml-ppx-expect" ,ocaml-ppx-expect)
+ ("ocaml-ppx-fail" ,ocaml-ppx-fail)
+ ("ocaml-ppx-fields-conv" ,ocaml-ppx-fields-conv)
+ ("ocaml-ppx-here" ,ocaml-ppx-here)
+ ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("ocaml-ppx-let" ,ocaml-ppx-let)
+ ("ocaml-ppx-optcomp" ,ocaml-ppx-optcomp)
+ ("ocaml-ppx-optional" ,ocaml-ppx-optional)
+ ("ocaml-ppx-pipebang" ,ocaml-ppx-pipebang)
+ ("ocaml-ppx-sexp-message" ,ocaml-ppx-sexp-message)
+ ("ocaml-ppx-sexp-value" ,ocaml-ppx-sexp-value)
+ ("ocaml-ppx-typerep-conv" ,ocaml-ppx-typerep-conv)
+ ("ocaml-ppx-variants-conv" ,ocaml-ppx-variants-conv)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (properties `((upstream-name . "ppx_jane")))
+ (home-page "https://github.com/janestreet/ppx_jane")
+ (synopsis "Standard Jane Street ppx rewriters")
+ (description "This package installs a ppx-jane executable, which is a ppx
+driver including all standard Jane Street ppx rewriters.")
+ (license license:asl2.0)))
+
+(define-public ocaml-splittable-random
+ (package
+ (name "ocaml-splittable-random")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/splittable_random-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l1wbd881mymlnpzlq5q53mmdz3g5d7qjhyc7lfaq1x0iaccn5lc"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-ppx-jane" ,ocaml-ppx-jane)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)))
+ (properties `((upstream-name . "splittable_random")))
+ (home-page "https://github.com/janestreet/splittable_random")
+ (synopsis "PRNG that can be split into independent streams")
+ (description "This package provides a splittable
+@acronym{PRNG,pseudo-random number generator} functions like a PRNG that can
+be used as a stream of random values; it can also be split to produce a
+second, independent stream of random values.
+
+This library implements a splittable pseudo-random number generator that sacrifices
+cryptographic-quality randomness in favor of performance.")
+ (license license:asl2.0)))
+
+(define-public ocaml-jane-street-headers
+ (package
+ (name "ocaml-jane-street-headers")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/jane-street-headers-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0afhzm08l9v883fhpqqh2lmy7az609pxif40bp7x1sk8c0yszqsh"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:test-target "."))
+ (home-page "https://github.com/janestreet/jane-street-headers")
+ (synopsis "Jane Street C header files")
+ (description "This package provides C header files shared between the
+various Jane Street packages.")
+ (license license:asl2.0)))
+
+(define-public ocaml-configurator
+ (package
+ (name "ocaml-configurator")
+ (version "0.11.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://ocaml.janestreet.com/ocaml-core/v"
+ (version-major+minor version)
+ "/files/configurator-v" version ".tar.gz"))
+ (sha256
+ (base32
+ "0kwgi3sh92v4n242dk5hgpwd85zzgnczgbkqi0q0kr6m93zgbf7p"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; No tests
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-stdio" ,ocaml-stdio)))
+ (home-page "https://github.com/janestreet/configurator")
+ (synopsis "Helper library for gathering system configuration")
+ (description "Configurator is a small library that helps writing OCaml
+scripts that test features available on the system, in order to generate config.h
+files for instance.
+
+Configurator allows one to:
+@itemize
+@item test if a C program compiles
+@item query pkg-config
+@item import #define from OCaml header files
+@item generate config.h file
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public ocaml-spawn
+ (package
+ (name "ocaml-spawn")
+ (version "0.12.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/spawn.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0amgj7g9sjlbjivn1mg7yjdmxd21hgp4a0ak2zrm95dmm4gi846i"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'fix-tests
+ (lambda _
+ (substitute* "test/tests.ml"
+ (("/bin/pwd") (which "pwd"))
+ (("/bin/echo") (which "echo")))
+ #t)))))
+ (native-inputs
+ `(("ocaml-ppx-expect" ,ocaml-ppx-expect)))
+ (home-page "https://github.com/janestreet/spawn")
+ (synopsis "Spawning sub-processes")
+ (description
+ "Spawn is a small library exposing only one functionality: spawning sub-process.
+
+It has three main goals:
+
+@itemize
+@item provide missing features of Unix.create_process such as providing a
+working directory,
+@item provide better errors when a system call fails in the
+sub-process. For instance if a command is not found, you get a proper
+@code{Unix.Unix_error} exception,
+@item improve performances by using vfork when available. It is often
+claimed that nowadays fork is as fast as vfork, however in practice
+fork takes time proportional to the process memory while vfork is
+constant time. In application using a lot of memory, vfork can be
+thousands of times faster than fork.
+@end itemize")
+ (license license:asl2.0)))
+
+(define-public ocaml-core
+ (package
+ (name "ocaml-core")
+ (version "0.11.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core.git")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq"))))
+ (build-system dune-build-system)
+ (arguments
+ `(#:jbuild? #t
+ ;; Require a cyclic dependency: core_extended
+ #:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-configurator" ,ocaml-configurator)
+ ("ocaml-core-kernel" ,ocaml-core-kernel)
+ ("ocaml-ppx-assert" ,ocaml-ppx-assert)
+ ("ocaml-ppx-jane" ,ocaml-ppx-jane)
+ ("ocaml-sexplib" ,ocaml-sexplib)
+ ("ocaml-spawn" ,ocaml-spawn)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)
+ ("ocaml-ppxlib" ,ocaml-ppxlib)))
+ (home-page "https://github.com/janestreet/core")
+ (synopsis "Alternative to OCaml's standard library")
+ (description "The Core suite of libraries is an alternative to OCaml's
+standard library that was developed by Jane Street.")
+ ;; Also contains parts of OCaml, relicensed to asl2.0, as permitted
+ ;; by OCaml's license for consortium members (see THIRD-PARTY.txt).
+ (license license:asl2.0)))
+
+(define-public ocaml-core-kernel
+ (package
+ (name "ocaml-core-kernel")
+ (version "0.11.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/core_kernel.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dg7ygy7i64c5gaakb1cp1b26p9ks81vbxmb8fd7jff2q60j2z2g"))))
+ (build-system dune-build-system)
+ (arguments
+ ;; Cyclic dependency with ocaml-core
+ `(#:tests? #f))
+ (propagated-inputs
+ `(("ocaml-base" ,ocaml-base)
+ ("ocaml-bin-prot" ,ocaml-bin-prot)
+ ("ocaml-configurator" ,ocaml-configurator)
+ ("ocaml-fieldslib" ,ocaml-fieldslib)
+ ("ocaml-jane-street-headers" ,ocaml-jane-street-headers)
+ ("ocaml-ppx-assert" ,ocaml-ppx-assert)
+ ("ocaml-ppx-base" ,ocaml-ppx-base)
+ ("ocaml-ppx-hash" ,ocaml-ppx-hash)
+ ("ocaml-ppx-inline-test" ,ocaml-ppx-inline-test)
+ ("ocaml-ppx-jane" ,ocaml-ppx-jane)
+ ("ocaml-ppx-sexp-conv" ,ocaml-ppx-sexp-conv)
+ ("ocaml-ppx-sexp-message" ,ocaml-ppx-sexp-message)
+ ("ocaml-sexplib" ,ocaml-sexplib)
+ ("ocaml-splittable-random" ,ocaml-splittable-random)
+ ("ocaml-stdio" ,ocaml-stdio)
+ ("ocaml-typerep" ,ocaml-typerep)
+ ("ocaml-variantslib" ,ocaml-variantslib)
+ ("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)))
+ (properties `((upstream-name . "core_kernel")))
+ (home-page "https://github.com/janestreet/core_kernel")
+ (synopsis "Portable standard library for OCaml")
+ (description "Core is an alternative to the OCaml standard library.
+
+Core_kernel is the system-independent part of Core. It is aimed for cases when
+the full Core is not available, such as in Javascript.")
+ (license (list
+ ;; this package and parts of OCaml, relicensed by janestreet
+ license:asl2.0
+ ;; MLton and sjs
+ license:expat))))
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index ef38a6f61a..2e69cd151e 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -4,9 +4,9 @@
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017, 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
-;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
@@ -356,7 +356,7 @@ the Nix package manager.")
(let ((out (assoc-ref outputs "out")))
(substitute* (find-files (string-append out "/libexec"))
(("exec \".*/bin/guix\"")
- "exec /var/guix/profiles/per-user/root/current-guix/bin/guix"))
+ "exec \"${GUIX:-/var/guix/profiles/per-user/root/current-guix/bin/guix}\""))
#t)))
(delete 'wrap-program)))))))
@@ -836,23 +836,14 @@ on top of GNU Guix.")
(define-public gcab
(package
(name "gcab")
- (version "1.1")
+ (version "1.2")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://gnome/sources/" name "/"
- version "/" name "-" version ".tar.xz"))
+ (uri (string-append "mirror://gnome/sources/gcab/"
+ version "/gcab-" version ".tar.xz"))
(sha256
(base32
- "0l19sr6pg0cfcddmi5n79d08mjjbhn427ip5jlsy9zddq9r24aqr"))
- ;; gcab 1.1 has a hard dependency on git — even when building
- ;; from a tarball. Remove it early so ‘guix environment gcab’
- ;; can actually build what ‘guix build --source gcab’ returns.
- (modules '((guix build utils)))
- (snippet
- '(begin
- (substitute* "meson.build"
- (("git_version = .*$") "git_version = []\n"))
- #t))))
+ "038h5kk41si2hc9d9169rrlvp8xgsxq27kri7hv2vr39gvz9cbas"))))
(build-system meson-build-system)
(native-inputs
`(("glib:bin" ,glib "bin") ; for glib-mkenums
@@ -961,7 +952,7 @@ the bootloader configuration.")
(define-public flatpak
(package
(name "flatpak")
- (version "1.1.0")
+ (version "1.2.0")
(source
(origin
(method url-fetch)
@@ -969,7 +960,7 @@ the bootloader configuration.")
version "/flatpak-" version ".tar.xz"))
(sha256
(base32
- "0bkjwh49kajyd78vdh0g9arb352a7rccaifas9zxa78phhja2v2p"))))
+ "1bdk6qmsvy4d80245x1si9qvrga2f2yalj9qfmf1lqj5ljxxxifv"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;; Tests fail due to trying to create files where it can't.
@@ -988,6 +979,7 @@ the bootloader configuration.")
("pkg-config" ,pkg-config)))
(inputs `(("appstream-glib" ,appstream-glib)
("bubblewrap" ,bubblewrap)
+ ("dconf" ,dconf)
("gdk-pixbuf" ,gdk-pixbuf)
("gpgme" ,gpgme)
("json-glib" ,json-glib)
diff --git a/gnu/packages/patches/ao-cad-aarch64-support.patch b/gnu/packages/patches/ao-cad-aarch64-support.patch
deleted file mode 100644
index 291369cd9b..0000000000
--- a/gnu/packages/patches/ao-cad-aarch64-support.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Support in ao-cad for aarch64.
-
-Submitted upstream at https://github.com/mkeeter/ao/issues/69
-
---- ao/ui/vendor/efsw/src/efsw/inotify-nosys.h.orig 2017-12-14 16:27:16.125871099 -0600
-+++ ao/ui/vendor/efsw/src/efsw/inotify-nosys.h 2017-12-14 16:26:39.786022981 -0600
-@@ -69,6 +69,11 @@
- # define __NR_inotify_add_watch (__NR_SYSCALL_BASE+317)
- # define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318)
-
-+#elif defined (__aarch64__)
-+# define __NR_inotify_init 1043
-+# define __NR_inotify_add_watch 27
-+# define __NR_inotify_rm_watch 28
-+
- #elif defined (__frv__)
- # define __NR_inotify_init 291
- # define __NR_inotify_add_watch 292
diff --git a/gnu/packages/patches/blender-newer-ffmpeg.patch b/gnu/packages/patches/blender-newer-ffmpeg.patch
deleted file mode 100644
index 363489bc70..0000000000
--- a/gnu/packages/patches/blender-newer-ffmpeg.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-https://sources.debian.org/data/main/b/blender/2.79.b+dfsg0-4/debian/patches/0008-fix_building_with_latest_versions_of_FFmpeg.patch
-
-From: Bastien Montagne <montagne29@wanadoo.fr>
-Date: Tue, 8 May 2018 16:00:52 +0200
-Subject: fix_building_with_latest_versions_of_FFmpeg
-
-Some years-old deprecated stuff has now been removed.
-
-Correct solution is probably to use valid defines etc. in own code, but
-this is more FFMEPG maintainer task (since it also may change how old
-FFMPEG we do support...).
----
- intern/ffmpeg/ffmpeg_compat.h | 39 ++++++++++++++++++++++++++
- source/blender/blenkernel/intern/writeffmpeg.c | 3 +-
- 2 files changed, 41 insertions(+), 1 deletion(-)
-
-diff --git a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h
-index 9c06c8a..f7f437c 100644
---- a/intern/ffmpeg/ffmpeg_compat.h
-+++ b/intern/ffmpeg/ffmpeg_compat.h
-@@ -109,6 +109,45 @@ int av_sample_fmt_is_planar(enum AVSampleFormat sample_fmt)
-
- #endif
-
-+/* XXX TODO Probably fix to correct modern flags in code? Not sure how old FFMPEG we want to support though,
-+ * so for now this will do. */
-+
-+#ifndef FF_MIN_BUFFER_SIZE
-+# ifdef AV_INPUT_BUFFER_MIN_SIZE
-+# define FF_MIN_BUFFER_SIZE AV_INPUT_BUFFER_MIN_SIZE
-+# endif
-+#endif
-+
-+#ifndef FF_INPUT_BUFFER_PADDING_SIZE
-+# ifdef AV_INPUT_BUFFER_PADDING_SIZE
-+# define FF_INPUT_BUFFER_PADDING_SIZE AV_INPUT_BUFFER_PADDING_SIZE
-+# endif
-+#endif
-+
-+#ifndef CODEC_FLAG_GLOBAL_HEADER
-+# ifdef AV_CODEC_FLAG_GLOBAL_HEADER
-+# define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
-+# endif
-+#endif
-+
-+#ifndef CODEC_FLAG_GLOBAL_HEADER
-+# ifdef AV_CODEC_FLAG_GLOBAL_HEADER
-+# define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER
-+# endif
-+#endif
-+
-+#ifndef CODEC_FLAG_INTERLACED_DCT
-+# ifdef AV_CODEC_FLAG_INTERLACED_DCT
-+# define CODEC_FLAG_INTERLACED_DCT AV_CODEC_FLAG_INTERLACED_DCT
-+# endif
-+#endif
-+
-+#ifndef CODEC_FLAG_INTERLACED_ME
-+# ifdef AV_CODEC_FLAG_INTERLACED_ME
-+# define CODEC_FLAG_INTERLACED_ME AV_CODEC_FLAG_INTERLACED_ME
-+# endif
-+#endif
-+
- /* FFmpeg upstream 1.0 is the first who added AV_ prefix. */
- #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(54, 59, 100)
- # define AV_CODEC_ID_NONE CODEC_ID_NONE
-diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c
-index a19e414..04d508a 100644
---- a/source/blender/blenkernel/intern/writeffmpeg.c
-+++ b/source/blender/blenkernel/intern/writeffmpeg.c
-@@ -605,7 +605,8 @@ static AVStream *alloc_video_stream(FFMpegContext *context, RenderData *rd, int
- c->rc_buffer_aggressivity = 1.0;
- #endif
-
-- c->me_method = ME_EPZS;
-+ /* Deprecated and not doing anything since July 2015, deleted in recent ffmpeg */
-+ //c->me_method = ME_EPZS;
-
- codec = avcodec_find_encoder(c->codec_id);
- if (!codec)
diff --git a/gnu/packages/patches/cool-retro-term-dont-check-uninit-member.patch b/gnu/packages/patches/cool-retro-term-dont-check-uninit-member.patch
deleted file mode 100644
index c6e1d27315..0000000000
--- a/gnu/packages/patches/cool-retro-term-dont-check-uninit-member.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 126a97d1f22f7d784d392b2b7d5aadf0a4e18c0d Mon Sep 17 00:00:00 2001
-From: Petter <petter@mykolab.ch>
-Date: Thu, 27 Apr 2017 20:28:02 +0200
-Subject: [PATCH] Avoid checking uninitialized member + simplify condition
-
----
- qmltermwidget/lib/TerminalDisplay.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/qmltermwidget/lib/TerminalDisplay.cpp b/qmltermwidget/lib/TerminalDisplay.cpp
-index 189a609..36d2cd2 100644
---- a/qmltermwidget/lib/TerminalDisplay.cpp
-+++ b/qmltermwidget/lib/TerminalDisplay.cpp
-@@ -325,6 +325,7 @@ TerminalDisplay::TerminalDisplay(QQuickItem *parent)
- ,_terminalSizeHint(false)
- ,_terminalSizeStartup(true)
- ,_bidiEnabled(false)
-+,_mouseMarks(false)
- ,_actSel(0)
- ,_wordSelectionMode(false)
- ,_lineSelectionMode(false)
-@@ -1846,7 +1847,7 @@ void TerminalDisplay::mousePressEvent(QMouseEvent* ev)
- }
- else if ( ev->button() == Qt::MidButton )
- {
-- if ( _mouseMarks || (!_mouseMarks && (ev->modifiers() & Qt::ShiftModifier)) )
-+ if ( _mouseMarks || (ev->modifiers() & Qt::ShiftModifier) )
- emitSelection(true,ev->modifiers() & Qt::ControlModifier);
- else
- emit mouseSignal( 1, charColumn +1, charLine +1 +_scrollBar->value() -_scrollBar->maximum() , 0);
---
-2.12.2
-
diff --git a/gnu/packages/patches/cool-retro-term-fix-array-size.patch b/gnu/packages/patches/cool-retro-term-fix-array-size.patch
deleted file mode 100644
index 04a2a27971..0000000000
--- a/gnu/packages/patches/cool-retro-term-fix-array-size.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From c91d7ae5dbb00c8392a9f93283dc56c3e296cccd Mon Sep 17 00:00:00 2001
-From: Petter <petter@mykolab.ch>
-Date: Thu, 27 Apr 2017 20:19:21 +0200
-Subject: [PATCH] Fix size of the array passed to memset()
-
----
- qmltermwidget/lib/History.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/qmltermwidget/lib/History.cpp b/qmltermwidget/lib/History.cpp
-index 0f9c13f..ab6f7be 100644
---- a/qmltermwidget/lib/History.cpp
-+++ b/qmltermwidget/lib/History.cpp
-@@ -515,7 +515,7 @@ void HistoryScrollBlockArray::addCells(const Character a[], int count)
- // put cells in block's data
- assert((count * sizeof(Character)) < ENTRIES);
-
-- memset(b->data, 0, ENTRIES);
-+ memset(b->data, 0, sizeof(b->data));
-
- memcpy(b->data, a, count * sizeof(Character));
- b->size = count * sizeof(Character);
---
-2.12.2
-
diff --git a/gnu/packages/patches/cool-retro-term-memory-leak-1.patch b/gnu/packages/patches/cool-retro-term-memory-leak-1.patch
deleted file mode 100644
index f3fbac17de..0000000000
--- a/gnu/packages/patches/cool-retro-term-memory-leak-1.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 08628fda19128b75248548357e416bc373f14f91 Mon Sep 17 00:00:00 2001
-From: Yen Chi Hsuan <yan12125@gmail.com>
-Date: Sat, 18 Mar 2017 02:50:34 +0800
-Subject: [PATCH] Fix memory leak in hotspot (URLs & emails) detection
-
----
- qmltermwidget/lib/Filter.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/qmltermwidget/lib/Filter.cpp b/qmltermwidget/lib/Filter.cpp
-index 5ca7bee..2e8d2fb 100644
---- a/qmltermwidget/lib/Filter.cpp
-+++ b/qmltermwidget/lib/Filter.cpp
-@@ -26,6 +26,7 @@
- // Qt
- #include <QAction>
- #include <QApplication>
-+#include <QtAlgorithms>
- #include <QClipboard>
- #include <QString>
- #include <QTextStream>
-@@ -194,6 +195,7 @@ Filter::~Filter()
- }
- void Filter::reset()
- {
-+ qDeleteAll(_hotspotList);
- _hotspots.clear();
- _hotspotList.clear();
- }
---
-2.12.2
-
diff --git a/gnu/packages/patches/glibc-memchr-overflow-i686.patch b/gnu/packages/patches/glibc-memchr-overflow-i686.patch
deleted file mode 100644
index 0b1b5b9f96..0000000000
--- a/gnu/packages/patches/glibc-memchr-overflow-i686.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Extracted from glibc upstream git repository. Changes to the ChangeLog have
-been removed. This patch is needed to fix spurious segmentation faults on
-i686.
-
-From 3abeeec5f46ff036bd9df60bb096e20314ccd078 Mon Sep 17 00:00:00 2001
-From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-Date: Tue, 14 Mar 2017 14:16:13 -0300
-Subject: [PATCH] Fix i686 memchr overflow calculation (BZ#21182)
-
-This patch fixes the regression added by 23d2770 for final address
-overflow calculation. The subtraction of the considered size (16)
-at line 120 is at wrong place, for sizes less than 16 subsequent
-overflow check will not take in consideration an invalid size (since
-the subtraction will be negative). Also, the lea instruction also
-does not raise the carry flag (CF) that is used in subsequent jbe
-to check for overflow.
-
-The fix is to follow x86_64 logic from 3daef2c where the overflow
-is first check and a sub instruction is issued. In case of resulting
-negative size, CF will be set by the sub instruction and a NULL
-result will be returned. The patch also add similar tests reported
-in bug report.
-
-Checked on i686-linux-gnu and x86_64-linux-gnu.
-
- * string/test-memchr.c (do_test): Add BZ#21182 checks for address
- near end of a page.
- * sysdeps/i386/i686/multiarch/memchr-sse2.S (__memchr): Fix
- overflow calculation.
----
- string/test-memchr.c | 6 ++++++
- sysdeps/i386/i686/multiarch/memchr-sse2.S | 2 +-
- 3 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/string/test-memchr.c b/string/test-memchr.c
-index 2403c9242b..669e092e7d 100644
---- a/string/test-memchr.c
-+++ b/string/test-memchr.c
-@@ -210,6 +210,12 @@ test_main (void)
- do_test (0, i, i + 1, i + 1, 0);
- }
-
-+ /* BZ#21182 - wrong overflow calculation for i686 implementation
-+ with address near end of the page. */
-+ for (i = 2; i < 16; ++i)
-+ /* page_size is in fact getpagesize() * 2. */
-+ do_test (page_size / 2 - i, i, i, 1, 0x9B);
-+
- do_random_tests ();
- return ret;
- }
-diff --git a/sysdeps/i386/i686/multiarch/memchr-sse2.S b/sysdeps/i386/i686/multiarch/memchr-sse2.S
-index 910679cfc0..e41f324a77 100644
---- a/sysdeps/i386/i686/multiarch/memchr-sse2.S
-+++ b/sysdeps/i386/i686/multiarch/memchr-sse2.S
-@@ -117,7 +117,6 @@ L(crosscache):
-
- # ifndef USE_AS_RAWMEMCHR
- jnz L(match_case2_prolog1)
-- lea -16(%edx), %edx
- /* Calculate the last acceptable address and check for possible
- addition overflow by using satured math:
- edx = ecx + edx
-@@ -125,6 +124,7 @@ L(crosscache):
- add %ecx, %edx
- sbb %eax, %eax
- or %eax, %edx
-+ sub $16, %edx
- jbe L(return_null)
- lea 16(%edi), %edi
- # else
---
-2.12.2
-
diff --git a/gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch b/gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch
new file mode 100644
index 0000000000..29242dc4e8
--- /dev/null
+++ b/gnu/packages/patches/hdf5-1.8-mpi-deprecations.patch
@@ -0,0 +1,169 @@
+--- a/src/H5.c
++++ b/src/H5.c
+@@ -138,7 +138,7 @@
+ if (mpi_initialized && !mpi_finalized) {
+ int key_val;
+
+- if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN,
++ if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_COMM_NULL_COPY_FN,
+ (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb,
+ &key_val, NULL)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code)
+--- hdf5-1.8.19/testpar/t_cache.c
++++ hdf5-1.8.19/testpar/t_cache.c
+@@ -1187,20 +1187,20 @@
+ struct mssg_t sample; /* used to compute displacements */
+
+ /* setup the displacements array */
+- if ( ( MPI_SUCCESS != MPI_Address(&sample.req, &displs[0]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.src, &displs[1]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.dest, &displs[2]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.mssg_num, &displs[3]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.base_addr, &displs[4]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.len, &displs[5]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.ver, &displs[6]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.count, &displs[7]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.magic, &displs[8]) ) ) {
++ if ( ( MPI_SUCCESS != MPI_Get_address(&sample.req, &displs[0]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.src, &displs[1]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.dest, &displs[2]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.mssg_num, &displs[3]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.base_addr, &displs[4]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.len, &displs[5]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.ver, &displs[6]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.count, &displs[7]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.magic, &displs[8]) ) ) {
+
+ nerrors++;
+ success = FALSE;
+ if ( verbose ) {
+- HDfprintf(stdout, "%d:%s: MPI_Address() call failed.\n",
++ HDfprintf(stdout, "%d:%s: MPI_Get_address() call failed.\n",
+ world_mpi_rank, fcn_name);
+ }
+
+@@ -1215,14 +1215,14 @@
+
+ if ( success ) {
+
+- result = MPI_Type_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
++ result = MPI_Type_create_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
+
+ if ( result != MPI_SUCCESS ) {
+
+ nerrors++;
+ success = FALSE;
+ if ( verbose ) {
+- HDfprintf(stdout, "%d:%s: MPI_Type_struct() call failed.\n",
++ HDfprintf(stdout, "%d:%s: MPI_Type_create_struct() call failed.\n",
+ world_mpi_rank, fcn_name);
+ }
+ }
+--- hdf5-1.8.19/testpar/t_mpi.c
++++ hdf5-1.8.19/testpar/t_mpi.c
+@@ -279,7 +279,7 @@
+ printf("Skipped GB file range test "
+ "because MPI_Offset cannot support it\n");
+ }else{
+- buf = HDmalloc(MB);
++ buf = (char *)HDmalloc(MB);
+ VRFY((buf!=NULL), "malloc succeed");
+
+ /* open a new file. Remove it first in case it exists. */
+@@ -624,7 +624,7 @@
+ and this platform.
+
+ 1. Details for the test:
+-1) Create two derived datatypes with MPI_Type_hindexed:
++1) Create two derived datatypes with MPI_Type_create_hindexed:
+ datatype1:
+ count = 1, blocklens = 1, offsets = 0,
+ base type = MPI_BYTE(essentially a char)
+@@ -633,7 +633,7 @@
+ base type = MPI_BYTE
+
+ 2) Using these two derived datatypes,
+- Build another derived datatype with MPI_Type_struct:
++ Build another derived datatype with MPI_Type_create_struct:
+ advtype: derived from datatype1 and datatype2
+ advtype:
+ count = 2, blocklens[0] = 1, blocklens[1]=1,
+@@ -676,10 +676,9 @@
+ int mpi_err_strlen;
+ int mpi_err;
+ int i;
+- int nerrors = 0; /* number of errors */
+ MPI_Datatype etype,filetype;
+ MPI_Datatype adv_filetype,bas_filetype[2];
+- MPI_Datatype etypenew, filetypenew;
++ MPI_Datatype filetypenew;
+ MPI_Offset disp;
+ MPI_Status Status;
+ MPI_Aint adv_disp[2];
+@@ -715,7 +714,7 @@
+ blocklens[0] = 1;
+ offsets[0] = 0;
+
+- if((mpi_err= MPI_Type_hindexed(count,blocklens,offsets,MPI_BYTE,&filetype))
++ if((mpi_err= MPI_Type_create_hindexed(count,blocklens,offsets,MPI_BYTE,&filetype))
+ != MPI_SUCCESS){
+ MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen);
+ printf("MPI_Type_contiguous failed (%s)\n", mpi_err_str);
+@@ -731,7 +730,7 @@
+ count = 1;
+ blocklens[0]=1;
+ offsets[0] = 1;
+- if((mpi_err= MPI_Type_hindexed(count,blocklens,offsets,MPI_BYTE,&filetypenew))
++ if((mpi_err= MPI_Type_create_hindexed(count,blocklens,offsets,MPI_BYTE,&filetypenew))
+ != MPI_SUCCESS){
+ MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen);
+ printf("MPI_Type_contiguous failed (%s)\n", mpi_err_str);
+@@ -752,10 +751,10 @@
+ bas_filetype[0] = filetype;
+ bas_filetype[1] = filetypenew;
+
+- if((mpi_err= MPI_Type_struct(outcount,adv_blocklens,adv_disp,bas_filetype,&adv_filetype))
++ if((mpi_err= MPI_Type_create_struct(outcount,adv_blocklens,adv_disp,bas_filetype,&adv_filetype))
+ != MPI_SUCCESS){
+ MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen);
+- printf("MPI_Type_struct failed (%s)\n", mpi_err_str);
++ printf("MPI_Type_create_struct failed (%s)\n", mpi_err_str);
+ return 1;
+ }
+ if((mpi_err=MPI_Type_commit(&adv_filetype))!=MPI_SUCCESS){
+@@ -842,7 +841,7 @@
+ processes are needed.
+
+ 1. Details for the test:
+-1) Create one derived datatype with MPI_Type_hindexed:
++1) Create one derived datatype with MPI_Type_create_hindexed:
+
+ 2) Choosing at least two processes to contribute none for IO with
+ the buf size inside MPI_Write_at_all to 0.
+@@ -898,7 +897,7 @@
+ offsets[1] = (mpi_size+mpi_rank)*count;
+
+ if(count !=0) {
+- if((mpi_err = MPI_Type_hindexed(2,
++ if((mpi_err = MPI_Type_create_hindexed(2,
+ blocklens,
+ offsets,
+ etype,
+@@ -914,7 +913,7 @@
+ return 1;
+ } /* end if */
+
+- if((mpi_err = MPI_Type_hindexed(2,
++ if((mpi_err = MPI_Type_create_hindexed(2,
+ blocklens,
+ offsets,
+ etype,
+@@ -1098,7 +1097,7 @@
+ * calls. By then, MPI calls may not work.
+ */
+ if (H5dont_atexit() < 0){
+- printf("Failed to turn off atexit processing. Continue.\n", mpi_rank);
++ printf("Failed to turn off atexit processing. Continue.\n");
+ };
+ H5open();
+ if (parse_options(argc, argv) != 0){
diff --git a/gnu/packages/patches/hdf5-mpi-deprecations.patch b/gnu/packages/patches/hdf5-mpi-deprecations.patch
new file mode 100644
index 0000000000..eb5d1cb681
--- /dev/null
+++ b/gnu/packages/patches/hdf5-mpi-deprecations.patch
@@ -0,0 +1,61 @@
+--- a/src/H5.c
++++ b/src/H5.c
+@@ -138,7 +138,7 @@
+ if (mpi_initialized && !mpi_finalized) {
+ int key_val;
+
+- if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN,
++ if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_COMM_NULL_COPY_FN,
+ (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb,
+ &key_val, NULL)))
+ HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code)
+--- hdf5-1.10.4/testpar/t_cache.c
++++ hdf5-1.10.4/testpar/t_cache.c
+@@ -1217,20 +1217,20 @@
+ struct mssg_t sample; /* used to compute displacements */
+
+ /* setup the displacements array */
+- if ( ( MPI_SUCCESS != MPI_Address(&sample.req, &displs[0]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.src, &displs[1]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.dest, &displs[2]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.mssg_num, &displs[3]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.base_addr, &displs[4]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.len, &displs[5]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.ver, &displs[6]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.count, &displs[7]) ) ||
+- ( MPI_SUCCESS != MPI_Address(&sample.magic, &displs[8]) ) ) {
++ if ( ( MPI_SUCCESS != MPI_Get_address(&sample.req, &displs[0]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.src, &displs[1]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.dest, &displs[2]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.mssg_num, &displs[3]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.base_addr, &displs[4]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.len, &displs[5]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.ver, &displs[6]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.count, &displs[7]) ) ||
++ ( MPI_SUCCESS != MPI_Get_address(&sample.magic, &displs[8]) ) ) {
+
+ nerrors++;
+ success = FALSE;
+ if ( verbose ) {
+- HDfprintf(stdout, "%d:%s: MPI_Address() call failed.\n",
++ HDfprintf(stdout, "%d:%s: MPI_Get_address() call failed.\n",
+ world_mpi_rank, FUNC);
+ }
+
+@@ -1245,14 +1245,14 @@
+
+ if ( success ) {
+
+- result = MPI_Type_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
++ result = MPI_Type_create_struct(9, block_len, displs, mpi_types, &mpi_mssg_t);
+
+ if ( result != MPI_SUCCESS ) {
+
+ nerrors++;
+ success = FALSE;
+ if ( verbose ) {
+- HDfprintf(stdout, "%d:%s: MPI_Type_struct() call failed.\n",
++ HDfprintf(stdout, "%d:%s: MPI_Type_create_struct() call failed.\n",
+ world_mpi_rank, FUNC);
+ }
+ }
diff --git a/gnu/packages/patches/mcron-install.patch b/gnu/packages/patches/mcron-install.patch
deleted file mode 100644
index 3cd291f576..0000000000
--- a/gnu/packages/patches/mcron-install.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-This patch allows us to install the Vixie-compatible binaries as
-non-root without creating /var/run, etc.
-
---- mcron-1.0.6/makefile.in 2010-06-19 20:44:17.000000000 +0200
-+++ mcron-1.0.6/makefile.in 2010-07-04 16:16:25.000000000 +0200
-@@ -1004,15 +1004,11 @@ mcron.c : main.scm crontab.scm makefile.
- @rm -f mcron.escaped.scm > /dev/null 2>&1
-
- install-exec-hook:
-- @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" -a "`id -u`" -eq "0" ]; then \
-+ @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" ]; then \
- rm -f $(fpp)cron$(EXEEXT) > /dev/null 2>&1; \
- $(INSTALL) --mode='u=rwx' mcron$(EXEEXT) $(fpp)cron$(EXEEXT); \
- rm -f $(fpp)crontab$(EXEEXT) > /dev/null 2>&1; \
- $(INSTALL) --mode='u=rwxs,og=rx' mcron$(EXEEXT) $(fpp)crontab$(EXEEXT); \
-- $(INSTALL) -d --mode='u=rwx' $(DESTDIR)/var/cron; \
-- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)/var/run; \
-- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@; \
-- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@/mcron; \
- elif [ "x@NO_VIXIE_CLOBBER@" = "xyes" ]; then \
- echo "Not installing Vixie-style programs"; \
- else \
diff --git a/gnu/packages/patches/musescore-fix-use_webengine.patch b/gnu/packages/patches/musescore-fix-use_webengine.patch
new file mode 100644
index 0000000000..b0b8216a42
--- /dev/null
+++ b/gnu/packages/patches/musescore-fix-use_webengine.patch
@@ -0,0 +1,165 @@
+From bb0c1a9b4940f3f6b52c0df535289ec8a3bc9e03 Mon Sep 17 00:00:00 2001
+From: Dmitri Ovodok <dmitrio95@yandex.ru>
+Date: Mon, 4 Feb 2019 21:35:25 +0300
+Subject: [PATCH] Fix build without USE_WEBENGINE and SCRIPT_INTERFACE
+
+Old-style login dialog is used if USE_WEBENGINE is turned off
+---
+ mscore/logindialog.h | 2 ++
+ mscore/musescore.cpp | 4 +++-
+ mscore/network/loginmanager.cpp | 13 +++++++++++--
+ mscore/network/loginmanager.h | 4 ++++
+ mscore/network/loginmanager_p.h | 4 ++++
+ 5 files changed, 24 insertions(+), 3 deletions(-)
+
+diff --git a/mscore/logindialog.h b/mscore/logindialog.h
+index 4e86ae7985..f44511d8c0 100644
+--- a/mscore/logindialog.h
++++ b/mscore/logindialog.h
+@@ -21,6 +21,8 @@ class LoginManager;
+
+ //---------------------------------------------------------
+ // LoginDialog
++// Old-style login dialog in case QtWebEngine is
++// unavailable.
+ //---------------------------------------------------------
+
+ class LoginDialog : public QDialog, public Ui::LoginDialog
+diff --git a/mscore/musescore.cpp b/mscore/musescore.cpp
+index 80c712aea9..5bb8354992 100644
+--- a/mscore/musescore.cpp
++++ b/mscore/musescore.cpp
+@@ -7572,12 +7572,14 @@ bool MuseScore::exportPartsPdfsToJSON(const QString& inFilePath, const QString&
+ }
+
+ //---------------------------------------------------------
+-// getQmlEngine
++// getPluginEngine
+ //---------------------------------------------------------
+
++#ifdef SCRIPT_INTERFACE
+ QmlPluginEngine* MuseScore::getPluginEngine()
+ {
+ if (!_qmlEngine)
+ _qmlEngine = new QmlPluginEngine(this);
+ return _qmlEngine;
+ }
++#endif
+diff --git a/mscore/network/loginmanager.cpp b/mscore/network/loginmanager.cpp
+index a53d7fe811..664786ccc8 100644
+--- a/mscore/network/loginmanager.cpp
++++ b/mscore/network/loginmanager.cpp
+@@ -18,7 +18,9 @@
+ #include "kQOAuth/kqoauthrequest.h"
+ #include "kQOAuth/kqoauthrequest_xauth.h"
+
++#ifdef USE_WEBENGINE
+ #include <QWebEngineCookieStore>
++#endif
+
+ namespace Ms {
+
+@@ -286,8 +288,11 @@ void LoginManager::onTryLoginError(const QString& error)
+ disconnect(this, SIGNAL(getUserError(QString)), this, SLOT(onTryLoginError(QString)));
+ connect(this, SIGNAL(loginSuccess()), this, SLOT(tryLogin()));
+ logout();
++#ifdef USE_WEBENGINE
+ loginInteractive();
+-// mscore->showLoginDialog(); // TODO: switch depending on USE_WEBENGINE
++#else
++ mscore->showLoginDialog();
++#endif
+ }
+ /*------- END - TRY LOGIN ROUTINES ----------------------------*/
+
+@@ -295,6 +300,7 @@ void LoginManager::onTryLoginError(const QString& error)
+ // loginInteractive
+ //---------------------------------------------------------
+
++#ifdef USE_WEBENGINE
+ void LoginManager::loginInteractive()
+ {
+ QWebEngineView* webView = new QWebEngineView;
+@@ -326,6 +332,7 @@ void LoginManager::loginInteractive()
+ webView->load(ApiInfo::loginUrl);
+ webView->show();
+ }
++#endif
+
+ //---------------------------------------------------------
+ // login
+@@ -346,7 +353,7 @@ void LoginManager::login(QString login, QString password)
+ connect(reply, &QNetworkReply::finished, this, [this, reply] {
+ onReplyFinished(reply, RequestType::LOGIN);
+ });
+- }
++ }
+
+ //---------------------------------------------------------
+ // onLoginSuccessReply
+@@ -874,6 +881,7 @@ ApiRequest ApiRequestBuilder::build() const
+ // musescore.com
+ //---------------------------------------------------------
+
++#ifdef USE_WEBENGINE
+ void ApiWebEngineRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo& request)
+ {
+ const ApiInfo& apiInfo = ApiInfo::instance();
+@@ -881,4 +889,5 @@ void ApiWebEngineRequestInterceptor::interceptRequest(QWebEngineUrlRequestInfo&
+ request.setHttpHeader(apiInfo.clientIdHeader, apiInfo.clientId);
+ request.setHttpHeader(apiInfo.apiKeyHeader, apiInfo.apiKey);
+ }
++#endif
+ }
+diff --git a/mscore/network/loginmanager.h b/mscore/network/loginmanager.h
+index 584eeea30d..327d9fc966 100644
+--- a/mscore/network/loginmanager.h
++++ b/mscore/network/loginmanager.h
+@@ -13,6 +13,8 @@
+ #ifndef __LOGINMANAGER_H__
+ #define __LOGINMANAGER_H__
+
++#include "config.h"
++
+ namespace Ms {
+
+ //---------------------------------------------------------
+@@ -83,7 +85,9 @@ class LoginManager : public QObject
+ public:
+ LoginManager(QAction* uploadAudioMenuAction, QObject* parent = 0);
+ void login(QString login, QString password);
++#ifdef USE_WEBENGINE
+ void loginInteractive();
++#endif
+ void upload(const QString& path, int nid, const QString& title, const QString& description, const QString& priv, const QString& license, const QString& tags, const QString& changes);
+ bool hasAccessToken();
+ void getUser();
+diff --git a/mscore/network/loginmanager_p.h b/mscore/network/loginmanager_p.h
+index 88228a3958..2848dde35a 100644
+--- a/mscore/network/loginmanager_p.h
++++ b/mscore/network/loginmanager_p.h
+@@ -20,6 +20,8 @@
+ #ifndef __LOGINMANAGER_P_H__
+ #define __LOGINMANAGER_P_H__
+
++#include "config.h"
++
+ namespace Ms {
+
+ //---------------------------------------------------------
+@@ -102,6 +104,7 @@ class ApiRequestBuilder
+ // ApiWebEngineRequestInterceptor
+ //---------------------------------------------------------
+
++#ifdef USE_WEBENGINE
+ class ApiWebEngineRequestInterceptor : public QWebEngineUrlRequestInterceptor
+ {
+ Q_OBJECT
+@@ -109,6 +112,7 @@ class ApiWebEngineRequestInterceptor : public QWebEngineUrlRequestInterceptor
+ ApiWebEngineRequestInterceptor(QObject* parent) : QWebEngineUrlRequestInterceptor(parent) {}
+ void interceptRequest(QWebEngineUrlRequestInfo& info) override;
+ };
++#endif
+
+ //---------------------------------------------------------
+ // HttpStatus
diff --git a/gnu/packages/patches/net-tools-bitrot.patch b/gnu/packages/patches/net-tools-bitrot.patch
deleted file mode 100644
index 89ab6f19eb..0000000000
--- a/gnu/packages/patches/net-tools-bitrot.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-Starting with libc 2.20, this file would fail to build with "NULL undeclared".
-Include the fine header to solve that.
-
---- net-tools-1.60/lib/ec_hw.c 1999-11-20 22:02:53.000000000 +0100
-+++ net-tools-1.60/lib/ec_hw.c 2014-10-06 22:48:43.811027768 +0200
-@@ -16,6 +16,7 @@
-
- #if HAVE_HWEC
-
-+#include <stddef.h>
- #include <net/if_arp.h>
- #include "net-support.h"
-
-
-Avoid "label at end of compound statement" errors.
-
---- net-tools-1.60/lib/inet_sr.c 2000-02-20 22:46:45.000000000 +0100
-+++ net-tools-1.60/lib/inet_sr.c 2014-10-06 22:51:22.575023126 +0200
-@@ -104,7 +104,6 @@ static int INET_setroute(int action, int
- isnet = 1; break;
- case 2:
- isnet = 0; break;
-- default:
- }
-
- /* Fill in the other fields. */
-
---- net-tools-1.60/hostname.c 2001-04-08 19:04:23.000000000 +0200
-+++ net-tools-1.60/hostname.c 2014-10-06 23:01:04.235006119 +0200
-@@ -77,7 +77,6 @@ static void setnname(char *nname)
- case EINVAL:
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
-- default:
- }
- exit(1);
- }
-@@ -97,7 +96,6 @@ static void sethname(char *hname)
- case EINVAL:
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
-- default:
- }
- exit(1);
- };
-@@ -116,7 +114,6 @@ static void setdname(char *dname)
- case EINVAL:
- fprintf(stderr, _("%s: name too long\n"), program_name);
- break;
-- default:
- }
- exit(1);
- };
-@@ -173,7 +170,6 @@ static void showhname(char *hname, int c
- *p = '\0';
- printf("%s\n", hp->h_name);
- break;
-- default:
- }
- }
-
-
-Work around the assumption that an 'x25_address' typedef exists.
-
---- net-tools-1.60/lib/x25_sr.c 2000-05-20 15:38:10.000000000 +0200
-+++ net-tools-1.60/lib/x25_sr.c 2014-10-06 22:59:35.787008705 +0200
-@@ -77,7 +77,7 @@ static int X25_setroute(int action, int
- rt.sigdigits=sigdigits;
-
- /* x25_route_struct.address isn't type struct sockaddr_x25, Why? */
-- memcpy(&rt.address, &sx25.sx25_addr, sizeof(x25_address));
-+ memcpy(&rt.address, &sx25.sx25_addr, sizeof(struct x25_address));
-
- while (*args) {
- if (!strcmp(*args,"device") || !strcmp(*args,"dev")) {
-
-
-Fix the multi-line string literal syntax.
-
---- net-tools-1.60/mii-tool.c 2000-05-21 16:31:17.000000000 +0200
-+++ net-tools-1.60/mii-tool.c 2014-10-06 23:07:42.002994489 +0200
-@@ -379,16 +379,16 @@ static void watch_one_xcvr(int skfd, cha
- /*--------------------------------------------------------------------*/
-
- const char *usage =
--"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]
-- -V, --version display version information
-- -v, --verbose more verbose output
-- -R, --reset reset MII to poweron state
-- -r, --restart restart autonegotiation
-- -w, --watch monitor for link status changes
-- -l, --log with -w, write events to syslog
-- -A, --advertise=media,... advertise only specified media
-- -F, --force=media force specified media technology
--media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
-+"usage: %s [-VvRrwl] [-A media,... | -F media] [interface ...]\n\
-+ -V, --version display version information\n\
-+ -v, --verbose more verbose output\n\
-+ -R, --reset reset MII to poweron state\n\
-+ -r, --restart restart autonegotiation\n\
-+ -w, --watch monitor for link status changes\n\
-+ -l, --log with -w, write events to syslog\n\
-+ -A, --advertise=media,... advertise only specified media\n\
-+ -F, --force=media force specified media technology\n\
-+media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,\n\
- (to advertise both HD and FD) 100baseTx, 10baseT\n";
-
- int main(int argc, char **argv)
diff --git a/gnu/packages/patches/nyx-show-header-stats-with-python3.patch b/gnu/packages/patches/nyx-show-header-stats-with-python3.patch
deleted file mode 100644
index 5b20f180f7..0000000000
--- a/gnu/packages/patches/nyx-show-header-stats-with-python3.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From: Tobias Geerinckx-Rice <me@tobias.gr>
-Date: Fri, 22 Jun 2018 02:56:39 +0200
-Subject: nyx: Show header stats.
-
-The following patch was taken verbatim from the upstream repository and
-will be included in the next release.
----
-commit 3494111cc81ad4985e81d0c1ea5e451d8f7a2bcc
-Author: Damian Johnson <atagar@torproject.org>
-Date: Mon Feb 5 20:07:40 2018 -0800
-
- Header stats missing with python3
-
- Ick! took me a while to find this. Python3 changed division from providing ints
- to floats. This in turn caused our header panel to call addstr with float x/y
- coordinates, which made that funciton fail silently. End result is that when
- the header panel showed two columns of stats the right column was missing.
-
- Caught thanks to Stijn.
-
-diff --git a/nyx/panel/header.py b/nyx/panel/header.py
-index 09e3838..fb6f2f7 100644
---- a/nyx/panel/header.py
-+++ b/nyx/panel/header.py
-@@ -155,7 +155,7 @@ class HeaderPanel(nyx.panel.DaemonPanel):
- # space available for content
-
- interface = nyx_interface()
-- left_width = max(subwindow.width / 2, 77) if is_wide else subwindow.width
-+ left_width = max(subwindow.width // 2, 77) if is_wide else subwindow.width
- right_width = subwindow.width - left_width
-
- _draw_platform_section(subwindow, 0, 0, left_width, vals)
-diff --git a/web/changelog/index.html b/web/changelog/index.html
-index 333fa84..196d82b 100644
---- a/web/changelog/index.html
-+++ b/web/changelog/index.html
-@@ -74,6 +74,12 @@
- </ul>
- </li>
-
-+ <li><span class="component">Header</span>
-+ <ul>
-+ <li>Right column of stats missing when using python 3.x</li>
-+ </ul>
-+ </li>
-+
- <li><span class="component">Connections</span>
- <ul>
- <li>Geoip information unavailable for inbound connections</li>
-diff --git a/web/changelog/legacy.html b/web/changelog/legacy.html
-index a380806..02d405f 100644
---- a/web/changelog/legacy.html
-+++ b/web/changelog/legacy.html
-@@ -137,13 +137,13 @@
- </ul>
- </li>
-
-- <li><span class="component">Startup</span>
-+ <li><span class="component">Graph</span>
- <ul>
- <li>Crash when pausing if we showed accounting stats</li>
- </ul>
- </li>
-
-- <li><span class="component">Startup</span>
-+ <li><span class="component">Logging</span>
- <ul>
- <li>Skip reading from malformed tor log files</li>
- <li>Unable to log GUARD events</li>
diff --git a/gnu/packages/patches/ocaml-findlib-make-install.patch b/gnu/packages/patches/ocaml-findlib-make-install.patch
deleted file mode 100644
index 238f9ca3ce..0000000000
--- a/gnu/packages/patches/ocaml-findlib-make-install.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Ocaml wants to install its "core" libraries in OCAML_CORE_STDLIB. That
-does not work in a store-based distribution.
-
-A solution was already provided by Nix
-
- https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/ocaml/findlib/install_topfind.patch
-
-regenerated for Guix.
-
---- findlib-1.5.3/src/findlib/Makefile 2014-09-16 13:21:46.000000000 +0200
-+++ findlib-1.5.3/src/findlib/Makefile.new 2014-10-01 14:30:54.141082521 +0200
-@@ -89,7 +89,7 @@
- install: all
- mkdir -p "$(prefix)$(OCAML_SITELIB)/$(NAME)"
- mkdir -p "$(prefix)$(OCAMLFIND_BIN)"
-- test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_CORE_STDLIB)"
-+ test $(INSTALL_TOPFIND) -eq 0 || cp topfind "$(prefix)$(OCAML_SITELIB)"
- files=`$(TOP)/tools/collect_files $(TOP)/Makefile.config findlib.cmi findlib.mli findlib.cma topfind.cmi topfind.mli fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi fl_metatoken.cmi findlib_top.cma findlib.cmxa findlib.a findlib.cmxs findlib_dynload.cma findlib_dynload.cmxa findlib_dynload.a findlib_dynload.cmxs fl_dynload.mli fl_dynload.cmi META` && \
- cp $$files "$(prefix)$(OCAML_SITELIB)/$(NAME)"
- f="ocamlfind$(EXEC_SUFFIX)"; { test -f ocamlfind_opt$(EXEC_SUFFIX) && f="ocamlfind_opt$(EXEC_SUFFIX)"; }; \
diff --git a/gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch b/gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch
deleted file mode 100644
index 9f8713e3d3..0000000000
--- a/gnu/packages/patches/ocaml-graph-honor-source-date-epoch.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 354ef78aac0b887fae3c10b28eb2b0d83f66bdfe Mon Sep 17 00:00:00 2001
-From: Julien Lepiller <julien@lepiller.eu>
-Date: Mon, 2 Jan 2017 17:05:24 +0100
-Subject: [PATCH] Honor SOURCE_DATE_EPOCH
-
----
- Makefile.in | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/Makefile.in b/Makefile.in
-index a32b4b8..ef4c174 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -113,11 +113,16 @@ graph.cmx: $(CMI) $(CMX)
- $(OCAMLOPT) $(INCLUDES) -pack -o $@ $^
-
- VERSION=1.8.7
-+ifdef SOURCE_DATE_EPOCH
-+BUILD_DATE=$(shell date -u -d "@$(SOURCE_DATE_EPOCH)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" 2>/dev/null || date)
-+else
-+BUILD_DATE=$(shell date)
-+endif
-
- src/version.ml: Makefile
- rm -f $@
- echo "let version = \""$(VERSION)"\"" > $@
-- echo "let date = \""`date`"\"" >> $@
-+ echo "let date = \""$(BUILD_DATE)"\"" >> $@
-
- # gtk2 graph editor
- ###################
---
-2.11.0
-
diff --git a/gnu/packages/patches/openldap-CVE-2017-9287.patch b/gnu/packages/patches/openldap-CVE-2017-9287.patch
deleted file mode 100644
index 5ca2a60c60..0000000000
--- a/gnu/packages/patches/openldap-CVE-2017-9287.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Fix CVE-2017-9287:
-
-https://www.openldap.org/its/?findid=8655
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9287
-
-Patch copied from upstream source repository:
-
-https://www.openldap.org/devel/gitweb.cgi?p=openldap.git;a=commit;h=0cee1ffb6021b1aae3fcc9581699da1c85a6dd6e
-
-From 0cee1ffb6021b1aae3fcc9581699da1c85a6dd6e Mon Sep 17 00:00:00 2001
-From: Ryan Tandy <ryan@nardis.ca>
-Date: Wed, 17 May 2017 20:07:39 -0700
-Subject: [PATCH] ITS#8655 fix double free on paged search with pagesize 0
-
-Fixes a double free when a search includes the Paged Results control
-with a page size of 0 and the search base matches the filter.
----
- servers/slapd/back-mdb/search.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/servers/slapd/back-mdb/search.c b/servers/slapd/back-mdb/search.c
-index 301d1a498c..43442aa242 100644
---- a/servers/slapd/back-mdb/search.c
-+++ b/servers/slapd/back-mdb/search.c
-@@ -1066,7 +1066,8 @@ notfound:
- /* check size limit */
- if ( get_pagedresults(op) > SLAP_CONTROL_IGNORED ) {
- if ( rs->sr_nentries >= ((PagedResultsState *)op->o_pagedresults_state)->ps_size ) {
-- mdb_entry_return( op, e );
-+ if (e != base)
-+ mdb_entry_return( op, e );
- e = NULL;
- send_paged_response( op, rs, &lastid, tentries );
- goto done;
---
-2.13.0
-
diff --git a/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch b/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch
deleted file mode 100644
index 53f8fde9de..0000000000
--- a/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Drop SPARQLWrapper from the required install inputs under Python 2, as it
-creates a circular dependency.
-
-diff -u rdflib-4.1.2.alt/setup.py rdflib-4.1.2/setup.py
---- rdflib-4.1.2.alt/setup.py 2014-03-04 12:40:26.000000000 +0100
-+++ rdflib-4.1.2/setup.py 2015-01-23 21:52:59.000000000 +0100
-@@ -52,7 +52,7 @@
- kwargs['test_suite'] = "nose.collector"
- kwargs['install_requires'] = [
- 'isodate',
-- 'pyparsing', 'SPARQLWrapper']
-+ 'pyparsing']
-
- if sys.version_info[1]<7: # Python 2.6
- kwargs['install_requires'].append('ordereddict')
-
diff --git a/gnu/packages/patches/readline-7.0-mingw.patch b/gnu/packages/patches/readline-7.0-mingw.patch
deleted file mode 100644
index 1dc491d556..0000000000
--- a/gnu/packages/patches/readline-7.0-mingw.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-Configure checks for chown; add missing shields in code.
-
-Upstream status: not yet presented upstream.
-
---- readline-7.0/histfile.c.orig 2016-12-06 20:04:10.058901731 +0100
-+++ readline-7.0/histfile.c 2016-12-06 20:05:09.220083801 +0100
-@@ -610,8 +610,10 @@
- user is running this, it's a no-op. If the shell is running after sudo
- with a shared history file, we don't want to leave the history file
- owned by root. */
-+#if HAVE_CHOWN
- if (rv == 0 && exists)
- r = chown (filename, finfo.st_uid, finfo.st_gid);
-+#endif
-
- xfree (filename);
- FREE (tempname);
-@@ -757,8 +759,10 @@
- user is running this, it's a no-op. If the shell is running after sudo
- with a shared history file, we don't want to leave the history file
- owned by root. */
-+#if HAVE_CHOWN
- if (rv == 0 && exists)
- mode = chown (histname, finfo.st_uid, finfo.st_gid);
-+#endif
-
- FREE (histname);
- FREE (tempname);
diff --git a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch b/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
new file mode 100644
index 0000000000..25f0aaf2f3
--- /dev/null
+++ b/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
@@ -0,0 +1,57 @@
+From c9cbcf8730221e366c7495073f8f8d819ee8ce89 Mon Sep 17 00:00:00 2001
+From: Eric Bavier <bavier@member.fsf.org>
+Date: Wed, 6 Feb 2019 10:06:59 -0600
+Subject: [PATCH] Replace deprecated MPI_Attr_get.
+
+Fixes build with OpenMPI version 4.0.
+
+* SRC/pdgstrf.c, SRC/pdgstrf.c, SRC/superlu_grid.c: 'MPI_Attr_get' ->
+ 'MPI_Comm_get_attr'.
+---
+ SRC/pdgstrf.c | 2 +-
+ SRC/pzgstrf.c | 2 +-
+ SRC/superlu_grid.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/SRC/pdgstrf.c b/SRC/pdgstrf.c
+index 736ffa2..f92a1ba 100644
+--- a/SRC/pdgstrf.c
++++ b/SRC/pdgstrf.c
+@@ -426,7 +426,7 @@ pdgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
+ s_eps = smach_dist("Epsilon");
+ thresh = s_eps * anorm;
+
+- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
++ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
+ if (!flag) {
+ fprintf (stderr, "Could not get TAG_UB\n");
+ return (-1);
+diff --git a/SRC/pzgstrf.c b/SRC/pzgstrf.c
+index 8896548..8800057 100644
+--- a/SRC/pzgstrf.c
++++ b/SRC/pzgstrf.c
+@@ -426,7 +426,7 @@ pzgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
+ s_eps = smach_dist("Epsilon");
+ thresh = s_eps * anorm;
+
+- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
++ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
+ if (!flag) {
+ fprintf (stderr, "Could not get TAG_UB\n");
+ return (-1);
+diff --git a/SRC/superlu_grid.c b/SRC/superlu_grid.c
+index 1213d27..0c0fb90 100644
+--- a/SRC/superlu_grid.c
++++ b/SRC/superlu_grid.c
+@@ -150,7 +150,7 @@ void superlu_gridmap(
+ {
+ int tag_ub;
+ if ( !grid->iam ) {
+- MPI_Attr_get(Bcomm, MPI_TAG_UB, &tag_ub, &info);
++ MPI_Comm_get_attr(Bcomm, MPI_TAG_UB, &tag_ub, &info);
+ printf("MPI_TAG_UB %d\n", tag_ub);
+ /* returns 4295677672
+ In reality it is restricted to no greater than 16384. */
+--
+2.20.1
+
diff --git a/gnu/packages/patches/u-boot-pinebook-a64-update-dts.patch b/gnu/packages/patches/u-boot-pinebook-a64-update-dts.patch
deleted file mode 100644
index 9d0a08c8bf..0000000000
--- a/gnu/packages/patches/u-boot-pinebook-a64-update-dts.patch
+++ /dev/null
@@ -1,1485 +0,0 @@
-From 1b39a1834ed182bbd8036a5cd74a9ea111fa4691 Mon Sep 17 00:00:00 2001
-From: Andre Przywara <andre.przywara@arm.com>
-Date: Mon, 29 Oct 2018 00:56:47 +0000
-Subject: [PATCH 03/13] sunxi: A64: Update .dts/.dtsi files
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Update the .dts/.dtsi file from the Linux sunxi/dt64-for-4.20 tree:
-commit 679294497be31596e1c9c61507746d72b6b05f26
-Author: Rodrigo Exterckötter Tjäder <rodrigo@tjader.xyz>
-Date: Wed Sep 26 19:48:24 2018 +0000
- arm64: dts: allwinner: a64: a64-olinuxino: set the PHY TX delay
-
-Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Reviewed-by: Jagan Teki <jagan@openedev.com>
----
- arch/arm/dts/sun50i-a64-amarula-relic.dts | 168 +++++++++++++-
- arch/arm/dts/sun50i-a64-bananapi-m64.dts | 34 ++-
- arch/arm/dts/sun50i-a64-nanopi-a64.dts | 89 +++++++-
- arch/arm/dts/sun50i-a64-olinuxino.dts | 103 ++++++++-
- arch/arm/dts/sun50i-a64-orangepi-win.dts | 179 ++++++++++++++-
- arch/arm/dts/sun50i-a64-pine64.dts | 32 ++-
- arch/arm/dts/sun50i-a64-sopine-baseboard.dts | 32 ++-
- arch/arm/dts/sun50i-a64-sopine.dtsi | 15 ++
- arch/arm/dts/sun50i-a64.dtsi | 313 +++++++++++++++++++++++++--
- 9 files changed, 920 insertions(+), 45 deletions(-)
-
-diff --git a/arch/arm/dts/sun50i-a64-amarula-relic.dts b/arch/arm/dts/sun50i-a64-amarula-relic.dts
-index f3b4e93ece..6cb2b7f0c8 100644
---- a/arch/arm/dts/sun50i-a64-amarula-relic.dts
-+++ b/arch/arm/dts/sun50i-a64-amarula-relic.dts
-@@ -22,11 +22,11 @@
- stdout-path = "serial0:115200n8";
- };
-
-- reg_vcc3v3: vcc3v3 {
-- compatible = "regulator-fixed";
-- regulator-name = "vcc3v3";
-- regulator-min-microvolt = <3300000>;
-- regulator-max-microvolt = <3300000>;
-+ wifi_pwrseq: wifi-pwrseq {
-+ compatible = "mmc-pwrseq-simple";
-+ clocks = <&rtc 1>;
-+ clock-names = "ext_clock";
-+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* WL-PMU-EN: PL2 */
- };
- };
-
-@@ -34,10 +34,34 @@
- status = "okay";
- };
-
-+&mmc1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc1_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ /*
-+ * Schematic shows both dldo4 and eldo1 connected for vcc-io-wifi, but
-+ * dldo4 connection shows DNP(Do Not Populate) and eldo1 connected with
-+ * 0Ohm register to vcc-io-wifi so eldo1 is used.
-+ */
-+ vqmmc-supply = <&reg_eldo1>;
-+ mmc-pwrseq = <&wifi_pwrseq>;
-+ bus-width = <4>;
-+ non-removable;
-+ status = "okay";
-+
-+ brcmf: wifi@1 {
-+ reg = <1>;
-+ compatible = "brcm,bcm4329-fmac";
-+ interrupt-parent = <&r_pio>;
-+ interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* WL-WAKE-AP: PL3 */
-+ interrupt-names = "host-wake";
-+ };
-+};
-+
- &mmc2 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc2_pins>;
-- vmmc-supply = <&reg_vcc3v3>;
-+ vmmc-supply = <&reg_dcdc1>;
- bus-width = <8>;
- non-removable;
- cap-mmc-hw-reset;
-@@ -48,9 +72,138 @@
- status = "okay";
- };
-
-+&r_rsb {
-+ status = "okay";
-+
-+ axp803: pmic@3a3 {
-+ compatible = "x-powers,axp803";
-+ reg = <0x3a3>;
-+ interrupt-parent = <&r_intc>;
-+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-+ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
-+ };
-+};
-+
-+#include "axp803.dtsi"
-+
-+&reg_aldo1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
-+ regulator-name = "avdd-csi";
-+};
-+
-+&reg_aldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-pl";
-+};
-+
-+&reg_aldo3 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <3000000>;
-+ regulator-max-microvolt = <3000000>;
-+ regulator-name = "vcc-pll-avcc";
-+};
-+
-+&reg_dcdc1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-3v3";
-+};
-+
-+&reg_dcdc2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1040000>;
-+ regulator-max-microvolt = <1300000>;
-+ regulator-name = "vdd-cpux";
-+};
-+
-+/* DCDC3 is polyphased with DCDC2 */
-+
-+&reg_dcdc5 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1500000>;
-+ regulator-max-microvolt = <1500000>;
-+ regulator-name = "vcc-dram";
-+};
-+
-+&reg_dcdc6 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-sys";
-+};
-+
-+&reg_dldo1 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-hdmi-dsi-sensor";
-+};
-+
-+&reg_dldo2 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-mipi";
-+};
-+
-+&reg_dldo3 {
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
-+ regulator-name = "dovdd-csi";
-+};
-+
-+&reg_dldo4 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-wifi-io";
-+};
-+
-+&reg_drivevbus {
-+ regulator-name = "usb0-vbus";
-+ status = "okay";
-+};
-+
-+&reg_eldo1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "cpvdd";
-+};
-+
-+&reg_eldo3 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "dvdd-csi";
-+};
-+
-+&reg_fldo1 {
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-1v2-hsic";
-+};
-+
-+/*
-+ * The A64 chip cannot work without this regulator off, although
-+ * it seems to be only driving the AR100 core.
-+ * Maybe we don't still know well about CPUs domain.
-+ */
-+&reg_fldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-cpus";
-+};
-+
-+&reg_rtc_ldo {
-+ regulator-name = "vcc-rtc";
-+};
-+
- &uart0 {
- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins_a>;
-+ pinctrl-0 = <&uart0_pb_pins>;
- status = "okay";
- };
-
-@@ -61,5 +214,6 @@
-
- &usbphy {
- usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
-+ usb0_vbus-supply = <&reg_drivevbus>;
- status = "okay";
- };
-diff --git a/arch/arm/dts/sun50i-a64-bananapi-m64.dts b/arch/arm/dts/sun50i-a64-bananapi-m64.dts
-index 0716b14411..ef1c90401b 100644
---- a/arch/arm/dts/sun50i-a64-bananapi-m64.dts
-+++ b/arch/arm/dts/sun50i-a64-bananapi-m64.dts
-@@ -60,6 +60,17 @@
- stdout-path = "serial0:115200n8";
- };
-
-+ hdmi-connector {
-+ compatible = "hdmi-connector";
-+ type = "a";
-+
-+ port {
-+ hdmi_con_in: endpoint {
-+ remote-endpoint = <&hdmi_out_con>;
-+ };
-+ };
-+ };
-+
- leds {
- compatible = "gpio-leds";
-
-@@ -86,6 +97,10 @@
- };
- };
-
-+&de {
-+ status = "okay";
-+};
-+
- &ehci0 {
- status = "okay";
- };
-@@ -103,6 +118,17 @@
- status = "okay";
- };
-
-+&hdmi {
-+ hvcc-supply = <&reg_dldo1>;
-+ status = "okay";
-+};
-+
-+&hdmi_out {
-+ hdmi_out_con: endpoint {
-+ remote-endpoint = <&hdmi_con_in>;
-+ };
-+};
-+
- &i2c1 {
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_pins>;
-@@ -151,7 +177,7 @@
-
- &mmc2 {
- pinctrl-names = "default";
-- pinctrl-0 = <&mmc2_pins>;
-+ pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
- vmmc-supply = <&reg_dcdc1>;
- bus-width = <8>;
- non-removable;
-@@ -296,9 +322,13 @@
- regulator-name = "vcc-rtc";
- };
-
-+&simplefb_hdmi {
-+ vcc-hdmi-supply = <&reg_dldo1>;
-+};
-+
- &uart0 {
- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins_a>;
-+ pinctrl-0 = <&uart0_pb_pins>;
- status = "okay";
- };
-
-diff --git a/arch/arm/dts/sun50i-a64-nanopi-a64.dts b/arch/arm/dts/sun50i-a64-nanopi-a64.dts
-index e2dce48fa2..31884dbc88 100644
---- a/arch/arm/dts/sun50i-a64-nanopi-a64.dts
-+++ b/arch/arm/dts/sun50i-a64-nanopi-a64.dts
-@@ -51,12 +51,44 @@
- compatible = "friendlyarm,nanopi-a64", "allwinner,sun50i-a64";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-+
-+ hdmi-connector {
-+ compatible = "hdmi-connector";
-+ type = "a";
-+
-+ port {
-+ hdmi_con_in: endpoint {
-+ remote-endpoint = <&hdmi_out_con>;
-+ };
-+ };
-+ };
-+
-+ leds {
-+ compatible = "gpio-leds";
-+
-+ blue {
-+ label = "nanopi-a64:blue:status";
-+ gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
-+ };
-+ };
-+
-+ wifi_pwrseq: wifi_pwrseq {
-+ compatible = "mmc-pwrseq-simple";
-+ clocks = <&rtc 1>;
-+ clock-names = "ext_clock";
-+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
-+ };
-+};
-+
-+&de {
-+ status = "okay";
- };
-
- &ehci0 {
-@@ -67,6 +99,26 @@
- status = "okay";
- };
-
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&rgmii_pins>;
-+ phy-mode = "rgmii";
-+ phy-handle = <&ext_rgmii_phy>;
-+ phy-supply = <&reg_dcdc1>;
-+ status = "okay";
-+};
-+
-+&hdmi {
-+ hvcc-supply = <&reg_dldo1>;
-+ status = "okay";
-+};
-+
-+&hdmi_out {
-+ hdmi_out_con: endpoint {
-+ remote-endpoint = <&hdmi_con_in>;
-+ };
-+};
-+
- /* i2c1 connected with gpio headers like pine64, bananapi */
- &i2c1 {
- pinctrl-names = "default";
-@@ -78,6 +130,13 @@
- bias-pull-up;
- };
-
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <7>;
-+ };
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
-@@ -88,6 +147,24 @@
- status = "okay";
- };
-
-+&mmc1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc1_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ vqmmc-supply = <&reg_dldo4>;
-+ mmc-pwrseq = <&wifi_pwrseq>;
-+ bus-width = <4>;
-+ non-removable;
-+ status = "okay";
-+
-+ rtl8189etv: wifi@1 {
-+ reg = <1>;
-+ interrupt-parent = <&r_pio>;
-+ interrupts = <0 3 IRQ_TYPE_LEVEL_LOW>; /* PL3 */
-+ interrupt-names = "host-wake";
-+ };
-+};
-+
- &ohci0 {
- status = "okay";
- };
-@@ -125,9 +202,9 @@
-
- &reg_dcdc1 {
- regulator-always-on;
-- regulator-min-microvolt = <3000000>;
-- regulator-max-microvolt = <3000000>;
-- regulator-name = "vcc-3v";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-3v3";
- };
-
- &reg_dcdc2 {
-@@ -195,9 +272,13 @@
- regulator-name = "vcc-rtc";
- };
-
-+&simplefb_hdmi {
-+ vcc-hdmi-supply = <&reg_dldo1>;
-+};
-+
- &uart0 {
- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins_a>;
-+ pinctrl-0 = <&uart0_pb_pins>;
- status = "okay";
- };
-
-diff --git a/arch/arm/dts/sun50i-a64-olinuxino.dts b/arch/arm/dts/sun50i-a64-olinuxino.dts
-index 3b3081b10e..f7a4bccaa5 100644
---- a/arch/arm/dts/sun50i-a64-olinuxino.dts
-+++ b/arch/arm/dts/sun50i-a64-olinuxino.dts
-@@ -51,6 +51,7 @@
- compatible = "olimex,a64-olinuxino", "allwinner,sun50i-a64";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
- };
-
-@@ -58,12 +59,74 @@
- stdout-path = "serial0:115200n8";
- };
-
-+ hdmi-connector {
-+ compatible = "hdmi-connector";
-+ type = "a";
-+
-+ port {
-+ hdmi_con_in: endpoint {
-+ remote-endpoint = <&hdmi_out_con>;
-+ };
-+ };
-+ };
-+
-+ reg_usb1_vbus: usb1-vbus {
-+ compatible = "regulator-fixed";
-+ regulator-name = "usb1-vbus";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-boot-on;
-+ enable-active-high;
-+ gpio = <&pio 6 9 GPIO_ACTIVE_HIGH>; /* PG9 */
-+ status = "okay";
-+ };
-+
- wifi_pwrseq: wifi_pwrseq {
- compatible = "mmc-pwrseq-simple";
- reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
- };
- };
-
-+&de {
-+ status = "okay";
-+};
-+
-+&ehci0 {
-+ status = "okay";
-+};
-+
-+&ehci1 {
-+ status = "okay";
-+};
-+
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&rgmii_pins>;
-+ phy-mode = "rgmii";
-+ phy-handle = <&ext_rgmii_phy>;
-+ phy-supply = <&reg_dcdc1>;
-+ allwinner,tx-delay-ps = <600>;
-+ status = "okay";
-+};
-+
-+&hdmi {
-+ hvcc-supply = <&reg_dldo1>;
-+ status = "okay";
-+};
-+
-+&hdmi_out {
-+ hdmi_out_con: endpoint {
-+ remote-endpoint = <&hdmi_con_in>;
-+ };
-+};
-+
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ };
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
-@@ -92,6 +155,14 @@
- };
- };
-
-+&ohci0 {
-+ status = "okay";
-+};
-+
-+&ohci1 {
-+ status = "okay";
-+};
-+
- &r_rsb {
- status = "okay";
-
-@@ -100,6 +171,7 @@
- reg = <0x3a3>;
- interrupt-parent = <&r_intc>;
- interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-+ x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
- };
- };
-
-@@ -142,10 +214,14 @@
-
- /* DCDC3 is polyphased with DCDC2 */
-
-+/*
-+ * The board uses DDR3L DRAM chips. 1.36V is the closest to the nominal
-+ * 1.35V that the PMIC can drive.
-+ */
- &reg_dcdc5 {
- regulator-always-on;
-- regulator-min-microvolt = <1500000>;
-- regulator-max-microvolt = <1500000>;
-+ regulator-min-microvolt = <1360000>;
-+ regulator-max-microvolt = <1360000>;
- regulator-name = "vcc-ddr3";
- };
-
-@@ -180,6 +256,11 @@
- regulator-name = "vcc-wifi-io";
- };
-
-+&reg_drivevbus {
-+ regulator-name = "usb0-vbus";
-+ status = "okay";
-+};
-+
- &reg_eldo1 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
-@@ -214,8 +295,24 @@
- regulator-name = "vcc-rtc";
- };
-
-+&simplefb_hdmi {
-+ vcc-hdmi-supply = <&reg_dldo1>;
-+};
-+
- &uart0 {
- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins_a>;
-+ pinctrl-0 = <&uart0_pb_pins>;
-+ status = "okay";
-+};
-+
-+&usb_otg {
-+ dr_mode = "otg";
-+ status = "okay";
-+};
-+
-+&usbphy {
- status = "okay";
-+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
-+ usb0_vbus-supply = <&reg_drivevbus>;
-+ usb1_vbus-supply = <&reg_usb1_vbus>;
- };
-diff --git a/arch/arm/dts/sun50i-a64-orangepi-win.dts b/arch/arm/dts/sun50i-a64-orangepi-win.dts
-index bf42690a33..b0c64f7579 100644
---- a/arch/arm/dts/sun50i-a64-orangepi-win.dts
-+++ b/arch/arm/dts/sun50i-a64-orangepi-win.dts
-@@ -1,5 +1,6 @@
- /*
- * Copyright (C) 2017 Jagan Teki <jteki@openedev.com>
-+ * Copyright (C) 2017-2018 Samuel Holland <samuel@sholland.org>
- *
- * This file is dual-licensed: you can use it either under the terms
- * of the GPL or the X11 license, at your option. Note that this dual
-@@ -51,23 +52,127 @@
- compatible = "xunlong,orangepi-win", "allwinner,sun50i-a64";
-
- aliases {
-+ ethernet0 = &emac;
- serial0 = &uart0;
-+ serial1 = &uart1;
-+ serial2 = &uart2;
-+ serial3 = &uart3;
-+ serial4 = &uart4;
- };
-
- chosen {
- stdout-path = "serial0:115200n8";
- };
-+
-+ hdmi-connector {
-+ compatible = "hdmi-connector";
-+ type = "a";
-+
-+ port {
-+ hdmi_con_in: endpoint {
-+ remote-endpoint = <&hdmi_out_con>;
-+ };
-+ };
-+ };
-+
-+ leds {
-+ compatible = "gpio-leds";
-+
-+ status {
-+ label = "orangepi:green:status";
-+ gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
-+ };
-+ };
-+
-+ reg_gmac_3v3: gmac-3v3 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "gmac-3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-boot-on;
-+ enable-active-high;
-+ gpio = <&pio 3 14 GPIO_ACTIVE_HIGH>; /* PD14 */
-+ status = "okay";
-+ };
-+
-+ reg_usb1_vbus: usb1-vbus {
-+ compatible = "regulator-fixed";
-+ regulator-name = "usb1-vbus";
-+ regulator-min-microvolt = <5000000>;
-+ regulator-max-microvolt = <5000000>;
-+ regulator-boot-on;
-+ enable-active-high;
-+ gpio = <&pio 3 7 GPIO_ACTIVE_HIGH>; /* PD7 */
-+ status = "okay";
-+ };
-+
-+ wifi_pwrseq: wifi_pwrseq {
-+ compatible = "mmc-pwrseq-simple";
-+ reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 */
-+ };
-+};
-+
-+&de {
-+ status = "okay";
-+};
-+
-+&ehci0 {
-+ status = "okay";
- };
-
- &ehci1 {
- status = "okay";
- };
-
-+&emac {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&rgmii_pins>;
-+ phy-mode = "rgmii";
-+ phy-handle = <&ext_rgmii_phy>;
-+ phy-supply = <&reg_gmac_3v3>;
-+ status = "okay";
-+};
-+
-+&hdmi {
-+ hvcc-supply = <&reg_dldo1>;
-+ status = "okay";
-+};
-+
-+&hdmi_out {
-+ hdmi_out_con: endpoint {
-+ remote-endpoint = <&hdmi_con_in>;
-+ };
-+};
-+
-+&mdio {
-+ ext_rgmii_phy: ethernet-phy@1 {
-+ compatible = "ethernet-phy-ieee802.3-c22";
-+ reg = <1>;
-+ };
-+};
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
- vmmc-supply = <&reg_dcdc1>;
-- cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
-+ disable-wp;
-+ bus-width = <4>;
-+ status = "okay";
-+};
-+
-+&mmc1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc1_pins>;
-+ vmmc-supply = <&reg_dldo2>;
-+ vqmmc-supply = <&reg_dldo4>;
-+ mmc-pwrseq = <&wifi_pwrseq>;
-+ bus-width = <4>;
-+ non-removable;
-+ status = "okay";
-+};
-+
-+&ohci0 {
- status = "okay";
- };
-
-@@ -89,9 +194,8 @@
- #include "axp803.dtsi"
-
- &reg_aldo1 {
-- regulator-always-on;
-- regulator-min-microvolt = <1800000>;
-- regulator-max-microvolt = <3300000>;
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
- regulator-name = "afvcc-csi";
- };
-
-@@ -163,12 +267,23 @@
- regulator-name = "vcc-wifi-io";
- };
-
-+&reg_drivevbus {
-+ regulator-name = "usb0-vbus";
-+ status = "okay";
-+};
-+
- &reg_eldo1 {
- regulator-min-microvolt = <1800000>;
- regulator-max-microvolt = <1800000>;
- regulator-name = "cpvdd";
- };
-
-+&reg_eldo3 {
-+ regulator-min-microvolt = <1500000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "dvdd-csi";
-+};
-+
- &reg_fldo1 {
- regulator-min-microvolt = <1200000>;
- regulator-max-microvolt = <1200000>;
-@@ -191,13 +306,65 @@
- regulator-name = "vcc-rtc";
- };
-
-+&simplefb_hdmi {
-+ vcc-hdmi-supply = <&reg_dldo1>;
-+};
-+
-+&spi0 {
-+ status = "okay";
-+
-+ spi-flash@0 {
-+ compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
-+ reg = <0>;
-+ spi-max-frequency = <80000000>;
-+ m25p,fast-read;
-+ status = "okay";
-+ };
-+};
-+
-+/* On debug connector */
- &uart0 {
- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins_a>;
-+ pinctrl-0 = <&uart0_pb_pins>;
- status = "okay";
- };
-
--&usbphy {
-+/* Bluetooth */
-+&uart1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart1_pins>, <&uart1_rts_cts_pins>;
-+ status = "okay";
-+};
-+
-+/* On Pi-2 connector, RTS/CTS optional */
-+&uart2 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart2_pins>;
-+ status = "disabled";
-+};
-+
-+/* On Pi-2 connector, RTS/CTS optional */
-+&uart3 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart3_pins>;
-+ status = "disabled";
-+};
-+
-+/* On Pi-2 connector (labeled for SPI1), RTS/CTS optional */
-+&uart4 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart4_pins>;
-+ status = "disabled";
-+};
-+
-+&usb_otg {
-+ dr_mode = "otg";
- status = "okay";
- };
-
-+&usbphy {
-+ usb0_id_det-gpios = <&pio 7 9 GPIO_ACTIVE_HIGH>; /* PH9 */
-+ usb0_vbus-supply = <&reg_drivevbus>;
-+ usb1_vbus-supply = <&reg_usb1_vbus>;
-+ status = "okay";
-+};
-diff --git a/arch/arm/dts/sun50i-a64-pine64.dts b/arch/arm/dts/sun50i-a64-pine64.dts
-index a75825798a..c077b6c1f4 100644
---- a/arch/arm/dts/sun50i-a64-pine64.dts
-+++ b/arch/arm/dts/sun50i-a64-pine64.dts
-@@ -62,6 +62,21 @@
- chosen {
- stdout-path = "serial0:115200n8";
- };
-+
-+ hdmi-connector {
-+ compatible = "hdmi-connector";
-+ type = "a";
-+
-+ port {
-+ hdmi_con_in: endpoint {
-+ remote-endpoint = <&hdmi_out_con>;
-+ };
-+ };
-+ };
-+};
-+
-+&de {
-+ status = "okay";
- };
-
- &ehci0 {
-@@ -82,6 +97,17 @@
-
- };
-
-+&hdmi {
-+ hvcc-supply = <&reg_dldo1>;
-+ status = "okay";
-+};
-+
-+&hdmi_out {
-+ hdmi_out_con: endpoint {
-+ remote-endpoint = <&hdmi_con_in>;
-+ };
-+};
-+
- &i2c1 {
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_pins>;
-@@ -229,6 +255,10 @@
- regulator-name = "vcc-rtc";
- };
-
-+&simplefb_hdmi {
-+ vcc-hdmi-supply = <&reg_dldo1>;
-+};
-+
- /* On Euler connector */
- &spdif {
- status = "disabled";
-@@ -237,7 +267,7 @@
- /* On Exp and Euler connectors */
- &uart0 {
- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins_a>;
-+ pinctrl-0 = <&uart0_pb_pins>;
- status = "okay";
- };
-
-diff --git a/arch/arm/dts/sun50i-a64-sopine-baseboard.dts b/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
-index abe179de35..53fcc9098d 100644
---- a/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
-+++ b/arch/arm/dts/sun50i-a64-sopine-baseboard.dts
-@@ -61,6 +61,17 @@
- stdout-path = "serial0:115200n8";
- };
-
-+ hdmi-connector {
-+ compatible = "hdmi-connector";
-+ type = "a";
-+
-+ port {
-+ hdmi_con_in: endpoint {
-+ remote-endpoint = <&hdmi_out_con>;
-+ };
-+ };
-+ };
-+
- reg_vcc1v8: vcc1v8 {
- compatible = "regulator-fixed";
- regulator-name = "vcc1v8";
-@@ -69,6 +80,10 @@
- };
- };
-
-+&de {
-+ status = "okay";
-+};
-+
- &ehci0 {
- status = "okay";
- };
-@@ -86,6 +101,17 @@
- status = "okay";
- };
-
-+&hdmi {
-+ hvcc-supply = <&reg_dldo1>;
-+ status = "okay";
-+};
-+
-+&hdmi_out {
-+ hdmi_out_con: endpoint {
-+ remote-endpoint = <&hdmi_con_in>;
-+ };
-+};
-+
- &mdio {
- ext_rgmii_phy: ethernet-phy@1 {
- compatible = "ethernet-phy-ieee802.3-c22";
-@@ -134,9 +160,13 @@
- regulator-name = "vcc-wifi";
- };
-
-+&simplefb_hdmi {
-+ vcc-hdmi-supply = <&reg_dldo1>;
-+};
-+
- &uart0 {
- pinctrl-names = "default";
-- pinctrl-0 = <&uart0_pins_a>;
-+ pinctrl-0 = <&uart0_pb_pins>;
- status = "okay";
- };
-
-diff --git a/arch/arm/dts/sun50i-a64-sopine.dtsi b/arch/arm/dts/sun50i-a64-sopine.dtsi
-index 43418bd881..6723b8695e 100644
---- a/arch/arm/dts/sun50i-a64-sopine.dtsi
-+++ b/arch/arm/dts/sun50i-a64-sopine.dtsi
-@@ -45,6 +45,8 @@
-
- #include "sun50i-a64.dtsi"
-
-+#include <dt-bindings/gpio/gpio.h>
-+
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
-@@ -52,6 +54,7 @@
- non-removable;
- disable-wp;
- bus-width = <4>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
- status = "okay";
- };
-
-@@ -66,6 +69,18 @@
- };
- };
-
-+&spi0 {
-+ status = "okay";
-+
-+ flash@0 {
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ compatible = "jedec,spi-nor";
-+ reg = <0>;
-+ spi-max-frequency = <40000000>;
-+ };
-+};
-+
- #include "axp803.dtsi"
-
- &reg_aldo2 {
-diff --git a/arch/arm/dts/sun50i-a64.dtsi b/arch/arm/dts/sun50i-a64.dtsi
-index 7a083637c4..f3a66f8882 100644
---- a/arch/arm/dts/sun50i-a64.dtsi
-+++ b/arch/arm/dts/sun50i-a64.dtsi
-@@ -43,9 +43,12 @@
- */
-
- #include <dt-bindings/clock/sun50i-a64-ccu.h>
-+#include <dt-bindings/clock/sun8i-de2.h>
- #include <dt-bindings/clock/sun8i-r-ccu.h>
- #include <dt-bindings/interrupt-controller/arm-gic.h>
- #include <dt-bindings/reset/sun50i-a64-ccu.h>
-+#include <dt-bindings/reset/sun8i-de2.h>
-+#include <dt-bindings/reset/sun8i-r-ccu.h>
-
- / {
- interrupt-parent = <&gic>;
-@@ -57,17 +60,21 @@
- #size-cells = <1>;
- ranges;
-
--/*
-- * The pipeline mixer0-lcd0 depends on clock CLK_MIXER0 from DE2 CCU.
-- * However there is no support for this clock on A64 yet, so we depend
-- * on the upstream clocks here to keep them (and thus CLK_MIXER0) up.
-- */
- simplefb_lcd: framebuffer-lcd {
- compatible = "allwinner,simple-framebuffer",
- "simple-framebuffer";
- allwinner,pipeline = "mixer0-lcd0";
- clocks = <&ccu CLK_TCON0>,
-- <&ccu CLK_DE>, <&ccu CLK_BUS_DE>;
-+ <&display_clocks CLK_MIXER0>;
-+ status = "disabled";
-+ };
-+
-+ simplefb_hdmi: framebuffer-hdmi {
-+ compatible = "allwinner,simple-framebuffer",
-+ "simple-framebuffer";
-+ allwinner,pipeline = "mixer1-lcd1-hdmi";
-+ clocks = <&display_clocks CLK_MIXER1>,
-+ <&ccu CLK_TCON1>, <&ccu CLK_HDMI>;
- status = "disabled";
- };
- };
-@@ -81,6 +88,7 @@
- device_type = "cpu";
- reg = <0>;
- enable-method = "psci";
-+ next-level-cache = <&L2>;
- };
-
- cpu1: cpu@1 {
-@@ -88,6 +96,7 @@
- device_type = "cpu";
- reg = <1>;
- enable-method = "psci";
-+ next-level-cache = <&L2>;
- };
-
- cpu2: cpu@2 {
-@@ -95,6 +104,7 @@
- device_type = "cpu";
- reg = <2>;
- enable-method = "psci";
-+ next-level-cache = <&L2>;
- };
-
- cpu3: cpu@3 {
-@@ -102,7 +112,20 @@
- device_type = "cpu";
- reg = <3>;
- enable-method = "psci";
-+ next-level-cache = <&L2>;
- };
-+
-+ L2: l2-cache {
-+ compatible = "cache";
-+ cache-level = <2>;
-+ };
-+ };
-+
-+ de: display-engine {
-+ compatible = "allwinner,sun50i-a64-display-engine";
-+ allwinner,pipelines = <&mixer0>,
-+ <&mixer1>;
-+ status = "disabled";
- };
-
- osc24M: osc24M_clk {
-@@ -168,10 +191,92 @@
- #size-cells = <1>;
- ranges;
-
-+ de2@1000000 {
-+ compatible = "allwinner,sun50i-a64-de2";
-+ reg = <0x1000000 0x400000>;
-+ allwinner,sram = <&de2_sram 1>;
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ ranges = <0 0x1000000 0x400000>;
-+
-+ display_clocks: clock@0 {
-+ compatible = "allwinner,sun50i-a64-de2-clk";
-+ reg = <0x0 0x100000>;
-+ clocks = <&ccu CLK_DE>,
-+ <&ccu CLK_BUS_DE>;
-+ clock-names = "mod",
-+ "bus";
-+ resets = <&ccu RST_BUS_DE>;
-+ #clock-cells = <1>;
-+ #reset-cells = <1>;
-+ };
-+
-+ mixer0: mixer@100000 {
-+ compatible = "allwinner,sun50i-a64-de2-mixer-0";
-+ reg = <0x100000 0x100000>;
-+ clocks = <&display_clocks CLK_BUS_MIXER0>,
-+ <&display_clocks CLK_MIXER0>;
-+ clock-names = "bus",
-+ "mod";
-+ resets = <&display_clocks RST_MIXER0>;
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ mixer0_out: port@1 {
-+ reg = <1>;
-+
-+ mixer0_out_tcon0: endpoint {
-+ remote-endpoint = <&tcon0_in_mixer0>;
-+ };
-+ };
-+ };
-+ };
-+
-+ mixer1: mixer@200000 {
-+ compatible = "allwinner,sun50i-a64-de2-mixer-1";
-+ reg = <0x200000 0x100000>;
-+ clocks = <&display_clocks CLK_BUS_MIXER1>,
-+ <&display_clocks CLK_MIXER1>;
-+ clock-names = "bus",
-+ "mod";
-+ resets = <&display_clocks RST_MIXER1>;
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ mixer1_out: port@1 {
-+ reg = <1>;
-+
-+ mixer1_out_tcon1: endpoint {
-+ remote-endpoint = <&tcon1_in_mixer1>;
-+ };
-+ };
-+ };
-+ };
-+ };
-+
- syscon: syscon@1c00000 {
-- compatible = "allwinner,sun50i-a64-system-controller",
-- "syscon";
-+ compatible = "allwinner,sun50i-a64-system-control";
- reg = <0x01c00000 0x1000>;
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ ranges;
-+
-+ sram_c: sram@18000 {
-+ compatible = "mmio-sram";
-+ reg = <0x00018000 0x28000>;
-+ #address-cells = <1>;
-+ #size-cells = <1>;
-+ ranges = <0 0x00018000 0x28000>;
-+
-+ de2_sram: sram-section@0 {
-+ compatible = "allwinner,sun50i-a64-sram-c";
-+ reg = <0x0000 0x28000>;
-+ };
-+ };
- };
-
- dma: dma-controller@1c02000 {
-@@ -185,6 +290,75 @@
- #dma-cells = <1>;
- };
-
-+ tcon0: lcd-controller@1c0c000 {
-+ compatible = "allwinner,sun50i-a64-tcon-lcd",
-+ "allwinner,sun8i-a83t-tcon-lcd";
-+ reg = <0x01c0c000 0x1000>;
-+ interrupts = <GIC_SPI 86 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&ccu CLK_BUS_TCON0>, <&ccu CLK_TCON0>;
-+ clock-names = "ahb", "tcon-ch0";
-+ clock-output-names = "tcon-pixel-clock";
-+ resets = <&ccu RST_BUS_TCON0>, <&ccu RST_BUS_LVDS>;
-+ reset-names = "lcd", "lvds";
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ tcon0_in: port@0 {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ reg = <0>;
-+
-+ tcon0_in_mixer0: endpoint@0 {
-+ reg = <0>;
-+ remote-endpoint = <&mixer0_out_tcon0>;
-+ };
-+ };
-+
-+ tcon0_out: port@1 {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ reg = <1>;
-+ };
-+ };
-+ };
-+
-+ tcon1: lcd-controller@1c0d000 {
-+ compatible = "allwinner,sun50i-a64-tcon-tv",
-+ "allwinner,sun8i-a83t-tcon-tv";
-+ reg = <0x01c0d000 0x1000>;
-+ interrupts = <GIC_SPI 87 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&ccu CLK_BUS_TCON1>, <&ccu CLK_TCON1>;
-+ clock-names = "ahb", "tcon-ch1";
-+ resets = <&ccu RST_BUS_TCON1>;
-+ reset-names = "lcd";
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ tcon1_in: port@0 {
-+ reg = <0>;
-+
-+ tcon1_in_mixer1: endpoint {
-+ remote-endpoint = <&mixer1_out_tcon1>;
-+ };
-+ };
-+
-+ tcon1_out: port@1 {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ reg = <1>;
-+
-+ tcon1_out_hdmi: endpoint@1 {
-+ reg = <1>;
-+ remote-endpoint = <&hdmi_in_tcon1>;
-+ };
-+ };
-+ };
-+ };
-+
- mmc0: mmc@1c0f000 {
- compatible = "allwinner,sun50i-a64-mmc";
- reg = <0x01c0f000 0x1000>;
-@@ -227,6 +401,11 @@
- #size-cells = <0>;
- };
-
-+ sid: eeprom@1c14000 {
-+ compatible = "allwinner,sun50i-a64-sid";
-+ reg = <0x1c14000 0x400>;
-+ };
-+
- usb_otg: usb@1c19000 {
- compatible = "allwinner,sun8i-a33-musb";
- reg = <0x01c19000 0x0400>;
-@@ -356,7 +535,7 @@
- };
-
- mmc2_pins: mmc2-pins {
-- pins = "PC1", "PC5", "PC6", "PC8", "PC9",
-+ pins = "PC5", "PC6", "PC8", "PC9",
- "PC10","PC11", "PC12", "PC13",
- "PC14", "PC15", "PC16";
- function = "mmc2";
-@@ -364,6 +543,18 @@
- bias-pull-up;
- };
-
-+ mmc2_ds_pin: mmc2-ds-pin {
-+ pins = "PC1";
-+ function = "mmc2";
-+ drive-strength = <30>;
-+ bias-pull-up;
-+ };
-+
-+ pwm_pin: pwm_pin {
-+ pins = "PD22";
-+ function = "pwm";
-+ };
-+
- rmii_pins: rmii_pins {
- pins = "PD10", "PD11", "PD13", "PD14", "PD17",
- "PD18", "PD19", "PD20", "PD22", "PD23";
-@@ -394,7 +585,7 @@
- function = "spi1";
- };
-
-- uart0_pins_a: uart0 {
-+ uart0_pb_pins: uart0-pb-pins {
- pins = "PB8", "PB9";
- function = "uart0";
- };
-@@ -474,15 +665,6 @@
- status = "disabled";
- };
-
-- pwm: pwm@1c21400 {
-- compatible = "allwinner,sun50i-a64-pwm",
-- "allwinner,sun5i-a13-pwm";
-- reg = <0x01c21400 0x8>;
-- clocks = <&osc24M>;
-- #pwm-cells = <3>;
-- status = "disabled";
-- };
--
- uart0: serial@1c28000 {
- compatible = "snps,dw-apb-uart";
- reg = <0x01c28000 0x400>;
-@@ -617,8 +799,6 @@
- clocks = <&ccu CLK_BUS_EMAC>;
- clock-names = "stmmaceth";
- status = "disabled";
-- #address-cells = <1>;
-- #size-cells = <0>;
-
- mdio: mdio {
- compatible = "snps,dwmac-mdio";
-@@ -638,11 +818,69 @@
- #interrupt-cells = <3>;
- };
-
-+ pwm: pwm@1c21400 {
-+ compatible = "allwinner,sun50i-a64-pwm",
-+ "allwinner,sun5i-a13-pwm";
-+ reg = <0x01c21400 0x400>;
-+ clocks = <&osc24M>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&pwm_pin>;
-+ #pwm-cells = <3>;
-+ status = "disabled";
-+ };
-+
-+ hdmi: hdmi@1ee0000 {
-+ compatible = "allwinner,sun50i-a64-dw-hdmi",
-+ "allwinner,sun8i-a83t-dw-hdmi";
-+ reg = <0x01ee0000 0x10000>;
-+ reg-io-width = <1>;
-+ interrupts = <GIC_SPI 88 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
-+ <&ccu CLK_HDMI>;
-+ clock-names = "iahb", "isfr", "tmds";
-+ resets = <&ccu RST_BUS_HDMI1>;
-+ reset-names = "ctrl";
-+ phys = <&hdmi_phy>;
-+ phy-names = "hdmi-phy";
-+ status = "disabled";
-+
-+ ports {
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+
-+ hdmi_in: port@0 {
-+ reg = <0>;
-+
-+ hdmi_in_tcon1: endpoint {
-+ remote-endpoint = <&tcon1_out_hdmi>;
-+ };
-+ };
-+
-+ hdmi_out: port@1 {
-+ reg = <1>;
-+ };
-+ };
-+ };
-+
-+ hdmi_phy: hdmi-phy@1ef0000 {
-+ compatible = "allwinner,sun50i-a64-hdmi-phy";
-+ reg = <0x01ef0000 0x10000>;
-+ clocks = <&ccu CLK_BUS_HDMI>, <&ccu CLK_HDMI_DDC>,
-+ <&ccu 7>;
-+ clock-names = "bus", "mod", "pll-0";
-+ resets = <&ccu RST_BUS_HDMI0>;
-+ reset-names = "phy";
-+ #phy-cells = <0>;
-+ };
-+
- rtc: rtc@1f00000 {
- compatible = "allwinner,sun6i-a31-rtc";
- reg = <0x01f00000 0x54>;
- interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
-+ clock-output-names = "rtc-osc32k", "rtc-osc32k-out";
-+ clocks = <&osc32k>;
-+ #clock-cells = <1>;
- };
-
- r_intc: interrupt-controller@1f00c00 {
-@@ -664,6 +902,29 @@
- #reset-cells = <1>;
- };
-
-+ r_i2c: i2c@1f02400 {
-+ compatible = "allwinner,sun50i-a64-i2c",
-+ "allwinner,sun6i-a31-i2c";
-+ reg = <0x01f02400 0x400>;
-+ interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
-+ clocks = <&r_ccu CLK_APB0_I2C>;
-+ resets = <&r_ccu RST_APB0_I2C>;
-+ status = "disabled";
-+ #address-cells = <1>;
-+ #size-cells = <0>;
-+ };
-+
-+ r_pwm: pwm@1f03800 {
-+ compatible = "allwinner,sun50i-a64-pwm",
-+ "allwinner,sun5i-a13-pwm";
-+ reg = <0x01f03800 0x400>;
-+ clocks = <&osc24M>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&r_pwm_pin>;
-+ #pwm-cells = <3>;
-+ status = "disabled";
-+ };
-+
- r_pio: pinctrl@1f02c00 {
- compatible = "allwinner,sun50i-a64-r-pinctrl";
- reg = <0x01f02c00 0x400>;
-@@ -675,6 +936,16 @@
- interrupt-controller;
- #interrupt-cells = <3>;
-
-+ r_i2c_pl89_pins: r-i2c-pl89-pins {
-+ pins = "PL8", "PL9";
-+ function = "s_i2c";
-+ };
-+
-+ r_pwm_pin: pwm {
-+ pins = "PL10";
-+ function = "s_pwm";
-+ };
-+
- r_rsb_pins: rsb {
- pins = "PL0", "PL1";
- function = "s_rsb";
---
-2.11.0
-
diff --git a/gnu/packages/patches/u-boot-pinebook-dts.patch b/gnu/packages/patches/u-boot-pinebook-dts.patch
deleted file mode 100644
index 48c004fdfc..0000000000
--- a/gnu/packages/patches/u-boot-pinebook-dts.patch
+++ /dev/null
@@ -1,388 +0,0 @@
-From b972831c3cd24f3c9bb0995ed61db8f8239f3391 Mon Sep 17 00:00:00 2001
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-Date: Mon, 5 Nov 2018 20:24:31 -0800
-Subject: [PATCH 10/13] sunxi: DT: add support for Pinebook
-
-Pinebook is a laptop produced by Pine64, with USB-connected keyboard,
-USB-connected touchpad and an eDP LCD panel connected via a RGB-eDP
-bridge from Analogix.
-
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
-Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Cc: Vagrant Cascadian <vagrant@debian.org>
-Reviewed-by: Jagan Teki <jagan@openedev.com>
----
- arch/arm/dts/Makefile | 1 +
- arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi | 15 ++
- arch/arm/dts/sun50i-a64-pinebook.dts | 294 +++++++++++++++++++++++++++
- configs/pinebook_defconfig | 22 ++
- 4 files changed, 332 insertions(+)
- create mode 100644 arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
- create mode 100644 arch/arm/dts/sun50i-a64-pinebook.dts
- create mode 100644 configs/pinebook_defconfig
-
-diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
-index 3093c1185e..eae6b9ee5d 100644
---- a/arch/arm/dts/Makefile
-+++ b/arch/arm/dts/Makefile
-@@ -406,6 +406,7 @@ dtb-$(CONFIG_MACH_SUN50I) += \
- sun50i-a64-orangepi-win.dtb \
- sun50i-a64-pine64-plus.dtb \
- sun50i-a64-pine64.dtb \
-+ sun50i-a64-pinebook.dtb \
- sun50i-a64-sopine-baseboard.dtb
- dtb-$(CONFIG_MACH_SUN9I) += \
- sun9i-a80-optimus.dtb \
-diff --git a/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
-new file mode 100644
-index 0000000000..a99b7171d0
---- /dev/null
-+++ b/arch/arm/dts/sun50i-a64-pinebook-u-boot.dtsi
-@@ -0,0 +1,15 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
-+ *
-+ */
-+
-+/* The ANX6345 eDP-bridge is on r_i2c */
-+&r_i2c {
-+ anx6345: edp-bridge@38 {
-+ compatible = "analogix,anx6345";
-+ reg = <0x38>;
-+ reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */
-+ status = "okay";
-+ };
-+};
-diff --git a/arch/arm/dts/sun50i-a64-pinebook.dts b/arch/arm/dts/sun50i-a64-pinebook.dts
-new file mode 100644
-index 0000000000..ec537c5297
---- /dev/null
-+++ b/arch/arm/dts/sun50i-a64-pinebook.dts
-@@ -0,0 +1,294 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz>
-+ * Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com>
-+ *
-+ */
-+
-+/dts-v1/;
-+
-+#include "sun50i-a64.dtsi"
-+
-+#include <dt-bindings/gpio/gpio.h>
-+#include <dt-bindings/input/input.h>
-+#include <dt-bindings/pwm/pwm.h>
-+
-+/ {
-+ model = "Pinebook";
-+ compatible = "pine64,pinebook", "allwinner,sun50i-a64";
-+
-+ aliases {
-+ serial0 = &uart0;
-+ ethernet0 = &rtl8723cs;
-+ };
-+
-+ vdd_bl: regulator@0 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "bl-3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */
-+ enable-active-high;
-+ };
-+
-+ backlight: backlight {
-+ compatible = "pwm-backlight";
-+ pwms = <&pwm 0 50000 0>;
-+ brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>;
-+ default-brightness-level = <2>;
-+ enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */
-+ power-supply = <&vdd_bl>;
-+ };
-+
-+ chosen {
-+ stdout-path = "serial0:115200n8";
-+
-+ framebuffer-lcd {
-+ panel-supply = <&reg_dc1sw>;
-+ dvdd25-supply = <&reg_dldo2>;
-+ dvdd12-supply = <&reg_fldo1>;
-+ };
-+ };
-+
-+ gpio_keys {
-+ compatible = "gpio-keys";
-+
-+ lid_switch {
-+ label = "Lid Switch";
-+ gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */
-+ linux,input-type = <EV_SW>;
-+ linux,code = <SW_LID>;
-+ linux,can-disable;
-+ wakeup-source;
-+ };
-+ };
-+
-+ reg_vcc3v3: vcc3v3 {
-+ compatible = "regulator-fixed";
-+ regulator-name = "vcc3v3";
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ };
-+
-+ wifi_pwrseq: wifi_pwrseq {
-+ compatible = "mmc-pwrseq-simple";
-+ reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */
-+ };
-+};
-+
-+&ehci0 {
-+ phys = <&usbphy 0>;
-+ phy-names = "usb";
-+ status = "okay";
-+};
-+
-+&ehci1 {
-+ status = "okay";
-+};
-+
-+&mmc0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc0_pins>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
-+ disable-wp;
-+ bus-width = <4>;
-+ status = "okay";
-+};
-+
-+&mmc1 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc1_pins>;
-+ vmmc-supply = <&reg_dldo4>;
-+ vqmmc-supply = <&reg_eldo1>;
-+ mmc-pwrseq = <&wifi_pwrseq>;
-+ bus-width = <4>;
-+ non-removable;
-+ status = "okay";
-+
-+ rtl8723cs: wifi@1 {
-+ reg = <1>;
-+ };
-+};
-+
-+&mmc2 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>;
-+ vmmc-supply = <&reg_dcdc1>;
-+ vqmmc-supply = <&reg_eldo1>;
-+ bus-width = <8>;
-+ non-removable;
-+ cap-mmc-hw-reset;
-+ mmc-hs200-1_8v;
-+ status = "okay";
-+};
-+
-+&ohci0 {
-+ phys = <&usbphy 0>;
-+ phy-names = "usb";
-+ status = "okay";
-+};
-+
-+&ohci1 {
-+ status = "okay";
-+};
-+
-+&pwm {
-+ status = "okay";
-+};
-+
-+&r_rsb {
-+ status = "okay";
-+
-+ axp803: pmic@3a3 {
-+ compatible = "x-powers,axp803";
-+ reg = <0x3a3>;
-+ interrupt-parent = <&r_intc>;
-+ interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
-+ };
-+};
-+
-+/* The ANX6345 eDP-bridge is on r_i2c */
-+&r_i2c {
-+ clock-frequency = <100000>;
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&r_i2c_pl89_pins>;
-+ status = "okay";
-+};
-+
-+#include "axp803.dtsi"
-+
-+&reg_aldo1 {
-+ regulator-min-microvolt = <2800000>;
-+ regulator-max-microvolt = <2800000>;
-+ regulator-name = "vcc-csi";
-+};
-+
-+&reg_aldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-pl";
-+};
-+
-+&reg_aldo3 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <2700000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-pll-avcc";
-+};
-+
-+&reg_dc1sw {
-+ regulator-name = "vcc-lcd";
-+};
-+
-+&reg_dcdc1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-3v3";
-+};
-+
-+&reg_dcdc2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1000000>;
-+ regulator-max-microvolt = <1300000>;
-+ regulator-name = "vdd-cpux";
-+};
-+
-+/* DCDC3 is polyphased with DCDC2 */
-+
-+&reg_dcdc5 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-dram";
-+};
-+
-+&reg_dcdc6 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-sys";
-+};
-+
-+&reg_dldo1 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-hdmi";
-+};
-+
-+&reg_dldo2 {
-+ regulator-min-microvolt = <2500000>;
-+ regulator-max-microvolt = <2500000>;
-+ regulator-name = "vcc-edp";
-+};
-+
-+&reg_dldo3 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "avdd-csi";
-+};
-+
-+&reg_dldo4 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-wifi";
-+};
-+
-+&reg_eldo1 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "cpvdd";
-+};
-+
-+&reg_eldo3 {
-+ regulator-min-microvolt = <1800000>;
-+ regulator-max-microvolt = <1800000>;
-+ regulator-name = "vdd-1v8-csi";
-+};
-+
-+&reg_fldo1 {
-+ regulator-min-microvolt = <1200000>;
-+ regulator-max-microvolt = <1200000>;
-+ regulator-name = "vcc-1v2-hsic";
-+};
-+
-+&reg_fldo2 {
-+ regulator-always-on;
-+ regulator-min-microvolt = <1100000>;
-+ regulator-max-microvolt = <1100000>;
-+ regulator-name = "vdd-cpus";
-+};
-+
-+&reg_ldo_io0 {
-+ regulator-min-microvolt = <3300000>;
-+ regulator-max-microvolt = <3300000>;
-+ regulator-name = "vcc-usb";
-+ status = "okay";
-+};
-+
-+&reg_rtc_ldo {
-+ regulator-name = "vcc-rtc";
-+};
-+
-+&simplefb_hdmi {
-+ vcc-hdmi-supply = <&reg_dldo1>;
-+};
-+
-+&uart0 {
-+ pinctrl-names = "default";
-+ pinctrl-0 = <&uart0_pb_pins>;
-+ status = "okay";
-+};
-+
-+&usb_otg {
-+ dr_mode = "host";
-+};
-+
-+&usbphy {
-+ usb0_vbus-supply = <&reg_ldo_io0>;
-+ usb1_vbus-supply = <&reg_ldo_io0>;
-+ status = "okay";
-+};
-diff --git a/configs/pinebook_defconfig b/configs/pinebook_defconfig
-new file mode 100644
-index 0000000000..5294dbd2eb
---- /dev/null
-+++ b/configs/pinebook_defconfig
-@@ -0,0 +1,22 @@
-+CONFIG_ARM=y
-+CONFIG_ARCH_SUNXI=y
-+CONFIG_SPL=y
-+CONFIG_MACH_SUN50I=y
-+CONFIG_SUNXI_DRAM_LPDDR3_STOCK=y
-+CONFIG_DRAM_CLK=552
-+CONFIG_DRAM_ZQ=3881949
-+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
-+CONFIG_R_I2C_ENABLE=y
-+# CONFIG_CMD_FLASH is not set
-+# CONFIG_SPL_DOS_PARTITION is not set
-+# CONFIG_SPL_EFI_PARTITION is not set
-+CONFIG_DEFAULT_DEVICE_TREE="sun50i-a64-pinebook"
-+CONFIG_DM_REGULATOR=y
-+CONFIG_DM_REGULATOR_FIXED=y
-+CONFIG_DM_PWM=y
-+CONFIG_PWM_SUNXI=y
-+CONFIG_USB_EHCI_HCD=y
-+CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE=y
-+# CONFIG_USB_GADGET is not set
-+CONFIG_VIDEO_BRIDGE=y
-+CONFIG_VIDEO_BRIDGE_ANALOGIX_ANX6345=y
---
-2.11.0
-
diff --git a/gnu/packages/patches/u-boot-pinebook-mmc-calibration.patch b/gnu/packages/patches/u-boot-pinebook-mmc-calibration.patch
deleted file mode 100644
index 118bdf8e0c..0000000000
--- a/gnu/packages/patches/u-boot-pinebook-mmc-calibration.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From 20940ef2a397446a209350900d3bd618c3fd5b94 Mon Sep 17 00:00:00 2001
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-Date: Mon, 5 Nov 2018 20:24:28 -0800
-Subject: [PATCH 07/13] mmc: sunxi: add support for automatic delay calibration
-
-A64 and H6 support automatic delay calibration and Linux driver uses it
-instead of hardcoded delays. Add support for it to u-boot driver.
-
-Fixes eMMC instability on Pinebook
-
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
-Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Reviewed-by: Andre Przywara <andre.przywara@arm.com>
-Cc: Vagrant Cascadian <vagrant@debian.org>
-Reviewed-by: Jagan Teki <jagan@openedev.com>
----
- arch/arm/include/asm/arch-sunxi/mmc.h | 6 +++++-
- drivers/mmc/sunxi_mmc.c | 21 ++++++++++++++++++++-
- 2 files changed, 25 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm/include/asm/arch-sunxi/mmc.h b/arch/arm/include/asm/arch-sunxi/mmc.h
-index d98c53faaa..f2deafddd2 100644
---- a/arch/arm/include/asm/arch-sunxi/mmc.h
-+++ b/arch/arm/include/asm/arch-sunxi/mmc.h
-@@ -46,7 +46,9 @@ struct sunxi_mmc {
- u32 cbda; /* 0x94 */
- u32 res2[26];
- #if defined(CONFIG_SUNXI_GEN_SUN6I) || defined(CONFIG_MACH_SUN50I_H6)
-- u32 res3[64];
-+ u32 res3[17];
-+ u32 samp_dl;
-+ u32 res4[46];
- #endif
- u32 fifo; /* 0x100 / 0x200 FIFO access address */
- };
-@@ -130,5 +132,7 @@ struct sunxi_mmc {
- #define SUNXI_MMC_COMMON_CLK_GATE (1 << 16)
- #define SUNXI_MMC_COMMON_RESET (1 << 18)
-
-+#define SUNXI_MMC_CAL_DL_SW_EN (0x1 << 7)
-+
- struct mmc *sunxi_mmc_init(int sdc_no);
- #endif /* _SUNXI_MMC_H */
-diff --git a/drivers/mmc/sunxi_mmc.c b/drivers/mmc/sunxi_mmc.c
-index 39f15eb423..147eb9b4d5 100644
---- a/drivers/mmc/sunxi_mmc.c
-+++ b/drivers/mmc/sunxi_mmc.c
-@@ -99,11 +99,16 @@ static int mmc_set_mod_clk(struct sunxi_mmc_priv *priv, unsigned int hz)
- {
- unsigned int pll, pll_hz, div, n, oclk_dly, sclk_dly;
- bool new_mode = false;
-+ bool calibrate = false;
- u32 val = 0;
-
- if (IS_ENABLED(CONFIG_MMC_SUNXI_HAS_NEW_MODE) && (priv->mmc_no == 2))
- new_mode = true;
-
-+#if defined(CONFIG_MACH_SUN50I) || defined(CONFIG_MACH_SUN50I_H6)
-+ calibrate = true;
-+#endif
-+
- /*
- * The MMC clock has an extra /2 post-divider when operating in the new
- * mode.
-@@ -174,7 +179,11 @@ static int mmc_set_mod_clk(struct sunxi_mmc_priv *priv, unsigned int hz)
- val = CCM_MMC_CTRL_MODE_SEL_NEW;
- setbits_le32(&priv->reg->ntsr, SUNXI_MMC_NTSR_MODE_SEL_NEW);
- #endif
-- } else {
-+ } else if (!calibrate) {
-+ /*
-+ * Use hardcoded delay values if controller doesn't support
-+ * calibration
-+ */
- val = CCM_MMC_CTRL_OCLK_DLY(oclk_dly) |
- CCM_MMC_CTRL_SCLK_DLY(sclk_dly);
- }
-@@ -228,6 +237,16 @@ static int mmc_config_clock(struct sunxi_mmc_priv *priv, struct mmc *mmc)
- rval &= ~SUNXI_MMC_CLK_DIVIDER_MASK;
- writel(rval, &priv->reg->clkcr);
-
-+#if defined(CONFIG_MACH_SUN50I) || defined(CONFIG_MACH_SUN50I_H6)
-+ /* A64 supports calibration of delays on MMC controller and we
-+ * have to set delay of zero before starting calibration.
-+ * Allwinner BSP driver sets a delay only in the case of
-+ * using HS400 which is not supported by mainline U-Boot or
-+ * Linux at the moment
-+ */
-+ writel(SUNXI_MMC_CAL_DL_SW_EN, &priv->reg->samp_dl);
-+#endif
-+
- /* Re-enable Clock */
- rval |= SUNXI_MMC_CLK_ENABLE;
- writel(rval, &priv->reg->clkcr);
---
-2.11.0
-
diff --git a/gnu/packages/patches/u-boot-pinebook-r_i2c-controller.patch b/gnu/packages/patches/u-boot-pinebook-r_i2c-controller.patch
deleted file mode 100644
index 824a16b9db..0000000000
--- a/gnu/packages/patches/u-boot-pinebook-r_i2c-controller.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 31a4ac4d79d75baeede3edfa95515fd4169ef502 Mon Sep 17 00:00:00 2001
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-Date: Mon, 5 Nov 2018 20:24:30 -0800
-Subject: [PATCH 09/13] sun50i: A64: add support for R_I2C controller
-
-Allwinner A64 has a I2C controller, which is in the R_ MMIO zone and has
-two groups of pinmuxes on PL bank, so it's called R_I2C.
-
-Add support for this I2C controller and the pinmux which doesn't conflict
-with RSB.
-
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
-Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Cc: Vagrant Cascadian <vagrant@debian.org>
-Acked-by: Jagan Teki <jagan@openedev.com>
----
- arch/arm/include/asm/arch-sunxi/gpio.h | 1 +
- arch/arm/mach-sunxi/Kconfig | 1 +
- board/sunxi/board.c | 6 ++++++
- 3 files changed, 8 insertions(+)
-
-diff --git a/arch/arm/include/asm/arch-sunxi/gpio.h b/arch/arm/include/asm/arch-sunxi/gpio.h
-index 6a5eafc3d3..2daf23f6f5 100644
---- a/arch/arm/include/asm/arch-sunxi/gpio.h
-+++ b/arch/arm/include/asm/arch-sunxi/gpio.h
-@@ -211,6 +211,7 @@ enum sunxi_gpio_number {
- #define SUN8I_H3_GPL_R_TWI 2
- #define SUN8I_A23_GPL_R_TWI 3
- #define SUN8I_GPL_R_UART 2
-+#define SUN50I_GPL_R_TWI 2
-
- #define SUN9I_GPN_R_RSB 3
-
-diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
-index 6277abc3cc..560dc9b25d 100644
---- a/arch/arm/mach-sunxi/Kconfig
-+++ b/arch/arm/mach-sunxi/Kconfig
-@@ -278,6 +278,7 @@ config MACH_SUN50I
- select ARM64
- select DM_I2C
- select PHY_SUN4I_USB
-+ select SUN6I_PRCM
- select SUNXI_DE2
- select SUNXI_GEN_SUN6I
- select SUPPORT_SPL
-diff --git a/board/sunxi/board.c b/board/sunxi/board.c
-index b196d48674..64ccbc7245 100644
---- a/board/sunxi/board.c
-+++ b/board/sunxi/board.c
-@@ -168,10 +168,16 @@ void i2c_init_board(void)
- #endif
-
- #ifdef CONFIG_R_I2C_ENABLE
-+#ifdef CONFIG_MACH_SUN50I
-+ clock_twi_onoff(5, 1);
-+ sunxi_gpio_set_cfgpin(SUNXI_GPL(8), SUN50I_GPL_R_TWI);
-+ sunxi_gpio_set_cfgpin(SUNXI_GPL(9), SUN50I_GPL_R_TWI);
-+#else
- clock_twi_onoff(5, 1);
- sunxi_gpio_set_cfgpin(SUNXI_GPL(0), SUN8I_H3_GPL_R_TWI);
- sunxi_gpio_set_cfgpin(SUNXI_GPL(1), SUN8I_H3_GPL_R_TWI);
- #endif
-+#endif
- }
-
- #if defined(CONFIG_ENV_IS_IN_MMC) && defined(CONFIG_ENV_IS_IN_FAT)
---
-2.11.0
-
diff --git a/gnu/packages/patches/u-boot-pinebook-syscon-node.patch b/gnu/packages/patches/u-boot-pinebook-syscon-node.patch
deleted file mode 100644
index 9289645bec..0000000000
--- a/gnu/packages/patches/u-boot-pinebook-syscon-node.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From ababb5920e8992c9bb7956df3cc85dc68d27dfe8 Mon Sep 17 00:00:00 2001
-From: Andre Przywara <andre.przywara@arm.com>
-Date: Mon, 29 Oct 2018 00:56:48 +0000
-Subject: [PATCH 04/13] sunxi: A64: Re-add syscon to DT node
-
-The sun50i-a64.dtsi changes introduced in Linux v4.19-rc1 changed the
-compatible name for the syscon controller, dropping the generic "syscon"
-fallback. Using this new DT node will make the Ethernet driver in every
-older kernel (or non-Linux kernels) fail to initialise the MAC device.
-
-To allow booting distribution kernels (from installer images via UEFI,
-for instance), re-add the syscon compatible string as a fallback. This
-works with both older and newer kernels.
-
-Signed-off-by: Andre Przywara <andre.przywara@arm.com>
-Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Reviewed-by: Jagan Teki <jagan@openedev.com>
----
- arch/arm/dts/sun50i-a64.dtsi | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/arch/arm/dts/sun50i-a64.dtsi b/arch/arm/dts/sun50i-a64.dtsi
-index f3a66f8882..ff41abc96a 100644
---- a/arch/arm/dts/sun50i-a64.dtsi
-+++ b/arch/arm/dts/sun50i-a64.dtsi
-@@ -259,7 +259,8 @@
- };
-
- syscon: syscon@1c00000 {
-- compatible = "allwinner,sun50i-a64-system-control";
-+ compatible = "allwinner,sun50i-a64-system-control",
-+ "syscon";
- reg = <0x01c00000 0x1000>;
- #address-cells = <1>;
- #size-cells = <1>;
---
-2.11.0
-
diff --git a/gnu/packages/patches/u-boot-pinebook-video-bridge.patch b/gnu/packages/patches/u-boot-pinebook-video-bridge.patch
deleted file mode 100644
index 8c6ca8a992..0000000000
--- a/gnu/packages/patches/u-boot-pinebook-video-bridge.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 8336a43792a103c13d939b3925cb75322911f7fb Mon Sep 17 00:00:00 2001
-From: Vasily Khoruzhick <anarsoul@gmail.com>
-Date: Mon, 5 Nov 2018 20:24:29 -0800
-Subject: [PATCH 08/13] dm: video: bridge: don't fail to activate bridge if
- reset or sleep GPIO is missing
-
-Both GPIOs are optional, so we shouldn't fail if any is missing.
-Without this fix reset is not deasserted if sleep GPIO is missing.
-
-Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
-Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Tested-by: Maxime Ripard <maxime.ripard@bootlin.com>
-Reviewed-by: Andre Przywara <andre.przywara@arm.com>
-Cc: Vagrant Cascadian <vagrant@debian.org>
----
- drivers/video/bridge/video-bridge-uclass.c | 16 +++++++++++-----
- 1 file changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/drivers/video/bridge/video-bridge-uclass.c b/drivers/video/bridge/video-bridge-uclass.c
-index cd4959cc71..5fecb4cfd5 100644
---- a/drivers/video/bridge/video-bridge-uclass.c
-+++ b/drivers/video/bridge/video-bridge-uclass.c
-@@ -106,13 +106,19 @@ static int video_bridge_pre_probe(struct udevice *dev)
- int video_bridge_set_active(struct udevice *dev, bool active)
- {
- struct video_bridge_priv *uc_priv = dev_get_uclass_priv(dev);
-- int ret;
-+ int ret = 0;
-
- debug("%s: %d\n", __func__, active);
-- ret = dm_gpio_set_value(&uc_priv->sleep, !active);
-- if (ret)
-- return ret;
-- if (active) {
-+ if (uc_priv->sleep.dev) {
-+ ret = dm_gpio_set_value(&uc_priv->sleep, !active);
-+ if (ret)
-+ return ret;
-+ }
-+
-+ if (!active)
-+ return 0;
-+
-+ if (uc_priv->reset.dev) {
- ret = dm_gpio_set_value(&uc_priv->reset, true);
- if (ret)
- return ret;
---
-2.11.0
-
diff --git a/gnu/packages/patches/xboing-CVE-2004-0149.patch b/gnu/packages/patches/xboing-CVE-2004-0149.patch
deleted file mode 100644
index b40146b434..0000000000
--- a/gnu/packages/patches/xboing-CVE-2004-0149.patch
+++ /dev/null
@@ -1,134 +0,0 @@
-https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-0149
-https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=174924
----
- demo.c | 2 +-
- editor.c | 12 ++++++------
- file.c | 2 +-
- highscore.c | 6 +++---
- misc.c | 2 +-
- preview.c | 2 +-
- 6 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/demo.c b/demo.c
-index 9084e70..f4fc2cd 100644
---- a/demo.c
-+++ b/demo.c
-@@ -154,7 +154,7 @@ static void DoBlocks(display, window)
-
- /* Construct the demo level filename */
- if ((str = getenv("XBOING_LEVELS_DIR")) != NULL)
-- sprintf(levelPath, "%s/demo.data", str);
-+ snprintf(levelPath, sizeof(levelPath),"%s/demo.data", str);
- else
- sprintf(levelPath, "%s/demo.data", LEVEL_INSTALL_DIR);
-
-diff --git a/editor.c b/editor.c
-index f2bb9ed..66d0679 100644
---- a/editor.c
-+++ b/editor.c
-@@ -213,7 +213,7 @@ static void DoLoadLevel(display, window)
-
- /* Construct the Edit level filename */
- if ((str = getenv("XBOING_LEVELS_DIR")) != NULL)
-- sprintf(levelPath, "%s/editor.data", str);
-+ snprintf(levelPath,sizeof(levelPath)-1, "%s/editor.data", str);
- else
- sprintf(levelPath, "%s/editor.data", LEVEL_INSTALL_DIR);
-
-@@ -958,8 +958,8 @@ static void LoadALevel(display)
- if ((num > 0) && (num <= MAX_NUM_LEVELS))
- {
- /* Construct the Edit level filename */
-- if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
-- sprintf(levelPath, "%s/level%02ld.data", str2, (u_long) num);
-+ if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
-+ snprintf(levelPath, sizeof(levelPath)-1,"%s/level%02ld.data", str2, (u_long) num);
- else
- sprintf(levelPath, "%s/level%02ld.data",
- LEVEL_INSTALL_DIR, (u_long) num);
-@@ -1017,9 +1017,9 @@ static void SaveALevel(display)
- num = atoi(str);
- if ((num > 0) && (num <= MAX_NUM_LEVELS))
- {
-- /* Construct the Edit level filename */
-- if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
-- sprintf(levelPath, "%s/level%02ld.data", str2, (u_long) num);
-+ /* Construct the Edit level filename */
-+ if ((str2 = getenv("XBOING_LEVELS_DIR")) != NULL)
-+ snprintf(levelPath, sizeof(levelPath)-1,"%s/level%02ld.data", str2, (u_long) num);
- else
- sprintf(levelPath, "%s/level%02ld.data",
- LEVEL_INSTALL_DIR, (u_long) num);
-diff --git a/file.c b/file.c
-index 4c043cd..99a0854 100644
---- a/file.c
-+++ b/file.c
-@@ -139,7 +139,7 @@ void SetupStage(display, window)
-
- /* Construct the level filename */
- if ((str = getenv("XBOING_LEVELS_DIR")) != NULL)
-- sprintf(levelPath, "%s/level%02ld.data", str, newLevel);
-+ snprintf(levelPath,sizeof(levelPath), "%s/level%02ld.data", str, newLevel);
- else
- sprintf(levelPath, "%s/level%02ld.data", LEVEL_INSTALL_DIR, newLevel);
-
-diff --git a/highscore.c b/highscore.c
-index f0db3e9..792273e 100644
---- a/highscore.c
-+++ b/highscore.c
-@@ -1023,7 +1023,7 @@ int ReadHighScoreTable(type)
- {
- /* Use the environment variable if it exists */
- if ((str = getenv("XBOING_SCORE_FILE")) != NULL)
-- strcpy(filename, str);
-+ strncpy(filename, str, sizeof(filename)-1);
- else
- strcpy(filename, HIGH_SCORE_FILE);
- }
-@@ -1095,7 +1095,7 @@ int WriteHighScoreTable(type)
- {
- /* Use the environment variable if it exists */
- if ((str = getenv("XBOING_SCORE_FILE")) != NULL)
-- strcpy(filename, str);
-+ strncpy(filename, str, sizeof(filename)-1);
- else
- strcpy(filename, HIGH_SCORE_FILE);
- }
-@@ -1218,7 +1218,7 @@ static int LockUnlock(cmd)
-
- /* Use the environment variable if it exists */
- if ((str = getenv("XBOING_SCORE_FILE")) != NULL)
-- strcpy(filename, str);
-+ strncpy(filename, str, sizeof(filename)-1);
- else
- strcpy(filename, HIGH_SCORE_FILE);
-
-diff --git a/misc.c b/misc.c
-index f3ab37e..7f3ddce 100644
---- a/misc.c
-+++ b/misc.c
-@@ -427,7 +427,7 @@ char *GetHomeDir()
- */
-
- if ((ptr = getenv("HOME")) != NULL)
-- (void) strcpy(dest, ptr);
-+ (void) strncpy(dest, ptr,sizeof(dest)-1);
- else
- {
- /* HOME variable is not present so get USER var */
-diff --git a/preview.c b/preview.c
-index 41c1187..687f566 100644
---- a/preview.c
-+++ b/preview.c
-@@ -139,7 +139,7 @@ static void DoLoadLevel(display, window)
-
- /* Construct the Preview level filename */
- if ((str = getenv("XBOING_LEVELS_DIR")) != NULL)
-- sprintf(levelPath, "%s/level%02d.data", str, lnum);
-+ snprintf(levelPath, sizeof(levelPath)-1, "%s/level%02d.data", str, lnum);
- else
- sprintf(levelPath, "%s/level%02d.data", LEVEL_INSTALL_DIR, lnum);
-
---
-2.15.1
-
diff --git a/gnu/packages/perl-compression.scm b/gnu/packages/perl-compression.scm
index 477f686755..ea71492262 100644
--- a/gnu/packages/perl-compression.scm
+++ b/gnu/packages/perl-compression.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Petter <petter@mykolab.ch>
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
@@ -34,7 +34,7 @@
(define-public perl-compress-raw-bzip2
(package
(name "perl-compress-raw-bzip2")
- (version "2.081")
+ (version "2.084")
(source
(origin
(method url-fetch)
@@ -42,7 +42,7 @@
"Compress-Raw-Bzip2-" version ".tar.gz"))
(sha256
(base32
- "081mpkjy688lg48997fqh3d7ja12vazmz02fw84495civg4vb4l6"))))
+ "0kwjrsl519bv48b7698a9anj6l0n3z1vrd1a7im2r1pbffxxw5kx"))))
(build-system perl-build-system)
;; TODO: Use our bzip2 package.
(home-page "https://metacpan.org/release/Compress-Raw-Bzip2")
@@ -54,7 +54,7 @@ compression library.")
(define-public perl-compress-raw-zlib
(package
(name "perl-compress-raw-zlib")
- (version "2.081")
+ (version "2.084")
(source
(origin
(method url-fetch)
@@ -62,7 +62,7 @@ compression library.")
"Compress-Raw-Zlib-" version ".tar.gz"))
(sha256
(base32
- "06rsm9ahp20xfyvd3jc69sd0k8vqysryxc6apzdbn96jbcsdwmp1"))))
+ "0vv69a8kjx64cxhjgaccidy2yyij2j3aqlrv1r0dwa1fl9xijpim"))))
(build-system perl-build-system)
(inputs
`(("zlib" ,zlib)))
@@ -90,7 +90,7 @@ compression library.")
(define-public perl-io-compress
(package
(name "perl-io-compress")
- (version "2.081")
+ (version "2.084")
(source
(origin
(method url-fetch)
@@ -98,7 +98,7 @@ compression library.")
"IO-Compress-" version ".tar.gz"))
(sha256
(base32
- "1na66ns1g3nni0m9q5494ym4swr21hfgpv88mw8wbj2daiswf4aj"))))
+ "1dbdsxhbikmbbfsdam3crv8474l8ax6d9d7r3s6safk4v8z51g8x"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-compress-raw-zlib" ,perl-compress-raw-zlib) ; >=2.081
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index c7bb9afe29..15857c6cad 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
@@ -70,14 +70,14 @@
(define-public libraw
(package
(name "libraw")
- (version "0.19.1")
+ (version "0.19.2")
(source (origin
(method url-fetch)
(uri (string-append "https://www.libraw.org/data/LibRaw-"
version ".tar.gz"))
(sha256
(base32
- "1xjyw4n9gfr2r637pjbpbi3h98h9mdjn61b0hsxwqynq2vdij452"))))
+ "0i4nhjm5556xgn966x0i503ygk2wafq6z83kg0lisacjjab4f3a0"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 992a750911..d2b348942d 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -57,6 +57,7 @@
;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Luther Thompson <lutheroto@gmail.com>
;;; Copyright © 2018 Vagrant Cascadian <vagrant@debian.org>
+;;; Copyright © 2019 Brett Gilio <brettg@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -105,6 +106,7 @@
#:use-module (gnu packages llvm)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages monitoring)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages networking)
#:use-module (gnu packages ncurses)
@@ -444,12 +446,23 @@ concepts.")
(base32
"1z2hx357xp3v4cv44xmqp7lli3frndqpyfmpbxf7n76h7s1zaaxm"))))
(build-system python-build-system)
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "python" "sh.py" "test"))))))
+ (native-inputs
+ `(("python-coverage" ,python-coverage)))
(home-page "https://github.com/amoffat/sh")
(synopsis "Python subprocess replacement")
(description "This package provides a replacement for Python's
@code{subprocess} feature.")
(license license:expat)))
+(define-public python2-sh
+ (package-with-python2 python-sh))
+
(define-public python-cftime
(package
(name "python-cftime")
@@ -1683,14 +1696,14 @@ with sensible defaults out of the box.")
(define-public python-wheel
(package
(name "python-wheel")
- (version "0.30.0a0")
+ (version "0.32.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "wheel" version))
(sha256
(base32
- "1nm6mn8isny0hr86rhbfrpfj867c0phf001xgsd69xfp9ady1wwq"))))
+ "1dhxl1bf18bx9szmqcnxbg6204hp3im8089q3hkwh5jfa6zh75q2"))))
(build-system python-build-system)
(native-inputs
`(("python-jsonschema" ,python-jsonschema)
@@ -4505,28 +4518,6 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(define-public python2-ipykernel
(package-with-python2 python-ipykernel))
-(define-public python-send2trash
- (package
- (name "python-send2trash")
- (version "1.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "send2trash" version))
- (sha256
- (base32
- "1ci8vcwjmjlp11ljj1ckrfmml9fkq1mclx2gr53y4zvhgp01q030"))))
- (build-system python-build-system)
- (home-page "https://github.com/hsoft/send2trash")
- (synopsis "Send files to trash")
- (description
- "This package provides a cross-platform mechanism to send files to the
-trash.")
- (license license:bsd-3)))
-
-(define-public python2-send2trash
- (package-with-python2 python-send2trash))
-
;; This is the latest release of the LTS version of ipython with support for
;; Python 2.7 and Python 3.x. Later non-LTS versions starting from 6.0 have
;; dropped support for Python 2.7. We may want to rename this package.
@@ -6732,31 +6723,6 @@ convert an @code{.ipynb} notebook file into various static formats including:
(define-public python2-nbconvert
(package-with-python2 python-nbconvert))
-(define-public python-prometheus-client
- (package
- (name "python-prometheus-client")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "prometheus_client" version))
- (sha256
- (base32
- "0g7rpv1pq2lab1nfqdx98z9d3bqwc400alg1j4ynrpjkrbsizhg8"))))
- (build-system python-build-system)
- (arguments '(#:tests? #f)) ; tests are not included
- (propagated-inputs
- `(("python-twisted" ,python-twisted)))
- (home-page "https://github.com/prometheus/client_python")
- (synopsis "Python client for the Prometheus monitoring system")
- (description
- "This package provides a Python client for the Prometheus monitoring
-system.")
- (license license:asl2.0)))
-
-(define-public python2-prometheus-client
- (package-with-python2 python-prometheus-client))
-
(define-public python-notebook
(package
(name "python-notebook")
@@ -7142,13 +7108,13 @@ config files.")
(define-public python-configargparse
(package
(name "python-configargparse")
- (version "0.12.0")
+ (version "0.14.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "ConfigArgParse" version))
(sha256
(base32
- "0fgkiqh6r3rbkdq3k8c48m85g52k96686rw3a6jg4lcncrkpvk98"))))
+ "149fy4zya0rsnlkvxbbq43cyr8lscb5k4pj1m6n7f1grwcmzwbif"))))
(build-system python-build-system)
(native-inputs
`(("python-pyyaml" ,python-pyyaml)))
@@ -7452,27 +7418,6 @@ output, progress bar display, and pipes.")
(define-public python2-clint
(package-with-python2 python-clint))
-(define-public python-astor
- (package
- (name "python-astor")
- (version "0.5")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "astor" version))
- (sha256
- (base32
- "1fdafq5hkis1fxqlmhw0sn44zp2ar46nxhbc22cvwg7hsd8z5gsa"))))
- (build-system python-build-system)
- (home-page "https://github.com/berkerpeksag/astor")
- (synopsis "Read and write Python ASTs")
- (description
- "Astor is designed to allow easy manipulation of Python source via the
-Abstract Syntax Tree.")
- (license license:bsd-3)))
-
-(define-public python2-astor
- (package-with-python2 python-astor))
-
(define-public python-rply
(package
(name "python-rply")
@@ -8806,14 +8751,14 @@ Python. It generates C++ code and a Makefile."))
(define-public python2-rope
(package
(name "python2-rope")
- (version "0.10.3")
+ (version "0.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rope" version))
(sha256
(base32
- "18k5znhpwvrfck3yp0jmhd5j8r0f0s8bk1zh5yhs2cfgmfhbwigb"))))
+ "1cppm0pa9aqgsbkq130lskrzmrvjs5vpiavjjbhpz2fdw52w8251"))))
(arguments
;; Rope is currently python-2 only.
;; https://github.com/python-rope/rope/issues/57
@@ -9909,28 +9854,6 @@ reasoning, wrappers for natural language processing libraries.")
(define-public python2-pymongo
(package-with-python2 python-pymongo))
-(define-public python-sh
- (package
- (name "python-sh")
- (version "1.11")
- (source (origin
- (method url-fetch)
- (uri (pypi-uri "sh" version))
- (sha256
- (base32
- "192r0mpv6dmkysjzhc43ddffiwb5g7c76bgr1mb1z2xz9awbj3sr"))))
- (build-system python-build-system)
- (arguments
- `(#:tests? #f)) ; no tests
- (home-page "https://github.com/amoffat/sh")
- (synopsis "Python subprocess interface")
- (description "Abstracts process invocation by providing a function
-interface for programs.")
- (license license:expat)))
-
-(define-public python2-sh
- (package-with-python2 python-sh))
-
(define-public python-consul
(package
(name "python-consul")
@@ -13240,16 +13163,17 @@ and works only with Python 2 and NumPy < 1.9.")
(define-public python-send2trash
(package
(name "python-send2trash")
- (version "1.4.2")
+ (version "1.5.0")
(source
- (origin (method url-fetch)
+ (origin (method git-fetch)
;; Source tarball on PyPI doesn't include tests.
- (uri (string-append "https://github.com/hsoft/send2trash/archive/"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (uri (git-reference
+ (url "https://github.com/hsoft/send2trash.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "0ffyhwjyx61slkdy38iwjc4gmj7fj9gs2q58f075gwvq630pzm9z"))))
+ "1c76zldhw2ay7q7r00nnzcampjz9lkqfcbzqpm0iqp5i6bmmv30v"))))
(build-system python-build-system)
(arguments
'(#:phases
@@ -14725,11 +14649,14 @@ of Python libraries for building Python applications.")
;; FIXME: There are two errors and two test failures.
(arguments `(#:tests? #f))
(home-page "https://github.com/berkerpeksag/astor")
- (synopsis "Read/rewrite/write Python ASTs")
+ (synopsis "Read and write Python ASTs")
(description "Astor is designed to allow easy manipulation of Python
-source via the AST.")
+source via the Abstract Syntax Tree.")
(license license:bsd-3)))
+(define-public python2-astor
+ (package-with-python2 python-astor))
+
(define-public python-grpcio
(package
(name "python-grpcio")
diff --git a/gnu/packages/rdesktop.scm b/gnu/packages/rdesktop.scm
index 3c8444b00a..777606d77f 100644
--- a/gnu/packages/rdesktop.scm
+++ b/gnu/packages/rdesktop.scm
@@ -49,8 +49,8 @@
(source (origin
(method url-fetch)
(uri (string-append
- "mirror://sourceforge/" name "/" name "/" version "/"
- name "-" version ".tar.gz"))
+ "mirror://sourceforge/rdesktop/rdesktop/" version "/"
+ "rdesktop-" version ".tar.gz"))
(sha256
(base32
"1r7c1rjmw2xzq8fw0scyb453gy9z19774z1z8ldmzzsfndb03cl8"))))
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index bcaccb452c..93a1a3e152 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 John Darrington <jmd@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Adam Massmann <massmannak@gmail.com>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
@@ -557,7 +557,7 @@ of libraries.")
(define-public gambit-c
(package
(name "gambit-c")
- (version "4.9.1")
+ (version "4.9.2")
(source
(origin
(method url-fetch)
@@ -567,7 +567,7 @@ of libraries.")
(string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
".tgz"))
(sha256
- (base32 "14x9xa0yh7187alzw2m937jnh4csj0dyywi3va8bhi7aaw4p5qai"))))
+ (base32 "1cpganh3jgjdw6qsapcbwxdbp1xwgx5gvdl4ymwf8p2c5k018dwy"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm
index 6198925727..ee143497e5 100644
--- a/gnu/packages/sdl.scm
+++ b/gnu/packages/sdl.scm
@@ -386,7 +386,7 @@ directory.")
(define-public sdl2-ttf
(package (inherit sdl-ttf)
(name "sdl2-ttf")
- (version "2.0.14")
+ (version "2.0.15")
(source (origin
(method url-fetch)
(uri
@@ -399,7 +399,7 @@ directory.")
#t))
(sha256
(base32
- "0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl"))))
+ "0cyd48dipc0m399qy8s03lci8b0bpiy8xlkvrm2ia7wcv0dfpv59"))))
(propagated-inputs
(propagated-inputs-with-sdl2 sdl-ttf))))
diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm
index 0978300c9b..a672aa041a 100644
--- a/gnu/packages/shellutils.scm
+++ b/gnu/packages/shellutils.scm
@@ -35,6 +35,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
#:use-module (guix build-system python))
(define-public envstore
@@ -102,7 +103,7 @@ are already there.")
(define-public direnv
(package
(name "direnv")
- (version "2.11.3")
+ (version "2.15.2")
(source
(origin (method url-fetch)
(uri (string-append "https://github.com/direnv/" name
@@ -110,14 +111,26 @@ are already there.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "01mhwzq9ss2qlnn8aahvwsgnspq8hbz0qfknf290aicngwx10d1d"))))
+ "1hhmc6rb7b1d4s4kgb4blrq35h388ax37ap88dq3dgfcw9w6j1rm"))))
(build-system gnu-build-system)
(arguments
- '(#:test-target "test"
+ `(#:test-target "test"
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out")))
- #:phases (modify-phases %standard-phases (delete 'configure))))
+ #:modules ((guix build gnu-build-system)
+ ((guix build go-build-system) #:prefix go:)
+ (guix build utils))
+ #:imported-modules (,@%gnu-build-system-modules
+ (guix build go-build-system))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ ;; Help the build scripts find the Go language dependencies.
+ (add-after 'unpack 'setup-go-environment
+ (assoc-ref go:%standard-phases 'setup-environment)))))
(inputs
- `(("go" ,go-1.9)))
+ `(("go" ,go)
+ ("go-github-com-burntsushi-toml" ,go-github-com-burntsushi-toml)
+ ("go-github-com-direnv-go-dotenv" ,go-github-com-direnv-go-dotenv)))
(native-inputs
`(("which" ,which)))
(home-page "https://direnv.net/")
diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm
index 8ab5a335c8..6a580c6226 100644
--- a/gnu/packages/spice.scm
+++ b/gnu/packages/spice.scm
@@ -96,7 +96,7 @@ system to use the host GPU to accelerate 3D rendering.")
(define-public spice-protocol
(package
(name "spice-protocol")
- (version "0.12.14")
+ (version "0.12.15")
(source (origin
(method url-fetch)
(uri (string-append
@@ -104,7 +104,7 @@ system to use the host GPU to accelerate 3D rendering.")
"spice-protocol-" version ".tar.bz2"))
(sha256
(base32
- "170ckpgazvqv7hxy209myg67pqnd6c0gvr4ysbqgsfch6320nd90"))))
+ "06b461i4jv741in8617jjpfk28wk7zs9p7841njkf4sbm8xv4kcb"))))
(build-system gnu-build-system)
(synopsis "Protocol headers for the SPICE protocol")
(description "SPICE (the Simple Protocol for Independent Computing
diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm
index 78659fbbf4..682989ae29 100644
--- a/gnu/packages/ssh.scm
+++ b/gnu/packages/ssh.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
@@ -626,22 +626,22 @@ authentication}.")
(define-public autossh
(package
(name "autossh")
- (version "1.4f")
+ (version "1.4g")
(source
(origin
(method url-fetch)
(uri (string-append
- "http://www.harding.motd.ca/autossh/autossh-"
+ "https://www.harding.motd.ca/autossh/autossh-"
version ".tgz"))
(sha256
- (base32 "1wpqwa2872nqgqbhnb6nnkrlzpdawd5k69gh1qp68354pvhyawh1"))))
+ (base32 "0xqjw8df68f4kzkns5gcah61s5wk0m44qdk2z1d6388w6viwxhsz"))))
(build-system gnu-build-system)
(arguments `(#:tests? #f)) ; There is no "make check" or anything similar
(inputs `(("openssh" ,openssh)))
(synopsis "Automatically restart SSH sessions and tunnels")
(description "autossh is a program to start a copy of @command{ssh} and
monitor it, restarting it as necessary should it die or stop passing traffic.")
- (home-page "http://www.harding.motd.ca/autossh/")
+ (home-page "https://www.harding.motd.ca/autossh/")
(license
;; Why point to a source file? Well, all the individual files have a
;; copy of this license in their headers, but there's no separate file
diff --git a/gnu/packages/suckless.scm b/gnu/packages/suckless.scm
index a5e02ce948..6edeea6cac 100644
--- a/gnu/packages/suckless.scm
+++ b/gnu/packages/suckless.scm
@@ -7,7 +7,7 @@
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -497,7 +497,7 @@ cups server to be installed.")
(define-public noice
(package
(name "noice")
- (version "0.6")
+ (version "0.7")
(source
(origin
(method url-fetch)
@@ -505,15 +505,15 @@ cups server to be installed.")
name "-" version ".tar.gz"))
(sha256
(base32
- "0ldkbb71z6k4yzj4kpg3s94ijj1c1kx9dfcjz393py09scfyg5hr"))))
+ "03b0kzngzacfpz4n8lgbvia2s765i5bkw55v482hh4m49dm41gpc"))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f ; No tests
+ `(#:tests? #f ; no tests
#:make-flags (list "CC=gcc"
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
- (delete 'configure) ; No configure script
+ (delete 'configure) ; no configure script
(add-before 'build 'curses
(lambda _
(substitute* "Makefile"
diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm
index 0df4e093eb..92eda1c9b1 100644
--- a/gnu/packages/syncthing.scm
+++ b/gnu/packages/syncthing.scm
@@ -366,31 +366,6 @@ database/sql package.")
(home-page "https://github.com/lib/pq")
(license expat))))
-(define-public go-github-com-minio-sha256-simd
- (let ((commit "ad98a36ba0da87206e3378c556abbfeaeaa98668")
- (revision "1"))
- (package
- (name "go-github-com-minio-sha256-simd")
- (version (git-version "0.0.0" revision commit))
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/minio/sha256-simd")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0yfnqn3kqdnlfm54yvc4fr5vpdmwdi2kw571nlkbpmy8ldhsqqfi"))))
- (build-system go-build-system)
- (arguments
- `(#:import-path "github.com/minio/sha256-simd"))
- (synopsis "Hardware-accelerated SHA256 in Go using SIMD")
- (description "This packages provides a pure Go implementation of SHA256
-using SIMD (Single instruction, multiple data) instructions for Intel and ARM
-architectures.")
- (home-page "https://github.com/minio/sha256-simd")
- (license asl2.0))))
-
(define-public go-github-com-oschwald-geoip2-golang
(package
(name "go-github-com-oschwald-geoip2-golang")
diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm
index 7f52c6efd4..1c38cb3834 100644
--- a/gnu/packages/terminals.scm
+++ b/gnu/packages/terminals.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
+;;; Copyright © 2018, 2019 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -472,11 +473,11 @@ embedded kernel situations.")
(license license:expat)))
(define-public cool-retro-term
- (let ((commit "dd799cf5c0eda92cf44f3938c0c2dcae5651a99e")
- (revision "1"))
+ (let ((commit "1.1.1")
+ (revision "0")) ;not used currently
(package
(name "cool-retro-term")
- (version (string-append "1.0.1-" revision "." (string-take commit 7)))
+ (version "1.1.1")
(source (origin
(method git-fetch)
(file-name (string-append name "-" version "-checkout"))
@@ -485,11 +486,7 @@ embedded kernel situations.")
(commit commit)
(recursive? #t)))
(sha256
- (base32 "08mrvj8zk9ck15q90ipjzza1acnnsjhprv2rxg8yyck0xl9p40jd"))
- (patches
- (search-patches "cool-retro-term-fix-array-size.patch"
- "cool-retro-term-dont-check-uninit-member.patch"
- "cool-retro-term-memory-leak-1.patch"))
+ (base32 "0wb6anchxa5jpn9c73kr4byrf2xlj8x8qzc5x7ny6saj7kbbvp75"))
(modules '((guix build utils)
(srfi srfi-1)
(srfi srfi-26)
@@ -497,20 +494,18 @@ embedded kernel situations.")
(ice-9 regex)))
(snippet
'(let* ((fonts '(;"1971-ibm-3278" ; BSD 3-clause
- ;"1975-knight-tv" ; GPL
"1977-apple2" ; Non-Free
"1977-commodore-pet" ; Non-Free
"1979-atari-400-800" ; Non-Free
- "1982-commodore64" ; Non-Free
- "1985-atari-st" ; ?
- "1985-ibm-pc-vga" ; Unclear
+ ;"1981-ibm-pc ; CC-SA 4.0
+ "1982-commodore64")) ; Non-Free
+ ;"1985-ibm-pc-vga" ; CC-SA 4.0
;"modern-fixedsys-excelsior" ; Redistributable
;"modern-hermit" ; SIL
;"modern-inconsolata"; SIL
;"modern-pro-font-win-tweaked" ; X11
;"modern-proggy-tiny"; X11
;"modern-terminus" ; SIL
- "modern-monaco")) ; Apple Non-Free
(name-rx (make-regexp " *name: *\"([^\"]*)\""))
(source-rx (make-regexp " *source: \"fonts/([^/]*)[^\"]*\""))
(fontname-rx (make-regexp "\"fontName\":\"([^\"]*).*"))
@@ -626,7 +621,8 @@ embedded kernel situations.")
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(symlink (string-append bin "/cool-retro-term")
- (string-append bin "/crt")))))
+ (string-append bin "/crt"))
+ #t)))
(add-after 'install 'install-man
(lambda* (#:key outputs #:allow-other-keys)
(let ((mandir (string-append (assoc-ref outputs "out")
diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm
index e491970300..948d2b995c 100644
--- a/gnu/packages/time.scm
+++ b/gnu/packages/time.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2019 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -34,10 +35,12 @@
#:use-module (guix licenses)
#: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 (gnu packages check)
#:use-module (gnu packages compression)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-xyz))
@@ -377,3 +380,41 @@ datetime type.")
(define-public python2-aniso8601
(package-with-python2 python-aniso8601))
+
+(define-public datefudge
+ (package
+ (name "datefudge")
+ (version "1.22")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/debian/datefudge.git")
+ (commit (string-append "debian/" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1fmd05r00wx4zc90lbi804jl7xwdl11jq2a1kp5lqimk3yyvfw4c"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:test-target "test"
+ #:make-flags (list "CC=gcc"
+ (string-append "prefix=" (assoc-ref %outputs "out")))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-makefile
+ (lambda _
+ (substitute* "Makefile"
+ ((" -o root -g root") "")
+ (("VERSION := \\$\\(shell dpkg-parsechangelog .*")
+ (string-append "VERSION = " ,version)))
+ #t))
+ (delete 'configure))))
+ (native-inputs
+ `(("perl" ,perl)))
+ (home-page "https://salsa.debian.org/debian/datefudge")
+ (synopsis "Pretend the system date is different")
+ (description
+ "Utility that fakes the system time by pre-loading a small library that
+modifies the @code{time}, @code{gettimeofday} and @code{clock_gettime} system
+calls.")
+ (license gpl2)))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 4fb46c7303..fab0e72278 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -531,13 +531,13 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "0.30.0")
+ (version "0.30.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
- "0icly11gaiv5cl57225rdwjbs56ah077csk32skcygf7pq06sjwq"))))
+ "1wmqxrl4w9w79jd16bmxp8g3xbrx3az4137zbip8x44zrrzmnni9"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -588,7 +588,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri name version))
(sha256
(base32
- "1s29rlnmgxq42wd4bpc7bma1hx9wnpw4y6dfznrfj33hfmngwcfn"))))
+ "0vkpqwps1c8ja140kiiz2cws9hqjrbkx58wbji3qxv9cap5qfi2k"))))
(build-system python-build-system)
(arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme)
diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm
index 5278bbb43b..ec86d7d241 100644
--- a/gnu/packages/tor.scm
+++ b/gnu/packages/tor.scm
@@ -91,27 +91,24 @@ the application layer) you need to install @code{torsocks}.")
(define-public torsocks
(package
(name "torsocks")
- (version "2.2.0")
+ (version "2.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://people.torproject.org/~dgoulet/"
- name "/" name "-" version ".tar.xz"))
+ "torsocks/torsocks-" version ".tar.xz"))
(sha256
(base32
- "0byr9ga9w79qz4vp0m11sbmspad7fsal9wm67r4znzb7zb7cis19"))))
+ "08inrkap29gikb6sdmb58z43hw4abwrfw7ny40c4xzdkss0vkwdr"))))
(build-system gnu-build-system)
(inputs
- `(("which" ,which)
- ("libcap" ,libcap)))
+ `(("libcap" ,libcap)))
(arguments
`(#:phases (modify-phases %standard-phases
(add-after 'build 'absolutize
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/bin/torsocks"
- (("getcap=`.*`")
- (string-append "getcap=" (which "getcap")))
- (("`which")
- (string-append "`" (which "which"))))
+ (("getcap=.*")
+ (string-append "getcap=" (which "getcap") "\n")))
#t)))))
(home-page "https://www.torproject.org/")
(synopsis "Use socks-friendly applications with Tor")
@@ -222,16 +219,14 @@ from you.")
(define-public nyx
(package
(name "nyx")
- (version "2.0.4")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
- (patches
- (search-patches "nyx-show-header-stats-with-python3.patch"))
(sha256
(base32
- "0pm7vfcqr02pzqz4b2f6sw5prxxmgqwr1912am42xmy2i53n7nrq"))))
+ "02rrlllz2ci6i6cs3iddyfns7ang9a54jrlygd2jw1f9s6418ll8"))))
(build-system python-build-system)
(inputs
`(("python-stem" ,python-stem)))
diff --git a/gnu/packages/uml.scm b/gnu/packages/uml.scm
index d598ac04c7..b49a85d932 100644
--- a/gnu/packages/uml.scm
+++ b/gnu/packages/uml.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
+;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -28,15 +29,14 @@
(define-public plantuml
(package
(name "plantuml")
- (version "8048")
+ (version "1.2019.0")
(source (origin
(method url-fetch)
- (uri (string-append
- "mirror://sourceforge/plantuml/plantuml-"
- version ".tar.gz"))
+ (uri (string-append "mirror://sourceforge/plantuml/"
+ version "/plantuml-" version ".tar.gz"))
(sha256
(base32
- "1vipxd6p7isb1k1qqh4hrpfcj27hx1nll2yp0rfwpvps1w2d936i"))))
+ "0mws7g0w3fn0wxizccg2iqisq9ljkn95i5qf8ma07lbw3nj0h48n"))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; no tests
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index dc2abb0c71..b8e967bf69 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -6,12 +6,12 @@
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2018 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
-;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 André <eu@euandre.org>
@@ -914,16 +914,15 @@ either a pure Python implementation, or the faster, but more resource intensive
(name "shflags")
(version "1.2.3")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/kward/shflags/archive/v"
- version ".tar.gz"))
- (file-name (string-append name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kward/shflags.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1h9xfrwwdhzflipfwdcgcc3y7zapdslnyk1rg5y8jm7k144rfrs4"))))
+ "1ydx0sb6vz9s2dgp5bd64y7fpzh9qvmlfjxrbmzac8saknijrlly"))))
(build-system gnu-build-system)
- (native-inputs `(("tar" ,tar)
- ("gzip" ,gzip)))
(arguments
`(#:tests? #f ; no tests
#:phases
@@ -1427,27 +1426,19 @@ RCS, PRCS, and Aegis packages.")
(define-public cvs-fast-export
(package
(name "cvs-fast-export")
- (version "1.44")
+ (version "1.45")
(source (origin
(method url-fetch)
- (uri (string-append "http://www.catb.org/~esr/"
- name "/" name "-" version ".tar.gz"))
+ (uri (string-append "http://www.catb.org/~esr/cvs-fast-export/"
+ "cvs-fast-export-" version ".tar.gz"))
(sha256
(base32
- "1l7hlys4vw4zk4ikdjiig5vzgv5dv48mbm8bdqgvgkyyxb2j0dm0"))))
+ "19pxg6p0pcgyd2fbnh3wy1kazv6vcfi5lzc2whhdi1w9kj4r9c4z"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
- (delete 'configure)
- (add-before 'check 'fix-setpython-PATH
- (lambda _
- ;; The Makefile does try to add the current working directory to
- ;; $PATH, but this fails for some reason in 1.44. Hack around it.
- (substitute* "tests/Makefile"
- (("setpython" command)
- (string-append "./" command)))
- #t))
+ (delete 'configure) ; no configure script
(add-after 'unpack 'remove-optimizations
(lambda _
;; Don't optimize for a specific processor architecture.
@@ -1963,7 +1954,7 @@ be served with a HTTP file server of your choice.")
(define-public darcs
(package
(name "darcs")
- (version "2.14.1")
+ (version "2.14.2")
(source
(origin
(method url-fetch)
@@ -1971,7 +1962,7 @@ be served with a HTTP file server of your choice.")
"darcs-" version ".tar.gz"))
(sha256
(base32
- "0dfd6bp2wy0aabxx7l93gi3dmq21j970cds424xdy1mgmjcvrpb1"))
+ "0zm2486gyhiga1amclbg92cd09bvki6vgh0ll75hv5kl72j61lb5"))
(modules '((guix build utils)))
;; Remove time-dependent code for reproducibility.
(snippet
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8f0884db09..f98b6e796c 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1273,7 +1273,7 @@ projects while introducing many more.")
(define-public gnome-mpv
(package
(name "gnome-mpv")
- (version "0.15")
+ (version "0.16")
(source
(origin
(method url-fetch)
@@ -1282,7 +1282,7 @@ projects while introducing many more.")
".tar.xz"))
(sha256
(base32
- "1y47abkidxh1il0bvq8r3dglwn3ggsy41x2n7ic3x23wvvcqmq74"))))
+ "0jzdzvhcqp5jp1inwk2466zf7r8iimk3x69066gl8mzaay98mk92"))))
(native-inputs
`(("intltool" ,intltool)
("pkg-config" ,pkg-config)))
@@ -1341,7 +1341,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
- (version "2019.01.27")
+ (version "2019.01.30.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/rg3/youtube-dl/releases/"
@@ -1349,7 +1349,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
- "0z4x4lwpd6qd2r9xgp8cx4j1vl5vd76kzs74jp0hh3w2g31s51z8"))))
+ "0wamv1fs4w8jjx67p60rgrgdi6k04yy0h4p3cwscza5pzhpmvnlf"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
index 26855b8007..04165a9b8c 100644
--- a/gnu/packages/virtualization.scm
+++ b/gnu/packages/virtualization.scm
@@ -904,7 +904,7 @@ Open Container Initiative specification.")
(define-public umoci
(package
(name "umoci")
- (version "0.4.3")
+ (version "0.4.4")
(source (origin
(method url-fetch)
(uri (string-append
@@ -913,7 +913,7 @@ Open Container Initiative specification.")
(file-name (string-append "umoci-" version ".tar.xz"))
(sha256
(base32
- "1hy3gcs8z25153qpw4rk2lispfaf2c90hv1q64xwyjxn22j9ayy9"))))
+ "1wchmha5k2f370jfijmx9fqp0cp99zfa9ajmfbq3j24qc8p5k8lk"))))
(build-system go-build-system)
(arguments
'(#:import-path "github.com/openSUSE/umoci"
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index e07787c735..0c1410c4ad 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -332,14 +332,14 @@ private network between hosts on the internet.")
(define-public sshuttle
(package
(name "sshuttle")
- (version "0.78.4")
+ (version "0.78.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri name version))
(sha256
(base32
- "0pqk43kd7crqhg6qgnl8kapncwgw1xgaf02zarzypcw64kvdih9h"))))
+ "0vp13xwrhx4m6zgsyzvai84lkq9mzkaw47j58dk0ll95kaymk2x8"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -354,8 +354,9 @@ private network between hosts on the internet.")
(native-inputs
`(("python-setuptools-scm" ,python-setuptools-scm)
;; For tests only.
+ ("python-flake8", python-flake8)
("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
+ ("python-pytest-cov" ,python-pytest-cov)
("python-pytest-runner" ,python-pytest-runner)))
(home-page "https://github.com/sshuttle/sshuttle")
(synopsis "VPN that transparently forwards connections over SSH")
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 57346518a3..45ea77ad36 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5151,15 +5151,15 @@ inspired by Ruby's @code{fakeweb}.")
(define-public jo
(package
(name "jo")
- (version "1.1")
+ (version "1.2")
(source
(origin
(method url-fetch)
- (uri (string-append "https://github.com/jpmens/jo/releases/download/v"
+ (uri (string-append "https://github.com/jpmens/jo/releases/download/"
version "/jo-" version ".tar.gz"))
(sha256
(base32
- "0pysickpxrbl53c122h6swvz8sck68q3j0ql38wvbz70q9k4gvb3"))))
+ "1bmdck53jslrl3anqqpm6iyjdxrz445qzcc4fr37hr3wjg22zv1n"))))
(build-system gnu-build-system)
(home-page "https://github.com/jpmens/jo")
(synopsis "Output JSON from a shell")
diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm
index 83625914db..9881386583 100644
--- a/gnu/packages/wine.scm
+++ b/gnu/packages/wine.scm
@@ -310,7 +310,7 @@ integrate Windows applications into your desktop.")
(define-public wine-staging-patchset-data
(package
(name "wine-staging-patchset-data")
- (version "4.0")
+ (version "4.1")
(source
(origin
(method git-fetch)
@@ -320,7 +320,7 @@ integrate Windows applications into your desktop.")
(file-name (git-file-name name version))
(sha256
(base32
- "1xfbmpjvzkgjg95x5d36raz3hp0qcdaim0n5hw9im0xjnwb83am9"))))
+ "1jp5s4k3cwiw6jy8lih25n0c7nyrddr6dm7vlyfdfrl2gkah94z0"))))
(build-system trivial-build-system)
(native-inputs
`(("bash" ,bash)
@@ -361,12 +361,12 @@ integrate Windows applications into your desktop.")
(method url-fetch)
(uri (string-append
"https://dl.winehq.org/wine/source/"
- (version-major version) ".0"
+ (version-major version) ".x"
"/wine-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32
- "0k8d90mgjzv8vjspmnxzr3i5mbccxnbr9hf03q1bpf5jjppcsdk7"))))
+ "1b8vwid8wsy1ss2q27bqkd9sdl67qqh0kmazi87vspi40nz7bxyf"))))
(inputs `(("autoconf" ,autoconf) ; for autoreconf
("ffmpeg" ,ffmpeg)
("gtk+" ,gtk+)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index fa0e467f31..fd89df0c16 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -108,14 +108,13 @@ nested include statements).")
(version "0.9.5")
(source
(origin
- (file-name (string-append name "-" version ".tar.gz"))
- (method url-fetch)
- (uri (string-append
- "https://github.com/baskerville/bspwm/archive/"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/baskerville/bspwm.git")
+ (commit version)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "10pph8wxqysgk7b2h0svs0nwacn1a4y44jnzzry32pd1ysx92d97"))))
+ (base32 "09h3g1rxxjyw861mk32lj774nmwkx8cwxq4wfgmf4dpbizymvhhr"))))
(build-system gnu-build-system)
(inputs
`(("libxcb" ,libxcb)
@@ -250,7 +249,7 @@ developers.")
(sha256
(base32
"15rnrcajzyrmhlz1a21qqsjlj3dkib70806dlb386fliylc2kisb"))
- (file-name (string-append name "-" version "-checkout"))))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output))
diff --git a/guix/build/dune-build-system.scm b/guix/build/dune-build-system.scm
index fcc2d6567d..00b0c7c406 100644
--- a/guix/build/dune-build-system.scm
+++ b/guix/build/dune-build-system.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
+;;; Copyright © 2019 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -49,7 +50,8 @@
"Install the given package."
(let ((out (assoc-ref outputs "out"))
(program (if jbuild? "jbuilder" "dune")))
- (invoke program install-target "--prefix" out))
+ (invoke program install-target "--prefix" out "--libdir"
+ (string-append out "/lib/ocaml/site-lib")))
#t)
(define %standard-phases
diff --git a/guix/config.scm.in b/guix/config.scm.in
index 1a761b912e..d2ec9921c6 100644
--- a/guix/config.scm.in
+++ b/guix/config.scm.in
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Caleb Ristvedt <caleb.ristvedt@cune.org>
;;;
;;; This file is part of GNU Guix.
@@ -73,11 +73,11 @@
(define %state-directory
;; This must match `NIX_STATE_DIR' as defined in `nix/local.mk'.
- (or (getenv "NIX_STATE_DIR")
+ (or (getenv "GUIX_STATE_DIRECTORY")
(string-append %localstatedir "/guix")))
(define %store-database-directory
- (or (getenv "NIX_DB_DIR")
+ (or (getenv "GUIX_DATABASE_DIRECTORY")
(string-append %state-directory "/db")))
(define %config-directory
diff --git a/guix/gexp.scm b/guix/gexp.scm
index f7c064297b..5b5b064b59 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -920,7 +920,18 @@ and in the current monad setting (system type, etc.)"
(simple-format #f "~a:~a" line column)))
"<unknown location>")))
-(define-syntax-parameter current-imported-modules
+(define-syntax-rule (define-syntax-parameter-once name proc)
+ ;; Like 'define-syntax-parameter' but ensure the top-level binding for NAME
+ ;; does not get redefined. This works around a race condition in a
+ ;; multi-threaded context with Guile <= 2.2.4: <https://bugs.gnu.org/27476>.
+ (eval-when (load eval expand compile)
+ (define name
+ (if (module-locally-bound? (current-module) 'name)
+ (module-ref (current-module) 'name)
+ (make-syntax-transformer 'name 'syntax-parameter
+ (list proc))))))
+
+(define-syntax-parameter-once current-imported-modules
;; Current list of imported modules.
(identifier-syntax '()))
@@ -931,7 +942,7 @@ environment."
(identifier-syntax modules)))
body ...))
-(define-syntax-parameter current-imported-extensions
+(define-syntax-parameter-once current-imported-extensions
;; Current list of extensions.
(identifier-syntax '()))
diff --git a/guix/git.scm b/guix/git.scm
index 0666f0c0a9..0e3ce37e26 100644
--- a/guix/git.scm
+++ b/guix/git.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +35,8 @@
#:use-module (srfi srfi-34)
#:use-module (srfi srfi-35)
#:export (%repository-cache-directory
+ honor-system-x509-certificates!
+
update-cached-checkout
latest-repository-commit
@@ -43,25 +45,70 @@
git-checkout-url
git-checkout-branch))
+;; XXX: Use this hack instead of #:autoload to avoid compilation errors.
+;; See <http://bugs.gnu.org/12202>.
+(module-autoload! (current-module)
+ '(git submodule) '(repository-submodules))
+
(define %repository-cache-directory
(make-parameter (string-append (cache-directory #:ensure? #f)
"/checkouts")))
+(define (honor-system-x509-certificates!)
+ "Use the system's X.509 certificates for Git checkouts over HTTPS. Honor
+the 'SSL_CERT_FILE' and 'SSL_CERT_DIR' environment variables."
+ ;; On distros such as CentOS 7, /etc/ssl/certs contains only a couple of
+ ;; files (instead of all the certificates) among which "ca-bundle.crt". On
+ ;; other distros /etc/ssl/certs usually contains the whole set of
+ ;; certificates along with "ca-certificates.crt". Try to choose the right
+ ;; one.
+ (let ((file (letrec-syntax ((choose
+ (syntax-rules ()
+ ((_ file rest ...)
+ (let ((f file))
+ (if (and f (file-exists? f))
+ f
+ (choose rest ...))))
+ ((_)
+ #f))))
+ (choose (getenv "SSL_CERT_FILE")
+ "/etc/ssl/certs/ca-certificates.crt"
+ "/etc/ssl/certs/ca-bundle.crt")))
+ (directory (or (getenv "SSL_CERT_DIR") "/etc/ssl/certs")))
+ (and (or file
+ (and=> (stat directory #f)
+ (lambda (st)
+ (> (stat:nlink st) 2))))
+ (begin
+ (set-tls-certificate-locations! directory file)
+ #t))))
+
+(define %certificates-initialized?
+ ;; Whether 'honor-system-x509-certificates!' has already been called.
+ #f)
+
(define-syntax-rule (with-libgit2 thunk ...)
(begin
;; XXX: The right thing to do would be to call (libgit2-shutdown) here,
;; but pointer finalizers used in guile-git may be called after shutdown,
;; resulting in a segfault. Hence, let's skip shutdown call for now.
(libgit2-init!)
+ (unless %certificates-initialized?
+ (honor-system-x509-certificates!)
+ (set! %certificates-initialized? #t))
thunk ...))
(define* (url-cache-directory url
#:optional (cache-directory
- (%repository-cache-directory)))
+ (%repository-cache-directory))
+ #:key recursive?)
"Return the directory associated to URL in %repository-cache-directory."
(string-append
cache-directory "/"
- (bytevector->base32-string (sha256 (string->utf8 url)))))
+ (bytevector->base32-string
+ (sha256 (string->utf8 (if recursive?
+ (string-append "R:" url)
+ url))))))
(define (clone* url directory)
"Clone git repository at URL into DIRECTORY. Upon failure,
@@ -119,18 +166,62 @@ OID (roughly the commit hash) corresponding to REF."
(reset repository obj RESET_HARD)
(object-id obj))
+(define (call-with-repository directory proc)
+ (let ((repository #f))
+ (dynamic-wind
+ (lambda ()
+ (set! repository (repository-open directory)))
+ (lambda ()
+ (proc repository))
+ (lambda ()
+ (repository-close! repository)))))
+
+(define-syntax-rule (with-repository directory repository exp ...)
+ "Open the repository at DIRECTORY and bind REPOSITORY to it within the
+dynamic extent of EXP."
+ (call-with-repository directory
+ (lambda (repository) exp ...)))
+
+(define* (update-submodules repository
+ #:key (log-port (current-error-port)))
+ "Update the submodules of REPOSITORY, a Git repository object."
+ ;; Guile-Git < 0.2.0 did not have (git submodule).
+ (if (false-if-exception (resolve-interface '(git submodule)))
+ (for-each (lambda (name)
+ (let ((submodule (submodule-lookup repository name)))
+ (format log-port (G_ "updating submodule '~a'...~%")
+ name)
+ (submodule-update submodule)
+
+ ;; Recurse in SUBMODULE.
+ (let ((directory (string-append
+ (repository-working-directory repository)
+ "/" (submodule-path submodule))))
+ (with-repository directory repository
+ (update-submodules repository
+ #:log-port log-port)))))
+ (repository-submodules repository))
+ (format (current-error-port)
+ (G_ "Support for submodules is missing; \
+please upgrade Guile-Git.~%"))))
+
(define* (update-cached-checkout url
#:key
(ref '(branch . "master"))
+ recursive?
+ (log-port (%make-void-port "w"))
(cache-directory
(url-cache-directory
- url (%repository-cache-directory))))
+ url (%repository-cache-directory)
+ #:recursive? recursive?)))
"Update the cached checkout of URL to REF in CACHE-DIRECTORY. Return two
values: the cache directory name, and the SHA1 commit (a string) corresponding
to REF.
REF is pair whose key is [branch | commit | tag] and value the associated
-data, respectively [<branch name> | <sha1> | <tag name>]."
+data, respectively [<branch name> | <sha1> | <tag name>].
+
+When RECURSIVE? is true, check out submodules as well, if any."
(define canonical-ref
;; We used to require callers to specify "origin/" for each branch, which
;; made little sense since the cache should be transparent to them. So
@@ -150,6 +241,8 @@ data, respectively [<branch name> | <sha1> | <tag name>]."
;; Only fetch remote if it has not been cloned just before.
(when cache-exists?
(remote-fetch (remote-lookup repository "origin")))
+ (when recursive?
+ (update-submodules repository #:log-port log-port))
(let ((oid (switch-to-ref repository canonical-ref)))
;; Reclaim file descriptors and memory mappings associated with
@@ -162,6 +255,7 @@ data, respectively [<branch name> | <sha1> | <tag name>]."
(define* (latest-repository-commit store url
#:key
+ recursive?
(log-port (%make-void-port "w"))
(cache-directory
(%repository-cache-directory))
@@ -172,21 +266,33 @@ reference to be checkout, once the repository is fetched, is specified by REF.
REF is pair whose key is [branch | commit | tag] and value the associated
data, respectively [<branch name> | <sha1> | <tag name>].
+When RECURSIVE? is true, check out submodules as well, if any.
+
Git repositories are kept in the cache directory specified by
%repository-cache-directory parameter.
Log progress and checkout info to LOG-PORT."
(define (dot-git? file stat)
(and (string=? (basename file) ".git")
- (eq? 'directory (stat:type stat))))
+ (or (eq? 'directory (stat:type stat))
+
+ ;; Submodule checkouts end up with a '.git' regular file that
+ ;; contains metadata about where their actual '.git' directory
+ ;; lives.
+ (and recursive?
+ (eq? 'regular (stat:type stat))))))
(format log-port "updating checkout of '~a'...~%" url)
(let*-values
(((checkout commit)
(update-cached-checkout url
+ #:recursive? recursive?
#:ref ref
#:cache-directory
- (url-cache-directory url cache-directory)))
+ (url-cache-directory url cache-directory
+ #:recursive?
+ recursive?)
+ #:log-port log-port))
((name)
(url+commit->name url commit)))
(format log-port "retrieved commit ~a~%" commit)
@@ -205,9 +311,10 @@ Log progress and checkout info to LOG-PORT."
git-checkout?
(url git-checkout-url)
(branch git-checkout-branch (default "master"))
- (commit git-checkout-commit (default #f)))
+ (commit git-checkout-commit (default #f))
+ (recursive? git-checkout-recursive? (default #f)))
-(define* (latest-repository-commit* url #:key ref log-port)
+(define* (latest-repository-commit* url #:key ref recursive? log-port)
;; Monadic variant of 'latest-repository-commit'.
(lambda (store)
;; The caller--e.g., (guix scripts build)--may not handle 'git-error' so
@@ -216,7 +323,9 @@ Log progress and checkout info to LOG-PORT."
(catch 'git-error
(lambda ()
(values (latest-repository-commit store url
- #:ref ref #:log-port log-port)
+ #:ref ref
+ #:recursive? recursive?
+ #:log-port log-port)
store))
(lambda (key error . _)
(raise (condition
@@ -238,9 +347,14 @@ Log progress and checkout info to LOG-PORT."
;; "Compile" CHECKOUT by updating the local checkout and adding it to the
;; store.
(match checkout
- (($ <git-checkout> url branch commit)
+ (($ <git-checkout> url branch commit recursive?)
(latest-repository-commit* url
#:ref (if commit
`(commit . ,commit)
`(branch . ,branch))
+ #:recursive? recursive?
#:log-port (current-error-port)))))
+
+;; Local Variables:
+;; eval: (put 'with-repository 'scheme-indent-function 2)
+;; End:
diff --git a/guix/import/opam.scm b/guix/import/opam.scm
index c254db5f2c..7b2e832e92 100644
--- a/guix/import/opam.scm
+++ b/guix/import/opam.scm
@@ -1,4 +1,3 @@
-;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
@@ -90,8 +89,8 @@
(define-peg-pattern condition-lower all (and (ignore "<") (* SP) condition-string))
(define-peg-pattern condition-and all (and condition-form2 (* SP) (? (ignore "&")) (* SP) condition-form))
(define-peg-pattern condition-or all (and condition-form2 (* SP) (ignore "|") (* SP) condition-form))
-(define-peg-pattern condition-eq all (and condition-content (* SP) (ignore "=") (* SP) condition-content))
-(define-peg-pattern condition-neq all (and condition-content (* SP) (ignore (and "!" "=")) (* SP) condition-content))
+(define-peg-pattern condition-eq all (and (? condition-content) (* SP) (ignore "=") (* SP) condition-content))
+(define-peg-pattern condition-neq all (and (? condition-content) (* SP) (ignore (and "!" "=")) (* SP) condition-content))
(define-peg-pattern condition-content body (or condition-string condition-var))
(define-peg-pattern condition-content2 body (and condition-content (* SP) (not-followed-by (or "&" "=" "!"))))
(define-peg-pattern condition-string all (and QUOTE (* STRCHR) QUOTE))
@@ -117,7 +116,11 @@ path to the repository."
(lambda (dir)
(string-join (cdr (string-split dir #\.)) "."))
versions)))
- (latest-version versions))
+ ;; Workaround for janestreet re-versionning
+ (let ((v-versions (filter (lambda (version) (string-prefix? "v" version)) versions)))
+ (if (null? v-versions)
+ (latest-version versions)
+ (string-append "v" (latest-version (map (lambda (version) (substring version 1)) v-versions))))))
(begin
(format #t (G_ "Package not found in opam repository: ~a~%") package)
#f))))
@@ -127,12 +130,17 @@ path to the repository."
(lambda _
(peg:tree (match-pattern records (get-string-all (current-input-port)))))))
+(define (substitute-char str what with)
+ (string-join (string-split str what) with))
+
(define (ocaml-name->guix-name name)
- (cond
- ((equal? name "ocamlfind") "ocaml-findlib")
- ((string-prefix? "ocaml" name) name)
- ((string-prefix? "conf-" name) (substring name 5))
- (else (string-append "ocaml-" name))))
+ (substitute-char
+ (cond
+ ((equal? name "ocamlfind") "ocaml-findlib")
+ ((string-prefix? "ocaml" name) name)
+ ((string-prefix? "conf-" name) (substring name 5))
+ (else (string-append "ocaml-" name)))
+ #\_ "-"))
(define (metadata-ref file lookup)
(fold (lambda (record acc)
@@ -234,7 +242,9 @@ path to the repository."
(values
`(package
(name ,(ocaml-name->guix-name name))
- (version ,version)
+ (version ,(if (string-prefix? "v" version)
+ (substring version 1)
+ version))
(source
(origin
(method url-fetch)
@@ -247,6 +257,10 @@ path to the repository."
,@(if (null? native-inputs)
'()
`((native-inputs ,(list 'quasiquote native-inputs))))
+ ,@(if (equal? name (guix-name->opam-name (ocaml-name->guix-name name)))
+ '()
+ `((properties
+ ,(list 'quasiquote `((upstream-name . ,name))))))
(home-page ,(metadata-ref opam-content "homepage"))
(synopsis ,(metadata-ref opam-content "synopsis"))
(description ,(metadata-ref opam-content "description"))
@@ -259,6 +273,11 @@ path to the repository."
(opam->guix-package name))
#:guix-name ocaml-name->guix-name))
+(define (guix-name->opam-name name)
+ (if (string-prefix? "ocaml-" name)
+ (substring name 6)
+ name))
+
(define (guix-package->opam-name package)
"Given an OCaml PACKAGE built from OPAM, return the name of the
package in OPAM."
@@ -266,10 +285,9 @@ package in OPAM."
(package-properties package)
'upstream-name))
(name (package-name package)))
- (cond
- (upstream-name upstream-name)
- ((string-prefix? "ocaml-" name) (substring name 6))
- (else name))))
+ (if upstream-name
+ upstream-name
+ (guix-name->opam-name name))))
(define (opam-package? package)
"Return true if PACKAGE is an OCaml package from OPAM"
diff --git a/guix/monads.scm b/guix/monads.scm
index 6ae616aca9..6924471345 100644
--- a/guix/monads.scm
+++ b/guix/monads.scm
@@ -274,12 +274,23 @@ more optimizations."
(_
#'generic-name))))))))))
-(define-syntax-parameter >>=
+(define-syntax-rule (define-syntax-parameter-once name proc)
+ ;; Like 'define-syntax-parameter' but ensure the top-level binding for NAME
+ ;; does not get redefined. This works around a race condition in a
+ ;; multi-threaded context with Guile <= 2.2.4: <https://bugs.gnu.org/27476>.
+ (eval-when (load eval expand compile)
+ (define name
+ (if (module-locally-bound? (current-module) 'name)
+ (module-ref (current-module) 'name)
+ (make-syntax-transformer 'name 'syntax-parameter
+ (list proc))))))
+
+(define-syntax-parameter-once >>=
;; The name 'bind' is already taken, so we choose this (obscure) symbol.
(lambda (s)
(syntax-violation '>>= ">>= (bind) used outside of 'with-monad'" s)))
-(define-syntax-parameter return
+(define-syntax-parameter-once return
(lambda (s)
(syntax-violation 'return "return used outside of 'with-monad'" s)))
diff --git a/guix/profiles.scm b/guix/profiles.scm
index 598e0acf62..6564526aee 100644
--- a/guix/profiles.scm
+++ b/guix/profiles.scm
@@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
@@ -63,6 +63,10 @@
&missing-generation-error
missing-generation-error?
missing-generation-error-generation
+ &unmatched-pattern-error
+ unmatched-pattern-error?
+ unmatched-pattern-error-pattern
+ unmatched-pattern-error-manifest
manifest make-manifest
manifest?
@@ -156,6 +160,11 @@
(entry profile-collision-error-entry) ;<manifest-entry>
(conflict profile-collision-error-conflict)) ;<manifest-entry>
+(define-condition-type &unmatched-pattern-error &error
+ unmatched-pattern-error?
+ (pattern unmatched-pattern-error-pattern) ;<manifest-pattern>
+ (manifest unmatched-pattern-error-manifest)) ;<manifest>
+
(define-condition-type &missing-generation-error &profile-error
missing-generation-error?
(generation missing-generation-error-generation))
@@ -559,16 +568,21 @@ no match.."
(->bool (manifest-lookup manifest pattern)))
(define (manifest-matching-entries manifest patterns)
- "Return all the entries of MANIFEST that match one of the PATTERNS."
- (define predicates
- (map entry-predicate patterns))
-
- (define (matches? entry)
- (any (lambda (pred)
- (pred entry))
- predicates))
-
- (filter matches? (manifest-entries manifest)))
+ "Return all the entries of MANIFEST that match one of the PATTERNS. Raise
+an '&unmatched-pattern-error' if none of the entries of MANIFEST matches one
+of PATTERNS."
+ (fold-right (lambda (pattern matches)
+ (match (filter (entry-predicate pattern)
+ (manifest-entries manifest))
+ (()
+ (raise (condition
+ (&unmatched-pattern-error
+ (pattern pattern)
+ (manifest manifest)))))
+ (lst
+ (append lst matches))))
+ '()
+ patterns))
(define (manifest-search-paths manifest)
"Return the list of search path specifications that apply to MANIFEST,
@@ -1300,12 +1314,22 @@ the entries in MANIFEST."
(srfi srfi-19))
(define (compute-entries)
- (append-map (lambda (directory)
- (let ((man (string-append directory "/share/man")))
- (if (directory-exists? man)
- (mandb-entries man)
- '())))
- '#$(manifest-inputs manifest)))
+ ;; This is the most expensive part (I/O and CPU, due to
+ ;; decompression), so report progress as we traverse INPUTS.
+ (let* ((inputs '#$(manifest-inputs manifest))
+ (total (length inputs)))
+ (append-map (lambda (directory count)
+ (format #t "\r[~3d/~3d] building list of \
+man-db entries..."
+ count total)
+ (force-output)
+ (let ((man (string-append directory
+ "/share/man")))
+ (if (directory-exists? man)
+ (mandb-entries man)
+ '())))
+ inputs
+ (iota total 1))))
(define man-directory
(string-append #$output "/share/man"))
@@ -1320,6 +1344,7 @@ the entries in MANIFEST."
"/index.db")
entries))
(duration (time-difference (current-time) start)))
+ (newline)
(format #t "~a entries processed in ~,1f s~%"
(length entries)
(+ (time-second duration)
diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index 5a158799ae..fb7e04904d 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -308,7 +308,8 @@ strings like \"guile-next=stable-3.0\" meaning that packages are built using
(package
(inherit old)
(version (string-append "git." branch))
- (source (git-checkout (url url) (branch branch)))))
+ (source (git-checkout (url url) (branch branch)
+ (recursive? #t)))))
(let* ((replacements (evaluate-git-replacement-specs replacement-specs
replace))
diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm
index a633d2ee6d..8a71467b52 100644
--- a/guix/scripts/package.scm
+++ b/guix/scripts/package.scm
@@ -739,9 +739,9 @@ processed, #f otherwise."
(available (fold-available-packages
(lambda* (name version result
#:key outputs location
- supported? superseded?
+ supported? deprecated?
#:allow-other-keys)
- (if (and supported? (not superseded?))
+ (if (and supported? (not deprecated?))
(if regexp
(if (regexp-exec regexp name)
(cons `(,name ,version
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index 683ab3f059..3320200c07 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -216,30 +216,8 @@ true, display what would be built without actually building it."
(define (honor-x509-certificates store)
"Use the right X.509 certificates for Git checkouts over HTTPS."
- ;; On distros such as CentOS 7, /etc/ssl/certs contains only a couple of
- ;; files (instead of all the certificates) among which "ca-bundle.crt". On
- ;; other distros /etc/ssl/certs usually contains the whole set of
- ;; certificates along with "ca-certificates.crt". Try to choose the right
- ;; one.
- (let ((file (letrec-syntax ((choose
- (syntax-rules ()
- ((_ file rest ...)
- (let ((f file))
- (if (and f (file-exists? f))
- f
- (choose rest ...))))
- ((_)
- #f))))
- (choose (getenv "SSL_CERT_FILE")
- "/etc/ssl/certs/ca-certificates.crt"
- "/etc/ssl/certs/ca-bundle.crt")))
- (directory (or (getenv "SSL_CERT_DIR") "/etc/ssl/certs")))
- (if (or file
- (and=> (stat directory #f)
- (lambda (st)
- (> (stat:nlink st) 2))))
- (set-tls-certificate-locations! directory file)
- (honor-lets-encrypt-certificates! store))))
+ (unless (honor-system-x509-certificates!)
+ (honor-lets-encrypt-certificates! store)))
(define (report-git-error error)
"Report the given Guile-Git error."
diff --git a/guix/self.scm b/guix/self.scm
index f028bdbfdd..a45470a0a6 100644
--- a/guix/self.scm
+++ b/guix/self.scm
@@ -460,17 +460,27 @@ load path."
the modules (under share/guile/site and lib/guile), and DEPENDENCIES, a list
of packages depended on. COMMAND is the 'guix' program to use; INFO is the
Info manual."
+ (define (wrap daemon)
+ (program-file "guix-daemon"
+ #~(begin
+ (setenv "GUIX" #$command)
+ (apply execl #$(file-append daemon "/bin/guix-daemon")
+ "guix-daemon" (cdr (command-line))))))
+
(computed-file name
(with-imported-modules '((guix build utils))
#~(begin
(use-modules (guix build utils))
+ (define daemon
+ #$(and daemon (wrap daemon)))
+
(mkdir-p (string-append #$output "/bin"))
(symlink #$command
(string-append #$output "/bin/guix"))
- (when #$daemon
- (symlink (string-append #$daemon "/bin/guix-daemon")
+ (when daemon
+ (symlink daemon
(string-append #$output "/bin/guix-daemon")))
(let ((share (string-append #$output "/share"))
@@ -786,11 +796,11 @@ Info manual."
(define %state-directory
;; This must match `NIX_STATE_DIR' as defined in
;; `nix/local.mk'.
- (or (getenv "NIX_STATE_DIR")
+ (or (getenv "GUIX_STATE_DIRECTORY")
(string-append %localstatedir "/guix")))
(define %store-database-directory
- (or (getenv "NIX_DB_DIR")
+ (or (getenv "GUIX_DATABASE_DIRECTORY")
(string-append %state-directory "/db")))
(define %config-directory
diff --git a/guix/status.scm b/guix/status.scm
index e3375816c5..cd5027ef17 100644
--- a/guix/status.scm
+++ b/guix/status.scm
@@ -30,6 +30,7 @@
#:use-module (guix memoization)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
+ #:use-module (srfi srfi-9 gnu)
#:use-module (srfi srfi-19)
#:use-module (srfi srfi-26)
#:use-module (ice-9 regex)
@@ -54,6 +55,9 @@
build
build-derivation
build-system
+ build-log-file
+ build-phase
+ build-completion
download?
download
@@ -100,18 +104,21 @@
(default '())))
;; On-going or completed build.
-(define-record-type <build>
- (%build derivation id system log-file completion)
+(define-immutable-record-type <build>
+ (%build derivation id system log-file phase completion)
build?
(derivation build-derivation) ;string (.drv file name)
(id build-id) ;#f | integer
(system build-system) ;string
(log-file build-log-file) ;#f | string
- (completion build-completion)) ;#f | integer (percentage)
+ (phase build-phase ;#f | symbol
+ set-build-phase)
+ (completion build-completion ;#f | integer (percentage)
+ set-build-completion))
-(define* (build derivation system #:key id log-file completion)
+(define* (build derivation system #:key id log-file phase completion)
"Return a new build."
- (%build derivation id system log-file completion))
+ (%build derivation id system log-file phase completion))
;; On-going or completed downloads. Downloads can be stem from substitutes
;; and from "builtin:download" fixed-output derivations.
@@ -142,6 +149,10 @@
(lambda (download)
(string=? item (download-item download))))
+(define %phase-start-rx
+ ;; Match the "starting phase" message emitted by 'gnu-build-system'.
+ (make-regexp "^starting phase [`']([^']+)'"))
+
(define %percentage-line-rx
;; Things like CMake write lines like "[ 10%] gcc -c …". This regexp
;; matches them.
@@ -156,13 +167,6 @@
(define (update-build status id line)
"Update STATUS based on LINE, a build output line for ID that might contain
a completion indication."
- (define (set-completion b %)
- (build (build-derivation b)
- (build-system b)
- #:id (build-id b)
- #:log-file (build-log-file b)
- #:completion %))
-
(define (find-build)
(find (lambda (build)
(and (build-id build)
@@ -173,7 +177,7 @@ a completion indication."
(let ((build (find-build)))
(build-status
(inherit status)
- (building (cons (set-completion build %)
+ (building (cons (set-build-completion build %)
(delq build (build-status-building status)))))))
(cond ((string-any #\nul line)
@@ -190,6 +194,19 @@ a completion indication."
(let ((done (string->number (match:substring match 1)))
(total (string->number (match:substring match 3))))
(update (* 100. (/ done total))))))
+ ((regexp-exec %phase-start-rx line)
+ =>
+ (lambda (match)
+ (let ((phase (match:substring match 1))
+ (build (find-build)))
+ (if build
+ (build-status
+ (inherit status)
+ (building
+ (cons (set-build-phase (set-build-completion build #f)
+ (string->symbol phase))
+ (delq build (build-status-building status)))))
+ status))))
(else
status)))
@@ -328,14 +345,21 @@ build-log\" traces."
(define spin!
(let ((steps (circular-list "\\" "|" "/" "-")))
- (lambda (port)
- "Display a spinner on PORT."
+ (lambda (phase port)
+ "Display a spinner on PORT. If PHASE is true, display it as a hint of
+the current build phase."
(when (isatty?* port)
(match steps
((first . rest)
(set! steps rest)
(display "\r\x1b[K" port)
(display first port)
+ (when phase
+ (display " " port)
+ ;; TRANSLATORS: The word "phase" here denotes a "build phase";
+ ;; "~a" is a placeholder for the untranslated name of the current
+ ;; build phase--e.g., 'configure' or 'build'.
+ (format port (G_ "'~a' phase") phase))
(force-output port)))))))
(define (color-output? port)
@@ -441,12 +465,18 @@ addition to build events."
(cut colorize-string <> 'RED 'BOLD)
identity))
- (define (report-build-progress %)
+ (define (report-build-progress phase %)
(let ((% (min (max % 0) 100))) ;sanitize
(erase-current-line port)
- (format port "~3d% " (inexact->exact (round %)))
- (display (progress-bar % (- (current-terminal-columns) 5))
- port)
+ (let* ((prefix (format #f "~3d% ~@['~a' ~]"
+ (inexact->exact (round %))
+ (case phase
+ ((build) #f) ;not useful to display it
+ (else phase))))
+ (length (string-length prefix)))
+ (display prefix port)
+ (display (progress-bar % (- (current-terminal-columns) length))
+ port))
(force-output port)))
(define print-log-line
@@ -460,13 +490,20 @@ addition to build events."
(match (build-status-building status)
((build) ;single job
(match (build-completion build)
- ((? number? %) (report-build-progress %))
- (_ (spin! port))))
+ ((? number? %)
+ (report-build-progress (build-phase build) %))
+ (_
+ (spin! (build-phase build) port))))
(_
- (spin! port))))))
+ (spin! #f port))))))
+
+ (define erase-current-line*
+ (if (and (not print-log?) (isatty?* port))
+ (lambda ()
+ (erase-current-line port)
+ (force-output port))
+ (const #t)))
- (unless print-log?
- (display "\r" port)) ;erase the spinner
(match event
(('build-started drv . _)
(let ((properties (derivation-properties
@@ -491,6 +528,7 @@ addition to build events."
(format port (info (G_ "building ~a...")) drv))))
(newline port))
(('build-succeeded drv . _)
+ (erase-current-line*) ;erase spinner or progress bar
(when (or print-log? (not (extended-build-trace-supported?)))
(format port (success (G_ "successfully built ~a")) drv)
(newline port))
@@ -503,6 +541,7 @@ addition to build events."
(length ongoing))
(map build-derivation ongoing)))))
(('build-failed drv . _)
+ (erase-current-line*) ;erase spinner or progress bar
(format port (failure (G_ "build of ~a failed")) drv)
(newline port)
(match (derivation-log-file drv)
diff --git a/guix/store.scm b/guix/store.scm
index d079147529..0a0a7c7c52 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -1856,8 +1856,9 @@ syntactically valid store path."
"Return the build log file for DRV, a derivation file name, or #f if it
could not be found."
(let* ((base (basename drv))
- (log (string-append (dirname %state-directory) ; XXX
- "/log/guix/drvs/"
+ (log (string-append (or (getenv "GUIX_LOG_DIRECTORY")
+ (string-append %localstatedir "/log/guix"))
+ "/drvs/"
(string-take base 2) "/"
(string-drop base 2)))
(log.gz (string-append log ".gz"))
diff --git a/guix/ui.scm b/guix/ui.scm
index 9eab4ba3f7..f0465519b6 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -643,6 +643,14 @@ or remove one of them from the profile.")
(leave (G_ "generation ~a of profile '~a' does not exist~%")
(missing-generation-error-generation c)
(profile-error-profile c)))
+ ((unmatched-pattern-error? c)
+ (let ((pattern (unmatched-pattern-error-pattern c)))
+ (leave (G_ "package '~a~@[@~a~]~@[:~a~]' not found in profile~%")
+ (manifest-pattern-name pattern)
+ (manifest-pattern-version pattern)
+ (match (manifest-pattern-output pattern)
+ ("out" #f)
+ (output output)))))
((profile-collision-error? c)
(let ((entry (profile-collision-error-entry c))
(conflict (profile-collision-error-conflict c)))
diff --git a/nix/libstore/build.cc b/nix/libstore/build.cc
index f4a866c68f..06bc7601b9 100644
--- a/nix/libstore/build.cc
+++ b/nix/libstore/build.cc
@@ -2502,6 +2502,10 @@ void DerivationGoal::registerOutputs()
throw Error(format("derivation `%1%' may not be deterministic: output `%2%' differs")
% drvPath % path);
}
+
+ if (settings.printBuildTrace)
+ printMsg(lvlError, format("@ build-succeeded %1% -") % drvPath);
+
continue;
}
diff --git a/nix/libstore/builtins.cc b/nix/libstore/builtins.cc
index 1f52511c80..f7c7d42484 100644
--- a/nix/libstore/builtins.cc
+++ b/nix/libstore/builtins.cc
@@ -1,5 +1,5 @@
/* GNU Guix --- Functional package management for GNU
- Copyright (C) 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+ Copyright (C) 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
This file is part of GNU Guix.
@@ -50,13 +50,7 @@ static void builtinDownload(const Derivation &drv,
/* Tell it about options such as "print-extended-build-trace". */
setenv("_NIX_OPTIONS", settings.pack().c_str(), 1);
- /* XXX: Hack our way to use the 'download' script from 'LIBEXECDIR/guix'
- or just 'LIBEXECDIR', depending on whether we're running uninstalled or
- not. */
- const string subdir = getenv("GUIX_UNINSTALLED") != NULL
- ? "" : "/guix";
-
- const string program = settings.nixLibexecDir + subdir + "/download";
+ const string program = settings.nixLibexecDir + "/download";
execv(program.c_str(), (char *const *) argv);
throw SysError(format("failed to run download program '%1%'") % program);
diff --git a/nix/libstore/gc.cc b/nix/libstore/gc.cc
index 125f242814..310b8792fe 100644
--- a/nix/libstore/gc.cc
+++ b/nix/libstore/gc.cc
@@ -340,7 +340,7 @@ Roots LocalStore::findRoots()
static void addAdditionalRoots(StoreAPI & store, PathSet & roots)
{
Path rootFinder = getEnv("NIX_ROOT_FINDER",
- settings.nixLibexecDir + "/guix/list-runtime-roots");
+ settings.nixLibexecDir + "/list-runtime-roots");
if (rootFinder.empty()) return;
diff --git a/nix/libstore/globals.cc b/nix/libstore/globals.cc
index 25f80da2dd..69f6d06563 100644
--- a/nix/libstore/globals.cc
+++ b/nix/libstore/globals.cc
@@ -66,10 +66,9 @@ Settings::Settings()
void Settings::processEnvironment()
{
nixStore = canonPath(getEnv("NIX_STORE_DIR", getEnv("NIX_STORE", NIX_STORE_DIR)));
- nixDataDir = canonPath(getEnv("NIX_DATA_DIR", NIX_DATA_DIR));
- nixLogDir = canonPath(getEnv("NIX_LOG_DIR", NIX_LOG_DIR));
- nixStateDir = canonPath(getEnv("NIX_STATE_DIR", NIX_STATE_DIR));
- nixDBPath = getEnv("NIX_DB_DIR", nixStateDir + "/db");
+ nixLogDir = canonPath(getEnv("GUIX_LOG_DIRECTORY", NIX_LOG_DIR));
+ nixStateDir = canonPath(getEnv("GUIX_STATE_DIRECTORY", NIX_STATE_DIR));
+ nixDBPath = getEnv("GUIX_DATABASE_DIRECTORY", nixStateDir + "/db");
nixConfDir = canonPath(getEnv("GUIX_CONFIGURATION_DIRECTORY", GUIX_CONFIGURATION_DIRECTORY));
nixLibexecDir = canonPath(getEnv("NIX_LIBEXEC_DIR", NIX_LIBEXEC_DIR));
nixBinDir = canonPath(getEnv("NIX_BIN_DIR", NIX_BIN_DIR));
@@ -142,18 +141,6 @@ void Settings::update()
_get(gcKeepDerivations, "gc-keep-derivations");
_get(autoOptimiseStore, "auto-optimise-store");
_get(envKeepDerivations, "env-keep-derivations");
-
- string subs = getEnv("NIX_SUBSTITUTERS", "default");
- if (subs == "default") {
- substituters.clear();
-#if 0
- if (getEnv("NIX_OTHER_STORES") != "")
- substituters.push_back(nixLibexecDir + "/nix/substituters/copy-from-other-stores.pl");
-#endif
- substituters.push_back(nixLibexecDir + "/nix/substituters/download-using-manifests.pl");
- substituters.push_back(nixLibexecDir + "/nix/substituters/download-from-binary-cache.pl");
- } else
- substituters = tokenizeString<Strings>(subs, ":");
}
diff --git a/nix/libstore/globals.hh b/nix/libstore/globals.hh
index a6935c3337..b073f724b6 100644
--- a/nix/libstore/globals.hh
+++ b/nix/libstore/globals.hh
@@ -45,8 +45,6 @@ struct Settings {
/* The directory where we store sources and derived files. */
Path nixStore;
- Path nixDataDir; /* !!! fix */
-
/* The directory where we log various operations. */
Path nixLogDir;
diff --git a/nix/libstore/local-store.cc b/nix/libstore/local-store.cc
index eb8a51cc23..892d9300b1 100644
--- a/nix/libstore/local-store.cc
+++ b/nix/libstore/local-store.cc
@@ -1224,14 +1224,8 @@ static void checkSecrecy(const Path & path)
static std::string runAuthenticationProgram(const Strings & args)
{
- /* Use the 'authenticate' script from 'LIBEXECDIR/guix' or just
- 'LIBEXECDIR', depending on whether we're uninstalled or not. */
- const bool installed = getenv("GUIX_UNINSTALLED") == NULL;
- const string program = settings.nixLibexecDir
- + (installed ? "/guix" : "")
- + "/authenticate";
-
- return runProgram(program, false, args);
+ return runProgram(settings.nixLibexecDir + "/authenticate",
+ false, args);
}
void LocalStore::exportPath(const Path & path, bool sign,
diff --git a/nix/local.mk b/nix/local.mk
index fe45c344f0..6d7e60e9fb 100644
--- a/nix/local.mk
+++ b/nix/local.mk
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
#
# This file is part of GNU Guix.
@@ -107,11 +107,10 @@ libstore_a_CPPFLAGS = \
-I$(top_srcdir)/%D%/libstore \
-I$(top_builddir)/%D%/libstore \
-DNIX_STORE_DIR=\"$(storedir)\" \
- -DNIX_DATA_DIR=\"$(datadir)\" \
-DNIX_STATE_DIR=\"$(localstatedir)/guix\" \
-DNIX_LOG_DIR=\"$(localstatedir)/log/guix\" \
-DGUIX_CONFIGURATION_DIRECTORY=\"$(sysconfdir)/guix\" \
- -DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
+ -DNIX_LIBEXEC_DIR=\"$(libexecdir)/guix\" \
-DNIX_BIN_DIR=\"$(bindir)\" \
-DDEFAULT_CHROOT_DIRS="\"\""
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc
index 8fdab2d116..f47d142612 100644
--- a/nix/nix-daemon/guix-daemon.cc
+++ b/nix/nix-daemon/guix-daemon.cc
@@ -1,5 +1,5 @@
/* GNU Guix --- Functional package management for GNU
- Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+ Copyright (C) 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
Copyright (C) 2006, 2010, 2012, 2014 Eelco Dolstra <e.dolstra@tudelft.nl>
This file is part of GNU Guix.
@@ -480,7 +480,7 @@ main (int argc, char *argv[])
{
std::string build_hook;
- build_hook = settings.nixLibexecDir + "/guix/offload";
+ build_hook = settings.nixLibexecDir + "/offload";
setenv ("NIX_BUILD_HOOK", build_hook.c_str (), 1);
}
#else
@@ -498,23 +498,12 @@ main (int argc, char *argv[])
format ("build log compression: %1%") % settings.logCompression);
if (settings.useSubstitutes)
- {
- string subs = getEnv ("NIX_SUBSTITUTERS", "default");
-
- if (subs == "default")
- {
- string subst =
- settings.nixLibexecDir + "/guix/substitute";
- setenv ("NIX_SUBSTITUTERS", subst.c_str (), 1);
- }
- }
+ settings.substituters.push_back (settings.nixLibexecDir
+ + "/substitute");
else
/* Clear the substituter list to make sure nothing ever gets
substituted, regardless of the client's settings. */
- setenv ("NIX_SUBSTITUTERS", "", 1);
-
- /* Effect the $NIX_SUBSTITUTERS change. */
- settings.update ();
+ settings.substituters.clear ();
if (geteuid () == 0 && settings.buildUsersGroup.empty ())
fprintf (stderr, _("warning: daemon is running as root, so \
diff --git a/tests/derivations.scm b/tests/derivations.scm
index c0601c0e88..dbb5b584eb 100644
--- a/tests/derivations.scm
+++ b/tests/derivations.scm
@@ -650,18 +650,19 @@
(build-derivations %store (list drv))
#f)))
-;; Here we should get the value of $NIX_STATE_DIR that the daemon sees, which
-;; is a unique value for each test process; this value is the same as the one
-;; we see in the process executing this file since it is set by 'test-env'.
+;; Here we should get the value of $GUIX_STATE_DIRECTORY that the daemon sees,
+;; which is a unique value for each test process; this value is the same as
+;; the one we see in the process executing this file since it is set by
+;; 'test-env'.
(test-equal "derivation #:leaked-env-vars"
- (getenv "NIX_STATE_DIR")
- (let* ((value (getenv "NIX_STATE_DIR"))
+ (getenv "GUIX_STATE_DIRECTORY")
+ (let* ((value (getenv "GUIX_STATE_DIRECTORY"))
(drv (derivation %store "leaked-env-vars" %bash
- '("-c" "echo -n $NIX_STATE_DIR > $out")
+ '("-c" "echo -n $GUIX_STATE_DIRECTORY > $out")
#:hash (sha256 (string->utf8 value))
#:hash-algo 'sha256
#:inputs `((,%bash))
- #:leaked-env-vars '("NIX_STATE_DIR"))))
+ #:leaked-env-vars '("GUIX_STATE_DIRECTORY"))))
(and (build-derivations %store (list drv))
(call-with-input-file (derivation->output-path drv)
get-string-all))))
diff --git a/tests/guix-build.sh b/tests/guix-build.sh
index 7842ce87c6..66bf6be8d0 100644
--- a/tests/guix-build.sh
+++ b/tests/guix-build.sh
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
#
# This file is part of GNU Guix.
#
@@ -37,7 +37,7 @@ guix build hello -d | \
grep -e '-hello-[0-9\.]\+\.drv$'
# Passing a URI.
-GUIX_DAEMON_SOCKET="file://$NIX_STATE_DIR/daemon-socket/socket" \
+GUIX_DAEMON_SOCKET="file://$GUIX_STATE_DIRECTORY/daemon-socket/socket" \
guix build -e '(@@ (gnu packages bootstrap) %bootstrap-guile)'
( if GUIX_DAEMON_SOCKET="weird://uri" \
diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh
index 4c19a55722..ce82cfd1e6 100644
--- a/tests/guix-daemon.sh
+++ b/tests/guix-daemon.sh
@@ -63,7 +63,7 @@ guile -c "
(exit (has-substitutes? store \"$out\"))"
# Now, run guix-daemon --no-substitutes.
-socket="$NIX_STATE_DIR/alternate-socket"
+socket="$GUIX_STATE_DIRECTORY/alternate-socket"
guix-daemon --no-substitutes --listen="$socket" --disable-chroot &
daemon_pid=$!
trap 'kill $daemon_pid' EXIT
diff --git a/tests/guix-package.sh b/tests/guix-package.sh
index 7eeb4304d1..0d60481895 100644
--- a/tests/guix-package.sh
+++ b/tests/guix-package.sh
@@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
-# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
+# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
#
# This file is part of GNU Guix.
@@ -97,6 +97,11 @@ then false; else true; fi
if guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile";
then false; else true; fi
+# Make sure we get an error when trying to remove something that's not
+# installed.
+if guix package --bootstrap -r something-not-installed -p "$profile";
+then false; else true; fi
+
# Check whether `--list-available' returns something sensible.
guix package -p "$profile" -A 'gui.*e' | grep guile
diff --git a/tests/opam.scm b/tests/opam.scm
index e0ec5ef3d4..e8c0d15198 100644
--- a/tests/opam.scm
+++ b/tests/opam.scm
@@ -192,6 +192,8 @@ url {
("{>= \"0.2.0\" | build}" . (condition-or
(condition-greater-or-equal
(condition-string "0.2.0"))
- (condition-var "build"))))))
+ (condition-var "build")))
+ ("{ = \"1.0+beta19\" }" . (condition-eq
+ (condition-string "1.0+beta19"))))))
(test-end "opam")
diff --git a/tests/profiles.scm b/tests/profiles.scm
index 9a05030aff..eef93e24cf 100644
--- a/tests/profiles.scm
+++ b/tests/profiles.scm
@@ -93,10 +93,7 @@
(test-assert "manifest-matching-entries"
(let* ((e (list guile-2.0.9 guile-2.0.9:debug))
(m (manifest e)))
- (and (null? (manifest-matching-entries m
- (list (manifest-pattern
- (name "python")))))
- (equal? e
+ (and (equal? e
(manifest-matching-entries m
(list (manifest-pattern
(name "guile")
@@ -107,6 +104,15 @@
(name "guile")
(version "2.0.9"))))))))
+(test-assert "manifest-matching-entries, no match"
+ (let ((m (manifest (list guile-2.0.9)))
+ (p (manifest-pattern (name "python"))))
+ (guard (c ((unmatched-pattern-error? c)
+ (and (eq? p (unmatched-pattern-error-pattern c))
+ (eq? m (unmatched-pattern-error-manifest c)))))
+ (manifest-matching-entries m (list p))
+ #f)))
+
(test-assert "manifest-remove"
(let* ((m0 (manifest (list guile-2.0.9 guile-2.0.9:debug)))
(m1 (manifest-remove m0
@@ -165,8 +171,7 @@
(test-assert "manifest-transaction-effects"
(let* ((m0 (manifest (list guile-1.8.8)))
(t (manifest-transaction
- (install (list guile-2.0.9 glibc))
- (remove (list (manifest-pattern (name "coreutils")))))))
+ (install (list guile-2.0.9 glibc)))))
(let-values (((remove install upgrade downgrade)
(manifest-transaction-effects m0 t)))
(and (null? remove) (null? downgrade)
diff --git a/tests/status.scm b/tests/status.scm
index f3afadfcd0..01a61f7345 100644
--- a/tests/status.scm
+++ b/tests/status.scm
@@ -211,4 +211,37 @@
(display "@ build-succeeded foo.drv\n" port)
(list first second third (get-status)))))))
+(test-equal "compute-status, build phase"
+ (list (build-status
+ (building (list (build "foo.drv" "x86_64-linux" #:id 121
+ #:phase 'configure))))
+ (build-status
+ (building (list (build "foo.drv" "x86_64-linux" #:id 121
+ #:phase 'configure
+ #:completion 50.))))
+ (build-status
+ (building (list (build "foo.drv" "x86_64-linux" #:id 121
+ #:phase 'install))))
+ (build-status
+ (builds-completed (list (build "foo.drv" "x86_64-linux" #:id 121
+ #:phase 'install)))))
+ (let-values (((port get-status)
+ (build-event-output-port (lambda (event status)
+ (compute-status event status
+ #:current-time
+ (const 'now))))))
+ (display "@ build-started foo.drv - x86_64-linux 121\n" port)
+ (display "@ build-log 121 27\nstarting phase `configure'\n" port)
+ (display "@ build-log 121 6\nabcde!" port)
+ (let ((first (get-status)))
+ (display "@ build-log 121 20\n[50/100] building Y\n" port)
+ (display "@ build-log 121 6\nfghik!" port)
+ (let ((second (get-status)))
+ (display "@ build-log 121 21\n[100/100] building Z\n" port)
+ (display "@ build-log 121 25\nstarting phase `install'\n" port)
+ (display "@ build-log 121 6\nlmnop!" port)
+ (let ((third (get-status)))
+ (display "@ build-succeeded foo.drv\n" port)
+ (list first second third (get-status)))))))
+
(test-end "status")
diff --git a/tests/store.scm b/tests/store.scm
index e28c0c5aaa..df66feaebb 100644
--- a/tests/store.scm
+++ b/tests/store.scm
@@ -917,6 +917,19 @@
(build-mode check))
#f))))))))
+(test-assert "build-succeeded trace in check mode"
+ (string-contains
+ (call-with-output-string
+ (lambda (port)
+ (let ((d (build-expression->derivation
+ %store "foo" '(mkdir (assoc-ref %outputs "out"))
+ #:guile-for-build
+ (package-derivation %store %bootstrap-guile))))
+ (build-derivations %store (list d))
+ (parameterize ((current-build-output-port port))
+ (build-derivations %store (list d) (build-mode check))))))
+ "@ build-succeeded"))
+
(test-assert "build multiple times"
(with-store store
;; Ask to build twice.