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 @@ 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 @@ définir les canaux par défaut."))) (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 @@ einer Fremddistribution führen Sie dazu @code{sudo guix pull} aus; auf einem 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 @@ met @code{sudo guix pull}. Herstart vervolgens in beide gevallen (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 @@ guix install glibc-locales glibc-locales-2.28 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 @@ guix install glibc-locales glibc-locales-2.28 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 @@ binaires à partir desquels les paquets sont construits pèse maintenant environ 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 @@ Bootstrapping\"} uit voor meer details, of bekijk de presentatie op (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 @@ Mechanismus können Kanalautoren Ihren Nutzern @dfn{Einträge zu 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 @@ #: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 @@ system is under heavy load.") (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 @@ a new command using the matched rule, and runs it.") (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 @@ tool for remote execution and deployment.") (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 @@ the real span of the lattice.") (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 @@ features, and more.") (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 @@ features, and more.") (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 @@ file system.") (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 @@ dictionaries, including personal ones.") "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 @@ #: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 @@ follower.") (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 @@ follower.") (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 @@ also play midifiles using a Soundfont.") (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 @@ synchronous execution of all clients, and low latency operation.") (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 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.") (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 @@ included are the command line utilities @code{send_osc} and @code{dump_osc}.") ("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 @@ tempo and pitch of an audio recording independently of one another.") (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 @@ tempo and pitch of an audio recording independently of one another.") ("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 @@ input/output.") (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 @@ the Turtle syntax.") (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 @@ result.") (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 @@ result.") (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 @@ library.") (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 @@ other Gnaural instances, allowing synchronous sessions between many users.") 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 @@ random access nor for in-place modification.") (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 @@ random access nor for in-place modification.") ;; 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 @@ random access nor for in-place modification.") ;; 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 @@ with the Linux kernel.") (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 @@ #: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 @@ completion for many common commands.") (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 @@ features (e.g. genes, microRNAs).") (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 @@ interval to data view, mismatch pileup, and several splicing summaries.") (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 @@ HTML reports with interesting findings about your samples.") (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 @@ and reflect the fast5 file schema, and tools to convert between (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 @@ desktops.") (define-public qbittorrent (package (name "qbittorrent") - (version "4.1.9") + (version "4.1.9.1") (source (origin (method git-fetch) @@ -425,7 +425,7 @@ desktops.") (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 @@ across a broad spectrum of applications.") (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 @@ board-independent tools."))) "_" "-"))) (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 @@ for system '~a'") ;;; 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 @@ generate such a compilation database.") (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 @@ generate such a compilation database.") (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 @@ generate such a compilation database.") (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 @@ format.") (define-public cppcheck (package (name "cppcheck") - (version "1.87") + (version "1.89") (source (origin (method git-fetch) (uri (git-reference @@ -296,7 +296,7 @@ format.") (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 @@ #: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 @@ "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 @@ "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 @@ "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 @@ "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 @@ from forcing GEXP-PROMISE." #: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 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "0hajwjf7swlgh1flpf8ljfrb2zhmcpzvrigvvxqd36g3nm04cknm")))) + "01wx5bi397d80za0sdfwgfbjj6n2ad2i31zmcrhm6wzryjwrmx6i")))) (define %ungoogled-origin (origin @@ -265,7 +269,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "08fd9whfc1qky44xqxbypr7jz1rg6cma017wj4b5c5b14grxz6k6")))) + "1gqbch6dnww3c3vn1i4nb07iz1f78mws9dsxscj3rsrkcgwhsdz8")))) (define %debian-origin (origin @@ -279,7 +283,7 @@ from forcing GEXP-PROMISE." (string-take %debian-revision 7)))) (sha256 (base32 - "1fjhpzrxmgjr7i31li1vsfmp0qkbi0cpyc7p1zjwvf2x4da0v907")))) + "1l1ajjkn1y7ql5w4zb3c3vw57hkydvy1mac7y81rycx4g5djasaz")))) (define (gentoo-patch name hash revision) (origin @@ -289,20 +293,6 @@ from forcing GEXP-PROMISE." (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 @@ from forcing GEXP-PROMISE." ;; 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 @@ from forcing GEXP-PROMISE." ;; 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 @@ from forcing GEXP-PROMISE." `(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 @@ from forcing GEXP-PROMISE." ;; 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 @@ from forcing GEXP-PROMISE." ;; 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 @@ from forcing GEXP-PROMISE." (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 @@ from forcing GEXP-PROMISE." (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 @@ from forcing GEXP-PROMISE." ("libjpeg-turbo" ,libjpeg-turbo) ("libpng" ,libpng) ("libva" ,libva) - ("libvpx" ,libvpx) + ("libvpx" ,libvpx/chromium) ("libwebp" ,libwebp) ("libx11" ,libx11) ("libxcb" ,libxcb) @@ -832,12 +853,7 @@ disabled in order to protect the users privacy.") (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 @@ and workspaces that can be used in the compiler environment of your choice.") (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 @@ features that are not supported by the standard @code{stdio} implementation.") (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 @@ importantly we give you proper follow-symbol and find-references support.") (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 @@ importantly we give you proper follow-symbol and find-references support.") "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 @@ produce colored output.") (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 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ("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 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ,@(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 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%" ;; 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-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 @@ #: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 @@ intuitive syntax and trivial integration.") (define-public xtl (package (name "xtl") - (version "0.6.7") + (version "0.6.8") (source (origin (method git-fetch) (uri @@ -263,7 +264,7 @@ intuitive syntax and trivial integration.") (commit version))) (sha256 (base32 - "0dds2fzyis42b1c3biqr3ir9l96csyyfkwrkm3fqjksdhgdklzmj")) + "13gm8vm1b9nzvlcc632f9khnjw1xdjqj6c7k51r173y1hlk0div7")) (file-name (git-file-name name version)))) (native-inputs `(("googletest" ,googletest) @@ -350,3 +351,27 @@ tools: @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 @@ single step.") (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 @@ including functions for geolocation and routing.") (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 @@ including functions for geolocation and routing.") `(("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 @@ you to rapidly iterate while developing a package.") (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 @@ most popular ones.") (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 @@ regression using Kernel Ridge Regression.") (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 @@ iVAT).") (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 @@ terminals.") (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 @@ additional external tools on any platform.") (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 @@ user's computer should be used to save data, caches and logs. It is a port of 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 @@ and adds the annotation to the plot.") (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 @@ functions.") (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 @@ references and Rd files.") (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 @@ functions.") (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 @@ bootstrap. Confidence intervals can be computed for (p)AUC or ROC curves.") (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 @@ second male (P2) based on the best fit distribution.") (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 @@ effects models and Bayesian models.") (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 @@ effects models and Bayesian models.") ("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 @@ address a bug.") (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 @@ isosurfaces.") (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 @@ manipulate tree data.") (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 @@ creating color scales and calculating color distances.") (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 @@ This makes it a convenient and fast interface to C/C++ and Fortran code.") (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 @@ Differences with other sparse matrix packages are: (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 @@ putative directions).") (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 @@ them in distributed compute environments.") (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 @@ either PDF/EPS files.") (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 @@ SELECT or UPDATE queries to an end-point.") (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 @@ data manipulation and visualization.") (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 @@ consists of @code{grid} grobs and viewports that can then be manipulated with (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 @@ includes data sets from oceanography.") (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 @@ communication, encryption, decryption, signatures, etc.") (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 @@ communication, encryption, decryption, signatures, etc.") "/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 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R (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 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R (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 @@ utility/testing functions.") (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-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 @@ "/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 @@ should only be used as part of the Guix cups-pk-helper service.") (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 @@ should only be used as part of the Guix cups-pk-helper service.") (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 @@ ElasticSearch server") `(#: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 @@ implementation for Python.") #: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 @@ (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 @@ (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 @@ #: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 @@ #: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 @@ #: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 @@ #: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 @@ synthesis, and on-the-fly re-configuration.") 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 @@ built-in registry server of 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 @@ easy.") (define-public snap (package (name "snap") - (version "5.1.0") + (version "5.2.5") (source (origin (method git-fetch) @@ -263,7 +263,7 @@ easy.") (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 @@ letters of the alphabet, spelling, eye-hand coordination, etc.") (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 @@ #: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 @@ to take care of the OS-specific details when writing software that uses serial p (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 @@ #: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 @@ static analysis of the ELF binaries at hand.") (define-public patchelf (package (name "patchelf") - (version "0.8") + (version "0.10") (source (origin (method url-fetch) (uri (string-append @@ -207,28 +208,24 @@ static analysis of the ELF binaries at hand.") "/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 @@ #: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 @@ handful of functions that are not resource-specific.") (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 @@ or unexpected behavior inside an elisp configuration file (typically (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 @@ as a library for other Emacs packages.") (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 @@ package provides a light and a dark variant.") (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 @@ is to keep colors easily distinguishable, contrast enough and still pleasant 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 @@ extensions.") (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 @@ extensions.") (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 @@ actually changing the buffer's text.") (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 @@ configuration in your @file{.emacs} file in a way that is both 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 @@ the nick color and the background color (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 @@ the nick color and the background color (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 @@ It supports dired buffers and opens them in tree mode at destination.") (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 @@ well as Github-style emojis like @code{:smile:}. It provides a minor mode (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 @@ included by default, and more can be readily added.") (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 @@ functionality is inherited from @code{hcl-mode}.") (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 @@ to with quicklink-style selections.") (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 @@ used with SGML-like languages: XML, HTML, XHTML, XSL, etc.") (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 @@ cohesion with the Emacs Way.") (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 @@ cohesion with the Emacs Way.") (file-name (git-file-name name version)) (sha256 (base32 - "1pjqnbyjmj64q5nwq1mrdxcls4fp5y0b6zqs785i0s6wdvrm4021")))) + "17lqip1i1rrsvxzz4bx9rqf1fvwd3hriwg3sj6qxmfc8pylnp37q")))) (build-system emacs-build-system) (inputs `(("fish" ,fish))) (arguments @@ -15147,6 +15210,7 @@ try completing. See @code{fish-completion-fallback-on-bash-p}.") (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 @@ from @code{emms-source-file-default-directory}.") (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 @@ projects unrelated to current-buffer. (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 @@ and 'text viewing modes' respectively.") (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 @@ a suffix) we prefer to call it just a \"transient\".") (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 @@ well as an option for visually flashing evaluated s-expressions.") 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 @@ minibuffer or an each area message). 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 @@ emulation community. It provides highly accurate emulation.") (define-public retroarch (package (name "retroarch") - (version "1.8.0") + (version "1.8.1") (source (origin (method git-fetch) @@ -1062,7 +1062,7 @@ emulation community. It provides highly accurate emulation.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1mgszd8gb5nk08kfykap9b1l5rl4qfy39dbba8crjj0zkc4z1jga")))) + (base32 "0y7rcpz7psf8k3agsrq277jdm651vbnn9xpqvmj2in1a786idya7")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests @@ -1188,7 +1188,7 @@ play them on systems for which they were never designed!") (define-public mame (package (name "mame") - (version "0.214") + (version "0.215") (source (origin (method git-fetch) @@ -1198,7 +1198,7 @@ play them on systems for which they were never designed!") (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 @@ language.") (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 @@ language.") ("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 @@ render model libraries.") (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 @@ render model libraries.") (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 @@ editors.") (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 @@ full programmatic control over your models.") (define-public freecad (package (name "freecad") - (version "0.18.3") + (version "0.18.4") (source (origin (method git-fetch) @@ -2234,7 +2214,7 @@ full programmatic control over your models.") (file-name (git-file-name name version)) (sha256 (base32 - "1ny29y0h8smg1bwi5yn4kcnyfprqh3v7v2z8837cmmhcwp8dr95m")))) + "170hk1kgrvsddrwykp24wyj0cha78zzmzbf50gn98x7ngqqs395s")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -2427,7 +2407,7 @@ or the official 3dxserv, as if they were using the magellan SDK. 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-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 @@ 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 @@ testing InfiniBand networks.") (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 @@ testing InfiniBand networks.") "--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 @@ #: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 @@ ("gtk3" ,gtk+) ("icu4c" ,icu4c) ("iso-codes" ,iso-codes) + ("json-c" ,json-c) ("libxkbfile" ,libxkbfile) ("libxml2" ,libxml2) ("xkeyboard-config" ,xkeyboard-config))) @@ -99,7 +101,7 @@ built-in.") (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 @@ of the bitcoin protocol. This package provides the Bitcoin Core command 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 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; 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 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch #t)) (sha256 (base32 - "00zl883c7lcd9z7g4y3vv7rxmr7ppzrxdblnhk32r9l3qzyw55r6")))) + "19y4kcj4agws7swfa3draysb1y18c3xb13r8cg0faxx1dlm0zbnr")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -547,13 +576,18 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (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 @@ the Monero command line client and daemon.") (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 @@ the Monero command line client and daemon.") (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 @@ the Monero command line client and daemon.") (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 @@ Trezor wallet.") (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 @@ For synthesis, the compiler generates netlists in the desired format.") (define-public yosys (package (name "yosys") - (version "0.8") + (version "0.9") (source (origin (method git-fetch) (uri (git-reference @@ -129,7 +129,7 @@ For synthesis, the compiler generates netlists in the desired format.") (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 @@ #: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 @@ applications, X servers (rootless or fullscreen) or other display servers.") (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 @@ interfaces, based on the useradd, usermod and userdel commands.") (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 @@ interfaces, based on the useradd, usermod and userdel commands.") "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 @@ encoding names are iconv-compatible.") ;; 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 @@ #: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 @@ Algorithm. This algorithm is used to properly display text in left-to-right 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-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 @@ projects.") (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 @@ projects.") (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 @@ tired of cows, a variety of other ASCII-art messengers are available.") (define-public freedoom (package (name "freedoom") - (version "0.11.3") + (version "0.12.1") (source (origin (method git-fetch) @@ -509,38 +509,19 @@ tired of cows, a variety of other ASCII-art messengers are available.") (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 @@ tired of cows, a variety of other ASCII-art messengers are available.") (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 @@ fight Morgoth, the Lord of Darkness.") (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 @@ match, cannon keep, and grave-itation pit.") (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 @@ match, cannon keep, and grave-itation pit.") (file-name (git-file-name name version)) (sha256 (base32 - "1hw3n7qqpasq6bivxhq01kr0d58w0gp46s0baxixp1fakd79p8a7")))) + "1r9fxz2j24q74a9injvbxbf2xk67fzabv616i676zw2cvgv9hn39")))) (build-system trivial-build-system) (native-inputs `(("source" ,source))) @@ -1889,7 +1876,7 @@ match, cannon keep, and grave-itation pit.") (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 @@ match, cannon keep, and grave-itation pit.") (file-name (git-file-name name version)) (sha256 (base32 - "11i8fqjpdggqfdlx440k5758zy0nbf9phxan9r63mavc7mph88ay")) + "184n9gxfa7yr0j85z2x736maaymsnppd5jzm326wlqri3c0qqy3z")) (modules '((guix build utils))) (snippet '(begin @@ -4746,7 +4733,7 @@ fish. The whole game is accompanied by quiet, comforting music.") (define-public crawl (package (name "crawl") - (version "0.23.2") + (version "0.24.0") (source (origin (method url-fetch) @@ -4759,7 +4746,7 @@ fish. The whole game is accompanied by quiet, comforting music.") (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 @@ #: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 @@ #: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 @@ topology functions.") `(#: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 @@ topology functions.") ,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 @@ XyGrib is the continuation of the zyGrib software package with a new team of 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 @@ #: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-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 @@ provided, as well as a framework to add new color models and data types.") (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 @@ buffers.") (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 @@ buffers.") "/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 @@ shared NFS home directories.") ("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 @@ and keep up to date translations of documentation.") (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 @@ Hints specification (EWMH).") (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 @@ Hints specification (EWMH).") (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 @@ Hints specification (EWMH).") "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 @@ keyboard shortcuts.") (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 @@ both a traditional UI or a modern UI with a GtkHeaderBar.") (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 @@ for application developers.") ("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 @@ for application developers.") #: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 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") (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 @@ supports playlists, song ratings, and any codecs installed through gstreamer.") `(("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 @@ DAV, and others.") (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 @@ almost all of them.") `(#: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 @@ almost all of them.") ("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 @@ a secret password store, an adblocker, and a modern UI.") ;; 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 @@ a secret password store, an adblocker, and a modern UI.") (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 @@ associations for 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 @@ functionality and behavior.") (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 @@ views can be printed as PDF or PostScript files, or exported to HTML.") (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 @@ higher level porcelain stuff.") (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 @@ #: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 @@ files, to verify signatures, and to manage the private and public keys.") (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 @@ files, to verify signatures, and to manage the private and public keys.") 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 @@ files, to verify signatures, and to manage the private and public keys.") ("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 @@ files, to verify signatures, and to manage the private and public keys.") ("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 @@ from forcing GEXP-PROMISE." #: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 @@ from forcing GEXP-PROMISE." (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 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.12.10") + (version "1.12.13") (source (origin (method url-fetch) @@ -228,7 +228,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "0m1rvawvpdl7kd0asw10m50xbxlhykix6dng9p4x6ih6x3y4hvpm")))) + "19zmrhydd52vhdnzlhxqklzg1mnav434dcgw9wl4iajbvfwd70sk")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) @@ -1166,6 +1166,7 @@ GNU extensions} to the POSIX recommendations for command-line options.") (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 @@ a cron spec parser and job runner.") (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 @@ more.") (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 @@ more.") "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 @@ #: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 @@ independent of your desktop environment, and supports global key bindings.") (define-public yad (package (name "yad") - (version "0.41.0") + (version "5.0") (source (origin (method git-fetch) @@ -1738,24 +1739,24 @@ independent of your desktop environment, and supports global key bindings.") (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 @@ messaging library.") (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 @@ many readers as needed).") (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 @@ interface for reading articles in any format.") (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 @@ format is also supported.") (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 @@ The picture values can directly be displayed in Geiser.") (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 @@ unique algebra of patches called @url{http://darcs.net/Theory,Patchtheory}. (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 @@ Wayland, and Linux console environments alike.") (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 @@ proved to be an excellent learning experience for the programmers. Everything 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 @@ #: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 @@ between 2 and 3 times faster than the Mersenne Twister.") `(("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 @@ may also simplify input method development.") (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 @@ may also simplify input method development.") "/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 @@ including CBZ, CB7, CBT, LHA.") (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 @@ ISO/IEC 15444-1).") (define-public zimg (package (name "zimg") - (version "2.5") + (version "2.9.2") (source (origin (method git-fetch) @@ -1292,8 +1292,7 @@ ISO/IEC 15444-1).") (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 @@ #: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 @@ "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 @@ ;; 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 @@ using a mouse. It is customizable and extensible with plugins and scripts.") (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 @@ (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 @@ new Date();")) `(("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 @@ debugging, etc.") #: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 @@ expressions to graphs of objects of all kinds: JavaBeans, Maps, Servlet 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 @@ import org.antlr.grammar.v3.ANTLRTreePrinter;")) (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 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (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 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) ("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 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) (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 @@ OSGi Service Registry is a goal of this project.") (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 @@ the application using Java to Lisp integration APIs.") 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 @@ (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 @@ communicate with each other. Here's a few things KDE Connect can do: "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 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (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 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") (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 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") ("gconf" ,gconf) ("glew" ,glew) ("glm" ,glm) + ("gnupg" ,gnupg) + ("gobject-introspection" ,gobject-introspection) ("gperf" ,gperf) ("gpgme" ,gpgme) ("graphite2" ,graphite2) @@ -1112,7 +1114,6 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") #: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 @@ #: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 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "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 @@ at login. Local and dynamic reconfiguration are its key features.") (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 @@ The package provides additional NTFS tools.") (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 @@ The package provides additional NTFS tools.") 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 @@ The package provides additional NTFS tools.") (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 @@ The collection contains a set of bandwidth and latency benchmark such as: (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 @@ The collection contains a set of bandwidth and latency benchmark such as: (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 @@ monitoring tools for Linux. These include @code{mpstat}, @code{iostat}, (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 @@ libraries, which are often integrated directly into libfabric.") "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 @@ compiler. In LLVM this library is called \"compiler-rt\".") '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 @@ compiler. In LLVM this library is called \"compiler-rt\".") ;; 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 @@ use with Clang, targeting C++11, C++14 and above.") (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 @@ commands, displaying the results via a web interface.") (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 @@ windows in a terminal, colorize, filter and merge.") (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 @@ #: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 @@ (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 @@ itself as well as other components maintained by the LXQt project.") (define-public libqtxdg (package (name "libqtxdg") - (version "3.3.1") + (version "3.4.0") (source (origin (method url-fetch) @@ -166,7 +166,7 @@ itself as well as other components maintained by the LXQt project.") "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 @@ itself as well as other components maintained by the LXQt project.") #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 @@ configuration of both LXQt and the underlying operating system.") (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 @@ operating systems.") (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 @@ compresses it.") (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 @@ compresses it.") ".tar.xz")) (sha256 (base32 - "1wnj6c9cbmhphs2l6wfvndkk2g08rmxw0sl2c8k1k008dxd1ykjh")))) + "00mfhaac16sv67rwiq98hr4nl5zmd1h2afswwwksdcsi3q9x23jr")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("bogofilter" ,bogofilter) @@ -1293,7 +1291,7 @@ facilities for checking incoming mail.") (define-public dovecot (package (name "dovecot") - (version "2.3.7.2") + (version "2.3.8") (source (origin (method url-fetch) @@ -1301,8 +1299,7 @@ facilities for checking incoming mail.") (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 @@ maintained.") (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 @@ maintained.") (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 @@ Authentication-Results header seen in the wild.") (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 @@ Authentication-Results header seen in the wild.") ".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 @@ e-mails with other systems speaking the SMTP protocol.") (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 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ;; 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 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." (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 @@ for `sh' in $PATH, and without nscd, and with static NSS modules." ,@(%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 @@ get_machine.") ((#: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 @@ a graphical desktop environment like GNOME.") (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 @@ is also scriptable and extensible via Guile.") (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 @@ is also scriptable and extensible via Guile.") (file-name (git-file-name name version)) (sha256 (base32 - "06f5nfaypvxrbsinxa1k2vrxrs7kqmg38g4wwwk5d63hpn1pj8ak")))) + "0xzfg1xx88cn36352nnjlb1p7xyw32yqkhjzq10px88iaaqz1vv0")))) (build-system gnu-build-system) (inputs `(("expat" ,expat) @@ -1583,21 +1583,22 @@ is also scriptable and extensible via Guile.") 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 @@ manual SSL certificate verification.") 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 @@ QMatrixClient project.") ("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 @@ etc. via a Web interface. Features include: (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 @@ etc. via a Web interface. Features include: "/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 @@ compression format (.mpc files).") (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 @@ protocol.") (define-public mpd-mpc (package (name "mpd-mpc") - (version "0.32") + (version "0.33") (source (origin (method url-fetch) (uri @@ -166,7 +166,7 @@ protocol.") "/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 @@ #: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 @@ a powerful programming interface to gather information about the hardware, 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 @@ bind processes, and much more.") "/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 @@ bind processes, and much more.") "-1")) #t)))))))) +(define-deprecated hwloc-2.0 'hwloc-2 + hwloc-2) + (define-public openmpi (package (name "openmpi") @@ -169,10 +174,11 @@ bind processes, and much more.") (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 @@ bind processes, and much more.") "--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 @@ only provides @code{MPI_THREAD_FUNNELED}."))) (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 @@ add_library( rapidjson INTERFACE IMPORTED )")) (("#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 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1379,7 +1388,7 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "15kabmxp38wqvavs5hr1dqasjjf1j977kzqggxfmzyi3y5fan3hj")))) + "116k2vca9dygvsd684wvxm61p0l1xrrgdph4qrrprlsr6vj0llgm")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1403,7 +1412,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1411,7 +1420,7 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "010p8nwnmqgj5mw324psig3hxi1g2gylxrigd6sj6sgcpy3kdm23")))) + "1wnjn175l0mz51k9pjf3pdzv54c4jlh63saavld9lm6zfgfs13d7")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1436,7 +1445,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1444,7 +1453,7 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "138kd9szgn3b97s7crhsyj8pgwb0bn4l9knd4zliqjgj2f1bs9x0")))) + "17zs8kvvwqv00bm4lxpn09a5hxjlbz7k5mkl3k7jspw7rqn3djf2")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -1469,7 +1478,7 @@ effects.") (define-public padthv1 (package (name "padthv1") - (version "0.9.8") + (version "0.9.11") (source (origin (method url-fetch) (uri @@ -1477,7 +1486,7 @@ effects.") "/padthv1-" version ".tar.gz")) (sha256 (base32 - "1k4p2ir12qjcs62knvw2s6qyvb46203yx22fnwp341cjk171cxji")))) + "02yfwyirjqxa075yqdnci9b9k57kdmkjvn9gnpdbnjp887pds76g")))) (build-system gnu-build-system) (arguments `(#:tests? #f)) ; there are no tests @@ -2142,7 +2151,7 @@ capabilities, custom envelopes, effects, etc.") (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 @@ capabilities, custom envelopes, effects, etc.") "/yoshimi-" version ".tar.bz2")) (sha256 (base32 - "140f2k4akj39pny8c7i794q125415gyvmy4rday0il5ncp3glik4")))) + "1z2mnmm299ng6jcwa61dzr1ilwa5fjgsggxl2wa5smji6b4npmx7")))) (build-system cmake-build-system) (arguments `(#:tests? #f ; there are no tests @@ -2344,14 +2353,14 @@ from the command line.") (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 @@ are a C compiler and glib. Full API documentation and examples are included.") (define-public lmms (package (name "lmms") - (version "1.1.3") + (version "1.2.1") (source (origin (method git-fetch) @@ -3717,12 +3726,23 @@ are a C compiler and glib. Full API documentation and examples are included.") (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 @@ are a C compiler and glib. Full API documentation and examples are included.") (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 @@ are a C compiler and glib. Full API documentation and examples are included.") ".*\\.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 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (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 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (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 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke (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 @@ You can also get metadata about the playing track such as the artist and title 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 @@ ncursesw library provides wide character support.") (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 @@ ncursesw library provides wide character support.") 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 @@ reconfigured.") (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 @@ maximum extent possible.") 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 @@ files in these formats.") (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 @@ big- and little-endian, with their unsafe counter-parts.") (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 @@ library is currently designed for Unicode Standard 3.2.") (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 @@ back-end for the LLVM compiler framework.") (define-public pocl (package (name "pocl") - (version "1.2") + (version "1.4") (source (origin (method git-fetch) @@ -304,7 +304,7 @@ back-end for the LLVM compiler framework.") (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 @@ back-end for the LLVM compiler framework.") ("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 @@ ;; 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 @@ (commit commit))) (sha256 (base32 - "18bxcbxcwxlgfgdapjyxg0d98c9g00ivjhhb2xyg42dbmbkh6nqy")) + "08sblj4xy78va6zlxmxdq2id58pjr8rjqxxycd77hiacsqbjh9g6")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -907,14 +907,14 @@ Microsoft cabinet (.@dfn{CAB}) files.") (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 @@ and they are executed on lists of files, hosts, users or other items.") (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 @@ and they are executed on lists of files, hosts, users or other items.") 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 @@ and they are executed on lists of files, hosts, users or other items.") (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 @@ #: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 @@ #: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 @@ templates, clipboard handling, and per folder settings for multi-recipient 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 @@ between hosts and entries in the password store.") (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 @@ between hosts and entries in the password store.") 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"/> ++ ++ +++ +++ +++ ++