From 07c791c1104db3530eb12c918043fc3b30c093be Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 9 Dec 2018 00:49:54 +0100 Subject: [PATCH 01/53] hydra: Increase image sizes for USB image and Flash image. * build-aux/hydra/gnu-system.scm (qemu-jobs) : Increase from 1024 MiB to 1500 MiB. : Increase from 1024 MiB to 1500 MiB. --- build-aux/hydra/gnu-system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/build-aux/hydra/gnu-system.scm b/build-aux/hydra/gnu-system.scm index d6b0132807..05d430df0a 100644 --- a/build-aux/hydra/gnu-system.scm +++ b/build-aux/hydra/gnu-system.scm @@ -187,14 +187,14 @@ (define MiB (bootloader u-boot-bootloader) (target #f)))) #:disk-image-size - (* 1024 MiB)))))) + (* 1500 MiB)))))) (list (->job 'usb-image (run-with-store store (mbegin %store-monad (set-guile-for-build (default-guile)) (system-disk-image installation-os #:disk-image-size - (* 1024 MiB))))) + (* 1500 MiB))))) (->job 'iso9660-image (run-with-store store (mbegin %store-monad From 5a8b00f26bc9fa5e48ddbfd738000a8ebd5ddc60 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 8 Dec 2018 19:36:16 -0500 Subject: [PATCH 02/53] gnu: gcl: Update snapshot. * gnu/packages/lisp.scm (gcl): Update to 2.6.12-2.d3335e2. --- gnu/packages/lisp.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 120d0d5e17..d1c0a2ef37 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -84,8 +84,8 @@ (define (asdf-substitutions lisp) ,lisp)))) (define-public gcl - (let ((commit "5956140b1083e2302a59d7ce2054b0b7c2cbb417") - (revision "1")) ;Guix package revision + (let ((commit "d3335e2b3deb63f930eb0328e9b05377744c9512") + (revision "2")) ;Guix package revision (package (name "gcl") (version (string-append "2.6.12-" revision "." @@ -98,7 +98,7 @@ (define-public gcl (commit commit))) (file-name (string-append "gcl-" version "-checkout")) (sha256 - (base32 "0mwclf2879mh3d9xqkqhghf58lwy7srsnsq9x0f1cc6j302sy4hb")))) + (base32 "05v86lhvsby05nzvcd3c4k0wljvgdgd0i6arzd2fx1yd67dl6fgj")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; The build system seems not to be thread safe. From b05399dffc5c7d25fe46c8c7070708b0e6ea4fc2 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Sun, 9 Dec 2018 01:28:44 +0100 Subject: [PATCH 03/53] gnu: supercollider: Update to 3.10.0. * gnu/packages/audio.scm (supercollider): Update to 3.10.0. [arguments]<#:phases>[disable-broken-tests]: Modify. --- gnu/packages/audio.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 678bbcf55f..2786f62163 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2183,7 +2183,7 @@ (define-public qjackrcd (define-public supercollider (package (name "supercollider") - (version "3.9.3") + (version "3.10.0") (source (origin (method url-fetch) (uri (string-append @@ -2192,7 +2192,7 @@ (define-public supercollider "/SuperCollider-" version "-Source-linux.tar.bz2")) (sha256 (base32 - "1d8ixfl100jvlialxdizp8wqsl1mp5pi2bam25vp97bhjd59cfdr")))) + "16j9psa32czx1p1y2vvq0qf2ib0ngrfc604vx35n2b4llyika84v")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DSYSTEM_BOOST=on" "-DSYSTEM_YAMLCPP=on" @@ -2230,13 +2230,13 @@ (define-public supercollider ;; https://github.com/supercollider/supercollider/issues/1736 (add-after 'rm-bundled-libs 'disable-broken-tests (lambda _ - (substitute* "testsuite/supernova/CMakeLists.txt" + (substitute* "testsuite/server/supernova/CMakeLists.txt" (("server_test.cpp") "") (("perf_counter_test.cpp") "")) - (delete-file "testsuite/supernova/server_test.cpp") - (delete-file "testsuite/supernova/perf_counter_test.cpp") + (delete-file "testsuite/server/supernova/server_test.cpp") + (delete-file "testsuite/server/supernova/perf_counter_test.cpp") (substitute* "testsuite/CMakeLists.txt" (("add_subdirectory\\(sclang\\)") "")) From b779dbac721a008647a7fd646a3e19cbbb6b0e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 13 Nov 2018 21:36:01 +0800 Subject: [PATCH 04/53] gnu: Add liblcf. * gnu/packages/easyrpg.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. --- gnu/local.mk | 1 + gnu/packages/easyrpg.scm | 62 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 gnu/packages/easyrpg.scm diff --git a/gnu/local.mk b/gnu/local.mk index ae3aee7c21..42b13d1aec 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -146,6 +146,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/documentation.scm \ %D%/packages/dunst.scm \ %D%/packages/dvtm.scm \ + %D%/packages/easyrpg.scm \ %D%/packages/ebook.scm \ %D%/packages/ed.scm \ %D%/packages/education.scm \ diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm new file mode 100644 index 0000000000..6844f83ded --- /dev/null +++ b/gnu/packages/easyrpg.scm @@ -0,0 +1,62 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Sou Bunnbu +;;; +;;; 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 easyrpg) + #:use-module (guix packages) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xml)) + +(define-public liblcf + (package + (name "liblcf") + (version "0.5.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://easyrpg.org/downloads/player/" version + "/liblcf-" version ".tar.gz")) + (sha256 + (base32 + "1k99bcw5c23801jk3mbz5sj5h18x46w1qxrkknhwhfgqzpvxhwrs")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + ;; Required by 'liblcf.pc'. + `(("expat" ,expat) + ("icu" ,icu4c))) + (home-page "https://easyrpg.org/") + (synopsis "Library to handle RPG Maker 2000 and 2003 game data") + (description + "@code{liblcf} is a library to handle RPG Maker 2000 and 2003 game data. +It can read and write LCF and XML files.") + ;; It includes a copy of Boost Preprocessor Cat and Stringize (boost-1.0): + ;; src/boost/preprocessor/config.hpp + ;; src/boost/preprocessor/cat.hpp + ;; src/boost/preprocessor/stringize.hpp + ;; and a copy of inih (bsd-3): + ;; src/ini.h + ;; src/ini.cpp + ;; src/inireader.h + ;; src/inireader.cpp + ;; TODO: Unbundle them. + (license license:expat))) From 1f1d6af714e65e32bc03b9e7a62819ea90f59563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 14 Nov 2018 22:01:54 +0800 Subject: [PATCH 05/53] gnu: Add easyrpg-player. * gnu/packages/easyrpg.scm (easyrpg-player): New variable. --- gnu/packages/easyrpg.scm | 59 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/easyrpg.scm b/gnu/packages/easyrpg.scm index 6844f83ded..05fd2b11a0 100644 --- a/gnu/packages/easyrpg.scm +++ b/gnu/packages/easyrpg.scm @@ -21,8 +21,18 @@ (define-module (gnu packages easyrpg) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (gnu packages audio) + #:use-module (gnu packages compression) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages mp3) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages pulseaudio) + #:use-module (gnu packages sdl) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages xiph) #:use-module (gnu packages xml)) (define-public liblcf @@ -60,3 +70,52 @@ (define-public liblcf ;; src/inireader.cpp ;; TODO: Unbundle them. (license license:expat))) + +(define-public easyrpg-player + (package + (name "easyrpg-player") + (version "0.5.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://easyrpg.org/downloads/player/" version + "/easyrpg-player-" version ".tar.gz")) + (sha256 + (base32 + "0w0idr61slg5828j1q31c1kh1h0ryp8psc006y06jph5pp3qgm48")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--with-bash-completion-dir=" + %output "/etc/bash_completion.d/")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("freetype" ,freetype) + ("harfbuzz" ,harfbuzz) + ("liblcf" ,liblcf) + ("libpng" ,libpng) + ("libsndfile" ,libsndfile) + ("libvorbis" ,libvorbis) + ("libxmp" ,libxmp) + ("mpg123" ,mpg123) + ("opusfile" ,opusfile) + ("pixman" ,pixman) + ("sdl2-mixer" ,sdl2-mixer) + ("sdl2" ,sdl2) + ("speexdsp" ,speexdsp) + ;; ("wildmidi" ,wildmidi) ; TODO: package it + ("zlib" ,zlib))) + (home-page "https://easyrpg.org/") + (synopsis "Play RPG Maker 2000 and 2003 games") + (description + "EasyRPG Player is a game interpreter to play RPG Maker 2000, 2003 and +EasyRPG games. It uses the LCF parser library (liblcf) to read RPG Maker game +data.") + ;; It bundles FMMidi YM2608 FM synthesizer emulator (bsd-3): + ;; src/midisynth.h + ;; src/midisynth.cpp + ;; and PicoJSON JSON parser/serializer (bsd-2): + ;; src/picojson.h + ;; TODO: Unbundle them. + (license license:gpl3+))) From 5d3f673db4f866564b4226046a266de36dc21dbd Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 5 Dec 2018 18:35:36 -0500 Subject: [PATCH 06/53] gnu: polkit: Fix CVE-2018-19788. * gnu/packages/patches/polkit-CVE-2018-19788.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/polkit.scm (polkit)[source]: Use it. --- gnu/local.mk | 1 + .../patches/polkit-CVE-2018-19788.patch | 197 ++++++++++++++++++ gnu/packages/polkit.scm | 1 + 3 files changed, 199 insertions(+) create mode 100644 gnu/packages/patches/polkit-CVE-2018-19788.patch diff --git a/gnu/local.mk b/gnu/local.mk index 42b13d1aec..1f368aba71 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1063,6 +1063,7 @@ dist_patch_DATA = \ %D%/packages/patches/plink-endian-detection.patch \ %D%/packages/patches/plotutils-libpng-jmpbuf.patch \ %D%/packages/patches/podofo-cmake-3.12.patch \ + %D%/packages/patches/polkit-CVE-2018-19788.patch \ %D%/packages/patches/poppler-CVE-2018-19149.patch \ %D%/packages/patches/portaudio-audacity-compat.patch \ %D%/packages/patches/portmidi-modular-build.patch \ diff --git a/gnu/packages/patches/polkit-CVE-2018-19788.patch b/gnu/packages/patches/polkit-CVE-2018-19788.patch new file mode 100644 index 0000000000..58cde6c5dc --- /dev/null +++ b/gnu/packages/patches/polkit-CVE-2018-19788.patch @@ -0,0 +1,197 @@ +Fix CVE-2018-19788: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-19788 +https://gitlab.freedesktop.org/polkit/polkit/issues/74 + +Patch copied from upstream source repository: + +https://gitlab.freedesktop.org/polkit/polkit/commit/2cb40c4d5feeaa09325522bd7d97910f1b59e379 + +From 2cb40c4d5feeaa09325522bd7d97910f1b59e379 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= +Date: Mon, 3 Dec 2018 10:28:58 +0100 +Subject: [PATCH] Allow negative uids/gids in PolkitUnixUser and Group objects + +(uid_t) -1 is still used as placeholder to mean "unset". This is OK, since +there should be no users with such number, see +https://systemd.io/UIDS-GIDS#special-linux-uids. + +(uid_t) -1 is used as the default value in class initialization. + +When a user or group above INT32_MAX is created, the numeric uid or +gid wraps around to negative when the value is assigned to gint, and +polkit gets confused. Let's accept such gids, except for -1. + +A nicer fix would be to change the underlying type to e.g. uint32 to +not have negative values. But this cannot be done without breaking the +API, so likely new functions will have to be added (a +polkit_unix_user_new variant that takes a unsigned, and the same for +_group_new, _set_uid, _get_uid, _set_gid, _get_gid, etc.). This will +require a bigger patch. + +Fixes https://gitlab.freedesktop.org/polkit/polkit/issues/74. +--- + src/polkit/polkitunixgroup.c | 15 +++++++++++---- + src/polkit/polkitunixprocess.c | 12 ++++++++---- + src/polkit/polkitunixuser.c | 13 ++++++++++--- + 3 files changed, 29 insertions(+), 11 deletions(-) + +diff --git a/src/polkit/polkitunixgroup.c b/src/polkit/polkitunixgroup.c +index c57a1aa..309f689 100644 +--- a/src/polkit/polkitunixgroup.c ++++ b/src/polkit/polkitunixgroup.c +@@ -71,6 +71,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixGroup, polkit_unix_group, G_TYPE_OBJECT, + static void + polkit_unix_group_init (PolkitUnixGroup *unix_group) + { ++ unix_group->gid = -1; /* (git_t) -1 is not a valid GID under Linux */ + } + + static void +@@ -100,11 +101,14 @@ polkit_unix_group_set_property (GObject *object, + GParamSpec *pspec) + { + PolkitUnixGroup *unix_group = POLKIT_UNIX_GROUP (object); ++ gint val; + + switch (prop_id) + { + case PROP_GID: +- unix_group->gid = g_value_get_int (value); ++ val = g_value_get_int (value); ++ g_return_if_fail (val != -1); ++ unix_group->gid = val; + break; + + default: +@@ -131,9 +135,9 @@ polkit_unix_group_class_init (PolkitUnixGroupClass *klass) + g_param_spec_int ("gid", + "Group ID", + "The UNIX group ID", +- 0, ++ G_MININT, + G_MAXINT, +- 0, ++ -1, + G_PARAM_CONSTRUCT | + G_PARAM_READWRITE | + G_PARAM_STATIC_NAME | +@@ -166,9 +170,10 @@ polkit_unix_group_get_gid (PolkitUnixGroup *group) + */ + void + polkit_unix_group_set_gid (PolkitUnixGroup *group, +- gint gid) ++ gint gid) + { + g_return_if_fail (POLKIT_IS_UNIX_GROUP (group)); ++ g_return_if_fail (gid != -1); + group->gid = gid; + } + +@@ -183,6 +188,8 @@ polkit_unix_group_set_gid (PolkitUnixGroup *group, + PolkitIdentity * + polkit_unix_group_new (gint gid) + { ++ g_return_val_if_fail (gid != -1, NULL); ++ + return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_GROUP, + "gid", gid, + NULL)); +diff --git a/src/polkit/polkitunixprocess.c b/src/polkit/polkitunixprocess.c +index 972b777..b02b258 100644 +--- a/src/polkit/polkitunixprocess.c ++++ b/src/polkit/polkitunixprocess.c +@@ -159,9 +159,14 @@ polkit_unix_process_set_property (GObject *object, + polkit_unix_process_set_pid (unix_process, g_value_get_int (value)); + break; + +- case PROP_UID: +- polkit_unix_process_set_uid (unix_process, g_value_get_int (value)); ++ case PROP_UID: { ++ gint val; ++ ++ val = g_value_get_int (value); ++ g_return_if_fail (val != -1); ++ polkit_unix_process_set_uid (unix_process, val); + break; ++ } + + case PROP_START_TIME: + polkit_unix_process_set_start_time (unix_process, g_value_get_uint64 (value)); +@@ -239,7 +244,7 @@ polkit_unix_process_class_init (PolkitUnixProcessClass *klass) + g_param_spec_int ("uid", + "User ID", + "The UNIX user ID", +- -1, ++ G_MININT, + G_MAXINT, + -1, + G_PARAM_CONSTRUCT | +@@ -303,7 +308,6 @@ polkit_unix_process_set_uid (PolkitUnixProcess *process, + gint uid) + { + g_return_if_fail (POLKIT_IS_UNIX_PROCESS (process)); +- g_return_if_fail (uid >= -1); + process->uid = uid; + } + +diff --git a/src/polkit/polkitunixuser.c b/src/polkit/polkitunixuser.c +index 8bfd3a1..234a697 100644 +--- a/src/polkit/polkitunixuser.c ++++ b/src/polkit/polkitunixuser.c +@@ -72,6 +72,7 @@ G_DEFINE_TYPE_WITH_CODE (PolkitUnixUser, polkit_unix_user, G_TYPE_OBJECT, + static void + polkit_unix_user_init (PolkitUnixUser *unix_user) + { ++ unix_user->uid = -1; /* (uid_t) -1 is not a valid UID under Linux */ + unix_user->name = NULL; + } + +@@ -112,11 +113,14 @@ polkit_unix_user_set_property (GObject *object, + GParamSpec *pspec) + { + PolkitUnixUser *unix_user = POLKIT_UNIX_USER (object); ++ gint val; + + switch (prop_id) + { + case PROP_UID: +- unix_user->uid = g_value_get_int (value); ++ val = g_value_get_int (value); ++ g_return_if_fail (val != -1); ++ unix_user->uid = val; + break; + + default: +@@ -144,9 +148,9 @@ polkit_unix_user_class_init (PolkitUnixUserClass *klass) + g_param_spec_int ("uid", + "User ID", + "The UNIX user ID", +- 0, ++ G_MININT, + G_MAXINT, +- 0, ++ -1, + G_PARAM_CONSTRUCT | + G_PARAM_READWRITE | + G_PARAM_STATIC_NAME | +@@ -182,6 +186,7 @@ polkit_unix_user_set_uid (PolkitUnixUser *user, + gint uid) + { + g_return_if_fail (POLKIT_IS_UNIX_USER (user)); ++ g_return_if_fail (uid != -1); + user->uid = uid; + } + +@@ -196,6 +201,8 @@ polkit_unix_user_set_uid (PolkitUnixUser *user, + PolkitIdentity * + polkit_unix_user_new (gint uid) + { ++ g_return_val_if_fail (uid != -1, NULL); ++ + return POLKIT_IDENTITY (g_object_new (POLKIT_TYPE_UNIX_USER, + "uid", uid, + NULL)); +-- +2.18.1 + diff --git a/gnu/packages/polkit.scm b/gnu/packages/polkit.scm index 7cc5205faa..830006d439 100644 --- a/gnu/packages/polkit.scm +++ b/gnu/packages/polkit.scm @@ -49,6 +49,7 @@ (define-public polkit (uri (string-append "https://www.freedesktop.org/software/polkit/releases/" name "-" version ".tar.gz")) + (patches (search-patches "polkit-CVE-2018-19788.patch")) (sha256 (base32 "0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg")) From bff07c024efb8dbe704928a04b1305abb7f0aeab Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 9 Dec 2018 03:13:10 -0500 Subject: [PATCH 07/53] gnu: linux-libre@4.9: Update to 4.9.144. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.144. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 12c0033196..74244de6af 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -433,8 +433,8 @@ (define-public linux-libre-4.14 #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.143" - "0vg6hs7vc09riyki8lyy73p3ghl6k9q4xfv7dals4s9q61i6b6d6" + (make-linux-libre "4.9.144" + "1jckikf1j294gr3sf43bfy3h34q3yqbqgqbj9l0px427h3n2vgkk" %intel-compatible-systems #:configuration-file kernel-config)) From 80606f7737880f7e41dab2681b2750f588ca566c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 9 Dec 2018 03:14:02 -0500 Subject: [PATCH 08/53] gnu: linux-libre@4.14: Update to 4.14.87. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.87. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 74244de6af..02e16b08be 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -423,8 +423,8 @@ (define-public linux-libre #:patches %linux-libre-4.19-patches #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.86") -(define %linux-libre-4.14-hash "1w98drq4ns2awwrbbkd6vy9fh219w8bfjfni5zndfycs5yh5hg65") +(define %linux-libre-4.14-version "4.14.87") +(define %linux-libre-4.14-hash "1013h3qbsq76vlhrbl3gci25jbwydzm7k0bg08fbq42qrhjq92ak") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From 99c39c28f9a5040c82693eea9c09be3a17a0dfcb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 9 Dec 2018 03:15:14 -0500 Subject: [PATCH 09/53] gnu: linux-libre: Update to 4.19.8. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.19.8. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 02e16b08be..1cdf2bf478 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -400,8 +400,8 @@ (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "a ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.19.7") -(define %linux-libre-hash "1fj038hz6b7g9gdiw9kggydryf8dvrdsfn81snns9bn5b01yp67n") +(define %linux-libre-version "4.19.8") +(define %linux-libre-hash "1rmgf3sbcyb47s3sagac7zrrpznq0vlcbzjzlzir95biy7lbswb3") (define %linux-libre-4.19-patches (list %boot-logo-patch From accb5c310001339bb4956632db89b1654c6431f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= Date: Sun, 9 Dec 2018 12:41:15 +0100 Subject: [PATCH 10/53] gnu: openjdk: Make idlj respect SOURCE_DATE_EPOCH. * gnu/packages/patches/openjdk-10-idlj-reproducibility.patch: New file. * gnu/packages/java.scm (openjdk10)[source]: Use it. * gnu/locale.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/java.scm | 2 ++ .../openjdk-10-idlj-reproducibility.patch | 36 +++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 gnu/packages/patches/openjdk-10-idlj-reproducibility.patch diff --git a/gnu/local.mk b/gnu/local.mk index 1f368aba71..50fc08445f 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1019,6 +1019,7 @@ dist_patch_DATA = \ %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openfoam-4.1-cleanup.patch \ + %D%/packages/patches/openjdk-10-idlj-reproducibility.patch \ %D%/packages/patches/openldap-CVE-2017-9287.patch \ %D%/packages/patches/openocd-nrf52.patch \ %D%/packages/patches/opensmtpd-fix-crash.patch \ diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a09bcfabe5..951c1f4fd3 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -1820,6 +1820,8 @@ (define-public openjdk10 (sha256 (base32 "0zywq2203b4hx4jms9vbwvjcj1d3k2v3qpx4s33729fkpmid97r4")) + (patches (search-patches + "openjdk-10-idlj-reproducibility.patch")) (modules '((guix build utils))) (snippet `(begin diff --git a/gnu/packages/patches/openjdk-10-idlj-reproducibility.patch b/gnu/packages/patches/openjdk-10-idlj-reproducibility.patch new file mode 100644 index 0000000000..b29a06f272 --- /dev/null +++ b/gnu/packages/patches/openjdk-10-idlj-reproducibility.patch @@ -0,0 +1,36 @@ +From a0a0c6a43b88d946f2b5484892cf0209bd7c0e68 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= +Date: Sat, 8 Dec 2018 21:25:31 +0100 +Subject: [PATCH] Make idlj respect SOURCE_DATE_EPOCH. + +--- + .../sun/tools/corba/se/idl/toJavaPortable/Util.java | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java b/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java +index 7397619f2..583d6b8e4 100644 +--- a/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java ++++ b/src/java.corba/share/classes/com/sun/tools/corba/se/idl/toJavaPortable/Util.java +@@ -1146,7 +1146,18 @@ public class Util extends com.sun.tools.corba.se.idl.Util + else + formatter.setTimeZone (java.util.TimeZone.getDefault ()); + +- stream.println ("* " + formatter.format (new Date ())); ++ try { ++ String epoch = System.getenv("SOURCE_DATE_EPOCH"); ++ if(epoch != null) { ++ long unixTime = Long.parseLong(epoch); ++ stream.println ("* " + formatter.format (new Date (unixTime*1000L))); ++ } else { ++ stream.println ("* " + formatter.format (new Date ())); ++ } ++ } catch (Exception e) { ++ //in case of error fall back to default ++ stream.println ("* " + formatter.format (new Date ())); ++ } + + // + /////////////// +-- +2.19.2 + From d7e24652426dd4291eb8592dfcf1aed3a41289aa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 9 Dec 2018 13:54:31 +0100 Subject: [PATCH 11/53] gnu: sorcer: Always return #T from build phases. * gnu/packages/music.scm (sorcer)[arguments]: Use INVOKE. --- gnu/packages/music.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 37fcf019bc..e16e64af73 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -3942,9 +3942,9 @@ (define-public sorcer (lambda* (#:key inputs #:allow-other-keys) (with-directory-excursion "faust" (delete-file "main.cpp") - (zero? (system* "faust" "-i" - "-a" "lv2synth.cpp" - "-o" "main.cpp" "main.dsp")))))))) + (invoke "faust" "-i" + "-a" "lv2synth.cpp" + "-o" "main.cpp" "main.dsp"))))))) (inputs `(("boost" ,boost) ("lv2" ,lv2) From af12790bdd3805bbd7bca2b7c1d9045666f377eb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 13 Oct 2018 08:39:23 +0200 Subject: [PATCH 12/53] guix: Add support for channel dependencies. * guix/channels.scm (): New record. (read-channel-metadata, channel-instance-dependencies): New procedures. (latest-channel-instances): Include channel dependencies; add optional argument PREVIOUS-CHANNELS. (channel-instance-derivations): Build derivation for additional channels and add it as dependency to the channel instance derivation. * doc/guix.texi (Channels): Add subsection "Declaring Channel Dependencies". * tests/channels.scm: New file. * Makefile.am (SCM_TESTS): Add it. --- Makefile.am | 1 + doc/guix.texi | 33 +++++++++++ guix/channels.scm | 122 +++++++++++++++++++++++++++++++++------ tests/channels.scm | 139 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 279 insertions(+), 16 deletions(-) create mode 100644 tests/channels.scm diff --git a/Makefile.am b/Makefile.am index a7a67e81cf..4a190c4095 100644 --- a/Makefile.am +++ b/Makefile.am @@ -329,6 +329,7 @@ SCM_TESTS = \ tests/base16.scm \ tests/base32.scm \ tests/base64.scm \ + tests/channels.scm \ tests/cpan.scm \ tests/cpio.scm \ tests/crate.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 4ef2601579..20b5013fd9 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3037,6 +3037,39 @@ the new and upgraded packages that are listed, some like @code{my-gimp} and @code{my-emacs-with-cool-features} might come from @code{my-personal-packages}, while others come from the Guix default channel. +@cindex dependencies, channels +@cindex meta-data, channels +@subsection Declaring Channel Dependencies + +Channel authors may decide to augment a package collection provided by other +channels. They can declare their channel to be dependent on other channels in +a meta-data file @file{.guix-channel}, which is to be placed in the root of +the channel repository. + +The meta-data file should contain a simple S-expression like this: + +@lisp +(channel + (version 0) + (dependencies + (channel + (name 'some-collection) + (url "https://example.org/first-collection.git")) + (channel + (name 'some-other-collection) + (url "https://example.org/second-collection.git") + (branch "testing")))) +@end lisp + +In the above example this channel is declared to depend on two other channels, +which will both be fetched automatically. The modules provided by the channel +will be compiled in an environment where the modules of all these declared +channels are available. + +For the sake of reliability and maintainability, you should avoid dependencies +on channels that you don't control, and you should aim to keep the number of +dependencies to a minimum. + @subsection Replicating Guix @cindex pinning, channels diff --git a/guix/channels.scm b/guix/channels.scm index e57da68149..75503bb0ae 100644 --- a/guix/channels.scm +++ b/guix/channels.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Ludovic Courtès +;;; Copyright © 2018 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ (define-module (guix channels) #:use-module (guix store) #:use-module (guix i18n) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-2) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) #:autoload (guix self) (whole-package) @@ -73,7 +75,6 @@ (define-record-type* channel make-channel (commit channel-commit (default #f)) (location channel-location (default (current-source-location)) (innate))) -;; TODO: Add a way to express dependencies among channels. (define %default-channels ;; Default list of channels. @@ -93,6 +94,12 @@ (define-record-type (commit channel-instance-commit) (checkout channel-instance-checkout)) +(define-record-type + (channel-metadata version dependencies) + channel-metadata? + (version channel-metadata-version) + (dependencies channel-metadata-dependencies)) + (define (channel-reference channel) "Return the \"reference\" for CHANNEL, an sexp suitable for 'latest-repository-commit'." @@ -100,20 +107,90 @@ (define (channel-reference channel) (#f `(branch . ,(channel-branch channel))) (commit `(commit . ,(channel-commit channel))))) -(define (latest-channel-instances store channels) +(define (read-channel-metadata instance) + "Return a channel-metadata record read from the channel INSTANCE's +description file, or return #F if the channel instance does not include the +file." + (let* ((source (channel-instance-checkout instance)) + (meta-file (string-append source "/.guix-channel"))) + (and (file-exists? meta-file) + (and-let* ((raw (call-with-input-file meta-file read)) + (version (and=> (assoc-ref raw 'version) first)) + (dependencies (or (assoc-ref raw 'dependencies) '()))) + (channel-metadata + version + (map (lambda (item) + (let ((get (lambda* (key #:optional default) + (or (and=> (assoc-ref item key) first) default)))) + (and-let* ((name (get 'name)) + (url (get 'url)) + (branch (get 'branch "master"))) + (channel + (name name) + (branch branch) + (url url) + (commit (get 'commit)))))) + dependencies)))))) + +(define (channel-instance-dependencies instance) + "Return the list of channels that are declared as dependencies for the given +channel INSTANCE." + (match (read-channel-metadata instance) + (#f '()) + (($ version dependencies) + dependencies))) + +(define* (latest-channel-instances store channels #:optional (previous-channels '())) "Return a list of channel instances corresponding to the latest checkouts of -CHANNELS." - (map (lambda (channel) - (format (current-error-port) - (G_ "Updating channel '~a' from Git repository at '~a'...~%") - (channel-name channel) - (channel-url channel)) - (let-values (((checkout commit) - (latest-repository-commit store (channel-url channel) - #:ref (channel-reference - channel)))) - (channel-instance channel commit checkout))) - channels)) +CHANNELS and the channels on which they depend. PREVIOUS-CHANNELS is a list +of previously processed channels." + ;; Only process channels that are unique, or that are more specific than a + ;; previous channel specification. + (define (ignore? channel others) + (member channel others + (lambda (a b) + (and (eq? (channel-name a) (channel-name b)) + (or (channel-commit b) + (not (or (channel-commit a) + (channel-commit b)))))))) + ;; Accumulate a list of instances. A list of processed channels is also + ;; accumulated to decide on duplicate channel specifications. + (match (fold (lambda (channel acc) + (match acc + ((#:channels previous-channels #:instances instances) + (if (ignore? channel previous-channels) + acc + (begin + (format (current-error-port) + (G_ "Updating channel '~a' from Git repository at '~a'...~%") + (channel-name channel) + (channel-url channel)) + (let-values (((checkout commit) + (latest-repository-commit store (channel-url channel) + #:ref (channel-reference + channel)))) + (let ((instance (channel-instance channel commit checkout))) + (let-values (((new-instances new-channels) + (latest-channel-instances + store + (channel-instance-dependencies instance) + previous-channels))) + `(#:channels + ,(append (cons channel new-channels) + previous-channels) + #:instances + ,(append (cons instance new-instances) + instances)))))))))) + `(#:channels ,previous-channels #:instances ()) + channels) + ((#:channels channels #:instances instances) + (let ((instance-name (compose channel-name channel-instance-channel))) + ;; Remove all earlier channel specifications if they are followed by a + ;; more specific one. + (values (delete-duplicates instances + (lambda (a b) + (eq? (instance-name a) (instance-name b)))) + channels))))) (define* (checkout->channel-instance checkout #:key commit @@ -235,8 +312,21 @@ (define dependencies (lambda (instance) (if (eq? instance core-instance) (return core) - (build-channel-instance instance - (cons core dependencies)))) + (match (channel-instance-dependencies instance) + (() + (build-channel-instance instance + (cons core dependencies))) + (channels + (mlet %store-monad ((dependencies-derivation + (latest-channel-derivation + ;; %default-channels is used here to + ;; ensure that the core channel is + ;; available for channels declared as + ;; dependencies. + (append channels %default-channels)))) + (build-channel-instance instance + (cons dependencies-derivation + (cons core dependencies)))))))) instances))) (define (whole-package-for-legacy name modules) diff --git a/tests/channels.scm b/tests/channels.scm new file mode 100644 index 0000000000..f3fc383ac3 --- /dev/null +++ b/tests/channels.scm @@ -0,0 +1,139 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ricardo Wurmus +;;; +;;; 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 (test-channels) + #:use-module (guix channels) + #:use-module ((guix build syscalls) #:select (mkdtemp!)) + #:use-module (guix tests) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-64) + #:use-module (ice-9 match)) + +(test-begin "channels") + +(define* (make-instance #:key + (name 'fake) + (commit "cafebabe") + (spec #f)) + (define instance-dir (mkdtemp! "/tmp/checkout.XXXXXX")) + (and spec + (with-output-to-file (string-append instance-dir "/.guix-channel") + (lambda _ (format #t "~a" spec)))) + ((@@ (guix channels) channel-instance) + name commit instance-dir)) + +(define instance--boring (make-instance)) +(define instance--no-deps + (make-instance #:spec + '(channel + (version 0) + (dependencies + (channel + (name test-channel) + (url "https://example.com/test-channel")))))) +(define instance--simple + (make-instance #:spec + '(channel + (version 0) + (dependencies + (channel + (name test-channel) + (url "https://example.com/test-channel")))))) +(define instance--with-dupes + (make-instance #:spec + '(channel + (version 0) + (dependencies + (channel + (name test-channel) + (url "https://example.com/test-channel")) + (channel + (name test-channel) + (url "https://example.com/test-channel") + (commit "abc1234")) + (channel + (name test-channel) + (url "https://example.com/test-channel-elsewhere")))))) + +(define read-channel-metadata + (@@ (guix channels) read-channel-metadata)) + + +(test-equal "read-channel-metadata returns #f if .guix-channel does not exist" + #f + (read-channel-metadata instance--boring)) + +(test-assert "read-channel-metadata returns " + (every (@@ (guix channels) channel-metadata?) + (map read-channel-metadata + (list instance--no-deps + instance--simple + instance--with-dupes)))) + +(test-assert "read-channel-metadata dependencies are channels" + (let ((deps ((@@ (guix channels) channel-metadata-dependencies) + (read-channel-metadata instance--simple)))) + (match deps + (((? channel? dep)) #t) + (_ #f)))) + +(test-assert "latest-channel-instances includes channel dependencies" + (let* ((channel (channel + (name 'test) + (url "test"))) + (test-dir (channel-instance-checkout instance--simple))) + (mock ((guix git) latest-repository-commit + (lambda* (store url #:key ref) + (match url + ("test" (values test-dir 'whatever)) + (_ (values "/not-important" 'not-important))))) + (let ((instances (latest-channel-instances #f (list channel)))) + (and (eq? 2 (length instances)) + (lset= eq? + '(test test-channel) + (map (compose channel-name channel-instance-channel) + instances))))))) + +(test-assert "latest-channel-instances excludes duplicate channel dependencies" + (let* ((channel (channel + (name 'test) + (url "test"))) + (test-dir (channel-instance-checkout instance--with-dupes))) + (mock ((guix git) latest-repository-commit + (lambda* (store url #:key ref) + (match url + ("test" (values test-dir 'whatever)) + (_ (values "/not-important" 'not-important))))) + (let ((instances (latest-channel-instances #f (list channel)))) + (and (eq? 2 (length instances)) + (lset= eq? + '(test test-channel) + (map (compose channel-name channel-instance-channel) + instances)) + ;; only the most specific channel dependency should remain, + ;; i.e. the one with a specified commit. + (find (lambda (instance) + (and (eq? (channel-name + (channel-instance-channel instance)) + 'test-channel) + (eq? (channel-commit + (channel-instance-channel instance)) + 'abc1234))) + instances)))))) + +(test-end "channels") From ba8c08788fee7b8cad6f0674b842fb0944880cbb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 9 Dec 2018 15:28:36 +0200 Subject: [PATCH 13/53] gnu: mtools: Update to 4.0.22. * gnu/packages/mtools.scm (mtools): Update to 4.0.22. --- gnu/packages/mtools.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm index 32eb1dba47..8b765e292d 100644 --- a/gnu/packages/mtools.scm +++ b/gnu/packages/mtools.scm @@ -28,7 +28,7 @@ (define-module (gnu packages mtools) (define-public mtools (package (name "mtools") - (version "4.0.21") + (version "4.0.22") (source (origin (method url-fetch) @@ -36,7 +36,7 @@ (define-public mtools version ".tar.bz2")) (sha256 (base32 - "1kybydx74qgbwpnjvjn49msf8zipchl43d4cq8zzwcyvfkdzw7h2")))) + "08shiy9am4x65yg8l5mplj8jrvsimzbaf2id8cmfc02b00i0yb35")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/mtools/") (synopsis "Access MS-DOS disks without mounting") From 8d3f604d9469ff270bf1f95a1da8ad7443e30280 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 9 Dec 2018 15:41:12 +0200 Subject: [PATCH 14/53] gnu: syslinux: Limit the architectures supported. * gnu/packages/bootloaders.scm (syslinux)[supported-systems}: New field. --- gnu/packages/bootloaders.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index c155228b4d..2a595fafab 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -317,6 +317,8 @@ (define-public syslinux (home-page "https://www.syslinux.org") (synopsis "Lightweight Linux bootloader") (description "Syslinux is a lightweight Linux bootloader.") + ;; The Makefile specifically targets i386 and x86_64 using nasm. + (supported-systems '("i686-linux" "x86_64-linux")) (license (list license:gpl2+ license:bsd-3 ; gnu-efi/* license:bsd-4 ; gnu-efi/inc/* gnu-efi/lib/* From 505a385498d9efeb006fa94ba88098422153cbb5 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 9 Dec 2018 18:13:55 +0100 Subject: [PATCH 15/53] gnu: Add go-ipfs. * gnu/packages/ipfs.scm (go-ipfs): New variable. --- gnu/packages/ipfs.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/ipfs.scm b/gnu/packages/ipfs.scm index f40c1180ae..82ef0ea028 100644 --- a/gnu/packages/ipfs.scm +++ b/gnu/packages/ipfs.scm @@ -20,6 +20,7 @@ (define-module (gnu packages ipfs) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix git-download) + #:use-module (guix download) #:use-module (guix build-system go) #:use-module (gnu packages golang)) @@ -210,3 +211,29 @@ (define-public gx-go (description "A subtool for the @command{gx} package manager for packages written in Go.") (license license:expat))) + +(define-public go-ipfs + (package + (name "go-ipfs") + (version "0.4.18") + (source + (origin + (method url-fetch) + (uri (string-append + "https://dist.ipfs.io/go-ipfs/v" version + "/go-ipfs-source.tar.gz")) + (sha256 + (base32 + "19hfgbyn5sr1bw0cwm3gsjz0w3b3vh3mmkax1906raah30lavj1x")))) + (build-system go-build-system) + (arguments + '(#:unpack-path "github.com/ipfs/go-ipfs" + #:import-path "github.com/ipfs/go-ipfs/cmd/ipfs")) + (home-page "https://ipfs.io") + (synopsis "Go implementation of IPFS, a peer-to-peer hypermedia protocol") + (description "IPFS is a global, versioned, peer-to-peer filesystem. It +combines good ideas from Git, BitTorrent, Kademlia, SFS, and the Web. It is +like a single bittorrent swarm, exchanging git objects. IPFS provides an +interface as simple as the HTTP web, but with permanence built in. You can +also mount the world at @code{/ipfs}.") + (license license:expat))) From 584d5556d409e7db70296f751e7b8a123f1d5c01 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 9 Dec 2018 15:52:44 -0500 Subject: [PATCH 16/53] gnu: python-jedi: Update to 0.13.1 and disable the tests. Jedi test suite fails when run with Python 3.7. * gnu/packages/python.scm (python-jedi): Update to 0.13.1 [tests?] Disable. [phases] Add condition check for the tests? argument to run the tests. --- gnu/packages/python.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 9472a441ef..23b980ec32 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9841,20 +9841,25 @@ (define-public python2-prompt-toolkit (define-public python-jedi (package (name "python-jedi") - (version "0.12.1") + (version "0.13.1") (source (origin (method url-fetch) (uri (pypi-uri "jedi" version)) (sha256 (base32 - "1h8ypnjisn57kiv1zqrkj1im6sbfnhxllqaa8znh39qkd47ys2dl")))) + "0j11q42g5vjkyhhjpyy8nb0gdxs78m3rpjai7p1hvgpyl9rkyjdp")))) (build-system python-build-system) (arguments - `(#:phases + `( ;; Many tests are failing with Python 3.7.x as of version 0.13.1 (see: + ;; https://github.com/davidhalter/jedi/issues/1263) + #:tests? #f + #:phases (modify-phases %standard-phases - (replace 'check (lambda _ - (invoke "py.test" "-vv")))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "py.test" "-vv"))))))) (native-inputs `(("python-pytest" ,python-pytest) ("python-docopt" ,python-docopt))) From 88c7cf8499de0cc2d135abcd5e2eb98a581561db Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 9 Dec 2018 16:17:12 -0500 Subject: [PATCH 17/53] gnu: emacs-elpy: Update to 1.27.0. * gnu/packages/emacs.scm (emacs-elpy): Update to 1.27.0. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d8a9ffeaed..13588bf013 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4799,7 +4799,7 @@ (define-public emacs-highlight-indentation (define-public emacs-elpy (package (name "emacs-elpy") - (version "1.26.0") + (version "1.27.0") (source (origin (method git-fetch) (uri (git-reference @@ -4808,7 +4808,7 @@ (define-public emacs-elpy (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0wynzp5xmrgiggmam82n6lfaiqmfl4n3ccpsgnh86r6pbsmssxjk")))) + "1b76y0kzk7s9ya8k9bpsgn31i9l0rxs4iz6lg7snhjgh03k0ssgv")))) (build-system emacs-build-system) (arguments `(#:include (cons* "^elpy/[^/]+\\.py$" "^snippets\\/" %default-include) From 2e265d19d18644e2b268efe4730e0dac6d3a965e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 9 Dec 2018 20:28:38 +0100 Subject: [PATCH 18/53] gnu: git: Update to 2.20.0. * gnu/packages/version-control.scm (git): Update to 2.20.0. --- gnu/packages/version-control.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index d068c30735..f37936ee5e 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -146,14 +146,14 @@ (define-public git (name "git") ;; XXX When updating Git, check if the special 'git-source' input to cgit ;; needs to be updated as well. - (version "2.19.2") + (version "2.20.0") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/software/scm/git/git-" version ".tar.xz")) (sha256 (base32 - "1scbggzghkzzfqg4ky3qh7h9w87c3zya4ls5disz7dbx56is7sgw")))) + "07yq186wb3wqvvmzhhsca57m979p7jprkk4h2a516jz1fd87755w")))) (build-system gnu-build-system) (native-inputs `(("native-perl" ,perl) @@ -166,7 +166,7 @@ (define-public git version ".tar.xz")) (sha256 (base32 - "1sqhllkabylm46paswg0j54fiar44fmcdmkjkysmjn2gj6hqpz95")))) + "141n20migxaazy0vfkivjk6bzazi3ydyq7qkf6wmkg186l4amgbr")))) ;; For subtree documentation. ("asciidoc" ,asciidoc) ("docbook-xsl" ,docbook-xsl) From 1460e77abf79c8d1b4e2eb8814eff03e5c6d8675 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 9 Dec 2018 22:02:36 +0100 Subject: [PATCH 19/53] gnu: msmtp: Update to 1.8.1. * gnu/packages/mail.scm (msmtp): Update to 1.8.1. --- gnu/packages/mail.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 261d1f013d..794ae7909d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1068,7 +1068,7 @@ (define-public claws-mail (define-public msmtp (package (name "msmtp") - (version "1.8.0") + (version "1.8.1") (source (origin (method url-fetch) @@ -1076,7 +1076,7 @@ (define-public msmtp "/msmtp-" version ".tar.xz")) (sha256 (base32 - "1k9wwlapkxk9ql3xq05y6vwn6ziqk9b1v8lyhj1866qd02zhqwxx")))) + "1nm4vizrnrrnknc4mc8nr7grz9q76m1vraa0hsl5rfm34gnsg8ph")))) (build-system gnu-build-system) (inputs `(("libsecret" ,libsecret) From 7e4bc215098f334bc2a11737f2665dd4992fc2da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 10 Dec 2018 00:13:17 +0100 Subject: [PATCH 20/53] services: guix: Run 'guix-daemon' in UTF-8 locale. Fixes . Reported by Julien Lepiller . * gnu/services/base.scm (guix-shepherd-service) : In #:environment-variables, add "GUIX_LOCPATH" and "LC_ALL". --- gnu/services/base.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 89e39f7690..b10f5cbaf1 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1604,7 +1604,15 @@ (define (guix-shepherd-service config) '()) #$@(if tmpdir (list (string-append "TMPDIR=" tmpdir)) - '())) + '()) + + ;; Make sure we run in a UTF-8 locale so that 'guix + ;; offload' correctly restores nars that contain UTF-8 + ;; file names such as 'nss-certs'. See + ;; . + (string-append "GUIX_LOCPATH=" + #$glibc-utf8-locales "/lib/locale") + "LC_ALL=en_US.utf8") #:log-file #$log-file)) (stop #~(make-kill-destructor)))))) From 72f95783f118a90e593e8c37922389ab199fdaeb Mon Sep 17 00:00:00 2001 From: Paul Garlick Date: Wed, 5 Dec 2018 20:06:00 +0000 Subject: [PATCH 21/53] gnu: petsc-openmpi: Ensure compatibility of SCOTCH dependency. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (petsc-openmpi)[inputs]: Replace pt-scotch with pt-scotch32 in order to prevent 'incompatible pointer' warnings being generated in the 'build' phase. Signed-off-by: Ludovic Courtès --- gnu/packages/maths.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e088869682..96a1ecb043 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1775,7 +1775,7 @@ (define-public petsc-openmpi ("mumps" ,mumps-openmpi) ("openmpi" ,openmpi) ("scalapack" ,scalapack) - ("scotch" ,pt-scotch) + ("scotch" ,pt-scotch32) ,@(package-inputs petsc))) (arguments (substitute-keyword-arguments (package-arguments petsc) From a5523942f7a0bff8c5b05336b3040e748679822f Mon Sep 17 00:00:00 2001 From: Chris Marusich Date: Sun, 9 Dec 2018 16:34:03 -0800 Subject: [PATCH 22/53] gnu: Add yubikey-personalization. * gnu/packages/security-token.scm (yubikey-personalization): New variable. --- gnu/packages/security-token.scm | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index 400c053048..fb2526c04a 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -51,6 +51,7 @@ (define-module (gnu packages security-token) #:use-module (gnu packages tex) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages web) #:use-module (gnu packages xml)) (define-public ccid @@ -307,3 +308,36 @@ (define-public yubico-piv-tool ;; license for that one file. Please see it for details. The vast ;; majority of files are licensed under bsd-2. (license license:bsd-2))) + +(define-public yubikey-personalization + (package + (name "yubikey-personalization") + (version "1.19.0") + (source (origin + (method url-fetch) + (uri (string-append + "https://developers.yubico.com/" name + "/Releases/ykpers-" version ".tar.gz")) + (sha256 + (base32 + "104lc0nnqdr365fa7c4vrq67rxp1dp8idndsh9jlhnj9dnhszj1b")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags (list (string-append "--with-udevrulesdir=" + (assoc-ref %outputs "out") + "/lib/udev/rules.d")))) + (inputs + `(("json-c" ,json-c) + ("libusb" ,libusb) + ;; The library "libyubikey" is also known as "yubico-c". + ("libyubikey" ,libyubikey))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("eudev" ,eudev))) + (home-page "https://developers.yubico.com/yubikey-personalization/") + (synopsis "Library and tools to personalize YubiKeys") + (description + "The YubiKey Personalization package contains a C library and command +line tools for personalizing YubiKeys. You can use these to set an AES key, +retrieve a YubiKey's serial number, and so forth.") + (license license:bsd-2))) From 0ba4a6797603842cadb1232f8741c67dbddf0bff Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 10 Dec 2018 10:40:23 +0200 Subject: [PATCH 23/53] gnu: mtools: Update to 4.0.23. * gnu/packages/mtools.scm (mtools): Update to 4.0.23. --- gnu/packages/mtools.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mtools.scm b/gnu/packages/mtools.scm index 8b765e292d..5be3da0137 100644 --- a/gnu/packages/mtools.scm +++ b/gnu/packages/mtools.scm @@ -28,7 +28,7 @@ (define-module (gnu packages mtools) (define-public mtools (package (name "mtools") - (version "4.0.22") + (version "4.0.23") (source (origin (method url-fetch) @@ -36,7 +36,7 @@ (define-public mtools version ".tar.bz2")) (sha256 (base32 - "08shiy9am4x65yg8l5mplj8jrvsimzbaf2id8cmfc02b00i0yb35")))) + "1qwfxzr964fasxlzhllahk8mzh7c82s808wvly95dsqsflkdp27i")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/mtools/") (synopsis "Access MS-DOS disks without mounting") From f21058dc5c423f76d51542f557927d756548e5be Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 10 Dec 2018 10:52:51 +0200 Subject: [PATCH 24/53] gnu: font-gnu-unifont: Update to 11.0.03. * gnu/packages/fonts.scm (font-gnu-unifont): Update to 11.0.03. [arguments]: Enable parallel builds. --- gnu/packages/fonts.scm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index f9f8428202..b0cb78c5cb 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -622,7 +622,7 @@ (define-public font-anonymous-pro (define-public font-gnu-unifont (package (name "font-gnu-unifont") - (version "11.0.02") + (version "11.0.03") (source (origin (method url-fetch) (uri (string-append @@ -630,16 +630,14 @@ (define-public font-gnu-unifont version ".tar.gz")) (sha256 (base32 - "1di8i44c163b9l5f08jcrjfijnqz0j7p7hpfvf8dcms6cm6s4wvy")))) + "171zhm52c4rzpn19qcq4n9nyfbcjl38v50zslhvgpjdcmc5jvhav")))) (build-system gnu-build-system) - (outputs '("out" ; TrueType version - "pcf" ; PCF (bitmap) version - "psf" ; PSF (console) version - "bin" ; Utilities to manipulate '.hex' format - )) + (outputs '("out" ; TrueType version + "pcf" ; PCF (bitmap) version + "psf" ; PSF (console) version + "bin")) ; Utilities to manipulate '.hex' format (arguments - '(#:parallel-build? #f ; parallel build fails - #:tests? #f ; no check target + '(#:tests? #f ; no check target #:phases (modify-phases %standard-phases (replace From fec2c8532d238f75b2d33e2281509d101bd45171 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 10 Dec 2018 10:07:44 -0500 Subject: [PATCH 25/53] gnu: Borg: Update to 1.1.8. * gnu/packages/backup.scm (borg): Update to 1.1.8. [source]: Remove obsolete patch. * gnu/packages/patches/borg-respect-storage-quota.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/backup.scm | 5 ++- .../patches/borg-respect-storage-quota.patch | 32 ------------------- 3 files changed, 2 insertions(+), 36 deletions(-) delete mode 100644 gnu/packages/patches/borg-respect-storage-quota.patch diff --git a/gnu/local.mk b/gnu/local.mk index 50fc08445f..4f2437befa 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -607,7 +607,6 @@ dist_patch_DATA = \ %D%/packages/patches/blast+-fix-makefile.patch \ %D%/packages/patches/blender-newer-ffmpeg.patch \ %D%/packages/patches/boost-fix-icu-build.patch \ - %D%/packages/patches/borg-respect-storage-quota.patch \ %D%/packages/patches/byobu-writable-status.patch \ %D%/packages/patches/cairo-CVE-2016-9082.patch \ %D%/packages/patches/cairo-setjmp-wrapper.patch \ diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index c927a14673..a9d8286702 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -491,15 +491,14 @@ (define-public libchop (define-public borg (package (name "borg") - (version "1.1.7") + (version "1.1.8") (source (origin (method url-fetch) (uri (pypi-uri "borgbackup" version)) - (patches (search-patches "borg-respect-storage-quota.patch")) (sha256 (base32 - "1p3zia62vyg9vadkdjzzkzbj4dmgijr7ix5lmhfbxpwy5q9imdgp")) + "0qqvcscn1l4y83x4sh3izdpmr8zq38j8chjkpfq4q4d01i470hqb")) (modules '((guix build utils))) (snippet '(begin diff --git a/gnu/packages/patches/borg-respect-storage-quota.patch b/gnu/packages/patches/borg-respect-storage-quota.patch deleted file mode 100644 index d23d1ffc01..0000000000 --- a/gnu/packages/patches/borg-respect-storage-quota.patch +++ /dev/null @@ -1,32 +0,0 @@ -Make sure the client respects the storage quota set by the server: - -https://github.com/borgbackup/borg/issues/4093 - -Patch copied from upstream source repository: - -https://github.com/borgbackup/borg/commit/975cc33206e0e3644626fb7204c34d2157715b61 - -From 975cc33206e0e3644626fb7204c34d2157715b61 Mon Sep 17 00:00:00 2001 -From: Manu -Date: Wed, 3 Oct 2018 23:47:36 +0800 -Subject: [PATCH] Add storage_quota for forced_result if set by serve command. - ---- - src/borg/archiver.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/borg/archiver.py b/src/borg/archiver.py -index 916725e7..279194c1 100644 ---- a/src/borg/archiver.py -+++ b/src/borg/archiver.py -@@ -4276,6 +4276,7 @@ def get_args(self, argv, cmd): - result.restrict_to_paths = forced_result.restrict_to_paths - result.restrict_to_repositories = forced_result.restrict_to_repositories - result.append_only = forced_result.append_only -+ result.storage_quota = forced_result.storage_quota - return result - - def parse_args(self, args=None): --- -2.19.1 - From 59c9d4f1085fbff6a5ca2c2d4123dc22f6b82356 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 10 Dec 2018 13:25:23 -0500 Subject: [PATCH 26/53] gnu: certbot, python-acme: Update to 0.29.1. * gnu/packages/tls.scm (certbot, python-acme): Update to 0.29.1. --- gnu/packages/tls.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index d9971441c6..f9e21e1e3f 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -522,13 +522,13 @@ (define-public python-acme (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.28.0") + (version "0.29.1") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "11dvcbdifn5d02p4k5li8r6r39bl3p5ap9p3zjwvasm24hf2yz5z")))) + "0z5l966b1asbcdzl77bmywf22c1q0xill00jj7qyml9wx2nh7qm2")))) (build-system python-build-system) (arguments `(#:phases @@ -579,7 +579,7 @@ (define-public certbot (uri (pypi-uri name version)) (sha256 (base32 - "02h959qkq7z0s13ivgf7jyl3gnc55wcck6n546k0kh155bpf5qri")))) + "14i6yrcb9s7ygy99gccfc8jscymi24xb72s5lgg9b2y40z909ikg")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) From cba7ddcf603455c6692eb50c8bbf203a6bf17ab1 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 27 Nov 2018 19:56:01 -0600 Subject: [PATCH 27/53] refresh: Account for overlapping updater coverage. * guix/scripts/refresh.scm (list-updaters-and-exit): Do not assume updater predicates are disjoint. Track covered packages directly. --- guix/scripts/refresh.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 60e822b16b..1d86f949c8 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -179,24 +179,24 @@ (define (list-updaters-and-exit) (let* ((packages (fold-packages cons '())) (total (length packages))) - (define covered - (fold (lambda (updater covered) - (let ((matches (count (upstream-updater-predicate updater) - packages))) + (define uncovered + (fold (lambda (updater uncovered) + (let ((matches (filter (upstream-updater-predicate updater) + packages))) ;; TRANSLATORS: The parenthetical expression here is rendered ;; like "(42% coverage)" and denotes the fraction of packages ;; covered by the given updater. (format #t (G_ " - ~a: ~a (~2,1f% coverage)~%") (upstream-updater-name updater) (G_ (upstream-updater-description updater)) - (* 100. (/ matches total))) - (+ covered matches))) - 0 + (* 100. (/ (length matches) total))) + (lset-difference eq? uncovered matches))) + packages (force %updaters))) (newline) (format #t (G_ "~2,1f% of the packages are covered by these updaters.~%") - (* 100. (/ covered total)))) + (* 100. (/ (- total (length uncovered)) total)))) (exit 0)) (define (warn-no-updater package) From 9e3644a823058ddd3b360f6b1f7d7b350a0b7932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Mon, 19 Nov 2018 16:59:09 +0100 Subject: [PATCH 28/53] gnu: gajim: Add support for Guix packaged plugins. * gnu/packages/messaging.scm (gajim)[inputs]: Remove python-axolotl. [arguments]: Add an 'add-plugin-dirs' phase. [native-search-paths]: New field. --- gnu/packages/messaging.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index e34f725a40..078680c135 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -588,6 +588,12 @@ (define-public gajim `(#:test-target "test_nogui" #:phases (modify-phases %standard-phases + (add-after 'unpack 'add-plugin-dirs + (lambda _ + (substitute* "gajim/common/configpaths.py" + (("_paths\\['PLUGINS_USER'\\]") + "_paths['PLUGINS_USER'],os.getenv('GAJIM_PLUGIN_PATH')")) + #t)) (add-after 'install 'wrap-gi-typelib-path (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -625,6 +631,18 @@ (define-public gajim (,(string-append (assoc-ref inputs "gtk+") "/share/glib-2.0/schemas")))) #t))))) + (native-search-paths + (list (search-path-specification + (variable "GAJIM_PLUGIN_PATH") + (separator #f) ;single entry + (files '("share/gajim/plugins"))) + ;; Gajim needs to use the propagated inputs of its plugins. + (search-path-specification + (variable "PYTHONPATH") + (files (list (string-append + "lib/python" + (version-major+minor (package-version python)) + "/site-packages")))))) (native-inputs `(("intltool" ,intltool) ("python-docutils" ,python-docutils) @@ -636,7 +654,6 @@ (define-public gajim ("gtkspell3" ,gtkspell3) ("hicolor-icon-theme" ,hicolor-icon-theme) ("libsecret" ,libsecret) - ("python-axolotl" ,python-axolotl) ("python-cssutils" ,python-cssutils) ("python-dbus" ,python-dbus) ("python-gnupg" ,python-gnupg) From 435d8a83b5b1929ddf2d56e0e38ba6c5e84d014c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Lassieur?= Date: Tue, 13 Nov 2018 15:49:20 +0100 Subject: [PATCH 29/53] gnu: Add gajim-omemo. * gnu/packages/messaging.scm (gajim-omemo): New variable. [propagated-inputs]: Add python-axolotl. --- gnu/packages/messaging.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 078680c135..1500be43b0 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -93,6 +93,7 @@ (define-module (gnu packages messaging) #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) + #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) @@ -674,6 +675,41 @@ (define-public gajim end-to-end encryption support; XML console.") (license license:gpl3))) +(define-public gajim-omemo + (package + (name "gajim-omemo") + (version "2.6.23") + (source (origin + (method url-fetch/zipbomb) + (uri (string-append + "https://ftp.gajim.org/plugins_releases/omemo_" + version ".zip")) + (sha256 + (base32 + "134zbscbcnhx4smad0ryvx3ngkqlsspafqf0kk8y2d3vcd9bf3pa")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let* ((out (assoc-ref %outputs "out")) + (share (in-vicinity out "share/gajim/plugins")) + (source (assoc-ref %build-inputs "source"))) + (mkdir-p share) + (copy-recursively source share) + #t)))) + (propagated-inputs + `(("python-axolotl" ,python-axolotl))) + (home-page + "https://dev.gajim.org/gajim/gajim-plugins/wikis/OmemoGajimPlugin") + (synopsis "Gajim OMEMO plugin") + (description + "This package provides the Gajim OMEMO plugin. OMEMO is an XMPP +Extension Protocol (XEP) for secure multi-client end-to-end encryption based +on Axolotl and PEP.") + (license license:gpl3+))) + (define-public dino ;; The only release tarball is for version 0.0, but it is very old and fails ;; to build. From 799f5d0df023480f5514821cf011ec6ca1224237 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 11 Dec 2018 11:37:28 +0100 Subject: [PATCH 30/53] gnu: python-gevent: Remove unreliable test. * gnu/packages/python.scm (python-gevent): Add 'skip-timer-test phase from python2-gevent. * gnu/packages/python.scm (python2-gevent): Remove 'skip-timer-test phase, inherit from python-gevent instead. --- gnu/packages/python.scm | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 23b980ec32..20b07d3e27 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -9226,6 +9226,13 @@ (define-public python-gevent (setenv "CPATH" (string-append greenlet "/" python))))) #t)) + (add-before 'check 'skip-timer-test + (lambda _ + ;; XXX: Skip 'TestTimerResolution', which appears to be + ;; unreliable. + (substitute* "src/greentest/test__core_timer.py" + (("not greentest.RUNNING_ON_CI") "False")) + #t)) (replace 'check (lambda _ ;; Make sure the build directory is on PYTHONPATH. @@ -9266,17 +9273,6 @@ (define-public python2-gevent (strip-python2-variant python-gevent)))) (package (inherit base) - (arguments - (substitute-keyword-arguments (package-arguments base) - ((#:phases phases) - `(modify-phases ,phases - (add-before 'check 'skip-timer-test - (lambda _ - ;; XXX: Skip 'TestTimerResolution', which appears to be - ;; unreliable. - (substitute* "src/greentest/test__core_timer.py" - (("not greentest.RUNNING_ON_CI") "False")) - #t)))))) (native-inputs `(,@(package-native-inputs python-gevent) ("python-mock" ,python2-mock)))))) From 2165ea1d1c707f664c8db2a82cd38a67e3bce01b Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Mon, 10 Dec 2018 23:20:21 +0100 Subject: [PATCH 31/53] gnu: Add emacs-sesman. * gnu/packages/emacs.scm (emacs-sesman): New variable. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 13588bf013..a7fbd76571 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12729,3 +12729,29 @@ (define-public emacs-matrix-client rooms. It also provides an API which allows Emacs to seamlessly create RPC channels with users and other software.") (license license:gpl3+)))) + +(define-public emacs-sesman + (package + (name "emacs-sesman") + (version "0.3.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vspinu/sesman.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0r32f8ma9ddczxrrdz0nadp14j3zmk10q1ch02gb82synkx3xdra")))) + (build-system emacs-build-system) + (arguments + `(#:tests? #t + #:test-command '("make" "test"))) + (home-page "https://github.com/vspinu/sesman") + (synopsis "Session manager for Emacs based IDEs") + (description "Sesman provides facilities for session management and +interactive session association with the current contexts (project, directory, +buffers). While sesman can be used to manage arbitrary sessions, it primary +targets the Emacs based IDEs (CIDER, ESS, Geiser, Robe, SLIME etc.)") + (license license:gpl3+))) From 99aad42138e0895df51e64e1261984f277952516 Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Mon, 10 Dec 2018 23:20:22 +0100 Subject: [PATCH 32/53] gnu: emacs-cider: Update to 0.18.0. * gnu/packages/emacs.scm (emacs-cider): Update to 0.18.0. [source]: Use git-fetch. [propagated-inputs]: Add emacs-sesman. [home-page]: Update URI. Signed-off-by: Arun Isaac --- gnu/packages/emacs.scm | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a7fbd76571..358f32cabd 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -5206,26 +5206,28 @@ (define-public emacs-helm-make (define-public emacs-cider (package (name "emacs-cider") - (version "0.15.1") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/clojure-emacs/cider/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1j5hlmi14ypszv1f9nvq0jjlz7i742flg0ny3055l7i4x089xx6g")))) + (version "0.18.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/clojure-emacs/cider.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m9kc88vga3q5d731qnpngnsa0n57pf21k3hll20rw8rggrx4vdn")))) (build-system emacs-build-system) (arguments '(#:exclude ; Don't exclude 'cider-test.el'. '("^\\.dir-locals\\.el$" "^test/"))) (propagated-inputs `(("emacs-clojure-mode" ,emacs-clojure-mode) + ("emacs-sesman" ,emacs-sesman) ("emacs-spinner" ,emacs-spinner) ("emacs-pkg-info" ,emacs-pkg-info) ("emacs-queue" ,emacs-queue))) - (home-page "https://cider.readthedocs.org/") + (home-page "https://cider.readthedocs.io/") (synopsis "Clojure development environment for Emacs") (description "CIDER (Clojure Interactive Development Environment that Rocks) aims to From b7c1c2b85694dd1ae168fdf317fdbda46d647ebe Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 12 Dec 2018 01:15:01 +0100 Subject: [PATCH 33/53] gnu: rust: Increase build timeouts. * gnu/packages/rust.scm (rust-1.19)[properties]: New field. (rust-1.20)[properties]: New field. --- gnu/packages/rust.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index ef40431733..501736d898 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -191,6 +191,8 @@ (define rust-1.19 (source (rust-source version "0l8c14qsf42rmkqy92ahij4vf356dbyspxcips1aswpvad81y8qm" #:patches '("rust-1.19-mrustc.patch"))) (outputs '("out" "cargo")) + (properties '((timeout . 72000) ;20 hours + (max-silent-time . 18000))) ;5 hours (for armel) (arguments `(#:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' #:modules ((guix build utils) (ice-9 match) (guix build gnu-build-system)) @@ -427,6 +429,7 @@ (define-public rust-1.20 (package (inherit base-rust) (outputs '("out" "doc" "cargo")) + (properties '()) (arguments (substitute-keyword-arguments (package-arguments rust-1.19) ((#:phases phases) From 8d956d8600d333d33b10c946b023bb49ea0779e6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 11 Dec 2018 18:29:38 -0500 Subject: [PATCH 34/53] gnu: icecat: Enable Stylo CSS engine. * gnu/packages/gnuzilla.scm (icecat)[native-inputs]: Add 'llvm-3.9.1' and 'clang-3.9.1'. [arguments]: In the configure-flags, use quasiquote, remove "--disable-stylo", and add "--with-clang-path=..." and "--with-libclang-path=...". Add 'augment-CPLUS_INCLUDE_PATH' phase. In the custom 'configure' phase, set the CC environment variable to "gcc". --- gnu/packages/gnuzilla.scm | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index d6b1f4c2d6..1c3670bd9a 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -62,6 +62,7 @@ (define-module (gnu packages gnuzilla) #:use-module (gnu packages gl) #:use-module (gnu packages assembly) #:use-module (gnu packages rust) + #:use-module (gnu packages llvm) #:use-module (gnu packages icu4c) #:use-module (gnu packages video) #:use-module (gnu packages xiph) @@ -620,6 +621,8 @@ (define-public icecat ;; Icecat 60 checkes for rust>=1.24 `(("rust" ,rust-1.24) ("cargo" ,rust-1.24 "cargo") + ("llvm" ,llvm-3.9.1) + ("clang" ,clang-3.9.1) ("perl" ,perl) ("python" ,python-2) ; Python 3 not supported ("python2-pysqlite" ,python2-pysqlite) @@ -639,7 +642,7 @@ (define-public icecat #:imported-modules ,%cargo-build-system-modules ;for `generate-checksums' - #:configure-flags '("--enable-default-toolkit=cairo-gtk3" + #:configure-flags `("--enable-default-toolkit=cairo-gtk3" "--with-distribution-id=org.gnu" @@ -653,14 +656,25 @@ (define-public icecat "--disable-eme" "--disable-gconf" - ;; Stylo requires LLVM/clang. For now, disable it. - "--disable-stylo" - ;; Building with debugging symbols takes ~5GiB, so ;; disable it. "--disable-debug" "--disable-debug-symbols" + ;; Clang is needed to build Stylo, Mozilla's new + ;; CSS engine. We must specify the clang paths + ;; manually, because otherwise the Mozilla build + ;; system looks in the directories returned by + ;; llvm-config --bindir and llvm-config --libdir, + ;; which return paths in the llvm package where + ;; clang is not found. + ,(string-append "--with-clang-path=" + (assoc-ref %build-inputs "clang") + "/bin/clang") + ,(string-append "--with-libclang-path=" + (assoc-ref %build-inputs "clang") + "/lib") + ;; Hack to work around missing ;; "unofficial" branding in icecat. "--enable-official-branding" @@ -754,6 +768,20 @@ (define-public icecat (generate-checksums dir null-file))) (find-files "third_party/rust" ".cargo-checksum.json"))) #t)) + (add-before 'configure 'augment-CPLUS_INCLUDE_PATH + (lambda* (#:key build inputs #:allow-other-keys) + ;; Here, we add additional entries to CPLUS_INCLUDE_PATH, to work + ;; around a problem that otherwise occurs when attempting to + ;; build Stylo, which requires Rust and Clang. Without these + ;; additional entries, errors occur during the build indicating + ;; that the and "c++config.h" headers cannot be found. + ;; Note that the 'build' keyword argument contains the GNU + ;; triplet, e.g. "x86_64-unknown-linux-gnu". + (let ((gcc (assoc-ref inputs "gcc"))) + (setenv "CPLUS_INCLUDE_PATH" + (string-append gcc "/include/c++" ":" + gcc "/include/c++/" build ":" + (getenv "CPLUS_INCLUDE_PATH")))))) (replace 'configure ;; configure does not work followed by both "SHELL=..." and @@ -770,6 +798,7 @@ (define-public icecat (setenv "SHELL" bash) (setenv "CONFIG_SHELL" bash) (setenv "AUTOCONF" (which "autoconf")) ; must be autoconf-2.13 + (setenv "CC" "gcc") ; apparently needed when Stylo is enabled (mkdir "../build") (chdir "../build") (format #t "build directory: ~s~%" (getcwd)) From 29eb0bc76cba780fa0455049d52be1849759b5f4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 11 Dec 2018 19:13:17 -0500 Subject: [PATCH 35/53] gnu: icecat: Relabel patches to reflect CVE assignments. Document that we include fixes for CVE-2018-17466, CVE-2018-18492, CVE-2018-18493, CVE-2018-18498, and 3 out of 10 changesets for CVE-2018-12405. * gnu/packages/gnuzilla.scm (icecat)[source]: Relabel patches to reflect CVE assignments. --- gnu/packages/gnuzilla.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 1c3670bd9a..870d176851 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -507,14 +507,14 @@ (define-public icecat (search-patch "icecat-use-system-media-libs.patch") (mozilla-patch "icecat-bug-1464061.patch" "d28761dbff18" "1f58rzwx4s1af66fdwn9lgkcd1ksmq8kn8imvf78p90jqi24h7b4") (mozilla-patch "icecat-bug-1479853.patch" "4faeb696dd06" "12891xx9c15s6kby6d3zk64v5nqgaq7sw597zv1fkd3a6x69hlva") - (mozilla-patch "icecat-bug-1488295.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p") - (mozilla-patch "icecat-bug-1500011.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9") - (mozilla-patch "icecat-bug-1503082.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb") - (mozilla-patch "icecat-bug-1499861.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a") - (mozilla-patch "icecat-bug-1504452.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl") - (mozilla-patch "icecat-bug-1494752.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2") + (mozilla-patch "icecat-CVE-2018-17466.patch" "12ba39f69876" "1piyq44f0xa0a9z2748aqwpaziaxwp61d86gyhalbyag8lcxfb3p") + (mozilla-patch "icecat-CVE-2018-18498.patch" "a0adabeedf26" "0f5wazha3zxzhy2j8f93hx62l9p02b1p40vi07qah3ar67h4ccj9") + (mozilla-patch "icecat-CVE-2018-12405-pt01.patch" "19604eb26230" "1wqxgph4z14ijhk2j2m4av5p6gx72d02lzz83q6yy0k065kw8psb") + (mozilla-patch "icecat-CVE-2018-18492.patch" "98737ab09270" "0fyl6wv0jxcxpkfpsff46y93k49n8lrw0k7c1p45g8da015dx27a") + (mozilla-patch "icecat-CVE-2018-18493.patch" "1cf7d80355d5" "19jp4x32vyxam54d1r9fm7jwf6krhhf3xazfqmxb9aw4iwdil7dl") + (mozilla-patch "icecat-CVE-2018-12405-pt02.patch" "c264774b8913" "1hxyi131x8jwawrq90cgkph833iv9ixrdrgzl1r978gbzwq10xz2") (mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z") - (mozilla-patch "icecat-bug-1500759.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla") + (mozilla-patch "icecat-CVE-2018-12405-pt03.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla") (mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g") (mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy"))) (modules '((guix build utils))) From 46e613e3e58a4c483562c199ab80687eccb62721 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 11 Dec 2018 19:16:04 -0500 Subject: [PATCH 36/53] gnu: icecat: Add fixes from upstream mozilla-esr60 [security-fixes]. Includes fixes for CVE-2018-18494 and the remaining 7 out of 10 changesets for CVE-2018-12405. * gnu/packages/gnuzilla.scm (icecat)[source]: Add selected changesets from the upstream mozilla-esr60 repository. --- gnu/packages/gnuzilla.scm | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 870d176851..9eb989a0b8 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -516,7 +516,29 @@ (define-public icecat (mozilla-patch "icecat-bug-1477773.patch" "ec13fda7c9b0" "0zj7aylgw55g0y7plaafn5gq8jwcsdr1bpdxacs0hq914nm8zy9z") (mozilla-patch "icecat-CVE-2018-12405-pt03.patch" "5e1a9644aeef" "1qimrpgyrd8zkiri7w57j0aymk20y9b34am5w7rvr6qj1lhrbfla") (mozilla-patch "icecat-bug-1485655.patch" "9055726e2d89" "1pppxr94zqh6zmi2mn1ih21qap09vk5ivbhnwxqr8iszvygjg44g") - (mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy"))) + (mozilla-patch "icecat-bug-1410214.patch" "9e641345e2ef" "0542xss2jdb8drh4g50cfy32l300x69dyywgx3dqs03vgr3qplxy") + + (mozilla-patch "icecat-CVE-2018-12405-pt04.patch" "6398541ec302" "1c2yi7mkg3d5afxsgj9fp3zq8yhkmphrll5d60d5xsdv88kqqiyf") + (mozilla-patch "icecat-bug-1496736.patch" "3bed863ee656" "038k7jk3yp16410crwfdvhyb2vis49c6bplrfr83v51885cqldar") + (mozilla-patch "icecat-bug-1498765.patch" "a08c8493ba19" "0bwg4vg03j962lb9q8ihpiy4rmygykf1q9ij8x7h34q7hg43yjya") + (mozilla-patch "icecat-CVE-2018-12405-pt05.patch" "ee204e26690e" "1scs45xhlr1mwv6x2q6n22363f42by8cjmifqwzlikggs21f5mcq") + (mozilla-patch "icecat-bug-1507035.patch" "cec8b58ab3fe" "1f131ibpkrhsa44l822hnm5qgvapbs3i9pj25iimdwvr933winz8") + (mozilla-patch "icecat-bug-1501680.patch" "282c6bb81562" "1zgw7l5zmni8468y3f6cip1nlw63cfdd9vv9b00cbrgy96d1q2cp") + (mozilla-patch "icecat-bug-1500310.patch" "b3a439a26186" "0mrjxcmrlv04fyl36dwxk97dw08g2hlikvw2hfa1l0y8zsc4bgw8") + (mozilla-patch "icecat-bug-1500366.patch" "abd59256c4e3" "1jgwh2v4kwb6kf2h7mwf128w1k1jj119bfhlgqpmn9ami35wpzf3") + (mozilla-patch "icecat-bug-1493080.patch" "a7cabf306d05" "1n7wv67rcaz8wj31jc77ssjdj3kb61gdg7pigj828c5z2cgns1k5") + (mozilla-patch "icecat-CVE-2018-12405-pt06.patch" "8bbf80948b50" "1nvc69zgz9nvbw1pwxkil1fx4cxxpr6bsjrpp6l2kv7jhgax1bqk") + (mozilla-patch "icecat-bug-1507564.patch" "60619cc47b10" "09fanqr08kqgraw4xp7y2az4jc7ia8nn200rqjfj20vmkyjz97j3") + (mozilla-patch "icecat-bug-1507730.patch" "dd0f01818b9c" "14ziq1bm72n58xrvsgzpjj5z6ifpvi70r5jfhbkbj69mf4y4cx2z") + (mozilla-patch "icecat-CVE-2018-12405-pt07.patch" "a73a46ddc848" "1bvvyav3xyn6rgn6haicinxn0dasl9dyc1i37fyb7wr5wcpahybs") + + (mozilla-patch "icecat-CVE-2018-18494.patch" "a72ec8e21577" "095zghmwdcbaid5426p9vpl757d8sfbsvgn201bjm7nhm03m4z7i") + (mozilla-patch "icecat-CVE-2018-12405-pt08.patch" "b6d0fc61fd0b" "0059avawxi4s4747plybjsjq8j2h4z7amw05p28xyg95a2njwnaa") + (mozilla-patch "icecat-bug-1499028.patch" "a62ede2dd3bc" "0ikmnibni8bdvpr9p42wskyyic08vzqdz5qr028bqzyg5119gily") + (mozilla-patch "icecat-bug-1426574.patch" "0db86656655b" "0kmccb4ccdzbzncwklx7w1bg7r61zwl2wnfp67vl27hm9xykbck7") + (mozilla-patch "icecat-CVE-2018-12405-pt09.patch" "20e31905de62" "0b5a441645wy3q4asaygvdq0inrxmxrh33cpgdp6ngflq9p2i6h0") + (mozilla-patch "icecat-CVE-2018-12405-pt10.patch" "c2832f98fe51" "0b4jfjfdyrihwjdfavd54hn9kdg2f017lmfr7mj2llp71flxwwj7") + (mozilla-patch "icecat-bug-1511495.patch" "d428d2b8f585" "1f9xs0bjhbphvkv60cnvz34sr2rv38jzvi47wh3nablg41yjpdrk"))) (modules '((guix build utils))) (snippet '(begin From 0226dca7c9de3ed0d6ddb52d4003c3ffb6e4a415 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 11 Dec 2018 21:58:21 -0600 Subject: [PATCH 37/53] gnu: youtube-viewer: Update to 3.5.0. * gnu/packages/video.scm (youtube-viewer): Update to 3.5.0. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index fc6caf3ff8..15702b4e2a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1496,7 +1496,7 @@ (define-public you-get (define-public youtube-viewer (package (name "youtube-viewer") - (version "3.4.1") + (version "3.5.0") (source (origin (method git-fetch) (uri (git-reference @@ -1505,7 +1505,7 @@ (define-public youtube-viewer (file-name (git-file-name name version)) (sha256 (base32 - "0axgb95lx81psgrb2a5rfdd8gl4mhsrzf41jas6l58d1xkaj54ri")))) + "1s7hv2a46cx2nbdykrijqfh8hdkf3zqn6q8sg3ajnnc5agaspyrg")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) From b2fb40de984cf2f523ac08edc04d41b7d4c01058 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 11 Dec 2018 23:59:17 -0600 Subject: [PATCH 38/53] gnu: onionshare: Update to 1.3.1. * gnu/packages/tor.scm (onionshare): Update to 1.3.1. [arguments]: Remove unnecessary "get_resource_path" substitutions, which is handled fine by the single substitution in "onionshare/common.py". Fix install location in .desktop. Adjust test runner in 'tests' phase. [native-inputs]: "python-nose" -> "python-pytest". --- gnu/packages/tor.scm | 49 ++++++++------------------------------------ 1 file changed, 9 insertions(+), 40 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index a9bbebcd13..764ee52b0a 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice -;;; Copyright © 2017 Eric Bavier +;;; Copyright © 2017, 2018 Eric Bavier ;;; Copyright © 2017 Rutger Helling ;;; Copyright © 2018 Ricardo Wurmus ;;; @@ -162,7 +162,7 @@ (define-public privoxy (define-public onionshare (package (name "onionshare") - (version "0.9.2") + (version "1.3.1") (source (origin (method git-fetch) @@ -172,7 +172,7 @@ (define-public onionshare (file-name (git-file-name name version)) (sha256 (base32 - "1nzr6m3jp04p1i8b652s27zv0xhybl3zwcn5r6l9h0f7d7x4iglv")))) + "02zic4cxwrcfdg22dq9c2rzni3l18wynjxd38scc59s37vlw7w2r")))) (build-system python-build-system) (arguments `(#:phases @@ -181,55 +181,24 @@ (define-public onionshare (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) (onionshare (string-append out "/share/onionshare"))) - (substitute* "onionshare/strings.py" - ;; correct the locale directory - (("helpers.get_resource_path\\('locale'\\)") - (string-append "'" onionshare "/locale'"))) - (substitute* "onionshare/helpers.py" - ;; correct the location of version.txt - (("get_resource_path\\('version.txt'\\)") - (string-append "'" onionshare "/version.txt'")) - (("get_resource_path\\('wordlist.txt'\\)") - (string-append "'" onionshare "/wordlist.txt'"))) - (substitute* "onionshare/web.py" - ;; fix the location of the html files - (("helpers.get_resource_path\\('html/denied.html'\\)") - (string-append "'" onionshare "/html/denied.html'")) - (("helpers.get_resource_path\\('html/404.html'\\)") - (string-append "'" onionshare "/html/404.html'")) - (("helpers.get_resource_path\\('html/index.html'\\)") - (string-append "'" onionshare "/html/index.html'"))) - (substitute* "onionshare_gui/file_selection.py" - ;; fancy box image in the GUI - (("helpers.get_resource_path\\('images/drop_files.png'\\)") - (string-append "'" onionshare "/images/drop_files.png'"))) - (substitute* "onionshare_gui/server_status.py" - (("helpers.get_resource_path\\('images/server_stopped.png'\\)") - (string-append "'" onionshare "/images/server_stopped.png'")) - (("helpers.get_resource_path\\('images/server_working.png'\\)") - (string-append "'" onionshare "/images/server_working.png'")) - (("helpers.get_resource_path\\('images/server_started.png'\\)") - (string-append "'" onionshare "/images/server_started.png'"))) - (substitute* "onionshare_gui/onionshare_gui.py" - ;; for the icon on the GUI - (("helpers.get_resource_path\\('images/logo.png'\\)") - (string-append "'" onionshare "/images/logo.png'"))) - (substitute* '("setup.py" "onionshare/helpers.py") + (substitute* '("setup.py" "onionshare/common.py") (("sys.prefix,") (string-append "'" out "',"))) (substitute* "setup.py" ;; for the nautilus plugin (("/usr/share/nautilus") "share/nautilus")) - #t))) + (substitute* "install/onionshare.desktop" + (("/usr") out)) + #t))) (delete 'check) (add-before 'strip 'tests ;; After all the patching we run the tests after installing. ;; This is also a known issue: ;; https://github.com/micahflee/onionshare/issues/284 (lambda _ - (invoke "nosetests" "test") + (invoke "pytest" "test") #t))))) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-pytest" ,python-pytest))) (inputs `(("python-flask" ,python-flask) ("python-nautilus" ,python-nautilus) From e200de5457262877cc4bc13bd2723004a2c89963 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 7 Dec 2018 13:54:21 +0530 Subject: [PATCH 39/53] gnu: Add chirp. * gnu/packages/ham-radio.scm (chirp): New variable. --- gnu/packages/ham-radio.scm | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ham-radio.scm b/gnu/packages/ham-radio.scm index 0f96553c65..b73671c8bc 100644 --- a/gnu/packages/ham-radio.scm +++ b/gnu/packages/ham-radio.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017 Arun Isaac +;;; Copyright © 2017, 2018 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,9 +20,13 @@ (define-module (gnu packages ham-radio) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) #:use-module (gnu packages pkg-config) - #:use-module (guix build-system cmake)) + #:use-module (gnu packages python) + #:use-module (gnu packages xml) + #:use-module (guix build-system cmake) + #:use-module (guix build-system python)) (define-public rtl-sdr (package @@ -50,3 +54,30 @@ (define-public rtl-sdr cheap software defined radio, since the chip allows transferring the raw I/Q samples to the host. @code{rtl-sdr} provides drivers for this purpose.") (license license:gpl2+))) + +(define-public chirp + (package + (name "chirp") + (version "20181205") + (source + (origin + (method url-fetch) + (uri (string-append "https://trac.chirp.danplanet.com/chirp_daily/daily-" + version "/chirp-daily-" version ".tar.gz")) + (sha256 + (base32 + "1cp280b95j39xaxs50zn55jigg7pyfpm9n098hmsyxrplqn8z43c")))) + (build-system python-build-system) + (inputs + `(("python2-libxml2" ,python2-libxml2) + ("python2-pygtk" ,python2-pygtk) + ("python2-pyserial" ,python2-pyserial))) + (arguments + `(#:python ,python-2)) + (home-page "https://chirp.danplanet.com") + (synopsis "Cross-radio programming tool") + (description "Chirp is a cross-radio programming tool. It supports a +growing list of radios across several manufacturers and allows transferring of +memory contents between them.") + (license (list license:gpl3+ + license:lgpl3+)))) ; chirp/elib_intl.py From 8c380a01a27f0c52173473ba89c9325dff4e5b00 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 11 Dec 2018 21:33:30 +0200 Subject: [PATCH 40/53] gnu: Add dav1d. * gnu/packages/video.scm (dav1d): New variable. --- gnu/packages/video.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 15702b4e2a..2672a01ea4 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3264,3 +3264,23 @@ (define-public openshot helps you create the film you have always dreamed of. Easily add sub-titles, transitions, and effects and then export your film to many common formats.") (license license:gpl3+))) + +(define-public dav1d + (package + (name "dav1d") + (version "0.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://downloads.videolan.org/pub/videolan/" + "dav1d/" version "/dav1d-" version ".tar.xz")) + (sha256 + (base32 + "0dw0liday8cbyrirhm6bgzhxg4cdy66nspfkdlq338gdsfqcvrsc")))) + (build-system meson-build-system) + (native-inputs `(("nasm" ,nasm))) + (home-page "https://code.videolan.org/videolan/dav1d") + (synopsis "AV1 decoder") + (description "dav1d is a new AV1 cross-platform decoder, and focused on +speed and correctness.") + (license license:bsd-2))) From 42140fd434a333d0565617471b51323d6815ee13 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 11 Dec 2018 14:39:40 +0200 Subject: [PATCH 41/53] gnu: Add toybox. * gnu/packages/busybox.com (toybox): New variable. --- gnu/packages/busybox.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 5f1613bb4c..09812d4a49 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 John Darrington ;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,6 +26,7 @@ (define-module (gnu packages busybox) #:use-module (guix build-system gnu) #:use-module (gnu packages) #:use-module (gnu packages admin) + #:use-module (gnu packages algebra) #:use-module (gnu packages compression) #:use-module (gnu packages perl)) @@ -102,3 +104,41 @@ (define-public busybox (home-page "https://www.busybox.net") ;; Some files are gplv2+ (license gpl2))) + +(define-public toybox + (package + (name "toybox") + (version "0.7.8") + (source (origin + (method url-fetch) + (uri (string-append + "https://landley.net/toybox/downloads/toybox-" + version ".tar.gz")) + (sha256 + (base32 + "1mlqv5hsvy8ii6m698hq6rc316klwv44jlr034knwg6bk1lf2qj9")))) + (build-system gnu-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-environment-variables + (lambda _ + (setenv "CC" (which "gcc")) + (setenv "HOSTCC" (which "gcc")) + #t)) + (replace 'configure + (lambda _ (invoke "make" "defconfig"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (invoke "make" + (string-append "PREFIX=" out) + "install"))))) + #:test-target "tests")) + (native-inputs `(("bc" ,bc))) + (synopsis "Many common UNIX utilities in a single executable") + (description "ToyBox combines tiny versions of many common UNIX utilities +into a single small executable. It provides a fairly complete environment for +any small or embedded system.") + (home-page "https://landley.net/toybox/") + (license bsd-2))) From 7600513a8a29f69f041f20cbbad0b68ccd17ad64 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 10 Dec 2018 16:19:18 +0100 Subject: [PATCH 42/53] gnu: Add python-pytest-sugar. This is required to update python-amqp and python-kombu. * gnu/packages/check.scm (check): New variable. --- gnu/packages/check.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 937e4e094c..5bf849d666 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -1414,6 +1414,30 @@ (define-public python-pytest-subtesthack (define-public python2-pytest-subtesthack (package-with-python2 python-pytest-subtesthack)) +(define-public python-pytest-sugar + (package + (name "python-pytest-sugar") + (version "0.9.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-sugar" version)) + (sha256 + (base32 + "1asq7yc4g8bx2sn7yy974mhc9ywvaihasjab4inkirdwn9s7mn7w")))) + (build-system python-build-system) + (propagated-inputs + `(("python-packaging" ,python-packaging) + ("python-pytest" ,python-pytest) + ("python-termcolor" ,python-termcolor))) + (home-page "https://pivotfinland.com/pytest-sugar/") + (synopsis "Plugin for pytest that changes the default look and feel") + (description + "@code{pytest-sugar} is a plugin for py.test that changes the default +look and feel of py.test, using a progress bar and showing failures and errors +instantly.") + (license license:bsd-3))) + (define-public python-hypothesis (package (name "python-hypothesis") From 053f3d48578e10e8e4be348f3ad6de539cfa2455 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 10 Dec 2018 16:19:59 +0100 Subject: [PATCH 43/53] gnu: Add python-serpent. This is required for python-pyro4, which is needed to update python-amqp and python-kombu. * gnu/packages/python.scm (python-serpent): New variable. --- gnu/packages/python.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 20b07d3e27..4e40e3677f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -908,6 +908,29 @@ (define-public python-semantic-version (define-public python2-semantic-version (package-with-python2 python-semantic-version)) +(define-public python-serpent + (package + (name "python-serpent") + (version "1.27") + (source + (origin + (method url-fetch) + (uri (pypi-uri "serpent" version)) + (sha256 + (base32 + "04p9dsrm5pv8vhk3flvih55kgvlzpi38hlaykdiakddmgwqw93bg")))) + (build-system python-build-system) + (home-page "https://github.com/irmen/Serpent") + (synopsis "Serializer for literal Python expressions") + (description + "Serpent provides ast.literal_eval() compatible object tree +serialization. It serializes an object tree into bytes (utf-8 encoded string) +that can be decoded and then passed as-is to ast.literal_eval() to rebuild it +as the original object tree. As such it is safe to send serpent data to other +machines over the network for instance (because only safe literals are +encoded).") + (license license:expat))) + (define-public python-setuptools (package (name "python-setuptools") From 679c979f25e27ea559cf26e806baee4d69ece7bd Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 10 Dec 2018 16:20:29 +0100 Subject: [PATCH 44/53] gnu: Add python-case. This is required to update python-amqp and python-kombu, as well as adding python-vine. * gnu/packages/python.scm (python-case): New variable. --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 4e40e3677f..e4ef234d8f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1071,6 +1071,32 @@ (define-public python-capturer (define-public python2-capturer (package-with-python2 python-capturer)) +(define-public python-case + (package + (name "python-case") + (version "1.5.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "case" version)) + (sha256 + (base32 + "1cagg06vfph864s6l5jb0zqliwxh647bki8j6lf4a4qrv40jnhs8")))) + (build-system python-build-system) + (propagated-inputs + `(("python-mock" ,python-mock) + ("python-nose" ,python-nose) + ("python-six" ,python-six) + ("python-unittest2" ,python-unittest2))) + (native-inputs + `(("python-coverage" ,python-coverage))) + (home-page "https://github.com/celery/case") + (synopsis "Unittest utilities and convenience methods") + (description + "The @code{case} package provides utilities on top of unittest, including +some helpful Python 2 compatibility convenience methods.") + (license license:bsd-3))) + (define-public python-verboselogs (package (name "python-verboselogs") From 2cfcab3aef1efaab0e06540cd175e8c9912ac2a8 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 10 Dec 2018 16:20:49 +0100 Subject: [PATCH 45/53] gnu: Add python-vine. This is needed to update python-amqp to 2.3.2. * gnu/packages/python.scm (python-vine): New variable. --- gnu/packages/python.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e4ef234d8f..16847d8647 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2317,6 +2317,30 @@ (define-public python-pyyaml (define-public python2-pyyaml (package-with-python2 python-pyyaml)) +(define-public python-vine + (package + (name "python-vine") + (version "1.1.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "vine" version)) + (sha256 + (base32 + "0wkskb2hb494v9gixqnf4bl972p4ibcmxdykzpwjlfa5picns4aj")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-case" ,python-case))) + (home-page "https://github.com/celery/vine") + (synopsis "Promises for Python") + (description + "@code{vine} provides a special implementation of promises in that it can +be used both for \"promise of a value\" and lazy evaluation. The biggest +upside for this is that everything in a promise can also be a promise, +e.g. filters, callbacks and errbacks can all be promises.") + (license license:bsd-3))) + (define-public python-virtualenv (package (name "python-virtualenv") From 9253c429738d5be26edbf4febb39aa85aa88ec90 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 10 Dec 2018 16:21:13 +0100 Subject: [PATCH 46/53] gnu: Add python-pyro4. This is needed to update python-kombu to 4.2.2 * gnu/packages/python.scm (python-pyro4): New variable. --- gnu/packages/python.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 16847d8647..25c84199ec 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -13332,6 +13332,28 @@ (define-public python-semver (define-public python2-semver (package-with-python2 python-semver)) +(define-public python-pyro4 + (package + (name "python-pyro4") + (version "4.74") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Pyro4" version)) + (sha256 + (base32 + "0pzp7c6q3vvkxq0wy9lr6wd5wky40sajz69g697i5rb2q497pvc9")))) + (build-system python-build-system) + (propagated-inputs + `(("python-serpent" ,python-serpent))) + (home-page "https://pyro4.readthedocs.io") + (synopsis "Distributed object middleware for Python") + (description + "Pyro enables you to build applications in which objects can talk to each +other over the network. You can just use normal Python method calls to call +objects on other machines, also known as remote procedure calls (RPC).") + (license license:expat))) + (define-public python2-pyro (package (name "python2-pyro") From a65a33d070285bd8fdfab301089e100b41fee867 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 10 Dec 2018 16:21:37 +0100 Subject: [PATCH 47/53] gnu: python-amqp: Update to 2.3.2. This is needed to update python-kombu to 4.2.2. * gnu/packages/python.scm (python-amqp): Update to 2.3.2. --- gnu/packages/python.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 25c84199ec..2c87e1a09d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8269,18 +8269,21 @@ (define-public python2-anyjson (define-public python-amqp (package (name "python-amqp") - (version "1.4.9") + (version "2.3.2") (source (origin (method url-fetch) (uri (pypi-uri "amqp" version)) (sha256 (base32 - "06n6q0kxhjnbfz3vn8x9yz09lwmn1xi9d6wxp31h5jbks0b4vsid")))) + "1sv600dgqwpimr6i1g59y9hpn50mc236gdqkr7zin13kvlpx0g87")))) (build-system python-build-system) (native-inputs - `(("python-nose" ,python-nose) + `(("python-case" ,python-case) + ("python-pytest-sugar" ,python-pytest-sugar) ("python-mock" ,python-mock))) + (propagated-inputs + `(("python-vine" ,python-vine))) (home-page "https://github.com/celery/py-amqp") (synopsis "Low-level AMQP client for Python (fork of amqplib)") From f6c19fe8ce9ba767ceb62b9f2ef3b8fb3b5ac8c5 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 10 Dec 2018 16:22:25 +0100 Subject: [PATCH 48/53] gnu: python-kombu: Update to 4.2.2. This fixes the build, that probably broke with a Python update. * gnu/packages/python.scm (python-kombu): Update to 4.2.2.. --- gnu/packages/python.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2c87e1a09d..53ab6d35ea 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8337,23 +8337,26 @@ (define-public python2-txamqp (define-public python-kombu (package (name "python-kombu") - (version "3.0.37") + (version "4.2.2") (source (origin (method url-fetch) (uri (pypi-uri "kombu" version)) (sha256 (base32 - "0l16chb314gpq2v7fh94a22c30lcv6w3ylmhsa60bldlcq6a0r70")))) + "15k8f7mzqr049sg9vi48m19vjykviafk3f0p5xzgw9by0x0kyxjj")))) (build-system python-build-system) (native-inputs `(("python-mock" ,python-mock) - ("python-nose" ,python-nose))) + ("python-case" ,python-case) + ("python-pyro4" ,python-pyro4) + ("python-pytest-sugar" ,python-pytest-sugar) + ("python-pytz" ,python-pytz))) (propagated-inputs `(("python-anyjson" ,python-anyjson) ("python-amqp" ,python-amqp) ("python-redis" ,python-redis))) - (home-page "http://kombu.readthedocs.org") + (home-page "https://kombu.readthedocs.io") (synopsis "Message passing library for Python") (description "The aim of Kombu is to make messaging in Python as easy as possible by providing an idiomatic high-level interface for the AMQ protocol, From ae218b75f6e1ea47f11b10008d8815638674bdf7 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 11 Dec 2018 17:49:39 +0100 Subject: [PATCH 49/53] gnu: python-billiard: Update to 3.5.0.5. This is to enable updating python-celery. * gnu/packages/python.scm (python-billiard): Update to 3.5.0.5. [native-inputs]: Remove python-nose, add python-case and python-pytest. --- gnu/packages/python.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 53ab6d35ea..df142353cb 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8382,17 +8382,18 @@ (define-public python2-kombu (define-public python-billiard (package (name "python-billiard") - (version "3.3.0.23") + (version "3.5.0.5") (source (origin (method url-fetch) (uri (pypi-uri "billiard" version)) (sha256 (base32 - "02wxsc6bhqvzh8j6w758kvgqbnj14l796mvmrcms8fgfamd2lak9")))) + "03msmapj3s5zgqk87d646mafz7a01h5bm2wijalgpi0s80ks5na2")))) (build-system python-build-system) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-case" ,python-case) + ("python-pytest" ,python-pytest))) (home-page "https://github.com/celery/billiard") (synopsis "Python multiprocessing fork with improvements and bugfixes") From 95ae013092af8533e3bd315373ca0fcbb6a2d1c1 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Tue, 11 Dec 2018 17:53:14 +0100 Subject: [PATCH 50/53] gnu: python-celery: Update to 4.2.1. This is an attempt to get the package building after the update to Python 3.7. I'm not sure this totally works, as the tests detect an incompatibility with Python 3.7 due to use of "async". But with the tests disabled, you can at least import the celery module, which is a start. * gnu/packages/python.scm (python-celery): Update to 4.2.1. [arguments]: Switch to py.test, from nose, disable the tests and loosen the requirements on pytest. [native-inputs]: Remove python-nose, add python-pytest and python-case. [home-page]: Change from HTTP to HTTPS. --- gnu/packages/python.scm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index df142353cb..fd13339ccc 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8417,31 +8417,35 @@ (define-public python2-billiard (define-public python-celery (package (name "python-celery") - (version "3.1.24") + (version "4.2.1") (source (origin (method url-fetch) (uri (pypi-uri "celery" version)) (sha256 (base32 - "0yh2prhdnx2dgkb67a5drj12hh2zvzx5f611p7mqqg01ydghif4r")))) + "0y66rz7z8dfcgs3s0qxmdddlaq57bzbgxgfz896nbp14grkv9nkp")))) (build-system python-build-system) (arguments - `(#:phases + '(;; TODO The tests fail with Python 3.7 + ;; https://github.com/celery/celery/issues/4849 + #:tests? #f + #:phases (modify-phases %standard-phases - ;; These tests break with Python 3.5: - ;; https://github.com/celery/celery/issues/2897#issuecomment-253066295 - (replace 'check + (add-after 'unpack 'patch-requirements (lambda _ - (zero? - (system* "nosetests" "--exclude=^test_safe_to_remove.*"))))))) + (substitute* "requirements/test.txt" + (("pytest>=3\\.0,<3\\.3") + "pytest>=3.0")) + #t))))) (native-inputs - `(("python-nose" ,python-nose))) + `(("python-case" ,python-case) + ("python-pytest" ,python-pytest))) (propagated-inputs `(("python-pytz" ,python-pytz) ("python-billiard" ,python-billiard) ("python-kombu" ,python-kombu))) - (home-page "http://celeryproject.org") + (home-page "https://celeryproject.org") (synopsis "Distributed Task Queue") (description "Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but From ab533c613ee2a44595786a6aca0b958f9f7f1dd9 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Wed, 12 Dec 2018 11:04:54 +0100 Subject: [PATCH 51/53] gnu: allegro: Fix compilation with Mesa >= 18.2.5. * gnu/packages/game-development.scm (allegro)[source]: Add allegro-fix-compilation-mesa-18.2.5-and-later.patch. * gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch: New file. --- gnu/packages/game-development.scm | 2 + ...ix-compilation-mesa-18.2.5-and-later.patch | 41 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 34a015bdf7..8a29297805 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -652,6 +652,8 @@ (define-public allegro (uri (string-append "https://github.com/liballeg/allegro5/releases" "/download/" version "/allegro-" version ".tar.gz")) + (patches (search-patches + "allegro-fix-compilation-mesa-18.2.5-and-later.patch")) (sha256 (base32 "1w9a5yqi5q03b2qvmx5ff90paz0xbr9cy7i7f0xiqa65ava66q9l")))) diff --git a/gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch b/gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch new file mode 100644 index 0000000000..fa273a5dfa --- /dev/null +++ b/gnu/packages/patches/allegro-fix-compilation-mesa-18.2.5-and-later.patch @@ -0,0 +1,41 @@ +Fixes compilation with Mesa >= 18.2.5. + +Taken from upstream: + +https://github.com/liballeg/allegro5/commit/a40d30e21802ecf5c9382cf34af9b01bd3781e47 + +diff --git a/include/allegro5/allegro_opengl.h b/include/allegro5/allegro_opengl.h +index 0f86a6768..652dd024e 100644 +--- a/include/allegro5/allegro_opengl.h ++++ b/include/allegro5/allegro_opengl.h +@@ -103,10 +103,14 @@ + + /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */ + #define __glext_h_ ++#define __gl_glext_h_ + #define __glxext_h_ ++#define __glx_glxext_h_ + #include + #undef __glext_h_ ++#undef __gl_glext_h_ + #undef __glxext_h_ ++#undef __glx_glxext_h_ + + #endif /* ALLEGRO_MACOSX */ + +diff --git a/include/allegro5/opengl/GLext/glx_ext_defs.h b/include/allegro5/opengl/GLext/glx_ext_defs.h +index 49c502091..fba8aea5d 100644 +--- a/include/allegro5/opengl/GLext/glx_ext_defs.h ++++ b/include/allegro5/opengl/GLext/glx_ext_defs.h +@@ -1,7 +1,9 @@ + /* HACK: Prevent both Mesa and SGI's broken headers from screwing us */ + #define __glxext_h_ ++#define __glx_glxext_h_ + #include + #undef __glxext_h_ ++#undef __glx_glxext_h_ + + #ifndef GLX_VERSION_1_3 + #define _ALLEGRO_GLX_VERSION_1_3 +-- +2.20.0 From 3a48d055383c6838177ffcdc9fd544372bb2d722 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Wed, 12 Dec 2018 11:05:28 +0100 Subject: [PATCH 52/53] gnu: openttd: Update to 1.8.0. * gnu/packages/games.scm (openttd): Update to 1.8.0. [inputs]: Use allegro instead of allegro-4. --- gnu/packages/games.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 7f84e447bb..04521d399a 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -2306,7 +2306,7 @@ (define-public manaplus (define openttd-engine (package (name "openttd-engine") - (version "1.7.1") + (version "1.8.0") (source (origin (method url-fetch) (uri (string-append "http://binaries.openttd.org/releases/" @@ -2323,7 +2323,7 @@ (define openttd-engine "02d1xmb75yv4x6rfnvxk3vvq4l3lvvwr2pfsdzn7lzalic51ziqh"))))) (sha256 (base32 - "0dhv5bbbg1dmmq7fi3xss0a9jq2rqgb5sf9fsqzlsjcdm590j6b1")) + "0zq8xdg0k92p3s4j9x76591zaqz7k9ra69q008m209vdfffjvly2")) (modules '((guix build utils))) (snippet ;; The DOS port contains proprietary software. @@ -2353,7 +2353,7 @@ (define openttd-engine configure-flags)))))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("allegro" ,allegro-4) + `(("allegro" ,allegro) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("icu4c" ,icu4c) From 7b046b1bdc0b1cbc50428d4e08136a110f0a12af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 12 Dec 2018 19:35:05 +0800 Subject: [PATCH 53/53] gnu: zathura-pdf-mupdf: Fix dependencies. * gnu/packages/pdf.scm (zathura-pdf-mupdf)[inputs]: Add mujs. [arguments]: Pass 'link-external' to the configure flags. Patch 'meson.build' to include mujs as 'build_dependencies'. --- gnu/packages/pdf.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 4170e4a0ae..c34a0bc8ca 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -438,6 +438,7 @@ (define-public zathura-pdf-mupdf (inputs `(("jbig2dec" ,jbig2dec) ("libjpeg" ,libjpeg) + ("mujs", mujs) ("mupdf" ,mupdf) ("openjpeg" ,openjpeg) ("openssl" ,openssl) @@ -447,7 +448,18 @@ (define-public zathura-pdf-mupdf `(#:tests? #f ; package does not contain tests #:configure-flags (list (string-append "-Dplugindir=" (assoc-ref %outputs "out") - "/lib/zathura")))) + "/lib/zathura") + "-Dlink-external=true") + #:phases + (modify-phases %standard-phases + (add-before 'configure 'add-mujs-to-dependencies + (lambda _ + ;; Add mujs to the 'build_dependencies'. + (substitute* "meson.build" + (("^ libopenjp2 = dependency.*" x) + (string-append x " mujs = cc.find_library('mujs')\n")) + (("^ libopenjp2") + " libopenjp2, mujs"))))))) (home-page "https://pwmt.org/projects/zathura-pdf-mupdf/") (synopsis "PDF support for zathura (mupdf backend)") (description "The zathura-pdf-mupdf plugin adds PDF support to zathura