diff --git a/README b/README index 02d6f7190a..7121358157 100644 --- a/README +++ b/README @@ -63,7 +63,8 @@ To do so: - Re-run the 'configure' script passing it the option '--localstatedir=/somewhere', where '/somewhere' is the 'localstatedir' value of the currently installed Guix (failing to do that would lead the - new Guix to consider the store to be empty!). + new Guix to consider the store to be empty!). We recommend to use the + value '/var'. - Run "make", "make check", and "make install". diff --git a/build-aux/run-system-tests.scm b/build-aux/run-system-tests.scm index 18f7393d81..b0cb3bd2bf 100644 --- a/build-aux/run-system-tests.scm +++ b/build-aux/run-system-tests.scm @@ -18,10 +18,15 @@ (define-module (run-system-tests) #:use-module (gnu tests) + #:use-module (gnu packages package-management) + #:use-module ((gnu ci) #:select (channel-instance->package)) #:use-module (guix store) #:use-module ((guix status) #:select (with-status-verbosity)) #:use-module (guix monads) + #:use-module (guix channels) #:use-module (guix derivations) + #:use-module ((guix git-download) #:select (git-predicate)) + #:use-module (guix utils) #:use-module (guix ui) #:use-module (srfi srfi-1) #:use-module (srfi srfi-34) @@ -46,28 +51,48 @@ (define (filterm mproc lst) ;XXX: move to (guix monads) lst) (lift1 reverse %store-monad)))) -(define (run-system-tests . args) - (define tests - ;; Honor the 'TESTS' environment variable so that one can select a subset - ;; of tests to run in the usual way: - ;; - ;; make check-system TESTS=installed-os +(define (tests-for-channel-instance instance) + "Return a list of tests for perform, using Guix from INSTANCE, a channel +instance." + ;; Honor the 'TESTS' environment variable so that one can select a subset + ;; of tests to run in the usual way: + ;; + ;; make check-system TESTS=installed-os + (parameterize ((current-guix-package + (channel-instance->package instance))) (match (getenv "TESTS") (#f (all-system-tests)) ((= string-tokenize (tests ...)) (filter (lambda (test) (member (system-test-name test) tests)) - (all-system-tests))))) + (all-system-tests)))))) - (format (current-error-port) "Running ~a system tests...~%" - (length tests)) + + +(define (run-system-tests . args) + (define source + (string-append (current-source-directory) "/..")) (with-store store (with-status-verbosity 2 (run-with-store store - (mlet* %store-monad ((drv (mapm %store-monad system-test-value tests)) + ;; Intern SOURCE so that 'build-from-source' in (guix channels) sees + ;; "fresh" file names and thus doesn't find itself loading .go files + ;; from ~/.cache/guile when it loads 'build-aux/build-self.scm'. + ;; XXX: It would be best to not do it upfront because we may need it. + (mlet* %store-monad ((source (interned-file source "guix-source" + #:recursive? #t + #:select? + (or (git-predicate source) + (const #t)))) + (instance -> (checkout->channel-instance source)) + (tests -> (tests-for-channel-instance instance)) + (drv (mapm %store-monad system-test-value tests)) (out -> (map derivation->output-path drv))) + (format (current-error-port) "Running ~a system tests...~%" + (length tests)) + (mbegin %store-monad (show-what-to-build* drv) (set-build-options* #:keep-going? #t #:keep-failed? #t diff --git a/config-daemon.ac b/config-daemon.ac index bf94815966..848e1e58da 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -115,9 +115,6 @@ if test "x$guix_build_daemon" = "xyes"; then dnl to do i686-linux builds on x86_64-linux machines. AC_CHECK_HEADERS([sys/personality.h]) - dnl Check for (for immutable file support). - AC_CHECK_HEADERS([linux/fs.h]) - dnl Determine the appropriate default list of substitute URLs (GnuTLS dnl is required so we can default to 'https'.) guix_substitute_urls="https://ci.guix.gnu.org" diff --git a/configure.ac b/configure.ac index 689b28d984..69ab9a97b8 100644 --- a/configure.ac +++ b/configure.ac @@ -280,9 +280,14 @@ dnl Documentation translation. AM_MISSING_PROG([PO4A_TRANSLATE], [po4a-translate]) AM_MISSING_PROG([PO4A_UPDATEPO], [po4a-updatepo]) -dnl Emacs (optional), for 'etc/indent-package.el'. -AC_PATH_PROG([EMACS], [emacs], [/usr/bin/emacs]) -AC_SUBST([EMACS]) +dnl Emacs (optional), for 'etc/indent-code.el'. +AC_PATH_PROG([EMACS], [emacs]) +if test "x$EMACS" = x; then + AC_MSG_WARN([Please install GNU Emacs to use etc/indent-code.el.]) +else + AC_SUBST([EMACS]) + AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el]) +fi case "$storedir" in /gnu/store) @@ -302,6 +307,5 @@ AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env]) AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in], [chmod +x pre-inst-env]) -AC_CONFIG_FILES([etc/indent-code.el], [chmod +x etc/indent-code.el]) AC_OUTPUT diff --git a/doc/contributing.texi b/doc/contributing.texi index 655c8283e5..ee72b2f94d 100644 --- a/doc/contributing.texi +++ b/doc/contributing.texi @@ -94,7 +94,8 @@ more information. Then, run @command{./configure} as usual. Make sure to pass @code{--localstatedir=@var{directory}} where @var{directory} is the @code{localstatedir} value used by your current installation (@pxref{The -Store}, for information about this). +Store}, for information about this). We recommend to use the value +@code{/var}. Finally, you have to invoke @code{make check} to run tests (@pxref{Running the Test Suite}). If anything diff --git a/doc/guix.texi b/doc/guix.texi index f6dcb2ac63..ed88778016 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -66,6 +66,8 @@ Copyright @copyright{} 2019 Josh Holland@* Copyright @copyright{} 2019 Diego Nicola Barbato@* Copyright @copyright{} 2019 Ivan Petkov@* Copyright @copyright{} 2019 Jakob L. Kreuze@* +Copyright @copyright{} 2019 Kyle Andrews@* +Copyright @copyright{} 2019 Alex Griffin@* Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -791,8 +793,9 @@ When configuring Guix on a system that already has a Guix installation, be sure to specify the same state directory as the existing installation using the @code{--localstatedir} option of the @command{configure} script (@pxref{Directory Variables, @code{localstatedir},, standards, -GNU Coding Standards}). The @command{configure} script protects against -unintended misconfiguration of @var{localstatedir} so you do not +GNU Coding Standards}). Usually, this @var{localstatedir} option is +set to the value @file{/var}. The @command{configure} script protects +against unintended misconfiguration of @var{localstatedir} so you do not inadvertently corrupt your store (@pxref{The Store}). @node Running the Test Suite @@ -2110,7 +2113,7 @@ ifconfig -a @dots{} or, using the GNU/Linux-specific @command{ip} command: @example -ip a +ip address @end example @c https://cgit.freedesktop.org/systemd/systemd/tree/src/udev/udev-builtin-net_id.c#n20 @@ -2128,6 +2131,13 @@ To configure a wired network run the following command, substituting ifconfig @var{interface} up @end example +@noindent +@dots{} or, using the GNU/Linux-specific @command{ip} command: + +@example +ip link set @var{interface} up +@end example + @item Wireless connection @cindex wireless @cindex WiFi @@ -8310,6 +8320,11 @@ The returned source tarball is the result of applying any patches and code snippets specified in the package @code{origin} (@pxref{Defining Packages}). +Note that @command{guix build -S} compiles the sources only of the +specified packages. They do not include the sources of statically +linked dependencies and by themselves are insufficient for reproducing +the packages. + @item --sources Fetch and return the source of @var{package-or-derivation} and all their dependencies, recursively. This is a handy way to obtain a local copy @@ -9899,7 +9914,18 @@ The package dependency graph is largely architecture-independent, but there are some architecture-dependent bits that this option allows you to visualize. @end table +On top of that, @command{guix graph} supports all the usual package +transformation options (@pxref{Package Transformation Options}). This +makes it easy to view the effect of a graph-rewriting transformation +such as @option{--with-input}. For example, the command below outputs +the graph of @code{git} once @code{openssl} has been replaced by +@code{libressl} everywhere in the graph: +@example +guix graph git --with-input=openssl=libressl +@end example + +So many possibilities, so much fun! @node Invoking guix publish @section Invoking @command{guix publish} @@ -10107,7 +10133,7 @@ of the @code{operating-system} declaration (@pxref{guix-publish-service-type, @code{guix-publish-service-type}}). If you are instead running Guix on a ``foreign distro'', follow these -instructions:” +instructions: @itemize @item @@ -13953,6 +13979,52 @@ Package object of the Open vSwitch. @end table @end deftp +@defvr {Scheme Variable} pagekite-service-type +This is the service type for the @uref{https://pagekite.net, PageKite} service, +a tunneling solution for making localhost servers publicly visible, even from +behind NAT or restrictive firewalls. The value for this service type is a +@code{pagekite-configuration} record. + +Here's an example exposing the local HTTP and SSH daemons: + +@lisp +(service pagekite-service-type + (pagekite-configuration + (kites '("http:@@kitename:localhost:80:@@kitesecret" + "raw/22:@@kitename:localhost:22:@@kitesecret")) + (extra-file "/etc/pagekite.rc"))) +@end lisp +@end defvr + +@deftp {Data Type} pagekite-configuration +Data type representing the configuration of PageKite. + +@table @asis +@item @code{package} (default: @var{pagekite}) +Package object of PageKite. + +@item @code{kitename} (default: @code{#f}) +PageKite name for authenticating to the frontend server. + +@item @code{kitesecret} (default: @code{#f}) +Shared secret for authenticating to the frontend server. You should probably +put this inside @code{extra-file} instead. + +@item @code{frontend} (default: @code{#f}) +Connect to the named PageKite frontend server instead of the +@uref{https://pagekite.net,,pagekite.net} service. + +@item @code{kites} (default: @code{'("http:@@kitename:localhost:80:@@kitesecret")}) +List of service kites to use. Exposes HTTP on port 80 by default. The format +is @code{proto:kitename:host:port:secret}. + +@item @code{extra-file} (default: @code{#f}) +Extra configuration file to read, which you are expected to create manually. +Use this to add additional options and manage shared secrets out-of-band. + +@end table +@end deftp + @node X Window @subsection X Window @@ -15530,8 +15602,9 @@ notifications and ways to mount/unmount disks. Programs that talk to UDisks include the @command{udisksctl} command, part of UDisks, and GNOME Disks. @end deffn -@deffn {Scheme Procedure} colord-service [#:colord @var{colord}] -Return a service that runs @command{colord}, a system service with a D-Bus +@deffn {Scheme Variable} colord-service-type +This is the type of the service that runs @command{colord}, a system +service with a D-Bus interface to manage the color profiles of input and output devices such as screens and scanners. It is notably used by the GNOME Color Manager graphical tool. See @uref{https://www.freedesktop.org/software/colord/, the colord web @@ -19745,6 +19818,17 @@ use the size of the processors cache line. @item @code{server-names-hash-bucket-max-size} (default: @code{#f}) Maximum bucket size for the server names hash tables. +@item @code{modules} (default: @code{'()}) +List of nginx dynamic modules to load. This should be a list of file +names of loadable modules, as in this example: + +@lisp +(modules + (list + (file-append nginx-accept-language-module "\ +/etc/nginx/modules/ngx_http_accept_language_module.so"))) +@end lisp + @item @code{extra-content} (default: @code{""}) Extra content for the @code{http} block. Should be string or a string valued G-expression. @@ -21049,6 +21133,44 @@ The list of knot-zone-configuration used by this configuration. @end table @end deftp +@subsubheading Knot Resolver Service + +@deffn {Scheme Variable} knot-resolver-service-type +This this the type of the knot resolver service, whose value should be +an @code{knot-resolver-configuration} object as in this example: + +@lisp +(service knot-resolver-service-type + (knot-resolver-configuration + (kresd-config-file (plain-file "kresd.conf" " +net.listen('192.168.0.1', 5353) +user('knot-resolver', 'knot-resolver') +modules = @{ 'hints > iterate', 'stats', 'predict' @} +cache.size = 100 * MB +")))) +@end lisp + +For more information, refer its @url{https://knot-resolver.readthedocs.org/en/stable/daemon.html#configuration, manual}. +@end deffn + +@deftp {Data Type} knot-resolver-configuration +Data type representing the configuration of knot-resolver. + +@table @asis +@item @code{package} (default: @var{knot-resolver}) +Package object of the knot DNS resolver. + +@item @code{kresd-config-file} (default: %kresd.conf) +File-like object of the kresd configuration file to use, by default it +will listen on @code{127.0.0.1} and @code{::1}. + +@item @code{garbage-collection-interval} (default: 1000) +Number of milliseconds for @code{kres-cache-gc} to periodically trim the cache. + +@end table +@end deftp + + @subsubheading Dnsmasq Service @deffn {Scheme Variable} dnsmasq-service-type diff --git a/etc/news.scm b/etc/news.scm index 5bcd075057..b04e24a589 100644 --- a/etc/news.scm +++ b/etc/news.scm @@ -9,8 +9,32 @@ (channel-news (version 0) + (entry (commit "3e962e59d849e4300e447d94487684102d9d412e") + (title (en "@command{guix graph} now supports package +transformations") + (de "@command{guix graph} unterstützt nun Paketumwandlungen")) + (body + (en "The @command{guix graph} command now supports the common package +transformation options (see @command{info \"(guix) Package Transformation +Options\"}). This is useful in particular to see the effect of the +@option{--with-input} dependency graph rewriting option.") + (de "Der Befehl @command{guix graph} unterstützt nun die mit anderen +Befehlen gemeinsamen Umwandlungsoptionen (siehe @command{info \"(guix.de) +Paketumwandlungsoptionen\"}). Sie helfen insbesondere dabei, die Wirkung der +Befehlszeilenoption @option{--with-input} zum Umschreiben des +Abhängigkeitsgraphen zu sehen.") + (es "La orden @command{guix graph} ahora implementa las opciones +comunes de transformación de paquetes (véase @command{info \"(guix.es) +Opciones de transformación de paquetes\"}). Esto es particularmente +útil para comprobar el efecto de la opción de reescritura del grafo +de dependencias @option{--with-input}."))) + (entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a") (title (en "@command{guix pull} now honors +@file{/etc/guix/channels.scm}") + (de "@command{guix pull} berücksichtigt nun +@file{/etc/guix/channels.scm}") + (es "Ahora @command{guix pull} tiene en cuenta @file{/etc/guix/channels.scm}") (fr "@command{guix pull} lit maintenant @file{/etc/guix/channels.scm}")) @@ -19,6 +43,16 @@ @file{/etc/guix/channels.scm} file if it exists and if the per-user @file{~/.config/guix/channels.scm} is not present. This allows administrators of multi-user systems to define site-wide defaults.") + (de "Der Befehl @command{guix pull} liest nun die Datei +@file{/etc/guix/channels.scm}, wenn sie existiert und es für den jeweiligen +Benutzer keine @file{~/.config/guix/channels.scm} gibt. Dadurch können +Administratoren von Mehrbenutzersystemen systemweite Voreinstellungen +vornehmen.") + (es "Ahora la orden @command{guix pull} lee el fichero +@file{/etc/guix/channels.scm} si existe y el fichero personalizable +@file{~/.config/guix/channels.scm} no está presente. Esto permite a quienes +administran sistemas con múltiples usuarias definir valores predeterminados +en el sistema.") (fr "La commande @command{guix pull} lira maintenant le fichier @file{/etc/guix/channels.scm} s'il existe et si le fichier @file{~/.config/guix/channels.scm} par utilisateur·rice n'est pas présent. @@ -28,6 +62,7 @@ (entry (commit "81c580c8664bfeeb767e2c47ea343004e88223c7") (title (en "Insecure @file{/var/guix/profiles/per-user} permissions (CVE-2019-18192)") (de "Sicherheitslücke in @file{/var/guix/profiles/per-user}-Berechtigungen (CVE-2019-18192)") + (es "Vulnerabilidad en los permisos de @file{/var/guix/profiles/per-user} (CVE-2019-18192)") (fr "Permissions laxistes pour @file{/var/guix/profiles/per-user} (CVE-2019-18192)") (nl "Onveilige @file{/var/guix/profiles/per-user}-rechten (CVE-2019-18192)")) (body @@ -71,6 +106,25 @@ Guix-System führen Sie @code{guix pull && sudo guix system reconfigure …} aus. Achten Sie in beiden Fällen darauf, den Dienst mit @code{herd} oder @code{systemctl} neuzustarten.") + (es "El perfil predeterminado de la usuaria, @file{~/.guix-profile}, +apunta a @file{/var/guix/profiles/per-user/$USUARIA}. Hasta ahora cualquiera +podía escribir en @file{/var/guix/profiles/per-user}, lo cual permitía +a la orden @command{guix} crear el subdirectorio @code{$USUARIA}. + +En un sistema con múltiples usuarias, esto permitiría a cualquiera con +intención de causar daño crear ese subdirectorio @code{$USUARIA} con el nombre +de alguien que no hubiese ingresado en el sistema. Puesto que ese +subdirectorio @code{/var/@dots{}/$USUARIA} se encuentra en la ruta de binarios +predeterminada @code{$PATH}, el objetivo del ataque podría ejecutar código +proporcionado por la parte atacante. Véase +@uref{https://issues.guix.gnu.org/issue/37744} para obtener más información. + +Se ha solucionando delegando en @command{guix-daemon} la creación de esos +directorios y eliminando los permisos de escritura para todo el mundo en +@code{per-user}. En sistemas con múltiples usuarias recomendamos actualizar +cuanto antes el daemon. Para hacerlo ejecute @code{sudo guix pull} si se +encuentra en una distribución distinta, o ejecute @code{guix pull && sudo guix system reconfigure @dots{}} en el sistema Guix. En ambos casos, asegurese de +reiniciar el servicio tras ello, con @code{herd} o @code{systemctl}.") (fr "Le profil utilisateur par défaut, @file{~/.guix-profile}, pointe vers @file{/var/guix/profiles/per-user/$USER}. Jusqu'à maintenant, @file{/var/guix/profiles/per-user} était disponible en @@ -114,6 +168,7 @@ (entry (commit "5f3f70391809f8791c55c05bd1646bc58508fa2c") (title (en "GNU C Library upgraded") (de "GNU-C-Bibliothek aktualisiert") + (es "Actualización de la biblioteca C de GNU") (fr "Mise à jour de la bibliothèque C de GNU") (nl "GNU C-bibliotheek bijgewerkt")) (body @@ -140,6 +195,18 @@ Auf Guix System genügt es, das @code{locale-libcs}-Feld Ihrer @code{operating-system}-Form anzupassen. Führen Sie @code{info \"(guix.de) Locales\"} aus, um weitere Informationen dazu zu erhalten.") + (es "Se ha actualizado la biblioteca de C de GNU (glibc) a la versión +2.29. Para ejecutar programas instalados previamente que se encuentren +enlazados con glibc 2.28, es necesario que instale los datos de localización +de la versión 2.28 junto a los datos de localización de la versión 2.29: + +@example +guix install glibc-locales glibc-locales-2.28 +@end example + +En el sistema Guix, puede ajustar el campo @code{locale-libcs} de su +declaración @code{operating-system}. Ejecute @code{info \"(guix.es) +Localizaciones\"} para obtener más información.") (fr "La bibliothèque C de GNU (glibc) a été mise à jour en version 2.29. Pour pouvoir lancer tes programmes déjà installés et liés à glibc 2.28, tu dois installer les données pour la version 2.28 en plus des données de @@ -163,10 +230,11 @@ Op Guix System kunt u het @code{locale-libcs}-veld van uw @code{operating-system}-vorm aanpassen. Voer @code{info \"(guix) Locales\"} -uit voor verdere uitleg." ))) +uit voor verdere uitleg."))) (entry (commit "cdd3bcf03883d129581a79e6d6611b2afd3b277b") (title (en "New reduced binary seed bootstrap") (de "Neues Bootstrapping mit kleinerem Seed") + (es "Nueva reducción de la semilla binaria para el lanzamiento inicial") (fr "Nouvel ensemble de binaires de bootstrap réduit") (nl "Nieuwe bootstrap met verkleinde binaire kiem")) (body @@ -187,6 +255,12 @@ 130 Mio, soit la moitié par rapport à l'ensemble précédent. Tu peux lancer @code{info \"(guix) Bootstrapping\"} pour plus de détails, ou regarder la présentation sur @uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.") + (es "El grafo de paquetes en x86_64 y i686 ahora tiene su raíz en un +@dfn{conjunto reducido de semillas binarias}. El conjunto inicial de binarios +desde el que se construyen los paquetes ahora tiene un tamaño aproximado de +130_MiB , la mitad de su tamaño anterior. Ejecute @code{info \"(guix.es) +Lanzamiento inicial\"} para aprender más, o puede ver la charla en inglés +en@uref{https://archive.fosdem.org/2019/schedule/event/gnumes/}.") (nl "Het netwerk van pakketten voor x86_64 en i686 is nu geworteld in een @dfn{verkleinde verzameling van binaire kiemen}. Die beginverzameling van binaire bestanden waaruit pakketten gebouwd worden is nu zo'n 130 MiB @@ -197,6 +271,7 @@ (entry (commit "dcc90d15581189dbc30e201db2b807273d6484f0") (title (en "New channel news mechanism") (de "Neuer Mechanismus, um Neuigkeiten über Kanäle anzuzeigen.") + (es "Nuevo mecanismo de noticias de los canales") (fr "Nouveau mécanisme d'information sur les canaux") (nl "Nieuw mechanisme voor nieuwsberichten per kanaal")) (body @@ -210,6 +285,11 @@ Neuigkeiten} mitteilen, die diese sich mit @command{guix pull --news} anzeigen lassen können. Führen Sie @command{info \"(guix.de) Aufruf von guix pull\"} aus, um weitere Informationen zu erhalten.") + (es "Está leyendo este mensaje a través del mecanismo de noticias del +canal, ¡enhorabuena! Este mecanismo permite a las autoras de canales +proporcionar @dfn{entradas de noticias} que las usuarias pueden ver con +@command{guix pull --news}. Ejecute @command{info \"(guix.es) Invocación de +guix pull\"} para obtener más información.") (fr "Ce message t'arrive à travers le nouveau mécanisme d'information des canaux, bravo ! Ce mécanisme permet aux auteur·rice·s de canaux de fournir des informations qu'on peut visualiser avec @command{guix pull diff --git a/gnu/ci.scm b/gnu/ci.scm index 5d5a826647..f24049e772 100644 --- a/gnu/ci.scm +++ b/gnu/ci.scm @@ -54,7 +54,8 @@ (define-module (gnu ci) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (ice-9 match) - #:export (hydra-jobs)) + #:export (channel-instance->package + hydra-jobs)) ;;; Commentary: ;;; diff --git a/gnu/local.mk b/gnu/local.mk index 0208513168..f394b2f24f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -22,6 +22,7 @@ # Copyright © 2018 Maxim Cournoyer # Copyright © 2019 Guillaume Le Vaillant # Copyright © 2019 John Soo +# Copyright © 2019 Jonathan Brielmaier # # This file is part of GNU Guix. # @@ -212,6 +213,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/gl.scm \ %D%/packages/glib.scm \ %D%/packages/gnome.scm \ + %D%/packages/gnome-xyz.scm \ %D%/packages/gnu-doc.scm \ %D%/packages/gnucash.scm \ %D%/packages/gnunet.scm \ @@ -759,7 +761,6 @@ dist_patch_DATA = \ %D%/packages/patches/coda-use-system-libs.patch \ %D%/packages/patches/combinatorial-blas-awpm.patch \ %D%/packages/patches/combinatorial-blas-io-fix.patch \ - %D%/packages/patches/cpio-CVE-2016-2037.patch \ %D%/packages/patches/cpufrequtils-fix-aclocal.patch \ %D%/packages/patches/crawl-upgrade-saves.patch \ %D%/packages/patches/crda-optional-gcrypt.patch \ @@ -781,6 +782,7 @@ dist_patch_DATA = \ %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ + %D%/packages/patches/docker-adjust-tests-for-changes-in-go.patch \ %D%/packages/patches/docker-engine-test-noinstall.patch \ %D%/packages/patches/docker-fix-tests.patch \ %D%/packages/patches/docker-use-fewer-modprobes.patch \ @@ -836,6 +838,7 @@ dist_patch_DATA = \ %D%/packages/patches/flint-ldconfig.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ + %D%/packages/patches/fribidi-CVE-2019-18397.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-overlapping-headers.patch \ %D%/packages/patches/gawk-shell.patch \ @@ -997,11 +1000,13 @@ dist_patch_DATA = \ %D%/packages/patches/java-jeromq-fix-tests.patch \ %D%/packages/patches/java-powermock-fix-java-files.patch \ %D%/packages/patches/java-simple-xml-fix-tests.patch \ + %D%/packages/patches/java-svg-salamander-Fix-non-det.patch \ %D%/packages/patches/java-xerces-bootclasspath.patch \ %D%/packages/patches/java-xerces-build_dont_unzip.patch \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ + %D%/packages/patches/libvirt-create-machine-cgroup.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \ @@ -1189,6 +1194,7 @@ dist_patch_DATA = \ %D%/packages/patches/opencv-rgbd-aarch64-test-fix.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ + %D%/packages/patches/openmpi-psm2-priority.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \ %D%/packages/patches/openssl-runpath.patch \ @@ -1204,8 +1210,6 @@ dist_patch_DATA = \ %D%/packages/patches/p7zip-CVE-2016-9296.patch \ %D%/packages/patches/p7zip-CVE-2017-17969.patch \ %D%/packages/patches/p7zip-remove-unused-code.patch \ - %D%/packages/patches/patchelf-page-size.patch \ - %D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchutils-test-perms.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ %D%/packages/patches/pcre2-fix-jit_match-crash.patch \ @@ -1273,6 +1277,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \ %D%/packages/patches/python-keras-integration-test.patch \ + %D%/packages/patches/python-pep8-stdlib-tokenize-compat.patch \ %D%/packages/patches/python-pyfakefs-remove-bad-test.patch \ %D%/packages/patches/python-flint-includes.patch \ %D%/packages/patches/python-libxml2-utf8.patch \ @@ -1390,6 +1395,7 @@ dist_patch_DATA = \ %D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/txr-shell.patch \ %D%/packages/patches/u-boot-fix-mkimage-header-verification.patch \ + %D%/packages/patches/udiskie-no-appindicator.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \ %D%/packages/patches/unzip-CVE-2014-8141.patch \ @@ -1415,6 +1421,7 @@ dist_patch_DATA = \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ + %D%/packages/patches/vlc-fix-test_libvlc_slaves.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \ %D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \ diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 08dac76a41..c4723c5a9d 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1599,6 +1599,7 @@ (define-public detox (uri (git-reference (url "https://github.com/dharple/detox.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "1dd608c7g65s5lj02cddvani3q9kzirddgkjqa22ap9d4f8b9xgr")))) @@ -2421,13 +2422,13 @@ (define-public thefuck (define-public di (package (name "di") - (version "4.47.1") + (version "4.47.2") (source (origin (method url-fetch) (uri (string-append "https://gentoo.com/di/di-" version ".tar.gz")) (sha256 - (base32 "1bdbl9k3gqf4h6g21difqc0w17pjid6r587y19wi37vx36aava7f")))) + (base32 "1g97pp2hznskqlkhl6ppyzgdmv878bcqiwh633kdnm70d1pvh192")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; obscure test failures @@ -2834,6 +2835,7 @@ (define-public neofetch (uri (git-reference (url "https://github.com/dylanaraps/neofetch") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "022xzn9jk18k2f4b6011d8jk5nbl84i3mw3inlz4q52p2hvk8fch")))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 6a9784f551..f626c0de97 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -201,6 +201,7 @@ (define-public python-fpylll (uri (git-reference (url "https://github.com/fplll/fpylll.git") (commit (string-append version "dev")))) + (file-name (git-file-name name version)) (sha256 (base32 "01x2sqdv0sbjj4g4waj0hj4rcn4bq7h17442xaqwbznym9azmn9w")))) @@ -987,7 +988,7 @@ (define-public eigen-for-tensorflow (define-public xtensor (package (name "xtensor") - (version "0.20.9") + (version "0.20.10") (source (origin (method git-fetch) (uri (git-reference @@ -995,7 +996,7 @@ (define-public xtensor (commit version))) (sha256 (base32 - "1rw04bdi7mzp362dhkxr9m4rafnvb47xjsi9p3fp4vfif8v0jij8")) + "1fmv2hpx610xwhxrndfsfvlbqfyk4l3gi5q5d7pa9m82kblxjj9l")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 993d18a3eb..e4dbade64c 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2017 Hartmut Goebel ;;; Copyright © 2017 Maxim Cournoyer -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019 Andreas Enge ;;; Copyright © 2019 Ricardo Wurmus @@ -674,16 +674,16 @@ (define-public fastboot (define-public android-udev-rules (package (name "android-udev-rules") - (version "20180112") + (version "20191103") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/M0Rf30/android-udev-rules") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 - (base32 "13gj79nnd04szqlrrzzkdr6wi1fky08pi7x8xfbg0jj3d3v0giah")))) + (base32 "0x2f2sv0x0ry7kccp47s0hlxps3hbpg37dj3xjjgpdm5hmn2cjq3")))) (build-system trivial-build-system) (native-inputs `(("source" ,source))) (arguments diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 9482e641cf..af38c149c2 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -158,11 +158,20 @@ (define-public aspell-dict-be "1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm"))) (define-public aspell-dict-ca - (aspell-dictionary "ca" "Catalan" - #:version "2.1.5-1" - #:sha256 - (base32 - "1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb"))) + (let ((version "2.5.0") + (sha256 + (base32 "0kbi8fi7a1bys31kfqrlh332gyik0cfdmxgl7n15sa9c305rkgwq"))) + (package + (inherit (aspell-dictionary "ca" "Catalan" + #:version version + #:sha256 sha256)) + (source + (origin + (method url-fetch) + (uri (string-append "https://www.softcatala.org/pub/softcatala/aspell/" + version "/aspell6-ca-" version ".tar.bz2")) + (sha256 sha256))) + (home-page "https://www.softcatala.org/pub/softcatala/aspell/")))) (define-public aspell-dict-de (aspell-dictionary "de" "German" diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 88b5696a9b..d59b4eb87e 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -23,6 +23,7 @@ ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2019 Arun Isaac ;;; Copyright © 2019 Mathieu Othacehe +;;; Copyright © 2019 Alexandros Theodotou ;;; ;;; This file is part of GNU Guix. ;;; @@ -63,6 +64,7 @@ (define-module (gnu packages audio) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages dbm) + #:use-module (gnu packages documentation) #:use-module (gnu packages emacs) #:use-module (gnu packages file) #:use-module (gnu packages flex) @@ -1107,7 +1109,7 @@ (define-public g2reverb (define-public fluidsynth (package (name "fluidsynth") - (version "2.0.8") + (version "2.0.9") (source (origin (method git-fetch) (uri (git-reference @@ -1116,7 +1118,7 @@ (define-public fluidsynth (file-name (git-file-name name version)) (sha256 (base32 - "1s32c0jxjica2agy0mp36vgvpgj2vl5i5zvacd6igmbam0x4gs7c")))) + "08bhwv0gw7zq1z0b36m2dzxl6zcgvmvaa60nly2wif7rinkprp5n")))) (build-system cmake-build-system) (arguments '(#:tests? #f ; no check target @@ -1167,28 +1169,17 @@ (define-public fluidsynth-1 (define-public faad2 (package (name "faad2") - (version "2.7") + (version "2.8.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/faac/faad2-src/faad2-" - version "/faad2-" version ".zip")) + (version-major+minor version) ".0/" + "faad2-" version ".tar.gz")) (sha256 (base32 - "16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z")))) + "089zqykqgmmysznvk0bi2pfvdqwclnn540d0zks83sv2pynpfjb5")))) (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool) - ("unzip" ,unzip))) - (arguments - '(#:phases - (modify-phases %standard-phases - (replace 'bootstrap - (lambda _ - (substitute* "bootstrap" (("\r\n") "\n")) - (invoke "sh" "bootstrap")))))) - (home-page "http://www.audiocoding.com/faad2.html") + (home-page "https://www.audiocoding.com/faad2.html") (synopsis "MPEG-4 and MPEG-2 AAC decoder") (description "FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR, @@ -1583,24 +1574,26 @@ (define-public jack-2 (define-public jalv (package (name "jalv") - (version "1.6.0") + (version "1.6.4") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/jalv-" version ".tar.bz2")) (sha256 (base32 - "1x2wpzzx2cgvz3dgdcgsj8dr0w3zsasy62mvl199bsdj5fbjaili")))) + "1wwfn7yzbs37s2rdlfjgks63svd5g14yyzd2gdl7h0z12qncwsy2")))) (build-system waf-build-system) (arguments - `(#:tests? #f ; no check target + `(#:tests? #f ; no check target #:python ,python-2)) (inputs `(("lv2" ,lv2) ("lilv" ,lilv) ("suil" ,suil) - ("gtk" ,gtk+) - ("gtkmm" ,gtkmm) + ("gtk2" ,gtk+-2) + ("gtk3" ,gtk+) + ("gtkmm" ,gtkmm-2) + ("qtbase" ,qtbase) ("jack" ,jack-1))) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1814,26 +1807,32 @@ (define-public python2-pyliblo (define-public lilv (package (name "lilv") - (version "0.24.4") + (version "0.24.6") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/lilv-" version ".tar.bz2")) (sha256 (base32 - "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3")))) + "1p3hafsxgs5d4za7n66lf5nz74qssfqpmk520cm7iq2njvvlqm2z")))) (build-system waf-build-system) (arguments `(#:tests? #f ; no check target #:phases (modify-phases %standard-phases - (add-before - 'configure 'set-ldflags + (add-before 'configure 'set-ldflags (lambda* (#:key outputs #:allow-other-keys) (setenv "LDFLAGS" (string-append "-Wl,-rpath=" (assoc-ref outputs "out") "/lib")) - #t))))) + #t)) + (add-after 'unpack 'full-store-path-to-shared-library + (lambda* (#:key outputs #:allow-other-keys) + (with-directory-excursion "bindings/python" + (substitute* "lilv.py" + (("liblilv-0.so") (string-append (assoc-ref outputs "out") + "/lib/liblilv-0.so")))) + #t))))) ;; Required by lilv-0.pc. (propagated-inputs `(("lv2" ,lv2) @@ -1841,8 +1840,9 @@ (define-public lilv ("sord" ,sord) ("sratom" ,sratom))) (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "https://drobilla.net/software/lilv/") + `(("python" ,python) + ("pkg-config" ,pkg-config))) + (home-page "https://drobilla.net/software/lilv") (synopsis "Library to simplify use of LV2 plugins in applications") (description "Lilv is a C library to make the use of LV2 plugins as simple as possible @@ -2341,33 +2341,22 @@ (define-public rubberband (define-public rtmidi (package (name "rtmidi") - (version "2.1.0") + (version "4.0.0") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/powertab/rtmidi.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://www.music.mcgill.ca/~gary/rtmidi" + "/release/rtmidi-" version ".tar.gz")) + (file-name (string-append "rtmidi-" version ".tar.gz")) (sha256 (base32 - "106v177y3nrjv2l1yskch4phpqd8h97b67zj0jiq9pc3c69jr1ay")))) + "1k962ljpnwyjw9jjiky2372khhri1wqvrj5qsalfpys31xqzw31p")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;no "check" target - #:phases + `(#:phases (modify-phases %standard-phases - (add-before 'build 'fix-makefile + (add-before 'bootstrap 'noconfigure (lambda _ - (substitute* "Makefile" - (("/bin/ln") "ln") - (("RtMidi.h RtError.h") "RtMidi.h")) - #t)) - (add-before 'install 'make-target-dirs - (lambda _ - (let ((out (assoc-ref %outputs "out"))) - (mkdir-p (string-append out "/bin")) - (mkdir (string-append out "/lib")) - (mkdir (string-append out "/include"))) + (setenv "NOCONFIGURE" "yes") #t))))) (inputs `(("jack" ,jack-1) @@ -2377,7 +2366,7 @@ (define-public rtmidi ("automake" ,automake) ("libtool" ,libtool) ("pkg-config" ,pkg-config))) - (home-page "https://github.com/powertab/rtmidi") + (home-page "https://www.music.mcgill.ca/~gary/rtmidi") (synopsis "Cross-platform MIDI library for C++") (description "RtMidi is a set of C++ classes (RtMidiIn, RtMidiOut, and API specific @@ -2388,17 +2377,18 @@ (define-public rtmidi (define-public sratom (package (name "sratom") - (version "0.6.2") + (version "0.6.4") (source (origin - (method url-fetch) - (uri (string-append "https://download.drobilla.net/sratom-" - version ".tar.bz2")) - (sha256 - (base32 - "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a")))) + (method url-fetch) + (uri (string-append "https://download.drobilla.net/sratom-" + version ".tar.bz2")) + (sha256 + (base32 + "0vh0biy3ngpzzgdml309c2mqz8xq9q0hlblczb4c6alhp0a8yv0l")))) (build-system waf-build-system) - (arguments `(#:tests? #f)) ; no check target - (inputs + (arguments `(#:tests? #f)) ;no check target + (propagated-inputs + ;; In Requires of sratom-0.pc. `(("lv2" ,lv2) ("serd" ,serd) ("sord" ,sord))) @@ -2414,14 +2404,14 @@ (define-public sratom (define-public suil (package (name "suil") - (version "0.10.4") + (version "0.10.6") (source (origin (method url-fetch) (uri (string-append "https://download.drobilla.net/suil-" version ".tar.bz2")) (sha256 (base32 - "0ay7hl6nr6ip1nn9k2m8ri3b52b6sx9mhixmcy4fy3kr2a88ksd1")))) + "0z4v01pjw4wh65x38w6icn28wdwxz13ayl8hvn4p1g9kmamp1z06")))) (build-system waf-build-system) (arguments `(#:tests? #f)) ;no check target @@ -2946,7 +2936,7 @@ (define-public xjackfreak (define-public zita-convolver (package (name "zita-convolver") - (version "3.1.0") + (version "4.0.3") (source (origin (method url-fetch) (uri (string-append @@ -2956,31 +2946,33 @@ (define-public zita-convolver (snippet ;; Don't optimize for a specific processor architecture. '(begin - (substitute* "libs/Makefile" + (substitute* "source/Makefile" (("^CXXFLAGS \\+= -march=native") "")) #t)) (modules '((guix build utils))) (sha256 (base32 - "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz")))) + "0prji66p86z2bzminywkwchr5bfgxcg2i8y803pydd1hzf2198cs")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no "check" target - #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + (string-append "SUFFIX=")) #:phases (modify-phases %standard-phases (add-after 'unpack 'patch-makefile-and-enter-directory (lambda _ - (substitute* "libs/Makefile" + (substitute* "source/Makefile" (("ldconfig") "true") (("^LIBDIR =.*") "LIBDIR = lib\n")) - (chdir "libs") + (chdir "source") #t)) (add-after 'install 'install-symlink (lambda _ (symlink "libzita-convolver.so" (string-append (assoc-ref %outputs "out") - "/lib/libzita-convolver.so.3")) + "/lib/libzita-convolver.so.4")) #t)) ;; no configure script (delete 'configure)))) @@ -3680,16 +3672,16 @@ (define-public libopenshot-audio (define-public faudio (package (name "faudio") - (version "19.09") + (version "19.11") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/FNA-XNA/FAudio.git") (commit version))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 - (base32 "0fagik55jmy3qmb27nhg0zxash1ahfkxphx8m8gs0pimqqrdrd9d")))) + (base32 "0ckpr6ffz8ssfh1y850dhip5s5jv0j6n90qz5yx1v9d6gpwf08rp")))) (arguments '(#:tests? #f ; No tests. #:configure-flags '("-DFFMPEG=ON"))) @@ -3764,3 +3756,58 @@ (define-public darkice a sound card, encodes it into Ogg Vorbis and/or mp3, and sends the audio stream to one or more IceCast and/or ShoutCast servers.") (license license:gpl3+))) + +(define-public libltc + (package + (name "libltc") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri + (string-append "https://github.com/x42/libltc/releases/download/v" + version "/libltc-" version ".tar.gz")) + (sha256 + (base32 + "173h9dgmain3nyrwk6q2d7yl4fnh4vacag4s2p01n5b7nyrkxrjh")))) + (build-system gnu-build-system) + (arguments + `(#:parallel-tests? #f)) ;tests fail otherwise + (native-inputs + `(("doxygen" ,doxygen) + ("pkg-config" ,pkg-config))) + (synopsis "Encode or decode Linear/Longitudinal Time Code (LTC) audio") + (description "Libltc is a POSIX-C Library for handling +@dfn{Linear/Longitudinal Time Code} (LTC) data.") + (home-page "https://x42.github.io/libltc/") + (license license:lgpl3+))) + +(define-public redkite + (package + (name "redkite") + (version "0.6.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/geontime/redkite.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i874izajbdhlfacwwj84qrsxf7g4y6nblzxalrkzaap9sa7d1r6")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f)) ;no tests included + (inputs + `(("cairo" ,cairo))) + (native-inputs + `(("pkg-config", pkg-config))) + (synopsis "Small GUI toolkit") + (description "Redkite is a small GUI toolkit developed in C++17 and +inspired from other well known GUI toolkits such as Qt and GTK. It is +minimal on purpose and is intended to be statically linked to applications, +therefore satisfying any requirements they may have to be self contained, +as is the case with audio plugins.") + (home-page "https://gitlab.com/geontime/redkite") + (license license:gpl3+))) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index fc43f93d7d..0894cb38bf 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -292,13 +292,13 @@ (define-public rdup (version "1.1.15") (source (origin - (method url-fetch) - (file-name (string-append name "-" version ".tar.gz")) - (uri (string-append "https://github.com/miekg/rdup/archive/" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/miekg/rdup.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1jr91hgcf0rrpanqlwws72ql9db6d6grs2i122ki1s4bx0vqqyvq")))) + (base32 "0bzyv6qmnivxnv9nw7lnfn46k0m1dlxcjj53zcva6v8y8084l1iw")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -308,11 +308,14 @@ (define-public rdup ;; For tests. ("dejagnu" ,dejagnu))) (inputs + ;; XXX Compiling with nettle (encryption) support requires patching out + ;; -Werror from GNUmakefile.in. Then, rdup-tr-{en,de}crypt tests fail: + ;; free(): invalid pointer + ;; ** rdup-tr: SIGPIPE received, exiting `(("glib" ,glib) ("pcre" ,pcre) ("libarchive" ,libarchive) - ("mcrypt" ,mcrypt) - ("nettle" ,nettle))) + ("mcrypt" ,mcrypt))) (arguments `(#:parallel-build? #f ;race conditions #:phases @@ -328,6 +331,13 @@ (define-public rdup ;; Avoid frivolous dependency on ‘which’ with a shell builtin. (("which") "command -v")) #t)) + (add-before 'check 'disable-encryption-tests + (lambda _ + (for-each delete-file + (list "testsuite/rdup/rdup.rdup-tr-crypt.exp" + "testsuite/rdup/rdup.rdup-tr-decrypt.exp" + "testsuite/rdup/rdup.rdup-tr-encrypt.exp")) + #t)) (add-before 'check 'pre-check (lambda _ (setenv "HOME" (getcwd)) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 1d1e126b6a..e8150708c0 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -981,18 +981,23 @@ (define-public (make-gcc-libc base-gcc libc) (substitute-keyword-arguments (ensure-keyword-arguments (package-arguments base-gcc) '(#:implicit-inputs? #f)) - ((#:make-flags flags) - `(let ((libc (assoc-ref %build-inputs "libc"))) - ;; FLAGS_FOR_TARGET are needed for the target libraries to receive - ;; the -Bxxx for the startfiles. - (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib") - ,flags))))) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'treat-glibc-as-system-header + (lambda _ + (let ((libc (assoc-ref %build-inputs "libc"))) + ;; GCCs build processes requires that the libc + ;; we're building against is on the system header + ;; search path. + (for-each (lambda (var) + (setenv var (string-append libc "/include"))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) + #t))))))) (native-inputs - `(("libc" ,libc) - ("libc:static" ,libc "static") - ,@(append (package-inputs base-gcc) - (fold alist-delete (%final-inputs) '("libc" "libc:static"))))) - (inputs '()))) + `(,@(package-native-inputs base-gcc) + ,@(append (fold alist-delete (%final-inputs) '("libc" "libc:static"))) + ("libc" ,libc) + ("libc:static" ,libc "static"))))) (define-public (make-glibc-locales glibc) (package diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index d3abeec6e6..bb2397fafa 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2018 Mark H Weaver ;;; Copyright © 2015, 2017 Leo Famulari ;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -31,6 +31,7 @@ (define-module (gnu packages bash) #:use-module (gnu packages linux) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix gexp) #:use-module (guix monads) @@ -309,14 +310,15 @@ (define-public bash-tap (package (name "bash-tap") (version "1.0.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/illusori/bash-tap/" - "archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0qs1qi38bl3ns4mpagcawv618dsk2q1lgrbddgvs0wl3ia12cyz5")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/illusori/bash-tap.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "13zz9h6bhhnk3hiwhlpafrnf2isws249h3fz785dcgymk02arz9c")))) ;; There is no compilation process to use this package, however, the bash ;; scripts installed by this package start with "#!/bin/bash". To fix ;; these lines, we use the patch-shebangs of the GNU build system. The diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 6467fecb8c..89547be66d 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -6133,7 +6133,7 @@ (define-public r-unifiedwmwqpcr (home-page "https://bioconductor.org/packages/unifiedWMWqPCR") (synopsis "Unified Wilcoxon-Mann Whitney Test for differential expression in qPCR data") (description - "This packages implements the unified Wilcoxon-Mann-Whitney Test for qPCR + "This package implements the unified Wilcoxon-Mann-Whitney Test for qPCR data. This modified test allows for testing differential expression in qPCR data.") (license license:gpl2+))) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f55740e231..01566d37df 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -10031,14 +10031,14 @@ (define-public r-ggbio (define-public r-gprofiler (package (name "r-gprofiler") - (version "0.6.8") + (version "0.7.0") (source (origin (method url-fetch) (uri (cran-uri "gProfileR" version)) (sha256 (base32 - "05d6y6b7vkkzp2qhs1cwlvp02djij1b28dbwxnrms08f8qi35iaj")))) + "1h1v0kgpsn04ald2izznh7fr2riwisj5hcgz4k7h3qc931rf0r4k")))) (properties `((upstream-name . "gProfileR"))) (build-system r-build-system) (propagated-inputs @@ -12850,6 +12850,7 @@ (define-public genrich (uri (git-reference (url "https://github.com/jsh58/Genrich.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "0x0q6z0208n3cxzqjla4rgjqpyqgwpmz27852lcvzkzaigymq4zp")))) @@ -14799,6 +14800,7 @@ (define-public tbsp (uri (git-reference (url "https://github.com/phoenixding/tbsp.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "025ym14x8gbd6hb55lsinqj6f5qzw36i10klgs7ldzxxd7s39ki1")))) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 6b6998b323..8ef017845f 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -416,7 +416,7 @@ (define-public libtorrent-rasterbar (define-public qbittorrent (package (name "qbittorrent") - (version "4.1.9") + (version "4.1.9.1") (source (origin (method git-fetch) @@ -425,7 +425,7 @@ (define-public qbittorrent (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "044r3y3vvm2rqagmwlqlhvb4kkyqpkmpnlhv68hzkl3w5bvf8zl8")))) + (base32 "19zgqlby7i1kr20wa4zd99qzd062a879xxxbmlf40rnqiqy4bhyi")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index a2253a9efc..2ef0591223 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Maxim Cournoyer ;;; Copyright © 2018 Efraim Flashner +;;; Copyright © 2019 Giacomo Leidi ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,6 +129,55 @@ (define-public boost (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) +;; TODO: Merge with 'Boost' in the next rebuild cycle. +(define-public boost-with-python3 + (package + (inherit boost) + (name "boost-python3") + (native-inputs + `(("perl" ,perl) + ("python" ,python) + ("tcsh" ,tcsh))) + (arguments (substitute-keyword-arguments (package-arguments boost) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((icu (assoc-ref inputs "icu4c")) + (python (assoc-ref inputs "python")) + (out (assoc-ref outputs "out"))) + (substitute* '("libs/config/configure" + "libs/spirit/classic/phoenix/test/runtest.sh" + "tools/build/src/engine/execunix.c" + "tools/build/src/engine/Jambase" + "tools/build/src/engine/jambase.c") + (("/bin/sh") (which "sh"))) + + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + + (substitute* "tools/build/src/tools/python.jam" + (("include/python\\$\\(version\\)") + "include/python$(version)m")) + + (invoke "./bootstrap.sh" + (string-append "--prefix=" out) + ;; Auto-detection looks for dependencies only + ;; in traditional install locations. + (string-append "--with-icu=" icu) + (string-append "--with-python=" python "/bin/python3") + (string-append "--with-python-root=" python) + "--with-python-version=3.7" + "--with-toolset=gcc")))) + (replace 'provide-libboost_python + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion (string-append out "/lib") + (symlink "libboost_python37.so" "libboost_python.so") + ;; Some packages also look for libboost_python3.so + (symlink "libboost_python37.so" "libboost_python3.so")) + #t))))))))) + (define-public boost-for-mysql ;; Older version for MySQL 5.7.23. (package diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 438f404e1a..156e4c4cdd 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -554,9 +554,9 @@ (define-public (make-u-boot-package board triplet) "_" "-"))) (native-inputs `(,@(if (not (same-arch?)) - `(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7)) + `(("cross-gcc" ,(cross-gcc triplet)) ("cross-binutils" ,(cross-binutils triplet))) - `(("gcc-7" ,gcc-7))) + `()) ,@(package-native-inputs u-boot))) (arguments `(#:modules ((ice-9 ftw) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index c6e3c697e6..d6995f104c 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -149,41 +149,42 @@ (define bootstrap-executable ;;; Helper procedures. ;;; -(define (bootstrap-origin source) - "Return a variant of SOURCE, an instance, whose method uses +(define bootstrap-origin + (mlambdaq (source) + "Return a variant of SOURCE, an instance, whose method uses %BOOTSTRAP-GUILE to do its job." - (define (boot fetch) - (lambda* (url hash-algo hash - #:optional name #:key system) - (fetch url hash-algo hash name - #:guile %bootstrap-guile - #:system system))) + (define (boot fetch) + (lambda* (url hash-algo hash + #:optional name #:key system) + (fetch url hash-algo hash name + #:guile %bootstrap-guile + #:system system))) - (define %bootstrap-patch-inputs - ;; Packages used when an has a non-empty 'patches' field. - `(("tar" ,%bootstrap-coreutils&co) - ("xz" ,%bootstrap-coreutils&co) - ("bzip2" ,%bootstrap-coreutils&co) - ("gzip" ,%bootstrap-coreutils&co) - ("patch" ,%bootstrap-coreutils&co))) + (define %bootstrap-patch-inputs + ;; Packages used when an has a non-empty 'patches' field. + `(("tar" ,%bootstrap-coreutils&co) + ("xz" ,%bootstrap-coreutils&co) + ("bzip2" ,%bootstrap-coreutils&co) + ("gzip" ,%bootstrap-coreutils&co) + ("patch" ,%bootstrap-coreutils&co))) - (let ((orig-method (origin-method source))) - (if (or (not (null? (origin-patches source))) - (origin-snippet source)) - (origin (inherit source) - (method (if (eq? orig-method url-fetch) - (boot url-fetch) - orig-method)) - (patch-guile %bootstrap-guile) - (patch-inputs %bootstrap-patch-inputs) + (let ((orig-method (origin-method source))) + (if (or (not (null? (origin-patches source))) + (origin-snippet source)) + (origin (inherit source) + (method (if (eq? orig-method url-fetch) + (boot url-fetch) + orig-method)) + (patch-guile %bootstrap-guile) + (patch-inputs %bootstrap-patch-inputs) - ;; Patches can be origins as well, so process them. - (patches (map (match-lambda - ((? origin? patch) - (bootstrap-origin patch)) - (patch patch)) - (origin-patches source)))) - source))) + ;; Patches can be origins as well, so process them. + (patches (map (match-lambda + ((? origin? patch) + (bootstrap-origin patch)) + (patch patch)) + (origin-patches source)))) + source)))) (define* (package-from-tarball name source program-to-test description #:key snippet) diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm index a694a7ddad..5c11266c89 100644 --- a/gnu/packages/build-tools.scm +++ b/gnu/packages/build-tools.scm @@ -102,8 +102,8 @@ (define-public bear (license license:gpl3+))) (define-public gn - (let ((commit "1ab6fa2cab7ec64840db720a56018ca8939329f9") - (revision "1530")) ;as returned by `git describe`, used below + (let ((commit "6e5ba2e7210823cf7ccce3eb2a23336a4e7f1349") + (revision "1666")) ;as returned by `git describe`, used below (package (name "gn") (version (git-version "0.0" revision commit)) @@ -113,17 +113,15 @@ (define-public gn (uri (git-reference (url home-page) (commit commit))) (sha256 (base32 - "06h974d1lag3wwsz6s5asmpv0njmf671ag4la2fpnbh494m97lfk")) + "157ax65sixjm0i1j89wvny48v1mbsl4pbvv5vqinjc6r0fryaf2r")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;FIXME: How to run? - #:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (add-before 'configure 'set-build-environment (lambda _ (setenv "CC" "gcc") (setenv "CXX" "g++") (setenv "AR" "ar") - (setenv "LDFLAGS" "-pthread") #t)) (replace 'configure (lambda _ @@ -143,6 +141,14 @@ (define-public gn (lambda _ (invoke "ninja" "-C" "out" "gn" "-j" (number->string (parallel-job-count))))) + (replace 'check + (lambda* (#:key (tests? #t) #:allow-other-keys) + (if tests? + (lambda () + (invoke "ninja" "-C" "out" "gn_unittests" + "-j" (number->string (parallel-job-count))) + (invoke "./out/gn_unittests")) + (format #t "test suite not run~%")))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 8d495aa1c9..cccdb72d10 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -288,7 +288,7 @@ (define-public cmocka (define-public cppcheck (package (name "cppcheck") - (version "1.87") + (version "1.89") (source (origin (method git-fetch) (uri (git-reference @@ -296,7 +296,7 @@ (define-public cppcheck (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1xiy54rz99nzbpwj35jiyssd2nc6k5k0lw5ml6nh2qnmbfkl8swl")))) + (base32 "07yn1zycsb7sn1v7fprihbl0ih4n2zkd7l9jvmkjcskvwn4n21h0")))) (build-system cmake-build-system) (arguments '(#:configure-flags '("-DBUILD_TESTS=ON"))) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index aad1fd9203..225a301a65 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -69,12 +69,11 @@ (define-module (gnu packages chromium) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages xorg) - #:use-module (srfi srfi-1)) + #:use-module (gnu packages xorg)) (define %preserved-third-party-files '("base/third_party/cityhash" ;Expat - "base/third_party/dmg_fp" ;X11-style + "base/third_party/double_conversion" ;BSD-3 "base/third_party/dynamic_annotations" ;BSD-2 "base/third_party/icu" ;Unicode, X11-style "base/third_party/superfasthash" ;BSD-3 @@ -125,6 +124,7 @@ (define %preserved-third-party-files "third_party/catapult/tracing/third_party/pako" ;Expat "third_party/ced" ;BSD-3 "third_party/cld_3" ;ASL2.0 + "third_party/closure_compiler" ;ASL2.0 "third_party/crashpad" ;ASL2.0 "third_party/crashpad/crashpad/third_party/lss" ;ASL2.0 "third_party/crashpad/crashpad/third_party/zlib/zlib_crashpad.h" ;Zlib @@ -132,6 +132,7 @@ (define %preserved-third-party-files "third_party/cros_system_api" ;BSD-3 "third_party/dav1d" ;BSD-2 "third_party/dawn" ;ASL2.0 + "third_party/depot_tools/owners.py" ;BSD-3 "third_party/dom_distiller_js" ;BSD-3 "third_party/emoji-segmenter" ;ASL2.0 "third_party/flatbuffers" ;ASL2.0 @@ -169,7 +170,9 @@ (define %preserved-third-party-files "third_party/nasm" ;BSD-2 "third_party/node" ;Expat "third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2 + "third_party/one_euro_filter" ;BSD-3 "third_party/openscreen" ;BSD-3 + "third_party/openscreen/src/third_party/tinycbor" ;Expat "third_party/ots" ;BSD-3 "third_party/pdfium" ;BSD-3 "third_party/pdfium/third_party/agg23" ;Expat @@ -180,6 +183,7 @@ (define %preserved-third-party-files "third_party/pffft" ;the "FFTPACK" license, similar to BSD-3 "third_party/ply" ;BSD-3 "third_party/polymer" ;BSD-3 + "third_party/private-join-and-compute" ;ASL2.0 "third_party/protobuf" ;BSD-3 "third_party/protobuf/third_party/six" ;Expat "third_party/pyjson5" ;ASL2.0 @@ -238,9 +242,9 @@ (define* (computed-origin-method gexp-promise hash-algo hash #:system system #:guile-for-build guile))) -(define %chromium-version "76.0.3809.132") -(define %ungoogled-revision "8eba5c0df1a318012e3deab39a9add252a0d56a3") -(define %debian-revision "debian/76.0.3809.87-2") +(define %chromium-version "78.0.3904.97") +(define %ungoogled-revision "acaf16383f264d8a2f24142ad054c9b4355771d3") +(define %debian-revision "e43d74632091324774a5049668782dba7b09cf72") (define package-revision "0") (define %package-version (string-append %chromium-version "-" package-revision "." @@ -254,7 +258,7 @@ (define %chromium-origin %chromium-version ".tar.xz")) (sha256 (base32 - "0hajwjf7swlgh1flpf8ljfrb2zhmcpzvrigvvxqd36g3nm04cknm")))) + "01wx5bi397d80za0sdfwgfbjj6n2ad2i31zmcrhm6wzryjwrmx6i")))) (define %ungoogled-origin (origin @@ -265,7 +269,7 @@ (define %ungoogled-origin (string-take %ungoogled-revision 7))) (sha256 (base32 - "08fd9whfc1qky44xqxbypr7jz1rg6cma017wj4b5c5b14grxz6k6")))) + "1gqbch6dnww3c3vn1i4nb07iz1f78mws9dsxscj3rsrkcgwhsdz8")))) (define %debian-origin (origin @@ -279,7 +283,7 @@ (define %debian-origin (string-take %debian-revision 7)))) (sha256 (base32 - "1fjhpzrxmgjr7i31li1vsfmp0qkbi0cpyc7p1zjwvf2x4da0v907")))) + "1l1ajjkn1y7ql5w4zb3c3vw57hkydvy1mac7y81rycx4g5djasaz")))) (define (gentoo-patch name hash revision) (origin @@ -289,20 +293,6 @@ (define (gentoo-patch name hash revision) (file-name name) (sha256 (base32 hash)))) -(define-syntax-rule (gentoo-patches (name hash) ...) - (list (gentoo-patch name hash "9fd80e7d75aa63843ec33c9d44fee32596ae8f25") - ...)) - -(define %auxiliary-patches - ;; XXX: Debians "gcc/wrong-namespace.patch" and "fixes/inspector.patch" does - ;; not work for us, so we take these upstream fixes via Gentoo instead. - (gentoo-patches - ("chromium-76-quiche.patch" "1cs0y16jn7r1nxh0j36vqcsdvigl902kdcqfmyivnxgblrx66l2i") - ("chromium-76-gcc-blink-namespace1.patch" - "0k7nrn0dhvqxj4sg2gndzxih0l1f77h6pv7jhcdz7h69sm4xci2z") - ("chromium-76-gcc-blink-namespace2.patch" - "014y2d8ii9sr340sjbv1fhsjd5s3dl0vbmq5wzlkdjsp91dcn9ch"))) - ;; This is a "computed" origin that does the following: ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball. ;; *) Applies Debians Chromium patches, for their unbundling and GCC work. @@ -374,12 +364,19 @@ (define ungoogled-chromium-source ;; Skip the Debian-specific ones. (not (string-prefix? "debianization/" line)) (not (string-prefix? "buster/" line)) - ;; And those that conflict with Ungoogled. (not (any (cute string-suffix? <> line) + ;; These conflict with Ungoogled. '("widevine-buildflag.patch" "signin.patch" "third-party-cookies.patch" + ;; Disable workarounds for the + ;; Chromium "-lite" tarball. We + ;; use the "full" version and don't + ;; need these patches. + "closure.patch" + "owners.patch" + ;; XXX: 'fixes/inspector.patch' ;; makes v8 reuse the top-level ;; third_party/inspector_protocol @@ -387,21 +384,12 @@ (define ungoogled-chromium-source ;; but that does not work here for ;; some reason. Ignore that patch ;; and those that depend on it. - "wrong-namespace.patch" - "explicit-specialization.patch" "inspector.patch")))) (invoke "patch" "--force" "-p1" "--input" (string-append patches "/" line) "--no-backup-if-mismatch")) (loop (read-line))))))) - (format #t "Applying Guix-specific patches...~%") - (force-output) - (for-each (lambda (patch) - (invoke "patch" "--force" "-p1" "--input" - patch "--no-backup-if-mismatch")) - '#+%auxiliary-patches) - (format #t "Pruning third party files...~%") (force-output) (apply invoke "python" @@ -441,6 +429,21 @@ (define opus+custom `(cons "--enable-custom-modes" ,flags)))))) +;; Chromium 78 requires libvpx features that are not in any release. +(define libvpx/chromium + (package/inherit + libvpx + (version "m78-3904") + (source (origin + (inherit (package-source libvpx)) + (uri (git-reference + (url "https://chromium.googlesource.com/webm/libvpx") + (commit version))) + (file-name (git-file-name "libvpx" version)) + (sha256 + (base32 + "1pphjfmg0aqq93n5cq790884v1h84di8p9mk3r28sm053wszhm7g")))))) + (define-public ungoogled-chromium (package (name "ungoogled-chromium") @@ -590,8 +593,14 @@ (define-public ungoogled-chromium ;; TODO: Add ~/.guix-profile. "/run/current-system/profile/share/chromium/extensions")) + ;; Many files try to include ICU headers from "third_party/icu/...". + ;; Remove the "third_party/" prefix to use system headers instead. + (substitute* (find-files "chrome" "\\.cc$") + (("third_party/icu/source/(common|i18n)/") + "")) + ;; XXX: Should be unnecessary when use_system_lcms2=true. - (substitute* "third_party/pdfium/core/fxcodec/codec/ccodec_iccmodule.h" + (substitute* "third_party/pdfium/core/fxcodec/icc/iccmodule.h" (("include \"third_party/lcms/include/lcms2\\.h\"") "include \"lcms2.h\"")) @@ -631,10 +640,6 @@ (define-public ungoogled-chromium ;; Prevent GCC from optimizing away null pointer safety checks. (setenv "CXXFLAGS" "-fno-delete-null-pointer-checks") - ;; Work around . - (unsetenv "C_INCLUDE_PATH") - (unsetenv "CPLUS_INCLUDE_PATH") - ;; TODO: pre-compile instead. Avoids a race condition. (setenv "PYTHONDONTWRITEBYTECODE" "1") @@ -657,6 +662,22 @@ (define-public ungoogled-chromium (invoke "gn" "args" "out/Release" "--list")))) (replace 'build (lambda* (#:key (parallel-build? #t) #:allow-other-keys) + ;; XXX: Chromiums linking step requires a lot of simultaneous file + ;; accesses. Having a too low ulimit will result in bogus linker + ;; errors such as "foo.a: error adding symbols: malformed archive". + + ;; Try increasing the soft resource limit of max open files to 4096, + ;; or equal to the hard limit, whichever is lower. + (call-with-values (lambda () (getrlimit 'nofile)) + (lambda (soft hard) + (when (and soft (< soft 4096)) + (if hard + (setrlimit 'nofile (min hard 4096) hard) + (setrlimit 'nofile 4096 #f)) + (format #t + "increased maximum number of open files from ~d to ~d~%" + soft (if hard (min hard 4096) 4096))))) + (invoke "ninja" "-C" "out/Release" "-j" (if parallel-build? (number->string (parallel-job-count)) @@ -727,7 +748,7 @@ (define-public ungoogled-chromium (mkdir-p icons) (copy-file (string-append "product_logo_" size ".png") (string-append icons "/chromium.png")))) - '("22" "24" "48" "64" "128" "256"))) + '("24" "48" "64" "128" "256"))) #t)))))) (native-inputs `(("bison" ,bison) @@ -770,7 +791,7 @@ (define-public ungoogled-chromium ("libjpeg-turbo" ,libjpeg-turbo) ("libpng" ,libpng) ("libva" ,libva) - ("libvpx" ,libvpx) + ("libvpx" ,libvpx/chromium) ("libwebp" ,libwebp) ("libx11" ,libx11) ("libxcb" ,libxcb) @@ -832,12 +853,7 @@ (define-public ungoogled-chromium/wayland (inputs `(("wayland" ,wayland) ("wayland-protocols" ,wayland-protocols) - ;; Remove inputs only needed for X11. - ,@(fold alist-delete (package-inputs ungoogled-chromium) - '("libx11" "libxcb" "libxcomposite" "libxcursor" - "libxdamage" "libxext" "libxfixes" "libxi" - "libxrender" "libxtst" "libxext" "libxrandr" - "libxscrnsaver")))) + ,@(package-inputs ungoogled-chromium))) (arguments (substitute-keyword-arguments (package-arguments ungoogled-chromium) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index 64349be444..e2c244c1a7 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -219,6 +219,22 @@ (define-public cmake/fixed (append (search-patches "cmake-curl-certificates.patch") (origin-patches (package-source cmake)))))))) +(define-public cmake-3.15.5 + ;; CMake 3.15.5 fixes some issues, but declare another version to + ;; avoid triggering the rebuild of all CMake-based packages. + ;; See . + (package + (inherit cmake) + (version "3.15.5") + (source (origin + (inherit (package-source cmake)) + (uri (string-append "https://www.cmake.org/files/v" + (version-major+minor version) + "/cmake-" version ".tar.gz")) + (sha256 + (base32 + "1d5y8d92axcc6rfqlsxamayfs3fc1vdby91hn5mx1kn02ppprpgv")))))) + (define-public emacs-cmake-mode (package (inherit cmake) diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm index 512ca5d365..20726cfebc 100644 --- a/gnu/packages/code.scm +++ b/gnu/packages/code.scm @@ -320,18 +320,21 @@ (define-public withershins (package (name "withershins") (version "0.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/cameronwhite/withershins/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "08z3lyvswx7sad10637vfpwglbcbgzzcpfihw0x8lzr74f3b70bh")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cameronwhite/withershins.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1cviqvbbcwljm1zx12j6511hazr3kscwrvcyifrkfi4fpy5z985m")))) (build-system cmake-build-system) (arguments `(#:out-of-source? #f + #:configure-flags + ;; XXX A (justified!) misleading-indentation error breaks the build. + (list "-DENABLE_WERROR=OFF") #:phases (modify-phases %standard-phases (add-after @@ -458,30 +461,24 @@ (define-public colormake (version "0.9.20140503") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/pagekite/Colormake/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/pagekite/Colormake.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "08ldss9zd8ls6bjahvxhffpsjcysifr720yf3jz9db2mlklzmyd3")))) + (base32 "1f9v5s0viq4yc9iv6701h3pv7j21zz1ckl37lpp9hsnliiizv03p")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) - ("gzip" ,gzip) - ("perl" ,perl) - ("tar" ,tar))) + ("perl" ,perl))) (arguments `(#:modules ((guix build utils)) #:builder (begin (use-modules (guix build utils)) - ;; bootstrap - (setenv "PATH" (string-append - (assoc-ref %build-inputs "tar") "/bin" ":" - (assoc-ref %build-inputs "gzip") "/bin")) - (invoke "tar" "xvf" (assoc-ref %build-inputs "source")) - (chdir (string-append (string-capitalize ,name) "-" ,version)) + (copy-recursively (assoc-ref %build-inputs "source") "source") + (chdir "source") (patch-shebang "colormake.pl" (list (string-append (assoc-ref %build-inputs "perl") "/bin"))) @@ -502,7 +499,7 @@ (define-public colormake "clmake-short" "colormake.pl") bin) #t)))) - (home-page "http://bre.klaki.net/programs/colormake/") + (home-page "https://bre.klaki.net/programs/colormake/") (synopsis "Wrapper around @command{make} to produce colored output") (description "This package provides a wrapper around @command{make} to produce colored output.") @@ -512,14 +509,15 @@ (define-public makefile2graph (package (name "makefile2graph") (version "1.5.0") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/lindenb/" name - "/archive/v" version ".tar.gz")) - (sha256 - (base32 - "0h1vchkpmm9h6s87p5nf0ksjxcmsxpx8k62a508w428n570wcr4l")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lindenb/makefile2graph.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1gjfk3d8qg3cla7qd2y7r9s03whlfwy83q8k76xfcnqrjjfavdgk")))) (build-system gnu-build-system) (arguments '(#:test-target "test" diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm index 54746151ce..6a382c7517 100644 --- a/gnu/packages/commencement.scm +++ b/gnu/packages/commencement.scm @@ -2070,12 +2070,13 @@ (define (wrap-program program) ("bash" ,bash))) (inputs '()))) -(define (gcc-boot0-intermediate-wrapped) - ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the - ;; non-cross names. - (cross-gcc-wrapper gcc-boot0 binutils-boot0 - glibc-final-with-bootstrap-bash - (car (assoc-ref (%boot1-inputs) "bash")))) +(define gcc-boot0-intermediate-wrapped + (mlambda () + ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the + ;; non-cross names. + (cross-gcc-wrapper gcc-boot0 binutils-boot0 + glibc-final-with-bootstrap-bash + (car (assoc-ref (%boot1-inputs) "bash"))))) (define static-bash-for-glibc ;; A statically-linked Bash to be used by GLIBC-FINAL in system(3) & co. @@ -2166,11 +2167,12 @@ (define glibc-final ,@(package-arguments glibc-final-with-bootstrap-bash))))) -(define (gcc-boot0-wrapped) - ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the - ;; non-cross names. - (cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final - (car (assoc-ref (%boot1-inputs) "bash")))) +(define gcc-boot0-wrapped + (mlambda () + ;; Make the cross-tools GCC-BOOT0 and BINUTILS-BOOT0 available under the + ;; non-cross names. + (cross-gcc-wrapper gcc-boot0 binutils-boot0 glibc-final + (car (assoc-ref (%boot1-inputs) "bash"))))) (define (%boot2-inputs) ;; 3rd stage inputs. @@ -2400,7 +2402,7 @@ (define gnu-make-final ;; PKG-CONFIG. ;; TODO: Fix that on the next rebuild cycle. (let ((pkg-config (package - (inherit pkg-config) + (inherit %pkg-config) ;the native pkg-config (inputs `(("guile" ,guile-final) ,@(%boot5-inputs))) (arguments diff --git a/gnu/packages/cpio.scm b/gnu/packages/cpio.scm index 77a0c82d2e..58b2f45937 100644 --- a/gnu/packages/cpio.scm +++ b/gnu/packages/cpio.scm @@ -28,15 +28,14 @@ (define-module (gnu packages cpio) (define-public cpio (package (name "cpio") - (version "2.12") + (version "2.13") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/cpio/cpio-" version ".tar.bz2")) (sha256 (base32 - "0vi9q475h1rki53100zml75vxsykzyhrn70hidy41s5c2rc8r6bh")) - (patches (search-patches "cpio-CVE-2016-2037.patch")))) + "0vbgnhkawdllgnkdn6zn1f56fczwk0518krakz2qbwhxmv2vvdga")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/cpio/") (synopsis "Manage cpio and tar file archives") diff --git a/gnu/packages/cpp.scm b/gnu/packages/cpp.scm index f40f547781..3981f962d7 100644 --- a/gnu/packages/cpp.scm +++ b/gnu/packages/cpp.scm @@ -28,6 +28,7 @@ (define-module (gnu packages cpp) #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages check) @@ -254,7 +255,7 @@ (define-public json-modern-cxx (define-public xtl (package (name "xtl") - (version "0.6.7") + (version "0.6.8") (source (origin (method git-fetch) (uri @@ -263,7 +264,7 @@ (define-public xtl (commit version))) (sha256 (base32 - "0dds2fzyis42b1c3biqr3ir9l96csyyfkwrkm3fqjksdhgdklzmj")) + "13gm8vm1b9nzvlcc632f9khnjw1xdjqj6c7k51r173y1hlk0div7")) (file-name (git-file-name name version)))) (native-inputs `(("googletest" ,googletest) @@ -350,3 +351,27 @@ (define-public gperftools @item CPU checker. @end itemize\n") (license license:bsd-3))) + +(define-public cpplint + (package + (name "cpplint") + (version "1.4.4") + (source + (origin + (method git-fetch) + ;; Fetch from github instead of pypi, since the test cases are not in + ;; the pypi archive. + (uri (git-reference + (url "https://github.com/cpplint/cpplint") + (commit version))) + (sha256 + (base32 "1ns9wbizr10w7rpyp106d7ip68s5nyskr54vw9bij11sci9z0v3j")) + (file-name (git-file-name name version)))) + (build-system python-build-system) + (home-page "https://github.com/cpplint/cpplint") + (synopsis "Static code checker for C++") + (description "@code{cpplint} is a command-line tool to check C/C++ files +for style issues following Google’s C++ style guide. While Google maintains +it's own version of the tool, this is a fork that aims to be more responsive +and make @code{cpplint} usable in wider contexts.") + (license license:bsd-3))) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1509ff5d0d..ce36a6a8da 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -290,14 +290,13 @@ (define-public r-tidyverse (define-public r-rvest (package (name "r-rvest") - (version "0.3.4") + (version "0.3.5") (source (origin (method url-fetch) (uri (cran-uri "rvest" version)) (sha256 - (base32 - "0ji5lk8g1gbv4d9c4jg1fg6rgsqrrwkm05j1id7drdw9kqdifgj1")))) + (base32 "0r0a5jic09xw5pk0x42pr99r3zab5m9s4x85ymx1sl769jz42zqf")))) (build-system r-build-system) (propagated-inputs `(("r-httr" ,r-httr) @@ -1296,14 +1295,14 @@ (define-public r-ggmap (define-public r-haven (package (name "r-haven") - (version "2.1.1") + (version "2.2.0") (source (origin (method url-fetch) (uri (cran-uri "haven" version)) (sha256 (base32 - "12h64r2v2451igyl7v4w2kg0hzw9rnanph0m7smffq29ybkv9g4h")))) + "0g9d6mxqmrw2zdms78jpx2sx73pczlyy771v1h5hmxqz9sqyk7hr")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) @@ -1311,8 +1310,10 @@ (define-public r-haven `(("r-forcats" ,r-forcats) ("r-hms" ,r-hms) ("r-rcpp" ,r-rcpp) + ("r-rlang" ,r-rlang) ("r-readr" ,r-readr) - ("r-tibble" ,r-tibble))) + ("r-tibble" ,r-tibble) + ("r-tidyselect" ,r-tidyselect))) (home-page "https://haven.tidyverse.org") (synopsis "Import and Export 'SPSS', 'Stata' and 'SAS' Files") (description @@ -1586,13 +1587,13 @@ (define-public r-pkgload (define-public r-rcpp (package (name "r-rcpp") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (cran-uri "Rcpp" version)) (sha256 - (base32 "170jlmjrs92z5qdv58badhxycjvfjpqwwpic7rm13pc9zkb3i4xd")))) + (base32 "03h3zyjq948y0hrrs95lfk4zgx6wfrg64hjlrfrzf5na7bfh0d9b")))) (build-system r-build-system) (native-inputs `(("r-knitr" ,r-knitr))) ; for vignettes @@ -2056,14 +2057,13 @@ (define-public r-proxy (define-public r-sp (package (name "r-sp") - (version "1.3-1") + (version "1.3-2") (source (origin (method url-fetch) (uri (cran-uri "sp" version)) (sha256 - (base32 - "17xm1ig80p9wc860hm3bgishz6lj9fxgwqidj7rkbk4ap99qp62p")))) + (base32 "0kpjsqh3lzqp1m0avsvm54lazlgwfx3hyf0av3mvbyslsanj42ll")))) (build-system r-build-system) (propagated-inputs `(("r-lattice" ,r-lattice))) @@ -2584,14 +2584,14 @@ (define-public r-drr (define-public r-prodlim (package (name "r-prodlim") - (version "2018.04.18") + (version "2019.10.13") (source (origin (method url-fetch) (uri (cran-uri "prodlim" version)) (sha256 (base32 - "1aslq87sqwikh8chxc378r38146y7kv79zz0kcq3j93ivx7va8jb")))) + "0rsyfpz667y5cijmq33l318mrdw8r340khp72gcg8n490b1g0176")))) (build-system r-build-system) (propagated-inputs `(("r-kernsmooth" ,r-kernsmooth) @@ -3886,13 +3886,13 @@ (define-public r-seriation (define-public r-xfun (package (name "r-xfun") - (version "0.10") + (version "0.11") (source (origin (method url-fetch) (uri (cran-uri "xfun" version)) (sha256 - (base32 "065ygh046ah43p5aqyrkv2vkxcnvnb4j7blfdygysg6hmqzp4pbv")))) + (base32 "0dncw6bqkal7nyarrrrj9arxy0y3nkdzmrbibcjh84m1cxd4phiw")))) (build-system r-build-system) (home-page "https://github.com/yihui/xfun") (synopsis "Miscellaneous functions") @@ -4030,14 +4030,14 @@ (define-public r-uuid (define-public r-tinytex (package (name "r-tinytex") - (version "0.16") + (version "0.17") (source (origin (method url-fetch) (uri (cran-uri "tinytex" version)) (sha256 (base32 - "1dadq9l0527v038b1k1dyfs0dklsgxnmplls3qhqprfgskif8mga")))) + "0mgxrbj4gam2gvxfk26nq820vsfjggj81m2l7j9m8vp361k15r0w")))) (build-system r-build-system) (propagated-inputs `(("r-xfun" ,r-xfun))) @@ -5266,17 +5266,19 @@ (define-public r-zip (define-public r-openxlsx (package (name "r-openxlsx") - (version "4.1.0.1") + (version "4.1.3") (source (origin (method url-fetch) (uri (cran-uri "openxlsx" version)) (sha256 (base32 - "1lflygpi1z4rlb1c6g6wsmi334maiiy7jhpg6ph4sw8lpvg12w4b")))) + "087zivh9xdh1kk8zci67ys0m2xq0slzwgnf0jl05yy4gsgb6nmyx")))) (build-system r-build-system) (propagated-inputs `(("r-rcpp" ,r-rcpp) + ("r-rlang" ,r-rlang) + ("r-stringi" ,r-stringi) ("r-zip" ,r-zip))) (home-page "https://github.com/awalker89/openxlsx") (synopsis "Read, write and edit XLSX files") @@ -5467,26 +5469,52 @@ (define-public r-rappdirs Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.") (license license:expat))) +(define-public r-renv + (package + (name "r-renv") + (version "0.8.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "renv" version)) + (sha256 + (base32 + "0034jlaq7z40q3hcpkjlaff37dpn46kvxvzw4scbwlw4x9q8sx9j")))) + (properties `((upstream-name . "renv"))) + (build-system r-build-system) + (home-page "https://rstudio.github.io/renv") + (synopsis "Project environments") + (description + "This package provides a dependency management toolkit for R. Using +renv, you can create and manage project-local R libraries, save the state of +these libraries to a lockfile, and later restore your library as required. +Together, these tools can help make your projects more isolated, portable, and +reproducible.") + (license license:expat))) + (define-public r-learnr (package (name "r-learnr") - (version "0.9.2.1") + (version "0.10.0") (source (origin (method url-fetch) (uri (cran-uri "learnr" version)) (sha256 (base32 - "0jbk0g6fkw7zs8ykzhsvh9vvz8xmc4v03bqzjsa5mmpxpqan5vx5")))) + "0278q9nbkc4nb0rp930kjrwyidf0v7y38d1s187m4f4bs7ha82k6")))) (build-system r-build-system) (propagated-inputs - `(("r-evaluate" ,r-evaluate) + `(("r-checkmate" ,r-checkmate) + ("r-ellipsis" ,r-ellipsis) + ("r-evaluate" ,r-evaluate) ("r-htmltools" ,r-htmltools) ("r-htmlwidgets" ,r-htmlwidgets) ("r-jsonlite" ,r-jsonlite) ("r-knitr" ,r-knitr) ("r-markdown" ,r-markdown) ("r-rappdirs" ,r-rappdirs) + ("r-renv" ,r-renv) ("r-rmarkdown" ,r-rmarkdown) ("r-rprojroot" ,r-rprojroot) ("r-shiny" ,r-shiny) @@ -5654,14 +5682,14 @@ (define-public r-ggsignif (define-public r-ggpubr (package (name "r-ggpubr") - (version "0.2.3") + (version "0.2.4") (source (origin (method url-fetch) (uri (cran-uri "ggpubr" version)) (sha256 (base32 - "0i81mmz4qn9yzcgfa6dhkcrx4ddlflkm2c3b40isc8all43rm8rn")))) + "0ln1gh3zlfx5s7zqcpvfdiksq74v1pma5kwkhc6r0riqnjjd19pf")))) (build-system r-build-system) (propagated-inputs `(("r-cowplot" ,r-cowplot) @@ -5936,14 +5964,14 @@ (define-public r-gbrd (define-public r-rjags (package (name "r-rjags") - (version "4-9") + (version "4-10") (source (origin (method url-fetch) (uri (cran-uri "rjags" version)) (sha256 (base32 - "1vrmxxfnia2mkmfkp5yaq5qrlh4xg3ggab6fnj14mrp1231wb91a")))) + "1nhaim84ww8fd6m8xlpmngqcnp2qpql29ahc38366fxja3ghngmx")))) (build-system r-build-system) (propagated-inputs `(("r-coda" ,r-coda))) @@ -5989,14 +6017,14 @@ (define-public r-rdpack (define-public r-officer (package (name "r-officer") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) (uri (cran-uri "officer" version)) (sha256 (base32 - "005kaxjhr40shpav2pg7s7gj8f49579r7rbgwlncbwv16nn0rbbg")))) + "1i6jmnbkx7gd0qyf6akhizmxp7y1dh3h7a886mcbmrzka9d60zh4")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -6309,14 +6337,14 @@ (define-public r-moonbook (define-public r-flextable (package (name "r-flextable") - (version "0.5.5") + (version "0.5.6") (source (origin (method url-fetch) (uri (cran-uri "flextable" version)) (sha256 (base32 - "1q6x9mfk5gikqjbbra1dn8hs1rq5ws99jdjav3m113gx9f2j5yxh")))) + "1f869f2dfqkzhf6yix7xcbs8rn1nwq3sg623h74zg6h1pl6px66w")))) (build-system r-build-system) (propagated-inputs `(("r-base64enc" ,r-base64enc) @@ -6685,14 +6713,14 @@ (define-public r-proc (define-public r-rootsolve (package (name "r-rootsolve") - (version "1.7") + (version "1.8.1") (source (origin (method url-fetch) (uri (cran-uri "rootSolve" version)) (sha256 (base32 - "08ic6ggcc5dw4nv9xsqkm3vnvswmxyhnqnv1rdjv1h2gy1ivpcq8")))) + "0skrspq7sd7gaq73w91km14v8znc8chncgy64hvjgcng2xw15phx")))) (properties `((upstream-name . "rootSolve"))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) @@ -6880,13 +6908,13 @@ (define-public r-abcp2 (define-public r-abcrf (package (name "r-abcrf") - (version "1.8") + (version "1.8.1") (source (origin (method url-fetch) (uri (cran-uri "abcrf" version)) (sha256 - (base32 "0r31ki89z8zzcffm0yvd2zw3q96rk6g6fnwwkql902mgajbrha1f")))) + (base32 "1ghbd24yhqy3xhdxas6ccn84nkavqpgldx5ck8kijknc7qjm8k27")))) (build-system r-build-system) (propagated-inputs `(("r-doparallel" ,r-doparallel) @@ -8275,14 +8303,14 @@ (define-public r-performance (define-public r-ggeffects (package (name "r-ggeffects") - (version "0.12.0") + (version "0.13.0") (source (origin (method url-fetch) (uri (cran-uri "ggeffects" version)) (sha256 (base32 - "0idfycjk05gyykfp9ibmhxfcjvd01ikh1dl0fb4nqw6znw3ar0xp")))) + "0ryfbaav0k874kbwmhbiv7fan93dmkpaimm1iw5kryjhhs3917lb")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) @@ -8291,7 +8319,6 @@ (define-public r-ggeffects ("r-mass" ,r-mass) ("r-purrr" ,r-purrr) ("r-rlang" ,r-rlang) - ("r-scales" ,r-scales) ("r-sjlabelled" ,r-sjlabelled) ("r-sjmisc" ,r-sjmisc))) (home-page "https://github.com/strengejacke/ggeffects") @@ -8922,14 +8949,14 @@ (define-public r-weights (define-public r-rcppannoy (package (name "r-rcppannoy") - (version "0.0.13") + (version "0.0.14") (source (origin (method url-fetch) (uri (cran-uri "RcppAnnoy" version)) (sha256 (base32 - "1jibp9b07c5ka1kif0nl7f168hxfvysj32wnmnxg85l663hmvm8j")))) + "1wiigx5g5788j6lyc3f6bs1rsvc4alyc3052g35hxl1giinxmhn4")))) (properties `((upstream-name . "RcppAnnoy"))) (build-system r-build-system) (propagated-inputs @@ -9124,14 +9151,13 @@ (define-public r-misc3d (define-public r-ks (package (name "r-ks") - (version "1.11.5") + (version "1.11.6") (source (origin (method url-fetch) (uri (cran-uri "ks" version)) (sha256 - (base32 - "06ymx244yknmpl6935l4pafqbm4gcbpnhqg7rinql6rrfr9mcrag")))) + (base32 "0hcccjfqnzdxkmnfzq8c5a7yhc138azwyl7rp29d1vl1jawwrwfq")))) (build-system r-build-system) (propagated-inputs `(("r-fnn" ,r-fnn) @@ -9583,13 +9609,13 @@ (define-public r-tidytree (define-public r-rvcheck (package (name "r-rvcheck") - (version "0.1.5") + (version "0.1.6") (source (origin (method url-fetch) (uri (cran-uri "rvcheck" version)) (sha256 - (base32 "15222q3sglq0mad5q806p99fhrb96qizmpqw35fa1rb148f95paf")))) + (base32 "11n3qxapxcqsa0771s9q8n95kxmfyflya1d6wz4mm0lz0i6q55ia")))) (build-system r-build-system) (propagated-inputs `(("r-biocmanager" ,r-biocmanager) @@ -9987,14 +10013,13 @@ (define-public r-shades (define-public r-ore (package (name "r-ore") - (version "1.6.2") + (version "1.6.3") (source (origin (method url-fetch) (uri (cran-uri "ore" version)) (sha256 - (base32 - "1l1ziljgm5gwjhvjq42wi5vcwbxlaj5dl9w8bhz0wh8vx4ajj07m")))) + (base32 "1vh6w3arrhgkfjjjw7ci91xmz4wpfr3cmwd5zkqch89dgn07skkv")))) (build-system r-build-system) (home-page "https://github.com/jonclayden/ore") (synopsis "R interface to the Onigmo regular expression library") @@ -10878,13 +10903,13 @@ (define-public r-dotcall64 (define-public r-spam (package (name "r-spam") - (version "2.3-0.2") + (version "2.4-0") (source (origin (method url-fetch) (uri (cran-uri "spam" version)) (sha256 - (base32 "0czmzwhvcs0shm1asvphhz366df3n7vrlls4cfpq5b3i19fak3w4")))) + (base32 "0xb7a0x1i93kzijr518m9plzmg8s3mxh5anwfx9xrkg5ipldvz10")))) (build-system r-build-system) (propagated-inputs `(("r-dotcall64" ,r-dotcall64))) @@ -10907,13 +10932,13 @@ (define-public r-spam (define-public r-fields (package (name "r-fields") - (version "9.9") + (version "10.0") (source (origin (method url-fetch) (uri (cran-uri "fields" version)) (sha256 - (base32 "1qbqdqq76xgnlbc9z643zn4s8k493h1jmav2f465hfvp63306br6")))) + (base32 "173zm5vr236ydiq0v27qy0l3x7h9fc7jly38iakg77j26i0a01il")))) (build-system r-build-system) (propagated-inputs `(("r-maps" ,r-maps) @@ -11100,14 +11125,14 @@ (define-public r-genenet (define-public r-rbamtools (package (name "r-rbamtools") - (version "2.16.11.2") + (version "2.16.17") (source (origin (method url-fetch) (uri (cran-uri "rbamtools" version)) (sha256 (base32 - "0gzkb1xyrkriv45wq8gv7qfwjslnvwkfkk5jjc4wg5kmm0ydpdzj")))) + "0qj37ljdva3v29s01dkrbg31mcfzy3bl145cp40d54v4h9xhcghc")))) (build-system r-build-system) (inputs `(("zlib" ,zlib))) (propagated-inputs @@ -11383,14 +11408,14 @@ (define-public r-globals (define-public r-future (package (name "r-future") - (version "1.14.0") + (version "1.15.0") (source (origin (method url-fetch) (uri (cran-uri "future" version)) (sha256 (base32 - "1jyv2wlmpfqbk3hw269h4xg36na3wh1kd1lxmwdb40bsv4850lqa")))) + "1cbp7agb9lipjxsh7xm1yphh8a4hrjy7wrbkvhsxn1swh0c4s3b7")))) (build-system r-build-system) (propagated-inputs `(("r-digest" ,r-digest) @@ -13080,13 +13105,13 @@ (define-public r-snp-plotter (define-public r-polspline (package (name "r-polspline") - (version "1.1.16") + (version "1.1.17") (source (origin (method url-fetch) (uri (cran-uri "polspline" version)) (sha256 - (base32 "0d49h7if8h6d784nsnqqxakg19kvl8cmz8k53901m2h0c0amlfxa")))) + (base32 "0c7fnxpqpy3hibiim4yib6l6bq363s97wwvllxp4lp8h06fjcyyn")))) (build-system r-build-system) (native-inputs `(("gfortran" ,gfortran))) (home-page "https://cran.r-project.org/web/packages/polspline/") @@ -13336,13 +13361,13 @@ (define-public r-sparql (define-public r-bookdown (package (name "r-bookdown") - (version "0.14") + (version "0.15") (source (origin (method url-fetch) (uri (cran-uri "bookdown" version)) (sha256 (base32 - "1jiq2d292y0l3f4npyfzfpnmb0sqxsl212kkjfbjg5301h0na762")))) + "0pgkabaqsckaz8z1nlza84jp172jyzv17kx5dily43jfx5psy2ap")))) (build-system r-build-system) (propagated-inputs `(("r-htmltools" ,r-htmltools) @@ -13421,14 +13446,13 @@ (define-public r-wgcna (define-public r-kernlab (package (name "r-kernlab") - (version "0.9-27") + (version "0.9-29") (source (origin (method url-fetch) (uri (cran-uri "kernlab" version)) (sha256 - (base32 - "1m0xqf6gyvwayz7w3c83y32ayvnlz0jicj8ijk808zq9sh7dbbgn")))) + (base32 "0vqhndl4zm7pvkfvq0f6i9cbrm7pij6kmdp7d7w39pa100x6knn3")))) (build-system r-build-system) (home-page "https://cran.r-project.org/web/packages/kernlab") (synopsis "Kernel-based machine learning tools") @@ -13784,16 +13808,15 @@ (define-public r-gridgraphics (define-public r-farver (package (name "r-farver") - (version "1.1.0") + (version "2.0.1") (source (origin (method url-fetch) (uri (cran-uri "farver" version)) (sha256 (base32 - "1dllgx121al374gyp9pjv1m8ip4imm8zhbgyh1970dsz2c4z71i0")))) + "0aq1hk561pz3s3lpay1adwsihha6mxp7zbj4n1m6307g34awlhhn")))) (build-system r-build-system) - (propagated-inputs `(("r-rcpp" ,r-rcpp))) (home-page "https://github.com/thomasp85/farver") (synopsis "Vectorized color conversion and comparison") (description @@ -14862,14 +14885,14 @@ (define-public r-plot3d (define-public r-ggfortify (package (name "r-ggfortify") - (version "0.4.7") + (version "0.4.8") (source (origin (method url-fetch) (uri (cran-uri "ggfortify" version)) (sha256 (base32 - "1wk9j0xg5hj9i1vf62qjiphv8cbsgq7y6baay3pfl3wyb2dwgci0")))) + "191q2z7w0l4v7swjlxs2hjgbjngw2838688s7ygnj0kigsm310f3")))) (build-system r-build-system) (propagated-inputs `(("r-dplyr" ,r-dplyr) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index a8f60f1665..2ae867f45b 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -132,7 +132,7 @@ (define-public libmd (define-public signify (package (name "signify") - (version "26") + (version "27") (home-page "https://github.com/aperezdc/signify") (source (origin (method url-fetch) @@ -140,7 +140,7 @@ (define-public signify "/download/v" version "/signify-" version ".tar.xz")) (sha256 (base32 - "16sl1yq5bbsads5q4a0fbrf31b0x8r1hi4wagl90nbrhrca98baw")))) + "0ngjsqz95yb0knlw9zs02fnclif40s63r1mydgiv17ii3mds82df")))) (build-system gnu-build-system) ;; TODO Build with libwaive (described in README.md), to implement something ;; like OpenBSD's pledge(). @@ -734,14 +734,14 @@ (define-public rhash (define-public botan (package (name "botan") - (version "2.7.0") + (version "2.12.1") (source (origin (method url-fetch) (uri (string-append "https://botan.randombit.net/releases/" - "Botan-" version ".tgz")) + "Botan-" version ".tar.xz")) (sha256 (base32 - "142aqabwc266jxn8wrp0f1ffrmcvdxwvyh8frb38hx9iaqazjbg4")))) + "1ada3ga7b0z4m0vjmxlvfi4nsic2l8kjcy85jwss3z2i58a5y0vy")))) (build-system gnu-build-system) (arguments '(#:phases @@ -750,12 +750,17 @@ (define-public botan (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref %outputs "out")) (lib (string-append out "/lib"))) + ;; Upstream tests and benchmarks with -O3. + (setenv "CXXFLAGS" "-O3") (invoke "python" "./configure.py" (string-append "--prefix=" out) ;; Otherwise, the `botan` executable cannot find ;; libbotan. (string-append "--ldflags=-Wl,-rpath=" lib) + + "--with-os-feature=getentropy" "--with-rst2man" + ;; Recommended by upstream "--with-zlib" "--with-bzip2" "--with-sqlite3")))) (replace 'check @@ -947,6 +952,7 @@ (define-public hpenc (uri (git-reference (url "https://github.com/vstakhov/hpenc") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "1fb5yi3d2k8kd4zm7liiqagpz610y168xrr1cvn7cbq314jm2my1")))) diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm index 3bb1388910..2a824d416e 100644 --- a/gnu/packages/cryptsetup.scm +++ b/gnu/packages/cryptsetup.scm @@ -35,7 +35,7 @@ (define-module (gnu packages cryptsetup) (define-public cryptsetup (package (name "cryptsetup") - (version "2.2.1") + (version "2.2.2") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/utils/cryptsetup/v" @@ -43,7 +43,7 @@ (define-public cryptsetup "/cryptsetup-" version ".tar.xz")) (sha256 (base32 - "0q8w3khiwsw708169vahm0nccajsc2hwqz5gv6nb1g9qxlqrmrwl")))) + "0ija889kfhg4n2fshpq9yh2b1jl2ipvd7sfafh08g75ba6ayrw1a")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index 72a75829fb..1f8e7bd179 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -420,14 +420,14 @@ (define-public cups-pk-helper (define-public hplip (package (name "hplip") - (version "3.19.8") + (version "3.19.11") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/hplip/hplip/" version "/hplip-" version ".tar.gz")) (sha256 (base32 - "0cmshi5dkmc1n5yiahhp0cv5p94zg61018piiqa2sna10ahgx1d3")) + "0lfmym225dr4qnssglqd0gyf0nmm7jpbzkdr1s2wyknmx8z7fx9x")) (modules '((guix build utils))) (patches (search-patches "hplip-remove-imageprocessor.patch")) (snippet @@ -492,54 +492,83 @@ (define-public hplip (guix build utils) ((guix build python-build-system) #:prefix python:)) - #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-hard-coded-file-names - (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - ;; FIXME: use merged ppds (I think actually only - ;; drvs need to be merged). - (cupsdir (assoc-ref inputs "cups-minimal"))) - (substitute* "base/g.py" - (("'/usr/share;[^']*'") - (string-append "'" cupsdir "/share'")) - (("'/etc/hp/hplip.conf'") - (string-append "'" out - "/etc/hp/hplip.conf" "'"))) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-hard-coded-file-names + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + ;; FIXME: use merged ppds (I think actually only + ;; drvs need to be merged). + (cupsdir (assoc-ref inputs "cups-minimal"))) + (substitute* "base/g.py" + (("'/usr/share;[^']*'") + (string-append "'" cupsdir "/share'")) + (("'/etc/hp/hplip.conf'") + (string-append "'" out + "/etc/hp/hplip.conf" "'"))) - (substitute* "Makefile.in" - (("[[:blank:]]check-plugin\\.py[[:blank:]]") " ") - ;; FIXME Use beginning-of-word in regexp. - (("[[:blank:]]plugin\\.py[[:blank:]]") " ") - (("/usr/include/libusb-1.0") - (string-append (assoc-ref inputs "libusb") - "/include/libusb-1.0")) - (("hplip_statedir =.*$") - ;; Don't bail out while trying to create - ;; /var/lib/hplip. We can safely change its value - ;; here because it's hard-coded in the code anyway. - "hplip_statedir = $(prefix)\n") - (("hplip_confdir = /etc/hp") - ;; This is only used for installing the default config. - (string-append "hplip_confdir = " out - "/etc/hp")) - (("halpredir = /usr/share/hal/fdi/preprobe/10osvendor") - ;; We don't use hal. - (string-append "halpredir = " out - "/share/hal/fdi/preprobe/10osvendor")) - (("rulesdir = /etc/udev/rules.d") - ;; udev rules will be merged by base service. - (string-append "rulesdir = " out - "/lib/udev/rules.d")) - (("rulessystemdir = /usr/lib/systemd/system") - ;; We don't use systemd. - (string-append "rulessystemdir = " out - "/lib/systemd/system")) - (("/etc/sane.d") - (string-append out "/etc/sane.d")))))) - - ;; Wrap bin/* so that the Python libraries are found. - (add-after 'install 'wrap-binaries - (assoc-ref python:%standard-phases 'wrap))))) + (substitute* "Makefile.in" + (("[[:blank:]]check-plugin\\.py[[:blank:]]") " ") + ;; FIXME Use beginning-of-word in regexp. + (("[[:blank:]]plugin\\.py[[:blank:]]") " ") + (("/usr/include/libusb-1.0") + (string-append (assoc-ref inputs "libusb") + "/include/libusb-1.0")) + (("hplip_statedir =.*$") + ;; Don't bail out while trying to create + ;; /var/lib/hplip. We can safely change its value + ;; here because it's hard-coded in the code anyway. + "hplip_statedir = $(prefix)\n") + (("hplip_confdir = /etc/hp") + ;; This is only used for installing the default config. + (string-append "hplip_confdir = " out + "/etc/hp")) + (("halpredir = /usr/share/hal/fdi/preprobe/10osvendor") + ;; We don't use hal. + (string-append "halpredir = " out + "/share/hal/fdi/preprobe/10osvendor")) + (("rulesdir = /etc/udev/rules.d") + ;; udev rules will be merged by base service. + (string-append "rulesdir = " out + "/lib/udev/rules.d")) + (("rulessystemdir = /usr/lib/systemd/system") + ;; We don't use systemd. + (string-append "rulessystemdir = " out + "/lib/systemd/system")) + (("/etc/sane.d") + (string-append out "/etc/sane.d")))))) + (add-after 'install 'wrap-binaries + ;; Scripts in /bin are all symlinks to .py files in /share/hplip. + ;; Symlinks are immune to the Python build system's 'WRAP phase, + ;; and the .py files can't be wrapped because they are reused as + ;; modules. Replacing the symlinks in /bin with copies and + ;; wrapping them also doesn't work (“ModuleNotFoundError: + ;; No module named 'base'”). Behold: a custom WRAP-PROGRAM. + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (python (assoc-ref inputs "python"))) + (with-directory-excursion bin + (for-each (lambda (file) + (let ((target (readlink file))) + (delete-file file) + (with-output-to-file file + (lambda _ + (format #t + "#!~a~@ + export PYTHONPATH=\"~a:~a\"~@ + exec -a \"$0\" \"~a/~a\" \"$@\"~%" + (which "bash") + (string-append + out "/lib/python" + (python:python-version python) + "/site-packages") + (getenv "PYTHONPATH") + bin target))) + (chmod file #o755))) + (find-files "." (lambda (file stat) + (eq? 'symlink (stat:type stat))))) + #t))))))) ;; Note that the error messages printed by the tools in the case of ;; missing dependencies are often downright misleading. diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 669ee93819..9bf379ba27 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -324,7 +324,7 @@ (define-public leveldb `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON" "-DLEVELDB_BUILD_TESTS=ON"))) (inputs `(("snappy" ,snappy))) - (home-page "http://leveldb.org/") + (home-page "https://github.com/google/leveldb") (synopsis "Fast key-value storage library") (description "LevelDB is a fast key-value storage library that provides an ordered @@ -2376,7 +2376,7 @@ (define-public virtuoso-ose #:configure-flags '("--without-internal-zlib" "--with-readline"))) (inputs - `(("openssl" ,openssl) + `(("openssl" ,openssl-1.0) ("net-tools" ,net-tools) ("readline" ,readline) ("zlib" ,zlib))) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 3372fc89e1..e4f79d8250 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -52,7 +52,7 @@ (define-public delta (origin (method url-fetch) (uri (list - (string-append "http://ftp.de.debian.org/debian/pool/main/d/delta/" + (string-append "mirror://debian/pool/main/d/delta/" "delta_" version ".orig.tar.gz") ;; This uri seems to send guix download into an infinite loop (string-append "http://delta.tigris.org/files/documents/3103/" diff --git a/gnu/packages/digest.scm b/gnu/packages/digest.scm index d5533bc474..7ec4ca1495 100644 --- a/gnu/packages/digest.scm +++ b/gnu/packages/digest.scm @@ -32,6 +32,7 @@ (define-public xxhash (uri (git-reference (url "https://github.com/Cyan4973/xxHash") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "137hifc3f3cb4ib64rd6y83arc9hmbyncgrij2v8m94mx66g2aks")))) (build-system gnu-build-system) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index ec4008bf19..8b3c180ebe 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -34,7 +34,9 @@ (define-module (gnu packages dns) #:use-module (gnu packages autotools) #:use-module (gnu packages base) #:use-module (gnu packages bash) + #:use-module (gnu packages check) #:use-module (gnu packages databases) + #:use-module (gnu packages documentation) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages datastructures) @@ -46,6 +48,7 @@ (define-module (gnu packages dns) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) #:use-module (gnu packages linux) + #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) @@ -54,6 +57,7 @@ (define-module (gnu packages dns) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sphinx) #:use-module (gnu packages swig) #:use-module (gnu packages tls) #:use-module (gnu packages web) @@ -65,6 +69,7 @@ (define-module (gnu packages dns) #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system trivial)) (define-public dnsmasq @@ -662,6 +667,73 @@ (define-public knot license:public-domain ; src/contrib/fnv and possibly murmurhash3 license:gpl3+)))) ; everything else +(define-public knot-resolver + (package + (name "knot-resolver") + (version "4.2.2") + (source (origin + (method url-fetch) + (uri (string-append "https://secure.nic.cz/files/knot-resolver/" + "knot-resolver-" version ".tar.xz")) + (sha256 + (base32 + "0n0llpclhparq9wbcrymxkl5d03c4y4p3shcbdxfv6j22vzqvdh3")))) + (build-system meson-build-system) + (arguments + '(#:configure-flags + '("-Dmanaged_ta=disabled" ; We'll manage the DNS root data ourself. + "-Ddoc=enabled") + #:phases + (modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + (invoke "ninja" "doc"))) + (add-after 'install 'wrap-binary + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lua-* (map cdr (filter + (lambda (input) + (string-prefix? "lua-" (car input))) + inputs))) + (lua-path (lambda (p) + (string-append p "/share/lua/5.1/?.lua"))) + (lua-cpath (lambda (p) + (string-append p "/lib/lua/5.1/?.so")))) + (wrap-program (string-append out "/sbin/kresd") + `("LUA_PATH" ";" prefix ,(map lua-path lua-*)) + `("LUA_CPATH" ";" prefix ,(map lua-cpath lua-*))) + #t)))))) + (native-inputs + `(("cmocka" ,cmocka) ; for unit tests + ("doxygen" ,doxygen) + ("protobuf-c" ,protobuf-c) + ("pkg-config" ,pkg-config) + ("python-breathe" ,python-breathe) + ("python-sphinx" ,python-sphinx) + ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme))) + (inputs + `(("fstrm" ,fstrm) + ("gnutls" ,gnutls) + ("knot" ,knot) + ("libuv" ,libuv) + ("lmdb" ,lmdb) + ("luajit" ,luajit) + ;; TODO: Add optional lua modules: basexx, cqueues and psl. + ("lua-bitop" ,lua5.1-bitop) + ("lua-filesystem" ,lua5.1-filesystem) + ("lua-sec" ,lua5.1-sec) + ("lua-socket" ,lua5.1-socket))) + (home-page "https://www.knot-resolver.cz/") + (synopsis "Caching validating DNS resolver") + (description + "Knot Resolver is a caching full resolver implementation written in C and +LuaJIT, both a resolver library and a daemon.") + (license (list license:gpl3+ + ;; Some 'contrib' files are under MIT, CC0 and LGPL2. + license:expat + license:cc0 + license:lgpl2.0)))) + (define-public ddclient (package (name "ddclient") diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 69325449a1..70d2062448 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -317,7 +317,8 @@ (define-public docker (patches (search-patches "docker-engine-test-noinstall.patch" "docker-fix-tests.patch" - "docker-use-fewer-modprobes.patch")))) + "docker-use-fewer-modprobes.patch" + "docker-adjust-tests-for-changes-in-go.patch")))) (build-system gnu-build-system) (arguments `(#:modules diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 00d3d11813..5d7ddd2004 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -253,7 +253,7 @@ (define-public tipp10 (define-public snap (package (name "snap") - (version "5.1.0") + (version "5.2.5") (source (origin (method git-fetch) @@ -263,7 +263,7 @@ (define-public snap (file-name (git-file-name name version)) (sha256 (base32 - "11fqbbvrv4zqbdz176ahczb2d797inq5n7zg74335d96m377si3f")))) + "0smlqxd8gqy26dlsal197848lhynv74m8myxs6fdlnzgva1f3zzw")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) @@ -487,14 +487,14 @@ (define-public childsplay (define-public fet (package (name "fet") - (version "5.39.0") + (version "5.40.2") (source (origin (method url-fetch) (uri (string-append "https://www.lalescu.ro/liviu/fet/download/" "fet-" version ".tar.bz2")) (sha256 (base32 - "100bmggkychqs2cavqxy7015lr4icw6k99qb03im0v4jasqqmyix")))) + "068zdvb3rys7vvkq33i2jh89c7svvdaqp0548k99jmhbd24xnhgh")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 2261cb9fda..8bee8354e4 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Theodoros Foradis ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2019 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,10 +26,13 @@ (define-module (gnu packages electronics) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages gawk) #:use-module (gnu packages glib) #:use-module (gnu packages graphviz) #:use-module (gnu packages libftdi) @@ -111,8 +115,18 @@ (define-public sigrok-firmware-fx2lafw (sha256 (base32 "18x5zj3xbcylvb651dia6n4zxbdnv0j62r5af60d0l2g68knkjg4")))) + (arguments + `(#:implicit-inputs? #f)) (native-inputs - `(("sdcc" ,sdcc))) + `(("awk" ,gawk) + ("bash" ,bash) + ("coreutils" ,coreutils) + ("grep" ,grep) + ("gzip" ,gzip) + ("make" ,gnu-make) + ("sdcc" ,sdcc) + ("sed" ,sed) + ("tar" ,tar))) (build-system gnu-build-system) (home-page "https://www.sigrok.org/wiki/Fx2lafw") (synopsis "Firmware for Cypress FX2 chips") diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index 4f365cf205..75caa54296 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Andreas Enge -;;; Copyright © 2017, 2018 Efraim Flashner +;;; Copyright © 2017, 2018, 2019 Efraim Flashner ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Marius Bakke @@ -31,6 +31,7 @@ (define-module (gnu packages elf) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages gcc) #:use-module (gnu packages m4) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -198,7 +199,7 @@ (define-public libelf (define-public patchelf (package (name "patchelf") - (version "0.8") + (version "0.10") (source (origin (method url-fetch) (uri (string-append @@ -207,28 +208,24 @@ (define-public patchelf "/patchelf-" version ".tar.bz2")) (sha256 (base32 - "1rqpg84wrd3fa16wa9vqdvasnc05yz49w207cz1l0wrl4k8q97y9")) - (patches (search-patches "patchelf-page-size.patch")))) + "1wzwvnlyf853hw9zgqq5522bvf8gqadk8icgqa41a5n7593csw7n")))) (build-system gnu-build-system) - - ;; XXX: The upstream 'patchelf' doesn't support ARM. The only available - ;; patch makes significant changes to the algorithm, possibly - ;; introducing bugs. So, we apply the patch only on ARM systems. - (inputs - (if (target-arm32?) - `(("patch/rework-for-arm" ,(search-patch - "patchelf-rework-for-arm.patch"))) - '())) (arguments - (if (target-arm32?) - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch/rework-for-arm - (lambda* (#:key inputs #:allow-other-keys) - (let ((patch-file (assoc-ref inputs "patch/rework-for-arm"))) - (invoke "patch" "--force" "-p1" "--input" patch-file)))))) - '())) - + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-tests + ;; Our GCC code ensures that RUNPATH is never empty, it includes + ;; at least glibc/lib and gcc:lib/lib. + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "tests/no-rpath.sh" + ;; Disable checking for an empty runpath: + (("^if test.*") "") + ;; Find libgcc_s.so, which is necessary for the test: + (("/xxxxxxxxxxxxxxx") (string-append (assoc-ref inputs "gcc:lib") + "/lib"))) + #t))))) + (native-inputs + `(("gcc:lib" ,gcc "lib"))) (home-page "https://nixos.org/patchelf.html") (synopsis "Modify the dynamic linker and RPATH of ELF executables") (description diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 36b1c6aa13..1bd596bd06 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -55,6 +55,8 @@ ;;; Copyright © 2019 Jelle Licht ;;; Copyright © 2019 Björn Höfling ;;; Copyright © 2019 Stephen Webber +;;; Copyright © 2019 Leo Prikler +;;; Copyright © 2019 David Wilson ;;; ;;; This file is part of GNU Guix. ;;; @@ -89,6 +91,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages bash) #:use-module (gnu packages cmake) #:use-module (gnu packages code) + #:use-module (gnu packages cpp) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages dictionaries) @@ -620,6 +623,7 @@ (define-public emacs-scribble-mode (uri (git-reference (url "https://github.com/emacs-pe/scribble-mode.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1s5ccw1a5ack01wd94ywfcrar9j98agchwdh30q7iyxr0d2z4sii")))) @@ -1219,14 +1223,14 @@ (define-public emacs-wget (define-public emacs-emms (package (name "emacs-emms") - (version "5.2") + (version "5.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz")) (sha256 (base32 - "0cvpfdkagkpi8g02w8f7wzrpdk2ihas0mn5m9fr882xjdfshl21z")) + "00hnv7jjgb2simgrf7gf2y1cyg2syk7kj1hkbac146hlgxk8ngj1")) (modules '((guix build utils))) (snippet '(begin @@ -1578,17 +1582,14 @@ (define-public emacs-async (define-public emacs-auctex (package (name "emacs-auctex") - (version "12.1.2") + (version "12.2.0") (source (origin (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/auctex-" - version - ".tar")) + (uri (string-append "https://elpa.gnu.org/packages/auctex-" + version ".tar")) (sha256 - (base32 - "1yibg2anpmyr2a27wm4xqjsvsi9km2jzb56bf7cwyj8dnjfsd11n")))) + (base32 "0j919l3q5sq6h1k1kmk4kyv0vkzl4f98fxcd64v34x5q1ahjhg48")))) (build-system emacs-build-system) ;; We use 'emacs' because AUCTeX requires dbus at compile time ;; ('emacs-minimal' does not provide dbus). @@ -4817,6 +4818,7 @@ (define-public emacs-poet-theme (uri (git-reference (url "https://github.com/kunalb/poet.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0a84jdaj619mb59a46dmkk2sfs42rylqk9ryl1drgs8d3lia79mz")))) @@ -4878,6 +4880,30 @@ (define-public emacs-gruvbox-theme for the eyes.") (license license:expat))) ; MIT license +(define-public emacs-spacegray-theme + (let ((commit "9826265c2bceb2ebc1c5e16a45021da0253ace97") + (revision "0")) + (package + (name "emacs-spacegray-theme") + (version (git-version "0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bruce/emacs-spacegray-theme.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0aplwmm17ypbns5blc4rf5rr6dasj0zp5ibykpfl43fh4bd8z89n")))) + (build-system emacs-build-system) + (home-page "https://github.com/bruce/emacs-spacegray-theme") + (synopsis "Port of Sublime Text's Spacegray theme for Emacs") + (description + "@code{spacegray-theme} is an Emacs port of the Spacegray theme from +Sublime Text. It features a dark blue/gray background and soft blue, green, +orange and red as accent colors.") + (license license:expat)))) ; MIT license + (define-public emacs-2048-game (package (name "emacs-2048-game") @@ -7439,8 +7465,8 @@ (define-public emacs-evil (license license:gpl3+))) (define-public emacs-evil-collection - (let ((commit "38e916d5d56b391f1ad4c72ad3909491e86cda3c") - (revision "12")) + (let ((commit "eb36c82a84d313e961777dc78fd4ff1d718efdf6") + (revision "13")) (package (name "emacs-evil-collection") (version (git-version "0.0.3" revision commit)) @@ -7452,7 +7478,7 @@ (define-public emacs-evil-collection (file-name (git-file-name name version)) (sha256 (base32 - "00a1ya3c92ymhfj4ai1ygljnxa147d4cgi6jmvccngicphn99782")))) + "0wi84x9176y4xjl7zpn882achfamx3a2ixlj4nvflxfh6q1qg7bz")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) @@ -8898,6 +8924,7 @@ (define-public emacs-diff-hl (uri (git-reference (url "https://github.com/dgutov/diff-hl") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "1xlsg728mz3cwhrsqvisa0aidic67nymd9g7h4c1h3q63j39yb2s")))) @@ -8959,6 +8986,36 @@ (define-public emacs-use-package performance-oriented and tidy.") (license license:gpl2+))) +(define-public emacs-leaf + (package + (name "emacs-leaf") + (version "3.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/conao3/leaf.el.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1rgd59146wad92yc64las0qgx67k2ifgsw1vwhp40xvkd7kb0r6d")))) + (build-system emacs-build-system) + (home-page "https://github.com/conao3/leaf.el") + (arguments + `(#:tests? #t + #:test-command '("emacs" "--batch" + "-l" "leaf-tests.el" + "-f" "cort-test-run"))) + (synopsis + "Simplify your init.el configuration, extended use-package") + (description + "This package provides macros that allows you to declaratively configure +settings typical of an Elisp package with various keywords. The syntax is +similar, but not identical to use-package -- overall, leaf aims at a cleaner +and more predictable implementation.") + (license license:agpl3+))) + (define-public emacs-strace-mode (let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11") (revision "1")) @@ -10368,7 +10425,7 @@ (define-public emacs-erc-hl-nicks (define-public emacs-engine-mode (package (name "emacs-engine-mode") - (version "2.0.0") + (version "2.1.1") (source (origin (method git-fetch) @@ -10377,7 +10434,7 @@ (define-public emacs-engine-mode (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "02xas46nl28mascqsyr1zcd4hn15bh0fjv2xlxv1kmrj0pis94ml")))) + (base32 "1xka8i4cdvp5r2v2mkli1zz17x1sdsnmszbhqav2rf94v656d91i")))) (build-system emacs-build-system) (synopsis "Minor mode for defining and querying search engines") (description "@code{engine-mode} is a global minor mode for Emacs. It @@ -10488,6 +10545,7 @@ (define-public emacs-tiny (uri (git-reference (url "https://github.com/abo-abo/tiny.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx")))) @@ -10543,6 +10601,7 @@ (define-public emacs-make-it-so (uri (git-reference (url "https://github.com/abo-abo/make-it-so") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0p6xhyinzzkrwzbpxqfm8hlii0ikvmmylya240bwsa77w0g1k6xq")))) @@ -10572,6 +10631,7 @@ (define-public emacs-unidecode (uri (git-reference (url "https://github.com/sindikat/unidecode") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "03x3nakbhmakwm977mwrf8jifvjnfwzpjv6wrwpizbqjnkgfchmn")))) @@ -11418,6 +11478,7 @@ (define-public emacs-exec-path-from-shell (uri (git-reference (url "https://github.com/purcell/exec-path-from-shell") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "1ga8bpxngd3ph2hdiik92c612ki71qxw818i6rgx6f6a5r0sbf3p")))) @@ -11498,6 +11559,7 @@ (define-public emacs-deft (uri (git-reference (url "https://github.com/jrblevin/deft.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "0z7cilgiz6krvl5h2z72hkch43qxmypb0k6p5vxn5lx1p6v0mrf2")))) @@ -11587,6 +11649,7 @@ (define-public emacs-ergoemacs-mode (uri (git-reference (url "https://github.com/ergoemacs/ergoemacs-mode.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1s3b9bridl78hh1mxmdk9nqlmqhibbaxk0a1cixmsf23s06w8w6l")))) @@ -15088,7 +15151,7 @@ (define-public emacs-xpm (define-public emacs-fish-completion (package (name "emacs-fish-completion") - (version "1.1") + (version "1.2") (source (origin (method git-fetch) @@ -15098,7 +15161,7 @@ (define-public emacs-fish-completion (file-name (git-file-name name version)) (sha256 (base32 - "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021")))) + "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q")))) (build-system emacs-build-system) (inputs `(("fish" ,fish))) (arguments @@ -15147,6 +15210,7 @@ (define-public emacs-gif-screencast (uri (git-reference (url "https://gitlab.com/Ambrevar/emacs-gif-screencast.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "19xqi5mgalnnhb4hw0fh7py2s2dllldx1xxbhwhknkdpifai8hl8")))) @@ -15303,6 +15367,7 @@ (define-public emacs-helm-exwm (uri (git-reference (url "https://github.com/emacs-helm/helm-exwm.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "064ziinqa5sdv7rfjn0y278l12kld176fr88k4h78pgf2f2n7cd8")))) (build-system emacs-build-system) @@ -15393,6 +15458,7 @@ (define-public emacs-helm-mu (uri (git-reference (url "https://github.com/emacs-helm/helm-mu.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1lh0ahxdc5b2z18m9p30gwg8sbg33sjwkjr38p7h5xsm5fm7i0fz")))) (build-system emacs-build-system) @@ -15870,13 +15936,41 @@ (define-public emacs-adoc-mode (version "0.6.6") (source (origin - (method url-fetch) - (uri (string-append "https://stable.melpa.org/packages/adoc-mode-" - version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/sensorflo/adoc-mode.git") + (commit (string-append "V" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy")))) + "0kp2aafjhqxz3mjr9hkkss85r4n51chws5a2qj1xzb63dh36liwm")))) (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; See: https://github.com/sensorflo/adoc-mode/issues/39. + (add-after 'unpack 'disable-failing-tests + (lambda _ + (let-syntax + ((disable-tests + (syntax-rules () + ((_ file ()) + (syntax-error "test names list must not be empty")) + ((_ file (test-name ...)) + (substitute* file + (((string-append "^\\(ert-deftest " test-name ".*") all) + (string-append all "(skip-unless nil)\n")) ...))))) + (disable-tests "adoc-mode-test.el" + ("adoctest-test-tempo-delimited-blocks" + "adoctest-test-tempo-macros" + "adoctest-test-tempo-paragraphs" + "adoctest-test-tempo-passthroug-macros" + "adoctest-test-tempo-quotes"))) + #t))) + #:tests? #t + #:test-command '("emacs" "-Q" "-batch" + "-l" "adoc-mode-test.el" + "-f" "ert-run-tests-batch-and-exit"))) (propagated-inputs `(("emacs-markup-faces" ,emacs-markup-faces))) (home-page "https://github.com/sensorflo/adoc-mode/wiki") @@ -17753,7 +17847,7 @@ (define-public emacs-forge (invoke "makeinfo" "forge.texi") (install-file "forge.info" info) #t))))))) - (home-page "https://github.com/magit/ghub/") + (home-page "https://github.com/magit/forge/") (synopsis "Access Git forges from Magit") (description "Work with Git forges, such as Github and Gitlab, from the comfort of @@ -18672,6 +18766,29 @@ (define-public emacs-counsel-tramp SSH servers.") (license license:gpl3+))) +(define-public emacs-tramp-auto-auth + (let ((commit "f15a12dfab651aff60f4a9d70f868030a12344ac")) + (package + (name "emacs-tramp-auto-auth") + (version (git-version "20191027" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oitofelix/tramp-auto-auth.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09nkjgwppjfgv04q0gv468qihgx4y3p39lpwbd6vbh3wgbccas9k")))) + (build-system emacs-build-system) + (home-page "https://github.com/oitofelix/tramp-auto-auth") + (synopsis "TRAMP automatic authentication library") + (description "This package provides @code{tramp-auto-auth-mode} Emacs +global minor mode whose purpose is to automatically feed TRAMP sub-processes +with passwords for paths matching regexps.") + (license license:gpl3+)))) + (define-public emacs-eacl (package (name "emacs-eacl") @@ -19623,3 +19740,159 @@ (define-public emacs-minibuffer-line The contents and aspect is controlled by the @code{minibuffer-line-format} variable and the @code{minibuffer-line} face.") (license license:gpl3+))) + +(define-public emacs-eshell-prompt-extras + (package + (name "emacs-eshell-prompt-extras") + (version "1.0") + (home-page "https://github.com/zwild/eshell-prompt-extras") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gb07mns23dgqqr6qfy7d6ndizy15sqgbgfaig6k5xbjnwi02v9g")))) + (build-system emacs-build-system) + (synopsis "Display extra information and color for your Eshell prompt") + (description "This library displays various customizable elements for +@code{eshell} prompts: remote user, remote host, python virtual environment +info, git branch, git dirty info and git unpushed number. Multiple themes are +available.") + (license license:gpl3+))) + +(define-public emacs-eshell-did-you-mean + (package + (name "emacs-eshell-did-you-mean") + (version "0.1") + (home-page "https://github.com/xuchunyang/eshell-did-you-mean") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0v0wshck5n4hspcv1zk1g2nm6xiigcjp16lx0dc8wzkl6ymljvbg")))) + (build-system emacs-build-system) + (synopsis "Display suggestions on 'command not found' in Eshell") + (description "This library adds a list of 'Did you mean...' suggestions +when the command was not found in Eshell. The suggestions are found after the +commands that bear resemblance to the input command.") + (license license:gpl3+))) + +(define-public emacs-unfill + (package + (name "emacs-unfill") + (version "0.2") + (home-page "https://github.com/purcell/unfill") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0wyradin5igp25nsd3n22i2ppxhmy49ac1iq1w2715v8pfmiydnc")))) + (build-system emacs-build-system) + (synopsis "Inverse of Emacs' @code{fill-paragraph} and @code{fill-region}") + (description + "The functions in this package provide the inverse of Emacs' +@code{fill-paragraph} and @code{fill-region}.") + (license license:gpl3+))) + +(define-public emacs-windower + (package + (name "emacs-windower") + (version "0.0.1") + (home-page "https://gitlab.com/ambrevar/emacs-windower") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0h24gb1ip0czfasxm8wwcc3v19g7mznzw2sxkmmfb5iis59p7dfy")))) + (build-system emacs-build-system) + (synopsis "Helper functions for window manipulation in Emacs") + (description + "This package provides helper functions for window manipulation in Emacs, +such as: + +@itemize +- switch to last buffer, +- toggle single window display, +- toggle between horizontal and vertical splits, +- move borders more naturally, +- swap windows à-la @code{windmove}. +@end itemize\n") + (license license:gpl3+))) + +(define-public emacs-flycheck-cpplint + (let ((commit "1d8a090861572258ab704915263feeb3a436c3d2") + (revision "1")) + (package + (name "emacs-flycheck-cpplint") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/flycheck/flycheck-google-cpplint") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l6sg83f6z8x2alnblpv03rj442sbnkkkcbf8i0agjmx3713a5yx")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-cpplint-path + (lambda _ + (substitute* "flycheck-google-cpplint.el" + (("\"cpplint.py\"") + (string-append "\"" (which "cpplint") "\""))) + #t))))) + (inputs + `(("cpplint" ,cpplint))) + (propagated-inputs + `(("flycheck-mode" ,emacs-flycheck))) + (synopsis "Google C++ checker for Flycheck") + (description "This package provides a interface for @code{cpplint} over +Flycheck plugin. @code{cpplint} is a static code checker for C++, following +Google guidelines.") + (home-page "https://github.com/flycheck/flycheck-google-cpplint") + (license license:gpl3+)))) + +(define-public emacs-helm-fish-completion + (let ((commit "ef764dd123040fe67ef8b62a1c13842e940b0963") + (revision "1")) + (package + (name "emacs-helm-fish-completion") + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/emacs-helm/helm-fish-completion") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0k80kpapwfq2rv1lb0r994d0w6czl92xrmnkmrg0a05f4b3q0lb4")))) + (build-system emacs-build-system) + (propagated-inputs + `(("helm" ,emacs-helm) + ("fish-completion" ,emacs-fish-completion))) + (synopsis "Helm interface for Emacs fish-completion") + (description "Helm Fish Completion is a Helm interface for Emacs +fish-completion. It can be used in both Eshell and M-x shell.") + (license license:gpl3+)))) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index b7ad855a8c..72a9b6e40d 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -1053,7 +1053,7 @@ (define-public nestopia-ue (define-public retroarch (package (name "retroarch") - (version "1.8.0") + (version "1.8.1") (source (origin (method git-fetch) @@ -1062,7 +1062,7 @@ (define-public retroarch (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mgszd8gb5nk08kfykap9b1l5rl4qfy39dbba8crjj0zkc4z1jga")))) + (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -1188,7 +1188,7 @@ (define-public scummvm (define-public mame (package (name "mame") - (version "0.214") + (version "0.215") (source (origin (method git-fetch) @@ -1198,7 +1198,7 @@ (define-public mame (file-name (git-file-name name version)) (sha256 (base32 - "129yk3ybcviscy2xk1mkkzxm4h4nh5p6ndfgqbmcx547p1s6hbja")) + "1fj2qahi0fpn41zxph06wdgjashy6vsgj0gqfly8hvcmv99r3d65")) (modules '((guix build utils))) (snippet ;; Remove bundled libraries. diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index d1626f0342..294105a757 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -767,48 +767,27 @@ (define-public ao (define-public kicad (package (name "kicad") - (version "5.0.2") + (version "5.1.4") (source (origin (method url-fetch) (file-name (string-append name "-" version ".tar.xz")) (uri (string-append - "https://launchpad.net/kicad/" (version-major+minor version) - "/" version "/+download/kicad-" version ".tar.xz")) + "https://launchpad.net/kicad/" (version-major version) + ".0/" version "/+download/kicad-" version ".tar.xz")) (sha256 - (base32 "10605rr10x0353n6yk2z095ydnkd1i6j1ncbq64pfxdn5vkhcd1g")))) + (base32 "1r60dgh6aalbpq1wsmpyxkz0nn4ck8ydfdjcrblpl69k5rks5k2j")))) (build-system cmake-build-system) (arguments `(#:out-of-source? #t #:tests? #f ; no tests #:build-type "Release" #:configure-flags - (list "-DKICAD_STABLE_VERSION=ON" - "-DKICAD_REPO_NAME=stable" - "-DKICAD_SKIP_BOOST=ON"; Use our system's boost library. - "-DKICAD_SCRIPTING=ON" - "-DKICAD_SCRIPTING_MODULES=ON" - "-DKICAD_SCRIPTING_WXPYTHON=ON" - ;; Has to be set explicitly, as we don't have the wxPython - ;; headers in the wxwidgets store item, but in wxPython. - (string-append "-DCMAKE_CXX_FLAGS=-I" - (assoc-ref %build-inputs "wxpython") - "/include/wx-" - ,(version-major+minor - (package-version python2-wxpython))) - "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE" - "-DKICAD_SPICE=TRUE" - ;; TODO: Enable this when CA certs are working with curl. - "-DBUILD_GITHUB_PLUGIN=OFF") + (list "-DKICAD_SCRIPTING_PYTHON3=ON" + "-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON" + "-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE") #:phases (modify-phases %standard-phases - (add-after 'unpack 'adjust-boost-include - (lambda _ - ;; The location of this header changed in Boost 1.66. - (substitute* "3d-viewer/3d_cache/3d_cache.cpp" - (("boost/uuid/sha1\\.hpp") - "boost/uuid/detail/sha1.hpp")) - #t)) (add-after 'install 'wrap-program ;; Ensure correct Python at runtime. (lambda* (#:key inputs outputs #:allow-other-keys) @@ -845,9 +824,9 @@ (define-public kicad ("mesa" ,mesa) ("opencascade-oce" ,opencascade-oce) ("openssl" ,openssl) - ("python" ,python-2) - ("wxwidgets" ,wxwidgets-gtk2) - ("wxpython" ,python2-wxpython))) + ("python" ,python) + ("wxwidgets" ,wxwidgets) + ("wxpython" ,python-wxpython))) (home-page "http://kicad-pcb.org/") (synopsis "Electronics Design Automation Suite") (description "Kicad is a program for the formation of printed circuit @@ -921,7 +900,7 @@ (define-public kicad-library (define-public kicad-symbols (package (name "kicad-symbols") - (version "5.0.2") + (version "5.1.4") (source (origin (method git-fetch) (uri (git-reference @@ -930,7 +909,7 @@ (define-public kicad-symbols (file-name (git-file-name name version)) (sha256 (base32 - "1rjh2pjcrc3bhcgyyskj5pssm7vffrjk0ymwr70fb7sjpmk96yjk")))) + "1lna4xlvzrxif3569pkp6mrg7fj62z3a3ri5j97lnmnnzhiddnh3")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; No tests exist @@ -2007,6 +1986,7 @@ (define-public gpx (uri (git-reference (url "https://github.com/markwal/GPX.git") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5")))) @@ -2224,7 +2204,7 @@ (define-public openscad (define-public freecad (package (name "freecad") - (version "0.18.3") + (version "0.18.4") (source (origin (method git-fetch) @@ -2234,7 +2214,7 @@ (define-public freecad (file-name (git-file-name name version)) (sha256 (base32 - "1ny29y0h8smg1bwi5yn4kcnyfprqh3v7v2z8837cmmhcwp8dr95m")))) + "170hk1kgrvsddrwykp24wyj0cha78zzmzbf50gn98x7ngqqs395s")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -2427,7 +2407,7 @@ (define-public libspnav Also, libspnav provides a magellan API wrapper on top of the new API. So, any applications that were using the magellan library, can switch to libspnav -without any changes. And programmers that are familliar with the magellan API +without any changes. And programmers that are familiar with the magellan API can continue using it with a free library without the restrictions of the official SDK.") (license license:bsd-3))) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index c49e6cf66b..262a39d828 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -69,7 +69,7 @@ (define-module (gnu packages enlightenment) (define-public efl (package (name "efl") - (version "1.23.1") + (version "1.23.2") (source (origin (method url-fetch) (uri (string-append @@ -77,7 +77,7 @@ (define-public efl version ".tar.xz")) (sha256 (base32 - "0q9g4j7k10s1a8rv2ca9v9lydh7ml3zsrqvgncc4qhvdl76208nn")))) + "14yljnnmb89s8j6ip08ip5d01zkgzbzr1h4fr4bwk9lh8r59x3ds")))) (build-system meson-build-system) (native-inputs `(("check" ,check) diff --git a/gnu/packages/fabric-management.scm b/gnu/packages/fabric-management.scm index 56ff18f4c5..becf877f08 100644 --- a/gnu/packages/fabric-management.scm +++ b/gnu/packages/fabric-management.scm @@ -195,6 +195,8 @@ (define-public ucx (arguments '( ;; These are some of the flags found in 'contrib/configure-release'. #:configure-flags (list + "--disable-static" + ;; XXX: Disable optimizations specific to the build ;; machine (AVX, etc.) There's apparently no way to ;; have them picked up at load time. @@ -205,6 +207,10 @@ (define-public ucx "--disable-assertions" "--disable-params-check" + (string-append "--with-verbs=" + (assoc-ref %build-inputs + "rdma-core")) + (string-append "--with-rdmacm=" (assoc-ref %build-inputs "rdma-core"))) diff --git a/gnu/packages/fcitx.scm b/gnu/packages/fcitx.scm index b05d9b7146..e699d7d59d 100644 --- a/gnu/packages/fcitx.scm +++ b/gnu/packages/fcitx.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,20 +30,21 @@ (define-module (gnu packages fcitx) #:use-module (gnu packages icu4c) #:use-module (gnu packages iso-codes) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages web) #:use-module (gnu packages xml) #:use-module (gnu packages xorg)) (define-public fcitx (package (name "fcitx") - (version "4.2.9.6") + (version "4.2.9.7") (source (origin (method url-fetch) (uri (string-append "http://download.fcitx-im.org/fcitx/" - name "-" version "_dict.tar.xz")) + "fcitx-" version "_dict.tar.xz")) (sha256 (base32 - "0hyrh3v82a32ylnlvzrp6cmq56x4p1a42q5xc6njmmj2msxm34x5")))) + "13vg7yzfq0vj2r8zdf9ly3n243nwwggkhd5qv3z6yqdyj0m3ncyg")))) (build-system cmake-build-system) (outputs '("out" "gtk2" "gtk3")) (arguments @@ -81,6 +82,7 @@ (define-public fcitx ("gtk3" ,gtk+) ("icu4c" ,icu4c) ("iso-codes" ,iso-codes) + ("json-c" ,json-c) ("libxkbfile" ,libxkbfile) ("libxml2" ,libxml2) ("xkeyboard-config" ,xkeyboard-config))) @@ -99,7 +101,7 @@ (define-public fcitx-configtool (source (origin (method url-fetch) (uri (string-append "https://download.fcitx-im.org/fcitx-configtool/" - name "-" version ".tar.xz")) + "fcitx-configtool-" version ".tar.xz")) (sha256 (base32 "1yyi9jhkwn49lx9a47k1zbvwgazv4y4z72gnqgzdpgdzfrlrgi5w")))) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 68bd2f97c5..8a3b5402d4 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -14,6 +14,7 @@ ;;; Copyright © 2019 Guillaume Le Vaillant ;;; Copyright © 2019 Tanguy Le Carrour ;;; Copyright © 2019 Martin Becze +;;; Copyright © 2019 Sebastian Schott ;;; ;;; This file is part of GNU Guix. ;;; @@ -152,6 +153,34 @@ (define-public bitcoin-core line client and a client based on Qt.") (license license:expat))) +(define-public homebank + (package + (name "homebank") + (version "5.2.8") + (source (origin + (method url-fetch) + (uri (string-append "http://homebank.free.fr/public/homebank-" + version ".tar.gz")) + (sha256 + (base32 + "13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y")))) + (build-system glib-or-gtk-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("gtk+" ,gtk+) + ("libsoup" ,libsoup))) + (arguments + `(#:configure-flags (list "-without-ofx"))) ; libofx is not available yet + (home-page "http://homebank.free.fr/") + (synopsis "Graphical personal accounting application") + (description "HomeBank allows you to manage your personal accounts at +home. The seeks to be lightweight, simple and easy to use. It brings +features that allow you to analyze your finances in a detailed way instantly +and dynamically with report tools based on filtering and graphical charts.") + (license license:gpl2+))) + (define-public ledger (package (name "ledger") @@ -453,7 +482,7 @@ (define-public monero ;; the system's dynamically linked library. (package (name "monero") - (version "0.14.1.2") + (version "0.15.0.0") (source (origin (method git-fetch) @@ -474,7 +503,7 @@ (define-public monero #t)) (sha256 (base32 - "00zl883c7lcd9z7g4y3vv7rxmr7ppzrxdblnhk32r9l3qzyw55r6")))) + "19y4kcj4agws7swfa3draysb1y18c3xb13r8cg0faxx1dlm0zbnr")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -547,13 +576,18 @@ (define-public monero (invoke "tests/unit_tests/unit_tests" (string-append "--gtest_filter=-" excluded-unit-tests))))) + (add-after 'install 'install-librandomx + (lambda* (#:key outputs #:allow-other-keys) + (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) + (install-file "external/randomx/librandomx.a" lib) + #t))) (add-after 'install 'delete-dead-links (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (delete-file (string-append out "/lib/libprotobuf.so")) (delete-file (string-append out "/lib/libusb-1.0.so")) #t)))))) - (home-page "https://getmonero.org/") + (home-page "https://web.getmonero.org/") (synopsis "Command-line interface to the Monero currency") (description "Monero is a secure, private, untraceable currency. This package provides @@ -563,7 +597,7 @@ (define-public monero (define-public monero-gui (package (name "monero-gui") - (version "0.14.1.2") + (version "0.15.0.0") (source (origin (method git-fetch) @@ -573,7 +607,7 @@ (define-public monero-gui (file-name (git-file-name name version)) (sha256 (base32 - "1rm043r6y2mzy8pclnzbjjfxgps8pkfa2b92p66k8y8rdmgq6m1k")))) + "1shpnly2dym5jhvk8zk10p69mz062dihx979djg74q6hgkhhhqsh")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -675,7 +709,7 @@ (define-public monero-gui (let ((out (assoc-ref outputs "out"))) (wrap-qt-program out "monero-wallet-gui")) #t))))) - (home-page "https://getmonero.org/") + (home-page "https://web.getmonero.org/") (synopsis "Graphical user interface for the Monero currency") (description "Monero is a secure, private, untraceable currency. This package provides @@ -1138,15 +1172,35 @@ (define-public bitcoin-abc (package (inherit bitcoin-core) (name "bitcoin-abc") - (version "0.19.8") + (version "0.20.4") (source (origin (method url-fetch) (uri (string-append "https://download.bitcoinabc.org/" - version "/linux/src/bitcoin-abc-" + version "/src/bitcoin-abc-" version ".tar.gz")) (sha256 (base32 - "0ndvkxv5m8346bdhfqzgdiz1k9wyjycj05jp7daf9pml3cw79sz5")))) + "0fld54z3l7z7k5n35rrjichjnx37j9xp0rv8i69m3x4qfj1xk2np")))) + (inputs + `(("bdb" ,bdb-5.3) + ("boost" ,boost) + ("libevent" ,libevent) + ("miniupnpc" ,miniupnpc) + ("openssl" ,openssl) + ("protobuf" ,protobuf) + ("qtbase" ,qtbase))) + (arguments + (substitute-keyword-arguments (package-arguments bitcoin-core) + ((#:phases phases) + `(modify-phases ,phases + (add-after 'unpack 'fix-tests + ;; Disable 'check-devtools' test which tries to run a + ;; python script that doesn't exist. + (lambda _ + (substitute* "Makefile.in" + (("^check-local: check-devtools") + "check-local:")) + #t)))))) (home-page "https://www.bitcoinabc.org/") (synopsis "Bitcoin ABC peer-to-peer full node for the Bitcoin Cash protocol") (description diff --git a/gnu/packages/fpga.scm b/gnu/packages/fpga.scm index b4f259bf3a..556eae3624 100644 --- a/gnu/packages/fpga.scm +++ b/gnu/packages/fpga.scm @@ -120,7 +120,7 @@ (define-public iverilog (define-public yosys (package (name "yosys") - (version "0.8") + (version "0.9") (source (origin (method git-fetch) (uri (git-reference @@ -129,7 +129,7 @@ (define-public yosys (recursive? #t))) ; for the ‘iverilog’ submodule (sha256 (base32 - "1qwbp8gynlklawzvpa4gdn2x0hs8zln0s3kxjqkhfcjfxffdcpvv")) + "0lb9r055h8y1vj2z8gm4ip0v06j5mk7f9zx9gi67kkqb7g4rhjli")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 15c098bc45..a8b469f313 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Stefan Stefanović ;;; Copyright © 2019 Reza Alizadeh Majd +;;; Copyright © 2019 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -74,6 +75,7 @@ (define-module (gnu packages freedesktop) #:use-module (gnu packages pkg-config) #:use-module (gnu packages polkit) #:use-module (gnu packages python) + #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-xyz) #:use-module (gnu packages sqlite) #:use-module (gnu packages valgrind) @@ -615,6 +617,7 @@ (define-public waylandpp (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "16h57hzd688664qcyznzhjp3hxipdkzgv46x82yhkww24av8b55n")))) @@ -926,7 +929,7 @@ (define-public accountsservice (define-public libmbim (package (name "libmbim") - (version "1.20.0") + (version "1.20.2") (source (origin (method url-fetch) (uri (string-append @@ -934,7 +937,7 @@ (define-public libmbim "libmbim-" version ".tar.xz")) (sha256 (base32 - "0rm8j4zh9gnb3yi324cnxy91gdimc1vg5gv1kxc2m5lymb3wdxrc")))) + "16q550sy84izi5ic3sbbhjnnka2fwhj8vvdrirpn9xspbsgbc3sm")))) (build-system gnu-build-system) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-mkenums @@ -1439,3 +1442,64 @@ (define-public uchardet ;; This combines code under MPL 1.1, LGPL 2.1+, and GPL 2.0+, so the ;; combination is GPL 2.0+. (license license:gpl2+))) + +(define-public udiskie + (package + (name "udiskie") + (version "1.7.7") + (source + (origin + (method url-fetch) + (uri (pypi-uri "udiskie" version)) + (sha256 + (base32 + "121g9dkr7drv9igpdbcbkj59x15mm72rzp3198bp50zj0lr4wbvi")) + ;; Remove support for the libappindicator library of the + ;; Unity desktop environment which is not in Guix. + (patches (search-patches "udiskie-no-appindicator.patch")))) + (build-system python-build-system) + (native-inputs + `(("asciidoc" ,asciidoc) + ("gettext" ,gettext-minimal) + ("gobject-introspection" ,gobject-introspection))) + (inputs + `(("gobject-introspection" ,gobject-introspection) + ("gtk+" ,gtk+) + ("libnotify" ,libnotify) + ("udisks" ,udisks))) + (propagated-inputs + `(("python-docopt" ,python-docopt) + ("python-pygobject" ,python-pygobject) + ("python-keyutils" ,python-keyutils) + ("python-pyxdg" ,python-pyxdg) + ("python-pyyaml" ,python-pyyaml))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-gi-typelib + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gi-typelib-path (getenv "GI_TYPELIB_PATH"))) + (wrap-program (string-append out "/bin/udiskie") + `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path)))) + #t))))) + (home-page "https://github.com/coldfix/udiskie") + (synopsis "Automounter for removable media") + (description + "The @command{udiskie} program is a udisks2 front-end that allows to +manage removable media such as CDs or flash drives from userspace. + +Its features include: + +@itemize +@item automount removable media, +@item notifications, +@item tray icon, +@item command line tools for manual (un)mounting, +@item LUKS encrypted devices, +@item unlocking with keyfiles, +@item loop devices (mounting ISO archives), +@item password caching. +@end itemize +") + (license license:expat))) diff --git a/gnu/packages/fribidi.scm b/gnu/packages/fribidi.scm index dfd2a77c20..61aa6fd726 100644 --- a/gnu/packages/fribidi.scm +++ b/gnu/packages/fribidi.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -22,10 +22,12 @@ (define-module (gnu packages fribidi) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) - #:use-module (guix licenses)) + #:use-module (guix licenses) + #:use-module (gnu packages)) (define-public fribidi (package + (replacement fribidi/fixed) (name "fribidi") (version "1.0.5") (source @@ -45,3 +47,10 @@ (define-public fribidi or right-to-left ordering as necessary.") (home-page "https://github.com/fribidi/fribidi") (license lgpl2.1+))) + +(define fribidi/fixed + (package + (inherit fribidi) + (source + (origin (inherit (package-source fribidi)) + (patches (search-patches "fribidi-CVE-2019-18397.patch")))))) diff --git a/gnu/packages/fvwm.scm b/gnu/packages/fvwm.scm index ad0720a60c..88f6e24a99 100644 --- a/gnu/packages/fvwm.scm +++ b/gnu/packages/fvwm.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2017 ng0 +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,15 +36,15 @@ (define-module (gnu packages fvwm) (define-public fvwm (package (name "fvwm") - (version "2.6.8") + (version "2.6.9") (source (origin (method url-fetch) (uri (string-append "https://github.com/fvwmorg/fvwm/releases/download/" - version "/" name "-" version ".tar.gz")) + version "/fvwm-" version ".tar.gz")) (sha256 (base32 - "0hgkkdzcqjnaabvv9cnh0bz90nnjskbhjg9qnzpi2x0mbliwjdpv")))) + "1bliqcnap7vb3m2rn8wvxyfhbf35h9x34s41fl4301yhrkrlrihv")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 54d2f32f94..833f00b77c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -15,7 +15,7 @@ ;;; Copyright © 2017, 2019 Rutger Helling ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2019 Pierre Neidhardt -;;; Copyright © 2019 Comrade Yuri +;;; Copyright © 2019 Leo Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -1851,7 +1851,7 @@ (define-public ioquake3 (define-public openvr (package (name "openvr") - (version "1.4.18") + (version "1.8.19") (home-page "https://github.com/ValveSoftware/openvr/") (source (origin @@ -1861,8 +1861,7 @@ (define-public openvr (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0m92634j6g0f2xybbzklm79cnq20vidbk1jc62pnz12aabwixvyh")))) + (base32 "1b8cppvw6ib0kvx0vjq7jsk3plg1vh171w8xr230vjn05381wp52")))) (build-system cmake-build-system) (arguments ;; No tests. diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index d0a5d28f04..07bef94c51 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -500,7 +500,7 @@ (define-public cowsay (define-public freedoom (package (name "freedoom") - (version "0.11.3") + (version "0.12.1") (source (origin (method git-fetch) @@ -509,38 +509,19 @@ (define-public freedoom (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0k4dlgr82qk6i7dchp3nybq6awlfag2ivy3zzl1v6vhcrnbvssgl")))) + (base32 "1mq60lfwaaxmch7hsz8403pwafnlsmsd5z2df2j77ppwndwcrypb")))) (build-system gnu-build-system) (arguments '(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) - #:parallel-build? #f #:tests? #f ; no check target #:phases (modify-phases %standard-phases (delete 'bootstrap) (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((dejavu (assoc-ref inputs "font-dejavu")) - (freedoom (assoc-ref outputs "out")) + (let* ((freedoom (assoc-ref outputs "out")) (wad-dir (string-append freedoom "/share/games/doom"))) - ;; Replace the font-searching function in a shell - ;; script with a direct path to the required font. - ;; This is necessary because ImageMagick can only find the - ;; most basic fonts while in the build environment. - (substitute* "graphics/titlepic/create_caption" - (("font=\\$\\(find_font.*$") - (string-append - "font=" dejavu - "/share/fonts/truetype/DejaVuSansCondensed-Bold.ttf\n"))) - ;; Make icon creation reproducible. - (substitute* "dist/Makefile" - (("freedm.png") - "-define png:exclude-chunks=date freedm.png") - (("freedoom1.png") - "-define png:exclude-chunks=date freedoom1.png") - (("freedoom2.png") - "-define png:exclude-chunks=date freedoom2.png")) ;; Make sure that the install scripts know where to find ;; the appropriate WAD files. (substitute* "dist/freedoom" @@ -554,11 +535,8 @@ (define-public freedoom (native-inputs `(("asciidoc" ,asciidoc) ("deutex" ,deutex) - ("font-dejavu" ,font-dejavu) - ("imagemagick" ,imagemagick) - ("python" ,python-2))) - (inputs - `(("prboom-plus" ,prboom-plus))) + ("python" ,python) + ("python-pillow" ,python-pillow))) (home-page "https://freedoom.github.io/") (synopsis "Free content game based on the Doom engine") (native-search-paths @@ -1438,14 +1416,23 @@ (define-public pingus (origin (method git-fetch) (uri (git-reference - (url "https://github.com/Pingus/pingus.git") + (url "https://gitlab.com/pingus/pingus.git") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "0wp06kcmknsnxz7bjnsndb8x062z7r23fb3yrnbfnj68qhz18y74")) (patches (search-patches "pingus-boost-headers.patch" - "pingus-sdl-libs-config.patch")))) + "pingus-sdl-libs-config.patch")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "src/pingus/screens/demo_session.cpp" + (("#include ") + ;; std::function moved to with C++ 11. + ;; Remove this for versions newer than 0.7.6. + "#include \n#include ")) + #t)))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("scons-python2" ,scons-python2))) @@ -1855,7 +1842,7 @@ (define-public mars (define minetest-data (package (name "minetest-data") - (version "5.0.1") + (version "5.1.0") (source (origin (method git-fetch) (uri (git-reference @@ -1864,7 +1851,7 @@ (define minetest-data (file-name (git-file-name name version)) (sha256 (base32 - "1hw3n7qqpasq6bivxhq01kr0d58w0gp46s0baxixp1fakd79p8a7")))) + "1r9fxz2j24q74a9injvbxbf2xk67fzabv616i676zw2cvgv9hn39")))) (build-system trivial-build-system) (native-inputs `(("source" ,source))) @@ -1889,7 +1876,7 @@ (define minetest-data (define-public minetest (package (name "minetest") - (version "5.0.1") + (version "5.1.0") (source (origin (method git-fetch) (uri (git-reference @@ -1898,7 +1885,7 @@ (define-public minetest (file-name (git-file-name name version)) (sha256 (base32 - "11i8fqjpdggqfdlx440k5758zy0nbf9phxan9r63mavc7mph88ay")) + "184n9gxfa7yr0j85z2x736maaymsnppd5jzm326wlqri3c0qqy3z")) (modules '((guix build utils))) (snippet '(begin @@ -4746,7 +4733,7 @@ (define-public fish-fillets-ng (define-public crawl (package (name "crawl") - (version "0.23.2") + (version "0.24.0") (source (origin (method url-fetch) @@ -4759,7 +4746,7 @@ (define-public crawl (string-append "http://crawl.develz.org/release/stone_soup-" version "-nodeps.tar.xz"))) (sha256 - (base32 "1hw10hqhh688mrqs9vxrl17y1dzfjzsmxz6izg1a9dzmjlhrc01a")) + (base32 "0kdq6s12myxfdg75ma9x3ys2nd0xwb3xm2ynlmhg4628va0pnixr")) (patches (search-patches "crawl-upgrade-saves.patch")))) (build-system gnu-build-system) (inputs diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 5796db3eb9..477e9a460a 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -6,9 +6,10 @@ ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2018 Joshua Sierles, Nextjournal -;;; Copyright © 2018 Julien Lepiller +;;; Copyright © 2018, 2019 Julien Lepiller ;;; Copyright © 2019 Guillaume Le Vaillant ;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2019 Wiktor Żelazny ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages geo) + #:use-module (guix build-system ant) #:use-module (guix build-system cmake) #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) @@ -36,6 +38,7 @@ (define-module (gnu packages geo) #:use-module (guix build-system r) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix svn-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix utils) @@ -54,6 +57,7 @@ (define-module (gnu packages geo) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages icu4c) + #:use-module (gnu packages java) #:use-module (gnu packages lua) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) @@ -122,6 +126,12 @@ (define-public gnome-maps `(#:glib-or-gtk? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t)) (add-after 'install 'wrap (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -151,8 +161,7 @@ (define-public gnome-maps ,geocode-glib-path))) #t)))))) (native-inputs - `(("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache - ("gobject-introspection" ,gobject-introspection) + `(("gobject-introspection" ,gobject-introspection) ("intltool" ,intltool) ("pkg-config" ,pkg-config))) (inputs @@ -997,3 +1006,210 @@ (define-public xygrib volunteers.") (home-page "https://opengribs.org") (license license:gpl3+))) + +(define-public libspatialindex + (package + (name "libspatialindex") + (version "1.8.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://download.osgeo.org/libspatialindex/" + "spatialindex-src-" version ".tar.gz")) + (sha256 + (base32 + "1vxzm7kczwnb6qdmc0hb00z8ykx11zk3sb68gc7rch4vrfi4dakw")))) + (build-system gnu-build-system) + (home-page "https://libspatialindex.org") + (synopsis "Spatial indexing library") + (description "The purpose of this library is to provide: + +@itemize + @item An extensible framework that will support robust spatial indexing +methods. + @item Support for sophisticated spatial queries. Range, point location, + nearest neighbor and k-nearest neighbor as well as parametric queries (defined +by spatial constraints) should be easy to deploy and run. + @item Easy to use interfaces for inserting, deleting and updating information. + @item Wide variety of customization capabilities. Basic index and storage +characteristics like the page size, node capacity, minimum fan-out, splitting +algorithm, etc. should be easy to customize. + @item Index persistence. Internal memory and external memory structures +should be supported. Clustered and non-clustered indices should be easy to be +persisted. +@end itemize +") + (license license:expat))) + +(define-public java-jmapviewer + (package + (name "java-jmapviewer") + (version "2.12") + (source (origin + (method url-fetch) + (uri (string-append "https://svn.openstreetmap.org/applications/" + "viewer/jmapviewer/releases/" version + "/JMapViewer-" version "-Source.zip")) + (sha256 + (base32 + "08hbqsbs859v4m5d90560fdifavd1apnpz9v9iry1v31dsvy5707")))) + (build-system ant-build-system) + (native-inputs + `(("unzip" ,unzip))) + (arguments + `(#:build-target "pack" + #:tests? #f; No tests + #:phases + (modify-phases %standard-phases + (add-before 'build 'clean + (lambda* _ + (invoke "ant" "clean"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((dir (string-append (assoc-ref outputs "out") "/share/java/"))) + (mkdir-p dir) + (copy-file "JMapViewer.jar" (string-append dir "JMapViewer.jar")))))))) + (home-page "https://wiki.openstreetmap.org/wiki/JMapViewer") + (synopsis "OSM map integration in Java") + (description "JMapViewer is a Java component which allows to easily +integrate an OSM map view into your Java application. It is maintained as +an independent project by the JOSM team.") + (license license:gpl2))) + +(define-public josm + (package + (name "josm") + (version "15492") + (source (origin + (method svn-fetch) + (uri (svn-reference + (url "https://josm.openstreetmap.de/svn/trunk") + (revision (string->number version)) + (recursive? #f))) + (sha256 + (base32 + "12xkwcv77as30a61w1c8a0i2b0kiiks71d487gbdfv7azlj4vqia")) + (file-name (string-append name "-" version "-checkout")) + (modules '((guix build utils))) + (snippet + '(begin + (for-each delete-file (find-files "." ".*.jar$")) + #t)))) + (build-system ant-build-system) + (native-inputs + `(("javacc" ,javacc))) + (inputs + `(("java-commons-jcs" ,java-commons-jcs) + ("java-commons-compress" ,java-commons-compress) + ("java-jmapviewer" ,java-jmapviewer) + ("java-jsonp-api" ,java-jsonp-api) + ("java-jsonp-impl" ,java-jsonp-impl); runtime dependency + ("java-metadata-extractor" ,java-metadata-extractor) + ("java-openjfx-media" ,java-openjfx-media) + ("java-signpost-core" ,java-signpost-core) + ("java-svg-salamander" ,java-svg-salamander))) + (arguments + `(#:tests? #f + #:jar-name "josm.jar" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'rm-build.xml + (lambda* _ + (delete-file "build.xml") + #t)) + (add-before 'build 'fix-revision + (lambda* _ + (with-output-to-file "REVISION.XML" + (lambda _ + (display + (string-append "" + "1970-01-01 00:00:00 +0000" + "")))) + #t)) + (add-before 'build 'fix-classpath + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CLASSPATH" + (string-join + (filter + (lambda (s) + (let ((source (assoc-ref inputs "source"))) + (not (equal? (substring s 0 (string-length source)) source)))) + (string-split (getenv "CLASSPATH") #\:)) + ":")) + #t)) + (add-before 'build 'generate-parser + (lambda* _ + (let* ((dir "src/org/openstreetmap/josm/gui/mappaint/mapcss") + (out (string-append dir "/parsergen")) + (file (string-append dir "/MapCSSParser.jj"))) + (mkdir-p "src/org/openstreetmap/josm/gui/mappaint/mapcss/parsergen") + (invoke "javacc" "-DEBUG_PARSER=false" + "-DEBUG_TOKEN_MANAGER=false" "-JDK_VERSION=1.8" + "-GRAMMAR_ENCODING=UTF-8" + (string-append "-OUTPUT_DIRECTORY=" out) + file)) + #t)) + (add-after 'build 'generate-epsg + (lambda _ + (system* "javac" "scripts/BuildProjectionDefinitions.java" + "-cp" "build/classes") + (mkdir-p "data/projection") + (with-output-to-file "data/projection/custom-epsg" + (lambda _ (display ""))) + (invoke "java" "-cp" "build/classes:scripts:." + "BuildProjectionDefinitions" ".") + #t)) + (add-after 'generate-epsg 'copy-data + (lambda _ + (mkdir-p "build/classes") + (rename-file "data" "build/classes/data") + #t)) + (add-before 'install 'regenerate-jar + (lambda _ + ;; We need to regenerate the jar file to add data. + (delete-file "build/jar/josm.jar") + (invoke "jar" "-cf" "build/jar/josm.jar" "-C" + "build/classes" ".") + #t)) + (add-before 'build 'copy-styles + (lambda _ + (mkdir-p "build/classes") + (rename-file "styles" "build/classes/styles") + #t)) + (add-before 'build 'copy-images + (lambda _ + (mkdir-p "build/classes") + (rename-file "images" "build/classes/images") + #t)) + (add-before 'build 'copy-revision + (lambda _ + (mkdir-p "build/classes") + (with-output-to-file "build/classes/REVISION" + (lambda _ + (display + (string-append "Revision: " ,version "\n" + "Is-Local-Build: true\n" + "Build-Date: 1970-01-01 00:00:00 +0000\n")))) + #t)) + (add-after 'install 'install-bin + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (with-output-to-file (string-append bin "/josm") + (lambda _ + (display + (string-append "#!/bin/sh\n" + (assoc-ref inputs "jdk") "/bin/java" + " -cp " out "/share/java/josm.jar:" + (getenv "CLASSPATH") + " org.openstreetmap.josm.gui.MainApplication")))) + (chmod (string-append bin "/josm") #o755)) + #t))))) + (home-page "https://josm.openstreetmap.de") + (synopsis "OSM editor") + (description "JOSM is an extensible editor for OpenStreetMap (OSM). It +supports loading GPX tracks, background imagery and OSM data from local +sources as well as from online sources and allows to edit the OSM data (nodes, +ways, and relations) and their metadata tags.") + (license license:gpl2+))) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 70bc8db4c1..42a55cff33 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -29,6 +29,7 @@ (define-module (gnu packages gimp) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system meson) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -49,22 +50,30 @@ (define-module (gnu packages gimp) (define-public babl (package (name "babl") - (version "0.1.66") + (version "0.1.72") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/babl/" (version-major+minor version) - "/babl-" version ".tar.bz2") + "/babl-" version ".tar.xz") (string-append "https://ftp.gtk.org/pub/babl/" (version-major+minor version) - "/babl-" version ".tar.bz2") + "/babl-" version ".tar.xz") (string-append "ftp://ftp.gtk.org/pub/babl/" (version-major+minor version) - "/babl-" version ".tar.bz2"))) + "/babl-" version ".tar.xz"))) (sha256 (base32 - "0qx1dwbinxihwl2lmxi60qiqi402jlrdcnixx14kk6j88n9xi79n")))) - (build-system gnu-build-system) + "0hkagjrnza77aasa1kss5hvy37ndm50y6i7hkdn2z8hzgc4i3qb4")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + (list "-Denable-gir=false"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + ;; Propagated to satisfy ‘babl.pc’. + `(("lcms" ,lcms))) (home-page "http://gegl.org/babl/") (synopsis "Image pixel format conversion library") (description @@ -80,18 +89,25 @@ (define-public babl (define-public gegl (package (name "gegl") - (version "0.4.16") + (version "0.4.18") (source (origin (method url-fetch) (uri (list (string-append "https://download.gimp.org/pub/gegl/" (string-take version 3) - "/gegl-" version ".tar.bz2"))) + "/gegl-" version ".tar.xz") + (string-append "https://ftp.gtk.org/pub/gegl/" + (version-major+minor version) + "/gegl-" version ".tar.xz") + (string-append "ftp://ftp.gtk.org/pub/gegl/" + (version-major+minor version) + "/gegl-" version ".tar.xz"))) (sha256 (base32 - "0njydcr6qdmfzh4fxx544681qxdpf7y6b2f47jcypn810dlxy4h1")))) - (build-system gnu-build-system) + "0r6akqnrkvxizyhyi8sv40mxm7j4bcwjb6mqjpxy0zzbbfsdyin9")))) + (build-system meson-build-system) (arguments - '(#:configure-flags '("LDFLAGS=-lm"))) + `(#:configure-flags + (list "-Dintrospection=false"))) ;; These are propagated to satisfy 'gegl-0.4.pc'. (propagated-inputs `(("babl" ,babl) @@ -118,7 +134,7 @@ (define-public gegl (define-public gimp (package (name "gimp") - (version "2.10.12") + (version "2.10.14") (source (origin (method url-fetch) (uri (string-append "https://download.gimp.org/pub/gimp/v" @@ -126,7 +142,7 @@ (define-public gimp "/gimp-" version ".tar.bz2")) (sha256 (base32 - "0wdcr8d2ink4swn5r4v13bsiya6s3xm4ya97sdbhs4l40y7bb03x")))) + "0m6wdnfvsxyhimdd4v3351g4r1fklllnbipbwcfym3h7q88hz6yz")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 9 MiB of gtk-doc HTML diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 33e569a5d3..b3e85f8df9 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -199,7 +199,10 @@ (define glib ("perl" ,perl) ; needed by GIO tests ("tzdata" ,tzdata-for-tests))) ; for tests/gdatetime.c (arguments - `(#:phases + `(;; TODO: Uncomment on the next rebuild cycle. + ;; #:disallowed-references (,tzdata-for-tests) + + #:phases (modify-phases %standard-phases (add-before 'build 'pre-build (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm new file mode 100644 index 0000000000..760131b83d --- /dev/null +++ b/gnu/packages/gnome-xyz.scm @@ -0,0 +1,213 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Leo Prikler +;;; Copyright © 2019 Alexandros Theodotou +;;; Copyright © 2019 Giacomo Leidi +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages gnome-xyz) + #:use-module (guix build-system trivial) + #:use-module (guix build-system gnu) + #:use-module (guix git-download) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages gtk) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages ruby) + #:use-module (gnu packages xml)) + +(define-public matcha-theme + (package + (name "matcha-theme") + (version "2019-11-02") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/vinceliuice/matcha") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wci9ahap8kynq8cbyxr7aba9ndb1d4kiq42xvzr34vw1rhcahrr")))) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (source (assoc-ref %build-inputs "source")) + (bash (assoc-ref %build-inputs "bash")) + (coreutils (assoc-ref %build-inputs "coreutils")) + (themesdir (string-append out "/share/themes"))) + (setenv "PATH" + (string-append coreutils "/bin:" + (string-append bash "/bin:"))) + (copy-recursively source (getcwd)) + (patch-shebang "Install") + (mkdir-p themesdir) + (invoke "./Install" "-d" themesdir) + #t)))) + (inputs + `(("gtk-engines" ,gtk-engines))) + (native-inputs + `(("bash" ,bash) + ("coreutils" ,coreutils))) + (synopsis "Flat design theme for GTK 3, GTK 2 and GNOME-Shell") + (description "Matcha is a flat Design theme for GTK 3, GTK 2 and +Gnome-Shell which supports GTK 3 and GTK 2 based desktop environments +like Gnome, Unity, Budgie, Pantheon, XFCE, Mate and others.") + (home-page "https://github.com/vinceliuice/matcha") + (license license:gpl3+))) + +(define-public delft-icon-theme + (package + (name "delft-icon-theme") + (version "1.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/madmaxms/iconpack-delft.git") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0vw3yw9f9ygzfd2k3zrfih3r0vkzlhk1bmsk8sapvk7np24i1z9s")) + (file-name (git-file-name name version)))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (copy-recursively (assoc-ref %build-inputs "source") "icons") + (delete-file "icons/README.md") + (delete-file "icons/LICENSE") + (delete-file "icons/logo.jpg") + (copy-recursively "icons" (string-append %output "/share/icons"))))) + (home-page "https://www.gnome-look.org/p/1199881/") + (synopsis "Continuation of Faenza icon theme with up to date app icons") + (description "Delft is a fork of the popular icon theme Faenza with up to +date app icons. It will stay optically close to the original Faenza icons, +which haven't been updated for some years. The new app icons are ported from +the Obsidian icon theme.") + (license license:gpl3))) + +(define-public gnome-shell-extension-dash-to-dock + (package + (name "gnome-shell-extension-dash-to-dock") + (version "65") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/micheleg/dash-to-dock.git") + (commit (string-append "extensions.gnome.org-v" + version)))) + (sha256 + (base32 + "0ln49l9s0yfl30pi77pz7xlmh63l9vjppi863kry5lay10dsvz47")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:make-flags (list (string-append "INSTALLBASE=" + (assoc-ref %outputs "out") + "/share/gnome-shell/extensions")) + #:phases + (modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure)))) + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("glib" ,glib) + ("glib" ,glib "bin"))) + (synopsis "Transforms GNOME's dash into a dock") + (description "This extension moves the dash out of the +overview, transforming it into a dock for easier application launching and +faster window switching.") + (home-page "https://micheleg.github.io/dash-to-dock/") + (license license:gpl2+))) + +(define-public gnome-shell-extension-noannoyance + (package + (name "gnome-shell-extension-noannoyance") + (version "5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BjoernDaase/noannoyance.git") + (commit "e37b5b3c31f577b4698bc6659bc9fec5ea9ac5d4"))) + (sha256 + (base32 + "0fa8l3xlh8kbq07y4385wpb908zm6x53z81q16xlmin97dln32hh")) + (file-name (git-file-name name version)))) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((dst (string-append + (assoc-ref %outputs "out") + "/share/gnome-shell/extensions/" + "noannoyance@daase.net"))) + (mkdir-p dst) + (copy-recursively (assoc-ref %build-inputs "source") dst))))) + (synopsis "Removes 'Window is ready' annotation") + (description "One of the many extensions, that remove this message. +It uses ES6 syntax and claims to be more actively maintained than others.") + (home-page "https://extensions.gnome.org/extension/2182/noannoyance/") + (license license:gpl2))) + +(define-public numix-theme + (package + (name "numix-theme") + (version "2.6.7") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/numixproject/numix-gtk-theme.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'check)))) + (native-inputs + `(("glib:bin" ,glib "bin") ; for glib-compile-schemas + ("gnome-shell" ,gnome-shell) + ("gtk+" ,gtk+) + ("xmllint" ,libxml2) + ("ruby-sass" ,ruby-sass))) + (synopsis "Flat theme with light and dark elements") + (description "Numix is a modern flat theme with a combination of light and +dark elements. It supports GNOME, Unity, Xfce, and Openbox.") + (home-page "https://numixproject.github.io") + (license license:gpl3+))) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 276fa56138..f51d366f44 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -569,9 +569,17 @@ (define-public gnome-disk-utility (base32 "1365fabz3q7n3bl775z82m1nzg18birxxyd7l2ssbbkqrx3h7wgi")))) (build-system meson-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t))))) (native-inputs `(("glib:bin" ,glib "bin") - ("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache ("intltool" ,intltool) ("pkg-config" ,pkg-config) ("docbook-xml" ,docbook-xml) @@ -2062,14 +2070,14 @@ (define-public libwnck-2 (define-public goffice (package (name "goffice") - (version "0.10.45") + (version "0.10.46") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/goffice/" (version-major+minor version) "/" "goffice-" version ".tar.xz")) (sha256 - (base32 "0iqrygv2bh8kiw98kjx6ay6qdd288v91q5m8n7cvs2zcx5ksaavh")))) + (base32 "1a8kba36zwzr0ilafc0d1nsxxma1qibviiifd0jhbxp180x6v385")))) (build-system gnu-build-system) (outputs '("out" "doc")) ; 4.0 MiB of gtk-doc @@ -2126,7 +2134,7 @@ (define-public goffice-0.8 (define-public gnumeric (package (name "gnumeric") - (version "1.12.45") + (version "1.12.46") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/gnumeric/" @@ -2134,7 +2142,7 @@ (define-public gnumeric "gnumeric-" version ".tar.xz")) (sha256 (base32 - "0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h")))) + "1qdmw2dp7rmq8fmjapgwaks7ajh270wm6kyvlxlzwbgmg8vngp4z")))) (build-system glib-or-gtk-build-system) (arguments `(;; The gnumeric developers don't worry much about failing tests. @@ -3059,7 +3067,16 @@ (define-public colord (substitute* "rules/meson.build" (("udev.get_pkgconfig_variable\\('udevdir'\\)") (string-append "'" (assoc-ref outputs "out") "/lib/udev'"))) - #t))))) + #t)) + (add-before 'configure 'set-sqlite3-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; "colormgr dump" works by invoking the "sqlite3" command. + ;; Record its absolute file name. + (let ((sqlite (assoc-ref inputs "sqlite"))) + (substitute* "client/cd-util.c" + (("\"sqlite3\"") + (string-append "\"" sqlite "/bin/sqlite3\""))) + #t)))))) (native-inputs `(("glib:bin" ,glib "bin") ; for glib-compile-resources, etc. ("gobject-introspection" ,gobject-introspection) @@ -3455,12 +3472,20 @@ (define-public devhelp (base32 "036sddvhs0blqpc2ixmjdl9vxynvkn5jpgn0jxr1fxcm4rh3q07a")))) (build-system meson-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t))))) (native-inputs `(("intltool" ,intltool) ("itstool" ,itstool) ("gobject-introspection" ,gobject-introspection) ("glib:bin" ,glib "bin") ; for glib-mkmenus - ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("pkg-config" ,pkg-config))) (inputs `(("amtk" ,amtk) @@ -3922,7 +3947,6 @@ (define-public totem ("desktop-file-utils" ,desktop-file-utils) ("gobject-introspection" ,gobject-introspection) ("glib:bin" ,glib "bin") ;for 'glib-mkenums' - ("gtk:bin" ,gtk+ "bin") ;for 'gtk-update-icon-cache' ("intltool" ,intltool) ("itstool" ,itstool) ("xmllint" ,libxml2))) @@ -3978,6 +4002,12 @@ (define-public totem #:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t)) (add-before 'install 'disable-cache-generation (lambda _ @@ -4111,6 +4141,12 @@ (define-public eog (assoc-ref %outputs "out") "/lib/eog")) #:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t)) (add-after 'install 'wrap-eog (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) @@ -4124,7 +4160,6 @@ (define-public eog `(("intltool" ,intltool) ("itstool" ,itstool) ("glib" ,glib "bin") - ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("gobject-introspection" ,gobject-introspection) ("pkg-config" ,pkg-config) ("xmllint" ,libxml2))) @@ -4294,12 +4329,14 @@ (define-public gusb (name "gusb") (version "0.3.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/hughsie/libgusb/archive/" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/hughsie/libgusb.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1wa9787ww7s1kl9jml6kiyrjgimlgagq4jmgdj7xcpsx83w10qxk")))) + "002pg0p4qzzk5dkyiynm483ir26zxrn4k71c7f6j85mfsdzbgli7")))) (build-system meson-build-system) (native-inputs `(("gobject-introspection" ,gobject-introspection) @@ -4378,6 +4415,12 @@ (define-public eolie `(#:glib-or-gtk? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "meson_post_install.py" + (("gtk-update-icon-cache") "true")) + #t)) (add-after 'wrap 'wrap-more (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -4400,8 +4443,7 @@ (define-public eolie ("itstool" ,itstool) ("pkg-config" ,pkg-config) ("python" ,python) - ("glib:bin" ,glib "bin") - ("gtk+" ,gtk+ "bin"))) + ("glib:bin" ,glib "bin"))) (inputs `(("gobject-introspection" ,gobject-introspection) ("glib-networking" ,glib-networking) @@ -4447,6 +4489,14 @@ (define-public epiphany ;; FAIL '(#:tests? #f #:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'skip-gtk-update-icon-cache + ;; Don't create 'icon-theme.cache'. + (lambda _ + (substitute* "post_install.py" + (("gtk-update-icon-cache") "true")) + #t))) #:configure-flags ;; Otherwise, the RUNPATH will lack the final 'epiphany' path component. (list (string-append "-Dc_link_args=-Wl,-rpath=" @@ -4456,7 +4506,6 @@ (define-public epiphany (native-inputs `(("desktop-file-utils" ,desktop-file-utils) ; for update-desktop-database ("glib:bin" ,glib "bin") ; for glib-mkenums - ("gtk+:bin" ,gtk+ "bin") ; for gtk-update-icon-cache ("intltool" ,intltool) ("itstool" ,itstool) ("pkg-config" ,pkg-config) @@ -6672,6 +6721,7 @@ (define-public gnome ("gnome-default-applications" ,gnome-default-applications) ("gnome-keyring" ,gnome-keyring) ("gnome-online-accounts" ,gnome-online-accounts) + ("gnome-screenshot" ,gnome-screenshot) ("gnome-session" ,gnome-session) ("gnome-settings-daemon" ,gnome-settings-daemon) ("gnome-shell" ,gnome-shell) @@ -7064,38 +7114,6 @@ (define-public gnome-shell-extensions (home-page "https://extensions.gnome.org/") (license license:gpl3+))) -(define-public numix-theme - (package - (name "numix-theme") - (version "2.6.7") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/numixproject/numix-gtk-theme.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "12mw0kr0kkvg395qlbsvkvaqccr90cmxw5rrsl236zh43kj8grb7")))) - (build-system gnu-build-system) - (arguments - '(#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check)))) - (native-inputs - `(("glib:bin" ,glib "bin") ; for glib-compile-schemas - ("gnome-shell" ,gnome-shell) - ("gtk+" ,gtk+) - ("xmllint" ,libxml2) - ("ruby-sass" ,ruby-sass))) - (synopsis "Flat theme with light and dark elements") - (description "Numix is a modern flat theme with a combination of light and -dark elements. It supports GNOME, Unity, Xfce, and Openbox.") - (home-page "https://numixproject.github.io") - (license license:gpl3+))) - (define-public arc-theme (package (name "arc-theme") @@ -7784,15 +7802,15 @@ (define-public gnome-planner (define-public lollypop (package (name "lollypop") - (version "1.2.2") + (version "1.2.7") (source (origin (method url-fetch) (uri (string-append "https://gitlab.gnome.org/World/lollypop/uploads/" - "aa4fbd92bf338296c28e54710271ccab/" + "08f973788c7ca46d9285eec2ac818edb/" "lollypop-" version ".tar.xz")) (sha256 - (base32 "1wz5fna24qr3v7h29ijwhdxza85r9srz9xsqz4f4df3p5f8rfyql")))) + (base32 "0hvq6m4i62i0m63bg4gzpfb9rv1fk6vq5jl2g3ppcgm4srmfm77j")))) (build-system meson-build-system) (arguments `(#:imported-modules ((guix build python-build-system) @@ -8400,6 +8418,73 @@ (define-public libgit2-glib (home-page "https://wiki.gnome.org/Projects/Libgit2-glib") (license license:gpl2+))) +(define-public gitg + (package + (name "gitg") + (version "3.32.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "0npg4kqpwl992fgjd2cn3fh84aiwpdp9kd8z7rw2xaj2iazsm914")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-post-install-partially + (lambda _ + (substitute* "meson_post_install.py" + (("'python'") ; there are no python sources to compile + (string-append "'" (which "true") "'")) + (("gtk-update-icon-cache") (which "true"))) + #t)) + (add-after 'unpack 'fix-test-sources + (lambda _ + (substitute* "tests/libgitg/test-commit.vala" + (("/bin/bash") (which "bash"))) + #t)) + (add-after 'glib-or-gtk-wrap 'wrap-typelib + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/gitg"))) + (wrap-program prog + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (inputs + `(("glib" ,glib) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gtk+" ,gtk+) + ("gtkspell3" ,gtkspell3) + ("gtksourceview" ,gtksourceview-3) + ("json-glib" ,json-glib) + ("libdazzle" ,libdazzle) + ("libgee" ,libgee) + ("libgit2" ,libgit2) ; propagated by libgit2-glib + ("libgit2-glib" ,libgit2-glib) + ("libpeas" ,libpeas) + ("libsecret" ,libsecret) + ("libsoup" ,libsoup) + ("libxml2" ,libxml2))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gtk+:bin" ,gtk+ "bin") + ("gobject-introspection" ,gobject-introspection) + ("intltool" ,intltool) + ("pkg-config" ,pkg-config) + ("vala" ,vala))) + (synopsis "Graphical user interface for git") + (description + "gitg is a graphical user interface for git. It aims at being a small, +fast and convenient tool to visualize the history of git repositories. +Besides visualization, gitg also provides several utilities to manage your +repository and commit your work.") + (home-page "https://wiki.gnome.org/Apps/Gitg") + (license license:gpl2+))) + (define-public gnome-mahjongg (package (name "gnome-mahjongg") diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index ed89b2661b..f71c627781 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -65,6 +65,7 @@ (define-module (gnu packages gnupg) #:use-module (gnu packages tls) #:use-module (gnu packages tor) #:use-module (gnu packages web) + #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module (guix packages) #:use-module (guix download) @@ -995,7 +996,7 @@ (define-public gpa (define-public parcimonie (package (name "parcimonie") - (version "0.10.3") + (version "0.11.0") (source (origin (method url-fetch) (uri (string-append "https://gaffer.boum.org/intrigeri/files/" @@ -1003,10 +1004,10 @@ (define-public parcimonie version ".tar.gz")) (sha256 (base32 - "1kf891117s1f3k6lxvbjdb21va9gxh29vlp9bd664ssgw266rcyb")))) + "14pvapvzrxh1yh8zgcj1llmc2dd8g1fgzskxlja21gmw8c88aqdk")))) (build-system perl-build-system) (inputs - `(("gnupg" ,gnupg-1) ; This is the version used by perl-gnupg-interface + `(("gnupg" ,gnupg) ("perl-config-general" ,perl-config-general) ("perl-clone" ,perl-clone) ("perl-data" ,perl-data) @@ -1026,10 +1027,12 @@ (define-public parcimonie ("perl-moox-handlesvia" ,perl-moox-handlesvia) ("perl-moox-late" ,perl-moox-late) ("perl-moox-options" ,perl-moox-options) + ("perl-moox-strictconstructor" ,perl-moox-strictconstructor) ("perl-namespace-clean" ,perl-namespace-clean) ("perl-net-dbus" ,perl-net-dbus) ("perl-net-dbus-glib" ,perl-net-dbus-glib) ("perl-path-tiny" ,perl-path-tiny) + ("perl-strictures" ,perl-strictures-2) ("perl-test-most" ,perl-test-most) ("perl-test-trap" ,perl-test-trap) ("perl-time-duration" ,perl-time-duration) @@ -1041,24 +1044,29 @@ (define-public parcimonie ("perl-xml-parser" ,perl-xml-parser) ("perl-xml-twig" ,perl-xml-twig) ("torsocks" ,torsocks))) + (native-inputs + `(("xorg-server" ,xorg-server))) (arguments `(#:phases (modify-phases %standard-phases ;; Needed for using gpg-connect-agent during tests. - (add-before 'check 'set-HOME - (lambda _ (setenv "HOME" "/tmp") #t)) + (add-before 'check 'prepare-for-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((xorg-server (assoc-ref inputs "xorg-server"))) + (system (string-append xorg-server "/bin/Xvfb :1 &")) + (setenv "DISPLAY" ":1") + (setenv "HOME" "/tmp") + ;; These tests are known to fail + (delete-file "t/32-keyserver_defined_on_command_line.t") + (delete-file "t/33-checkGpgHasDefinedKeyserver.t") + ;; The applet is deprecated upstream. + (delete-file "t/00-load_all.t") + #t))) (add-before 'install 'fix-references (lambda* (#:key inputs outputs #:allow-other-keys) (substitute* "lib/App/Parcimonie/GnuPG/Interface.pm" - (("gpg2") "gpg") ;; Skip check whether dependencies are in the PATH - (("defined which.*") "") - (("call\\('parcimonie-torified-gpg'\\)") - (string-append "call('" (assoc-ref outputs "out") - "/bin/parcimonie-torified-gpg')"))) - (substitute* "bin/parcimonie-torified-gpg" - (("torsocks") (string-append (assoc-ref inputs "torsocks") - "/bin/torsocks"))) + (("defined which.*") "")) #t)) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 71cffa64f5..c68b2884f7 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -550,8 +550,8 @@ (define* (computed-origin-method gexp-promise hash-algo hash #:system system #:guile-for-build guile))) -(define %icecat-version "68.2.0-guix0-preview2") -(define %icecat-build-id "20191028000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "68.2.0-guix0-preview3") +(define %icecat-build-id "20191031000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -575,19 +575,21 @@ (define icecat-source (base32 "0f3gf5gwhxabm6xs29nlxmfqdw3fs7v458vq1fydrglfyvmc5wc5")))) - (upstream-icecat-base-version "68.1.0") ; maybe older than base-version + (upstream-icecat-base-version "68.2.0") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "aa7ab9483a64c43e77736917dd83841ccc437300") + (gnuzilla-commit "930298e1efff3e40721659d8fd7118cdd2477bd4") (gnuzilla-source (origin (method git-fetch) (uri (git-reference (url "git://git.savannah.gnu.org/gnuzilla.git") (commit gnuzilla-commit))) - (file-name (git-file-name "gnuzilla" upstream-icecat-base-version)) + (file-name (git-file-name "gnuzilla" + ;;upstream-icecat-base-version + (string-take gnuzilla-commit 8))) (sha256 (base32 - "03jygq1zna621y0ba6370cff4v2g9l57g3015y3vxbahnmzn9msa")))) + "14g57b0262qq5s0w8b1lrk8wkvg7m068dfi0ilvhg2q5jrxk3cd0")))) (gnuzilla-fixes-patch (local-file (search-patch "icecat-gnuzilla-fixes.patch"))) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index e3b22c13a2..76b93c0d14 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -220,7 +220,7 @@ (define-public go-1.12 (package (inherit go-1.4) (name "go") - (version "1.12.10") + (version "1.12.13") (source (origin (method url-fetch) @@ -228,7 +228,7 @@ (define-public go-1.12 name version ".src.tar.gz")) (sha256 (base32 - "0m1rvawvpdl7kd0asw10m50xbxlhykix6dng9p4x6ih6x3y4hvpm")))) + "19zmrhydd52vhdnzlhxqklzg1mnav434dcgw9wl4iajbvfwd70sk")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) @@ -1166,6 +1166,7 @@ (define-public go-github-com-sirupsen-logrus (uri (git-reference (url "https://github.com/sirupsen/logrus.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "0g5z7al7kky11ai2dhac6gkp3b5pxsvx72yj3xg4wg3265gbn7yz")))) @@ -3022,6 +3023,7 @@ (define-public go-github-com-shirou-gopsutil (uri (git-reference (url "https://github.com/shirou/gopsutil") (commit commit))) ; XXX + (file-name (git-file-name name version)) (sha256 (base32 "0x1g4r32q4201nr2b754xnrrndmwsrhfr7zg37spya86qrmijnws")))) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 917e7ba397..4f1c50b272 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -291,7 +291,7 @@ (define-public assimp (define-public cgal (package (name "cgal") - (version "4.8.1") + (version "4.14.2") (source (origin (method url-fetch) (uri (string-append @@ -299,19 +299,15 @@ (define-public cgal "CGAL-" version "/CGAL-" version ".tar.xz")) (sha256 (base32 - "1c41yzl2jg3d6zx5k0iccwqwibp950q7dr7z7pp4xi9wlph3c87s")))) + "08lrp3hfwdypggz4138bnkh6bjxn441zg2y9xnq5mrjfc5ini6w1")))) (build-system cmake-build-system) (arguments - '(;; "RelWithDebInfo" is not supported. - #:build-type "Release" - - ;; No 'test' target. - #:tests? #f)) + '(#:tests? #f)) ; no test target (inputs `(("mpfr" ,mpfr) ("gmp" ,gmp) ("boost" ,boost))) - (home-page "http://cgal.org/") + (home-page "https://www.cgal.org/") (synopsis "Computational geometry algorithms library") (description "CGAL provides easy access to efficient and reliable geometric algorithms diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index c22ab0b9f1..3ed01d1967 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -44,6 +44,7 @@ (define-module (gnu packages gtk) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system gnu) #:use-module (guix build-system meson) #:use-module (guix build-system perl) @@ -1729,7 +1730,7 @@ (define-public volumeicon (define-public yad (package (name "yad") - (version "0.41.0") + (version "5.0") (source (origin (method git-fetch) @@ -1738,24 +1739,24 @@ (define-public yad (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1hkxiich898sbacpg3jflf6i8l4hkfnc0zh10rr376v0mnzbn6jn")))) - (build-system gnu-build-system) + (base32 "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc")))) + (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags - '("--with-gtk=gtk3" - "--enable-html" - "--enable-gio" - "--enable-spell" - "--enable-icon-browser") + ;; Passing --enable-foo will silently disable foo if prerequisite + ;; inputs are missing, not abort the build as one might expect. + ;; ‘--enable-html’ adds a huge webkitgtk dependency. It was never + ;; present in the past and nobody complained. + '("--enable-icon-browser" + "--enable-spell") ; gspell checking support #:phases (modify-phases %standard-phases - (replace 'bootstrap + (add-after 'bootstrap 'intltoolize (lambda _ - (invoke "autoreconf" "-vif") - (invoke "intltoolize" "--force" "--automake") - #t))))) + (invoke "intltoolize" "--force" "--automake")))))) (inputs - `(("gtk+" ,gtk+))) + `(("gspell" ,gspell) + ("gtk+" ,gtk+))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index d5c7325ba4..49ef5f2892 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -779,6 +779,7 @@ (define-public jupyter-guile-kernel (uri (git-reference (url "https://github.com/jerry40/guile-kernel") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0aj04853bqm47ivfcmrgpb7w3wkis847kc7qrwsa5zcn9h38qh2f")))) @@ -1595,14 +1596,14 @@ (define-public guile-reader (define-public guile-ncurses (package (name "guile-ncurses") - (version "2.2") + (version "3.0") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-" version ".tar.gz")) (sha256 (base32 - "1wvggbr4xv8idh1hzd8caj4xfp4pln78a7w1wqzd4zgzwmnzxr2f")))) + "038xbffalhymg26lvmzgf7ljilxz2f2zmqg5r5nfzbipfbprwjhf")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("guile" ,guile-2.2))) @@ -1857,11 +1858,14 @@ (define-public guile-redis (version "1.3.0") (home-page "https://github.com/aconchillo/guile-redis") (source (origin - (method url-fetch) - (uri (string-append home-page "/archive/" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1li70a2716my9q9zfq0qn2x5d1cir9k2vx0jm9glm464yaf1vj39")))) + "14izs8daxh7pb7vwpxi5g427qa31137jkaxrb1cy5rpjkwchy723")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -1975,6 +1979,7 @@ (define-public guile-picture-language (uri (git-reference (url "https://git.elephly.net/software/guile-picture-language.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "1ydvw9dvssdvlvhh1dr8inyzy2x6m41qgp8hsivca1xysr4gc23a")))) @@ -2005,6 +2010,7 @@ (define-public guile-studio (uri (git-reference (url "https://git.elephly.net/software/guile-studio.git") (commit commit))) + (file-name (git-file-name name version)) (sha256 (base32 "0rxl5gv2mavycwkl33lcwyb3z71j2f4zyzk60k7vl3hzszpr08iq")))) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index 0fab912f4f..eac07ca9b8 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -247,14 +247,14 @@ (define-public darcs (define-public git-annex (package (name "git-annex") - (version "7.20191024") + (version "7.20191114") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "11n0wvw7i1rgrsmm2wkv01rfa0azgaw1ib7jbmy4fyg9pw0s27y1")))) + (base32 "1afrn5g3b80f3n6ncfph6pmf9jdpc7a6ay55k2pmkn96pyv4hfmm")))) (build-system haskell-build-system) (arguments `(#:configure-flags @@ -564,7 +564,7 @@ (define-public raincat (source (origin (method url-fetch) - (uri (string-append "http://hackage.haskell.org/package/Raincat/" + (uri (string-append "mirror://hackage/package/Raincat/" "Raincat-" version ".tar.gz")) (sha256 (base32 @@ -599,6 +599,37 @@ (define-public raincat is programmed in Haskell.") (license license:bsd-3))) +(define-public scroll + (package + (name "scroll") + (version "1.20180421") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/scroll/scroll-" + version ".tar.gz")) + (sha256 + (base32 + "0apzrvf99rskj4dbmn57jjxrsf19j436s8a09m950df5aws3a0wj")))) + (build-system haskell-build-system) + (inputs + `(("ghc-case-insensitive" ,ghc-case-insensitive) + ("ghc-data-default" ,ghc-data-default) + ("ghc-ifelse" ,ghc-ifelse) + ("ghc-monad-loops" ,ghc-monad-loops) + ("ghc-ncurses" ,ghc-ncurses) + ("ghc-optparse-applicative" ,ghc-optparse-applicative) + ("ghc-random" ,ghc-random) + ("ghc-vector" ,ghc-vector))) + (home-page "https://joeyh.name/code/scroll/") + (synopsis "scroll(6), a roguelike game") + (description + "You're a bookworm that's stuck on a scroll. You have to dodge between +words and use spells to make your way down the page as the scroll is read. Go +too slow and you'll get wound up in the scroll and crushed.") + (license license:gpl2))) + (define-public shellcheck (package (name "shellcheck") diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 217c78a08c..37b9b262fc 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -55,6 +55,7 @@ (define-module (gnu packages haskell-xyz) #:use-module (gnu packages linux) #:use-module (gnu packages lua) #:use-module (gnu packages maths) + #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages sdl) @@ -6753,6 +6754,43 @@ (define-public ghc-nats-bootstrap `(("ghc-hashable" ,ghc-hashable-bootstrap))) (properties '((hidden? #t))))) +(define-public ghc-ncurses + (package + (name "ghc-ncurses") + (version "0.2.16") + (source + (origin + (method url-fetch) + (uri (string-append + "https://hackage.haskell.org/package/ncurses/ncurses-" + version ".tar.gz")) + (sha256 + (base32 + "0gsyyaqyh5r9zc0rhwpj5spyd6i4w2vj61h4nihgmmh0yyqvf3z5")))) + (build-system haskell-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'build 'fix-includes + (lambda _ + (substitute* '("cbits/hsncurses-shim.h" + "lib/UI/NCurses.chs" + "lib/UI/NCurses/Enums.chs" + "lib/UI/NCurses/Panel.chs") + ((" ;;; Copyright © 2016 Chris Marusich ;;; Copyright © 2017, 2018 Efraim Flashner -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Meiyo Peng ;;; ;;; This file is part of GNU Guix. @@ -179,7 +179,7 @@ (define-public ibus (define-public ibus-libpinyin (package (name "ibus-libpinyin") - (version "1.11.0") + (version "1.11.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/libpinyin/ibus-libpinyin/" @@ -187,7 +187,7 @@ (define-public ibus-libpinyin "/ibus-libpinyin-" version ".tar.gz")) (sha256 (base32 - "1sypbr5n96sf7mgqhxrwbawdmszgb6yi28iqkmfmb8xr93pwq7fq")))) + "1bl1cgicd2df797dx1x0q904438bsn8i23djzcfcai4dp3631xc0")))) (build-system glib-or-gtk-build-system) (arguments `(#:phases diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 51062df7a3..d237a27c4a 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -460,6 +460,7 @@ (define-public qview (uri (git-reference (url "https://github.com/jurplel/qView.git") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "1s29hz44rb5dwzq8d4i4bfg77dr0v3ywpvidpa6xzg7hnnv3mhi5")))) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 3237071e03..5a2bb97ce8 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1283,7 +1283,7 @@ (define-public jasper (define-public zimg (package (name "zimg") - (version "2.5") + (version "2.9.2") (source (origin (method git-fetch) @@ -1292,8 +1292,7 @@ (define-public zimg (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "05krggiifbl6hyg2j3z8qz2k7si84g1qg9snhsnf1ml7mrhqhhlr")))) + (base32 "0jlgrlfs9maixd8mx7gk2kfawz8ixnihkxi7vhyzfy1gq49vmxm2")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/installers.scm b/gnu/packages/installers.scm index c987254d61..9229359fdf 100644 --- a/gnu/packages/installers.scm +++ b/gnu/packages/installers.scm @@ -28,7 +28,10 @@ (define-module (gnu packages installers) #:use-module (guix utils)) (define (make-nsis machine target-arch nsis-target-type) - (let ((triplet (string-append machine "-" "w64-mingw32"))) + (let* ((triplet (string-append machine "-" "w64-mingw32")) + (xbinutils (cross-binutils triplet)) + (xlibc (cross-libc triplet)) + (xgcc (cross-gcc triplet #:libc xlibc))) (package (name (string-append "nsis-" machine)) (version "3.04") @@ -41,13 +44,14 @@ (define (make-nsis machine target-arch nsis-target-type) "1xgllk2mk36ll2509hd31mfq6blgncmdzmwxj3ymrwshdh23d5b0")) (patches (search-patches "nsis-env-passthru.patch")))) (build-system scons-build-system) - (native-inputs `(("xgcc" ,(cross-gcc triplet #:libc (cross-libc triplet))) - ("xbinutils" ,(cross-binutils triplet)) - ("mingw-w64" ,(cross-libc triplet)))) + (native-inputs `(("xgcc" ,xgcc) + ("xbinutils" ,xbinutils) + ("mingw-w64" ,xlibc))) (inputs `(("zlib" ,zlib))) (arguments `(#:scons ,scons-python2 #:modules ((srfi srfi-1) + (srfi srfi-26) (guix build utils) (guix build scons-build-system)) #:tests? #f @@ -92,7 +96,20 @@ (define (mingw-path? path) ;; CROSS_-prefixed version of env vars (setenv (string-append "CROSS_" env-name) (filter-delimited-string env-val mingw-path?)))) - '("CPLUS_INCLUDE_PATH" "LIBRARY_PATH" "C_INCLUDE_PATH")))) + '("CPATH" "LIBRARY_PATH")) + ;; Hack to place mingw-w64 path at the end of search + ;; paths. Could probably use a specfile and dirafter + (setenv "CROSS_CPLUS_INCLUDE_PATH" + (string-join + `(,@(map (cut string-append (assoc-ref %build-inputs "xgcc") <>) + `("/include/c++" + ,(string-append "/include/c++/" ,triplet) + "/include/c++/backward" + ,@(map (cut string-append "/lib/gcc/" ,triplet "/" ,(package-version xgcc) <>) + '("/include" + "/include-fixed")))) + ,(getenv "CROSS_CPATH")) + ":")))) (add-before 'build 'fix-target-detection (lambda _ ;; NSIS target detection is screwed up, manually diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index e3418c1fec..4a2e33d8fc 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -327,14 +327,13 @@ (define-public sic (define-public limnoria (package (name "limnoria") - (version "2017.10.01") + (version "2019.11.09") (source (origin (method url-fetch) (uri (pypi-uri "limnoria" version)) (sha256 - (base32 - "1hd8h257x7a0s4rvb4aqvfi77qfcyv6jaz70nndg7y6p4yhvjmy6")))) + (base32 "1ni25jmri0928jj2c24xw5f2fzljjla54zh80fimks1aa5752j29")))) (build-system python-build-system) (inputs `(("python-pytz" ,python-pytz) diff --git a/gnu/packages/java-maths.scm b/gnu/packages/java-maths.scm index 6c22f2938d..748ae67b58 100644 --- a/gnu/packages/java-maths.scm +++ b/gnu/packages/java-maths.scm @@ -39,6 +39,7 @@ (define-public java-jblas (uri (git-reference (url "https://github.com/mikiobraun/jblas.git") (commit (string-append "jblas-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "0afh48hq8i8li5z11x415c8slwsfrlib0w1xjfbg186mximqvv3g")))) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 15e814441f..955625b0c5 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -3,13 +3,13 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Roel Janssen ;;; Copyright © 2017, 2019 Carlo Zancanaro -;;; Copyright © 2017, 2018 Julien Lepiller +;;; Copyright © 2017, 2018, 2019 Julien Lepiller ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2016, 2017, 2018 Alex Vong ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Gábor Boskovits ;;; Copyright © 2018 Chris Marusich -;;; Copyright © 2018 Efraim Flashner +;;; Copyright © 2018, 2019 Efraim Flashner ;;; Copyright © 2019 Björn Höfling ;;; ;;; This file is part of GNU Guix. @@ -2321,6 +2321,114 @@ (define-public ant-junit `(("java-junit" ,java-junit) ,@(package-inputs ant/java8))))) +(define-public java-openjfx-build + (package + (name "java-openjfx-build") + ;; This is a java-8 version + (version "8.202") + (source (origin + (method hg-fetch) + (uri (hg-reference + (url "http://hg.openjdk.java.net/openjfx/8u-dev/rt") + (changeset (string-append + (string-join (string-split version #\.) "u") + "-ga")))) + (file-name (string-append name "-" version "-checkout")) + (sha256 + (base32 + "0yg38mwpivswccv9n96k06x3iv82i4px1a9xg9l8dswzwmfj259f")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-openjfx.jar" + #:source-dir "buildSrc/src/main/java" + #:test-dir "buildSrc/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'configure 'generate-jsl-parser + (lambda _ + (invoke "antlr3" "-o" + "buildSrc/src/main/java/com/sun/scenario/effect/compiler" + "buildSrc/src/main/antlr/JSL.g")))))) + (inputs + `(("antlr3" ,antlr3) + ("java-stringtemplate" ,java-stringtemplate))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core))) + (home-page "https://openjfx.io") + (synopsis "Graphical application toolkit in Java") + (description "OpenJFX is a client application platform for desktop, +mobile and embedded systems built on Java. Its goal is to produce a +modern, efficient, and fully featured toolkit for developing rich client +applications. This package contains base classes for the OpenJFX +distribution and helper classes for building other parts of the +distribution.") + (license license:gpl2))) ;gpl2 only, with classpath exception + +(define-public java-openjfx-base + (package (inherit java-openjfx-build) + (name "java-openjfx-base") + (arguments + `(#:jar-name "java-openjfx-base.jar" + #:source-dir "modules/base/src/main/java:modules/base/src/main/java8:modules/base/src/main/version-info" + #:test-dir "modules/base/src/test" + #:phases + (modify-phases %standard-phases + (add-before 'check 'remove-empty-file + (lambda _ + (with-directory-excursion "modules/base/src/test/java" + ;; These files are completely commented, but junit expects them to + ;; contain a class, so tests fail. + (delete-file + "com/sun/javafx/property/adapter/PropertyDescriptorTest.java") + (delete-file + "com/sun/javafx/property/adapter/ReadOnlyPropertyDescriptorTest.java") + (delete-file "javafx/beans/property/PropertiesTest.java") + (delete-file + "javafx/beans/property/adapter/ReadOnlyJavaBeanPropertyBuilder_General_Test.java") + ;; This one fails + (delete-file "com/sun/javafx/runtime/VersionInfoTest.java")) + #t))))) + (propagated-inputs + `(("java-openjfx-build" ,java-openjfx-build))) + (description "OpenJFX is a client application platform for desktop, +mobile and embedded systems built on Java. Its goal is to produce a +modern, efficient, and fully featured toolkit for developing rich client +applications. This package contains base classes for the OpenJFX +distribution."))) + +(define-public java-openjfx-graphics + (package (inherit java-openjfx-build) + (name "java-openjfx-graphics") + (arguments + `(#:jar-name "java-openjfx-graphics.jar" + #:source-dir "modules/graphics/src/main/java" + #:tests? #f; require X + #:test-dir "modules/graphics/src/test")) + (propagated-inputs + `(("java-openjfx-base" ,java-openjfx-base) + ("java-swt" ,java-swt))) + (description "OpenJFX is a client application platform for desktop, +mobile and embedded systems built on Java. Its goal is to produce a +modern, efficient, and fully featured toolkit for developing rich client +applications. This package contains graphics-related classes for the +OpenJFX distribution."))) + +(define-public java-openjfx-media + (package (inherit java-openjfx-build) + (name "java-openjfx-media") + (propagated-inputs + `(("java-openjxf-graphics" ,java-openjfx-graphics))) + (arguments + `(#:jar-name "java-openjfx-media.jar" + #:source-dir "modules/media/src/main/java" + #:tests? #f)); no tests + (description "OpenJFX is a client application platform for desktop, +mobile and embedded systems built on Java. Its goal is to produce a +modern, efficient, and fully featured toolkit for developing rich client +applications. This package contains media-related classes for the +OpenJFX distribution."))) + (define-public javacc-4 (package (name "javacc") @@ -2395,7 +2503,27 @@ (define-public javacc #:test-target "test" #:phases (modify-phases %standard-phases - (replace 'install (install-jars "target"))))) + (replace 'install (install-jars "target")) + (add-after 'install 'install-bin + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out "/share/java")) + (bin (string-append out "/bin")) + (javacc (string-append bin "/javacc"))) + (mkdir-p bin) + (with-output-to-file javacc + (lambda _ + (display + (string-append "#!/bin/sh\n" + (assoc-ref inputs "jdk") "/bin/java" + " -cp " dir "/javacc.jar" " `basename $0`" " $*")))) + (chmod javacc #o755) + ;; symlink to different names to affect the first argument and + ;; change the behavior of the jar file. + (symlink javacc (string-append bin "/jjdoc")) + (symlink javacc (string-append bin "/jjtree")) + #t)))))) + (native-inputs `(("javacc" ,javacc-4))))) @@ -5040,6 +5168,115 @@ (define-public java-commons-jxpath contexts, DOM etc, including mixtures thereof.") (license license:asl2.0))) +(define-public java-commons-pool + (package + (name "java-commons-pool") + (version "2.6.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/pool/source/" + "commons-pool2-" version "-src.tar.gz")) + (sha256 + (base32 + "1fi1hgqmq01bs6azbj3sfswxzadp2r8sjjfiq6ryilz1m50kvrv6")))) + (arguments + `(#:jar-name "common-pool.jar" + #:source-dir "src/main/java" + #:test-exclude + (list "**/PerformanceTest.java"))) + (build-system ant-build-system) + (inputs + `(("java-cglib" ,java-cglib))) + (native-inputs + `(("java-junit" ,java-junit) + ("java-hamcrest-core" ,java-hamcrest-core) + ("java-asm" ,java-asm) + ("java-objenesis" ,java-objenesis))) + (home-page "https://commons.apache.org/proper/commons-pool/") + (synopsis "Object-pooling API in Java") + (description "The commons-pool package provides an object-pooling API +and a number of object pool implementations. This package defines a +handful of pooling interfaces and some base classes that may be useful when +creating new pool implementations.") + (license license:asl2.0))) + +(define-public java-commons-dbcp + (package + (name "java-commons-dbcp") + (version "2.6.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/dbcp/source/" + "commons-dbcp2-" version "-src.tar.gz")) + (sha256 + (base32 + "0axbvcbnf2l70fc3ybrlp3siw2w4ka9mia2pnx4py8gz54cpw3rc")))) + (arguments + `(#:source-dir "src/main/java" + #:jar-name "java-commons-dbcp.jar" + #:tests? #f)); requires apache-geronimo + (inputs + `(("java-commons-pool" ,java-commons-pool) + ("java-commons-logging" ,java-commons-logging-minimal) + ("java-jboss-transaction-api-spec" ,java-jboss-transaction-api-spec))) + (native-inputs + `(("java-junit" ,java-junit))) + (build-system ant-build-system) + (home-page "https://commons.apache.org/proper/commons-dbcp/") + (synopsis "Database Connection Pool for Java") + (description "Commons-dbcp allows you to share a pool of database +connections between users. Creating a new connection for each user can be +time consuming and even unfeasible when the number of simultaneous users is +very large. This package provides a way to share a poole of connections to +reduce that load.") + (license license:asl2.0))) + +(define-public java-commons-jcs + (package + (name "java-commons-jcs") + (version "2.2.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://apache/commons/jcs/source/" + "commons-jcs-dist-" version "-src.tar.gz")) + (sha256 + (base32 + "0syhq2npjbrl0azqfjm0gvash1qd5qjy4qmysxcrqjsk0nf9fa1q")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "commons-jcs.jar" + #:source-dir "commons-jcs-core/src/main/java" + #:test-dir "commons-jcs-core/src/test" + #:tests? #f; requires hsqldb + #:phases + (modify-phases %standard-phases + (add-before 'build 'prepare + (lambda _ + (with-directory-excursion + "commons-jcs-core/src/main/java/org/apache/commons/jcs" + (substitute* + "auxiliary/disk/jdbc/dsfactory/SharedPoolDataSourceFactory.java" + (("commons.dbcp") "commons.dbcp2") + ((".*\\.setMaxActive.*") "")) + ;;; Remove dependency on velocity-tools + (delete-file "admin/servlet/JCSAdminServlet.java")) + #t))))) + (propagated-inputs + `(("java-classpathx-servletapi" ,java-classpathx-servletapi) + ("java-commons-logging-minimal" ,java-commons-logging-minimal) + ("java-commons-httpclient" ,java-commons-httpclient) + ("java-commons-dbcp" ,java-commons-dbcp))) + (native-inputs + `(("java-junit" ,java-junit))) + (home-page "https://commons.apache.org/proper/commons-jcs/") + (synopsis "Distributed caching system in Java") + (description "JCS is a distributed caching system written in Java. It +is intended to speed up applications by providing a means to manage cached +data of various dynamic natures. Like any caching system, JCS is most useful +for high read, low put applications. Latency times drop sharply and +bottlenecks move away from the database in an effectively cached system.") + (license license:asl2.0))) + (define-public java-jsr250 (package (name "java-jsr250") @@ -6801,14 +7038,16 @@ (define-public antlr3 (add-before 'build 'fix-build-xml (lambda _ (substitute* "build.xml" - ((" + (("target name=\"compile\">") + "target name=\"compile\"> + -")) #t))))) (native-inputs `(("antlr" ,antlr2) @@ -6914,14 +7153,16 @@ (define antlr3-3.3 (add-before 'build 'fix-build-xml (lambda _ (substitute* "build.xml" - ((" + (("target name=\"compile\">") + "target name=\"compile\"> + -")) #t))))) (native-inputs `(("antlr" ,antlr2) @@ -6933,7 +7174,7 @@ (define antlr3-3.3 ("antlr" ,antlr2) ("antlr3" ,antlr3-3.1))))) -(define antlr3-3.1 +(define-public antlr3-3.1 (package (inherit antlr3) (version "3.1") @@ -6991,14 +7232,16 @@ (define antlr3-3.1 (add-before 'build 'fix-build-xml (lambda _ (substitute* "build.xml" - ((" + (("target name=\"compile\">") + "target name=\"compile\"> + -")) #t))))) (native-inputs `(("antlr" ,antlr2))) @@ -10878,14 +11121,16 @@ (define-public java-eclipse-sisu-inject (define-public java-eclipse-sisu-plexus (package (name "java-eclipse-sisu-plexus") - (version "0.3.3") + (version "0.3.4") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/eclipse/sisu.plexus/" - "archive/releases/" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/eclipse/sisu.plexus.git") + (commit (string-append "releases/" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0lbj7nxy5j0z71k407zbb82icfqh7midrfk0fb3fa3jzdjz0d9d9")) + "17mjlajnsqnk07cc58h1qpxrif85yb2m2y0pyba48yjjgikk8r9f")) (modules '((guix build utils))) (snippet '(begin @@ -11281,3 +11526,206 @@ (define-public abcl license:bsd-3 ;; jfli is released under CPL 1.0 license:cpl1.0)))) + +(define-public java-jsonp-api + (package + (name "java-jsonp-api") + (version "1.1.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/eclipse-ee4j/jsonp") + (commit (string-append version "-RELEASE")))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nxq16lrx7i87hgyj5rzcwilvr67h0i299gygfn8f5vs4n7n59vy")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "jsonp-api.jar" + #:tests? #f + #:source-dir "api/src/main/java" + #:test-dir "api/src/test")) + (home-page "https://eclipse-ee4j.github.io/jsonp/") + (synopsis "JSON Processing in Java") + (description "JSON Processing (JSON-P) is a Java API to process (e.g. +parse, generate, transform and query) JSON messages. It produces and +consumes JSON text in a streaming fashion (similar to StAX API for XML) +and allows to build a Java object model for JSON text using API classes +(similar to DOM API for XML).") + ;; either gpl2 only with classpath exception, or epl2.0. + (license (list license:gpl2 + license:epl2.0)))) + +(define-public java-jsonp-impl + (package + (inherit java-jsonp-api) + (name "java-jsonp-impl") + (arguments + `(#:jar-name "jsonp-impl.jar" + #:tests? #f + #:source-dir "impl/src/main/java" + #:test-dir "impl/src/test")) + (propagated-inputs + `(("java-jsonp-api" ,java-jsonp-api))) + (description "JSON Processing (JSON-P) is a Java API to process (e.g. +parse, generate, transform and query) JSON messages. This package contains +a reference implementation of that API."))) + +(define-public java-xmp + (package + (name "java-xmp") + (version "5.1.3") + (source (origin + (method url-fetch) + (uri (string-append "http://download.macromedia.com/pub/developer" + "/xmp/sdk/XMPCoreJava-" version ".zip")) + (sha256 + (base32 + "14nai2mmsg7l5ya2y5mx4w4lr1az3sk2fjz6hiy4zdrsavgvl1g7")))) + (build-system ant-build-system) + (arguments + `(#:build-target "build" + #:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "XMPCore") + #t)) + (add-before 'build 'fix-timestamp + (lambda _ + (substitute* "build.xml" + (("\\$\\{BuildDate\\}") "1970 Jan 01 00:00:00-GMT")) + #t)) + (replace 'install + (install-jars ".")) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (copy-recursively + "docs" + (string-append (assoc-ref outputs "out") "/share/doc/java-xmp")) + #t))))) + (native-inputs + `(("unzip" ,unzip))) + (home-page "https://www.adobe.com/devnet/xmp.html") + (synopsis "Extensible Metadat Platform (XMP) support in Java") + (description "Adobe's Extensible Metadata Platform (XMP) is a labeling +technology that allows you to embed data about a file, known as metadata, +into the file itself. The XMP Toolkit for Java is based on the C++ XMPCore +library and the API is similar.") + (license license:bsd-3))) + +(define-public java-metadata-extractor + (package + (name "java-metadata-extractor") + (version "2.11.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/drewnoakes/metadata-extractor") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06yrq0swrl1r40yjbk5kqzjxr04jlkq9lfi711jvfgjf5kp2qinj")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "metadata-extractor.jar" + #:source-dir "Source" + #:test-dir "Tests" + #:phases + (modify-phases %standard-phases + (add-before 'check 'fix-test-dir + (lambda _ + (substitute* "build.xml" + (("/java\">") "\">")) + #t))))) + (propagated-inputs + `(("java-xmp" ,java-xmp))) + (native-inputs + `(("java-hamcrest-core" ,java-hamcrest-core) + ("java-junit" ,java-junit))) + (home-page "https://github.com/drewnoakes/metadata-extractor") + (synopsis "Extract metadata from image and video files") + (description "Metadata-extractor is a straightforward Java library for +reading metadata from image files. It is able to read metadata in Exif, +IPTC, XMP, ICC and more formats.") + (license license:asl2.0))) + +(define-public java-svg-salamander + (package + (name "java-svg-salamander") + (version "1.1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/blackears/svgSalamander") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1zv3kjdkf6iqf02x6ln76254y634j2ji448y706a65lsbfjmmicf")) + (modules '((guix build utils))) + (snippet + `(for-each delete-file (find-files "." ".*.jar"))) + (patches + (search-patches "java-svg-salamander-Fix-non-det.patch")))) + (build-system ant-build-system) + (arguments + `(#:tests? #f; no tests + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "svg-core") + #t)) + (add-before 'build 'copy-jars + (lambda* (#:key inputs #:allow-other-keys) + (copy-file (car (find-files (assoc-ref inputs "javacc") "\\.jar$")) + "../libraries/javacc.jar") + (copy-file (car (find-files (assoc-ref inputs "ant") "ant\\.jar$")) + "../libraries/ant.jar") + #t)) + (replace 'install + (install-jars "dist"))))) + (native-inputs + `(("javacc" ,javacc))) + (home-page "https://github.com/blackears/svgSalamander") + (synopsis "SVG engine for Java") + (description "SVG Salamander is an SVG engine for Java that's designed +to be small, fast, and allow programmers to use it with a minimum of fuss. +It's in particular targeted for making it easy to integrate SVG into Java +games and making it much easier for artists to design 2D game content - from +rich interactive menus to charts and graphcs to complex animations.") + (license license:bsd-2))) + +(define-public java-jboss-transaction-api-spec + (package + (name "java-jboss-transaction-api-spec") + (version "1.2+1.1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jboss/jboss-transaction-api_spec") + (commit "jboss-transaction-api_1.2_spec-1.1.1.Final"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xbfq5hvb86izflydxrqqv3k26c1ba2m0ap6m97shqrsdi9by4wy")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "java-jboss-transaction-api_spec.jar" + #:source-dir "src/main/java" + #:tests? #f)); no tests + (inputs + `(("java-cdi-api" ,java-cdi-api) + ("java-jboss-interceptors-api-spec" ,java-jboss-interceptors-api-spec))) + (home-page "https://github.com/jboss/jboss-transaction-api_spec") + (synopsis "Generic transaction management API in Java") + (description "Java-jboss-transaction-api-spec implements the Transactions +API. A transaction is a unit of work containing one or more operations +involving one or more shared resources having ACID (Atomicity, Consistency, +Isolation and Durability) properties.") + ;; either gpl2 only with classpath exception or cddl. + (license (list license:gpl2 license:cddl1.0)))) diff --git a/gnu/packages/jrnl.scm b/gnu/packages/jrnl.scm index 6393ea9105..e5e2a4ba4f 100644 --- a/gnu/packages/jrnl.scm +++ b/gnu/packages/jrnl.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,7 @@ (define-module (gnu packages jrnl) #:use-module (guix packages) #:use-module (guix licenses) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system python) #:use-module (gnu packages check) #:use-module (gnu packages python) @@ -35,13 +36,13 @@ (define-public jrnl (version "1.9.7") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/maebert/jrnl/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0mfq7hhw5np2dj9jlxpyyk2cg9i0xgz2brb894d928hczszy97bq")))) + (method git-fetch) + (uri (git-reference + (url "https://github.com/maebert/jrnl.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1bjjyfc3fnsy0h299s3jj42wnigj43xdyp5ppi1cvkqbwl369935")))) (build-system python-build-system) (native-inputs `(("behave" ,behave))) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 9755f66aca..79eb20cb59 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2019 Nicolas Goaziou ;;; Copyright © 2018, 2019 Hartmut Goebel +;;; Copyright © 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -626,3 +627,45 @@ (define-public kqtquickcharts "Kqtquickcharts is a QtQuick plugin to render beautiful and interactive charts.") (license license:lgpl2.1+))) + +(define-public kcachegrind + (package + (name "kcachegrind") + (version "19.04.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://kde/stable/applications/" version + "/src/kcachegrind-" version ".tar.xz")) + (sha256 + (base32 + "1hhsk64yp6q2xh8j269j4wp9y24ggmii861r6gf02mj1mbn2p1jb")))) + (build-system cmake-build-system) + (native-inputs + `(("extra-cmake-modules" ,extra-cmake-modules) + ("perl" ,perl) + ("python" ,python) + ("qttools" ,qttools) + ("kdoctools" ,kdoctools))) + (inputs + `(("qtbase" ,qtbase) + ("karchive" ,karchive) + ("ki18n" ,ki18n) + ("kio" ,kio) + ("kdbusaddons" ,kdbusaddons))) + ;; Note: The 'hotshot2calltree' and 'pprof2calltree' scripts depend on + ;; Python and PHP, respectively. These are optional and we ignore them + ;; for now. + (home-page "https://kcachegrind.github.io/html/Home.html") + (synopsis "Visualize profiles produces by Valgrind's Cachegrind tool") + (description + "The data files generated by the Callgrind of Valgrind, an application +profiler, can be loaded into KCachegrind for browsing the performance results. +There is also a command-line tool to get ASCII reports from data files without +the need to use KCachegrind. + +The format of Callgrind output is documented. With conversion scripts, +KCachegrind is able to visualize output of other profilers like OProfile, a +system-wide profiler for Linux using statistical sampling with hardware +performance counters. There also exist converters for profiling output of +Python, PHP, and Perl.") + (license license:gpl2))) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 6d83d633f9..4476e5a4ad 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -929,7 +929,7 @@ (define-public libqxp (define-public libreoffice (package (name "libreoffice") - (version "6.2.8.2") + (version "6.3.3.2") (source (origin (method url-fetch) @@ -939,7 +939,7 @@ (define-public libreoffice (version-prefix version 3) "/libreoffice-" version ".tar.xz")) (sha256 (base32 - "1npxyj0hklls3jnaxx9kj3r6bgydgrbz6nacy05n0zhq8i6zb5ir")) + "1kz5950vhjc33rx7pyl5sw9lxxm90hxrj7v8y86jy34skjrfa3nl")) (patches (search-patches "libreoffice-icu.patch" "libreoffice-glm.patch")) (modules '((guix build utils))) @@ -969,6 +969,8 @@ (define-public libreoffice ("gconf" ,gconf) ("glew" ,glew) ("glm" ,glm) + ("gnupg" ,gnupg) + ("gobject-introspection" ,gobject-introspection) ("gperf" ,gperf) ("gpgme" ,gpgme) ("graphite2" ,graphite2) @@ -1112,7 +1114,6 @@ (define (install-appdata app) #:configure-flags (list "--enable-release-build" - "--enable-verbose" ;; Avoid using all cpu cores by default (format #f "--with-parallelism=~d" (parallel-job-count)) "--disable-fetch-external" ; disable downloads diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0344f5b37c..242918caad 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -100,6 +100,7 @@ (define-module (gnu packages linux) #:use-module (gnu packages popt) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages rrdtool) #:use-module (gnu packages samba) @@ -351,42 +352,42 @@ (define (%upstream-linux-source version hash) "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.3-version "5.3.8") +(define-public linux-libre-5.3-version "5.3.11") (define-public linux-libre-5.3-pristine-source (let ((version linux-libre-5.3-version) - (hash (base32 "0jb6yya9yx4z52p5m32dqj0kgc6aaz9df8mvq0hzy40bqb3czwvq"))) + (hash (base32 "1dxfh0l4inpjd17pyxfsskjsphs43r8lg6nhhr3y4whxdna5cwbf"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.3))) -(define-public linux-libre-4.19-version "4.19.81") +(define-public linux-libre-4.19-version "4.19.84") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "17g2wiaa7l7mxi72k79drxij2zqk3nsj8wi17bl4nfvb1ypc2gi9"))) + (hash (base32 "0q06mhz170x1lkx6c6qdh82rcnsj03q6f2m28aqhmc4wc694m2w6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.151") +(define-public linux-libre-4.14-version "4.14.154") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "1bizb1wwni5r4m5i0mrsqbc5qw73lwrfrdadm09vbfz9ir19qlgz"))) + (hash (base32 "00q662s8mgnzqfgk5gkzqfv9ws3vryf28blbq1zxcy4s6wj4mpl6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.198") +(define-public linux-libre-4.9-version "4.9.201") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "1b05jra6q695s1d4rzdr39i6m8xsi5xjrdn73sgwzvx0dgxfnwlm"))) + (hash (base32 "125xmh5h1zmfniidpjljny53qkl4phpxaali69i66lajscxx8grq"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.198") +(define-public linux-libre-4.4-version "4.4.201") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "04pkryy1lc75c88vq5wcjjcxs43i7bb8hhplbfi6s204ipc0iy7c"))) + (hash (base32 "120kci4kmc48zcw16lhxmh71kaxm9ac5qxik36q3a20czg28b2m7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -1061,14 +1062,14 @@ (define-public linux-pam-1.2 (define-public psmisc (package (name "psmisc") - (version "23.2") + (version "23.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/psmisc/psmisc/psmisc-" version ".tar.xz")) (sha256 - (base32 "103qp3f8jvz07x8r8zgsqwyw84g5g92w6pdq97d78d1pr7yvyz2b")))) + (base32 "16i7qzjmm6g0lzha8yzpfrlcxnvkgh95hkq9gdjd4zmzb8d0wxa1")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (home-page "https://gitlab.com/psmisc/psmisc") @@ -4306,7 +4307,7 @@ (define-public ntfs-3g (define-public rdma-core (package (name "rdma-core") - (version "22.3") + (version "26.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/linux-rdma/rdma-core" @@ -4314,15 +4315,27 @@ (define-public rdma-core version ".tar.gz")) (sha256 (base32 - "0jgp1xh328x0kr6lkn4vq71cc627zd05wczr74b3j3151flhj828")))) + "14raqwx4pkzghiwkx1v0dq338f7xqqx8rnsxlpdnngvjy1p5l79j")))) (build-system cmake-build-system) (arguments - '(#:tests? #f ; no tests + `(#:tests? #f ; no tests ;; Upstream uses the "ninja" build system and encourage distros ;; to do the same for consistency. They also recommend using the ;; "Release" build type. #:build-type "Release" - #:configure-flags (list "-GNinja") + #:configure-flags (list "-GNinja" + + (string-append "-DRST2MAN_EXECUTABLE=" + (assoc-ref %build-inputs + "python-docutils") + "/bin/rst2man.py") + + ;; On some configurations, the + ;; IB_USER_MAD_REGISTER_AGENT ioctl, which is + ;; used by default, would return ENODEV. To + ;; avoid that, use 'write' instead of ioctls, + ;; as suggested in 'CMakeList.txt'. + "-DIOCTL_MODE=write") #:phases (modify-phases %standard-phases (replace 'build @@ -4335,7 +4348,8 @@ (define-public rdma-core (native-inputs `(("ninja" ,ninja) ("pkg-config" ,pkg-config) - ("python" ,python-wrapper))) + ("python" ,python-wrapper) + ("python-docutils" ,python-docutils))) ;for 'rst2man' (inputs `(("libnl" ,libnl) ("udev" ,eudev))) @@ -4414,7 +4428,7 @@ (define-public rng-tools (package (name "rng-tools") (home-page "https://github.com/nhorman/rng-tools") - (version "6.7") + (version "6.8") (source (origin (method git-fetch) (uri (git-reference (url home-page) @@ -4422,7 +4436,7 @@ (define-public rng-tools (file-name (git-file-name name version)) (sha256 (base32 - "19f75m6mzg8h7b4snzg7d6ypvkz6nq32lrpi9ja95gqz4wsd18a5")))) + "1clm9i9xg3j79q0d6vinn6dx0nwh1fvzcmkqpcbay7mwsgkknvw2")))) (build-system gnu-build-system) (arguments `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB. @@ -4960,16 +4974,16 @@ (define-public sysstat (define-public light (package (name "light") - (version "1.2") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/haikarainen/light/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "1gfvsw7gh5pis733l7j54vzp272pvjyzbg8a0pvapfmg0s7mip97")) - (file-name (string-append name "-" version ".tar.gz")))) + (version "1.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/haikarainen/light.git") + (commit (string-append "v" version)))) + (sha256 + (base32 "0zrjipd392bzjvxx0rjrb0cgi0ix1d83fwgw1mcy8kc4d16cgyjg")) + (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -5523,6 +5537,7 @@ (define-public psm "psm-ldflags.patch" ; build shared lib with LDFLAGS "psm-repro.patch")))) ; reproducibility (build-system gnu-build-system) + (outputs '("out" "debug")) (inputs `(("libuuid" ,util-linux))) (arguments '(#:make-flags `("PSM_USE_SYS_UUID=1" "CC=gcc" "WERROR=" diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 9a42d4fe07..33fb53d65e 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -201,10 +201,12 @@ (define* (clang-from-llvm llvm clang-runtime hash 'unpack 'set-glibc-file-names (lambda* (#:key inputs #:allow-other-keys) (let ((libc (assoc-ref inputs "libc")) - (compiler-rt (assoc-ref inputs "clang-runtime"))) - (case (string->number ,(version-major - (package-version clang-runtime))) - ((or 6 7) + (compiler-rt (assoc-ref inputs "clang-runtime")) + (version + (string->number + ,(version-major (package-version clang-runtime))))) + (cond + ((> version 3) ;; Link to libclang_rt files from clang-runtime. (substitute* "lib/Driver/ToolChain.cpp" (("getDriver\\(\\)\\.ResourceDir") @@ -220,7 +222,7 @@ (define* (clang-from-llvm llvm clang-runtime hash ;; allow crt1.o & co. to be found. (("@GLIBC_LIBDIR@") (string-append libc "/lib")))) - ((3) + (else (substitute* "lib/Driver/Tools.cpp" ;; Patch the 'getLinuxDynamicLinker' function so that ;; it uses the right dynamic linker file name. @@ -321,6 +323,7 @@ (define-public libclc (uri (git-reference (url "https://github.com/llvm/llvm-project.git") (commit (string-append "llvmorg-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa")))) diff --git a/gnu/packages/logging.scm b/gnu/packages/logging.scm index 1481f5b5ee..d75c44aea6 100644 --- a/gnu/packages/logging.scm +++ b/gnu/packages/logging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2017 Stefan Reichör ;;; Copyright © 2017 Eric Bavier -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Gábor Boskovits ;;; Copyright © 2019 Meiyo Peng ;;; @@ -142,15 +142,14 @@ (define-public tailon (define-public multitail (package (name "multitail") - (version "6.4.2") + (version "6.5.0") (source (origin (method url-fetch) (uri (string-append "https://vanheusden.com/multitail/multitail-" version ".tgz")) (sha256 - (base32 - "1zd1r89xkxngl1pdrvsc877838nwkfqkbcgfqm3vglwalxc587dg")))) + (base32 "1vd9vdxyxsccl64ilx542ya5vlw2bpg6gnkq1x8cfqy6vxvmx7dj")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -187,6 +186,7 @@ (define-public spdlog (uri (git-reference (url "https://github.com/gabime/spdlog.git") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "1rd4zmrlkcdjx0m0wpmjm1g9srj7jak6ai08qkhbn2lsn0niifzd")))) diff --git a/gnu/packages/lolcode.scm b/gnu/packages/lolcode.scm index e55a36c509..84ae83dcc8 100644 --- a/gnu/packages/lolcode.scm +++ b/gnu/packages/lolcode.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 ng0 +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,7 +22,7 @@ (define-module (gnu packages lolcode) #:use-module (gnu packages python) #:use-module (gnu packages readline) #:use-module (guix build-system cmake) - #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages)) @@ -29,19 +30,20 @@ (define-public lci (package (name "lci") (version "0.11.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/justinmeza/lci/archive/v" - version ".tar.gz")) - (sha256 - (base32 - "1li7ikcrs7wqah7gqkirg0k61n6pm12w7pydin966x1sdn9na46b")) - (file-name (string-append name "-" version ".tar.gz")))) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/justinmeza/lci.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0syw60b93iajgh91ffchirwwhm2kix2753ibx845kyrhzggmdh2l")))) (build-system cmake-build-system) (inputs `(("readline" ,readline))) (native-inputs - `(("python-2" ,python-2))) ; for the tests + `(("python-2" ,python-2))) ; for the tests (synopsis "LOLCODE interpreter written in C") (description "@code{lci} is a LOLCODE interpreter written in C and is designed to be diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm index 8d5d3522ec..6b9ab051b4 100644 --- a/gnu/packages/lxqt.scm +++ b/gnu/packages/lxqt.scm @@ -158,7 +158,7 @@ (define-public lxqt-build-tools (define-public libqtxdg (package (name "libqtxdg") - (version "3.3.1") + (version "3.4.0") (source (origin (method url-fetch) @@ -166,7 +166,7 @@ (define-public libqtxdg "https://github.com/lxqt/libqtxdg/releases/download/" version "/libqtxdg-" version ".tar.xz")) (sha256 - (base32 "1mnnq8vbf5xjlrzajzfkay0yzzxri0zz0xi8x8rmxpw38xmglq8h")))) + (base32 "0vmn59653dmy79mnbnibhdq9jmh11091zkfx0y0qh58rj2xvpdbv")))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -181,10 +181,12 @@ (define-public libqtxdg #t))))) (propagated-inputs ;; required by Qt5XdgIconLoader.pc - `(("qtbase" ,qtbase) + `(("glib" ,glib) + ("qtbase" ,qtbase) ("qtsvg" ,qtsvg))) (native-inputs - `(("lxqt-build-tools" ,lxqt-build-tools))) + `(("lxqt-build-tools" ,lxqt-build-tools) + ("pkg-config" ,pkg-config))) (home-page "https://github.com/lxqt/libqtxdg") (synopsis "Qt implementation of freedesktop.org xdg specifications") (description "Libqtxdg implements the freedesktop.org xdg specifications @@ -415,14 +417,15 @@ (define-public lxqt-config (define-public lxqt-globalkeys (package (name "lxqt-globalkeys") - (version "0.14.1") + (version "0.14.3") (source (origin (method url-fetch) - (uri (string-append "https://github.com/lxqt/" name "/releases/download/" - version "/" name "-" version ".tar.xz")) + (uri (string-append "https://github.com/lxqt/lxqt-globalkeys/" + "releases/download/" version "/" + "lxqt-globalkeys-" version ".tar.xz")) (sha256 - (base32 "0m6svwy20bfy9d21g5l0qzjndph3rd8zqagmqgdjzjhh3lxwrsrk")))) + (base32 "0mgl05qxvq4pdqvcw34i2cbyy87x605wy3np62mrbbb1kdfjrfg6")))) (build-system cmake-build-system) (inputs `(("kwindowsystem" ,kwindowsystem) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f753e3756f..80f7c91f06 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2018 Alex Vong ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2018, 2019 Ricardo Wurmus +;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. ;;; @@ -399,101 +400,98 @@ (define-public mutt (license gpl2+))) (define-public neomutt - (let ((tag "2019-10-25")) - (package - (name "neomutt") - ;; Upstream now uses YYYY-MM-DD instead of YYYYMMDD, but we're forever - ;; wed to the latter through ‘guix upgrade’. - (version (apply string-append (string-split tag #\-))) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/neomutt/neomutt.git") - (commit tag))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0hy6rxgm3acjqxpf4ss7391kps4g06fbjhbpgv1jdrj1y9kv0rm1")))) - (build-system gnu-build-system) - (inputs - `(("cyrus-sasl" ,cyrus-sasl) - ("gdbm" ,gdbm) - ("gpgme" ,gpgme) - ("ncurses" ,ncurses) - ("gnutls" ,gnutls) - ("openssl" ,openssl) ; for S/MIME - ("perl" ,perl) - ("kyotocabinet" ,kyotocabinet) - ("libxslt" ,libxslt) - ("libidn2" ,libidn2) - ("libxml2" ,libxml2) - ("lmdb" ,lmdb) - ("notmuch" ,notmuch))) - (native-inputs - `(("automake" ,automake) - ("gettext-minimal" ,gettext-minimal) - ("pkg-config" ,pkg-config) - ("docbook-xsl" ,docbook-xsl) - ("docbook-xml" ,docbook-xml-4.2) - ("w3m" ,w3m) - ("tcl" ,tcl))) - (arguments - `(#:test-target "test" - #:configure-flags - (list "--gpgme" + (package + (name "neomutt") + (version "20191102") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/neomutt/neomutt.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0x5f9zbvxsxg5y2ir4xq4xw1q2snaxkidhdyhcxw5ljw3qqwhlyq")))) + (build-system gnu-build-system) + (inputs + `(("cyrus-sasl" ,cyrus-sasl) + ("gdbm" ,gdbm) + ("gpgme" ,gpgme) + ("ncurses" ,ncurses) + ("gnutls" ,gnutls) + ("openssl" ,openssl) ; for S/MIME + ("perl" ,perl) + ("kyotocabinet" ,kyotocabinet) + ("libxslt" ,libxslt) + ("libidn2" ,libidn2) + ("libxml2" ,libxml2) + ("lmdb" ,lmdb) + ("notmuch" ,notmuch))) + (native-inputs + `(("automake" ,automake) + ("gettext-minimal" ,gettext-minimal) + ("pkg-config" ,pkg-config) + ("docbook-xsl" ,docbook-xsl) + ("docbook-xml" ,docbook-xml-4.2) + ("w3m" ,w3m) + ("tcl" ,tcl))) + (arguments + `(#:test-target "test" + #:configure-flags + (list "--gpgme" - ;; Database, implies header caching. - "--disable-tokyocabinet" - "--disable-qdbm" - "--disable-bdb" - "--lmdb" - "--kyotocabinet" + ;; Database, implies header caching. + "--disable-tokyocabinet" + "--disable-qdbm" + "--disable-bdb" + "--lmdb" + "--kyotocabinet" - "--gdbm" + "--gdbm" - "--gnutls" - "--disable-ssl" - "--sasl" - (string-append "--with-sasl=" - (assoc-ref %build-inputs "cyrus-sasl")) + "--gnutls" + "--disable-ssl" + "--sasl" + (string-append "--with-sasl=" + (assoc-ref %build-inputs "cyrus-sasl")) - "--smime" - "--notmuch" - "--disable-idn" - "--idn2" + "--smime" + "--notmuch" + "--disable-idn" + "--idn2" - ;; If we do not set this, neomutt wants to check - ;; whether the path exists, which it does not - ;; in the chroot. - "--with-mailpath=/var/mail" + ;; If we do not set this, neomutt wants to check + ;; whether the path exists, which it does not + ;; in the chroot. + "--with-mailpath=/var/mail" - "--with-ui=ncurses" - (string-append "--with-ncurses=" - (assoc-ref %build-inputs "ncurses")) - (string-append "--prefix=" - (assoc-ref %outputs "out")) - "--debug") - #:phases - (modify-phases %standard-phases - ;; TODO: autosetup is meant to be included in the source, - ;; but we should package autosetup and use our own version of it. - (replace 'configure - (lambda* (#:key outputs inputs configure-flags #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (flags `(,@configure-flags)) - (bash (which "bash"))) - (setenv "SHELL" bash) - (setenv "CONFIG_SHELL" bash) - (apply invoke bash - (string-append (getcwd) "/configure") - flags))))))) - (home-page "https://www.neomutt.org/") - (synopsis "Command-line mail reader based on Mutt") - (description - "NeoMutt is a command-line mail reader which is based on mutt. + "--with-ui=ncurses" + (string-append "--with-ncurses=" + (assoc-ref %build-inputs "ncurses")) + (string-append "--prefix=" + (assoc-ref %outputs "out")) + "--debug") + #:phases + (modify-phases %standard-phases + ;; TODO: autosetup is meant to be included in the source, + ;; but we should package autosetup and use our own version of it. + (replace 'configure + (lambda* (#:key outputs inputs configure-flags #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (flags `(,@configure-flags)) + (bash (which "bash"))) + (setenv "SHELL" bash) + (setenv "CONFIG_SHELL" bash) + (apply invoke bash + (string-append (getcwd) "/configure") + flags))))))) + (home-page "https://www.neomutt.org/") + (synopsis "Command-line mail reader based on Mutt") + (description + "NeoMutt is a command-line mail reader which is based on mutt. It adds a large amount of new and improved features to mutt.") - (license gpl2+)))) + (license gpl2+))) (define-public gmime (package @@ -1096,7 +1094,7 @@ (define-public compface (define-public claws-mail (package (name "claws-mail") - (version "3.17.3") + (version "3.17.4") (source (origin (method url-fetch) (uri (string-append @@ -1104,7 +1102,7 @@ (define-public claws-mail ".tar.xz")) (sha256 (base32 - "1wnj6c9cbmhphs2l6wfvndkk2g08rmxw0sl2c8k1k008dxd1ykjh")))) + "00mfhaac16sv67rwiq98hr4nl5zmd1h2afswwwksdcsi3q9x23jr")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("bogofilter" ,bogofilter) @@ -1293,7 +1291,7 @@ (define-public exim (define-public dovecot (package (name "dovecot") - (version "2.3.7.2") + (version "2.3.8") (source (origin (method url-fetch) @@ -1301,8 +1299,7 @@ (define-public dovecot (version-major+minor version) "/" "dovecot-" version ".tar.gz")) (sha256 - (base32 - "0q0jgcv3ni2znkgyhc966ffphj1wk73y76wssh0yciqafs2f0v36")))) + (base32 "0jdng27hqqagjy6v7ymd0xflbv5dbc1rhh450nk39ar6pw1qsxy5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -1830,13 +1827,13 @@ (define-public procmail (define-public khard (package (name "khard") - (version "0.13.0") + (version "0.15.1") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "1lyjiskc6ckjjylzr04dnm66p3cnn7vlysw9c27qls3y3ywx14zw")))) + "18ba2xgfq8sw0bg6xmlfjpizid1hkzgswcfcc54gl21y2dwfda2w")))) (build-system python-build-system) (arguments `(#:phases @@ -1847,6 +1844,8 @@ (define-public khard (doc (string-append out "/share/doc/khard"))) (copy-recursively "misc/khard" doc) #t)))))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) (propagated-inputs `(("python-atomicwrites" ,python-atomicwrites) ("python-configobj" ,python-configobj) @@ -1927,7 +1926,7 @@ (define-public perl-mail-authenticationresults (define-public perl-mail-dkim (package (name "perl-mail-dkim") - (version "0.57") + (version "0.58") (source (origin (method url-fetch) (uri (string-append @@ -1936,7 +1935,7 @@ (define-public perl-mail-dkim ".tar.gz")) (sha256 (base32 - "0fmfhwn4sh98w62rc8j584l23vlhr7vii8glm2njx14f81a56lvb")))) + "0cgkal65qqcy57b21lgij90ba36wl66byw9i76g5yhwaa8ms8hqa")))) (build-system perl-build-system) (propagated-inputs `(("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) @@ -2278,14 +2277,14 @@ (define-public opensmtpd (define-public opensmtpd-next (package (name "opensmtpd-next") - (version "6.6.0p1") + (version "6.6.1p1") (source (origin (method url-fetch) (uri (string-append "https://www.opensmtpd.org/archives/" "opensmtpd-" version ".tar.gz")) (sha256 - (base32 "1sgwbvc28h9nyyj4lv8d9b4ilzz03p2j1j763yr759k336a2193m")))) + (base32 "1ngil8j13m2rq07g94j4yjr6zmaimzy8wbfr17shi7rxnazys6zb")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 4b8387a65f..b8d1b2af3e 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -88,23 +88,56 @@ (define glibc-for-bootstrap ;; contain store file names, so the CRC changes at every rebuild.) (outputs (delete "debug" (package-outputs base)))))) +(define gcc-for-bootstrap + (mlambdaq (glibc) + "Return a variant of GCC that uses the bootstrap variant of GLIBC." + (package + (inherit gcc) + (outputs '("out")) ;all in one so libgcc_s is easily found + (native-search-paths + ;; Set CPLUS_INCLUDE_PATH so GCC is able to find the libc + ;; C++ headers. + (cons (search-path-specification + (variable "CPLUS_INCLUDE_PATH") + (files '("include"))) + (package-native-search-paths gcc))) + (inputs + `( ;; Distinguish the name so we can refer to it below. + ("bootstrap-libc" ,(glibc-for-bootstrap glibc)) + ("libc:static" ,(glibc-for-bootstrap glibc) "static") + ,@(package-inputs gcc))) + (arguments + (substitute-keyword-arguments (package-arguments gcc) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'configure 'treat-glibc-as-system-header + (lambda* (#:key inputs #:allow-other-keys) + (let ((libc (assoc-ref inputs "bootstrap-libc"))) + ;; GCCs build processes requires that the libc + ;; we're building against is on the system header + ;; search path. + (for-each (lambda (var) + (setenv var (string-append libc "/include"))) + '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) + #t)))))))))) + (define (package-with-relocatable-glibc p) "Return a variant of P that uses the libc as defined by `glibc-for-bootstrap'." - (define (cross-bootstrap-libc) - (let ((target (%current-target-system))) - (glibc-for-bootstrap - ;; `cross-libc' already returns a cross libc, so clear - ;; %CURRENT-TARGET-SYSTEM. - (parameterize ((%current-target-system #f)) - (cross-libc target))))) + (define (cross-bootstrap-libc target) + (glibc-for-bootstrap + ;; `cross-libc' already returns a cross libc, so clear + ;; %CURRENT-TARGET-SYSTEM. + (parameterize ((%current-target-system #f)) + (cross-libc target)))) ;; Standard inputs with the above libc and corresponding GCC. (define (inputs) (if (%current-target-system) ; is this package cross built? - `(("cross-libc" ,(cross-bootstrap-libc))) + `(("cross-libc" + ,(cross-bootstrap-libc (%current-target-system)))) '())) (define (native-inputs) @@ -113,7 +146,7 @@ (define (native-inputs) (xgcc (cross-gcc target #:xbinutils (cross-binutils target) - #:libc (cross-bootstrap-libc)))) + #:libc (cross-bootstrap-libc target)))) `(("cross-gcc" ,(package (inherit xgcc) (search-paths @@ -127,34 +160,7 @@ (define (native-inputs) ,@(%final-inputs))) `(("libc" ,(glibc-for-bootstrap glibc)) ("libc:static" ,(glibc-for-bootstrap glibc) "static") - ("gcc" ,(package (inherit gcc) - (outputs '("out")) ;all in one so libgcc_s is easily found - (native-search-paths - ;; Set CPLUS_INCLUDE_PATH so GCC is able to find the libc - ;; C++ headers. - (cons (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include"))) - (package-native-search-paths gcc))) - (inputs - `(;; Distinguish the name so we can refer to it below. - ("bootstrap-libc" ,(glibc-for-bootstrap glibc)) - ("libc:static" ,(glibc-for-bootstrap glibc) "static") - ,@(package-inputs gcc))) - (arguments - (substitute-keyword-arguments (package-arguments gcc) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'configure 'treat-glibc-as-system-header - (lambda* (#:key inputs #:allow-other-keys) - (let ((libc (assoc-ref inputs "bootstrap-libc"))) - ;; GCCs build processes requires that the libc - ;; we're building against is on the system header - ;; search path. - (for-each (lambda (var) - (setenv var (string-append libc "/include"))) - '("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH")) - #t))))))))) + ("gcc" ,(gcc-for-bootstrap glibc)) ,@(fold alist-delete (%final-inputs) '("libc" "gcc"))))) (package-with-explicit-inputs p inputs diff --git a/gnu/packages/mes.scm b/gnu/packages/mes.scm index 3174c0c115..1a55342279 100644 --- a/gnu/packages/mes.scm +++ b/gnu/packages/mes.scm @@ -204,3 +204,38 @@ (define-public mescc-tools ((#:make-flags _) `(list (string-append "PREFIX=" (assoc-ref %outputs "out")) "CC=gcc")))))) + +(define-public m2-planet + (let ((commit "b87ddb0051b168ea45f8d49a610dcd069263336a") + (revision "2")) + (package + (name "m2-planet") + (version (string-append "1.4.0-" revision "." (string-take commit 7))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oriansj/m2-planet.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yyc0fcbbxi9jqa1n76x0rwspdrwmc8g09jlmsw9c35nflrhmz8q")))) + (native-inputs + `(("mescc-tools" ,mescc-tools))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:tests? #f + #:phases (modify-phases %standard-phases + (delete 'bootstrap) + (delete 'configure)))) + (synopsis "The PLAtform NEutral Transpiler") + (description + "M2-Planet, the PLAtform NEutral Transpiler, when combined with +mescc-tools, compiles a subset of the C language into working binaries with +introspective steps inbetween. It is self-hosting and for bootstrapping it +also has an implementation in the M1 macro assembly language. M2-Planet is +built as Phase-5 of the full source bootstrapping process and is capable of +building GNU Mes.") + (home-page "https://github.com/oriansj/m2-planet") + (license gpl3+)))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index a6e9dcbbb3..3f223c2cfe 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -773,14 +773,14 @@ (define-public dino (define-public prosody (package (name "prosody") - (version "0.11.2") + (version "0.11.3") (source (origin (method url-fetch) (uri (string-append "https://prosody.im/downloads/source/" "prosody-" version ".tar.gz")) (sha256 (base32 - "0ca8ivqb4hxqka08pwnaqi1bqxrdl8zw47g6z7nw9q5r57fgc4c9")))) + "11xz4milv2962qf75vrdwsvd8sy2332nf69202rmvz5989pvvnng")))) (build-system gnu-build-system) (arguments `(#:tests? #f ;tests require "busted" @@ -1559,7 +1559,7 @@ (define-public freetalk (define-public libmesode (package (name "libmesode") - (version "0.9.2") + (version "0.9.3") (source (origin (method git-fetch) (uri (git-reference @@ -1568,7 +1568,7 @@ (define-public libmesode (file-name (git-file-name name version)) (sha256 (base32 - "06f5nfaypvxrbsinxa1k2vrxrs7kqmg38g4wwwk5d63hpn1pj8ak")))) + "0xzfg1xx88cn36352nnjlb1p7xyw32yqkhjzq10px88iaaqz1vv0")))) (build-system gnu-build-system) (inputs `(("expat" ,expat) @@ -1583,21 +1583,22 @@ (define-public libmesode XMPP Client. In particular, libmesode provides extra TLS functionality such as manual SSL certificate verification.") (home-page "https://github.com/boothj5/libmesode") - ;; Dual licensed. + ;; Dual-licensed. (license (list license:gpl3+ license:x11)))) (define-public libstrophe (package (name "libstrophe") - (version "0.9.2") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/strophe/libstrophe/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "0vxfcyfnhnlaj6spm2b0ljw5i3knbphy6mvzpl5zv9b52ny4b08m")))) + (version "0.9.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/strophe/libstrophe.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1g1l0w9z9hdy5ncdvd9097gi7k7783did6py5h9camlpb2fnk5mk")))) (build-system gnu-build-system) (inputs `(("expat" ,expat) @@ -1612,7 +1613,7 @@ (define-public libstrophe almost no external dependencies, only an XML parsing library (expat or libxml are both supported).") (home-page "http://strophe.im/libstrophe") - ;; Dual licensed. + ;; Dual-licensed. (license (list license:gpl3+ license:x11)))) (define-public profanity @@ -1843,7 +1844,7 @@ (define-public hangups ("python-async-timeout" ,python-async-timeout) ("python-configargparse" ,python-configargparse) ("python-mechanicalsoup" ,python-mechanicalsoup) - ("python-protobuf" ,python-protobuf) + ("python-protobuf" ,python-protobuf-3.6) ("python-readlike" ,python-readlike) ("python-reparser" ,python-reparser) ("python-requests" ,python-requests) diff --git a/gnu/packages/monitoring.scm b/gnu/packages/monitoring.scm index b165e6952d..78f94bbe4b 100644 --- a/gnu/packages/monitoring.scm +++ b/gnu/packages/monitoring.scm @@ -152,7 +152,7 @@ (define-public nagios (define-public zabbix-agentd (package (name "zabbix-agentd") - (version "4.2.7") + (version "4.4.1") (source (origin (method url-fetch) @@ -161,7 +161,7 @@ (define-public zabbix-agentd "/zabbix-" version ".tar.gz")) (sha256 (base32 - "09znh8x1sass5mw6wjrfmizjbfls8ad2c16y24ldfj40hlfxz6wx")))) + "0jjn2przn9s25slrcxmq8iqdgqkgxnqs45zy0n1ma6nlgmclxxqb")))) (build-system gnu-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index b8e54d4058..45bb6d7d48 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -473,13 +473,13 @@ (define-public mpc123 (define-public eyed3 (package (name "eyed3") - (version "0.8.10") + (version "0.8.11") (source (origin (method url-fetch) (uri (pypi-uri "eyeD3" version)) (sha256 - (base32 "1jb22n1jczxgbpcnfiw12r8dcs74556g1d09mzms44f52kgs7lgc")))) + (base32 "1347mhjysbdpmmvdqm6lhskdw0qj9vjdn4n172ffnz958adrnk0f")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; the required test data contains copyrighted material diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 57ecef4913..c9a9c440d3 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -157,7 +157,7 @@ (define-public mpd (define-public mpd-mpc (package (name "mpd-mpc") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri @@ -166,7 +166,7 @@ (define-public mpd-mpc "/mpc-" version ".tar.xz")) (sha256 (base32 - "1irilgz64pny7b8zygy5i74nfmlhgsawz0djx9mrj6g0gidxjqbr")))) + "15hjpzqs83v1zx49x8nkpwy9hpl1jxd55z1w50vm82gm32zcqh2g")))) (build-system meson-build-system) (inputs `(("libmpdclient" ,libmpdclient))) (native-inputs diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 914f8e975e..5fde6efae4 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2017 Dave Love ;;; Copyright © 2017 Efraim Flashner -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Paul Garlick ;;; Copyright © 2019 Ricardo Wurmus ;;; @@ -29,7 +29,9 @@ (define-module (gnu packages mpi) #:use-module ((guix licenses) #:hide (expat)) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix deprecation) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -129,11 +131,11 @@ (define-public hwloc bind processes, and much more.") (license bsd-3))) -(define-public hwloc-2.0 +(define-public hwloc-2 ;; Note: 2.0 isn't the default yet, see above. (package (inherit hwloc) - (version "2.0.3") + (version "2.1.0") (source (origin (method url-fetch) (uri (string-append "https://www.open-mpi.org/software/hwloc/v" @@ -141,7 +143,7 @@ (define-public hwloc-2.0 "/downloads/hwloc-" version ".tar.bz2")) (sha256 (base32 - "09f7ajak8wv5issr0hw72vs3jkldc7crcc7z5fd34sspkvrsm4z3")))) + "0qh8s7pphz0m5cwb7liqmc17xzfs23xhz5wn24r6ikvjyx99fhhr")))) ;; libnuma is no longer needed. (inputs (alist-delete "numactl" (package-inputs hwloc))) @@ -158,6 +160,9 @@ (define-public hwloc-2.0 "-1")) #t)))))))) +(define-deprecated hwloc-2.0 'hwloc-2 + hwloc-2) + (define-public openmpi (package (name "openmpi") @@ -169,10 +174,11 @@ (define-public openmpi (version-major+minor version) "/downloads/openmpi-" version ".tar.bz2")) (sha256 - (base32 "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh")))) + (base32 "0ms0zvyxyy3pnx9qwib6zaljyp2b3ixny64xvq3czv3jpr8zf2wh")) + (patches (search-patches "openmpi-psm2-priority.patch")))) (build-system gnu-build-system) (inputs - `(("hwloc" ,hwloc "lib") + `(("hwloc" ,hwloc-2 "lib") ("gfortran" ,gfortran) ("libfabric" ,libfabric) ("libevent" ,libevent) @@ -204,6 +210,12 @@ (define-public openmpi "--with-hwloc=external" "--with-libevent" + ;; Make sure ./configure fails if one of these is + ;; missing. + "--with-ucx" + "--with-psm" + "--with-psm2" + ;; InfiniBand support "--enable-openib-control-hdr-padding" "--enable-openib-dynamic-sl" @@ -338,17 +350,67 @@ (define-public %openmpi-setup (setenv "OMPI_MCA_rmaps_base_mapping_policy" "core:OVERSUBSCRIBE") #t)) +(define-public intel-mpi-benchmarks + (package + (name "intel-mpi-benchmarks") + (version "2019.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/intel/mpi-benchmarks.git") + (commit (string-append "IMB-v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0si5xi6ilhd3w0gbsg124589pvp094hvf366rvjjb9pi7pdk5p4i")))) + (build-system gnu-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (define (benchmark? file stat) + (and (string-prefix? "IMB-" (basename file)) + (executable-file? file))) + + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (for-each (lambda (file) + (install-file file bin)) + (find-files "." benchmark?)) + #t)))) + + ;; The makefile doesn't express all the dependencies, it seems. + #:parallel-build? #t + + #:make-flags (list (string-append "CC=" + (assoc-ref %build-inputs "openmpi") + "/bin/mpicc") + (string-append "CXX=" + (assoc-ref %build-inputs "openmpi") + "/bin/mpicxx")))) + (inputs + `(("openmpi" ,openmpi))) + (home-page "https://github.com/intel/mpi-benchmarks") + (synopsis "Benchmarks for the Message Passing Interface (MPI)") + (description + "Intel MPI Benchmarks (IMB) provides a set of elementary benchmarks that +conform with versions 1, 2, and 3 of the Message Passing Interface (MPI).") + (license + (fsf-free "https://directory.fsf.org/wiki/License:CPL-1.0" + "https://www.gnu.org/licenses/license-list.html#CommonPublicLicense10")))) + (define-public python-mpi4py (package (name "python-mpi4py") - (version "3.0.2") + (version "3.0.3") (source - (origin - (method url-fetch) - (uri (pypi-uri "mpi4py" version)) - (sha256 - (base32 - "1q28xl36difma1wq0acq111cqxjya32kn3lxp6fbidz3wg8jkmpq")))) + (origin + (method url-fetch) + (uri (pypi-uri "mpi4py" version)) + (sha256 + (base32 "07ssbhssv27rrjx1c5vd3vsr31vay5d8xcf4zh9yblcyidn72b81")))) (build-system python-build-system) (arguments `(#:phases diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 463f7fd9ef..241ede58d8 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2019 Jakob L. Kreuze ;;; Copyright © 2019 raingloom ;;; Copyright © 2019 David Wilson +;;; Copyright © 2019 Alexandros Theodotou ;;; ;;; This file is part of GNU Guix. ;;; @@ -1283,6 +1284,14 @@ (define-public powertabeditor (("#include " m) (string-append m "\n#include \n#include "))) #t)) + ;; FIXME: Finding RtMidi was fixed upstream so we should be able to + ;; remove this hack when a release is made. + ;; See https://github.com/powertab/powertabeditor/issues/255 + (add-after 'unpack 'fix-rtmidi-header + (lambda _ + (substitute* "source/audio/midioutputdevice.cpp" + (("#include ") "#include ")) + #t)) (add-before 'configure 'remove-third-party-libs (lambda* (#:key inputs #:allow-other-keys) ;; Link with required static libraries, because we're not @@ -1371,7 +1380,7 @@ (define-public jalv-select (define-public synthv1 (package (name "synthv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1379,7 +1388,7 @@ (define-public synthv1 "/synthv1-" version ".tar.gz")) (sha256 (base32 - "15kabmxp38wqvavs5hr1dqasjjf1j977kzqggxfmzyi3y5fan3hj")))) + "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1403,7 +1412,7 @@ (define-public synthv1 (define-public drumkv1 (package (name "drumkv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1411,7 +1420,7 @@ (define-public drumkv1 "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "010p8nwnmqgj5mw324psig3hxi1g2gylxrigd6sj6sgcpy3kdm23")))) + "1wnjn175l0mz51k9pjf3pdzv54c4jlh63saavld9lm6zfgfs13d7")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1436,7 +1445,7 @@ (define-public drumkv1 (define-public samplv1 (package (name "samplv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1444,7 +1453,7 @@ (define-public samplv1 "/samplv1-" version ".tar.gz")) (sha256 (base32 - "138kd9szgn3b97s7crhsyj8pgwb0bn4l9knd4zliqjgj2f1bs9x0")))) + "17zs8kvvwqv00bm4lxpn09a5hxjlbz7k5mkl3k7jspw7rqn3djf2")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1469,7 +1478,7 @@ (define-public samplv1 (define-public padthv1 (package (name "padthv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1477,7 +1486,7 @@ (define-public padthv1 "/padthv1-" version ".tar.gz")) (sha256 (base32 - "1k4p2ir12qjcs62knvw2s6qyvb46203yx22fnwp341cjk171cxji")))) + "02yfwyirjqxa075yqdnci9b9k57kdmkjvn9gnpdbnjp887pds76g")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2142,7 +2151,7 @@ (define-public zynaddsubfx (define-public yoshimi (package (name "yoshimi") - (version "1.6.0.1") + (version "1.6.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/yoshimi/" @@ -2150,7 +2159,7 @@ (define-public yoshimi "/yoshimi-" version ".tar.bz2")) (sha256 (base32 - "140f2k4akj39pny8c7i794q125415gyvmy4rday0il5ncp3glik4")))) + "1z2mnmm299ng6jcwa61dzr1ilwa5fjgsggxl2wa5smji6b4npmx7")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests @@ -2344,14 +2353,14 @@ (define-public aj-snapshot (define-public qtractor (package (name "qtractor") - (version "0.9.6") + (version "0.9.11") (source (origin (method url-fetch) (uri (string-append "http://downloads.sourceforge.net/qtractor/" "qtractor-" version ".tar.gz")) (sha256 (base32 - "06sa4wl8zr0k8dnjiil0gjwnhrkq95h50xv56ih1y8jgyzxchaxp")))) + "1482da0lr77i57jby80cnn4bb9ws3v1i1j6m2hbwdnvqab9csvnx")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no "check" target @@ -3707,7 +3716,7 @@ (define-public libsmf (define-public lmms (package (name "lmms") - (version "1.1.3") + (version "1.2.1") (source (origin (method git-fetch) @@ -3717,12 +3726,23 @@ (define-public lmms (file-name (git-file-name name version)) (sha256 (base32 - "03hhymc6d73fa3wbcqb7rm1l03zkw605k5i9kvkvjmv488bqh3pd")))) + "1gx730z361xx30iqbsm99aam1k2c8yf561gcay6sryyjksb4w1wy")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; no tests + ;; Qt 5 support must be explicitly enabled in the 1.2 stable versions of + ;; LMMS, so try removing "-DWANT_QT5=ON" in later versions. + ;; Also, explicitly disabling VST support gets rid of the in-tree + ;; dependency on qt5-x11embed. + #:configure-flags '("-DWANT_QT5=ON" + "-DWANT_VST=OFF") #:phases (modify-phases %standard-phases + (add-after 'unpack 'unpack-rpmalloc + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively (assoc-ref inputs "rpmalloc") + "src/3rdparty/rpmalloc/rpmalloc") + #t)) (add-before 'configure 'set-ldflags (lambda* (#:key outputs #:allow-other-keys) (setenv "LDFLAGS" @@ -3733,12 +3753,6 @@ (define-public lmms (assoc-ref outputs "out") "/lib/lmms/ladspa" "\"")) #t)) - (add-before 'configure 'remove-Werror - (lambda _ - (substitute* "CMakeLists.txt" - (("SET\\(WERROR_FLAGS \"\\$\\{WERROR_FLAGS\\} -Werror") - "SET(WERROR_FLAGS \"${WERROR_FLAGS}")) - #t)) (add-before 'reset-gzip-timestamps 'make-manpages-writable (lambda* (#:key outputs #:allow-other-keys) (map (lambda (file) @@ -3748,14 +3762,30 @@ (define-public lmms ".*\\.gz$")) #t))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools) + ;; rpmalloc is a public domain memory allocator. This version specified + ;; below is the version required by LMMS. + ;; To get the new commit of rpmalloc to use here, run + ;; `git submodule--helper list | grep rpmalloc | cut -f2 -d' '` + ;; in the cloned LMMS repository. + ("rpmalloc" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mjansson/rpmalloc.git") + (commit "b5bdc18051bb74a22f0bde4bcc90b01cf590b496"))) + (sha256 + (base32 + "0g9pls46iggg7rdm65vzfj8nyr3v2n5xkp54c4qbh9hhalpsw4ay")))))) (inputs `(("sdl" ,sdl) - ("qt" ,qt-4) + ("qtbase" ,qtbase) + ("qtx11extras" ,qtx11extras) ("fltk" ,fltk) ("libogg" ,libogg) ("libsamplerate" ,libsamplerate) - ("fluidsynth" ,fluidsynth-1) ;XXX: try using 2.x when updating + ("fluidsynth" ,fluidsynth) ("libvorbis" ,libvorbis) ("alsa-lib" ,alsa-lib) ("portaudio" ,portaudio) @@ -3774,7 +3804,7 @@ (define-public lmms (define-public musescore (package (name "musescore") - (version "3.2.3") + (version "3.3") (source (origin (method git-fetch) (uri (git-reference @@ -3783,7 +3813,7 @@ (define-public musescore (file-name (git-file-name name version)) (sha256 (base32 - "17wx1wl8ns2k31qvrr888dxnrsa13vazg04zh2sn2q4vzd869a7v")) + "15ckjwvp3xigjkzmp1ddzvlm4d0vlk9i1axyfxg3hr2sia84yxvi")) (modules '((guix build utils))) (snippet ;; Un-bundle OpenSSL and remove unused libraries. @@ -3801,8 +3831,7 @@ (define-public musescore (build-system cmake-build-system) (arguments `(#:configure-flags - `("-DBUILD_CRASH_REPORTER=OFF" - "-DBUILD_WEBENGINE=OFF" + `("-DBUILD_WEBENGINE=OFF" "-DDOWNLOAD_SOUNDFONT=OFF" "-DUSE_SYSTEM_FREETYPE=ON") ;; There are tests, but no simple target to run. The command used to @@ -4679,3 +4708,308 @@ (define-public playerctl for integration into status line generators or other command-line tools.") (home-page "https://github.com/altdesktop/playerctl") (license license:lgpl3+))) + +(define-public artyfx + (package + (name "artyfx") + (version "1.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/openAVproductions/openAV-ArtyFX.git") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "012hcy1mxl7gs2lipfcqp5x0xv1azb9hjrwf0h59yyxnzx96h7c9")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ; no tests included + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'remove-architecture-specific-flags + (lambda _ + (substitute* "CMakeLists.txt" + (("-msse2 -mfpmath=sse") "")) + #t))))) + (inputs + `(("cairo" ,cairo) + ("libsndfile" ,libsndfile))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("lv2" ,lv2))) + (home-page "http://openavproductions.com/artyfx/") + (synopsis "Audio effect LV2 plugin bundle") + (description "ArtyFX is an LV2 plugin bundle of artistic real-time audio +effects. It contains a bitcrusher, delay, distortion, equalizer, compressor, +and reverb.") + (license license:gpl2+))) + +(define-public sherlock-lv2 + (package + (name "sherlock-lv2") + (version "0.20.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://git.open-music-kontrollers.ch/lv2/" + "sherlock.lv2/snapshot/sherlock.lv2-" + version ".tar.xz")) + (sha256 + (base32 + "1c5xajpss9h8lbyx160bbzg8va50n2d74qwnxig9sf468rzmha1y")))) + (build-system meson-build-system) + (inputs + `(("libx11" ,libx11) + ("mesa" ,mesa) + ("sratom" ,sratom))) + (native-inputs + `(("flex" ,flex) + ("pkg-config" ,pkg-config))) + (synopsis "Investigative LV2 plugin bundle") + (description "The Sherlock plugin bundle contains LV2 plugins for +visualizing LV2 atom, MIDI and OSC events. They can be used for monitoring +and debugging of event signal flows inside plugin graphs.") + (home-page "https://open-music-kontrollers.ch/lv2/sherlock/") + (license license:artistic2.0))) + +(define-public x42-plugins + (package + (name "x42-plugins") + (version "20191013") + (source + (origin + (method url-fetch) + (uri + (string-append "http://gareus.org/misc/x42-plugins/x42-plugins-" + version ".tar.xz")) + (sha256 + (base32 + "18kn1bmc0s6dp834kc51ibifzzn3bxwya4p8s8yq9f4mpmkghi24")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "LIBZITACONVOLVER=-lzita-convolver" + (string-append "FONTFILE=" + (assoc-ref %build-inputs "font-dejavu") + "/share/fonts/truetype/DejaVuSans-Bold.ttf")) + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-CC-variable + (lambda _ + (setenv "CC" "gcc") + #t)) + (delete 'configure)))) + (inputs + `(("cairo" ,cairo) + ("fftwf" ,fftwf) + ("ftgl" ,ftgl) + ("glib" ,glib) + ("glu" ,glu) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("jack" ,jack-1) + ("libltc" ,libltc) + ("libsamplerate" ,libsamplerate) + ("libx11" ,libx11) + ("pango" ,pango) + ("zita-convolver" ,zita-convolver))) + (native-inputs + `(("help2man" ,help2man) + ("liblo" ,liblo) + ("lv2" ,lv2) + ("font-dejavu" ,font-dejavu) + ("pkg-config" ,pkg-config))) + (synopsis "Collection of LV2/JACK audio/MIDI processing plugins") + (description "x42-plugins is a collection of over 80 cross-platform LV2 +audio and MIDI plugins that can also run as standalone JACK applications.") + (home-page "https://x42-plugins.com/x42/") + (license license:gpl2+))) + +(define-public zam-plugins + (package + (name "zam-plugins") + (version "3.11") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/zamaudio/zam-plugins.git") + (commit version) + ;; Recursive to fetch the DISTRHO plugin framework. This + ;; framework is intended to be included in the sources + ;; and not to be used as a library. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jlbxm0g93plgd3g4r9rsr0c7868ms49bs0ljpqb6kw6132hsapp")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no "check" target + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "HAVE_ZITA_CONVOLVER=true") + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-CC-variable + (lambda _ + (setenv "CC" "gcc") #t)) + (delete 'configure)))) + (inputs + `(("fftwf" ,fftwf) + ("jack" ,jack-1) ;for the standalone JACK application + ("liblo" ,liblo) + ("libsamplerate" ,libsamplerate) + ("mesa" ,mesa) + ("zita-convolver" ,zita-convolver))) + (native-inputs + `(("ladspa" ,ladspa) + ("lv2" ,lv2) + ("pkg-config" ,pkg-config))) + (synopsis "Collection of audio processing plugins") + (description + "Zam plugins is a collection of audio processing plugins in the LADSPA, +LV2 and VST2 formats, as well as standalone JACK versions. The collection +includes ZaMaximX2, ZamAutoSat, ZamComp, ZamCompX2, ZamEQ2, ZamGEQ31, +ZamHeadX2, ZamPhono, ZamGate, ZamGateX2, ZamTube, ZamDelay, ZamDynamicEQ, +ZaMultiComp, ZaMultiCompX2 and ZamSynth.") + (home-page "http://www.zamaudio.com/?p=976") + (license license:gpl2+))) + +(define-public geonkick + (package + (name "geonkick") + (version "1.9.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/geontime/geonkick.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17mwxnmxszdm2wjbigciwh8qx0487q9qhf4sl92y6nqdb0dlghnl")))) + (build-system cmake-build-system) + (arguments + `(#:tests? #f ;no tests included + #:configure-flags + (list (string-append "-DGKICK_REDKITE_SDK_PATH=" + (assoc-ref %build-inputs "redkite")) + (string-append "-DCMAKE_INSTALL_PREFIX=" + (assoc-ref %outputs "out"))))) + (inputs + `(("cairo" ,cairo) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("jack" ,jack-1) ;for the standalone JACK application + ("libsndfile" ,libsndfile) + ("libx11" ,libx11) + ("redkite" ,redkite) + ("rapidjson" ,rapidjson))) + (native-inputs + `(("lv2" ,lv2) + ("pkg-config" ,pkg-config) + ("sord" ,sord))) + (synopsis "Percussion synthesizer") + (description "Geonkick is a synthesizer that can synthesize elements +of percussion such as kicks, snares, hit-hats, shakers, claps and sticks. +It can also play and mix samples.") + (home-page "https://gitlab.com/geontime/geonkick") + (license license:gpl3+))) + +(define-public dpf-plugins + (package + (name "dpf-plugins") + (version "1.3") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/DISTRHO/DPF-Plugins.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hsfmpv3kvpiwk8nfw9xpaipzy0n27i83y2v1yr93lznwm5rqrbs")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-CC-variable + (lambda _ (setenv "CC" "gcc") #t)) + (delete 'configure)))) + (inputs + `(("cairo" ,cairo) + ("liblo" ,liblo) ; for dssi plugins + ("jack" ,jack-1) ; for standalone applications + ("mesa" ,mesa))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("dssi" ,dssi) + ("lv2" ,lv2))) + (home-page "https://github.com/DISTRHO/DPF-Plugins") + (synopsis "Audio plugin collection") + (description "Collection of audio plugins built with the DISTRHO Plugin +Framework (DPF) available in LADSPA, DSSI, LV2 and VST2 formats. This +package includes the following plugins: glBars, Kars, Max-Gen examples +(MaBitcrush, MaFreeverb, MaGigaverb, MaPitchshift), Mini-Series (3BandEQ, +3BandSplitter, PingPongPan), ndc-Plugs (Amplitude Imposer, Cycle Shifter, +Soul Force), MVerb, Nekobi, and ProM.") + ;; This package consists of several plugins refactored to use the + ;; DISTHRO Plugin Framework (DPF). Different copyrights and licenses + ;; apply to different plugins. The root LICENSE file has a table with + ;; license information for each plugin and paths to each license + (license (list license:isc license:gpl3 license:lgpl3 license:expat license:gpl2)))) + +(define-public avldrums-lv2 + (package + (name "avldrums-lv2") + (version "0.4.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/x42/avldrums.lv2.git") + (commit (string-append "v" version)) + ;; This plugin expects the robtk submodule's source files to be + ;; there in order to build. + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1z70rcq6z3gkb4fm8dm9hs31bslwr97zdh2n012fzki9b9rdj5qv")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'set-CC-variable + (lambda _ + (setenv "CC" "gcc") #t)) + (delete 'configure)))) + (inputs + `(("cairo" ,cairo) + ("dssi" ,dssi) + ("glu" ,glu) + ("mesa" ,mesa) + ("pango" ,pango))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("lv2" ,lv2))) + (home-page "https://x42-plugins.com/x42/x42-avldrums") + (synopsis "Drum sample player LV2 plugin dedicated to the AVLinux Drumkits") + (description "AVLdrums is a drum sample player LV2 plugin dedicated to Glen +MacArthur's AVLdrums. This plugin provides a convenient way to sequence and mix +MIDI drums and comes as two separate drumkits: Black Pearl and Red Zeppelin.") + (license license:gpl2+))) diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm index 78e9ba1377..75ad492822 100644 --- a/gnu/packages/ncurses.scm +++ b/gnu/packages/ncurses.scm @@ -244,7 +244,7 @@ (define-public ncurses/gpm (define-public dialog (package (name "dialog") - (version "1.3-20190211") + (version "1.3-20191110") (source (origin (method url-fetch) (uri (string-append @@ -252,7 +252,7 @@ (define-public dialog version ".tgz")) (sha256 (base32 - "1lx0bvradzx1zl7znlrsnyljcs596r7wamkhyq37ikbxsy4y5h29")))) + "0qqf3l7a3brgsz3kcrawyhicivajqr57gkp3134h4k20204psanr")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no test suite diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 9173871497..87cabee645 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -32,6 +32,7 @@ ;;; Copyright © 2019 Timotej Lazar ;;; Copyright © 2019 Brice Waegeneire ;;; Copyright © 2019 Tonton +;;; Copyright © 2019 Alex Griffin ;;; ;;; This file is part of GNU Guix. ;;; @@ -1027,16 +1028,17 @@ (define-public reaver (define-public perl-danga-socket (package (name "perl-danga-socket") - (version "1.61") + (version "1.62") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/B/BR/BRADFITZ/" + (uri (string-append "mirror://cpan/authors/id/N/NM/NML/" "Danga-Socket-" version ".tar.gz")) (sha256 - (base32 - "0nciapvxnc922ms304af0vavz1kgyr45ard8wc659k9srqar4hwf")))) + (base32 "0x4bvirmf0kphks19jwgva00zz73zx344218dfaiv8gigrw3yg4m")))) (build-system perl-build-system) + (native-inputs + `(("perl-test-tcp" ,perl-test-tcp))) (propagated-inputs `(("perl-sys-syscall" ,perl-sys-syscall))) (home-page "https://metacpan.org/release/Danga-Socket") @@ -2676,3 +2678,42 @@ (define-public batctl B.A.T.M.A.N. mesh networking routing protocol provided by the Linux kernel module @code{batman-adv}, for Layer 2.") (license license:gpl2+))) + +(define-public pagekite + (package + (name "pagekite") + (version "1.0.0.190721") + (source + (origin + (method url-fetch) + (uri (string-append "https://pagekite.net/pk/src/pagekite-" + version ".tar.gz")) + (sha256 + (base32 "0y4vaqd3pjr6if8jcnhjwignkxgrajmnx1rd1p37anj8xjg7l8zh")))) + (build-system python-build-system) + (arguments + ;; Python 3 support is a work-in-progress and should come soon: + ;; https://github.com/pagekite/PyPagekite/issues/40 + ;; https://github.com/pagekite/PyPagekite/pull/71 + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-man-page + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (man (string-append out "/share/man"))) + (invoke "make" + (string-append "PYTHONPATH=" (getenv "PYTHONPATH")) + "doc/pagekite.1") + (install-file "doc/pagekite.1" (string-append man "/man1")) + #t)))))) + (inputs + `(("python2-socksipychain" ,python2-socksipychain))) + (home-page "https://pagekite.net/") + (synopsis "Make localhost servers publicly visible") + (description + "PageKite implements a tunneled reverse proxy which makes it easy to make +a service (such as an HTTP or SSH server) on localhost visible to the wider +Internet, even behind NAT or restrictive firewalls. A managed front-end relay +service is available at @url{https://pagekite.net/}, or you can run your own.") + (license license:agpl3+))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 7984e40382..d820b855d8 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2015 David Hashe ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Jan Nieuwenhuizen -;;; Copyright © 2016, 2018 Efraim Flashner +;;; Copyright © 2016, 2018, 2019 Efraim Flashner ;;; Copyright © 2016-2018 Julien Lepiller ;;; Copyright © 2017 Ben Woodcroft ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice @@ -1115,6 +1115,7 @@ (define-public ocaml-zarith (uri (git-reference (url "https://github.com/ocaml/Zarith") (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "0hv5ywz1q2cgn8apfz490clwk5hcynr937g2v8i13x2ax4bnv0lz")))) @@ -2645,6 +2646,7 @@ (define-public ocaml-cstruct (uri (git-reference (url "https://github.com/mirage/ocaml-cstruct") (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 "0m4bz0digcsc8l2msfikwcbi1y371kccx6xnkwrz212mf5mp98bv")))) @@ -3043,7 +3045,9 @@ (define-public ocaml-charinfo-width (version "1.1.0") (source (origin (method url-fetch) - (uri "https://bitbucket.org/zandoye/charinfo_width/get/1.1.0.tar.gz") + (uri (string-append "https://bitbucket.org/zandoye/charinfo_width" + "/get/" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "00bv4p1yqs8y0z4z07wd9w9yyv669dikp9b04dcjbwpiy2wy0086")))) diff --git a/gnu/packages/opencl.scm b/gnu/packages/opencl.scm index fc9c11caa5..50c99118c1 100644 --- a/gnu/packages/opencl.scm +++ b/gnu/packages/opencl.scm @@ -296,7 +296,7 @@ (define-public beignet (define-public pocl (package (name "pocl") - (version "1.2") + (version "1.4") (source (origin (method git-fetch) @@ -304,7 +304,7 @@ (define-public pocl (url "https://github.com/pocl/pocl.git") (commit (string-append "v" version)))) (sha256 - (base32 "0fyiwd9nrqhl0jsac0bx17p9acpfzhyxp50mmp28mzn7psb9qidg")) + (base32 "1c4y69zks6hkq5fqh9waxgb8g4ka7y6h3vacmsm720kba0h57g8a")) (file-name (git-file-name name version)))) (build-system cmake-build-system) (native-inputs @@ -312,8 +312,8 @@ (define-public pocl ("pkg-config" ,pkg-config))) (inputs `(("clang" ,clang) - ("hwloc" ,hwloc-2.0 "lib") - ("llvm" ,llvm) + ("hwloc" ,hwloc-2 "lib") + ("llvm" ,llvm-8) ("ocl-icd" ,ocl-icd))) (arguments `(#:configure-flags diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 202fb36174..1daab4e879 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -110,8 +110,8 @@ (define-public guix ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "1.0.1") - (commit "f63e49342bb8536d24b35ed57a2be978556f149e") - (revision 9)) + (commit "41b4b713f4892918a9a1950acdd89f33b977d143") + (revision 10)) (package (name "guix") @@ -127,7 +127,7 @@ (define-public guix (commit commit))) (sha256 (base32 - "18bxcbxcwxlgfgdapjyxg0d98c9g00ivjhhb2xyg42dbmbkh6nqy")) + "08sblj4xy78va6zlxmxdq2id58pjr8rjqxxycd77hiacsqbjh9g6")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -907,14 +907,14 @@ (define-public gcab (define-public msitools (package (name "msitools") - (version "0.99") + (version "0.100") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/msitools/" version "/msitools-" version ".tar.xz")) (sha256 (base32 - "0d9nidn5zc81bc30w119933rn2g87mrsqyqkndg20srkbsd96xfl")))) + "1skq17qr2ic4qr3779j49byfm8rncwbsq9rj1a33ncn2m7isdwdv")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index d8338caffb..4fc2c9afb4 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -105,7 +105,7 @@ (define-public parallel (define-public slurm (package (name "slurm") - (version "17.11.3") + (version "19.05.3-2") (source (origin (method url-fetch) (uri (string-append @@ -113,24 +113,37 @@ (define-public slurm version ".tar.bz2")) (sha256 (base32 - "1x3i6z03d9m46fvj1cslrapm1drvgyqch9pn4xf23kvbz4gkhaps")) + "0qj4blfymrd2ry2qmb58l3jbr4jwygc3adcfw7my27rippcijlyc")) (modules '((guix build utils))) (snippet '(begin + ;; According to + ;; + ;; there are non-free bits under contribs/, though it's not + ;; clear which ones. libpmi is clearly free (it used to be + ;; under src/api/), so remove all of contribs/ except + ;; contribs/pmi/. (substitute* "configure.ac" - (("^[[:space:]]+contribs/.*$") "")) + (("^[[:space:]]+contribs/(.*)$" all directory) + (if (and (string-prefix? "pmi" directory) + (not (string-prefix? "pmi2" directory))) + all + ""))) + + (rename-file "contribs/pmi" "tmp-pmi") (delete-file-recursively "contribs") + (mkdir "contribs") + (rename-file "tmp-pmi" "contribs/pmi") #t)))) ;; FIXME: More optional inputs could be added, ;; in particular mysql and gtk+. (inputs `(("expect" ,expect) ("freeipmi" ,freeipmi) - ("hwloc" ,hwloc "lib") + ("hwloc" ,hwloc-2 "lib") ("json-c" ,json-c) ("linux-pam" , linux-pam) ("munge" ,munge) ("numactl" ,numactl) - ("openssl" ,openssl) ("perl" ,perl) ("python" ,python-wrapper) ("readline" ,readline))) @@ -141,15 +154,19 @@ (define-public slurm (arguments `(#:configure-flags (list "--enable-pam" "--sysconfdir=/etc/slurm" + "--disable-static" (string-append "--with-freeipmi=" (assoc-ref %build-inputs "freeipmi")) (string-append "--with-hwloc=" (assoc-ref %build-inputs "hwloc")) (string-append "--with-json=" (assoc-ref %build-inputs "json-c")) - (string-append "--with-munge=" (assoc-ref %build-inputs "munge")) - (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))) + (string-append "--with-munge=" (assoc-ref %build-inputs "munge"))) #:phases (modify-phases %standard-phases (add-after 'unpack 'autoconf - (lambda _ (invoke "autoconf")))))) ; configure.ac was patched + (lambda _ (invoke "autoconf"))) ;configure.ac was patched + (add-after 'install 'install-libpmi + (lambda _ + ;; Open MPI expects libpmi to be provided by Slurm so install it. + (invoke "make" "install" "-C" "contribs/pmi")))))) (home-page "https://slurm.schedmd.com/") (synopsis "Workload manager for cluster computing") (description diff --git a/gnu/packages/password-utils.scm b/gnu/packages/password-utils.scm index 9bea0e68c1..dd4eeba0ac 100644 --- a/gnu/packages/password-utils.scm +++ b/gnu/packages/password-utils.scm @@ -11,7 +11,7 @@ ;;; Copyright © 2017, 2018 Clément Lassieur ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2017 Jelle Licht -;;; Copyright © 2017 Eric Bavier +;;; Copyright © 2017, 2019 Eric Bavier ;;; Copyright © 2017 Nicolas Goaziou ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2017 Rutger Helling @@ -23,6 +23,7 @@ ;;; Copyright © 2018 Amirouche Boubekki ;;; Copyright © 2018, 2019 Tim Gesthuizen ;;; Copyright © 2019 Jens Mølgaard +;;; Copyright © 2019 Tanguy Le Carrour ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ (define-module (gnu packages password-utils) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) @@ -76,6 +78,7 @@ (define-module (gnu packages password-utils) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) + #:use-module (gnu packages ruby) #:use-module (gnu packages security-token) #:use-module (gnu packages suckless) #:use-module (gnu packages tcl) @@ -653,6 +656,49 @@ (define-public qtpass encryption.") (license license:gpl3+))) +(define-public rofi-pass + (package + (name "rofi-pass") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri + (string-append "https://raw.githubusercontent.com/carnager/rofi-pass/" + version "/rofi-pass")) + (sha256 + (base32 "0msldkndqp40nx1s5s7ggcr97ir4nshpmnyzvj5hqw1l7m3gvw6j")) + (file-name name))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((source (string-append (assoc-ref %build-inputs "source"))) + (script "rofi-pass") + (out (assoc-ref %outputs "out"))) + (copy-file source script) + (chmod script #o555) + (install-file script (string-append out "/bin")))))) + (propagated-inputs + `(("password-store" ,password-store) + ("rofi" ,rofi) + ("xdotool" ,xdotool))) + (home-page "https://github.com/carnager/rofi-pass") + (synopsis "Rofi frontend for password-store") + (description "Rofi-pass provides a way to manipulate information stored +using password-store through rofi interface: +@enumerate +@item open URLs of entries with hotkey; +@item type any field from entry; +@item auto-typing of user and/or password fields; +@item auto-typing username based on path; +@item auto-typing of more than one field, using the autotype entry; +@item bookmarks mode (open stored URLs in browser, default: Alt+x). +@end enumerate") + (license license:gpl3))) + (define-public argon2 (package (name "argon2") @@ -734,7 +780,7 @@ (define-public pass-git-helper (license license:lgpl3+))) (define-public john-the-ripper-jumbo - (let ((official-version "1.8.0") + (let ((official-version "1.9.0") (jumbo-version "1")) (package (name "john-the-ripper-jumbo") @@ -746,78 +792,86 @@ (define-public john-the-ripper-jumbo official-version "-jumbo-" jumbo-version ".tar.xz")) (sha256 (base32 - "08q92sfdvkz47rx6qjn7qv57cmlpy7i7rgddapq5384mb413vjds")) - (patches - (list (origin - (method url-fetch) - (uri (string-append "https://github.com/magnumripper/" - "JohnTheRipper/commit/" - "e2e868db3e153b3f959e119a51703d4afb99c624.patch")) - (file-name "john-the-ripper-jumbo-gcc5-inline.patch") - (sha256 - (base32 - "1shvcf1y2097115mxhzdkm64dr106a8zr6pqjqyh171q5ng5vfra"))) - (origin - (method url-fetch) - (uri (string-append "https://github.com/magnumripper/" - "JohnTheRipper/commit/" - "480e95b0e449863be3e1a5b0bc634a67df28b618.patch")) - (file-name "john-the-ripper-jumbo-non-x86.patch") - (sha256 - (base32 - "1ffd9dvhk0sb6ss8dv5yalh01lz30i7rilqilf2xv68gax2hyjqx"))))))) + "0fvz3v41hnaiv1ggpxanfykyfjq79cwp9qcqqn63vic357w27lgm")))) (build-system gnu-build-system) + (native-inputs + `(("perl" ,perl))) (inputs `(("gmp" ,gmp) - ("krb5" ,mit-krb5) ("libpcap" ,libpcap) ("nss" ,nss) ("openssl" ,openssl-1.0) + ("python" ,python-2) ; For "python" and "python2" shebangs + ("ruby" ,ruby) ; For genincstats.rb ("zlib" ,zlib))) (arguments `(#:configure-flags - (list (string-append - "CFLAGS=-O2 -g " - "-DJOHN_SYSTEMWIDE=1 " - "-DJOHN_SYSTEMWIDE_EXEC='\"" %output "/libexec/john\"' " - "-DJOHN_SYSTEMWIDE_HOME='\"" %output "/share/john\"'") - ;; For now, do not test for instruction set in configure, and - ;; do not pass '-march=native' to gcc: + (list "--with-systemwide" + ;; Do not test for instruction set in configure, and do not + ;; pass '-march=native' to gcc: "--disable-native-tests" - "--disable-native-macro") - #:tests? #f ;tests try to create '.john' in the build user's $HOME + "--disable-native-march" + ,(string-append + "--enable-simd=" + (let ((system (or (%current-target-system) + (%current-system)))) + (cond + ((or (string-prefix? "x86_64" system) + (string-prefix? "i686" system)) "sse2") + ((string-prefix? "aarch" system) "neon") + (else "no"))))) #:phases (modify-phases %standard-phases (add-before 'configure 'chdir-src - (lambda _ (chdir "src"))) + (lambda _ (chdir "src") #t)) (replace 'install (lambda _ (let ((bindir (string-append %output "/bin")) (docdir (string-append %output "/share/doc/john")) (execdir (string-append %output "/libexec/john")) - (homedir (string-append %output "/share/john")) + (datadir (string-append %output "/share/john")) (install-file-to (lambda (dir) (lambda (f) (install-file f dir)))) (symlink? (lambda (_ s) (eq? (stat:type s) 'symlink)))) (with-directory-excursion "../run" + (for-each (install-file-to bindir) + (cons* + "john" "makechr" "cprepair" "SIPdump" "tgtsnarf" + "genmkvpwd" "mkvcalcproba" "calc_stat" "raw2dyna" + (find-files "." "(to|2)?john(-[^.]*)?$"))) + (for-each (lambda (f) ; Install symlinked aliases + (let ((tgt (string-append bindir "/" (basename f)))) + ;; The use of install-file above dereferences + ;; symlinks. We'd rather have the symlinks + ;; for clarity, so remove tgt before linking. + (when (file-exists? tgt) (delete-file tgt)) + (symlink "john" tgt))) + (find-files "." symlink?)) (for-each (install-file-to execdir) - (cons* "mailer" "benchmark-unify" - (find-files "." ".*\\.(py|rb|pl)"))) - (for-each (install-file-to homedir) + (cons* "mailer" "benchmark-unify" "relbench" + (find-files "." ".*\\.js"))) + (for-each (lambda (f) + (let* ((base (basename f)) + (name (substring base 0 (string-index base #\.))) + (link (string-append bindir "/" name))) + (install-file f execdir) + (when (and (executable-file? f) + (not (file-exists? link))) + (symlink (string-append execdir "/" base) link)))) + (find-files "." ".*\\.(pl|py|rb|lua)")) + (for-each (install-file-to datadir) (append (find-files "." "(stats|dictionary.*)") (find-files "." "(.*\\.chr|.*\\.lst)") (find-files "." ".*\\.conf"))) - (for-each (install-file-to bindir) - '("tgtsnarf" "genmkvpwd" "mkvcalcproba" - "raw2dyna" "luks2john" "vncpcap2john" - "uaf2john" "calc_stat" "wpapcap2john" - "cprepair" "relbench" "SIPdump" "john")) - (for-each (lambda (f) ;install symlinked aliases - (symlink "john" - (string-append bindir "/" (basename f)))) - (find-files "." symlink?))) + (copy-recursively "rules" (string-append datadir "/rules"))) (copy-recursively "../doc" docdir) - #t)))))) + #t))) + (delete 'check) ; Tests need installed .conf files; move after install + (add-after 'install 'check + (lambda args + (setenv "HOME" "/tmp") ; Some tests need to write to ~/.john + (setenv "OMP_NUM_THREADS" (number->string (parallel-job-count))) + (apply (assoc-ref %standard-phases 'check) args)))))) (home-page "http://www.openwall.com/john/") (synopsis "Password cracker") (description "John the Ripper is a fast password cracker. Its primary diff --git a/gnu/packages/patches/cpio-CVE-2016-2037.patch b/gnu/packages/patches/cpio-CVE-2016-2037.patch deleted file mode 100644 index f1e068fb45..0000000000 --- a/gnu/packages/patches/cpio-CVE-2016-2037.patch +++ /dev/null @@ -1,49 +0,0 @@ -Fix CVE-2016-2037 (out of bounds write in process_copy_in()). - -Copied from upstream mailing list: -https://lists.gnu.org/archive/html/bug-cpio/2016-01/msg00005.html - ---- - - Other calls to cpio_safer_name_suffix seem to be safe. - . - * src/copyin.c (process_copy_in): Make sure that file_hdr.c_name - has at least two bytes allocated. - * src/util.c (cpio_safer_name_suffix): Document that use of this - function requires to be careful. -Author: Pavel Raiskup - ---- - src/copyin.c | 2 ++ - src/util.c | 5 ++++- - 2 files changed, 6 insertions(+), 1 deletion(-) - -Index: cpio-2.11+dfsg/src/copyin.c -=================================================================== ---- cpio-2.11+dfsg.orig/src/copyin.c -+++ cpio-2.11+dfsg/src/copyin.c -@@ -1433,6 +1433,8 @@ process_copy_in () - break; - } - -+ if (file_hdr.c_namesize <= 1) -+ file_hdr.c_name = xrealloc(file_hdr.c_name, 2); - cpio_safer_name_suffix (file_hdr.c_name, false, !no_abs_paths_flag, - false); - -Index: cpio-2.11+dfsg/src/util.c -=================================================================== ---- cpio-2.11+dfsg.orig/src/util.c -+++ cpio-2.11+dfsg/src/util.c -@@ -1374,7 +1374,10 @@ set_file_times (int fd, - } - - /* Do we have to ignore absolute paths, and if so, does the filename -- have an absolute path? */ -+ have an absolute path? -+ Before calling this function make sure that the allocated NAME buffer has -+ capacity at least 2 bytes to allow us to store the "." string inside. */ -+ - void - cpio_safer_name_suffix (char *name, bool link_target, bool absolute_names, - bool strip_leading_dots) diff --git a/gnu/packages/patches/docker-adjust-tests-for-changes-in-go.patch b/gnu/packages/patches/docker-adjust-tests-for-changes-in-go.patch new file mode 100644 index 0000000000..82d92cd4de --- /dev/null +++ b/gnu/packages/patches/docker-adjust-tests-for-changes-in-go.patch @@ -0,0 +1,67 @@ +From 4983ef7c1693ad6dfbe4e3809b12541241d7ff56 Mon Sep 17 00:00:00 2001 +From: Sebastiaan van Stijn +Date: Wed, 14 Aug 2019 02:51:08 +0200 +Subject: [PATCH] Adjust tests for changes in Go 1.12.8 / 1.11.13 + +``` +00:38:11 === Failed +00:38:11 === FAIL: opts TestParseDockerDaemonHost (0.00s) +00:38:11 hosts_test.go:87: tcp tcp:a.b.c.d address expected error "Invalid bind address format: tcp:a.b.c.d" return, got "parse tcp://tcp:a.b.c.d: invalid port \":a.b.c.d\" after host" and addr +00:38:11 hosts_test.go:87: tcp tcp:a.b.c.d/path address expected error "Invalid bind address format: tcp:a.b.c.d/path" return, got "parse tcp://tcp:a.b.c.d/path: invalid port \":a.b.c.d\" after host" and addr +00:38:11 +00:38:11 === FAIL: opts TestParseTCP (0.00s) +00:38:11 hosts_test.go:129: tcp tcp:a.b.c.d address expected error Invalid bind address format: tcp:a.b.c.d return, got parse tcp://tcp:a.b.c.d: invalid port ":a.b.c.d" after host and addr +00:38:11 hosts_test.go:129: tcp tcp:a.b.c.d/path address expected error Invalid bind address format: tcp:a.b.c.d/path return, got parse tcp://tcp:a.b.c.d/path: invalid port ":a.b.c.d" after host and addr +``` + +Signed-off-by: Sebastiaan van Stijn +Upstream-commit: 683766613a8c1dca8f95b19ddb7e083bb3aef266 +Component: engine +--- + opts/hosts_test.go | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/opts/hosts_test.go b/opts/hosts_test.go +index 8c54ec0f4b..7a0a943adf 100644 +--- a/opts/hosts_test.go ++++ b/opts/hosts_test.go +@@ -53,8 +53,8 @@ func TestParseHost(t *testing.T) { + func TestParseDockerDaemonHost(t *testing.T) { + invalids := map[string]string{ + +- "tcp:a.b.c.d": "Invalid bind address format: tcp:a.b.c.d", +- "tcp:a.b.c.d/path": "Invalid bind address format: tcp:a.b.c.d/path", ++ "tcp:a.b.c.d": "", ++ "tcp:a.b.c.d/path": "", + "udp://127.0.0.1": "Invalid bind address format: udp://127.0.0.1", + "udp://127.0.0.1:2375": "Invalid bind address format: udp://127.0.0.1:2375", + "tcp://unix:///run/docker.sock": "Invalid proto, expected tcp: unix:///run/docker.sock", +@@ -83,7 +83,7 @@ func TestParseDockerDaemonHost(t *testing.T) { + "localhost:5555/path": "tcp://localhost:5555/path", + } + for invalidAddr, expectedError := range invalids { +- if addr, err := parseDaemonHost(invalidAddr); err == nil || err.Error() != expectedError { ++ if addr, err := parseDaemonHost(invalidAddr); err == nil || expectedError != "" && err.Error() != expectedError { + t.Errorf("tcp %v address expected error %q return, got %q and addr %v", invalidAddr, expectedError, err, addr) + } + } +@@ -99,8 +99,8 @@ func TestParseTCP(t *testing.T) { + defaultHTTPHost = "tcp://127.0.0.1:2376" + ) + invalids := map[string]string{ +- "tcp:a.b.c.d": "Invalid bind address format: tcp:a.b.c.d", +- "tcp:a.b.c.d/path": "Invalid bind address format: tcp:a.b.c.d/path", ++ "tcp:a.b.c.d": "", ++ "tcp:a.b.c.d/path": "", + "udp://127.0.0.1": "Invalid proto, expected tcp: udp://127.0.0.1", + "udp://127.0.0.1:2375": "Invalid proto, expected tcp: udp://127.0.0.1:2375", + } +@@ -125,7 +125,7 @@ func TestParseTCP(t *testing.T) { + "localhost:5555/path": "tcp://localhost:5555/path", + } + for invalidAddr, expectedError := range invalids { +- if addr, err := ParseTCPAddr(invalidAddr, defaultHTTPHost); err == nil || err.Error() != expectedError { ++ if addr, err := ParseTCPAddr(invalidAddr, defaultHTTPHost); err == nil || expectedError != "" && err.Error() != expectedError { + t.Errorf("tcp %v address expected error %v return, got %s and addr %v", invalidAddr, expectedError, err, addr) + } + } diff --git a/gnu/packages/patches/fribidi-CVE-2019-18397.patch b/gnu/packages/patches/fribidi-CVE-2019-18397.patch new file mode 100644 index 0000000000..aff1a669b2 --- /dev/null +++ b/gnu/packages/patches/fribidi-CVE-2019-18397.patch @@ -0,0 +1,26 @@ +https://github.com/fribidi/fribidi/commit/034c6e9a1d296286305f4cfd1e0072b879f52568.patch + +From 034c6e9a1d296286305f4cfd1e0072b879f52568 Mon Sep 17 00:00:00 2001 +From: Dov Grobgeld +Date: Thu, 24 Oct 2019 09:37:29 +0300 +Subject: [PATCH] Truncate isolate_level to FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL + +--- + lib/fribidi-bidi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c +index 6c84392..d384878 100644 +--- a/lib/fribidi-bidi.c ++++ b/lib/fribidi-bidi.c +@@ -747,7 +747,9 @@ fribidi_get_par_embedding_levels_ex ( + } + + RL_LEVEL (pp) = level; +- RL_ISOLATE_LEVEL (pp) = isolate_level++; ++ RL_ISOLATE_LEVEL (pp) = isolate_level; ++ if (isolate_level < FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL-1) ++ isolate_level++; + base_level_per_iso_level[isolate_level] = new_level; + + if (!FRIBIDI_IS_NEUTRAL (override)) diff --git a/gnu/packages/patches/icecat-gnuzilla-fixes.patch b/gnu/packages/patches/icecat-gnuzilla-fixes.patch index 41f0d2e3a3..e8e0946f57 100644 --- a/gnu/packages/patches/icecat-gnuzilla-fixes.patch +++ b/gnu/packages/patches/icecat-gnuzilla-fixes.patch @@ -1,241 +1,546 @@ -From 2676d4e1eb64e18d2e4722c0ea0babdc1f716fa4 Mon Sep 17 00:00:00 2001 +From 2abca7767c461a022317bf18fbec51e8b3ce6a92 Mon Sep 17 00:00:00 2001 From: Mark H Weaver -Date: Mon, 28 Oct 2019 01:54:19 -0400 -Subject: [PATCH 1/4] Update to 68.2.0-gnu1. +Date: Thu, 31 Oct 2019 03:59:46 -0400 +Subject: [PATCH 1/2] Branding: fix patching of trademarkInfo within l10n + directory. -* makeicecat: Update to FFMINOR to 2, and update the expected -sha256sum of the firefox source tarball. +This is a followup to commit 930298e1efff3e40721659d8fd7118cdd2477bd4. + +* makeicecat: Patch in the IceCat logo copyright notice in all +brand.dtd files within l10n directory. --- - makeicecat | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + makeicecat | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/makeicecat b/makeicecat -index 97ee473..1bcf465 100644 +index 3ff2ead..4ff3e64 100755 --- a/makeicecat +++ b/makeicecat -@@ -21,7 +21,7 @@ - set -euxo pipefail - - FFMAJOR=68 --FFMINOR=1 -+FFMINOR=2 - FFSUB=0 - GNUVERSION=1 - FFVERSION=$FFMAJOR.$FFMINOR.$FFSUB -@@ -43,7 +43,7 @@ wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr - wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc - gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 - gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc --echo -n f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - -+echo -n 85f1c2eaf68ebedcbc0b78a342f6d16ef0865dedd426a1bba94b75c85f716f38 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - - echo Extracting Firefox tarball - tar -xf firefox-${FFVERSION}esr.source.tar.xz --- -2.23.0 - -From c3a7b761f11c75d3764779e731a7c7e86b072d2f Mon Sep 17 00:00:00 2001 -From: Mark H Weaver -Date: Mon, 28 Oct 2019 04:18:26 -0400 -Subject: [PATCH 2/4] Disable MOZ_SERVICES_HEALTHREPORT and MOZ_DATA_REPORTING. - -* data/patches/fix-data-reporting-check.patch: New file. -* data/patches/legacy-profiles.patch: Rename to ... -* data/patches/moz-configure-changes.patch: ... this, -and set MOZ_SERVICES_HEALTHREPORT to False. ---- - data/patches/fix-data-reporting-check.patch | 22 +++++++++++++++++++++ - data/patches/legacy-profiles.patch | 11 ----------- - data/patches/moz-configure-changes.patch | 14 +++++++++++++ - 3 files changed, 36 insertions(+), 11 deletions(-) - create mode 100644 data/patches/fix-data-reporting-check.patch - delete mode 100644 data/patches/legacy-profiles.patch - create mode 100644 data/patches/moz-configure-changes.patch - -diff --git a/data/patches/fix-data-reporting-check.patch b/data/patches/fix-data-reporting-check.patch -new file mode 100644 -index 0000000..d586dc5 ---- /dev/null -+++ b/data/patches/fix-data-reporting-check.patch -@@ -0,0 +1,22 @@ -+--- a/old-configure.in.orig 1980-01-01 18:59:51.000000000 -0500 -++++ b/old-configure.in 2019-10-28 04:13:17.343606008 -0400 -+@@ -3116,7 +3116,7 @@ -+ dnl If we have any service that uploads data (and requires data submission -+ dnl policy alert), set MOZ_DATA_REPORTING. -+ dnl We need SUBST for build system and DEFINE for xul preprocessor. -+-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then -++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then -+ MOZ_DATA_REPORTING=1 -+ AC_DEFINE(MOZ_DATA_REPORTING) -+ AC_SUBST(MOZ_DATA_REPORTING) -+--- a/old-configure.orig 1980-01-01 18:59:51.000000000 -0500 -++++ b/old-configure 2019-10-28 04:15:41.772322191 -0400 -+@@ -12150,7 +12150,7 @@ -+ -+ -+ -+-if test -n "$MOZ_TELEMETRY_REPORTING" || test -n "$MOZ_SERVICES_HEALTHREPORT" || test -n "$MOZ_CRASHREPORTER"; then -++if test "$MOZ_TELEMETRY_REPORTING" = 1 || test "$MOZ_SERVICES_HEALTHREPORT" = 1 || test "$MOZ_CRASHREPORTER" = 1; then -+ MOZ_DATA_REPORTING=1 -+ cat >> confdefs.pytmp <<\EOF -+ (''' MOZ_DATA_REPORTING ''', ' 1 ') -diff --git a/data/patches/legacy-profiles.patch b/data/patches/legacy-profiles.patch -deleted file mode 100644 -index 33e9e99..0000000 ---- a/data/patches/legacy-profiles.patch -+++ /dev/null -@@ -1,11 +0,0 @@ ----- a/browser/moz.configure.orig 1980-01-01 18:59:51.000000000 -0500 --+++ b/browser/moz.configure 2019-10-26 21:58:37.719617701 -0400 --@@ -7,7 +7,7 @@ -- imply_option('MOZ_PLACES', True) -- imply_option('MOZ_SERVICES_HEALTHREPORT', True) -- imply_option('MOZ_SERVICES_SYNC', True) ---imply_option('MOZ_DEDICATED_PROFILES', True) --+imply_option('MOZ_DEDICATED_PROFILES', False) -- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True) -- -- with only_when(target_is_linux & compile_environment): -diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch -new file mode 100644 -index 0000000..aa6f1a5 ---- /dev/null -+++ b/data/patches/moz-configure-changes.patch -@@ -0,0 +1,14 @@ -+--- a/browser/moz.configure.orig 1980-01-01 18:59:51.000000000 -0500 -++++ b/browser/moz.configure 2019-10-28 01:36:13.132873871 -0400 -+@@ -5,9 +5,9 @@ -+ # file, You can obtain one at http://mozilla.org/MPL/2.0/. -+ -+ imply_option('MOZ_PLACES', True) -+-imply_option('MOZ_SERVICES_HEALTHREPORT', True) -++imply_option('MOZ_SERVICES_HEALTHREPORT', False) -+ imply_option('MOZ_SERVICES_SYNC', True) -+-imply_option('MOZ_DEDICATED_PROFILES', True) -++imply_option('MOZ_DEDICATED_PROFILES', False) -+ imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True) -+ -+ with only_when(target_is_linux & compile_environment): --- -2.23.0 - -From 62f50f15abc91483c6aa7a2ac7ebb972e6f9affd Mon Sep 17 00:00:00 2001 -From: Mark H Weaver -Date: Mon, 28 Oct 2019 13:05:28 -0400 -Subject: [PATCH 3/4] Disable MOZ_BLOCK_PROFILE_DOWNGRADE. - -It would be desirable to prevent downgrades from one major version of -IceCat to another. However, as MOZ_BLOCK_PROFILE_DOWNGRADE is -currently implemented, it prevents downgrades from one build of -IceCat-68.2 to an earlier build of IceCat-68.2. Until we can find a -satisfactory solution, we disable this functionality entirely. - -* data/patches/moz-configure-changes.patch: Set -MOZ_BLOCK_PROFILE_DOWNGRADE to 'False'. ---- - data/patches/moz-configure-changes.patch | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/data/patches/moz-configure-changes.patch b/data/patches/moz-configure-changes.patch -index aa6f1a5..53091a4 100644 ---- a/data/patches/moz-configure-changes.patch -+++ b/data/patches/moz-configure-changes.patch -@@ -1,6 +1,6 @@ - --- a/browser/moz.configure.orig 1980-01-01 18:59:51.000000000 -0500 --+++ b/browser/moz.configure 2019-10-28 01:36:13.132873871 -0400 --@@ -5,9 +5,9 @@ -++++ b/browser/moz.configure 2019-10-28 13:04:11.469562089 -0400 -+@@ -5,10 +5,10 @@ - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - - imply_option('MOZ_PLACES', True) -@@ -8,7 +8,9 @@ - +imply_option('MOZ_SERVICES_HEALTHREPORT', False) - imply_option('MOZ_SERVICES_SYNC', True) - -imply_option('MOZ_DEDICATED_PROFILES', True) -+-imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True) - +imply_option('MOZ_DEDICATED_PROFILES', False) -- imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', True) -++imply_option('MOZ_BLOCK_PROFILE_DOWNGRADE', False) - - with only_when(target_is_linux & compile_environment): -+ option(env='MOZ_NO_PIE_COMPAT', --- -2.23.0 - -From 036f74092d223976054f9eafd8caa056f5975c54 Mon Sep 17 00:00:00 2001 -From: Mark H Weaver -Date: Mon, 28 Oct 2019 19:57:37 -0400 -Subject: [PATCH 4/4] Improve branding for version 68 ESR. - -* data/branding/icecat/locales/en-US/brand.dtd: Add brandProductName. -* data/branding/icecat/locales/en-US/brand.ftl: Add -brand-shorter-name, brand-full-name, brand-product-name, -vendor-short-name, and trademarkInfo. -* data/branding/icecat/locales/en-US/brand.properties: Add -brandProductName. -* makeicecat: Limit replacement of trademarkInfo.part1 of brand.dtd -files to only be done within l10n directory. Replace trademarkInfo of -brand.ftl files within l10n directory. ---- - data/branding/icecat/locales/en-US/brand.dtd | 1 + - data/branding/icecat/locales/en-US/brand.ftl | 5 +++++ - data/branding/icecat/locales/en-US/brand.properties | 1 + - makeicecat | 3 ++- - 4 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/data/branding/icecat/locales/en-US/brand.dtd b/data/branding/icecat/locales/en-US/brand.dtd -index 3788266..475ce7d 100644 ---- a/data/branding/icecat/locales/en-US/brand.dtd -+++ b/data/branding/icecat/locales/en-US/brand.dtd -@@ -5,5 +5,6 @@ - - - -+ - - -diff --git a/data/branding/icecat/locales/en-US/brand.ftl b/data/branding/icecat/locales/en-US/brand.ftl -index bd7fbe0..7c9fcc8 100644 ---- a/data/branding/icecat/locales/en-US/brand.ftl -+++ b/data/branding/icecat/locales/en-US/brand.ftl -@@ -2,4 +2,9 @@ - # License, v. 2.0. If a copy of the MPL was not distributed with this - # file, You can obtain one at http://mozilla.org/MPL/2.0/. - -+-brand-shorter-name = IceCat - -brand-short-name = IceCat -+-brand-full-name = GNU IceCat -+-brand-product-name = IceCat -+-vendor-short-name = GNU -+trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version. -diff --git a/data/branding/icecat/locales/en-US/brand.properties b/data/branding/icecat/locales/en-US/brand.properties -index 85e2894..9b9cf97 100644 ---- a/data/branding/icecat/locales/en-US/brand.properties -+++ b/data/branding/icecat/locales/en-US/brand.properties -@@ -5,6 +5,7 @@ - brandShorterName=IceCat - brandShortName=IceCat - brandFullName=IceCat -+brandProductName=IceCat - vendorShortName=GNU - - syncBrandShortName=Sync -diff --git a/makeicecat b/makeicecat -index 1bcf465..3ff2ead 100644 ---- a/makeicecat -+++ b/makeicecat -@@ -226,7 +226,8 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in +@@ -226,7 +226,7 @@ cp $DATA/bookmarks.html.in browser/locales/generic/profile/bookmarks.html.in # Custom legal about pages --find -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i -+find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i -+find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i +-find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "">/' -i ++find l10n -wholename '*/brand.dtd' |xargs /bin/sed 's/trademarkInfo.part1.*/trademarkInfo.part1 "The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version.">/' -i + find l10n -wholename '*/brand.ftl' |xargs /bin/sed 's/^trademarkInfo = .*/trademarkInfo = The IceCat logo is Copyright 2008-2015 Free Software Foundation, released under the terms of the GNU Lesser General Public License, version 3 or any later version./' -i for STRING in rights.intro-point3-unbranded rights.intro-point4a-unbranded rights.intro-point4b-unbranded rights.intro-point4c-unbranded - do +-- +2.23.0 + +From 150af5dd8b502b66f325b9fe8bd0b2ae553326a4 Mon Sep 17 00:00:00 2001 +From: Mark H Weaver +Date: Wed, 30 Oct 2019 18:34:44 -0400 +Subject: [PATCH 2/2] Add first batch of IceCat-specific preferences. + +* makeicecat: Add code to add IceCat-specific messages to l10n directory. +* data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl, +data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl, +data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl, +data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl, +data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl, +data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl, +data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl, +data/patches/icecat-preferences.patch: New files. +--- + .../en-US/browser/preferences/preferences.ftl | 36 ++++ + .../browser/preferences/preferences.ftl | 36 ++++ + .../browser/preferences/preferences.ftl | 36 ++++ + .../browser/preferences/preferences.ftl | 36 ++++ + .../browser/preferences/preferences.ftl | 36 ++++ + .../browser/preferences/preferences.ftl | 36 ++++ + .../browser/preferences/preferences.ftl | 36 ++++ + data/patches/icecat-preferences.patch | 155 ++++++++++++++++++ + makeicecat | 13 ++ + 9 files changed, 420 insertions(+) + create mode 100644 data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl + create mode 100644 data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl + create mode 100644 data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl + create mode 100644 data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl + create mode 100644 data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl + create mode 100644 data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl + create mode 100644 data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl + create mode 100644 data/patches/icecat-preferences.patch + +diff --git a/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl +new file mode 100644 +index 0000000..2f90bcd +--- /dev/null ++++ b/data/files-to-append/browser/locales/en-US/browser/preferences/preferences.ftl +@@ -0,0 +1,36 @@ ++ ++## IceCat-specific privacy settings ++ ++icecat-privacy-group-header = IceCat-specific privacy settings ++ ++disable-javascript-option = ++ .label = Disable JavaScript ++disable-javascript-description = Disabling Javascript greatly improves privacy, security and freedom, but it will break many sites. ++ ++disable-custom-fonts-option = ++ .label = Do not load custom fonts ++disable-custom-fonts-description = Custom fonts can be used for fingerprinting. Disabling them improves privacy but may make some sites look wrong. ++ ++isolate-request-first-party-option = ++ .label = Isolate requests to First Party domains ++isolate-request-first-party-description = This improves privacy, but it may interfere with login into some sites. ++ ++auto-update-extensions-option = ++ .label = Automatically update extensions ++auto-update-extensions-description = Enabling automated updates is good for security, but would start Internet connections in the background. ++ ++spoof-referers-option = ++ .label = Spoof Referers ++spoof-referers-description = Referers tell sites what link brought you there. This feature greatly improves your privacy, but it may break functionality on some sites. ++ ++detect-captive-portal-option = ++ .label = Detect captive portal ++detect-captive-portal-description = Captive portals are the sites that control access to public wireless networks in hotels, airports, cafes, etc. The detection service is useful if you connect to such netwoks, but it will start connections automatically. ++ ++geolocation-option = ++ .label = Enable Geolocation ++geolocation-description = This is commonly used for maps, weather sites, and some stores. It is better to keep it off unless you really need it. ++ ++webgl-option = ++ .label = Enable WebGL ++webgl-description = Needed to visualize 3D graphics, but it may expose you to security threats. Enable it only if you really use it. +diff --git a/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl +new file mode 100644 +index 0000000..ad052b3 +--- /dev/null ++++ b/data/files-to-append/l10n/es-AR/browser/browser/preferences/preferences.ftl +@@ -0,0 +1,36 @@ ++ ++## IceCat-specific privacy settings ++ ++icecat-privacy-group-header = Ajustes de privacidad de IceCat ++ ++disable-javascript-option = ++ .label = Desactivar JavaScript ++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas. ++ ++disable-custom-fonts-option = ++ .label = No cargar fuentes personalizadas ++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas. ++ ++isolate-request-first-party-option = ++ .label = Aislar las solicitudes a los Dominios Primarios ++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs. ++ ++auto-update-extensions-option = ++ .label = Actualizar las extensiones automáticamente ++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano. ++ ++spoof-referers-option = ++ .label = Modificar los referers HTTP ++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas. ++ ++detect-captive-portal-option = ++ .label = Detectar los portales cautivos ++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano. ++ ++geolocation-option = ++ .label = Activar Geolocalización ++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación. ++ ++webgl-option = ++ .label = Activar WebGL ++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla. +diff --git a/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl +new file mode 100644 +index 0000000..ad052b3 +--- /dev/null ++++ b/data/files-to-append/l10n/es-CL/browser/browser/preferences/preferences.ftl +@@ -0,0 +1,36 @@ ++ ++## IceCat-specific privacy settings ++ ++icecat-privacy-group-header = Ajustes de privacidad de IceCat ++ ++disable-javascript-option = ++ .label = Desactivar JavaScript ++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas. ++ ++disable-custom-fonts-option = ++ .label = No cargar fuentes personalizadas ++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas. ++ ++isolate-request-first-party-option = ++ .label = Aislar las solicitudes a los Dominios Primarios ++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs. ++ ++auto-update-extensions-option = ++ .label = Actualizar las extensiones automáticamente ++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano. ++ ++spoof-referers-option = ++ .label = Modificar los referers HTTP ++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas. ++ ++detect-captive-portal-option = ++ .label = Detectar los portales cautivos ++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano. ++ ++geolocation-option = ++ .label = Activar Geolocalización ++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación. ++ ++webgl-option = ++ .label = Activar WebGL ++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla. +diff --git a/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl +new file mode 100644 +index 0000000..ad052b3 +--- /dev/null ++++ b/data/files-to-append/l10n/es-ES/browser/browser/preferences/preferences.ftl +@@ -0,0 +1,36 @@ ++ ++## IceCat-specific privacy settings ++ ++icecat-privacy-group-header = Ajustes de privacidad de IceCat ++ ++disable-javascript-option = ++ .label = Desactivar JavaScript ++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas. ++ ++disable-custom-fonts-option = ++ .label = No cargar fuentes personalizadas ++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas. ++ ++isolate-request-first-party-option = ++ .label = Aislar las solicitudes a los Dominios Primarios ++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs. ++ ++auto-update-extensions-option = ++ .label = Actualizar las extensiones automáticamente ++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano. ++ ++spoof-referers-option = ++ .label = Modificar los referers HTTP ++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas. ++ ++detect-captive-portal-option = ++ .label = Detectar los portales cautivos ++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano. ++ ++geolocation-option = ++ .label = Activar Geolocalización ++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación. ++ ++webgl-option = ++ .label = Activar WebGL ++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla. +diff --git a/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl +new file mode 100644 +index 0000000..ad052b3 +--- /dev/null ++++ b/data/files-to-append/l10n/es-MX/browser/browser/preferences/preferences.ftl +@@ -0,0 +1,36 @@ ++ ++## IceCat-specific privacy settings ++ ++icecat-privacy-group-header = Ajustes de privacidad de IceCat ++ ++disable-javascript-option = ++ .label = Desactivar JavaScript ++disable-javascript-description = Desactivar JavaScript mejora enormemente la privacidad, la seguridad en Internet y la libertad en su equipo, pero afectará a la funcionalidad de muchas páginas. ++ ++disable-custom-fonts-option = ++ .label = No cargar fuentes personalizadas ++disable-custom-fonts-description = Las fuentes personalizadas pueden usarse para rastrear al usuario. Desactivarlas mejora la privacidad pero puede afectar al aspecto visual de algunas páginas. ++ ++isolate-request-first-party-option = ++ .label = Aislar las solicitudes a los Dominios Primarios ++isolate-request-first-party-description = Este ajuste mejora la privacidad, pero puede interferir con el inicio de sesión en algunas webs. ++ ++auto-update-extensions-option = ++ .label = Actualizar las extensiones automáticamente ++auto-update-extensions-description = Activar las actualizaciones automáticas es bueno para la seguridad, pero precisa del establecimiento de conexiones a otros servidores en segundo plano. ++ ++spoof-referers-option = ++ .label = Modificar los referers HTTP ++spoof-referers-description = Los referers son cabeceras HTTP que informan a una página acerca de nuestro enlace de origen. Activar esta característica mejora enormemente su privacidad, pero puede afectar a la funcionalidad de algunas páginas. ++ ++detect-captive-portal-option = ++ .label = Detectar los portales cautivos ++detect-captive-portal-description = Los portales cautivos son las webs que registran y controlan el acceso a redes inalámbricas públicas en hoteles, aeropuertos, cafés y similares. El servicio que los detecta es práctico si se ve a menudo en la necesidad de usarlos, pero implica el establecimiento de conexiones en segundo plano. ++ ++geolocation-option = ++ .label = Activar Geolocalización ++geolocation-description = Esta característica se usa habitualmente en mapas, páginas del tiempo y algunas tiendas. Es mejor desactivarla si realmente no necesita que identifiquen su ubicación. ++ ++webgl-option = ++ .label = Activar WebGL ++webgl-description = Esta función necesaria para mostrar ciertos gráficos 3D en el navegador puede exponerle a ciertos riesgos de seguridad. Actívela solamente si va a usarla. +diff --git a/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl +new file mode 100644 +index 0000000..4008883 +--- /dev/null ++++ b/data/files-to-append/l10n/fr/browser/browser/preferences/preferences.ftl +@@ -0,0 +1,36 @@ ++ ++## IceCat-specific privacy settings ++ ++icecat-privacy-group-header = Vie privée de IceCat ++ ++disable-javascript-option = ++ .label = Disable JavaScript ++disable-javascript-description = Désactiver JavaScript améliore grandement le respect de la vie privée, la sécurité et la liberté, mais cela risque de rendre beaucoup de sites web inutilisables. ++ ++disable-custom-fonts-option = ++ .label = Ne pas charger de polices personnalisées ++disable-custom-fonts-description = Les polices personnalisées peuvent être utilisées pour vous identifier. Les désactiver améliore le respect de la vie privée mais peut détérorier le rendu de certains sites. ++ ++isolate-request-first-party-option = ++ .label = Isoler les requêtes vers les domaines de premier niveau ++isolate-request-first-party-description = Améliore le respect de la vie privée, mais peut interférer avec la page de login de certains sites web. ++ ++auto-update-extensions-option = ++ .label = Mettre à jour les extensions automatiquement ++auto-update-extensions-description = Activer les mises à jour automatiques améliore votre sécurité, mais cela va ouvrir des connexions internet en arrière-plan. ++ ++spoof-referers-option = ++ .label = Usurper l'identité des Referers ++spoof-referers-description = Les Referers indiquent aux sites web quel lien vous y a amené. Cette fonctionnalité améliore grandement le respect de la vie privée, mais peut entraîner la perte de fonctionnalités sur certains sites. ++ ++detect-captive-portal-option = ++ .label = Détecter les portails captifs ++detect-captive-portal-description = Les portails captifs sont les sites qui contrôlent l'accès aux réseaux sans fils publics dans les hôtels, les aéroports, les bars, etc. Ce service de détection est utile si vous vous connectez à ce type de réseaux, mais cela entraîne l'ouverture automatique de connexions. ++ ++geolocation-option = ++ .label = Activer la géolocalisation ++geolocation-description = Elle est utilisée couramment pour les cartes, les sites de prévisions météo, et certaines boutiques en ligne. Il vaut mieux la désactivez à moins d'en avoir réellement besoin. ++ ++webgl-option = ++ .label = Activer WebGL ++webgl-description = Nécessaire afin de visualiser les graphisme en 3D, mais peut vous exposer à des menaces de sécurité. Activer WebGL seulement si vous l'utilisez réellement. +diff --git a/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl +new file mode 100644 +index 0000000..a1fe1b7 +--- /dev/null ++++ b/data/files-to-append/l10n/it/browser/browser/preferences/preferences.ftl +@@ -0,0 +1,36 @@ ++ ++## IceCat-specific privacy settings ++ ++icecat-privacy-group-header = Impostazioni sulla privacy di IceCat ++ ++disable-javascript-option = ++ .label = Disabilita JavaScript ++disable-javascript-description = Disabilitare Javascript migliora notevolmente la privacy, la sicurezza e la libertà, ma compromette la funzionalità molti siti. ++ ++disable-custom-fonts-option = ++ .label = Non caricare caratteri personalizzati ++disable-custom-fonts-description = I caratteri personalizzati possono essere utilizzati per il fingerprinting. Disabilitarli migliora la privacy ma potrebbe far compromettere la visibilità di alcuni siti. ++ ++isolate-request-first-party-option = ++ .label = Isolare le richieste ai domini proprietari ++isolate-request-first-party-description = Questo migliora la privacy, ma potrebbe interferire con il login in alcuni siti. ++ ++auto-update-extensions-option = ++ .label = Aggiorna automaticamente le estensioni ++auto-update-extensions-description = Abilitare gli aggiornamenti automatici è positivo per la sicurezza, ma avvierebbe connessioni Internet in background. ++ ++spoof-referers-option = ++ .label = Spoof Referers ++spoof-referers-description = I referer dicono ai siti quale link ti ha portato lì. Questa funzione migliora notevolmente la privacy, ma potrebbe compromettere la funzionalità di alcuni siti. ++ ++detect-captive-portal-option = ++ .label = Rileva il captive portal ++detect-captive-portal-description = I captive portal sono i siti che controllano l'accesso alle reti wireless pubbliche negli hotel, negli aeroporti, nei bar, ecc. Il servizio di rilevamento è utile se ci si connette a tali reti, ma avvierà automaticamente le connessioni. ++ ++geolocation-option = ++ .label = Abilita geolocalizzazione ++geolocation-description = Questo è comunemente usato per mappe, siti meteo e alcuni negozi online. È meglio tenerlo spento a meno che non se ne abbia veramente bisogno. ++ ++webgl-option = ++ .label = Abilita WebGL ++webgl-description = Necessario per visualizzare la grafica 3D, ma potrebbe esporre a minacce alla sicurezza. Abilitare solo in caso di necessità. +diff --git a/data/patches/icecat-preferences.patch b/data/patches/icecat-preferences.patch +new file mode 100644 +index 0000000..86fdd06 +--- /dev/null ++++ b/data/patches/icecat-preferences.patch +@@ -0,0 +1,155 @@ ++--- a/browser/components/preferences/in-content/privacy.xul.orig 2019-10-16 15:29:49.000000000 -0400 +++++ b/browser/components/preferences/in-content/privacy.xul 2019-10-30 23:54:53.591633131 -0400 ++@@ -594,6 +594,79 @@ ++ data-l10n-id="addressbar-suggestions-settings"/> ++ ++ +++ +++ +++ ++