diff options
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 = <®_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 = <®_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 = <®_vcc3v3>; -+ vmmc-supply = <®_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" -+ -+®_aldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ regulator-name = "avdd-csi"; -+}; -+ -+®_aldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-pl"; -+}; -+ -+®_aldo3 { -+ regulator-always-on; -+ regulator-min-microvolt = <3000000>; -+ regulator-max-microvolt = <3000000>; -+ regulator-name = "vcc-pll-avcc"; -+}; -+ -+®_dcdc1 { -+ regulator-always-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-3v3"; -+}; -+ -+®_dcdc2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1040000>; -+ regulator-max-microvolt = <1300000>; -+ regulator-name = "vdd-cpux"; -+}; -+ -+/* DCDC3 is polyphased with DCDC2 */ -+ -+®_dcdc5 { -+ regulator-always-on; -+ regulator-min-microvolt = <1500000>; -+ regulator-max-microvolt = <1500000>; -+ regulator-name = "vcc-dram"; -+}; -+ -+®_dcdc6 { -+ regulator-always-on; -+ regulator-min-microvolt = <1100000>; -+ regulator-max-microvolt = <1100000>; -+ regulator-name = "vdd-sys"; -+}; -+ -+®_dldo1 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-hdmi-dsi-sensor"; -+}; -+ -+®_dldo2 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-mipi"; -+}; -+ -+®_dldo3 { -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ regulator-name = "dovdd-csi"; -+}; -+ -+®_dldo4 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-wifi-io"; -+}; -+ -+®_drivevbus { -+ regulator-name = "usb0-vbus"; -+ status = "okay"; -+}; -+ -+®_eldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "cpvdd"; -+}; -+ -+®_eldo3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "dvdd-csi"; -+}; -+ -+®_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. -+ */ -+®_fldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1100000>; -+ regulator-max-microvolt = <1100000>; -+ regulator-name = "vdd-cpus"; -+}; -+ -+®_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 = <®_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 = <®_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 = <®_dcdc1>; - bus-width = <8>; - non-removable; -@@ -296,9 +322,13 @@ - regulator-name = "vcc-rtc"; - }; - -+&simplefb_hdmi { -+ vcc-hdmi-supply = <®_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 = <®_dcdc1>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ hvcc-supply = <®_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 = <®_dcdc1>; -+ vqmmc-supply = <®_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 @@ - - ®_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"; - }; - - ®_dcdc2 { -@@ -195,9 +272,13 @@ - regulator-name = "vcc-rtc"; - }; - -+&simplefb_hdmi { -+ vcc-hdmi-supply = <®_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 = <®_dcdc1>; -+ allwinner,tx-delay-ps = <600>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ hvcc-supply = <®_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. -+ */ - ®_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"; - }; - -+®_drivevbus { -+ regulator-name = "usb0-vbus"; -+ status = "okay"; -+}; -+ - ®_eldo1 { - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; -@@ -214,8 +295,24 @@ - regulator-name = "vcc-rtc"; - }; - -+&simplefb_hdmi { -+ vcc-hdmi-supply = <®_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 = <®_drivevbus>; -+ usb1_vbus-supply = <®_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 = <®_gmac_3v3>; -+ status = "okay"; -+}; -+ -+&hdmi { -+ hvcc-supply = <®_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 = <®_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 = <®_dldo2>; -+ vqmmc-supply = <®_dldo4>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ bus-width = <4>; -+ non-removable; -+ status = "okay"; -+}; -+ -+&ohci0 { - status = "okay"; - }; - -@@ -89,9 +194,8 @@ - #include "axp803.dtsi" - - ®_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"; - }; - -+®_drivevbus { -+ regulator-name = "usb0-vbus"; -+ status = "okay"; -+}; -+ - ®_eldo1 { - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-name = "cpvdd"; - }; - -+®_eldo3 { -+ regulator-min-microvolt = <1500000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "dvdd-csi"; -+}; -+ - ®_fldo1 { - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <1200000>; -@@ -191,13 +306,65 @@ - regulator-name = "vcc-rtc"; - }; - -+&simplefb_hdmi { -+ vcc-hdmi-supply = <®_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 = <®_drivevbus>; -+ usb1_vbus-supply = <®_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 = <®_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 = <®_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 = <®_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 = <®_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" - - ®_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 = <®_dc1sw>; -+ dvdd25-supply = <®_dldo2>; -+ dvdd12-supply = <®_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 = <®_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 = <®_dldo4>; -+ vqmmc-supply = <®_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 = <®_dcdc1>; -+ vqmmc-supply = <®_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" -+ -+®_aldo1 { -+ regulator-min-microvolt = <2800000>; -+ regulator-max-microvolt = <2800000>; -+ regulator-name = "vcc-csi"; -+}; -+ -+®_aldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-pl"; -+}; -+ -+®_aldo3 { -+ regulator-always-on; -+ regulator-min-microvolt = <2700000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-pll-avcc"; -+}; -+ -+®_dc1sw { -+ regulator-name = "vcc-lcd"; -+}; -+ -+®_dcdc1 { -+ regulator-always-on; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-3v3"; -+}; -+ -+®_dcdc2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1000000>; -+ regulator-max-microvolt = <1300000>; -+ regulator-name = "vdd-cpux"; -+}; -+ -+/* DCDC3 is polyphased with DCDC2 */ -+ -+®_dcdc5 { -+ regulator-always-on; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-name = "vcc-dram"; -+}; -+ -+®_dcdc6 { -+ regulator-always-on; -+ regulator-min-microvolt = <1100000>; -+ regulator-max-microvolt = <1100000>; -+ regulator-name = "vdd-sys"; -+}; -+ -+®_dldo1 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-hdmi"; -+}; -+ -+®_dldo2 { -+ regulator-min-microvolt = <2500000>; -+ regulator-max-microvolt = <2500000>; -+ regulator-name = "vcc-edp"; -+}; -+ -+®_dldo3 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "avdd-csi"; -+}; -+ -+®_dldo4 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-wifi"; -+}; -+ -+®_eldo1 { -+ regulator-always-on; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "cpvdd"; -+}; -+ -+®_eldo3 { -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-name = "vdd-1v8-csi"; -+}; -+ -+®_fldo1 { -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-name = "vcc-1v2-hsic"; -+}; -+ -+®_fldo2 { -+ regulator-always-on; -+ regulator-min-microvolt = <1100000>; -+ regulator-max-microvolt = <1100000>; -+ regulator-name = "vdd-cpus"; -+}; -+ -+®_ldo_io0 { -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-name = "vcc-usb"; -+ status = "okay"; -+}; -+ -+®_rtc_ldo { -+ regulator-name = "vcc-rtc"; -+}; -+ -+&simplefb_hdmi { -+ vcc-hdmi-supply = <®_dldo1>; -+}; -+ -+&uart0 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart0_pb_pins>; -+ status = "okay"; -+}; -+ -+&usb_otg { -+ dr_mode = "host"; -+}; -+ -+&usbphy { -+ usb0_vbus-supply = <®_ldo_io0>; -+ usb1_vbus-supply = <®_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. |