diff options
58 files changed, 1681 insertions, 639 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 2df4064524..080b091b31 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1375,8 +1375,8 @@ derivations. @cindex garbage collector roots When set to ``yes'', the GC will keep the outputs of any live derivation available in the store---the @code{.drv} files. The default is ``no'', -meaning that derivation outputs are kept only if they are GC roots. -@xref{Invoking guix gc}, for more on GC roots. +meaning that derivation outputs are kept only if they are reachable from a GC +root. @xref{Invoking guix gc}, for more on GC roots. @item --gc-keep-derivations[=yes|no] Tell whether the garbage collector (GC) must keep derivations @@ -1387,12 +1387,13 @@ derivations---i.e., @code{.drv} files---as long as at least one of their outputs is live. This allows users to keep track of the origins of items in their store. Setting it to ``no'' saves a bit of disk space. -Note that when both @code{--gc-keep-derivations} and -@code{--gc-keep-outputs} are used, the effect is to keep all the build -prerequisites (the sources, compiler, libraries, and other build-time -tools) of live objects in the store, regardless of whether these -prerequisites are live. This is convenient for developers since it -saves rebuilds or downloads. +In this way, setting @code{--gc-keep-derivations} to ``yes'' causes liveness +to flow from outputs to derivations, and setting @code{--gc-keep-outputs} to +``yes'' causes liveness to flow from derivations to outputs. When both are +set to ``yes'', the effect is to keep all the build prerequisites (the +sources, compiler, libraries, and other build-time tools) of live objects in +the store, regardless of whether these prerequisites are reachable from a GC +root. This is convenient for developers since it saves rebuilds or downloads. @item --impersonate-linux-2.6 On Linux-based systems, impersonate Linux 2.6. This means that the @@ -11649,6 +11650,15 @@ When true, forwarding of X11 graphical client connections is enabled---in other words, @command{ssh} options @option{-X} and @option{-Y} will work. +@item @code{allow-agent-forwarding?} (default: @code{#t}) +Whether to allow agent forwarding. + +@item @code{allow-tcp-forwarding?} (default: @code{#t}) +Whether to allow TCP forwarding. + +@item @code{gateway-ports?} (default: @code{#f}) +Whether to allow gateway ports. + @item @code{challenge-response-authentication?} (default: @code{#f}) Specifies whether challenge response authentication is allowed (e.g. via PAM). @@ -17678,9 +17688,9 @@ If it is @code{#f} then the daemon will use the host's fully qualified domain na @subsubsection Continuous Integration @cindex continuous integration -@uref{https://notabug.org/mthl/cuirass, Cuirass} is a continuous -integration tool for Guix. It can be used both for development and for -providing substitutes to others (@pxref{Substitutes}). +@uref{https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git, Cuirass} is a +continuous integration tool for Guix. It can be used both for development and +for providing substitutes to others (@pxref{Substitutes}). The @code{(gnu services cuirass)} module provides the following service. diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 2ee2f1771f..9c8761527a 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -21,6 +21,7 @@ #:use-module (guix elf) #:use-module (guix glob) #:use-module (guix build syscalls) + #:use-module ((guix build utils) #:select (find-files)) #:use-module (rnrs io ports) #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) @@ -33,6 +34,8 @@ module-aliases module-dependencies normalize-module-name + file-name->module-name + find-module-file recursive-module-dependencies modules-loaded module-loaded? @@ -130,6 +133,39 @@ underscores." and normalizing it." (normalize-module-name (basename file ".ko"))) +(define (find-module-file directory module) + "Lookup module NAME under DIRECTORY, and return its absolute file name. +NAME can be a file name with or without '.ko', or it can be a module name. +Return #f if it could not be found. + +Module names can differ from file names in interesting ways; for instance, +module names usually (always?) use underscores as the inter-word separator, +whereas file names often, but not always, use hyphens. Examples: +\"usb-storage.ko\", \"serpent_generic.ko\"." + (define names + ;; List of possible file names. XXX: It would of course be cleaner to + ;; have a database that maps module names to file names and vice versa, + ;; but everyone seems to be doing hacks like this one. Oh well! + (map ensure-dot-ko + (delete-duplicates + (list module + (normalize-module-name module) + (string-map (lambda (chr) ;converse of 'normalize-module-name' + (case chr + ((#\_) #\-) + (else chr))) + module))))) + + (match (find-files directory + (lambda (file stat) + (member (basename file) names))) + ((file) + file) + (() + #f) + ((_ ...) + (error "several modules by that name" module directory)))) + (define* (recursive-module-dependencies files #:key (lookup-module dot-ko)) "Return the topologically-sorted list of file names of the modules depended diff --git a/gnu/local.mk b/gnu/local.mk index b8189eb2c9..44b275e95c 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -877,6 +877,7 @@ dist_patch_DATA = \ %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ %D%/packages/patches/libreoffice-icu.patch \ + %D%/packages/patches/libreoffice-glm.patch \ %D%/packages/patches/libsndfile-armhf-type-checks.patch \ %D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \ %D%/packages/patches/libsndfile-CVE-2017-8362.patch \ @@ -923,6 +924,7 @@ dist_patch_DATA = \ %D%/packages/patches/mailutils-uninitialized-memory.patch \ %D%/packages/patches/make-glibc-compat.patch \ %D%/packages/patches/make-impure-dirs.patch \ + %D%/packages/patches/mariadb-gcc-ice.patch \ %D%/packages/patches/mars-install.patch \ %D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/maxima-defsystem-mkdir.patch \ @@ -1058,7 +1060,6 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ %D%/packages/patches/python-cairocffi-dlopen-path.patch \ - %D%/packages/patches/python-dendropy-fix-tests.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \ %D%/packages/patches/python-genshi-buildable-on-python-2.7.patch \ @@ -1092,6 +1093,7 @@ dist_patch_DATA = \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ + %D%/packages/patches/qtwebkit-pbutils-include.patch \ %D%/packages/patches/rapicorn-isnan.patch \ %D%/packages/patches/raptor2-heap-overflow.patch \ %D%/packages/patches/ratpoison-shell.patch \ @@ -1210,10 +1212,10 @@ dist_patch_DATA = \ %D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \ %D%/packages/patches/wpa-supplicant-krack-followups.patch \ %D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \ + %D%/packages/patches/x265-arm-asm-primitives.patch \ %D%/packages/patches/x265-fix-ppc64le-build.patch \ %D%/packages/patches/xapian-revert-5489fb2f8.patch \ %D%/packages/patches/xboing-CVE-2004-0149.patch \ - %D%/packages/patches/xdotool-fix-makefile.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ %D%/packages/patches/xf86-video-ast-remove-mibstore.patch \ %D%/packages/patches/xf86-video-geode-glibc-2.20.patch \ diff --git a/gnu/packages/agda.scm b/gnu/packages/agda.scm index 6aa230116c..df4968c445 100644 --- a/gnu/packages/agda.scm +++ b/gnu/packages/agda.scm @@ -20,6 +20,7 @@ #:use-module (gnu packages haskell) #:use-module (gnu packages haskell-check) #:use-module (gnu packages haskell-web) + #:use-module (guix build-system emacs) #:use-module (guix build-system haskell) #:use-module (guix build-system trivial) #:use-module (guix download) @@ -67,6 +68,19 @@ ("ghc-text" ,ghc-text) ("ghc-unordered-containers" ,ghc-unordered-containers) ("ghc-zlib" ,ghc-zlib))) + (arguments + `(#:modules ((guix build haskell-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'compile 'agda-compile + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (agda-compiler (string-append out "/bin/agda"))) + (for-each (cut invoke agda-compiler <>) + (find-files (string-append out "/share") "\\.agda$")) + #t)))))) (home-page "http://wiki.portal.chalmers.se/agda/") (synopsis "Dependently typed functional programming language and proof assistant") @@ -84,3 +98,19 @@ such as Coq, Epigram and NuPRL.") ;; Agda is distributed under the MIT license, and a couple of ;; source files are BSD-3. See LICENSE for details. (license (list license:expat license:bsd-3)))) + +(define-public emacs-agda2-mode + (package + (inherit agda) + (name "emacs-agda2-mode") + (build-system emacs-build-system) + (inputs '()) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'enter-elisp-dir + (lambda _ (chdir "src/data/emacs-mode") #t))))) + (home-page "https://agda.readthedocs.io/en/latest/tools/emacs-mode.html") + (synopsis "Emacs mode for Agda") + (description "This Emacs mode enables interactive development with +Agda. It also aids the input of Unicode characters."))) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 7618c0e1f6..53d7d8d441 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,13 +35,19 @@ #:use-module (gnu packages) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages docker) #:use-module (gnu packages gnupg) #:use-module (gnu packages pcre) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) + #:use-module (gnu packages python-web) #:use-module (gnu packages selinux) + #:use-module (gnu packages serialization) #:use-module (gnu packages ssh) - #:use-module (gnu packages version-control) #:use-module (gnu packages tls) + #:use-module (gnu packages version-control) + #:use-module (gnu packages virtualization) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages linux)) (define-public android-make-stub @@ -807,3 +814,100 @@ script that you can put anywhere in your path.") Boot Images. @code{abootimg} can work directly on block devices, or, the safest way, on a file image.") (license license:gpl2+))) + +(define-public python-androguard + (package + (name "python-androguard") + (version "3.2.1") + (source + (origin + ;; The pypi release doesn't have the tests, but the tests use + ;; packaged binaries, so we skip them. + (method url-fetch) + (uri (pypi-uri "androguard" version)) + (sha256 + (base32 + "0ndsw00pkyda4i2s3wi5ap8gbk6a9d23xhhxpdbk02padv8sxkfv")))) + (build-system python-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (replace 'check + ;; Adapted from .travis.yml + (lambda _ + (invoke "nosetests" "--with-coverage" "--with-timer" + "--timer-top-n" "50")))))) + (native-inputs + `(("python-codecov" ,python-codecov) + ("python-coverage" ,python-coverage) + ("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-nose-timer" ,python-nose-timer))) + (propagated-inputs + `(("python-asn1crypto" ,python-asn1crypto) + ("python-colorama" ,python-colorama) + ("python-future" ,python-future) + ("python-ipython" ,python-ipython) + ("python-lxml" ,python-lxml) + ("python-matplotlib" ,python-matplotlib) + ("python-networkx" ,python-networkx) + ("python-pygments" ,python-pygments) + ("python-pyperclip" ,python-pyperclip))) + (home-page "https://github.com/androguard/androguard") + (synopsis "Python tool to play with Android files") + (description + "Androguard is a full Python tool to manipulate Android files. It is +useful for reverse engineering, analysis of Android applications and more.") + (license license:asl2.0))) + +(define-public fdroidserver + (package + (name "fdroidserver") + (version "1.0.9") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fdroidserver" version)) + (sha256 + (base32 + "0cwb1fmindw6v9jkiim9yn3496rk1pvnk94s1r0vz2hxgz16xp7n")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-versioning + (lambda _ + (substitute* "setup.py" + (("0.2.1") ,(package-version python-pyasn1-modules))) + #t))))) + (propagated-inputs + `(("python-androguard" ,python-androguard) + ("python-apache-libcloud" ,python-apache-libcloud) + ("python-clint" ,python-clint) + ("python-docker-py" ,python-docker-py) + ("python-gitpython" ,python-gitpython) + ("python-mwclient" ,python-mwclient) + ("python-paramiko" ,python-paramiko) + ("python-pillow" ,python-pillow) + ("python-pyasn1" ,python-pyasn1) + ("python-pyasn1-modules" ,python-pyasn1-modules) + ("python-pyyaml" ,python-pyyaml) + ("python-qrcode" ,python-qrcode) + ("python-ruamel.yaml" ,python-ruamel.yaml) + ("python-requests" ,python-requests) + ("python-vagrant" ,python-vagrant))) + (native-inputs + `(("python-babel" ,python-babel) + ("python-bcrypt" ,python-bcrypt) + ("python-docker-pycreds" ,python-docker-pycreds) + ("python-pynacl" ,python-pynacl) + ("python-websocket-client" ,python-websocket-client))) + (home-page "https://f-droid.org") + (synopsis "F-Droid server tools") + (description + "The F-Droid server tools provide various scripts and tools that are used +to maintain F-Droid, the repository of free Android applications. You can use +these same tools to create your own additional or alternative repository for +publishing, or to assist in creating, testing and submitting metadata to the +main repository.") + (license license:agpl3+))) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 81eb5bdddc..572d64f53a 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -862,6 +862,23 @@ GLIBC/HURD for a Hurd host" (define-syntax glibc (identifier-syntax (glibc-for-target))) +;; The "next" libc. Useful for populating locale data before reconfiguring the +;; entire system on it. Will be the default in the next rebuild cycle. +(define-public glibc-2.28 + (package + (inherit glibc) + (version "2.28") + (source (origin + (inherit (package-source glibc)) + (uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz")) + (sha256 + (base32 + "10iha5ynvdj5m62vgpgqbq4cwvc2yhyl2w9yyyjgfxmdmx8h145i")) + (patches (search-patches "glibc-allow-kernel-2.6.32.patch" + "glibc-ldd-x86_64.patch" + "glibc-hidden-visibility-ldconfig.patch" + "glibc-versioned-locpath.patch")))))) + ;; Below are old libc versions, which we use mostly to build locale data in ;; the old format (which the new libc cannot cope with.) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 73cca16717..849225bd78 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -767,6 +767,29 @@ into separate processes; and more.") (define-public python2-biopython (package-with-python2 python-biopython)) +(define-public python-fastalite + (package + (name "python-fastalite") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "fastalite" version)) + (sha256 + (base32 + "1qli6pxp77i9xn2wfciq2zaxhl82bdxb33cpzqzj1z25yd036wqj")))) + (build-system python-build-system) + (arguments + `(#:tests? #f)) ; Test data is not distributed. + (home-page "https://github.com/nhoffman/fastalite") + (synopsis "Simplest possible FASTA parser") + (description "This library implements a FASTA and a FASTQ parser without +relying on a complex dependency tree.") + (license license:expat))) + +(define-public python2-fastalite + (package-with-python2 python-fastalite)) + (define-public bpp-core ;; The last release was in 2014 and the recommended way to install from source ;; is to clone the git repository, so we do this. @@ -1948,15 +1971,18 @@ accessing bigWig files.") (define-public python-dendropy (package (name "python-dendropy") - (version "4.2.0") + (version "4.4.0") (source (origin (method url-fetch) - (uri (pypi-uri "DendroPy" version)) + ;; Source from GitHub so that tests are included. + (uri + (string-append "https://github.com/jeetsukumaran/DendroPy/archive/v" + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "15c7s3d5gf19ljsxvq5advaa752wfi7pwrdjyhzmg85hccyvp47p")) - (patches (search-patches "python-dendropy-fix-tests.patch")))) + "0v2fccny5xjaah546bsch1mw4kh61qq5frz2ibllxs9mp6ih9bsn")))) (build-system python-build-system) (home-page "http://packages.python.org/DendroPy/") (synopsis "Library for phylogenetics and phylogenetic computing") @@ -1964,23 +1990,10 @@ accessing bigWig files.") "DendroPy is a library for phylogenetics and phylogenetic computing: reading, writing, simulation, processing and manipulation of phylogenetic trees (phylogenies) and characters.") - (license license:bsd-3) - (properties `((python2-variant . ,(delay python2-dendropy)))))) + (license license:bsd-3))) (define-public python2-dendropy - (let ((base (package-with-python2 (strip-python2-variant python-dendropy)))) - (package - (inherit base) - (arguments - `(#:python ,python-2 - #:phases - (modify-phases %standard-phases - (replace 'check - ;; There is currently a test failure that only happens on some - ;; systems, and only using "setup.py test" - (lambda _ (zero? (system* "nosetests"))))))) - (native-inputs `(("python2-nose" ,python2-nose) - ,@(package-native-inputs base)))))) + (package-with-python2 python-dendropy)) (define-public python-py2bit (package @@ -6046,7 +6059,13 @@ Cuffdiff or Ballgown programs.") `(("python-sqlalchemy" ,python2-sqlalchemy) ("python-decorator" ,python2-decorator) ("python-biopython" ,python2-biopython) - ("python-pandas" ,python2-pandas))) + ("python-pandas" ,python2-pandas) + ("python-psycopg2" ,python2-psycopg2) + ("python-fastalite" ,python2-fastalite) + ("python-pyyaml" ,python2-pyyaml) + ("python-six" ,python2-six) + ("python-jinja2" ,python2-jinja2) + ("python-dendropy" ,python2-dendropy))) (home-page "https://github.com/fhcrc/taxtastic") (synopsis "Tools for taxonomic naming and annotation") (description @@ -12833,11 +12852,12 @@ once. This package provides tools to perform Drop-seq analyses.") (lambda _ (substitute* "Makefile.in" (("(^ tests/test_trim_galore/test.sh).*" _ m) m) + (("^ tests/test_multiqc/test.sh") "") (("^ test.sh") "")) #t))))) (inputs `(("gzip" ,gzip) - ("snakemake" ,snakemake) + ("snakemake" ,snakemake-4) ("fastqc" ,fastqc) ("multiqc" ,multiqc) ("star" ,star) @@ -12931,7 +12951,7 @@ expression report comparing samples in an easily configurable manner.") ("fastqc" ,fastqc) ("bowtie" ,bowtie) ("idr" ,idr) - ("snakemake" ,snakemake) + ("snakemake" ,snakemake-4) ("samtools" ,samtools) ("bedtools" ,bedtools) ("kentutils" ,kentutils))) @@ -12992,7 +13012,7 @@ in an easily configurable manner.") ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1) ("python-wrapper" ,python-wrapper) ("python-pyyaml" ,python-pyyaml) - ("snakemake" ,snakemake) + ("snakemake" ,snakemake-4) ("bismark" ,bismark) ("fastqc" ,fastqc) ("bowtie" ,bowtie) @@ -13041,7 +13061,7 @@ methylation and segmentation.") ("python-loompy" ,python-loompy) ("ghc-pandoc" ,ghc-pandoc-1) ("ghc-pandoc-citeproc" ,ghc-pandoc-citeproc-with-pandoc-1) - ("snakemake" ,snakemake) + ("snakemake" ,snakemake-4) ("star" ,star) ("r-minimal" ,r-minimal) ("r-argparser" ,r-argparser) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index de85ead174..e59d15c087 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -476,7 +476,10 @@ board-independent tools."))) `(("gcc-7" ,gcc-7))) ,@(package-native-inputs u-boot))) (arguments - `(#:modules ((ice-9 ftw) (guix build utils) (guix build gnu-build-system)) + `(#:modules ((ice-9 ftw) + (srfi srfi-1) + (guix build utils) + (guix build gnu-build-system)) #:test-target "test" #:make-flags (list "HOSTCC=gcc" diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index bc6042874b..d82db532aa 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,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 (guix build-system trivial) #:use-module (gnu packages bootstrap) @@ -30,6 +32,12 @@ #:use-module (gnu packages perl) #:use-module (gnu packages texinfo) #:use-module (gnu packages guile) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages pcre) + #:use-module (gnu packages python) + #:use-module (gnu packages autotools) + #:use-module (gnu packages gettext) + #:use-module (gnu packages pkg-config) #:use-module (srfi srfi-1)) (define-public tcc @@ -166,3 +174,50 @@ compiler while still keeping it small, simple, fast and understandable.") ;; PCC incorporates code under various BSD licenses; for new code bsd-2 is ;; preferred. See http://pcc.ludd.ltu.se/licenses/ for more details. (license (list license:bsd-2 license:bsd-3)))) + +(define-public libbytesize + (package + (name "libbytesize") + (version "1.3") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/storaged-project/libbytesize/releases/download/1.3/libbytesize-" + version ".tar.gz")) + (sha256 + (base32 + "1l7mxm2vq2h6137fyfa46v9r4lydp9dvmsixkd64xr3ylqk1g6fi")))) + (build-system gnu-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (inputs + `(("mpfr" ,mpfr) + ("pcre" ,pcre))) + ;; One test fails because busctl (systemd only?) and python2-pocketlint + ;; are missing. Should we fix it, we would need the "python-2" , + ;; "python2-polib" and "python2-six" native-inputs. + (arguments `(#:tests? #f)) + (home-page "https://github.com/storaged-project/libbytesize") + (synopsis "Tiny C library for working with arbitrary big sizes in bytes") + (description + "The goal of this project is to provide a tiny library that would +facilitate the common operations with sizes in bytes. Many projects need to +work with sizes in bytes (be it sizes of storage space, memory...) and all of +them need to deal with the same issues like: + +@itemize +@item How to get a human-readable string for the given size? +@item How to store the given size so that no significant information is lost? +@item If we store the size in bytes, what if the given size gets over the +MAXUINT64 value? +@item How to interpret sizes entered by users according to their locale and +typing conventions? +@item How to deal with the decimal/binary units (MB versus MiB) ambiguity? +@end itemize + +@code{libbytesize} offers a generally usable solution that could be used by +every project that needs to deal with sizes in bytes. It is written in the C +language with thin bindings for other languages.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 5cb9c7ab2e..242c531652 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -7,7 +7,7 @@ ;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org> @@ -1213,6 +1213,30 @@ testing frameworks.") (define-public python2-cov-core (package-with-python2 python-cov-core)) +(define-public python-codecov + (package + (name "python-codecov") + (version "2.0.15") + (source + (origin + (method url-fetch) + (uri (pypi-uri "codecov" version)) + (sha256 + (base32 + "1217c0vqf7ii65635gvl27a5pfhv0r7zhrpdp9cx640hg73bgn4f")))) + (build-system python-build-system) + (native-inputs + `(("python-unittest2" ,python-unittest2))) + (propagated-inputs + `(("python-coverage" ,python-coverage) + ("python-requests" ,python-requests))) + (home-page "http://github.com/codecov/codecov-python") + (synopsis "Upload code coverage reports to @code{codecov.io}") + (description + "Codecov collects code coverage reports from code written in Python, Java, +C/C++, R, and more, and uploads it to the @code{codecov.io} service.") + (license license:asl2.0))) + (define-public python-testpath (package (name "python-testpath") diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index 85dbefae7a..05353a790b 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -185,7 +185,7 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "7b2f9e0de1ad2d320973b7aea132a8afcad8bece") + (let ((commit "99241ef1af24cadf39e3cad39f9ff27c96b22068") (revision "17")) (package (name "cuirass") @@ -198,7 +198,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "0knww99adgjh8s6f38z3hpwi9hxhmnvqj5g35pcj80xv8j4xj3y3")))) + "1hj17s07sq6nn9wlssd4pi4hzdfyp74kyz5rqv7wr4468xh80pk7")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index fc4baa5b54..106b8c7fe6 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -1686,14 +1686,14 @@ problems as well as resampling based estimators of prediction error.") (define-public r-psych (package (name "r-psych") - (version "1.7.8") + (version "1.8.4") (source (origin (method url-fetch) (uri (cran-uri "psych" version)) (sha256 (base32 - "0daismb8pdk392vdy304hqx0m3jx62gx3a0hygjygc125rhfla7k")))) + "1kzv9nc7rwn1sj1zxd8xrbs6c7qlka7j2c8lsr4f20znkd3qx8gf")))) (build-system r-build-system) (propagated-inputs `(("r-foreign" ,r-foreign) @@ -3467,37 +3467,6 @@ filtering functions, resampling routines, and visualization of filter models. It also includes interpolation functions.") (license license:gpl2))) -(define-public r-psych - (package - (name "r-psych") - (version "1.8.4") - (source - (origin - (method url-fetch) - (uri (cran-uri "psych" version)) - (sha256 - (base32 - "1kzv9nc7rwn1sj1zxd8xrbs6c7qlka7j2c8lsr4f20znkd3qx8gf")))) - (build-system r-build-system) - (propagated-inputs - `(("r-foreign" ,r-foreign) - ("r-lattice" ,r-lattice) - ("r-mnormt" ,r-mnormt) - ("r-nlme" ,r-nlme))) - (home-page "http://cran.r-project.org/web/packages/psych") - (synopsis "Procedures for psychological, psychometric, and personality research") - (description - "This package provides a general purpose toolbox for personality, -psychometric theory and experimental psychology. The functions are primarily -for multivariate analysis and scale construction using factor analysis, -principal component analysis, cluster analysis and reliability analysis, -although others provide basic descriptive statistics. It provides functions -for analyzing data at multiple levels within and between group statistics, -including correlations and factor analysis; functions for simulating and -testing particular item and test structures are included. Several functions -serve as a useful front end for structural equation modeling.") - (license license:gpl2+))) - (define-public r-gsubfn (package (name "r-gsubfn") diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 7c78414dcc..5561d05a1b 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -25,7 +25,7 @@ ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> -;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com> +;;; Copyright © 2017, 2018 Ben Woodcroft <donttrustben@gmail.com> ;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> @@ -638,7 +638,7 @@ Language.") "0bax748j4srsyhw5cs5jvwigndh0zwmf4r2cjvhja31ckx8jqccl")))) (build-system cmake-build-system) (arguments - '(#:configure-flags + `(#:configure-flags '("-DBUILD_CONFIG=mysql_release" ;; Linking with libarchive fails, like this: @@ -665,6 +665,18 @@ Language.") "-DINSTALL_SHAREDIR=share/mysql") #:phases (modify-phases %standard-phases + + ;; Apply this patch that's only needed on ARM. + ,@(if (and (not (%current-target-system)) + (string=? "armhf-linux" (%current-system))) + `((add-after 'unpack 'apply-patch + (lambda* (#:key inputs #:allow-other-keys) + (let ((patch (assoc-ref inputs "gcc-ice-patch"))) + (invoke "patch" "-p1" "--force" + "--input" patch) + #t)))) + '()) + (add-before 'configure 'pre-configure (lambda _ @@ -686,7 +698,10 @@ Language.") #t)))))) (native-inputs `(("bison" ,bison) - ("perl" ,perl))) + ("perl" ,perl) + ,@(if (string=? "armhf-linux" (%current-system)) + `(("gcc-ice-patch" ,(search-patch "mariadb-gcc-ice.patch"))) + '()))) (inputs `(("jemalloc" ,jemalloc) ("libaio" ,libaio) @@ -2385,14 +2400,14 @@ designed to be easy and intuitive to use.") (define-public python-psycopg2 (package (name "python-psycopg2") - (version "2.7.3.1") + (version "2.7.5") (source (origin (method url-fetch) (uri (pypi-uri "psycopg2" version)) (sha256 (base32 - "0rda1j02ds6s28752fhmpwg761sh6jsxi1gpczqkrd28cki1cywv")))) + "17klx964gw8z0znl0raz3by8vdc7cq5gxj4pdcrfcina84nrdkzc")))) (build-system python-build-system) (arguments ;; Tests would require a postgresql database "psycopg2_test" @@ -2403,7 +2418,8 @@ designed to be easy and intuitive to use.") (home-page "http://initd.org/psycopg/") (synopsis "Python PostgreSQL adapter") (description - "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API 2.0. ") + "psycopg2 is a thread-safe PostgreSQL adapter that implements DB-API +2.0.") (license license:lgpl3+))) (define-public python2-psycopg2 diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c1fc2e2c30..9d05b2444e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,6 +33,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 (guix build-system trivial) #:use-module (guix build-system python) @@ -55,7 +57,16 @@ #:use-module (gnu packages compression) #:use-module (gnu packages vim) #:use-module (gnu packages w3m) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (gnu packages cryptsetup) + #:use-module (gnu packages gnuzilla) + #:use-module (gnu packages gnupg) + #:use-module (gnu packages swig) + #:use-module (gnu packages autotools) + #:use-module (gnu packages web) + #:use-module (gnu packages documentation) + #:use-module (gnu packages bash) + #:use-module (gnu packages c)) (define-public parted (package @@ -547,3 +558,188 @@ provides a minimalistic and nice curses interface with a view on the directory hierarchy. It ships with @code{rifle}, a file launcher that is good at automatically finding out which program to use for what file type.") (license license:gpl3))) + +(define-public volume-key + (package + (name "volume-key") + (version "0.3.11") + (source (origin + (method url-fetch) + (uri (string-append "https://releases.pagure.org/volume_key/volume_key-" + version ".tar.xz")) + (sha256 + (base32 + "0vaz15rcgdkh5z4yxc22x76wi44gh50jxnrqz5avaxz4bb17kcp6")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("util-linux" ,util-linux) + ("swig" ,swig) + ("python" ,python-3))) ; Used to generate the Python bindings. + (inputs + `(("cryptsetup" ,cryptsetup) + ("nss" ,nss) + ("lvm2" ,lvm2) ; For "-ldevmapper". + ("glib" ,glib) + ("gpgme" ,gpgme))) + (arguments + `(#:tests? #f ; Not sure how tests are supposed to pass, even when run manually. + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-python.h-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((python (assoc-ref inputs "python"))) + (substitute* "Makefile.in" + (("/usr/include/python") (string-append python "/include/python"))) + #t)))))) + (home-page "https://pagure.io/volume_key") + (synopsis "Manipulate storage volume encryption keys") + (description + "This package provides a library for manipulating storage volume +encryption keys and storing them separately from volumes to handle forgotten +passphrases.") + (license license:gpl2))) + +(define-public ndctl + (package + (name "ndctl") + (version "61.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pmem/ndctl") + (commit (string-append "v" version)))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0vid78jzhmzh505bpwn8mvlamfhcvl6rlfjc29y4yn7zslpydxl7")))) + (build-system gnu-build-system) + (native-inputs + `(("asciidoc" ,asciidoc) + ("automake" ,automake) + ("autoconf" ,autoconf) + ("docbook-xsl" ,docbook-xsl) + ("libtool" ,libtool) + ("libxml2" ,libxml2) + ("pkg-config" ,pkg-config) + ("xmlto" ,xmlto) + ;; Required for offline docbook generation: + ("which" ,which))) + (inputs + `(("eudev" ,eudev) + ("json-c" ,json-c) + ("kmod" ,kmod) + ("util-linux" ,util-linux))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (substitute* "autogen.sh" + (("/bin/sh") (which "sh"))) + (substitute* "git-version-gen" + (("/bin/sh") (which "sh"))) + (substitute* "git-version" + (("/bin/bash") (which "bash")))))) + #:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "BASH_COMPLETION_DIR=" out + "/share/bash-completion/completions"))))) + (home-page "https://github.com/pmem/ndctl") + (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel") + (description + "This package provides a utility library for managing the +libnvdimm (non-volatile memory device) sub-system in the Linux kernel.") + ;; COPYING says LGPL2.1, but many source files are GPL2 so that's + ;; the effective license. Note that some files under ccan/ are + ;; covered by BSD-3 or public domain, see the individual folders. + (license license:gpl2))) + +(define-public dmraid + (package + (name "dmraid") + (version "1.0.0.rc16-3") + (source (origin + (method url-fetch) + (uri (string-append "https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-" + version ".tar.bz2")) + (sha256 + (base32 + "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk")))) + (build-system gnu-build-system) + (inputs `(("lvm2" ,lvm2))) + (native-inputs `(("which" ,which))) + (arguments + `(#:tests? #f ; No tests. + ;; Prevent a race condition where some target would attempt to link + ;; libdmraid.so before it had been built as reported in + ;; <https://bugs.gnu.org/31999#187>. + #:parallel-build? #f + #:phases (modify-phases %standard-phases + (add-before 'configure 'change-directory + (lambda _ + (chdir (string-append ,version "/dmraid")) + (substitute* "make.tmpl.in" + (("/bin/sh") (which "sh"))) + #t))) + #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can + ;; find libdmraid.so. + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib")))) + (home-page "https://people.redhat.com/~heinzm/sw/dmraid/") + (synopsis "Device mapper RAID interface") + (description + "This software supports RAID device discovery, RAID set activation, creation, +removal, rebuild and display of properties for ATARAID/DDF1 metadata. + +@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime +to create devices with respective mappings for the ATARAID sets discovered.") + (license license:gpl2+))) + +(define-public libblockdev + (package + (name "libblockdev") + (version "2.18") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/storaged-project/libblockdev/releases/download/" + version "-1/libblockdev-" version ".tar.gz")) + (sha256 + (base32 + "1a3kpdr9s6g7nfibazi92i27wbv692b5gm2r24gimis6l6jq4pbh")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python" ,python-wrapper) + ("util-linux" ,util-linux))) + (inputs + `(("btrfs-progs" ,btrfs-progs) + ("cryptsetup" ,cryptsetup) + ("dosfstools" ,dosfstools) + ("dmraid" ,dmraid) + ("eudev" ,eudev) + ("glib" ,glib) + ("gobject-introspection" ,gobject-introspection) + ("kmod" ,kmod) + ("libbytesize" ,libbytesize) + ("libyaml" ,libyaml) + ("lvm2" ,lvm2) + ("mdadm" ,mdadm) + ("ndctl" ,ndctl) + ("nss" ,nss) + ("parted" ,parted) + ("volume-key" ,volume-key) + ;; ("xfsprogs" ,xfsprogs) ; TODO: Package? + )) + (home-page "https://github.com/storaged-project/libblockdev") + (synopsis "Library for manipulating block devices") + (description + "libblockdev is a C library supporting GObject introspection for +manipulation of block devices. It has a plugin-based architecture where each +technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate +plugin, possibly with multiple implementations (e.g. using LVM CLI or the new +LVM D-Bus API).") + ;; XXX: Copying says LGPL2.1, but the source files with license + ;; information are GPL2+. + (license license:gpl2+))) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index f540417b4f..c58f3f3caa 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Thompson <davet@gnu.org> +;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,20 +25,21 @@ #:use-module (guix git-download) #:use-module (guix build-system python) #:use-module (guix utils) + #:use-module (gnu packages check) #:use-module (gnu packages python) #:use-module (gnu packages python-web)) (define-public python-docker-py (package (name "python-docker-py") - (version "1.6.0") + (version "1.10.6") (source (origin (method url-fetch) (uri (pypi-uri "docker-py" version)) (sha256 (base32 - "16ba4xyd46hkj9nkfpz15r8kskl7ljx1afjzchyrhdsrklvzgzim")))) + "05f49f6hnl7npmi7kigg0ibqk8s3fhzx1ivvz1kqvlv4ay3paajc")))) (build-system python-build-system) ;; TODO: Tests require a running Docker daemon. (arguments '(#:tests? #f)) @@ -103,3 +105,40 @@ multi-container Docker applications. A Compose file is used to configure an application’s services. Then, using a single command, the containers are created and all the services are started as specified in the configuration.") (license license:asl2.0))) + +(define-public python-docker-pycreds + (package + (name "python-docker-pycreds") + (version "0.3.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "docker-pycreds" version)) + (sha256 + (base32 + "1zxvam1q22qb0jf48553nnncnfrcp88ag4xa0qmq6vr0imn9a3lb")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-versioning + (lambda _ + (substitute* "test-requirements.txt" + (("3.0.2") ,(package-version python-pytest)) + (("2.3.1") ,(package-version python-pytest-cov)) + (("2.4.1") ,(package-version python-flake8))) + #t))))) + (native-inputs + `(("python-flake8" ,python-flake8) + ("python-pytest" ,python-pytest) + ("python-pytest-cov" ,python-pytest-cov))) + (propagated-inputs + `(("python-six" ,python-six))) + (home-page "https://github.com/shin-/dockerpy-creds") + (synopsis + "Python bindings for the Docker credentials store API") + (description + "Docker-Pycreds contains the Python bindings for the docker credentials +store API. It allows programmers to interact with a Docker registry using +Python without keeping their credentials in a Docker configuration file.") + (license license:asl2.0))) diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 97bc7728ec..82af1f233d 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -34,14 +34,14 @@ (define-public elfutils (package (name "elfutils") - (version "0.172") + (version "0.173") (source (origin (method url-fetch) (uri (string-append "https://sourceware.org/elfutils/ftp/" version "/elfutils-" version ".tar.bz2")) (sha256 (base32 - "090fmbnvd9jblkwhb2bm3hanim63rrvd5f30mfxq4jac6kk9k73p")) + "1zq0l12k64hrbjmdjc4llrad96c25i427hpma1id9nk87w9qqvdp")) (patches (search-patches "elfutils-tests-ptrace.patch")))) (build-system gnu-build-system) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index eab31278a5..2ac7e010e7 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -733,7 +733,15 @@ programs.") version "/flycheck-" version ".tar")) (sha256 (base32 - "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240")))) + "01rnwan16m7cyyrfca3c5c60mbj2r3knkpzbhji2fczsf0wns240")) + (modules '((guix build utils))) + (snippet `(begin + ;; Change 'flycheck-version' so that it does not + ;; attempt to get its version from pkg-info.el. + (substitute* "flycheck.el" + (("\\(pkg-info-version-info 'flycheck\\)") + (string-append "\"" ,version "\""))) + #t)))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) @@ -8701,32 +8709,6 @@ region instead.") schema validation.") (license license:gpl3+))) -(define-public emacs-load-relative - (let ((commit "738896e3da491b35399178ed2c6bc92cc728d119") - (revision "1")) - (package - (name "emacs-load-relative") - (version (string-append "0.0.1" "-" revision "." - (string-take commit 7))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/rocky/emacs-load-relative") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "1rpy5mfncncl6gqgg53d3g25g1700g4b9bivd4c0cfcv5dbxhp73")))) - (build-system emacs-build-system) - (home-page "https://github.com/rocky/emacs-load-relative") - (synopsis "Relative loads for Emacs Lisp files") - (description "@code{load-relative} allows to write small Emacs -functions or modules in a larger multi-file Emacs package and -facilitate running from the source tree without having to install the -code or fiddle with evil @code{load-path}.") - (license license:gpl3+)))) - (define-public emacs-rainbow-blocks (let ((commit "dd435d7bb34ff6f162a5f315df308b90b7e9f842")) (package @@ -9645,26 +9627,6 @@ buffer.") downloading manager for Emacs.") (license license:gpl3+)))) -(define-public emacs-csv-mode - (package - (name "emacs-csv-mode") - (version "1.7") - (source - (origin - (method url-fetch) - (uri (string-append "http://elpa.gnu.org/packages/csv-mode-" - version ".el")) - (sha256 - (base32 - "0r4bip0w3h55i8h6sxh06czf294mrhavybz0zypzrjw91m1bi7z6")))) - (build-system emacs-build-system) - (home-page "http://elpa.gnu.org/packages/csv-mode.html") - (synopsis "Major mode for editing comma or char separated values") - (description - "This package provides an Emacs CSV mode, a major mode for editing -records in a generalized CSV (character-separated values) format.") - (license license:gpl3+))) - (define-public emacs-helpful (package (name "emacs-helpful") @@ -11611,3 +11573,72 @@ value. For directories where the user doesn't have read permission, the recursive size is not obtained. Once this mode is enabled, every new Dired buffer displays recursive dir sizes.") (license license:gpl3+))) + +(define-public emacs-pcre2el + ;; Last release is very old so we get the latest commit. + (let ((commit "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d")) + (package + (name "emacs-pcre2el") + (version (git-version "1.8" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joddie/pcre2el") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14br6ad138qx1z822wqssswqiihxiynz1k69p6mcdisr2q8yyi1z")))) + (build-system emacs-build-system) + (home-page "https://github.com/joddie/pcre2el") + (synopsis "Convert between PCRE, Emacs and rx regexp syntax") + (description "@code{pcre2el} or @code{rxt} (RegeXp Translator or RegeXp +Tools) is a utility for working with regular expressions in Emacs, based on a +recursive-descent parser for regexp syntax. In addition to converting (a +subset of) PCRE syntax into its Emacs equivalent, it can do the following: + +@itemize +@item convert Emacs syntax to PCRE +@item convert either syntax to @code{rx}, an S-expression based regexp syntax +@item untangle complex regexps by showing the parse tree in @code{rx} form and +highlighting the corresponding chunks of code +@item show the complete list of strings (productions) matching a regexp, +provided the list is finite +@item provide live font-locking of regexp syntax (so far only for Elisp +buffers – other modes on the TODO list). +@end itemize\n") + (license license:gpl3)))) + +(define-public emacs-magit-todos + ;; TODO: <1.1 is broken with Guix. Switch to 1.1 when out. + (let ((commit "966642762788d335dc2d3667d230a36ede65972e")) + (package + (name "emacs-magit-todos") + (version (git-version "1.0.4" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/magit-todos") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nxarip8sf0446xfgrcfsjm4vbsg50klxjbr4i6h09a3lri03gyp")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-async" ,emacs-async) + ("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-hl-todo" ,emacs-hl-todo) + ("magit" ,magit) + ("emacs-pcre2el" ,emacs-pcre2el) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/magit-todos") + (synopsis "Show source files' TODOs (and FIXMEs, etc) in Magit status buffer") + (description "This package displays keyword entries from source code +comments and Org files in the Magit status buffer. Activating an item jumps +to it in its file. By default, it uses keywords from @code{hl-todo}, minus a +few (like NOTE).") + (license license:gpl3)))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 3ddaa76a4e..fd2a5af0cb 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au> @@ -376,7 +376,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (uri (git-reference (url "https://github.com/monero-project/monero") (commit (string-append "v" version)))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name name version)) (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32 @@ -470,7 +470,7 @@ Monero command line client and daemon.") (uri (git-reference (url "https://github.com/monero-project/monero-gui") (commit (string-append "v" version)))) - (file-name (string-append name "-" version ".tar.gz")) + (file-name (git-file-name name version)) (sha256 (base32 "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl")))) @@ -478,12 +478,16 @@ Monero command line client and daemon.") (native-inputs `(("doxygen" ,doxygen) ("graphviz" ,graphviz) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("qttools" ,qttools))) (inputs `(("boost" ,boost) ("libunwind" ,libunwind) ("openssl" ,openssl) - ("qt" ,qt) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative) + ("qtgraphicaleffects" ,qtgraphicaleffects) + ("qtquickcontrols" ,qtquickcontrols) ("readline" ,readline) ("unbound" ,unbound))) (propagated-inputs @@ -518,6 +522,15 @@ Monero command line client and daemon.") (string-append "\""(assoc-ref inputs "monero") "/bin/monerod"))) #t)) + (add-after 'fix-monerod-path 'fix-qt-paths + (lambda* (#:key inputs #:allow-other-keys) + (let* ((qttools (assoc-ref inputs "qttools")) + (lrelease (string-append qttools "/bin/lrelease")) + (lupdate (string-append qttools "/bin/lupdate"))) + (substitute* "monero-wallet-gui.pro" + (("\\$\\$\\[QT_INSTALL_BINS\\]/lrelease") lrelease) + (("\\$\\$\\[QT_INSTALL_BINS\\]/lupdate") lupdate)) + #t))) (replace 'build (lambda _ (invoke "./build.sh"))) @@ -529,7 +542,23 @@ Monero command line client and daemon.") #t)) (add-before 'install 'change-dir (lambda _ - (chdir "build")))))) + (chdir "build"))) + (add-after 'install 'wrap-executable + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/monero-wallet-gui") + `("QT_PLUGIN_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/plugins")) + '("qtbase" "qtdeclarative"))) + `("QML2_IMPORT_PATH" ":" prefix + ,(map (lambda (label) + (string-append (assoc-ref inputs label) + "/lib/qt5/qml")) + '("qtdeclarative" "qtgraphicaleffects" + "qtquickcontrols")))) + #t)))))) (home-page "https://getmonero.org/") (synopsis "Graphical user interface for the Monero currency") (description diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index e9b68a7797..dd91d77c6c 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Joshua Grant <tadni@riseup.net> ;;; Copyright © 2014 Alex Kost <alezost@gmail.com> @@ -1262,3 +1262,32 @@ Lohit supports the Assamese, Bengali, Devanagari (Hindi, Kashmiri, Konkani, Maithili, Marathi, Nepali, Sindhi, Santali, Bodo, Dogri languages), Gujarati, Kannada, Malayalam, Manipuri, Oriya, Punjabi, Tamil and Telugu scripts.") (license license:silofl1.1))) + +(define-public font-blackfoundry-inria + (package + (name "font-blackfoundry-inria") + (version "1.200") + (home-page "https://github.com/BlackFoundry/InriaFonts") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "06775y99lyh6hj5hzvrx56iybdck8a8xfqkipqd5c4cldg0a9hh8")) + (file-name (string-append name "-" version "-checkout")))) + ;; XXX: There are .ufo directories (the "source") so in theory we should + ;; be able to rebuild TTF and OTF files with FontForge. Unfortunately a + ;; command like: + ;; + ;; fontforge -lang=ff -c "Open('InriaSans-Regular.ufo'); Generate('foo.ttf');" + ;; + ;; segfaults in '_UFOLoadGlyph', which calls out to libpython. :-/ + ;; In the meantime we ship the precompiled OTF and TTF files. + (build-system font-build-system) + (synopsis "Inria Sans and Inria Serif type family") + (description + "Inria Sans and Inria Serif are the two members of a type family designed +for Inria, a public research institute in computer science and mathematics.") + (license license:silofl1.1))) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index b42a27b8c8..a76a36ff58 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com> ;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org> ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -623,20 +624,23 @@ Analysis and Reporting Technology) functionality.") (define-public udisks (package (name "udisks") - (version "2.1.8") + (version "2.7.7") (source (origin (method url-fetch) - (uri (string-append "https://udisks.freedesktop.org/releases/" - name "-" version ".tar.bz2")) + (uri (string-append + "https://github.com/storaged-project/udisks/releases/download/udisks-" + version "/udisks-" version ".tar.bz2")) (sha256 (base32 - "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs")))) + "1dnlxqgy9v0mjdknv3b1s64szdykyk3hk0rxj3chwhpd415lrwgs")))) (build-system gnu-build-system) (native-inputs `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages ("docbook-xsl" ,docbook-xsl) - ("glib:bin" ,glib "bin") ; for glib-mkenums + ("glib:bin" ,glib "bin") ; for glib-mkenums + ("gnome-common" ,gnome-common) ; TODO: Why is this needed? ("gobject-introspection" ,gobject-introspection) + ("gtk-doc" ,gtk-doc) ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("xsltproc" ,libxslt))) @@ -644,12 +648,12 @@ Analysis and Reporting Technology) functionality.") `(("glib" ,glib))) ; required by udisks2.pc (inputs `(("acl" ,acl) + ("cryptsetup" ,cryptsetup) ("libatasmart" ,libatasmart) + ("libblockdev" ,libblockdev) ("libgudev" ,libgudev) ("polkit" ,polkit) - ("util-linux" ,util-linux) - ("cryptsetup" ,cryptsetup) - ("parted" ,parted))) + ("util-linux" ,util-linux))) (outputs '("out" "doc")) ;5 MiB of gtk-doc HTML (arguments @@ -657,6 +661,8 @@ Analysis and Reporting Technology) functionality.") #:disallowed-references ("doc") ;enforce separation of "doc" #:configure-flags (list "--enable-man" + "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically. + "--enable-available-modules" ; Such as lvm2, btrfs, etc. "--localstatedir=/var" "--enable-fhs-media" ;mount devices in /media, not /run/media (string-append "--with-html-dir=" @@ -702,9 +708,6 @@ Analysis and Reporting Technology) functionality.") ;; cryptsetup is required for setting encrypted ;; partitions, e.g. in gnome-disks ,(string-append cryptsetup "/sbin") - ;; parted is required for managing partitions, e.g. in - ;; gnome-disks - ,(string-append parted "/sbin") "/run/current-system/profile/bin" "/run/current-system/profile/sbin"))) #t)))))) @@ -721,19 +724,21 @@ message bus.") (define-public accountsservice (package (name "accountsservice") - (version "0.6.43") + (version "0.6.50") (source (origin (method url-fetch) (uri (string-append "https://www.freedesktop.org/software/" name "/" name "-" version ".tar.xz")) (sha256 (base32 - "1k6n9079001sgcwlkq0bz6mkn4m8y4dwf6hs1qm85swcld5ajfzd")))) + "0jn7vg1z4vxnna0hl33hbcb4bb3zpilxc2vyclh24vx4vvsjhn83")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; XXX: tests require DocBook 4.1.2 #:configure-flags - '("--localstatedir=/var") + '("--localstatedir=/var" + "--disable-systemd" + "--enable-elogind") #:phases (modify-phases %standard-phases (add-before @@ -756,8 +761,9 @@ message bus.") ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs - `(("shadow" ,shadow) - ("polkit" ,polkit))) + `(("elogind" ,elogind) + ("polkit" ,polkit) + ("shadow" ,shadow))) (home-page "https://www.freedesktop.org/wiki/Software/AccountsService/") (synopsis "D-Bus interface for user account query and manipulation") (description diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 33e2b4a16c..130312ad46 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -357,14 +357,14 @@ levels.") (define-public python-xsge (package (name "python-xsge") - (version "2017.06.09") + (version "2018.02.26") (source (origin (method url-fetch) (uri (string-append "mirror://savannah/xsge/xsge/xsge-" version ".tar.gz")) (sha256 (base32 - "1vy7c2y7ihvmggs93zgfv2h3049s384wid8a5snzrrba8bhbb89p")))) + "0bx93hgf7cgdw2gsygbh59y8vpw37pgsa279rajw3fkdpl8vrc40")))) (build-system python-build-system) (arguments '(#:phases @@ -373,10 +373,9 @@ levels.") ;; system's default flags, "--single-version-externally-managed". (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (zero? - (system* "python" "setup.py" "install" - (string-append "--prefix=" (assoc-ref outputs "out")) - "--root=/"))))) + (invoke "python" "setup.py" "install" + (string-append "--prefix=" (assoc-ref outputs "out")) + "--root=/")))) #:tests? #f)) ; no check target (propagated-inputs `(("python-sge-pygame" ,python-sge-pygame) @@ -398,7 +397,7 @@ support.") (define-public tiled (package (name "tiled") - (version "1.1.5") + (version "1.1.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/bjorn/tiled/archive/v" @@ -406,7 +405,7 @@ support.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zrq1nhb50mwqzw3fln6vj49ljddil1v7yby3ahjbcm94s25ll1y")))) + "194ciw8688mikndvxivzb8ql5vm405pkwnn4srzm7ymwfc4xygb0")))) (build-system gnu-build-system) (inputs `(("qtbase" ,qtbase) @@ -425,8 +424,8 @@ support.") (assoc-ref inputs "qttools") "/bin/lrelease\n"))) (let ((out (assoc-ref outputs "out"))) - (system* "qmake" - (string-append "PREFIX=" out)))))))) + (invoke "qmake" + (string-append "PREFIX=" out)))))))) (home-page "http://www.mapeditor.org/") (synopsis "Tile map editor") (description @@ -645,18 +644,15 @@ etc.") (define-public allegro (package (name "allegro") - (version "5.2.2.0") + (version "5.2.4.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/liballeg/allegro5/releases" "/download/" version "/allegro-" - (if (equal? "0" (string-take-right version 1)) - (string-drop-right version 2) - version) - ".tar.gz")) + version ".tar.gz")) (sha256 (base32 - "1z4lrrlmn471wb7vzbd9iw7g379vj0k964vy1s64hcvv5bhvk1g2")))) + "1w9a5yqi5q03b2qvmx5ff90paz0xbr9cy7i7f0xiqa65ava66q9l")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; there are no tests (inputs diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 1082dadae6..6d4ce1f17d 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -10,7 +10,7 @@ ;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> -;;; Copyright © 2015, 2017 Christopher Allan Webber <cwebber@dustycloud.org> +;;; Copyright © 2015, 2017, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org> @@ -364,7 +364,7 @@ effects and music to make a completely free game.") (define-public golly (package (name "golly") - (version "3.1") + (version "3.2") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/golly/golly/golly-" @@ -372,7 +372,7 @@ effects and music to make a completely free game.") "-src.tar.gz")) (sha256 (base32 - "0dn74k3rylhx023n047lz4z6qrqijfcxi0b6jryqklhmm2n532f7")))) + "0cg9mbwmf4q6qxhqlnzrxh9y047banxdb8pd3hgj3smmja2zf0jd")))) (build-system gnu-build-system) (arguments '(#:make-flags (list "CC=gcc" @@ -545,15 +545,15 @@ destroying an ancient book using a special wand.") (define-public gnubg (package (name "gnubg") - (version "1.02") + (version "1.06.001") (source (origin (method url-fetch) (uri (string-append "http://files.gnubg.org/media/sources/gnubg-release-" - version ".000-sources." "tar.gz")) + version "-sources." "tar.gz")) (sha256 (base32 - "015mvjk2iw1cg1kxwxfnvp2rxb9cylf6yc39i30fdy414k07zkky")))) + "0snz3j1bvr25ji7lg82bl2gm2s2x9lrpc7viw0hclgz0ql74cw7b")))) (build-system gnu-build-system) (inputs `(("glib" ,glib) ("readline" ,readline) @@ -567,9 +567,9 @@ destroying an ancient book using a special wand.") ("pkg-config" ,pkg-config))) (home-page "http://gnubg.org") (synopsis "Backgammon game") - (description "The GNU backgammon application can be used for playing, analyzing and -teaching the game. It has an advanced evaluation engine based on artificial -neural networks suitable for both beginners and advanced players. In + (description "The GNU backgammon application can be used for playing, +analyzing and teaching the game. It has an advanced evaluation engine based on +artificial neural networks suitable for both beginners and advanced players. In addition to a command-line interface, it also features an attractive, 3D representation of the playing board.") (license license:gpl3+))) @@ -875,7 +875,8 @@ role, and your gender.") (copy-recursively "data" data) - (install-file "COPYING" doc))))))) + (install-file "COPYING" doc) + #t)))))) (inputs `(("python-sge-pygame" ,python-sge-pygame) ("python-six" ,python-six) @@ -1617,7 +1618,7 @@ match, cannon keep, and grave-itation pit.") (define-public minetest (package (name "minetest") - (version "0.4.17") + (version "0.4.17.1") (source (origin (method url-fetch) (uri (string-append @@ -1626,7 +1627,7 @@ match, cannon keep, and grave-itation pit.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0wpbad5bssbbgspgdcq3hhq4bhckrj53nhymsz34d8g01j0csr46")))) + "0ngb3h6hw0zbsr6isjpyp4fach0g4nbn6bxxv9g354plac6d89fd")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -2957,7 +2958,7 @@ fullscreen, use F5 or Alt+Enter.") (define-public warzone2100 (package (name "warzone2100") - (version "3.2.1") + (version "3.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name @@ -2965,10 +2966,11 @@ fullscreen, use F5 or Alt+Enter.") ".tar.xz")) (sha256 (base32 - "1nd609s0g4sya3r4amhkz3f4dpdmm94vsd2ii76ap665a1nbfrhg")))) + "10kmpr4cby95zwqsl1zwx95d9achli6khq7flv6xmrq30a39xazw")))) (build-system gnu-build-system) (arguments - `(#:phases + `(#:configure-flags '("--with-distributor=Guix") + #:phases (modify-phases %standard-phases (add-after 'unpack 'link-tests-with-qt (lambda _ @@ -2976,24 +2978,22 @@ fullscreen, use F5 or Alt+Enter.") (("(framework_linktest_LDADD|maptest_LDADD) = " prefix) (string-append prefix "$(QT5_LIBS) "))) #t)) - (add-after 'unpack 'remove-reference-to-missing-file + (add-after 'unpack 'fix-ivis-linktest (lambda _ - (substitute* "icons/Makefile.in" - (("\\$\\(INSTALL_DATA\\) \\$\\(srcdir\\)/warzone2100.appdata.xml.*") "")) - #t)) - (add-after 'unpack 'patch-for-qt5.8 - (lambda _ - (substitute* "lib/widget/editbox.cpp" - (("== '\\\\0'") - "== QChar('\\0')")) + (substitute* "tests/ivis_linktest.cpp" + (("iV_DrawTextRotated.*;") + (string-append "iV_DrawTextRotated(\"Press ESC to exit.\", " + "100, 100, 0.0f, font_regular);"))) #t))))) - (native-inputs `(("pkg-config" ,pkg-config) + (native-inputs `(("gettext" ,gettext-minimal) + ("pkg-config" ,pkg-config) ("unzip" ,unzip) ("zip" ,zip))) (inputs `(("fontconfig" ,fontconfig) ("freetype" ,freetype) ("fribidi" ,fribidi) ("glew" ,glew) + ("harfbuzz" ,harfbuzz) ("libtheora" ,libtheora) ("libvorbis" ,libvorbis) ("libxrandr" ,libxrandr) @@ -3002,7 +3002,6 @@ fullscreen, use F5 or Alt+Enter.") ("qtbase" ,qtbase) ("qtscript" ,qtscript) ("openssl" ,openssl) - ("quesoglc" ,quesoglc) ("sdl2" ,sdl2))) (home-page "http://wz2100.net") (synopsis "3D Real-time strategy and real-time tactics game") @@ -3621,7 +3620,7 @@ for Un*x systems with X11.") (define-public freeciv (package (name "freeciv") - (version "2.5.7") + (version "2.6.0") (source (origin (method url-fetch) @@ -3634,7 +3633,7 @@ for Un*x systems with X11.") "/freeciv-" version ".tar.bz2"))) (sha256 (base32 - "1lmydnnqraa947l7gdz6xgm0bgks1ywsivp9h4v8jr3avcv6gqzz")))) + "16f9wsnn7073s6chzbm3819swd0iw019p9nrzr3diiynk28kj83w")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) @@ -4107,6 +4106,38 @@ laws of physics (Enigma’s special laws of physics, that is), controlling them with the mouse isn’t always trivial.") (license license:gpl2+))) +(define-public chroma + (package + (name "chroma") + (version "1.15") + (source (origin + (method url-fetch) + (uri (string-append "http://level7.org.uk/chroma/download/chroma-" + version ".tar.bz2")) + (sha256 + (base32 + "0nzm3j5wjazr1d6pkydqlc48sjf72hggq0hmx8mhq03114mmiir5")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; no tests included + (inputs + `(("sdl-union" ,(sdl-union (list sdl sdl-image sdl-mixer sdl-ttf))) + ("freetype" ,freetype) + ("ncurses" ,ncurses) + ("fontconfig" ,fontconfig) + ("libxft" ,libxft))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://level7.org.uk/chroma/") + (synopsis "Abstract puzzle game") + (description "Chroma is an abstract puzzle game. A variety of colourful +shapes are arranged in a series of increasingly complex patterns, forming + fiendish traps that must be disarmed and mysterious puzzles that must be + manipulated in order to give up their subtle secrets. Initially so + straightforward that anyone can pick it up and begin to play, yet gradually + becoming difficult enough to tax even the brightest of minds.") + (license license:gpl2+))) + (define-public fillets-ng (package (name "fillets-ng") diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index a150936899..5bdd70b0db 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -519,14 +519,14 @@ It also includes runtime support libraries for these languages."))) (define-public gcc-8 (package (inherit gcc-7) - (version "8.1.0") + (version "8.2.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.xz")) (sha256 (base32 - "0lxil8x0jjx7zbf90cy1rli650akaa6hpk8wk8s62vk2jbwnc60x")) + "10007smilswiiv2ymazr3b6x2i933c0ycxrr529zh4r6p823qv0r")) (patches (search-patches "gcc-8-strmov-store-file-names.patch" "gcc-5.0-libvtv-runpath.patch")))))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a1dae0bee7..1365661b81 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2235,7 +2235,7 @@ and RDP protocols.") (define-public dconf (package (name "dconf") - (version "0.26.1") + (version "0.28.0") (source (origin (method url-fetch) (uri (string-append @@ -2244,47 +2244,34 @@ and RDP protocols.") name "-" version ".tar.xz")) (sha256 (base32 - "0da587hpiqy8h3pswn1102h4b905x8k6mk3ajpi7kf4kzkvv30ym")))) - (build-system glib-or-gtk-build-system) + "0hn7v6769xabqz7kvyb2hfm19h46z1whkair7ff752zmbs3b7lv1")))) + (build-system meson-build-system) + (propagated-inputs + ;; In Requires of dconf.pc. + `(("glib" ,glib))) (inputs `(("gtk+" ,gtk+) - ("glib" ,glib) - ("dbus" ,dbus) - ("libxml2" ,libxml2))) + ("dbus" ,dbus))) (native-inputs - `(("libxslt" ,libxslt) + `(("libxslt" ,libxslt) ;for xsltproc + ("libxml2" ,libxml2) ;for XML_CATALOG_FILES ("docbook-xml" ,docbook-xml-4.2) ("docbook-xsl" ,docbook-xsl) - ("intltool" ,intltool) - ("pkg-config" ,pkg-config))) + ("glib:bin" ,glib "bin") + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) (arguments `(#:tests? #f ; To contact dbus it needs to load /var/lib/dbus/machine-id ; or /etc/machine-id. - #:configure-flags - ;; Set the correct RUNPATH in binaries. - (list (string-append "LDFLAGS=-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib") - "--disable-gtk-doc-html") ; FIXME: requires gtk-doc - #:phases - (modify-phases %standard-phases - (add-before 'configure 'fix-docbook - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "docs/Makefile.in" - (("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl") - (string-append (assoc-ref inputs "docbook-xsl") - "/xml/xsl/docbook-xsl-" - ,(package-version docbook-xsl) - "/manpages/docbook.xsl"))) - (setenv "XML_CATALOG_FILES" - (string-append (assoc-ref inputs "docbook-xml") - "/xml/dtd/docbook/catalog.xml")) - #t))))) + #:glib-or-gtk? #t + #:configure-flags '("-Denable-gtk-doc=true"))) (home-page "https://developer.gnome.org/dconf") (synopsis "Low-level GNOME configuration system") (description "Dconf is a low-level configuration system. Its main purpose is to provide a backend to GSettings on platforms that don't already have configuration storage systems.") - (license license:lgpl2.1))) + (license license:lgpl2.1+))) (define-public json-glib (package @@ -2947,14 +2934,15 @@ faster results and to avoid unnecessary server load.") (define-public upower (package (name "upower") - (version "0.99.4") + (version "0.99.8") (source (origin (method url-fetch) - (uri (string-append "https://upower.freedesktop.org/releases/" - name "-" version ".tar.xz")) + (uri (string-append "https://gitlab.freedesktop.org/upower/upower/" + "uploads/9125ab7ee96fdc4ecc68cfefb50c1cab/" + "upower-" version ".tar.xz")) (sha256 (base32 - "1c1ph1j1fnrf3vipxb7ncmdfc36dpvcvpsv8n8lmal7grjk2b8ww")) + "00lzr0vyxz5lvmgya48gdb2cdgmfdim4b34jlfdyqakk1i9sl8xv")) (patches (search-patches "upower-builddir.patch")))) (build-system glib-or-gtk-build-system) (arguments @@ -2965,17 +2953,7 @@ faster results and to avoid unnecessary server load.") #:configure-flags (list "--localstatedir=/var" (string-append "--with-udevrulesdir=" (assoc-ref %outputs "out") - "/lib/udev/rules.d")) - #:phases - (modify-phases %standard-phases - (add-before 'configure 'patch-/bin/true - (lambda _ - (substitute* "configure" - (("/bin/true") (which "true"))))) - (add-before 'configure 'patch-integration-test - (lambda _ - (substitute* "src/linux/integration-test" - (("/usr/bin/python3") (which "python3")))))))) + "/lib/udev/rules.d")))) (native-inputs `(("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) @@ -2990,6 +2968,9 @@ faster results and to avoid unnecessary server load.") `(("dbus-glib" ,dbus-glib) ("libgudev" ,libgudev) ("libusb" ,libusb))) + (propagated-inputs + ;; In Requires of upower-glib.pc. + `(("glib" ,glib))) (home-page "https://upower.freedesktop.org/") (synopsis "System daemon for managing power devices") (description diff --git a/gnu/packages/haskell.scm b/gnu/packages/haskell.scm index 8d2dcba208..7f14c59450 100644 --- a/gnu/packages/haskell.scm +++ b/gnu/packages/haskell.scm @@ -9221,31 +9221,6 @@ connections.") from aeson.") (license license:bsd-3))) -(define-public ghc-th-lift-instances - (package - (name "ghc-th-lift-instances") - (version "0.1.11") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "th-lift-instances-" version "/" - "th-lift-instances-" version ".tar.gz")) - (sha256 - (base32 - "1f56cp6ckcalld5jchv0kxpjkwcsixd7smd0g7r8cg67ppx6m90x")))) - (build-system haskell-build-system) - (inputs `(("ghc-th-lift" ,ghc-th-lift) - ("ghc-vector" ,ghc-vector) - ("ghc-text" ,ghc-text))) - (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck))) - (home-page "https://github.com/bennofs/th-lift-instances") - (synopsis "Lift instances for template-haskell for common data types") - (description "Most data types in the Haskell platform do not have Lift -instances. This package provides orphan instances for containers, text, -bytestring and vector.") - (license license:bsd-3))) - (define-public ghc-generics-sop (package (name "ghc-generics-sop") @@ -9303,26 +9278,6 @@ each constructor are represented using an n-ary product.") parser that uses ByteStrings for parsing and representing the URI data.") (license license:bsd-3))) -(define-public ghc-time-locale-compat - (package - (name "ghc-time-locale-compat") - (version "0.1.1.3") - (source - (origin - (method url-fetch) - (uri (string-append "https://hackage.haskell.org/package/" - "time-locale-compat-" version "/" - "time-locale-compat-" version ".tar.gz")) - (sha256 - (base32 - "1vdcfr2hp9qh3ag90x6ikbdf42wiqpdylnplffna54bpnilbyi4i")))) - (build-system haskell-build-system) - (home-page "https://github.com/khibino/haskell-time-locale-compat") - (synopsis "Compatibility of TimeLocale between old-locale and time-1.5") - (description "This Haskell package contains wrapped name module for -TimeLocale.") - (license license:bsd-3))) - (define-public ghc-http-api-data (package (name "ghc-http-api-data") diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 0dd930bf70..ab8d32b824 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1189,10 +1189,17 @@ installed as @code{stb_image}.") version ".tar.gz")) (sha256 (base32 - "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg")))) + "0lj4clb851fzpaq446wgj0sfy922zs5l5misbpwv6w7qrqrz4cjg")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "src/libpng") + (delete-file-recursively "src/zlib") + #t)))) (build-system gnu-build-system) (inputs - `(("zlib" ,zlib))) + `(("libpng" ,libpng) + ("zlib" ,zlib))) (arguments '(#:phases (modify-phases %standard-phases @@ -1200,7 +1207,8 @@ installed as @code{stb_image}.") (lambda* (#:key outputs #:allow-other-keys) ;; configure script doesn't accept arguments CONFIG_SHELL and SHELL (invoke "sh" "configure" - (string-append "--prefix=" (assoc-ref outputs "out"))) + (string-append "--prefix=" (assoc-ref outputs "out")) + "-with-system-libs") #t))))) (synopsis "Optimizer that recompresses PNG image files to a smaller size") (description "OptiPNG is a PNG optimizer that recompresses image @@ -1213,21 +1221,20 @@ PNG, and performs PNG integrity checks and corrections.") (define-public libjpeg-turbo (package (name "libjpeg-turbo") - (version "1.5.3") + (version "2.0.0") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" version "/" name "-" version ".tar.gz")) (sha256 (base32 - "08r5b5mywwrxv4axvq80dm31cklz81grczlzlxr2xqa6pgi90j5j")))) - (build-system gnu-build-system) + "0s48zz6awd493hmb200abmsizh68fh1jmz98r41n4c8dbl87d23p")))) + (build-system cmake-build-system) (native-inputs `(("nasm" ,nasm))) (arguments - '(#:test-target "test" - #:configure-flags (list "--with-build-date=1970-01-01" - "--disable-static"))) + '(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib" + "-DENABLE_STATIC=0"))) (home-page "https://libjpeg-turbo.org/") (synopsis "SIMD-accelerated JPEG image handling library") (description "libjpeg-turbo is a JPEG image codec that accelerates baseline @@ -1239,8 +1246,10 @@ libjpeg-turbo implements both the traditional libjpeg API and the less powerful but more straightforward TurboJPEG API, and provides a full-featured Java interface. It supports color space extensions that allow it to compress from and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).") - (license (list license:bsd-3 ; jsimd*.[ch] and most of simd/ - license:ijg)))) ; the rest + ;; libjpeg-turbo is covered by three different licenses; see LICENSE.md. + (license (list license:bsd-3 ;the TurboJPEG API library and programs + license:ijg ;the libjpeg library and associated tools + license:zlib)))) ;the libjpeg-turbo SIMD extensions (define-public niftilib (package diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm index 2a8479ed26..fee335609c 100644 --- a/gnu/packages/imagemagick.scm +++ b/gnu/packages/imagemagick.scm @@ -47,14 +47,14 @@ ;; The 7 release series has an incompatible API, while the 6 series is still ;; maintained. Don't update to 7 until we've made sure that the ImageMagick ;; users are ready for the 7-series API. - (version "6.9.10-5") + (version "6.9.10-8") (source (origin (method url-fetch) (uri (string-append "mirror://imagemagick/ImageMagick-" version ".tar.xz")) (sha256 (base32 - "0sl6f9r7wb081gv8zm450x37lankwp683in1crlx6pskrbsvwc08")))) + "0l2fhqrphcx6aw8k2lc6bianfqc1dy17lkyaypfw8scgak8wq6wr")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch") diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 2ba6d76cae..0ff92c763d 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1862,6 +1862,11 @@ new Date();")) "test-generative-src" "tools-namespace-src")) #t)) + (add-after 'unpack 'fix-manifest-classpath + (lambda _ + (substitute* "build.xml" + (("<attribute name=\"Class-Path\" value=\".\"/>") "")) + #t)) ;; The javadoc target is not built by default. (add-after 'build 'build-doc (lambda _ diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index dc13be19d2..25c99f1c73 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington <jmd@gnu.org> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr> @@ -665,14 +665,14 @@ from the old StarOffice (.sdc, .sdw, ...).") (define-public libwps (package (name "libwps") - (version "0.4.7") + (version "0.4.9") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/" name "/" name "/" name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "05xjb35y5ha9grgjqs3viaglq7ydsry1hzdvkm7y5b6f1disnb1g")))) + "08j9nxnrzxsnq35d9l824ad8w8az42fivaxn8ajl85dv6g3v1ghk")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -896,7 +896,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (define-public libreoffice (package (name "libreoffice") - (version "6.0.5.1") + (version "6.0.6.2") (source (origin (method url-fetch) @@ -906,8 +906,9 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (version-prefix version 3) "/libreoffice-" version ".tar.xz")) (sha256 (base32 - "0vnmb231hyhxm7klaqd8vp3rmvix145bq8iqzv19jgl1yaqkxl21")) - (patches (search-patches "libreoffice-icu.patch")))) + "13kaikaz65xw9a3hxbh245cnydjpy58np22c7s0s65pnmcq68rpi")) + (patches (search-patches "libreoffice-icu.patch" + "libreoffice-glm.patch")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dbf597b8b3..3adc0d68e0 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -398,8 +398,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.17.10") -(define %linux-libre-hash "1ab349s18avigd2592i11pab4klqzzxy11a1zp16mb842d8chkj2") +(define %linux-libre-version "4.17.11") +(define %linux-libre-hash "0c0ryl8rnzizr0x2gj9kprj9wfjz536574fnn46r0ww3szrzdm78") (define-public linux-libre (make-linux-libre %linux-libre-version @@ -407,8 +407,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.58") -(define %linux-libre-4.14-hash "1ny2b5zmgvbxglpy88aicdxix2ygr1qmar2rgaa336czfjninwr5") +(define %linux-libre-4.14-version "4.14.59") +(define %linux-libre-4.14-hash "1mf22i8a71qs04x4wfqmm21clj4jnqia6rpk7jbh3r3vjfjjbd1d") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version @@ -417,14 +417,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.115" - "12n3wwfz22hxqqy7bdchl894x5krylcd4vx65837w7rybnb5w2wj" + (make-linux-libre "4.9.116" + "1v5138a5317ddrl0zvlip18586si68ccw6y5wdxgpkh8ixvcamy6" %intel-compatible-systems #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.144" - "1001nw9d51vbiisrjv5ffqigcwfs0r9gav2f8hkw9hzjw64nhanp" + (make-linux-libre "4.4.145" + "1c8lcibc6f8194ix3paip30jb9cqvn4lni6jjskyrmavcfy4rlbp" %intel-compatible-systems #:configuration-file kernel-config)) @@ -2121,12 +2121,24 @@ time.") "--enable-udev_sync" "--enable-udev_rules" "--enable-pkgconfig" + "--enable-cmdlib" + "--enable-dmeventd" ; Requires '--enable-cmdlib'. ;; Make sure programs such as 'dmsetup' can ;; find libdevmapper.so. (string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") - "/lib")) + "/lib,-rpath=" + (assoc-ref %outputs "out") + "/lib/device-mapper") + ;; TODO: Patch make.tmpl.in to take LDFLAGS + ;; into account so that we don't need to also + ;; set CLDFLAGS. + (string-append "CLDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") + "/lib,-rpath=" + (assoc-ref %outputs "out") + "/lib/device-mapper")) ;; The tests use 'mknod', which requires root access. #:tests? #f)) @@ -3708,10 +3720,12 @@ as used on certified hardware security devices.") (substitute* '("src/utils/ecryptfs-mount-private" "src/utils/ecryptfs-umount-private" "src/utils/ecryptfs-setup-private" + "src/utils/ecryptfs-setup-swap" "src/utils/mount.ecryptfs.c" + "src/utils/umount.ecryptfs.c" "src/pam_ecryptfs/pam_ecryptfs.c" "src/desktop/ecryptfs-mount-private.desktop.in" - "src/utils/ecryptfs-setup-swap") + "src/desktop/ecryptfs-setup-private.desktop.in") (("/bin/mount") (string-append utils-linux "/bin/mount")) (("/bin/umount") diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index fd3626a595..f07c83dc0d 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3001,7 +3001,7 @@ access to BLIS implementations via traditional BLAS routine calls.") (define-public openlibm (package (name "openlibm") - (version "0.5.5") + (version "0.6.0") (source (origin (method url-fetch) @@ -3010,7 +3010,7 @@ access to BLIS implementations via traditional BLAS routine calls.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1z8cj5q8ca8kmrakwkpjxf8svi81waw0c568cx8v8pv9kvswbp07")))) + "0a5fpm8nra5ldhjk0cqd2rx1qh32wiarkxmcqcm5xl8z7l4kjm6l")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -3256,19 +3256,19 @@ Failure to do so will result in a library with poor performance.") (define-public glm (package (name "glm") - (version "0.9.6.3") + (version "0.9.9.0") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/ogl-math/glm-" version - "/glm-" version ".zip")) + (uri (string-append "https://github.com/g-truc/glm/releases/download/" + version "/glm-" version ".zip")) (sha256 (base32 - "1cnjmi033a16a95v6xfkr1bvfmkd26hzdjka8j1819hgn5b1nr8l")))) + "0ihjadp2sb8w312a276skfjsljm3y41bjscbxf79wn23gi00giz1")))) (build-system cmake-build-system) (native-inputs `(("unzip" ,unzip))) - (home-page "http://glm.g-truc.net") + (home-page "https://glm.g-truc.net/") (synopsis "OpenGL Mathematics library") (description "OpenGL Mathematics (GLM) is a header-only C++ mathematics library for graphics software based on the OpenGL Shading Language (GLSL) @@ -3968,7 +3968,7 @@ reduction.") `(("boost" ,boost) ("glu" ,glu) ("mesa" ,mesa) - ("qt" ,qt))) + ("qtbase" ,qtbase))) (build-system cmake-build-system) (synopsis "Toolset for the mCRL2 formal specification language") (description diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index a34f744659..98a65dcd3d 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement@lassieur.org> @@ -1650,16 +1650,17 @@ notifications, and Python scripting support.") (version "0.3.0.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/QMatrixClient/libqmatrixclient/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/QMatrixClient/libqmatrixclient") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0yl7lw0s2z98xkxbklkb3i8xcd9af9qayl1zxl070d8ykl6ayqy3")))) + "03pxmr4wa818fgqddkr2fkwz6pda538x3ic9yq7c40x98zqf55w5")))) (build-system cmake-build-system) (inputs - `(("qt" ,qt))) + `(("qtbase" ,qtbase))) (arguments `(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON") #:tests? #f)) ; No tests @@ -1677,17 +1678,19 @@ QMatrixClient project.") (version "0.0.9.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/QMatrixClient/Quaternion/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/QMatrixClient/Quaternion") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0s2mpw11s2n21ds1spf94j1p2lj2px2bv5zxldlcx81ch0rb4ng8")))) + "0zrr4khbbdf5ziq65gi0cb1yb1d0y5rv18wld22w1x96f7fkmrib")))) (build-system cmake-build-system) (inputs `(("libqmatrixclient" ,libqmatrixclient) - ("qt" ,qt))) + ("qtbase" ,qtbase) + ("qtdeclarative" ,qtdeclarative))) (arguments `(#:tests? #f ; No tests #:phases diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index cb27f49c07..a7fe44243a 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl> ;;; Copyright © 2016 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> @@ -48,7 +48,7 @@ (define-public parallel (package (name "parallel") - (version "20180622") + (version "20180722") (source (origin (method url-fetch) @@ -56,7 +56,7 @@ version ".tar.bz2")) (sha256 (base32 - "1n91dnnl8d8pman20hr03l9qrpc9wm5hw32ph45xjs0bgp1nmk7j")))) + "06635p9w4kl0mvqlbgglsndl1zm06f65ckzrjl9p8n4cswf443fg")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/patches/libreoffice-glm.patch b/gnu/packages/patches/libreoffice-glm.patch new file mode 100644 index 0000000000..9e76cf1389 --- /dev/null +++ b/gnu/packages/patches/libreoffice-glm.patch @@ -0,0 +1,58 @@ +Fix build with GLM 0.9.9. + +This patch is an amalgamation of these upstream commits: + +https://github.com/LibreOffice/core/commit/953c4add8fd76d88f49a81ae4c21a1fdcc007e57 +https://github.com/LibreOffice/core/commit/5f1bf6598b5725ad1e50ae9f7ec7524cc8a834fa + +diff --git a/chart2/Library_chartcore.mk b/chart2/Library_chartcore.mk +index 28bc87b89057..69d4c0552636 100644 +--- a/chart2/Library_chartcore.mk ++++ b/chart2/Library_chartcore.mk +@@ -23,6 +23,12 @@ $(eval $(call gb_Library_add_defs,chartcore,\ + -DOOO_DLLIMPLEMENTATION_CHARTVIEW \ + )) + ++ifeq ($(SYSTEM_GLM),TRUE) ++$(eval $(call gb_Library_add_defs,chartcore,\ ++ -DGLM_ENABLE_EXPERIMENTAL \ ++)) ++endif ++ + $(eval $(call gb_Library_set_precompiled_header,chartcore,$(SRCDIR)/chart2/inc/pch/precompiled_chartcore)) + + $(eval $(call gb_Library_use_externals,chartcore,\ +diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk +index c1f3cc5324e7..0b684c6185a9 100644 +--- a/vcl/Library_vcl.mk ++++ b/vcl/Library_vcl.mk +@@ -49,6 +49,12 @@ $(eval $(call gb_Library_add_defs,vcl,\ + -DENABLE_MERGELIBS=$(if $(MERGELIBS),1,0) \ + )) + ++ifeq ($(SYSTEM_GLM),TRUE) ++$(eval $(call gb_Library_add_defs,vcl,\ ++ -DGLM_ENABLE_EXPERIMENTAL \ ++)) ++endif ++ + $(eval $(call gb_Library_use_sdk_api,vcl)) + + $(eval $(call gb_Library_use_custom_headers,vcl,\ +diff --git a/vcl/Executable_icontest.mk b/vcl/Executable_icontest.mk +index ce163303f8a4..8c917b71cd0e 100644 +--- a/vcl/Executable_icontest.mk ++++ b/vcl/Executable_icontest.mk +@@ -19,6 +19,12 @@ $(eval $(call gb_Executable_use_externals,icontest,\ + )) + endif + ++ifeq ($(SYSTEM_GLM),TRUE) ++$(eval $(call gb_Executable_add_defs,icontest,\ ++ -DGLM_ENABLE_EXPERIMENTAL \ ++)) ++endif ++ + $(eval $(call gb_Executable_use_api,icontest,\ + offapi \ + udkapi \ diff --git a/gnu/packages/patches/lvm2-static-link.patch b/gnu/packages/patches/lvm2-static-link.patch index 6adf6891bb..eb7849a679 100644 --- a/gnu/packages/patches/lvm2-static-link.patch +++ b/gnu/packages/patches/lvm2-static-link.patch @@ -12,3 +12,14 @@ and libm via libdevmapper.a. liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o cat $(top_builddir)/lib/liblvm-internal.a > $@ +--- a/make.tmpl.in 2018-07-31 22:00:39.969983104 +0200 ++++ b/make.tmpl.in 2018-07-31 22:00:58.467613682 +0200 +@@ -53,7 +53,7 @@ + + LIBS = @LIBS@ + # Extra libraries always linked with static binaries +-STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) ++STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) $(BLKID_LIBS) $(M_LIBS) + DEFS += @DEFS@ + # FIXME set this only where it's needed, not globally? + CFLAGS ?= @COPTIMISE_FLAG@ @CFLAGS@ diff --git a/gnu/packages/patches/mariadb-gcc-ice.patch b/gnu/packages/patches/mariadb-gcc-ice.patch new file mode 100644 index 0000000000..59b188f45a --- /dev/null +++ b/gnu/packages/patches/mariadb-gcc-ice.patch @@ -0,0 +1,24 @@ +Work around this GCC ICE: <https://bugs.gnu.org/31708>. It shows up +only when doing native compiles on armhf-linux. + +--- mariadb-10.1.33/plugin/semisync/semisync_master.cc 2018-07-28 02:13:12.604020250 +0200 ++++ mariadb-10.1.33/plugin/semisync/semisync_master.cc 2018-07-28 02:14:11.907753417 +0200 +@@ -847,6 +847,8 @@ + return function_exit(kWho, 0); + } + ++volatile const void *kSyncHeaderPtr = &ReplSemiSyncMaster::kSyncHeader; ++ + int ReplSemiSyncMaster::reserveSyncHeader(unsigned char *header, + unsigned long size) + { +@@ -873,7 +875,7 @@ + /* Set the magic number and the sync status. By default, no sync + * is required. + */ +- memcpy(header, kSyncHeader, sizeof(kSyncHeader)); ++ memcpy(header, (void *)kSyncHeaderPtr, sizeof(kSyncHeader)); + hlen= sizeof(kSyncHeader); + } + return function_exit(kWho, hlen); + diff --git a/gnu/packages/patches/python-dendropy-fix-tests.patch b/gnu/packages/patches/python-dendropy-fix-tests.patch deleted file mode 100644 index 30ab618ff1..0000000000 --- a/gnu/packages/patches/python-dendropy-fix-tests.patch +++ /dev/null @@ -1,41 +0,0 @@ -This patch fixes two test failures. It was downloaded from: -https://github.com/jeetsukumaran/DendroPy/commit/93f984bba7a6c588a28ca87f4e557ce283809453 - -From 93f984bba7a6c588a28ca87f4e557ce283809453 Mon Sep 17 00:00:00 2001 -From: jeetsukumaran <jeetsukumaran@gmail.com> -Date: Tue, 21 Feb 2017 16:41:01 -0500 -Subject: [PATCH] Update to Python 3 container and iteration semantics - ---- - dendropy/dataio/newickreader.py | 3 ++- - dendropy/datamodel/treemodel.py | 3 +++ - 2 files changed, 5 insertions(+), 1 deletion(-) - -diff --git a/dendropy/dataio/newickreader.py b/dendropy/dataio/newickreader.py -index 6dcf3c5..f978729 100644 ---- a/dendropy/dataio/newickreader.py -+++ b/dendropy/dataio/newickreader.py -@@ -303,7 +303,8 @@ def tree_iter(self, - taxon_symbol_map_fn=taxon_symbol_mapper.require_taxon_for_symbol) - yield tree - if tree is None: -- raise StopIteration -+ # raise StopIteration -+ return - - def _read(self, - stream, -diff --git a/dendropy/datamodel/treemodel.py b/dendropy/datamodel/treemodel.py -index 0ecfe31..73146f0 100644 ---- a/dendropy/datamodel/treemodel.py -+++ b/dendropy/datamodel/treemodel.py -@@ -772,6 +772,9 @@ def __hash__(self): - def __eq__(self, other): - return self is other - -+ def __lt__(self, other): -+ return id(self) < id(other) -+ - ########################################################################### - ### Basic Structure - diff --git a/gnu/packages/patches/qtwebkit-pbutils-include.patch b/gnu/packages/patches/qtwebkit-pbutils-include.patch new file mode 100644 index 0000000000..57961e7a51 --- /dev/null +++ b/gnu/packages/patches/qtwebkit-pbutils-include.patch @@ -0,0 +1,15 @@ +Patch taken from Nix: + https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch + +diff --git a/Source/WebKit2/PlatformQt.cmake b/Source/WebKit2/PlatformQt.cmake +--- a/Source/WebKit2/PlatformQt.cmake ++++ b/Source/WebKit2/PlatformQt.cmake +@@ -261,6 +261,7 @@ + list(APPEND WebKit2_SYSTEM_INCLUDE_DIRECTORIES + ${GLIB_INCLUDE_DIRS} + ${GSTREAMER_INCLUDE_DIRS} ++ ${GSTREAMER_PBUTILS_INCLUDE_DIRS} + ${Qt5Quick_INCLUDE_DIRS} + ${Qt5Quick_PRIVATE_INCLUDE_DIRS} + ${SQLITE_INCLUDE_DIR} + diff --git a/gnu/packages/patches/x265-arm-asm-primitives.patch b/gnu/packages/patches/x265-arm-asm-primitives.patch new file mode 100644 index 0000000000..f49aafe577 --- /dev/null +++ b/gnu/packages/patches/x265-arm-asm-primitives.patch @@ -0,0 +1,360 @@ +From <https://git.busybox.net/buildroot/tree/package/x265/0003-arm-asm-primitives.patch?id=57d4a27eaf1a9e59d767c321e7b7500c5060a2ac>. +This fixes build errors like: + + cd /tmp/guix-build-x265-2.8.drv-0/x265_2.8/build/encoder && /gnu/store/cd5q2pni1d95fs3cdabbclyh9hqhw2nq-gcc-5.5.0/bin/c++ -DEXPORT_C_API=1 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ARM=1 -DX265_DEPTH=8 -DX265_NS=x265 -D__STDC_LIMIT_MACROS=1 -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/. -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/common -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/encoder -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/build -O2 -g -DNDEBUG -Wall -Wextra -Wshadow -std=gnu++98 -fPIC -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC -Wno-array-bounds -ffast-math -fno-exceptions -Wno-uninitialized -o CMakeFiles/encoder.dir/search.cpp.o -c /tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/encoder/search.cpp + /tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/common/arm/asm-primitives.cpp:437:38: error: incompatible types in assignment of ?void(const pixel*, intptr_t, int16_t*, intptr_t) {aka void(const unsigned char*, int, short int*, int)}? to ?void (* [2])(const pixel*, intptr_t, int16_t*, intptr_t) {aka void (* [2])(const unsigned char*, int, short int*, int)}? + p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); + ^ + +Downloaded from upstream bug report: +https://bitbucket.org/multicoreware/x265/issues/406 + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> + +--- ./source/common/arm/asm-primitives.cpp.orig 2018-05-21 02:33:10.000000000 -0600 ++++ ./source/common/arm/asm-primitives.cpp 2018-05-28 20:38:37.302378303 -0600 +@@ -48,77 +48,77 @@ void setupAssemblyPrimitives(EncoderPrim + p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon); + + // addAvg +- p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.pu[LUMA_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.pu[LUMA_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.pu[LUMA_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.pu[LUMA_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.pu[LUMA_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.pu[LUMA_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.pu[LUMA_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.pu[LUMA_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.pu[LUMA_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.pu[LUMA_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.pu[LUMA_32x64].addAvg = PFX(addAvg_32x64_neon); +- p.pu[LUMA_48x64].addAvg = PFX(addAvg_48x64_neon); +- p.pu[LUMA_64x16].addAvg = PFX(addAvg_64x16_neon); +- p.pu[LUMA_64x32].addAvg = PFX(addAvg_64x32_neon); +- p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_neon); +- p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_neon); ++ p.pu[LUMA_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.pu[LUMA_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.pu[LUMA_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.pu[LUMA_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.pu[LUMA_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.pu[LUMA_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.pu[LUMA_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.pu[LUMA_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.pu[LUMA_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.pu[LUMA_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.pu[LUMA_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.pu[LUMA_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.pu[LUMA_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.pu[LUMA_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.pu[LUMA_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.pu[LUMA_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.pu[LUMA_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.pu[LUMA_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.pu[LUMA_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.pu[LUMA_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); ++ p.pu[LUMA_48x64].addAvg[ALIGNED] = PFX(addAvg_48x64_neon); ++ p.pu[LUMA_64x16].addAvg[ALIGNED] = PFX(addAvg_64x16_neon); ++ p.pu[LUMA_64x32].addAvg[ALIGNED] = PFX(addAvg_64x32_neon); ++ p.pu[LUMA_64x48].addAvg[ALIGNED] = PFX(addAvg_64x48_neon); ++ p.pu[LUMA_64x64].addAvg[ALIGNED] = PFX(addAvg_64x64_neon); + + // chroma addAvg +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg = PFX(addAvg_4x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg = PFX(addAvg_6x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = PFX(addAvg_8x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = PFX(addAvg_8x6_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = PFX(addAvg_32x32_neon); +- +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg = PFX(addAvg_4x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg = PFX(addAvg_6x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = PFX(addAvg_8x12_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = PFX(addAvg_8x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = PFX(addAvg_12x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = PFX(addAvg_16x24_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = PFX(addAvg_24x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = PFX(addAvg_32x48_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = PFX(addAvg_32x64_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg[ALIGNED] = PFX(addAvg_4x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg[ALIGNED] = PFX(addAvg_6x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg[ALIGNED] = PFX(addAvg_8x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg[ALIGNED] = PFX(addAvg_8x6_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg[ALIGNED] = PFX(addAvg_4x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg[ALIGNED] = PFX(addAvg_6x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg[ALIGNED] = PFX(addAvg_8x12_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg[ALIGNED] = PFX(addAvg_8x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg[ALIGNED] = PFX(addAvg_12x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg[ALIGNED] = PFX(addAvg_16x24_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg[ALIGNED] = PFX(addAvg_24x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg[ALIGNED] = PFX(addAvg_32x48_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); + + // quant + p.quant = PFX(quant_neon); +@@ -402,7 +402,7 @@ void setupAssemblyPrimitives(EncoderPrim + p.scale2D_64to32 = PFX(scale2D_64to32_neon); + + // scale1D_128to64 +- p.scale1D_128to64 = PFX(scale1D_128to64_neon); ++ p.scale1D_128to64[ALIGNED] = PFX(scale1D_128to64_neon); + + // copy_count + p.cu[BLOCK_4x4].copy_cnt = PFX(copy_cnt_4_neon); +@@ -411,37 +411,37 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].copy_cnt = PFX(copy_cnt_32_neon); + + // filterPixelToShort +- p.pu[LUMA_4x4].convert_p2s = PFX(filterPixelToShort_4x4_neon); +- p.pu[LUMA_4x8].convert_p2s = PFX(filterPixelToShort_4x8_neon); +- p.pu[LUMA_4x16].convert_p2s = PFX(filterPixelToShort_4x16_neon); +- p.pu[LUMA_8x4].convert_p2s = PFX(filterPixelToShort_8x4_neon); +- p.pu[LUMA_8x8].convert_p2s = PFX(filterPixelToShort_8x8_neon); +- p.pu[LUMA_8x16].convert_p2s = PFX(filterPixelToShort_8x16_neon); +- p.pu[LUMA_8x32].convert_p2s = PFX(filterPixelToShort_8x32_neon); +- p.pu[LUMA_12x16].convert_p2s = PFX(filterPixelToShort_12x16_neon); +- p.pu[LUMA_16x4].convert_p2s = PFX(filterPixelToShort_16x4_neon); +- p.pu[LUMA_16x8].convert_p2s = PFX(filterPixelToShort_16x8_neon); +- p.pu[LUMA_16x12].convert_p2s = PFX(filterPixelToShort_16x12_neon); +- p.pu[LUMA_16x16].convert_p2s = PFX(filterPixelToShort_16x16_neon); +- p.pu[LUMA_16x32].convert_p2s = PFX(filterPixelToShort_16x32_neon); +- p.pu[LUMA_16x64].convert_p2s = PFX(filterPixelToShort_16x64_neon); +- p.pu[LUMA_24x32].convert_p2s = PFX(filterPixelToShort_24x32_neon); +- p.pu[LUMA_32x8].convert_p2s = PFX(filterPixelToShort_32x8_neon); +- p.pu[LUMA_32x16].convert_p2s = PFX(filterPixelToShort_32x16_neon); +- p.pu[LUMA_32x24].convert_p2s = PFX(filterPixelToShort_32x24_neon); +- p.pu[LUMA_32x32].convert_p2s = PFX(filterPixelToShort_32x32_neon); +- p.pu[LUMA_32x64].convert_p2s = PFX(filterPixelToShort_32x64_neon); +- p.pu[LUMA_48x64].convert_p2s = PFX(filterPixelToShort_48x64_neon); +- p.pu[LUMA_64x16].convert_p2s = PFX(filterPixelToShort_64x16_neon); +- p.pu[LUMA_64x32].convert_p2s = PFX(filterPixelToShort_64x32_neon); +- p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); +- p.pu[LUMA_64x64].convert_p2s = PFX(filterPixelToShort_64x64_neon); ++ p.pu[LUMA_4x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x4_neon); ++ p.pu[LUMA_4x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x8_neon); ++ p.pu[LUMA_4x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x16_neon); ++ p.pu[LUMA_8x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x4_neon); ++ p.pu[LUMA_8x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x8_neon); ++ p.pu[LUMA_8x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x16_neon); ++ p.pu[LUMA_8x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x32_neon); ++ p.pu[LUMA_12x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_12x16_neon); ++ p.pu[LUMA_16x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x4_neon); ++ p.pu[LUMA_16x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x8_neon); ++ p.pu[LUMA_16x12].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x12_neon); ++ p.pu[LUMA_16x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x16_neon); ++ p.pu[LUMA_16x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x32_neon); ++ p.pu[LUMA_16x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x64_neon); ++ p.pu[LUMA_24x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_24x32_neon); ++ p.pu[LUMA_32x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x8_neon); ++ p.pu[LUMA_32x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x16_neon); ++ p.pu[LUMA_32x24].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x24_neon); ++ p.pu[LUMA_32x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x32_neon); ++ p.pu[LUMA_32x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x64_neon); ++ p.pu[LUMA_48x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_48x64_neon); ++ p.pu[LUMA_64x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x16_neon); ++ p.pu[LUMA_64x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x32_neon); ++ p.pu[LUMA_64x48].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x48_neon); ++ p.pu[LUMA_64x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x64_neon); + + // Block_fill +- p.cu[BLOCK_4x4].blockfill_s = PFX(blockfill_s_4x4_neon); +- p.cu[BLOCK_8x8].blockfill_s = PFX(blockfill_s_8x8_neon); +- p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_neon); +- p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_neon); ++ p.cu[BLOCK_4x4].blockfill_s[ALIGNED] = PFX(blockfill_s_4x4_neon); ++ p.cu[BLOCK_8x8].blockfill_s[ALIGNED] = PFX(blockfill_s_8x8_neon); ++ p.cu[BLOCK_16x16].blockfill_s[ALIGNED] = PFX(blockfill_s_16x16_neon); ++ p.cu[BLOCK_32x32].blockfill_s[ALIGNED] = PFX(blockfill_s_32x32_neon); + + // Blockcopy_ss + p.cu[BLOCK_4x4].copy_ss = PFX(blockcopy_ss_4x4_neon); +@@ -495,21 +495,21 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].copy_sp = PFX(blockcopy_sp_32x64_neon); + + // pixel_add_ps +- p.cu[BLOCK_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.cu[BLOCK_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.cu[BLOCK_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.cu[BLOCK_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.cu[BLOCK_64x64].add_ps = PFX(pixel_add_ps_64x64_neon); ++ p.cu[BLOCK_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.cu[BLOCK_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.cu[BLOCK_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.cu[BLOCK_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.cu[BLOCK_64x64].add_ps[ALIGNED] = PFX(pixel_add_ps_64x64_neon); + + // chroma add_ps +- p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps = PFX(pixel_add_ps_4x8_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps = PFX(pixel_add_ps_8x16_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps = PFX(pixel_add_ps_16x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps = PFX(pixel_add_ps_32x64_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps[ALIGNED] = PFX(pixel_add_ps_4x8_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps[ALIGNED] = PFX(pixel_add_ps_8x16_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps[ALIGNED] = PFX(pixel_add_ps_16x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps[ALIGNED] = PFX(pixel_add_ps_32x64_neon); + + // cpy2Dto1D_shr + p.cu[BLOCK_4x4].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_4x4_neon); +@@ -518,10 +518,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_32x32_neon); + + // ssd_s +- p.cu[BLOCK_4x4].ssd_s = PFX(pixel_ssd_s_4x4_neon); +- p.cu[BLOCK_8x8].ssd_s = PFX(pixel_ssd_s_8x8_neon); +- p.cu[BLOCK_16x16].ssd_s = PFX(pixel_ssd_s_16x16_neon); +- p.cu[BLOCK_32x32].ssd_s = PFX(pixel_ssd_s_32x32_neon); ++ p.cu[BLOCK_4x4].ssd_s[ALIGNED] = PFX(pixel_ssd_s_4x4_neon); ++ p.cu[BLOCK_8x8].ssd_s[ALIGNED] = PFX(pixel_ssd_s_8x8_neon); ++ p.cu[BLOCK_16x16].ssd_s[ALIGNED] = PFX(pixel_ssd_s_16x16_neon); ++ p.cu[BLOCK_32x32].ssd_s[ALIGNED] = PFX(pixel_ssd_s_32x32_neon); + + // sse_ss + p.cu[BLOCK_4x4].sse_ss = PFX(pixel_sse_ss_4x4_neon); +@@ -548,10 +548,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sub_ps = PFX(pixel_sub_ps_32x64_neon); + + // calc_Residual +- p.cu[BLOCK_4x4].calcresidual = PFX(getResidual4_neon); +- p.cu[BLOCK_8x8].calcresidual = PFX(getResidual8_neon); +- p.cu[BLOCK_16x16].calcresidual = PFX(getResidual16_neon); +- p.cu[BLOCK_32x32].calcresidual = PFX(getResidual32_neon); ++ p.cu[BLOCK_4x4].calcresidual[ALIGNED] = PFX(getResidual4_neon); ++ p.cu[BLOCK_8x8].calcresidual[ALIGNED] = PFX(getResidual8_neon); ++ p.cu[BLOCK_16x16].calcresidual[ALIGNED] = PFX(getResidual16_neon); ++ p.cu[BLOCK_32x32].calcresidual[ALIGNED] = PFX(getResidual32_neon); + + // sse_pp + p.cu[BLOCK_4x4].sse_pp = PFX(pixel_sse_pp_4x4_neon); +@@ -722,31 +722,31 @@ void setupAssemblyPrimitives(EncoderPrim + p.pu[LUMA_64x64].sad_x4 = PFX(sad_x4_64x64_neon); + + // pixel_avg_pp +- p.pu[LUMA_4x4].pixelavg_pp = PFX(pixel_avg_pp_4x4_neon); +- p.pu[LUMA_4x8].pixelavg_pp = PFX(pixel_avg_pp_4x8_neon); +- p.pu[LUMA_4x16].pixelavg_pp = PFX(pixel_avg_pp_4x16_neon); +- p.pu[LUMA_8x4].pixelavg_pp = PFX(pixel_avg_pp_8x4_neon); +- p.pu[LUMA_8x8].pixelavg_pp = PFX(pixel_avg_pp_8x8_neon); +- p.pu[LUMA_8x16].pixelavg_pp = PFX(pixel_avg_pp_8x16_neon); +- p.pu[LUMA_8x32].pixelavg_pp = PFX(pixel_avg_pp_8x32_neon); +- p.pu[LUMA_12x16].pixelavg_pp = PFX(pixel_avg_pp_12x16_neon); +- p.pu[LUMA_16x4].pixelavg_pp = PFX(pixel_avg_pp_16x4_neon); +- p.pu[LUMA_16x8].pixelavg_pp = PFX(pixel_avg_pp_16x8_neon); +- p.pu[LUMA_16x12].pixelavg_pp = PFX(pixel_avg_pp_16x12_neon); +- p.pu[LUMA_16x16].pixelavg_pp = PFX(pixel_avg_pp_16x16_neon); +- p.pu[LUMA_16x32].pixelavg_pp = PFX(pixel_avg_pp_16x32_neon); +- p.pu[LUMA_16x64].pixelavg_pp = PFX(pixel_avg_pp_16x64_neon); +- p.pu[LUMA_24x32].pixelavg_pp = PFX(pixel_avg_pp_24x32_neon); +- p.pu[LUMA_32x8].pixelavg_pp = PFX(pixel_avg_pp_32x8_neon); +- p.pu[LUMA_32x16].pixelavg_pp = PFX(pixel_avg_pp_32x16_neon); +- p.pu[LUMA_32x24].pixelavg_pp = PFX(pixel_avg_pp_32x24_neon); +- p.pu[LUMA_32x32].pixelavg_pp = PFX(pixel_avg_pp_32x32_neon); +- p.pu[LUMA_32x64].pixelavg_pp = PFX(pixel_avg_pp_32x64_neon); +- p.pu[LUMA_48x64].pixelavg_pp = PFX(pixel_avg_pp_48x64_neon); +- p.pu[LUMA_64x16].pixelavg_pp = PFX(pixel_avg_pp_64x16_neon); +- p.pu[LUMA_64x32].pixelavg_pp = PFX(pixel_avg_pp_64x32_neon); +- p.pu[LUMA_64x48].pixelavg_pp = PFX(pixel_avg_pp_64x48_neon); +- p.pu[LUMA_64x64].pixelavg_pp = PFX(pixel_avg_pp_64x64_neon); ++ p.pu[LUMA_4x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x4_neon); ++ p.pu[LUMA_4x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x8_neon); ++ p.pu[LUMA_4x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x16_neon); ++ p.pu[LUMA_8x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x4_neon); ++ p.pu[LUMA_8x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x8_neon); ++ p.pu[LUMA_8x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x16_neon); ++ p.pu[LUMA_8x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x32_neon); ++ p.pu[LUMA_12x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_12x16_neon); ++ p.pu[LUMA_16x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x4_neon); ++ p.pu[LUMA_16x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x8_neon); ++ p.pu[LUMA_16x12].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x12_neon); ++ p.pu[LUMA_16x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x16_neon); ++ p.pu[LUMA_16x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x32_neon); ++ p.pu[LUMA_16x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x64_neon); ++ p.pu[LUMA_24x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_24x32_neon); ++ p.pu[LUMA_32x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x8_neon); ++ p.pu[LUMA_32x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x16_neon); ++ p.pu[LUMA_32x24].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x24_neon); ++ p.pu[LUMA_32x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x32_neon); ++ p.pu[LUMA_32x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x64_neon); ++ p.pu[LUMA_48x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_48x64_neon); ++ p.pu[LUMA_64x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x16_neon); ++ p.pu[LUMA_64x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x32_neon); ++ p.pu[LUMA_64x48].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x48_neon); ++ p.pu[LUMA_64x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x64_neon); + + // planecopy + p.planecopy_cp = PFX(pixel_planecopy_cp_neon); diff --git a/gnu/packages/patches/xdotool-fix-makefile.patch b/gnu/packages/patches/xdotool-fix-makefile.patch deleted file mode 100644 index 5fed41f8b4..0000000000 --- a/gnu/packages/patches/xdotool-fix-makefile.patch +++ /dev/null @@ -1,16 +0,0 @@ -Fix Makefile, which missed including a necessary library for compiling in the -0.5.0 release. - -See https://github.com/jordansissel/xdotool/pull/81 for more information. - ---- xdotool-3.20150503.1/Makefile 2014-10-20 13:05:34.000000000 -0700 -+++ xdotool-3.20150503.1/Makefile 2016-02-05 14:44:18.652734272 -0800 -@@ -28,7 +28,7 @@ - CFLAGS+=-g # TODO(sissel): Comment before release - CFLAGS+=$(CPPFLAGS) - --DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama -+DEFAULT_LIBS=-L/usr/X11R6/lib -L/usr/local/lib -lX11 -lXtst -lXinerama -lxkbcommon - DEFAULT_INC=-I/usr/X11R6/include -I/usr/local/include - - XDOTOOL_LIBS=$(shell pkg-config --libs x11 2> /dev/null || echo "$(DEFAULT_LIBS)") $(shell sh platform.sh extralibs)
\ No newline at end of file diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3eb5b1eacf..abc66a1467 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3128,30 +3128,6 @@ and alternative installers with the `installler` option. But it's written in only about 40% as many lines of code and with zero non-core dependencies.") (license (package-license perl)))) -(define-public perl-extutils-depends - (package - (name "perl-extutils-depends") - (version "0.405") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-" - version - ".tar.gz")) - (sha256 - (base32 - "0b4ab9qmcihsfs2ajhn5qzg7nhazr68v3r0zvb7076smswd41mla")))) - (build-system perl-build-system) - (native-inputs - `(("perl-test-number-delta" - ,perl-test-number-delta))) - (home-page "http://search.cpan.org/dist/ExtUtils-Depends/") - (synopsis "Easily build XS extensions that depend on XS extensions") - (description "ExtUtils::Depends builds XS extensions that depend on XS -extensions") - (license (package-license perl)))) - (define-public perl-extutils-installpaths (package (name "perl-extutils-installpaths") diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6f60b75f32..082b889c2a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1683,30 +1683,6 @@ matching them against a list of media-ranges.") `(#:tests? #f ,@(package-arguments python2-funcsigs))))) -(define-public python-pafy - (package - (name "python-pafy") - (version "0.5.3.1") - (source - (origin - (method url-fetch) - (uri (pypi-uri "pafy" version)) - (sha256 - (base32 - "1a7dxi95m1043rxx1r5x3ngb66nwlq6aqcasyqqjzmmmjps4zrim")))) - (build-system python-build-system) - (arguments - `(#:tests? #f)) ; Currently pafy can not find itself in the tests - (propagated-inputs - ;; Youtube-dl is a python package which is imported in the file - ;; "backend_youtube_dl.py", therefore it needs to be propagated. - `(("youtube-dl" ,youtube-dl))) - (home-page "https://np1.github.io/pafy/") - (synopsis "Retrieve YouTube content and metadata") - (description - "@code{pafy} is a python library to retrieve YouTube content and metadata.") - (license license:lgpl3+))) - (define-public python-py (package (name "python-py") @@ -5074,16 +5050,40 @@ of the structure, dynamics, and functions of complex networks.") (define-public python2-networkx2 (package-with-python2 python-networkx2)) +(define-public python-datrie + (package + (name "python-datrie") + (version "0.7.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "datrie" version)) + (sha256 + (base32 + "08r0if7dry2q7p34gf7ffyrlnf4bdvnprxgydlfxgfnvq8f3f4bs")))) + (build-system python-build-system) + (native-inputs + `(("python-cython" ,python-cython) + ("python-hypothesis" ,python-hypothesis) + ("python-pytest" ,python-pytest) + ("python-pytest-runner" ,python-pytest-runner))) + (home-page "https://github.com/kmike/datrie") + (synopsis "Fast, efficiently stored trie for Python") + (description + "This package provides a fast, efficiently stored trie implementation for +Python.") + (license license:lgpl2.1+))) + (define-public snakemake (package (name "snakemake") - (version "4.4.0") + (version "5.2.0") (source (origin (method url-fetch) (uri (pypi-uri "snakemake" version)) (sha256 - (base32 "0g0paia4z7w3srnqdmavq3hrb2x7qnpf81jx50njl0p7y4y0j8jv")))) + (base32 "0a1i5v5qxbmmpznp7my9nva8y7pxp8pjrwk2gxgisdskg35sq8s1")))) (build-system python-build-system) (arguments ;; TODO: Package missing test dependencies. @@ -5105,6 +5105,11 @@ of the structure, dynamics, and functions of complex networks.") ("python-requests" ,python-requests) ("python-appdirs" ,python-appdirs) ("python-configargparse" ,python-configargparse) + ("python-datrie" ,python-datrie) + ("python-docutils" ,python-docutils) + ("python-jinja2" ,python-jinja2) + ("python-jsonschema" ,python-jsonschema) + ("python-networkx" ,python-networkx) ("python-pyyaml" ,python-pyyaml) ("python-ratelimiter" ,python-ratelimiter))) (home-page "https://bitbucket.org/snakemake/snakemake/wiki/Home") @@ -5115,6 +5120,24 @@ providing a clean and modern domain specific specification language (DSL) in Python style, together with a fast and comfortable execution environment.") (license license:expat))) +;; This is currently needed for the pigx-* packages. +(define-public snakemake-4 + (package (inherit snakemake) + (version "4.4.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "snakemake" version)) + (sha256 + (base32 "0g0paia4z7w3srnqdmavq3hrb2x7qnpf81jx50njl0p7y4y0j8jv")))) + (propagated-inputs + `(("python-wrapt" ,python-wrapt) + ("python-requests" ,python-requests) + ("python-appdirs" ,python-appdirs) + ("python-configargparse" ,python-configargparse) + ("python-pyyaml" ,python-pyyaml) + ("python-ratelimiter" ,python-ratelimiter))))) + (define-public python-pyqrcode (package (name "python-pyqrcode") diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index cefceb6b68..f6eb2831fd 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1786,7 +1786,7 @@ module provides support functions to the automatically generated code.") ("qtsvg" ,qtsvg) ("qttools" ,qttools) ("qtwebchannel" ,qtwebchannel) - ;("qtwebkit" ,qtwebkit) + ("qtwebkit" ,qtwebkit) ("qtwebsockets" ,qtwebsockets) ("qtx11extras" ,qtx11extras) ("qtxmlpatterns" ,qtxmlpatterns))) @@ -2104,18 +2104,17 @@ different kinds of sliders, and much more.") (define-public qtwebkit (package (name "qtwebkit") - (version "5.9.1") + (version "5.212.0-alpha2") (source (origin (method url-fetch) - (uri (string-append "https://download.qt.io/official_releases/qt/" - (version-major+minor version) "/" version - "/submodules/" name "-opensource-src-" - version ".tar.xz")) + (uri (string-append "https://github.com/annulen/webkit/releases/download/" + name "-" version "/" name "-" version ".tar.xz")) (sha256 (base32 - "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998")))) - (build-system gnu-build-system) + "12lg7w00d8wsj672s1y5z5gm0xdcgs16nas0b5bgq4byavg03ygq")) + (patches (search-patches "qtwebkit-pbutils-include.patch")))) + (build-system cmake-build-system) (native-inputs `(("perl" ,perl) ("python" ,python-2.7) @@ -2126,6 +2125,8 @@ different kinds of sliders, and much more.") ("pkg-config" ,pkg-config))) (inputs `(("icu" ,icu4c) + ("glib" ,glib) + ("gst-plugins-base" ,gst-plugins-base) ("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libwebp" ,libwebp) @@ -2134,92 +2135,27 @@ different kinds of sliders, and much more.") ("libxrender" ,libxrender) ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) + ("qtlocation" ,qtlocation) ("qtmultimedia" ,qtmultimedia) + ("qtsensors" ,qtsensors) + ("qtwebchannel" ,qtwebchannel) ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("libx11" ,libx11) ("libxcomposite" ,libxcomposite))) (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'fix-qmlwebkit-plugins-rpath - (lambda _ - (substitute* "Source/WebKit/qt/declarative/experimental/experimental.pri" - (("RPATHDIR_RELATIVE_TO_DESTDIR = \\.\\./\\.\\./lib") - "RPATHDIR_RELATIVE_TO_DESTDIR = ../../../../../lib")) - (substitute* "Source/WebKit/qt/declarative/public.pri" - (("RPATHDIR_RELATIVE_TO_DESTDIR = \\.\\./\\.\\./lib") - "RPATHDIR_RELATIVE_TO_DESTDIR = ../../../../lib")) - #t)) - (replace 'configure - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (setenv "QMAKEPATH" - (string-append (getcwd) "/Tools/qmake:" - (getenv "QMAKEPATH"))) - (system* "qmake")))) - ;; prevent webkit from trying to install into the qtbase store directory, - ;; and replace references to the build directory in linker options: - (add-before 'build 'patch-installpaths - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (qtbase (assoc-ref inputs "qtbase")) - (builddir (getcwd)) - (linkbuild (string-append "-L" builddir)) - (linkout (string-append "-L" out)) - (makefiles - (map-in-order - (lambda (i) - (let* ((in (car i)) - (mf (string-append (dirname in) "/" - (cdr i)))) - ;; by default, these Makefiles are - ;; generated during install, but we need - ;; to generate them now - (system* "qmake" in "-o" mf) - mf)) - '(("Source/api.pri" . "Makefile.api") - ("Source/widgetsapi.pri" - . "Makefile.widgetsapi") - ("Source/WebKit2/WebProcess.pro" - . "Makefile.WebProcess") - ("Source/WebKit2/PluginProcess.pro" - . "Makefile.PluginProcess") - ("Source/WebKit/qt/declarative/public.pri" - . "Makefile.declarative.public") - ("Source/WebKit/qt/declarative/experimental/experimental.pri" - . "Makefile.declarative.experimental") - ("Source/WebKit/qt/examples/platformplugin/platformplugin.pro" - . "Makefile"))))) - ;; Order of qmake calls and substitutions matters here. - (system* "qmake" "-prl" "Source/widgetsapi.pri" - "-o" "Source/Makefile") - (substitute* (find-files "lib" "libQt5.*\\.prl") - ((linkbuild) linkout)) - (substitute* (find-files "lib" - "libQt5WebKit.*\\.la") - (("libdir='.*'") - (string-append "libdir='" out "/lib'")) - ((linkbuild) linkout)) - (substitute* (find-files "lib/pkgconfig" - "Qt5WebKit.*\\.pc") - (((string-append "prefix=" qtbase)) - (string-append "prefix=" out)) - ((linkbuild) linkout)) - ;; Makefiles must be modified after .prl/.la/.pc - ;; files, lest they get rebuilt: - (substitute* makefiles - (((string-append "\\$\\(INSTALL_ROOT\\)" qtbase)) - out ) - (((string-append "-Wl,-rpath," builddir)) - (string-append "-Wl,-rpath," out))))))))) + `(#:tests? #f ; no apparent tests; it might be necessary to set + ; ENABLE_API_TESTS, see CMakeLists.txt + #:configure-flags (list ;"-DENABLE_API_TESTS=TRUE" + "-DPORT=Qt" + "-DUSE_LIBHYPHEN=OFF" + "-DUSE_SYSTEM_MALLOC=ON"))) (home-page "https://www.webkit.org") (synopsis "Web browser engine and classes to render and interact with web content") (description "QtWebKit provides a Web browser engine that makes it easy to embed content from the World Wide Web into your Qt application. At the same time Web content can be enhanced with native controls.") - (license license:lgpl2.1+))) (define-public dotherside diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index d5ed06f0df..3f501a0736 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -29,7 +29,7 @@ (define-public re2 (package (name "re2") - (version "2018-07-01") + (version "2018-08-01") (home-page "https://github.com/google/re2") (source (origin (method url-fetch) @@ -37,7 +37,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1zh7kzyv4h7960rdp31a3bq6y4qrdxyf6k86j67yzpkf2h8phg40")))) + "0lmpc3cb9bvc27fp27jacx6qjn176v8z8p7k70byc092q68mr6bw")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 202716365b..55ce45ce78 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -484,7 +484,7 @@ sound and device input (keyboards, joysticks, mice, etc.).") (define-public guile-sdl2 (package (name "guile-sdl2") - (version "0.2.0") + (version "0.3.0") (source (origin (method url-fetch) (uri (string-append @@ -492,7 +492,7 @@ sound and device input (keyboards, joysticks, mice, etc.).") version ".tar.gz")) (sha256 (base32 - "0yq9lsl17cdvj77padvpk3jcw2g6g0pck9jrchc7n2767rrc012b")))) + "0iq6fw213qw292fxhrsg40al7hqyqyh4qpgl0x9rh08y949h2w97")))) (build-system gnu-build-system) (arguments '(#:make-flags '("GUILE_AUTO_COMPILE=0") @@ -504,16 +504,7 @@ sound and device input (keyboards, joysticks, mice, etc.).") (string-append "--with-libsdl2-ttf-prefix=" (assoc-ref %build-inputs "sdl2-ttf")) (string-append "--with-libsdl2-mixer-prefix=" - (assoc-ref %build-inputs "sdl2-mixer"))) - #:phases - (modify-phases %standard-phases - (add-after 'configure 'patch-makefile - (lambda _ - ;; Install compiled Guile files in the expected place. - (substitute* '("Makefile") - (("^godir = .*$") - "godir = $(moddir)\n")) - #t))))) + (assoc-ref %build-inputs "sdl2-mixer"))))) (native-inputs `(("guile" ,guile-2.2) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index 386092b358..284771ab60 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -46,7 +46,7 @@ (define-public xapian (package (name "xapian") - (version "1.4.6") + (version "1.4.7") ;; Note: When updating Xapian, remember to update xapian-bindings below. (source (origin (method url-fetch) @@ -54,7 +54,7 @@ "/xapian-core-" version ".tar.xz")) (patches (search-patches "xapian-revert-5489fb2f8.patch")) (sha256 - (base32 "166qpfq7pvyrj2w2x07v31ypvqg6c2xyvds5sms9h4g2sg0z23hy")))) + (base32 "1lxmlds3v5s1gng9nk1rvmln1zcksrw5ds509y0glylwch5qmw0k")))) (build-system gnu-build-system) (inputs `(("zlib" ,zlib) ("util-linux" ,util-linux))) @@ -92,7 +92,7 @@ rich set of boolean query operators.") "/xapian-bindings-" version ".tar.xz")) (sha256 (base32 - "0z5ma66n742241ys037i3k66c6lvsywviqf33vqsf4jb7j03qsbi")))) + "0sjf9ck3a6p7xnd84w09l6s0xn2g03k9a9417f4mjnywfq9pa6a5")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-python3") diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index cd92c62f58..faa09e94c3 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> @@ -232,7 +232,7 @@ TCP-forwarding. It provides a flow control service for these channels. Additionally, various channel-specific options can be negotiated.") (license (license:non-copyleft "file://LICENSE" "See LICENSE in the distribution.")) - (home-page "http://www.openssh.org/"))) + (home-page "https://www.openssh.com/"))) (define-public guile-ssh (package diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index f9c46c7bcb..d92a3ddde0 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -818,7 +818,7 @@ then ported to the GNU / Linux environment.") (define-public mbedtls-apache (package (name "mbedtls-apache") - (version "2.7.4") + (version "2.7.5") (source (origin (method url-fetch) @@ -828,7 +828,7 @@ then ported to the GNU / Linux environment.") version "-apache.tgz")) (sha256 (base32 - "1x9qia3rd77brz6qiv46w3ham2q78shn2rsz1jbpgqq0jpa69q9l")))) + "0h4vks2z68bkwzg093mn0a7aqsva8rxr4m971n4bkasa17cjlc51")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 6cb3354204..3db5796b4c 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1579,7 +1579,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (define-public tig (package (name "tig") - (version "2.3.3") + (version "2.4.1") (source (origin (method url-fetch) (uri (string-append @@ -1587,7 +1587,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") version "/tig-" version ".tar.gz")) (sha256 (base32 - "1skbhhj1narsnsff1azdylcy6xghxb18mzqysmipcyyvlv2i17fk")))) + "1f2qhpzbl7f35lsjcnx8lxzskha24m4frczsw78284jp7qcamdmn")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc) @@ -1608,7 +1608,7 @@ from Subversion to any supported Distributed Version Control System (DVCS).") (description "Tig is an ncurses text user interface for Git, primarily intended as a history browser. It can also stage hunks for commit, or colorize the -output of the 'git' command.") +output of the @code{git} command.") (license license:gpl2+))) (define-public findnewest diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 24bf5b4ed9..605e461a6c 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -27,6 +27,7 @@ ;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com> ;;; Copyright © 2018 Leo Famulari <leo@famulari.name> ;;; Copyright © 2018 Brendan Tildesley <brendan.tildesley@openmailbox.org> +;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -397,7 +398,8 @@ and creating Matroska files from other media files (@code{mkvmerge}).") (sha256 (base32 "0qx8mavwdzdpkkby7n29i9av7zsnklavacwfz537mf62q2pzjnbf")) - (patches (search-patches "x265-fix-ppc64le-build.patch")) + (patches (search-patches "x265-fix-ppc64le-build.patch" + "x265-arm-asm-primitives.patch")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "source/compat/getopt") @@ -1255,7 +1257,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.07.10") + (version "2018.07.29") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1263,7 +1265,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "1rigah941k2drzx5qz937lk68gw9jrizj5lgd9f9znp0bgi2d0xd")))) + "18rszvvpw9zyqfjysydvl24jf0hlpfcd22fgqsijhsq7bznwr9jj")))) (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 ebc57dc369..e4120de38f 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com> ;;; Copyright © 2017 Andy Patterson <ajpatter@uwaterloo.ca> @@ -76,8 +76,7 @@ #:use-module (guix build-system python) #:use-module (guix download) #:use-module (guix git-download) - #:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1 lgpl2.1+ - asl2.0)) + #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1)) @@ -227,7 +226,7 @@ the KVM kernel module in Linux. When using KVM, QEMU can virtualize x86, server and embedded PowerPC, and S390 guests.") ;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'. - (license gpl2) + (license license:gpl2) ;; Several tests fail on MIPS; see <http://hydra.gnu.org/build/117914>. (supported-systems (delete "mips64el-linux" %supported-systems)))) @@ -337,7 +336,7 @@ system on a hypervisor. Via GObject Introspection, the API is available in all common programming languages. Vala bindings are also provided.") ;; The library files are released under LGPLv2.1 or later; the source ;; files in the "tools" directory are released under GPLv2+. - (license (list lgpl2.1+ gpl2+)))) + (license (list license:lgpl2.1+ license:gpl2+)))) (define-public lxc (package @@ -382,7 +381,7 @@ all common programming languages. Vala bindings are also provided.") "LXC is a userspace interface for the Linux kernel containment features. Through a powerful API and simple tools, it lets Linux users easily create and manage system or application containers.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public libvirt (package @@ -467,7 +466,7 @@ manage system or application containers.") capabilities of recent versions of Linux. The library aims at providing long term stable C API initially for the Xen paravirtualization but should be able to integrate other virtualization mechanisms if needed.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public libvirt-glib (package @@ -515,7 +514,7 @@ three libraries: @item libvirt-gobject - GObjects for managing libvirt objects @end enumerate ") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python-libvirt (package @@ -550,7 +549,7 @@ three libraries: (synopsis "Python bindings to libvirt") (description "This package provides Python bindings to the libvirt virtualization library.") - (license lgpl2.1+))) + (license license:lgpl2.1+))) (define-public python2-libvirt (package-with-python2 python-libvirt)) @@ -649,7 +648,7 @@ virtualization library.") virtual machines through libvirt. It primarily targets KVM VMs, but also manages Xen and LXC (Linux containers). It presents a summary view of running domains, their live performance and resource utilization statistics.") - (license gpl2+))) + (license license:gpl2+))) (define-public criu (package @@ -743,7 +742,7 @@ was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.") ;; The project is licensed under GPLv2; files in the lib/ directory are ;; LGPLv2.1. - (license (list gpl2 lgpl2.1)))) + (license (list license:gpl2 license:lgpl2.1)))) (define-public qmpbackup (package @@ -765,7 +764,7 @@ mainly implemented in user space.") (description "qmpbackup is designed to create and restore full and incremental backups of running QEMU virtual machines via QMP, the QEMU Machine Protocol.") - (license gpl3+))) + (license license:gpl3+))) (define-public lookingglass (package @@ -813,7 +812,7 @@ monitor, keyboard or mouse. It displays the VM's rendered contents on your main monitor/GPU.") ;; This package requires SSE instructions. (supported-systems '("i686-linux" "x86_64-linux")) - (license gpl2+))) + (license license:gpl2+))) (define-public runc (package @@ -870,7 +869,7 @@ packaged according to the @uref{https://github.com/opencontainers/runtime-spec/blob/master/spec.md, Open Container Initiative (OCI) format} and is a compliant implementation of the Open Container Initiative specification.") - (license asl2.0))) + (license license:asl2.0))) (define-public umoci (package @@ -915,7 +914,7 @@ Open Container Initiative specification.") (description "@command{umoci} is a tool that allows for high-level modification of an Open Container Initiative (OCI) image layout and its tagged images.") - (license asl2.0))) + (license license:asl2.0))) (define-public skopeo (package @@ -977,4 +976,26 @@ the image. @item Delete container images from a remote container registry. @end enumerate") - (license asl2.0))) + (license license:asl2.0))) + +(define-public python-vagrant + (package + (name "python-vagrant") + (version "0.5.15") + (source + (origin + (method url-fetch) + (uri (pypi-uri "python-vagrant" version)) + (sha256 + (base32 + "1ikrh6canhcxg5y7pzmkcnnydikppv7s6sm9prfx90nk0ac8m6mg")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; tests involve running vagrant. + (home-page "https://github.com/todddeluca/python-vagrant") + (synopsis "Python bindings for Vagrant") + (description + "Python-vagrant is a Python module that provides a thin wrapper around the +@code{vagrant} command line executable, allowing programmatic control of Vagrant +virtual machines.") + (license license:expat))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 2a8958d37f..d6ca5278f5 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2015 Florian Paul Schmidt <mista.tapas@gmx.net> ;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com> @@ -222,7 +222,7 @@ X11 (yet).") (define-public xdotool (package (name "xdotool") - (version "3.20150503.1") + (version "3.20160805.1") (source (origin (method url-fetch) @@ -231,8 +231,7 @@ X11 (yet).") version "/xdotool-" version ".tar.gz")) (sha256 (base32 - "1lcngsw33fy9my21rdiz1gs474bfdqcfxjrnfggbx4aypn1nhcp8")) - (patches (search-patches "xdotool-fix-makefile.patch")))) + "1a6c1zr86zb53352yxv104l76l8x21gfl2bgw6h21iphxpv5zgim")))) (build-system gnu-build-system) (arguments '(#:tests? #f ; Test suite requires a lot of black magic @@ -240,11 +239,11 @@ X11 (yet).") (modify-phases %standard-phases (replace 'configure (lambda* (#:key outputs #:allow-other-keys #:rest args) - (setenv "PREFIX" (assoc-ref outputs "out")) - (setenv "LDFLAGS" - (string-append "-Wl,-rpath=" - (assoc-ref %outputs "out") "/lib")) - (setenv "CC" "gcc")))))) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/lib")) + (setenv "PREFIX" out) + (setenv "LDFLAGS" (string-append "-Wl,-rpath=" out "/lib")) + (setenv "CC" "gcc"))))))) (native-inputs `(("perl" ,perl))) ; for pod2man (inputs `(("libx11" ,libx11) ("libxext" ,libxext) @@ -1476,3 +1475,27 @@ first. Additionally, xss-lock uses the inhibition logic to lock the screen before the system goes to sleep.") (home-page "https://bitbucket.org/raymonad/xss-lock") (license license:expat)))) + +(define-public python-pyperclip + (package + (name "python-pyperclip") + (version "1.6.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pyperclip" version)) + (sha256 + (base32 + "1p505c23ji06r28k1y67siihsbdzdf1brhlqpyv9ams4gk9863pp")))) + (build-system python-build-system) + (arguments + '(#:tests? #f)) ; Not clear how to make tests pass. + (inputs + `(("xclip" ,xclip) + ("xsel" ,xsel))) + (home-page "https://github.com/asweigart/pyperclip") + (synopsis "Python clipboard module") + (description + "Pyperclip is a clipboard module for Python, handling copy/pasting from +the X11 clipboard") + (license license:bsd-3))) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index f158fdf01f..dd96ad6aec 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -289,6 +289,19 @@ The other options should be self-descriptive." ;; Boolean (x11-forwarding? openssh-configuration-x11-forwarding? (default #f)) + + ;; Boolean + (allow-agent-forwarding? openssh-configuration-allow-agent-forwarding? + (default #t)) + + ;; Boolean + (allow-tcp-forwarding? openssh-configuration-allow-tcp-forwarding? + (default #t)) + + ;; Boolean + (gateway-ports? openssh-configuration-gateway-ports? + (default #f)) + ;; Boolean (challenge-response-authentication? openssh-challenge-response-authentication? (default #f)) @@ -418,6 +431,15 @@ of user-name/file-like tuples." (format port "X11Forwarding ~a\n" #$(if (openssh-configuration-x11-forwarding? config) "yes" "no")) + (format port "AllowAgentForwarding ~a\n" + #$(if (openssh-configuration-allow-agent-forwarding? config) + "yes" "no")) + (format port "AllowTcpForwarding ~a\n" + #$(if (openssh-configuration-allow-tcp-forwarding? config) + "yes" "no")) + (format port "GatewayPorts ~a\n" + #$(if (openssh-configuration-gateway-ports? config) + "yes" "no")) (format port "PidFile ~a\n" #$(openssh-configuration-pid-file config)) (format port "ChallengeResponseAuthentication ~a\n" diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index d73ebfd8d3..a5a111908f 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -108,34 +108,18 @@ the derivations referenced by EXP are automatically copied to the initrd." MODULES and taken from LINUX." (define build-exp (with-imported-modules (source-module-closure - '((guix build utils) - (gnu build linux-modules))) + '((gnu build linux-modules))) #~(begin - (use-modules (ice-9 match) (ice-9 regex) + (use-modules (gnu build linux-modules) (srfi srfi-1) - (guix build utils) - (gnu build linux-modules)) - - (define (string->regexp str) - ;; Return a regexp that matches STR exactly. - (string-append "^" (regexp-quote str) "$")) + (srfi srfi-26)) (define module-dir (string-append #$linux "/lib/modules")) - (define (lookup module) - (let ((name (ensure-dot-ko module))) - (match (find-files module-dir (string->regexp name)) - ((file) - file) - (() - (error "module not found" name module-dir)) - ((_ ...) - (error "several modules by that name" - name module-dir))))) - (define modules - (let ((modules (map lookup '#$modules))) + (let* ((lookup (cut find-module-file module-dir <>)) + (modules (map lookup '#$modules))) (append modules (recursive-module-dependencies modules #:lookup-module lookup)))) diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm index c452bdd894..af73dc608c 100644 --- a/gnu/system/mapped-devices.scm +++ b/gnu/system/mapped-devices.scm @@ -21,7 +21,7 @@ (define-module (gnu system mapped-devices) #:use-module (guix gexp) #:use-module (guix records) - #:use-module (guix modules) + #:use-module ((guix modules) #:hide (file-name->module-name)) #:use-module (guix i18n) #:use-module ((guix utils) #:select (source-properties->location @@ -33,7 +33,7 @@ #:autoload (gnu build file-systems) (find-partition-by-luks-uuid) #:autoload (gnu build linux-modules) (device-module-aliases matching-modules known-module-aliases - normalize-module-name) + normalize-module-name file-name->module-name) #:autoload (gnu packages cryptsetup) (cryptsetup-static) #:autoload (gnu packages linux) (mdadm-static) #:use-module (srfi srfi-1) @@ -128,20 +128,25 @@ DEVICE must be a \"/dev\" file name." (const #f))) (when aliases - (let ((modules (delete-duplicates - (append-map (cut matching-modules <> aliases) - (device-module-aliases device)))) + (let* ((modules (delete-duplicates + (append-map (cut matching-modules <> aliases) + (device-module-aliases device)))) - ;; Module names (not file names) are supposed to use underscores - ;; instead of hyphens. MODULES is a list of module names, whereas - ;; LINUX-MODULES is file names without '.ko', so normalize them. - (provided (map normalize-module-name linux-modules))) - (unless (every (cut member <> provided) modules) + ;; Module names (not file names) are supposed to use underscores + ;; instead of hyphens. MODULES is a list of module names, whereas + ;; LINUX-MODULES is file names without '.ko', so normalize them. + (provided (map file-name->module-name linux-modules)) + (missing (remove (cut member <> provided) modules))) + (unless (null? missing) + ;; Note: What we suggest here is a list of module names (e.g., + ;; "usb_storage"), not file names (e.g., "usb-storage.ko"). This is + ;; OK because we have machinery that accepts both the hyphen and the + ;; underscore version. (raise (condition (&message (message (format #f (G_ "you may need these modules \ in the initrd for ~a:~{ ~a~}") - device modules))) + device missing))) (&fix-hint (hint (format #f (G_ "Try adding them to the @code{initrd-modules} field of your @code{operating-system} declaration, along @@ -153,7 +158,7 @@ these lines: (initrd-modules (append (list~{ ~s~}) %base-initrd-modules))) @end example\n") - modules))) + missing))) (&error-location (location (source-properties->location location))))))))) diff --git a/guix/import/cabal.scm b/guix/import/cabal.scm index 4b2bfd4a25..1b8bda6f4e 100644 --- a/guix/import/cabal.scm +++ b/guix/import/cabal.scm @@ -34,6 +34,8 @@ #:export (read-cabal eval-cabal + cabal-custom-setup-dependencies + cabal-package? cabal-package-name cabal-package-version @@ -47,6 +49,7 @@ cabal-package-test-suites cabal-package-flags cabal-package-eval-environment + cabal-package-custom-setup cabal-source-repository? cabal-source-repository-use-case @@ -616,7 +619,7 @@ If #f use the function 'port-filename' to obtain it." (make-cabal-package name version license home-page source-repository synopsis description executables lib test-suites - flags eval-environment) + flags eval-environment custom-setup) cabal-package? (name cabal-package-name) (version cabal-package-version) @@ -629,7 +632,8 @@ If #f use the function 'port-filename' to obtain it." (lib cabal-package-library) ; 'library' is a Scheme keyword (test-suites cabal-package-test-suites) (flags cabal-package-flags) - (eval-environment cabal-package-eval-environment)) ; alist + (eval-environment cabal-package-eval-environment) ; alist + (custom-setup cabal-package-custom-setup)) (set-record-type-printer! <cabal-package> (lambda (package port) @@ -826,10 +830,13 @@ See the manual for limitations."))))))) (lib (make-cabal-section evaluated-sexp 'library)) (test-suites (make-cabal-section evaluated-sexp 'test-suite)) (flags (make-cabal-section evaluated-sexp 'flag)) - (eval-environment '())) + (eval-environment '()) + (custom-setup (match + (make-cabal-section evaluated-sexp 'custom-setup) + ((x) x)))) (make-cabal-package name version license home-page-or-hackage source-repository synopsis description executables lib - test-suites flags eval-environment))) + test-suites flags eval-environment custom-setup))) ((compose cabal-evaluated-sexp->package eval) cabal-sexp)) diff --git a/guix/import/hackage.scm b/guix/import/hackage.scm index eb9e1d7d82..6f80d84b70 100644 --- a/guix/import/hackage.scm +++ b/guix/import/hackage.scm @@ -150,10 +150,9 @@ version." (_ #f))) -(define (cabal-dependencies->names cabal include-test-dependencies?) - "Return the list of dependencies names from the CABAL package object. If -INCLUDE-TEST-DEPENDENCIES? is #f, do not include dependencies required by test -suites." +(define (cabal-dependencies->names cabal) + "Return the list of dependencies names from the CABAL package object, +not including test suite dependencies or custom-setup dependencies." (let* ((lib (cabal-package-library cabal)) (lib-deps (if (pair? lib) (map cabal-dependency-name @@ -163,15 +162,25 @@ suites." (exe-deps (if (pair? exe) (map cabal-dependency-name (append-map cabal-executable-dependencies exe)) - '())) - (ts (cabal-package-test-suites cabal)) - (ts-deps (if (pair? ts) - (map cabal-dependency-name - (append-map cabal-test-suite-dependencies ts)) '()))) - (if include-test-dependencies? - (delete-duplicates (append lib-deps exe-deps ts-deps)) - (delete-duplicates (append lib-deps exe-deps))))) + (delete-duplicates (append lib-deps exe-deps)))) + +(define (cabal-test-dependencies->names cabal) + "Return the list of test suite dependencies from the CABAL package +object." + (let* ((ts (cabal-package-test-suites cabal)) + (ts-deps (if (pair? ts) + (map cabal-dependency-name + (append-map cabal-test-suite-dependencies ts)) + '()))) + ts-deps)) + +(define (cabal-custom-setup-dependencies->names cabal) + "Return the list of custom-setup dependencies from the CABAL package +object." + (let* ((custom-setup-dependencies (and=> (cabal-package-custom-setup cabal) + cabal-custom-setup-dependencies))) + (map cabal-dependency-name custom-setup-dependencies))) (define (filter-dependencies dependencies own-name) "Filter the dependencies included with the GHC compiler from DEPENDENCIES, a @@ -199,8 +208,23 @@ representation of a Cabal file as produced by 'read-cabal'." (map hackage-name->package-name ((compose (cut filter-dependencies <> (cabal-package-name cabal)) - (cut cabal-dependencies->names <> - include-test-dependencies?)) + (cut cabal-dependencies->names <>)) + cabal)))) + (map (lambda (name) + (list name (list 'unquote (string->symbol name)))) + names))) + + (define native-dependencies + (let ((names + (map hackage-name->package-name + ((compose (cut filter-dependencies <> + (cabal-package-name cabal)) + ;; FIXME: Check include-test-dependencies? + (lambda (cabal) + (append (if include-test-dependencies? + (cabal-test-dependencies->names cabal) + '()) + (cabal-custom-setup-dependencies->names cabal)))) cabal)))) (map (lambda (name) (list name (list 'unquote (string->symbol name)))) @@ -234,6 +258,7 @@ representation of a Cabal file as produced by 'read-cabal'." "failed to download tar archive"))))) (build-system haskell-build-system) ,@(maybe-inputs 'inputs dependencies) + ,@(maybe-inputs 'native-inputs native-dependencies) ,@(maybe-arguments) (home-page ,(cabal-package-home-page cabal)) (synopsis ,(cabal-package-synopsis cabal)) diff --git a/guix/ssh.scm b/guix/ssh.scm index 9e90216a2d..da20d4d8db 100644 --- a/guix/ssh.scm +++ b/guix/ssh.scm @@ -279,10 +279,15 @@ Return the list of store items actually sent." (remove (cut valid-path? store <>) ',files))))) (count (length missing)) + (sizes (map (lambda (item) + (path-info-nar-size (query-path-info local item))) + missing)) (port (store-import-channel session))) - (format log-port (N_ "sending ~a store item to '~a'...~%" - "sending ~a store items to '~a'...~%" count) - count (session-get session 'host)) + (format log-port (N_ "sending ~a store item (~h MiB) to '~a'...~%" + "sending ~a store items (~h MiB) to '~a'...~%" count) + count + (inexact->exact (round (/ (reduce + 0 sizes) (expt 2. 20)))) + (session-get session 'host)) ;; Send MISSING in topological order. (export-paths local missing port) |