From 2c12be76cde47794291c7d4f295d0a069aeff9df Mon Sep 17 00:00:00 2001 From: Paul Garlick Date: Fri, 21 Jun 2019 00:34:39 +0100 Subject: [PATCH 001/221] gnu: python-mpi4py: Update to 3.0.2. * gnu/packages/mpi.scm (python-mpi4py): Update to 3.0.2. Signed-off-by: Ricardo Wurmus --- gnu/packages/mpi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mpi.scm b/gnu/packages/mpi.scm index 461296f66b..c9cd7b1382 100644 --- a/gnu/packages/mpi.scm +++ b/gnu/packages/mpi.scm @@ -339,14 +339,14 @@ only provides @code{MPI_THREAD_FUNNELED}."))) (define-public python-mpi4py (package (name "python-mpi4py") - (version "3.0.1") + (version "3.0.2") (source (origin (method url-fetch) (uri (pypi-uri "mpi4py" version)) (sha256 (base32 - "0ld8rjmsjr0dklvj2g1gr3ax32sdq0xjxyh0cspknc1i36waajb5")))) + "1q28xl36difma1wq0acq111cqxjya32kn3lxp6fbidz3wg8jkmpq")))) (build-system python-build-system) (arguments `(#:phases From 88f913e8ad71309ff0c0793b74e4c704489b104f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 20 Jun 2019 22:59:12 +0200 Subject: [PATCH 002/221] gnu: lrcalc: Add a patch for identifying include files. * gnu/packages/patches/lrcalc-includes.patch: New file. * gnu/packages/algebra.scm (lrcalc): Use patch. * gnu/local.mk (dist_patch_DATA): Register patch. --- gnu/local.mk | 1 + gnu/packages/algebra.scm | 3 +- gnu/packages/patches/lrcalc-includes.patch | 92 ++++++++++++++++++++++ 3 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/lrcalc-includes.patch diff --git a/gnu/local.mk b/gnu/local.mk index 649d901bf3..17acef9b15 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1044,6 +1044,7 @@ dist_patch_DATA = \ %D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \ %D%/packages/patches/llvm-for-extempore.patch \ %D%/packages/patches/lm-sensors-hwmon-attrs.patch \ + %D%/packages/patches/lrcalc-includes.patch \ %D%/packages/patches/lrzip-CVE-2017-8842.patch \ %D%/packages/patches/lua-CVE-2014-5461.patch \ %D%/packages/patches/lua-pkgconfig.patch \ diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 561347ad98..7fca1358ff 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1503,7 +1503,8 @@ John Cremona to compute his elliptic curve database.") (file-name (git-file-name name version)) (sha256 (base32 - "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss")))) + "1c12d04jdyxkkav4ak8d1aqrv594gzihwhpxvc6p9js0ry1fahss")) + (patches (search-patches "lrcalc-includes.patch")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/patches/lrcalc-includes.patch b/gnu/packages/patches/lrcalc-includes.patch new file mode 100644 index 0000000000..e15286905b --- /dev/null +++ b/gnu/packages/patches/lrcalc-includes.patch @@ -0,0 +1,92 @@ +Patch taken from the Sage packaging system. + +From 4a5e1c8c3c11efdb1cbb4239825a6bf4bf1c52f8 Mon Sep 17 00:00:00 2001 +From: Anders Skovsted Buch +Date: Sun, 29 Nov 2015 16:25:56 -0500 +Subject: [PATCH] Patch by Jeroen Demeyer to change include to + "vector.h", plus similar cases. + +--- + src/lrcalc.c | 2 +- + src/maple.c | 4 ++-- + src/schublib.h | 2 +- + src/symfcn.c | 6 +++--- + src/symfcn.h | 4 ++-- + 5 files changed, 9 insertions(+), 9 deletions(-) + +diff --git a/src/lrcalc.c b/src/lrcalc.c +index aff3f75..60df49e 100644 +--- a/src/lrcalc.c ++++ b/src/lrcalc.c +@@ -8,7 +8,7 @@ + #include + extern char *optarg; + +-#include ++#include "vectarg.h" + + #include "symfcn.h" + #include "maple.h" +diff --git a/src/maple.c b/src/maple.c +index fdc0768..a5f4d14 100644 +--- a/src/maple.c ++++ b/src/maple.c +@@ -4,8 +4,8 @@ + */ + + #include +-#include +-#include ++#include "vector.h" ++#include "hashtab.h" + #include "maple.h" + + +diff --git a/src/schublib.h b/src/schublib.h +index a8e8511..864850c 100644 +--- a/src/schublib.h ++++ b/src/schublib.h +@@ -1,7 +1,7 @@ + #ifndef _SCHUBLIB_H + #define _SCHUBLIB_H + +-#include ++#include "hashtab.h" + + hashtab *trans(vector *w, int vars, hashtab *res); + hashtab *monk(int i, hashtab *slc, int rank); +diff --git a/src/symfcn.c b/src/symfcn.c +index 4ffbe4b..fd5df5d 100644 +--- a/src/symfcn.c ++++ b/src/symfcn.c +@@ -5,9 +5,9 @@ + + #include + +-#include +-#include +-#include ++#include "alloc.h" ++#include "vector.h" ++#include "hashtab.h" + + #include "symfcn.h" + +diff --git a/src/symfcn.h b/src/symfcn.h +index b8543b1..29bb00d 100644 +--- a/src/symfcn.h ++++ b/src/symfcn.h +@@ -1,8 +1,8 @@ + #ifndef _SYMFCN_H + #define _SYMFCN_H + +-#include +-#include ++#include "hashtab.h" ++#include "vector.h" + + int part_itr_sz(vector *part); + int part_itr_sub(vector *part, vector *outer); +-- +2.1.1.1.g1fb337f + From fedb9571eb423bff0f806ae3fcb106e16e1e56e9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 20 Jun 2019 18:36:13 +0200 Subject: [PATCH 003/221] gnu: Add lcalc. * gnu/packages/sagemath.scm (lcalc): New variable. * gnu/packages/patches/lcalc-default-parameters-1.patch, gnu/packages/patches/lcalc-default-parameters-2.patch, gnu/packages/patches/lcalc-lcommon-h.patch, gnu/packages/patches/lcalc-using-namespace-std.patch: New files. * gnu/local.mk (dist_patch_DATA): Register patches. --- gnu/local.mk | 4 ++ .../patches/lcalc-default-parameters-1.patch | 26 ++++++++ .../patches/lcalc-default-parameters-2.patch | 58 +++++++++++++++++ gnu/packages/patches/lcalc-lcommon-h.patch | 13 ++++ .../patches/lcalc-using-namespace-std.patch | 43 ++++++++++++ gnu/packages/sagemath.scm | 65 +++++++++++++++++++ 6 files changed, 209 insertions(+) create mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch create mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch create mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch create mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch diff --git a/gnu/local.mk b/gnu/local.mk index 17acef9b15..4c54f024e0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -973,6 +973,10 @@ dist_patch_DATA = \ %D%/packages/patches/kodi-set-libcurl-ssl-parameters.patch \ %D%/packages/patches/kodi-skip-test-449.patch \ %D%/packages/patches/laby-make-install.patch \ + %D%/packages/patches/lcalc-default-parameters-1.patch \ + %D%/packages/patches/lcalc-default-parameters-2.patch \ + %D%/packages/patches/lcalc-lcommon-h.patch \ + %D%/packages/patches/lcalc-using-namespace-std.patch \ %D%/packages/patches/lcms-CVE-2018-16435.patch \ %D%/packages/patches/ldc-bootstrap-disable-tests.patch \ %D%/packages/patches/ldc-disable-phobos-tests.patch \ diff --git a/gnu/packages/patches/lcalc-default-parameters-1.patch b/gnu/packages/patches/lcalc-default-parameters-1.patch new file mode 100644 index 0000000000..19b0776320 --- /dev/null +++ b/gnu/packages/patches/lcalc-default-parameters-1.patch @@ -0,0 +1,26 @@ +Patch taken from the Sage packaging system. + +diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h +--- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200 +@@ -43,7 +43,7 @@ + //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + template + Complex L_function :: +-dirichlet_series(Complex s, long long N=-1) ++dirichlet_series(Complex s, long long N) + { + Complex z=0.; + long long m,n; +diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h +--- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200 +@@ -491,7 +491,7 @@ + + //#include "Ldirichlet_series.h" //for computing Dirichlet series + Complex partial_dirichlet_series(Complex s, long long N1, long long N2); +- Complex dirichlet_series(Complex s, long long N); ++ Complex dirichlet_series(Complex s, long long N=-1LL); + + //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series + //void compute_taylor_series(int N, int K, Complex s_0, Complex *series); diff --git a/gnu/packages/patches/lcalc-default-parameters-2.patch b/gnu/packages/patches/lcalc-default-parameters-2.patch new file mode 100644 index 0000000000..1d881ee0c4 --- /dev/null +++ b/gnu/packages/patches/lcalc-default-parameters-2.patch @@ -0,0 +1,58 @@ +Patch taken from the Sage packaging system. + +--- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200 +@@ -77,7 +77,7 @@ + //n=0 should just give log_GAMMA(z)... thus making log_GAMMA + //code obsolete. But leave log_GAMMA intact anyways. + template +-precise(ttype) log_GAMMA (ttype z,int n=0) ++precise(ttype) log_GAMMA (ttype z,int n) + { + int M; + precise(ttype) log_G,r,r2,y; +@@ -230,7 +230,7 @@ + //value exp_w which holds exp(-w) + //computes G(z,w), so there's an extra w^(-z) factor. + template +-Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false) ++Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle) + { + + Complex G; +@@ -334,7 +334,7 @@ + + + template +-ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction ++ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction + { + + ttype G; +@@ -424,7 +424,7 @@ + } + + template +-ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series ++ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series + { + + if(my_verbose>3) cout << "called asympt_GAMMA("< +-ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w) ++ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w) + { + + ttype g; +@@ -604,7 +604,7 @@ + } + + template +-Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme") ++Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method) + { + Complex SUM=0; + diff --git a/gnu/packages/patches/lcalc-lcommon-h.patch b/gnu/packages/patches/lcalc-lcommon-h.patch new file mode 100644 index 0000000000..897956de64 --- /dev/null +++ b/gnu/packages/patches/lcalc-lcommon-h.patch @@ -0,0 +1,13 @@ +Patch taken from the Sage packaging system. + +--- src/include/Lcommon.h 2010-01-31 15:16:45.000000000 +0000 ++++ src/include/Lcommon.h 2011-03-08 21:19:11.849443238 +0000 +@@ -25,7 +25,7 @@ + #ifdef USE_MPFR + inline double lcalc_to_double(const double& x) { return x; } + #endif +-//inline double lcalc_to_double(const long double& x) { return x; } ++inline double lcalc_to_double(const long double& x) { return x; } + inline double lcalc_to_double(const int& x) { return x; } + inline double lcalc_to_double(const long long& x) { return x; } + inline double lcalc_to_double(const short& x) { return x; } diff --git a/gnu/packages/patches/lcalc-using-namespace-std.patch b/gnu/packages/patches/lcalc-using-namespace-std.patch new file mode 100644 index 0000000000..6e0075fdc8 --- /dev/null +++ b/gnu/packages/patches/lcalc-using-namespace-std.patch @@ -0,0 +1,43 @@ +Patch taken from the Sage packaging system. + +diff --git a/include/Lcommon.h b/include/Lcommon.h +index 1b3be43..bf40532 100644 +--- a/include/Lcommon.h ++++ b/include/Lcommon.h +@@ -48,7 +48,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th + + // Loop i from m to n + // Useful in tidying up most for loops +-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) ++#define loop(i,m,n) for(auto i=(m); i!=(n); i++) + + // A class for calculations involving polynomials of small degree + // Not efficient enough for huge polynomials +diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h +index 86ae4df..33c560c 100644 +--- a/include/Lcommon_ld.h ++++ b/include/Lcommon_ld.h +@@ -53,7 +53,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th + + // Loop i from m to n + // Useful in tidying up most for loops +-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) ++#define loop(i,m,n) for(auto i=(m); i!=(n); i++) + + // A class for calculations involving polynomials of small degree + // Not efficient enough for huge polynomials +diff --git a/include/Lglobals.h b/include/Lglobals.h +index 60002e4..ca2606c 100644 +--- a/include/Lglobals.h ++++ b/include/Lglobals.h +@@ -24,9 +24,9 @@ + #ifndef Lglobals_H + #define Lglobals_H + ++#include + using namespace std; + +-#include + #ifdef USE_MPFR + #include "Lgmpfrxx.h" + typedef mpfr_class Double; diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 63d1281668..7517b55175 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -24,6 +24,7 @@ #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix utils) + #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) #:use-module (gnu packages bdw-gc) @@ -353,3 +354,67 @@ Boolean variables. As a unique approach, binary decision diagrams are used as internal storage type for polynomial structures.") (license license:gpl2+) (home-page "https://gitlab.com/sagemath/zn_poly"))) + +(define-public lcalc + (package + (name "lcalc") + (version "1.23") + ;; The original home page of the project has disappeared, as well as + ;; code hosted by the original author on Google Code. The latter has + ;; been copied to gitlab.com/sagemath and purportedly contains patches + ;; for a never released version 1.3, that supposedly follows 1.23. + ;; We use the tarball as well as the patches hosted inside the sage + ;; package system distributed with the sage tarball. + (source + (origin + (method url-fetch) + (uri (string-append "ftp://ftp.fu-berlin.de/unix/misc/sage/spkg/" + "upstream/lcalc/lcalc-1.23.tar.bz2")) + (sha256 + (base32 + "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43")) + (patches (search-patches "lcalc-lcommon-h.patch" + "lcalc-default-parameters-1.patch" + "lcalc-default-parameters-2.patch" + "lcalc-using-namespace-std.patch")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no tests + #:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'prepare-build + (lambda* (#:key outputs #:allow-other-keys) + (chdir "src") + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("^INSTALL_DIR= /usr/local") + (string-append "INSTALL_DIR=" out)) + ;; Sage renames the include directory, so we do it also. + (("include/Lfunction") + "include/libLfunction") + ;; Add --std=c++11 to be compatible with the "auto" keyword + ;; introduced by lcalc-using-namespace-std.patch. + (("^#EXTRA= -pg") + "EXTRA=--std=c++11"))) + #t)) + (add-before 'install 'make-output-dirs + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (lib (string-append out "/lib")) + (include (string-append out "/include"))) + (mkdir-p bin) + (mkdir-p lib) + (mkdir-p include)) + #t))))) + ;; FIXME: + ;; We need to add pari-gp and probably pari related patches from the + ;; sage project, as well as uncomment the line setting PARI_DEFINE in + ;; the Makefile to get the full functionality of this package. + ;; For the time being, we hope that sage can be compiled without. + (synopsis "C++ library for L-functions") + (description "Lcalc computes L-functions, in particular the Riemann +zeta function and its twists by quadratic characters.") + (license license:gpl2+) + (home-page "https://gitlab.com/sagemath/sage"))) From c68ec87ca7f5e56fa930541fbb6e17fd277dbf1b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 21 Jun 2019 09:33:30 +0200 Subject: [PATCH 004/221] gnu: iml: Enable shared library. * gnu/packages/algebra.scm (iml): Add configure flag --enable-shared. --- gnu/packages/algebra.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 7fca1358ff..5cf981cda7 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1548,6 +1548,7 @@ structure constants of Schubert polynomials.") (arguments `(#:configure-flags (list + "--enable-shared" (string-append "--with-gmp-include=" (assoc-ref %build-inputs "gmp") "/include") (string-append "--with-gmp-lib=" From e6eafd4277fe249dfc49e953c396cd4c93977088 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 21 Jun 2019 09:49:57 +0200 Subject: [PATCH 005/221] gnu: symmetrica: Generate position-independent code. * gnu/packages/algebra.scm (symmetrica): Add -fPIC compiler flag. --- gnu/packages/algebra.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 5cf981cda7..03b0e48671 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1400,7 +1400,7 @@ by using an optimized quadratic sieve algorithm.") (add-after 'unpack 'fix-makefile (lambda _ (substitute* "makefile" - (("cc -c") "gcc -c")) + (("cc -c") "gcc -c -fPIC")) #t)) (add-after 'fix-makefile 'turn-off-banner (lambda _ From 468bfd13a05dec7b560ef50a70713226835facac Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 21 Jun 2019 09:55:13 +0200 Subject: [PATCH 006/221] gnu: ratpoints: Generate position-independent code. * gnu/packages/algebra.scm (ratpoints): Add "CCFLAGS=-fPIC" to make flags. --- gnu/packages/algebra.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 03b0e48671..edcfad1402 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1353,7 +1353,8 @@ multiplication algorithm.") (arguments `(#:test-target "test" #:make-flags - (list (string-append "INSTALL_DIR=" (assoc-ref %outputs "out"))) + (list (string-append "INSTALL_DIR=" (assoc-ref %outputs "out")) + "CCFLAGS=-fPIC") #:phases (modify-phases %standard-phases (delete 'configure) ;no configure script From 16854b97ee69fec7ab736b3ade5aa1d5488f8072 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 21 Jun 2019 04:33:39 -0400 Subject: [PATCH 007/221] gnu: linux-libre@4.14: Update to 4.14.128. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.128. (%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 4f659e13f8..d0b5c7fd5a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -466,8 +466,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-4.19-version %linux-libre-4.19-hash)) -(define %linux-libre-4.14-version "4.14.127") -(define %linux-libre-4.14-hash "0dkzgxfzzc6n3k2x8nzzx98c6y3fhsr695rm46ahvg7fdg3vgcmi") +(define %linux-libre-4.14-version "4.14.128") +(define %linux-libre-4.14-hash "1vhzny9p2kidhvz4jxzkl2201bkrym3xiyf7w7y6wpi8abv28zsq") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From 5e9452a41dc479e0afd97aa5322222aeb36cc821 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 21 Jun 2019 04:34:41 -0400 Subject: [PATCH 008/221] gnu: linux-libre@4.19: Update to 4.19.53. * gnu/packages/linux.scm (%linux-libre-4.19-version): Update to 4.19.53. (%linux-libre-4.19-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 d0b5c7fd5a..f7a75b405b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -448,8 +448,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-version %linux-libre-hash)) -(define %linux-libre-4.19-version "4.19.52") -(define %linux-libre-4.19-hash "1wsrgrskmvipm7j4kzir93p9dp3iy49522163ghfxx71b1b2v4dg") +(define %linux-libre-4.19-version "4.19.53") +(define %linux-libre-4.19-hash "0bk024a7s4my4hf6i7gfg64lill19i4b8x0x3hfsqyy6j153pjlg") (define %linux-libre-4.19-patches (list %boot-logo-patch From 6dc29ab4e27920d213a9c9731b8459756e6b25c9 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 21 Jun 2019 04:35:26 -0400 Subject: [PATCH 009/221] gnu: linux-libre: Update to 5.1.12. * gnu/packages/linux.scm (%linux-libre-version): Update to 5.1.12. (%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 f7a75b405b..9d5c851d28 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -430,8 +430,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "5.1.11") -(define %linux-libre-hash "15hmqycsggqd9bwrf229b7f0pfznzs03kpzcwrd9j867pvgwyl8c") +(define %linux-libre-version "5.1.12") +(define %linux-libre-hash "0rzm3ixazqxfn767yayyf3ib889igg9nq7acf2wqcsmwbrrh5zcc") (define %linux-libre-5.1-patches (list %boot-logo-patch From c94cc6de39e4b88e0af6791761bdf7117c84b9d8 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 21 Jun 2019 11:05:05 +0200 Subject: [PATCH 010/221] gnu: ungoogled-chromium: Increase build timeout. * gnu/packages/chromium.scm (ungoogled-chromium)[properties]: New field. --- gnu/packages/chromium.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index a1e40b9ba0..e357556956 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -755,6 +755,11 @@ from forcing GEXP-PROMISE." ("udev" ,eudev) ("valgrind" ,valgrind) ("vulkan-headers" ,vulkan-headers))) + + ;; Building Chromium with a single core takes around 6 hours on an x86_64 + ;; system. Give some leeway for slower or busy machines. + (properties '((timeout . 64800))) ;18 hours + (home-page "https://github.com/Eloston/ungoogled-chromium") (description "Ungoogled-Chromium is the Chromium web browser, with some functionality From c2c4ac0f693413766af73f90356a4cf3e28c84f5 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 21 Jun 2019 04:25:43 -0400 Subject: [PATCH 011/221] gnu: icecat: Update to 60.7.2-guix1 [security fixes]. Includes fixes for CVE-2019-11707 and CVE-2019-11708. * gnu/packages/gnuzilla.scm (%icecat-version): Update to 60.7.2-guix1. (icecat-source)[upstream-firefox-source]: Update hash. --- gnu/packages/gnuzilla.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index c2356f2a44..a874878fea 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -426,7 +426,7 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "60.7.0-guix2") +(define %icecat-version "60.7.2-guix1") ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -448,7 +448,7 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "08x0nijh0ja5jza95a8y030ibk756bn7zlw3a3c4750yilfhqpqa")))) + "1hkaq8mavmn2wphfbrlq3v56jvmvfi2nyvrkjgr28rc01jkqx4ca")))) (upstream-icecat-base-version "60.7.0") ; maybe older than base-version (upstream-icecat-gnu-version "1") From b556abe416a3e79b7f3b8cf491d8a3179c3d31c8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 21 Jun 2019 11:39:25 +0200 Subject: [PATCH 012/221] gnu: khmer: Update to 3.0.0a3. * gnu/packages/bioinformatics.scm (khmer): Update to 3.0.0a3. [source]: Remove patch; remove seqan in snippet. [inputs]: Add seqan-1. * gnu/packages/patches/khmer-use-libraries.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/bioinformatics.scm | 12 +++++++++--- gnu/packages/patches/khmer-use-libraries.patch | 16 ---------------- 3 files changed, 9 insertions(+), 20 deletions(-) delete mode 100644 gnu/packages/patches/khmer-use-libraries.patch diff --git a/gnu/local.mk b/gnu/local.mk index 4c54f024e0..a467501f50 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -951,7 +951,6 @@ dist_patch_DATA = \ %D%/packages/patches/java-xerces-xjavac_taskdef.patch \ %D%/packages/patches/jbig2dec-ignore-testtest.patch \ %D%/packages/patches/kdbusaddons-kinit-file-name.patch \ - %D%/packages/patches/khmer-use-libraries.patch \ %D%/packages/patches/libziparchive-add-includes.patch \ %D%/packages/patches/localed-xorg-keyboard.patch \ %D%/packages/patches/kiki-level-selection-crash.patch \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index f1a73bca7e..4f4d3d9839 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4168,7 +4168,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.") (define-public khmer (package (name "khmer") - (version "2.1.2") + (version "3.0.0a3") (source (origin (method git-fetch) @@ -4178,8 +4178,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.") (file-name (git-file-name name version)) (sha256 (base32 - "02x38d9jw2r58y8dmnj4hffy9wxv1yc1jwbvdbhby9dxndv94r9m")) - (patches (search-patches "khmer-use-libraries.patch")) + "01l4jczglkl7yfhgvzx8j0df7k54bk1r8sli9ll16i1mis0d8f37")) (modules '((guix build utils))) (snippet '(begin @@ -4192,6 +4191,12 @@ command, or queried for specific k-mers with @code{jellyfish query}.") ;; https://lists.gnu.org/archive/html/guix-devel/2016-06/msg00977.html (delete-file-recursively "third-party/zlib") (delete-file-recursively "third-party/bzip2") + (delete-file-recursively "third-party/seqan") + (substitute* "setup.cfg" + (("# libraries = z,bz2") + "libraries = z,bz2") + (("include:third-party/zlib:third-party/bzip2") + "include:")) #t)))) (build-system python-build-system) (arguments @@ -4208,6 +4213,7 @@ command, or queried for specific k-mers with @code{jellyfish query}.") (inputs `(("zlib" ,zlib) ("bzip2" ,bzip2) + ("seqan" ,seqan-1) ("python-screed" ,python-screed) ("python-bz2file" ,python-bz2file))) (home-page "https://khmer.readthedocs.org/") diff --git a/gnu/packages/patches/khmer-use-libraries.patch b/gnu/packages/patches/khmer-use-libraries.patch deleted file mode 100644 index 47d163a99a..0000000000 --- a/gnu/packages/patches/khmer-use-libraries.patch +++ /dev/null @@ -1,16 +0,0 @@ -Change setup.cfg so that the bundled zlib and bzip2 are not used. This cannot -currently be achieved using "--library z,bz2" as instructed in the setup.py. - -diff --git a/setup.cfg b/setup.cfg -index c054092..080992e 100644 ---- a/setup.cfg -+++ b/setup.cfg -@@ -1,7 +1,7 @@ - [build_ext] - define = SEQAN_HAS_BZIP2,SEQAN_HAS_ZLIB - undef = NO_UNIQUE_RC --# libraries = z,bz2 -+libraries = z,bz2 - ## if using system libraries - include-dirs = lib:third-party/zlib:third-party/bzip2:third-party/seqan/core/include:third-party/smhasher - # include-dirs = lib From e6049c84dab3031fb64defae2c45a20b512d4644 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 21 Jun 2019 16:32:58 +0200 Subject: [PATCH 013/221] gnu: zn-poly: Install all libraries. * gnu/packages/sagemath.scm (zn-poly): Install the static and the dynamic library with its symlinks, and end a phase with #t. --- gnu/packages/sagemath.scm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index 7517b55175..d264eb560f 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -309,8 +309,19 @@ on numerical types, while GiNaC depends on CLN for this purpose.") (invoke "make" "libzn_poly.so"))) (add-after 'install 'install-so (lambda* (#:key outputs #:allow-other-keys) - (let ((lib (string-append (assoc-ref outputs "out") "/lib"))) - (install-file "libzn_poly.so" lib))))))) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (soname (string-append "libzn_poly-" ,version ".so")) + (target (string-append lib "/" soname))) + (install-file "libzn_poly.a" lib) + (install-file soname lib) + (symlink target + (string-append lib "/libzn_poly.so")) + (symlink target + (string-append lib "/libzn_poly-" + ,(version-major+minor version) + ".so"))) + #t))))) (synopsis "Arithmetic for polynomials over Z/NZ") (description "zn_poly implements the arithmetic of polynomials the coefficients of which are modular integers.") From 38d4c21502e8cc2ba604238ad7eb702f98aef3e6 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 21 Jun 2019 19:52:54 +0200 Subject: [PATCH 014/221] gnu: emacs-fish-completion: Update to 1.1. * gnu/packages/emacs-xyz.scm (emacs-fish-completion): Update to 1.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9bf101ab31..238b204b3c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12783,7 +12783,7 @@ using XML-RPC methods fairly transparent to the Lisp code.") (define-public emacs-fish-completion (package (name "emacs-fish-completion") - (version "1.0") + (version "1.1") (source (origin (method url-fetch) @@ -12793,7 +12793,7 @@ using XML-RPC methods fairly transparent to the Lisp code.") version)) (sha256 (base32 - "1hpma1c5j50ja03ibr7h1xmyv7k8j3rbvqivad47kwqhlsgw0jk0")))) + "0bpvifv6c2a65nks6kvarw0hhm37fnyy74wikwf9qq1i20va0fpv")))) (build-system emacs-build-system) (inputs `(("fish" ,fish))) (arguments From 64dc8e9e59f2a8c896914e988cd609ae64a7b564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= Date: Fri, 21 Jun 2019 22:48:33 +0200 Subject: [PATCH 015/221] gnu: Add openjdk12. * gnu/packages/java.scm(openjdk12): New variable. --- gnu/packages/java.scm | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 2dad131c00..403c446a82 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2096,6 +2096,50 @@ new Date();")) "This package provides the Java development kit OpenJDK.") (license license:gpl2+))) +(define-public openjdk12 + (package + (inherit openjdk11) + (name "openjdk") + (version "12.33") + (source (origin + (method url-fetch) + (uri "http://hg.openjdk.java.net/jdk/jdk/archive/0276cba45aac.tar.bz2") + (file-name (string-append name "-" version ".tar.bz2")) + (sha256 + (base32 + "0mbhdrk12b6878kby0flnbak7444dlpm0ihlmf92vk59y1c02bc2")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each delete-file (find-files "." ".*.bin$")) + (for-each delete-file (find-files "." ".*.exe$")) + (for-each delete-file (find-files "." ".*.jar$")) + #t)))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("cups" ,cups) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("giflib" ,giflib) + ("lcms" ,lcms) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) + ("libxt" ,libxt) + ("libxtst" ,libxtst))) + (native-inputs + `(("autoconf" ,autoconf) + ("openjdk11" ,openjdk11) + ("openjdk11:jdk" ,openjdk11 "jdk") + ("pkg-config" ,pkg-config) + ("unzip" ,unzip) + ("which" ,which) + ("zip" ,zip))) + (home-page "https://openjdk.java.net/projects/jdk/12"))) + (define-public icedtea icedtea-8) From a65f1e8eab8417154ac8a2b4371d0eb13b1987b9 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Jun 2019 22:57:19 +0200 Subject: [PATCH 016/221] gnu: Move ratpoints into "sagemath.scm" * gnu/packages/algebra.scm (ratpoints): Move package from here... * gnu/packages/sagemath.scm (ratpoints): ... to here. --- gnu/packages/algebra.scm | 42 -------------------------------------- gnu/packages/sagemath.scm | 43 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 42 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index edcfad1402..95189401f7 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -1333,48 +1333,6 @@ multiplication algorithm.") (license license:gpl2+) (home-page "https://bitbucket.org/malb/m4ri/"))) -(define-public ratpoints - (package - (name "ratpoints") - (version "2.1.3") - (source (origin - (method url-fetch) - (uri (string-append - "http://www.mathe2.uni-bayreuth.de/stoll/programs/" - "ratpoints-" version ".tar.gz")) - (sha256 - (base32 - "0zhad84sfds7izyksbqjmwpfw4rvyqk63yzdjd3ysd32zss5bgf4")) - (patches - ;; Taken from - ;; - (search-patches "ratpoints-sturm_and_rp_private.patch")))) - (build-system gnu-build-system) - (arguments - `(#:test-target "test" - #:make-flags - (list (string-append "INSTALL_DIR=" (assoc-ref %outputs "out")) - "CCFLAGS=-fPIC") - #:phases - (modify-phases %standard-phases - (delete 'configure) ;no configure script - (add-before 'install 'create-install-directories - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (mkdir-p out) - (with-directory-excursion out - (for-each (lambda (d) (mkdir-p d)) - '("bin" "include" "lib")))) - #t))))) - (inputs - `(("gmp" ,gmp))) - (home-page "http://www.mathe2.uni-bayreuth.de/stoll/programs/") - (synopsis "Find rational points on hyperelliptic curves") - (description "Ratpoints tries to find all rational points within -a given height bound on a hyperelliptic curve in a very efficient way, -by using an optimized quadratic sieve algorithm.") - (license license:gpl2+))) - (define-public symmetrica (package (name "symmetrica") diff --git a/gnu/packages/sagemath.scm b/gnu/packages/sagemath.scm index d264eb560f..43da5c636a 100644 --- a/gnu/packages/sagemath.scm +++ b/gnu/packages/sagemath.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Andreas Enge +;;; Copyright © 2019 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -429,3 +430,45 @@ used as internal storage type for polynomial structures.") zeta function and its twists by quadratic characters.") (license license:gpl2+) (home-page "https://gitlab.com/sagemath/sage"))) + +(define-public ratpoints + (package + (name "ratpoints") + (version "2.1.3") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.mathe2.uni-bayreuth.de/stoll/programs/" + "ratpoints-" version ".tar.gz")) + (sha256 + (base32 + "0zhad84sfds7izyksbqjmwpfw4rvyqk63yzdjd3ysd32zss5bgf4")) + (patches + ;; Taken from + ;; + (search-patches "ratpoints-sturm_and_rp_private.patch")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:make-flags + (list (string-append "INSTALL_DIR=" (assoc-ref %outputs "out")) + "CCFLAGS=-fPIC") + #:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-before 'install 'create-install-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p out) + (with-directory-excursion out + (for-each (lambda (d) (mkdir-p d)) + '("bin" "include" "lib")))) + #t))))) + (inputs + `(("gmp" ,gmp))) + (home-page "http://www.mathe2.uni-bayreuth.de/stoll/programs/") + (synopsis "Find rational points on hyperelliptic curves") + (description "Ratpoints tries to find all rational points within +a given height bound on a hyperelliptic curve in a very efficient way, +by using an optimized quadratic sieve algorithm.") + (license license:gpl2+))) From dcdc3315c9adb1c36968b35b1c18e10090ca01e7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 21 Jun 2019 20:47:44 +0200 Subject: [PATCH 017/221] gnu: rclone: Update to 1.48.0. * gnu/packages/sync.scm (rclone): Update to 1.48.0. --- gnu/packages/sync.scm | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/gnu/packages/sync.scm b/gnu/packages/sync.scm index 51ed0317bc..faff25ddc1 100644 --- a/gnu/packages/sync.scm +++ b/gnu/packages/sync.scm @@ -252,16 +252,14 @@ over the Internet in an HTTP and CDN friendly way; (define-public rclone (package (name "rclone") - (version "1.47.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ncw/rclone.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1nxwjr9jly6wh1ixr6a7zhlg4b3298v940040fsm0n3lcljd37zx")))) + (version "1.48.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/ncw/rclone/releases/download/v" + version "/rclone-v" version ".tar.gz")) + (sha256 + (base32 "1r03rlsk0qpya1fl8xfhj5inccjywf2cqgkd8r6wfhf3w2qd1zlc")))) ;; FIXME: Rclone bundles some libraries Guix already provides. Need to ;; un-bundle them. (build-system go-build-system) From cb1d8aeeb31e391dcf71d9346ad88eac7e201724 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 21 Jun 2019 21:39:04 +0200 Subject: [PATCH 018/221] gnu: gnuplot: Update to 5.2.7. * gnu/packages/maths.scm (gnuplot): Update to 5.2.7. --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c2c7a57d75..f16e108656 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -613,14 +613,14 @@ singular value problems.") (define-public gnuplot (package (name "gnuplot") - (version "5.2.6") + (version "5.2.7") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/" version "/gnuplot-" version ".tar.gz")) (sha256 - (base32 "1vllgap08nhvdmc03idmkdnk9cfl2bp81hps50q1pqrr640qzp9m")))) + (base32 "1vglp4la40f5dpj0zdj63zprrkyjgzy068p35bz5dqxjyczm1zlp")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("cairo" ,cairo) From 4286a6b0858025262cae281bf62c7e88b4671697 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 21 Jun 2019 22:59:33 +0200 Subject: [PATCH 019/221] gnu: gpgme: Update to 1.13.1. * gnu/packages/gnupg.scm (gpgme): Update to 1.13.1. --- gnu/packages/gnupg.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index abd1d6f419..366a163864 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -369,15 +369,13 @@ libskba (working with X.509 certificates and CMS data).") (define-public gpgme (package (name "gpgme") - (version "1.13.0") + (version "1.13.1") (source (origin (method url-fetch) - (uri (string-append "mirror://gnupg/gpgme/gpgme-" version - ".tar.bz2")) + (uri (string-append "mirror://gnupg/gpgme/gpgme-" version ".tar.bz2")) (sha256 - (base32 - "0c6676g0yhfsmy32i1dgwh5cx0ja8vhcqf4k08zad177m53kxcnl")))) + (base32 "0imyjfryvvjdbai454p70zcr95m94j9xnzywrlilqdw2fqi0pqy4")))) (build-system gnu-build-system) (native-inputs `(("gnupg" ,gnupg))) From 41a34981282e8e2cce7419ac9da39bb248227237 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 00:25:30 +0200 Subject: [PATCH 020/221] gnu: cbatticon: Update to 1.6.9. * gnu/packages/admin.scm (cbatticon): Update to 1.6.9. --- gnu/packages/admin.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index c6ed4c6d4a..3d8c247f57 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -2251,7 +2251,7 @@ produce uniform output across heterogeneous networks.") (define-public cbatticon (package (name "cbatticon") - (version "1.6.8") + (version "1.6.9") (source (origin (method git-fetch) @@ -2259,7 +2259,7 @@ produce uniform output across heterogeneous networks.") (url "https://github.com/valr/cbatticon.git") (commit version))) (sha256 - (base32 "16g26vin1693dbdr9qsnw36fdchx394lp79gvp7gcbw0w1ny9av6")) + (base32 "0kw09d678sd3m18fmi4380sl4a2m5lkfmq0kps16cdmq7z80rvaf")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments From 6263202ba2b208ca1bb5345aab62e05ac3d792f0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 00:28:26 +0200 Subject: [PATCH 021/221] gnu: python-lmdb: Update to 0.95. * gnu/packages/databases.scm (python-lmdb): Update to 0.95. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index acffc56a27..8da4ed9088 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -2150,13 +2150,13 @@ etc., and an SQL engine for performing simple SQL queries.") (define-public python-lmdb (package (name "python-lmdb") - (version "0.94") + (version "0.95") (source (origin (method url-fetch) (uri (pypi-uri "lmdb" version)) (sha256 (base32 - "1zh38gvkqw1jm5105if6rr7ccbgyxr7k2rm5ygb9ab3bq82pyaww")) + "0nx9f193gzl33r1lbqhb96h1igya7pz8wmahr8m9x5zgc05hal91")) (modules '((guix build utils))) (snippet ;; Delete bundled lmdb source files. From c9750434aa4234ccac695f4f7618176e0839870e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 00:36:34 +0200 Subject: [PATCH 022/221] gnu: scrot: Name source checkout. * gnu/packages/xdisorg.scm (scrot)[source]: Add FILE-NAME. --- gnu/packages/xdisorg.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 7afa7c74e6..56dbfc7227 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -519,6 +519,7 @@ move windows, switch between desktops, etc.).") (git-reference (url "https://github.com/resurrecting-open-source-projects/scrot.git") (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 "1dg0pnmk09p7zlbyxv7d40vf54amrv73y976ds5p7096x6lmlndy")))) (build-system gnu-build-system) From e6de37df453778c9b2dc97706c7396b7efb5c741 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 00:37:25 +0200 Subject: [PATCH 023/221] gnu: youtube-dl: Update to 2019.06.21. * gnu/packages/video.scm (youtube-dl): Update to 2019.06.21. --- 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 028a3b786f..bd94279b7f 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1446,7 +1446,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2019.05.20") + (version "2019.06.21") (source (origin (method url-fetch) (uri (string-append "https://github.com/rg3/youtube-dl/releases/" @@ -1454,7 +1454,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "18xwdfvpkqrnj0kb8xj8hgwhgiqpv7x7x7zzr4x3vynb9grcv9m8")))) + "03a729198zzhixbn7xixi9bprmk3qqh5dsyh3dqhji6lmlijx1w5")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion From ba96c10ecd98e446799ab6dca3dcc31a27d96533 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 00:37:39 +0200 Subject: [PATCH 024/221] gnu: exo: Update to 0.12.6. * gnu/packages/xfce.scm (exo): Update to 0.12.6. --- gnu/packages/xfce.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c518508360..2b4feb1c2d 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -188,7 +188,7 @@ to share commonly used Xfce widgets among the Xfce applications.") (define-public exo (package (name "exo") - (version "0.12.5") + (version "0.12.6") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -196,7 +196,7 @@ to share commonly used Xfce widgets among the Xfce applications.") "exo-" version ".tar.bz2")) (sha256 (base32 - "1s23prcgall6r5dpn0qlrdq3zj13p95a5s0l2vflgrka8gb39x78")))) + "00qh8ihrf09jvd26kilybihkgvv6rvi0l1bvlldxc99jb7ygy5ql")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) From 9b01a729b07a64f82a8f11273c1ad235e162e34b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 01:06:33 +0200 Subject: [PATCH 025/221] gnu: pdfpc: Update to 4.3.4. * gnu/packages/pdf.scm (pdfpc): Update to 4.3.4. --- gnu/packages/pdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index b2eb81ef0f..a9e345da53 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -1039,7 +1039,7 @@ multiple files.") (define-public pdfpc (package (name "pdfpc") - (version "4.3.2") + (version "4.3.4") (source (origin (method git-fetch) @@ -1048,7 +1048,7 @@ multiple files.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "15y6g92fp6x6dwwhrhkfny5z20w7pq9c8w19fh2vzff9aa6m2h9z")))) + (base32 "07aafsm4jzdgpahz83p0ajv40hry7gviyadqi13ahr8xdhhwy2sd")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no test target (inputs From 1710b8f88957b5f47f2091acde01bd31bb9c2a9e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 01:24:30 +0200 Subject: [PATCH 026/221] gnu: python-robotframework: Update to 3.1.2. * gnu/packages/python-xyz.scm (python-robotframework): Update to 3.1.2. --- gnu/packages/python-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c329a2cfbb..ccedbe97b4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2655,7 +2655,7 @@ ecosystem, but can naturally be used also by other projects.") (define-public python-robotframework (package (name "python-robotframework") - (version "3.1.1") + (version "3.1.2") ;; There are no tests in the PyPI archive. (source (origin @@ -2665,8 +2665,7 @@ ecosystem, but can naturally be used also by other projects.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "1aaiamc9l35m5sf7xl2qc5q9308v7sz3p1qgzcslsjxzddphyn4v")) + (base32 "16gnxy0qinh8fhs0qvhff5z2xh49c3cqgm0d7bfjw120df6x7fym")) (patches (search-patches "python-robotframework-honor-source-date-epoch.patch")))) (build-system python-build-system) From 47d79541ba96aac64545937d8fcf7618acca21e2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 01:25:49 +0200 Subject: [PATCH 027/221] gnu: python-astunparse: Update to 1.6.2. * gnu/packages/python-xyz.scm (python-astunparse): Update to 1.6.2. --- gnu/packages/python-xyz.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ccedbe97b4..d7950935e3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15342,16 +15342,15 @@ with the HTTP/2-based RPC framework gRPC.") (define-public python-astunparse (package (name "python-astunparse") - (version "1.6.1") + (version "1.6.2") (source (origin (method url-fetch) (uri (pypi-uri "astunparse" version)) (sha256 - (base32 - "1jhidwyrqn17avqh9xnnm3wd7q7aahaq009cba67g86y6gxicyyj")))) + (base32 "0rzbc44xcvzjhhiy7wac96mgal5mcjz1mfq8rmvgswskf4kf9cys")))) (build-system python-build-system) - (arguments '(#:tests? #f)) ; there are none + (arguments '(#:tests? #f)) ; there are none (propagated-inputs `(("python-six" ,python-six) ("python-wheel" ,python-wheel))) From 0107c9b8b28e94616d5aeae3922e1b66d3c05174 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 01:26:09 +0200 Subject: [PATCH 028/221] gnu: python-twisted: Update to 19.2.1. * gnu/packages/python-xyz.scm (python-twisted): Update to 19.2.1. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d7950935e3..b4cf0e3280 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -9715,16 +9715,16 @@ format.") (define-public python-twisted (package (name "python-twisted") - (version "19.2.0") + (version "19.2.1") (source (origin (method url-fetch) (uri (pypi-uri "Twisted" version ".tar.bz2")) (sha256 (base32 - "1gmb8d57s13d8znvqnxi47vqzqz141z443dbxg9wjkp8ia9f220p")))) + "0liymyd4pzphizjlpwkncxjpm9akyr3lkfkm77yfg6wasv108b7s")))) (build-system python-build-system) (arguments - '(#:tests? #f)) ; FIXME: Some tests are failing. + '(#:tests? #f)) ; FIXME: some tests fail (propagated-inputs `(("python-zope-interface" ,python-zope-interface) ("python-pyhamcrest" ,python-pyhamcrest) From b5cb46243840ff93673a51288cb15ede137880d5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 01:29:19 +0200 Subject: [PATCH 029/221] gnu: python-bcrypt: Update to 3.1.7. * gnu/packages/python-crypto.scm (python-bcrypt): Update to 3.1.7. --- gnu/packages/python-crypto.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index d9065e8b15..88a00070a8 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -77,14 +77,13 @@ with what is used by the Bitcoin network.") (define-public python-bcrypt (package (name "python-bcrypt") - (version "3.1.6") + (version "3.1.7") (source (origin (method url-fetch) (uri (pypi-uri "bcrypt" version)) (sha256 - (base32 - "1sh2xh0iragdq8dhssc1cdd02nppjq7b5kmv0qladfi2s9cnfqs4")))) + (base32 "0hhywhxx301cxivgxrpslrangbfpccc8y83qbwn1f57cab3nj00b")))) (build-system python-build-system) (native-inputs `(("python-pycparser" ,python-pycparser) From 0998175f4e0869f5b6c141d74393d60758c39ff4 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 01:37:10 +0200 Subject: [PATCH 030/221] gnu: python-dask: Update to 1.2.2. * gnu/packages/python-xyz.scm (python-dask): Update to 1.2.2. --- gnu/packages/python-xyz.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index b4cf0e3280..a10b6cfe60 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -15124,14 +15124,13 @@ append on old values. Partd excels at shuffling operations.") (define-public python-dask (package (name "python-dask") - (version "1.2.0") + (version "1.2.2") (source (origin (method url-fetch) (uri (pypi-uri "dask" version)) (sha256 - (base32 - "1y0dqcp72ixwblgway0jpvfirlxfcmwrjiivdq96firj1hw127sd")))) + (base32 "0b29gvf96gmp20wicly3v3mhyc93zbm3mdv935fka6x0wax7cy2y")))) (build-system python-build-system) ;; A single test out of 5000+ fails. This test is marked as xfail when ;; pytest-xdist is used. From a6175442481c3d0594453e90c51bb5dafe539d2a Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sat, 22 Jun 2019 10:02:54 +0200 Subject: [PATCH 031/221] gnu: wine-staging: Update to 4.11. * gnu/packages/wine.scm (wine-staging-patchset-data): Update to 4.11. * gnu/packages/wine.scm (wine-staging): Update to 4.11. --- gnu/packages/wine.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 63916d1cc3..72f0e1fd55 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -310,7 +310,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "4.10") + (version "4.11") (source (origin (method git-fetch) @@ -320,7 +320,7 @@ integrate Windows applications into your desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "0kl5718c4xk8d1va1jb5jaa2n0vw3l0hi6bpc7siaww1fp64hy98")))) + "0h8qldqr9w1kwn48qgg5m1cs2xqkv8xxg2c66cvfka91hy886jcf")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) @@ -366,7 +366,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "041d3km85iqbshspy9av1fxjwq18xldrb18j04xl2fmpv1hq3pas")))) + "1rmyfwlynzs2niz7l2lwjs2axm6in6gb43ldbzyzsflxsmk5fl9f")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("faudio" ,faudio) ("ffmpeg" ,ffmpeg) From 545946f6571c3dd01a450de738e2b37bdf148061 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 22 Jun 2019 12:57:56 +0200 Subject: [PATCH 032/221] gnu: Add openvr. * gnu/packages/game-development.scm (openvr): New variable. --- gnu/packages/game-development.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 63ccd20470..1fb90b95d3 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1511,3 +1511,29 @@ added. The permanent goal is to create the open source Quake 3 distribution upon which people base their games, ports to new platforms, and other projects.") (license license:gpl2)))) + +(define-public openvr + (package + (name "openvr") + (version "1.4.18") + (home-page "https://github.com/ValveSoftware/openvr/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0m92634j6g0f2xybbzklm79cnq20vidbk1jc62pnz12aabwixvyh")))) + (build-system cmake-build-system) + (arguments + ;; No tests. + '(#:tests? #f + #:configure-flags (list "-DBUILD_SHARED=1"))) + (synopsis "Virtual reality software development kit") + (description "OpenVR is an API and runtime that allows access to VR +hardware from multiple vendors without requiring that applications have +specific knowledge of the hardware they are targeting.") + (license license:bsd-3))) From d9d836c3231be0122355f42f52f6779d07776720 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 18 Jun 2019 17:31:55 +0200 Subject: [PATCH 033/221] gnu: Use license: prefix in tcl.scm. * gnu/packages/tcl.scm: Use license: prefix in tcl.scm. --- gnu/packages/tcl.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index eac3297a32..2d4001d288 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Jan Nieuwenhuizen ;;; Copyright © 2017 Kei Kebreau ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,8 +26,10 @@ (define-module (gnu packages tcl) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system go) #:use-module (guix build-system perl) #:use-module (gnu packages) #:use-module (gnu packages image) @@ -35,7 +38,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (guix licenses)) + #:use-module ((guix licenses) #:prefix license:)) (define-public tcl (package @@ -81,7 +84,7 @@ (home-page "http://www.tcl.tk/") (synopsis "The Tcl scripting language") (description "The Tcl (Tool Command Language) scripting language.") - (license tcl/tk))) + (license license:tcl/tk))) (define-public expect @@ -130,7 +133,7 @@ telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications. And by adding Tk, you can wrap interactive applications in X11 GUIs.") - (license public-domain))) ; as written in `license.terms' + (license license:public-domain))) ; as written in `license.terms' (define-public tk (package @@ -229,7 +232,7 @@ interfaces (GUIs) in the Tcl language.") ;; those of the orignal Tix4.1.3 or Tk8.4.* sources. See the files ;; pTk/license.terms, pTk/license.html_lib, and pTk/Tix.license for ;; details of this license." - (license perl-license))) + (license license:perl-license))) (define-public tcllib (package @@ -343,7 +346,7 @@ modules for Tk, all written in high-level Tcl. Examples of provided widgets: application may register callback scripts for certain document features, and when the parser encounters those features while parsing the document the callback is evaluated.") - (license (non-copyleft + (license (license:non-copyleft "file://LICENCE" "See LICENCE in the distribution.")))) @@ -377,4 +380,4 @@ callback is evaluated.") application development. TclX provides additional interfaces to the operating system, and adds many new programming constructs, text manipulation tools, and debugging tools.") - (license tcl/tk))) + (license license:tcl/tk))) From a5c86aa0fbb8a9fa7f5e1b79d652df54ff83229c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 22 Jun 2019 17:11:06 +0200 Subject: [PATCH 034/221] gnu: Add go-github.com-nsf-gothic. * gnu/packages/tcl.scm (go-github.com-nsf-gothic): New variable. --- gnu/packages/tcl.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 2d4001d288..4840ac4e10 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -381,3 +381,30 @@ application development. TclX provides additional interfaces to the operating system, and adds many new programming constructs, text manipulation tools, and debugging tools.") (license license:tcl/tk))) + +(define-public go-github.com-nsf-gothic + (let ((commit "97dfcc195b9de36c911a69a6ec2b5b2659c05652") + (revision "0")) + (package + (name "go-github.com-nsf-gothic") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nsf/gothic") + (commit commit))) + (sha256 + (base32 + "1lrhbml6r4sh22rrn3m9bck70pv0g0c1diprg7cil90x0jidxczr")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/nsf/gothic")) + (propagated-inputs + `(("tk" ,tk) + ("tcl" ,tcl))) + (home-page "https://github.com/nsf/gothic") + (synopsis "Tcl/Tk Go bindings") + (description "Gothic contains Go bindings for Tcl/Tk. The package contains +only one type and one function that can be used to create a Tk interpreter.") + (license license:expat)))) From 453365bcf77cd2fa21cc9794f678cf7e333ae9fe Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 18 Jun 2019 18:11:24 +0200 Subject: [PATCH 035/221] gnu: Add harmonist-tk. * gnu/packages/games.scm (harmonist-tk): New variable. --- gnu/packages/games.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index bf3ab94e68..304ef45024 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -7254,6 +7254,26 @@ the game avoids complex inventory management and character building, relying on items and player adaptability for character progression.") (license license:isc))) +(define-public harmonist-tk + (package + (inherit harmonist) + (name "harmonist-tk") + (arguments + (append + (package-arguments harmonist) + `(#:phases + (modify-phases %standard-phases + (replace 'build + (lambda _ + (invoke "go" "install" "-v" "-x" "--tags" "tk" + "git.tuxfamily.org/harmonist/harmonist"))) + (replace 'check + (lambda _ + (invoke "go" "test" "--tags" "tk" + "git.tuxfamily.org/harmonist/harmonist"))))))) + (inputs + `(("go-github.com-nsf-gothic" ,go-github.com-nsf-gothic))))) + (define-public drascula (package (name "drascula") From b95af3f6ab6a55641260b8f9743496ec12992717 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 22 Jun 2019 17:17:06 +0200 Subject: [PATCH 036/221] gnu: python-pyatspi: Fix loading libraries. * gnu/package/gnome.scm (python-pyatspi): Fix loading dependencies. --- gnu/local.mk | 1 + gnu/packages/gnome.scm | 15 +++- .../patches/python-pyatspi-python-37.patch | 82 +++++++++++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-pyatspi-python-37.patch diff --git a/gnu/local.mk b/gnu/local.mk index a467501f50..8be4d74dce 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1218,6 +1218,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-mox3-python3.6-compat.patch \ %D%/packages/patches/python-testtools.patch \ %D%/packages/patches/python-paste-remove-timing-test.patch \ + %D%/packages/patches/python-pyatspi-python-37.patch \ %D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \ %D%/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ %D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \ diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index ad6b9203b9..2820be0022 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -7397,8 +7397,21 @@ kill/reinice processes.") "/pyatspi-" version ".tar.xz")) (sha256 (base32 - "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6")))) + "0xdnix7gxzgf75xy9ris4dd6b05mqwicw190b98xqmypydyf95n6")) + ;; Patch from upstream, fixed in newer versions. + (patches (search-patches "python-pyatspi-python-37.patch")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'build 'fix-atk-load + (lambda _ + (substitute* "pyatspi/__init__.py" + (("from gi.repository import Atspi") + "gi.require_version('Gtk', '3.0') +from gi.repository import Gtk +from gi.repository import Atspi")) + #t))))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs diff --git a/gnu/packages/patches/python-pyatspi-python-37.patch b/gnu/packages/patches/python-pyatspi-python-37.patch new file mode 100644 index 0000000000..caa6aea39e --- /dev/null +++ b/gnu/packages/patches/python-pyatspi-python-37.patch @@ -0,0 +1,82 @@ +From 29a7b929f7f1160b643dc5f5911533887173fcff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= +Date: Thu, 28 Jun 2018 17:10:33 +0200 +Subject: [PATCH] Rename async to asynchronous, keep backwards comaptibility + +async is a keyword in Python 3.7 and keeping it results in SyntaxError. + +Fixes https://gitlab.gnome.org/GNOME/pyatspi2/issues/1 +--- + pyatspi/registry.py | 35 +++++++++++++++++++++++++++-------- + 1 file changed, 27 insertions(+), 8 deletions(-) + +diff --git a/pyatspi/registry.py b/pyatspi/registry.py +index cb28395..f73ee16 100644 +--- a/pyatspi/registry.py ++++ b/pyatspi/registry.py +@@ -50,9 +50,9 @@ class Registry(object): + reference to the Accessibility.Registry singleton. Doing so is harmless and + has no point. + +- @@ivar async: Should event dispatch to local listeners be decoupled from event +- receiving from the registry? +- @@type async: boolean ++ @@ivar asynchronous: Should event dispatch to local listeners be decoupled ++ from event receiving from the registry? ++ @@type asynchronous: boolean + @@ivar reg: Reference to the real, wrapped registry object + @@type reg: Accessibility.Registry + @@ivar dev: Reference to the device controller +@@ -111,25 +111,44 @@ class Registry(object): + + self.has_implementations = True + +- self.async = False # not fully supported yet ++ self.asynchronous = False # not fully supported yet + self.started = False + self.event_listeners = dict() + ++ def __getattr__(self, name): ++ """ ++ For backwards compatibility with old API ++ """ ++ if name == 'async': ++ return self.asynchronous ++ return object.__getattr__(self, name) ++ ++ def __setattr__(self, name, value): ++ """ ++ For backwards compatibility with old API ++ """ ++ if name == 'async': ++ self.asynchronous = value ++ object.__setattr__(self, name, value) ++ + def _set_default_registry (self): + self._set_registry (MAIN_LOOP_GLIB) + +- def start(self, async=False, gil=True): ++ def start(self, asynchronous=False, gil=True, **kwargs): + """ + Enter the main loop to start receiving and dispatching events. + +- @@param async: Should event dispatch be asynchronous (decoupled) from +- event receiving from the AT-SPI registry? +- @@type async: boolean ++ @@param asynchronous: Should event dispatch be asynchronous ++ (decoupled) from event receiving from the AT-SPI registry? ++ @@type asynchronous: boolean + @@param gil: Add an idle callback which releases the Python GIL for a few + milliseconds to allow other threads to run? Necessary if other threads + will be used in this process. + @@type gil: boolean + """ ++ if 'async' in kwargs: ++ # support previous API ++ asynchronous = kwargs['async'] + if not self.has_implementations: + self._set_default_registry () + self.started = True +-- +2.22.0 + From a5d8a2b24b10c6ab6a9b292e39e944a4b663e1d0 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 23:35:55 +0200 Subject: [PATCH 037/221] gnu: isync: Update to 1.3.1. * gnu/packages/mail.scm (isync): Update to 1.3.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 bf35d943ce..9af30b7cd7 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1433,14 +1433,14 @@ hashing schemes plugin for @code{Dovecot}.") (define-public isync (package (name "isync") - (version "1.3.0") + (version "1.3.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/isync/isync/" version "/isync-" version ".tar.gz")) (sha256 (base32 - "173wd7x8y5sp94slzwlnb7zhgs32r57zl9xspl2rf4g3fqwmhpwd")))) + "1sphd30jplii58y2zmw365bckm6pszmapcy905zhjll1sm1ldjv8")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) From 5e15ec6734d542eae6c7cfa2f7af25a39a779d30 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 23:27:46 +0200 Subject: [PATCH 038/221] gnu: mutt: Update to 1.12.1. * gnu/packages/mail.scm (mutt): Update to 1.12.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 9af30b7cd7..1694b7c6b1 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -351,14 +351,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.12.0") + (version "1.12.1") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "13zr2fpql33sdbsjsiaa952js5bvphc1x4lqsj36qyzdhj3l84na")) + "0311sip2q90aqaxn7h3cck1zl98b4vifqi8bp5fsizy4dr06bi81")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs From 4b93bc0d51c6b8fdc25cbfe0c5408d327986d371 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 22:14:49 +0200 Subject: [PATCH 039/221] gnu: stellarium: Update to 0.19.1. * gnu/packages/astronomy.scm (stellarium): Update to 0.19.1. --- gnu/packages/astronomy.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 9ddb9e1d52..807c9ce891 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -133,7 +133,7 @@ programs for the manipulation and analysis of astronomical data.") (define-public stellarium (package (name "stellarium") - (version "0.19.0") + (version "0.19.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/Stellarium/" name @@ -141,7 +141,7 @@ programs for the manipulation and analysis of astronomical data.") "/" name "-" version ".tar.gz")) (sha256 (base32 - "1mjjqcpgm5a1022x0mpqj3v6qkvpm9wqm1hqyg0mlypc5681va8a")))) + "0s7v5iyhah258k83kvy2a91a3mdf34r150lcar4mmdsrrcmas98g")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) @@ -151,9 +151,9 @@ programs for the manipulation and analysis of astronomical data.") ("qtserialport" ,qtserialport) ("zlib" ,zlib))) (native-inputs - `(("gettext" ,gettext-minimal) ; xgettext is used at compile time - ("perl" ,perl) ; For pod2man - ("qtbase" ,qtbase) ; Qt MOC is needed at compile time + `(("gettext" ,gettext-minimal) ; xgettext is used at compile time + ("perl" ,perl) ; For pod2man + ("qtbase" ,qtbase) ; Qt MOC is needed at compile time ("qttools" ,qttools))) (arguments `(#:test-target "test" From a5883d1fbe42eaf8e2cb7b0b0fc55b9206e38480 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 22:16:44 +0200 Subject: [PATCH 040/221] gnu: stellarium: Don't use NAME in source URI. * gnu/packages/astronomy.scm (stellarium)[source]: Hard-code NAME. --- gnu/packages/astronomy.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 807c9ce891..d6341ce453 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -134,14 +134,14 @@ programs for the manipulation and analysis of astronomical data.") (package (name "stellarium") (version "0.19.1") - (source (origin - (method url-fetch) - (uri (string-append "https://github.com/Stellarium/" name - "/releases/download/v" version - "/" name "-" version ".tar.gz")) - (sha256 - (base32 - "0s7v5iyhah258k83kvy2a91a3mdf34r150lcar4mmdsrrcmas98g")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/Stellarium/stellarium" + "/releases/download/v" version + "/stellarium-" version ".tar.gz")) + (sha256 + (base32 "0s7v5iyhah258k83kvy2a91a3mdf34r150lcar4mmdsrrcmas98g")))) (build-system cmake-build-system) (inputs `(("qtbase" ,qtbase) From f205f6be7a077e3ffd1df6602aee5d15d44675ce Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 00:05:54 +0200 Subject: [PATCH 041/221] gnu: mate-themes: Update to 3.22.20. * gnu/packages/mate.scm (mate-themes): Update to 3.22.20. --- gnu/packages/mate.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index c2a6aaf011..9e9fda0929 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2016 Fabian Harfert ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2017 ng0 -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Ludovic Courtès ;;; Copyright © 2019 Guy Fleury Iteriteka ;;; @@ -195,20 +195,19 @@ from Mint-X-F and Faenza-Fresh icon packs.") (define-public mate-themes (package (name "mate-themes") - (version "3.22.19") + (version "3.22.20") (source (origin (method url-fetch) (uri (string-append "mirror://mate/themes/" (version-major+minor version) "/mate-themes-" version ".tar.xz")) - (sha256 - (base32 - "1ycb8b8r0s8d1h1477135mynr53s5781gdb2ap8xlvj2g58492wq")))) + (sha256 + (base32 "0c3dhf8p9nc2maky4g9xr04iil9wwbdkmhpzynlc6lfg4ksqq2bx")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) - ("gdk-pixbuf" ,gdk-pixbuf) ; gdk-pixbuf+svg isn't needed + ("gdk-pixbuf" ,gdk-pixbuf) ; gdk-pixbuf+svg isn't needed ("gtk" ,gtk+-2))) (home-page "https://mate-desktop.org/") (synopsis From 06ba7f27f069b869c635e061a3c6941bc9401fd7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 23 Jun 2019 02:50:59 -0400 Subject: [PATCH 042/221] gnu: linux-libre@4.4: Update to 4.4.183. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.183. --- 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 9d5c851d28..a57c886a84 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -486,8 +486,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.182" - "0ggs5pyjr7a9mldskfbsybzxlb3lmfbhxg5q2qpzxnh1c8wcn53h" + (make-linux-libre "4.4.183" + "1v21n5kwnv9n18gfp2dz9hsdkwmfwigalr82xsnwbzhs0x561bxx" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config #:extra-options From 13a320b006159d209c06cab927055166892a00c8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 23 Jun 2019 02:51:43 -0400 Subject: [PATCH 043/221] gnu: linux-libre@4.9: Update to 4.9.183. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.183. --- 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 a57c886a84..4e7b64b6d9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -480,8 +480,8 @@ It has been modified to remove all non-free binary blobs.") %linux-libre-4.14-hash)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.182" - "1615v8ywwdm204bimq2cf6qv0zas14yagpr8lk9a5zqxas4p4rns" + (make-linux-libre "4.9.183" + "1w3syih3fggwkpcl6zkmm9f6577r2jvack4br5ffccgcddkz52ia" '("x86_64-linux" "i686-linux") #:configuration-file kernel-config)) From cf03bd688bda1ca6fd124adeb680194003d14b59 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 23 Jun 2019 02:52:22 -0400 Subject: [PATCH 044/221] gnu: linux-libre@4.14: Update to 4.14.129. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.129. (%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 4e7b64b6d9..32c67b0f32 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -466,8 +466,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-4.19-version %linux-libre-4.19-hash)) -(define %linux-libre-4.14-version "4.14.128") -(define %linux-libre-4.14-hash "1vhzny9p2kidhvz4jxzkl2201bkrym3xiyf7w7y6wpi8abv28zsq") +(define %linux-libre-4.14-version "4.14.129") +(define %linux-libre-4.14-hash "0aw37l5c6hpgzqjawyq3rd7csp92x8mhy785mf0hg0i9smyfg767") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From 9f9dcaaca054448396604790b1dd2ae92a61218f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 23 Jun 2019 02:53:16 -0400 Subject: [PATCH 045/221] gnu: linux-libre@4.19: Update to 4.19.55. * gnu/packages/linux.scm (%linux-libre-4.19-version): Update to 4.19.55. (%linux-libre-4.19-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 32c67b0f32..5967012436 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -448,8 +448,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-version %linux-libre-hash)) -(define %linux-libre-4.19-version "4.19.53") -(define %linux-libre-4.19-hash "0bk024a7s4my4hf6i7gfg64lill19i4b8x0x3hfsqyy6j153pjlg") +(define %linux-libre-4.19-version "4.19.55") +(define %linux-libre-4.19-hash "12qrd1rzhk0344av0dj9k4fg0i8yfd5n7k5gyw5bmp1y4f5igd59") (define %linux-libre-4.19-patches (list %boot-logo-patch From a37cbc4cbda2c1850e38bc7d14d70cc3a266a8fb Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 23 Jun 2019 02:54:22 -0400 Subject: [PATCH 046/221] gnu: linux-libre: Update to 5.1.14. * gnu/packages/linux.scm (%linux-libre-version): Update to 5.1.14. (%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 5967012436..f89ab6b281 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -430,8 +430,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "5.1.12") -(define %linux-libre-hash "0rzm3ixazqxfn767yayyf3ib889igg9nq7acf2wqcsmwbrrh5zcc") +(define %linux-libre-version "5.1.14") +(define %linux-libre-hash "1rpkkhzyks9bqk0j6djaacjxfb0jld4si4li1ws123ddf5krz8j2") (define %linux-libre-5.1-patches (list %boot-logo-patch From fe3846c9cb16741f483bdbe43f5a7bf94b5c9cc2 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 23 Jun 2019 11:07:39 +0200 Subject: [PATCH 047/221] gnu: emacs-org-reveal: Update to 20190622. * gnu/packages/emacs-xyz.scm (emacs-org-reveal): Update to 20190622. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 238b204b3c..dcdbcf7dd0 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11206,10 +11206,10 @@ You should really read org-ref.org in this package for details.") ;; This project is unmaintained. Please use emacs-org-re-reveal instead. (define-public emacs-org-reveal - (let ((commit "1cdd088ec5fab631c564dca7f9f74fd3e9b7d4d4")) + (let ((commit "9210413202a360a559a51e8275faa42be68cf44b")) (package (name "emacs-org-reveal") - (version (git-version "0.1" "2" commit)) + (version (git-version "0.1" "3" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -11218,7 +11218,7 @@ You should really read org-ref.org in this package for details.") (file-name (git-file-name name version)) (sha256 (base32 - "1vjxjadq2i74p96y9jxnqj1yb86fsgxzmn7bjgnb88ay6nvc1l72")))) + "1wlfk823d3vrn480m38j7ncaqm193lvh6y22b92fx4b3yhdbndza")))) (build-system emacs-build-system) (home-page "https://github.com/yjwen/org-reveal") (synopsis "Org and Reveal.js powered HTML presentation tool") From 4c7ca747eb63e31312e38db47c5016b4ecabe6f1 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 22 Jun 2019 23:22:48 +0200 Subject: [PATCH 048/221] gnu: enchant: Update to 2.2.4. * gnu/packages/enchant.scm (enchant): Update to 2.2.4. --- gnu/packages/enchant.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index 0392a709e2..ce148b47a5 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Marek Benc ;;; Copyright © 2018 Marius Bakke +;;; Copyright © 2019 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,7 @@ (define-public enchant (package (name "enchant") - (version "2.2.3") + (version "2.2.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/AbiWord/enchant/releases" @@ -40,7 +41,7 @@ version ".tar.gz")) (sha256 (base32 - "0v87p1ls0gym95qirijpclk650sjbkcjjl6ssk059zswcwaykn5b")))) + "1p6a3qmrh8bjzds6x7rg9da0ir44gg804jzkf634h39wsa4vdmpm")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static" From 22e68554423637948d950af8a3cde255ef48cd4f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 15:22:28 +0200 Subject: [PATCH 049/221] gnu: spread-sheet-widget: Don't use NAME in source URI. * gnu/packages/gtk.scm (spread-sheet-widget)[source]: Hard-code NAME. --- gnu/packages/gtk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 820fd4b41d..9e7272062f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1687,12 +1687,12 @@ input.") (origin (method url-fetch) (uri (string-append "https://alpha.gnu.org/gnu/ssw/" - name "-" version ".tar.gz")) + "spread-sheet-widget-" version ".tar.gz")) (sha256 (base32 "1h93yyh2by6yrmkwqg38nd5knids05k5nqzcihc1hdwgzg3c4b8y")))) (build-system gnu-build-system) (native-inputs - `(("glib" ,glib "bin") ; for glib-genmarshal, etc. + `(("glib" ,glib "bin") ; for glib-genmarshal, etc. ("pkg-config" ,pkg-config))) ;; In 'Requires' of spread-sheet-widget.pc. (propagated-inputs From 258257acb02732897aacc73afa4f2392e429ad96 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 16:14:32 +0200 Subject: [PATCH 050/221] gnu: znc: Update to 1.7.4. * gnu/packages/messaging.scm (znc): Update to 1.7.4. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 7d036ad473..8aeefa64e1 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -490,14 +490,14 @@ compromised.") (define-public znc (package (name "znc") - (version "1.7.3") + (version "1.7.4") (source (origin (method url-fetch) (uri (string-append "http://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 - "0g8i5hsl4kinpz1wp0a2zniidv3w2sd6awq8676fds516wcc6k0y")))) + "0wcvqkpin8w4i72alnn0nxnrc9ih543qs34hqpk9xmz6m0hjk8xi")))) ;; TODO: autotools support has been deprecated, and new features like i18n ;; are only supported when building with cmake. (build-system gnu-build-system) From 0f2d9c3290c9094e036d5a160969b1690a576d14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 19:18:32 +0200 Subject: [PATCH 051/221] guix build: Use 'warning' for warnings. * guix/scripts/build.scm (options->derivations): Use 'warning' instead of 'format'. --- guix/scripts/build.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 61ca4dca9f..74071d104b 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -836,11 +836,9 @@ build." (#t (match (package-source p) (#f - (format (current-error-port) - (G_ "~a: warning: \ -package '~a' has no source~%") - (location->string (package-location p)) - (package-name p)) + (warning (package-location p) + (G_ "package '~a' has no source~%") + (package-name p)) '()) (s (list (package-source-derivation store s))))) From 92359aed40fe76dcfb13ddf521fa8ac4c2735611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 19:28:52 +0200 Subject: [PATCH 052/221] guix build: '--log-file' no longer returns several log files. Fixes a regression introduced in 9353b199c18caca4a429f20423e1a5e7bc26a8da whereby something like: guix build --log-file $(guix build -d guile) would return two log files. This led to a failure of 'tests/guix-build.sh'. * guix/scripts/build.scm (guix-build): Filter out derivation file names from ITEMS. --- guix/scripts/build.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 74071d104b..ec58ba871b 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -916,7 +916,8 @@ needed." '()))) (items (filter-map (match-lambda (('argument . (? store-path? file)) - file) + (and (not (derivation-path? file)) + file)) (_ #f)) opts)) (roots (filter-map (match-lambda From 40c369b23442ace588d8c85f62f1741c17ed65c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 19:43:39 +0200 Subject: [PATCH 053/221] linux-container: Remove dependency on (guix utils). Fixes a bug whereby derivations importing (gnu build linux-container), such as the 'bitlbee' and 'tor' services, would depend on the user's (guix config) file, which was pulled as a dependency of (guix utils). As a result, those derivations would vary from user to user. * gnu/build/linux-container.scm (call-with-temporary-directory): New procedure. --- gnu/build/linux-container.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/build/linux-container.scm b/gnu/build/linux-container.scm index 3d7b52f098..e86ac606c0 100644 --- a/gnu/build/linux-container.scm +++ b/gnu/build/linux-container.scm @@ -22,7 +22,6 @@ #:use-module (ice-9 match) #:use-module (ice-9 rdelim) #:use-module (srfi srfi-98) - #:use-module (guix utils) #:use-module (guix build utils) #:use-module (guix build syscalls) #:use-module (gnu system file-systems) ; @@ -279,6 +278,21 @@ that host UIDs (respectively GIDs) map to in the namespace." (_ ;unexpected termination #f))))))))) +;; FIXME: This is copied from (guix utils), which we cannot use because it +;; would pull (guix config) and all. +(define (call-with-temporary-directory proc) + "Call PROC with a name of a temporary directory; close the directory and +delete it when leaving the dynamic extent of this call." + (let* ((directory (or (getenv "TMPDIR") "/tmp")) + (template (string-append directory "/guix-directory.XXXXXX")) + (tmp-dir (mkdtemp! template))) + (dynamic-wind + (const #t) + (lambda () + (proc tmp-dir)) + (lambda () + (false-if-exception (delete-file-recursively tmp-dir)))))) + (define* (call-with-container mounts thunk #:key (namespaces %namespaces) (host-uids 1) (guest-uid 0) (guest-gid 0)) "Run THUNK in a new container process and return its exit status. From 91477def5181f5cd1e7ce4944c21e58106bdcf23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= Date: Mon, 24 Jun 2019 10:39:07 +0200 Subject: [PATCH 054/221] gnu: Add postgresql-11. * gnu/packages/databases.scm(postgresql-11): New variable. --- gnu/packages/databases.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 8da4ed9088..52082577f2 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -35,6 +35,7 @@ ;;; Copyright © 2018 Maxim Cournoyer ;;; Copyright © 2019 Jack Hill ;;; Copyright © 2019 Alex Griffin +;;; Copyright © 2019 Gábor Boskovits ;;; ;;; This file is part of GNU Guix. ;;; @@ -846,6 +847,19 @@ TIMESTAMP. It also supports storage of binary large objects, including pictures, sounds, or video.") (license (license:x11-style "file://COPYRIGHT")))) +(define-public postgresql-11 + (package + (inherit postgresql) + (name "postgresql") + (version "11.4") + (source (origin + (method url-fetch) + (uri (string-append "https://ftp.postgresql.org/pub/source/v" + version "/postgresql-" version ".tar.bz2")) + (sha256 + (base32 + "12ycjlqncijgmd5z078ybwda8ilas96lc7nxxmdq140mzpgjv002")))))) + (define-public postgresql-9.6 (package (inherit postgresql) From 89512e1b30b549dd47db21fcb015c2c0ec540aaf Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 18:46:08 +0200 Subject: [PATCH 055/221] gnu: python-parted: Update to 3.11.2. * gnu/packages/disk.scm (python-parted): Update to 3.11.2. --- gnu/packages/disk.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 778529436b..50b28e9d02 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -439,15 +439,14 @@ a card with a smaller capacity than stated.") (define-public python-parted (package (name "python-parted") - (version "3.11.1") + (version "3.11.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/dcantrell/pyparted/archive/v" version ".tar.gz")) (sha256 - (base32 - "0r1nyjj40nacnfnv17x2mnsj6ga1qplyxyza82v2809dfhim2fwq")))) + (base32 "18727vdscrdi2sza9la0y2xxfc4cqfl0ivjigx6m1q16jnaz84ml")))) (build-system python-build-system) (arguments `(#:phases From 2ea3bfe7cb0e7a080fb4797853cca5a5e4e75b38 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 20:07:05 +0200 Subject: [PATCH 056/221] gnu: Add volumeicon. * gnu/packages/gtk.scm (volumeicon): New public variable. --- gnu/packages/gtk.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 9e7272062f..2776bd31a3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -68,6 +68,7 @@ #:use-module (gnu packages icu4c) #:use-module (gnu packages image) #:use-module (gnu packages libffi) + #:use-module (gnu packages linux) #:use-module (gnu packages pdf) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -1706,6 +1707,38 @@ viewing and manipulating 2 dimensional tabular data in a manner similar to many popular spread sheet programs.") (license license:gpl3+))) +(define-public volumeicon + (package + (name "volumeicon") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "http://nullwise.com/files/volumeicon/volumeicon-" + version ".tar.gz")) + (sha256 + (base32 "182xl2w8syv6ky2h2bc9imc6ap8pzh0p7rp63hh8nw0xm38c3f14")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-notify"))) ; optional libnotify support + (native-inputs + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("gtk+" ,gtk+) + ("libnotify" ,libnotify))) + (home-page "http://nullwise.com/volumeicon.html") + (synopsis "System tray volume applet") + (description + "Volume Icon is a volume indicator and control applet for @acronym{the +Advanced Linux Sound Architecture, ALSA}. It sits in the system tray, +independent of your desktop environment, and supports global key bindings.") + (license (list license:expat ; src/{bind.c,keybinder.h} + license:isc ; src/alsa_volume_mapping.c + license:gpl3)))) ; the rest & combined work + (define-public yad (package (name "yad") From 455d29dda6e1798e8f004296024db6658645a3e6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 20:07:34 +0200 Subject: [PATCH 057/221] gnu: python-parted: Don't use unstable tarball. * gnu/packages/disk.scm (python-parted)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/disk.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 50b28e9d02..06f4430b2d 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -442,11 +442,13 @@ a card with a smaller capacity than stated.") (version "3.11.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/dcantrell/pyparted/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/dcantrell/pyparted.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 - (base32 "18727vdscrdi2sza9la0y2xxfc4cqfl0ivjigx6m1q16jnaz84ml")))) + (base32 "0r6916n3w4vldxrq30a3z2iagvxgly4vfmlidjm65vwqnyv17bvn")))) (build-system python-build-system) (arguments `(#:phases From 8b78ba2b9b9bf58fb036ac822602fc606f0848c3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 20:59:40 +0200 Subject: [PATCH 058/221] gnu: drumkv1: Update to 0.9.8. * gnu/packages/music.scm (drumkv1): Update to 0.9.8. [arguments]: Drop -std=gnu++11 #:configure-flags. --- gnu/packages/music.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 1c0a4f3982..14ba3813c5 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1396,7 +1396,7 @@ oscillators and stereo effects.") (define-public drumkv1 (package (name "drumkv1") - (version "0.9.7") + (version "0.9.8") (source (origin (method url-fetch) (uri @@ -1404,12 +1404,10 @@ oscillators and stereo effects.") "/drumkv1-" version ".tar.gz")) (sha256 (base32 - "1361dqdasrc98q9hcjdwsjx6agfimwnay430887fryi3pslkyd81")))) + "010p8nwnmqgj5mw324psig3hxi1g2gylxrigd6sj6sgcpy3kdm23")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there are no tests - #:configure-flags - '("CXXFLAGS=-std=gnu++11"))) + `(#:tests? #f)) ; there are no tests (inputs `(("jack" ,jack-1) ("lv2" ,lv2) From 8c7c76876b6a00114ee078cf5bfba9bb7808d120 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 21:46:42 +0200 Subject: [PATCH 059/221] gnu: synthv1: Update to 0.9.8. * gnu/packages/music.scm (synthv1): Update to 0.9.8. [arguments]: Drop -std=gnu++11 #:configure-flags. --- gnu/packages/music.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 14ba3813c5..366cdd98cf 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1362,7 +1362,7 @@ users to select LV2 plugins and run them with jalv.") (define-public synthv1 (package (name "synthv1") - (version "0.9.7") + (version "0.9.8") (source (origin (method url-fetch) (uri @@ -1370,12 +1370,10 @@ users to select LV2 plugins and run them with jalv.") "/synthv1-" version ".tar.gz")) (sha256 (base32 - "0i70wm430fvksi3g985farrkhgb7mwhi7j06dl66cdj1n12jzzk7")))) + "15kabmxp38wqvavs5hr1dqasjjf1j977kzqggxfmzyi3y5fan3hj")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there are no tests - #:configure-flags - '("CXXFLAGS=-std=gnu++11"))) + `(#:tests? #f)) ; there are no tests (inputs `(("jack" ,jack-1) ("lv2" ,lv2) From d32f2aa3794141af3808870bd9be45bc2af1b829 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 22:03:25 +0200 Subject: [PATCH 060/221] gnu: samplv1: Update to 0.9.8. * gnu/packages/music.scm (samplv1): Update to 0.9.8. [arguments]: Drop -std=gnu++11 #:configure-flags. --- gnu/packages/music.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 366cdd98cf..11b1ba86a7 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1427,7 +1427,7 @@ effects.") (define-public samplv1 (package (name "samplv1") - (version "0.9.7") + (version "0.9.8") (source (origin (method url-fetch) (uri @@ -1435,12 +1435,10 @@ effects.") "/samplv1-" version ".tar.gz")) (sha256 (base32 - "1vgmcjccpgqqlmmwfg6m91nph81p2xaxydjx82n4l1yrr9lidn9h")))) + "138kd9szgn3b97s7crhsyj8pgwb0bn4l9knd4zliqjgj2f1bs9x0")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there are no tests - #:configure-flags - '("CXXFLAGS=-std=gnu++11"))) + `(#:tests? #f)) ; there are no tests (inputs `(("jack" ,jack-1) ("lv2" ,lv2) From 0246bfc0c48e5b661bd1e954ffcdcad0d19baa7c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 23:00:18 +0200 Subject: [PATCH 061/221] gnu: padthv1: Update to 0.9.8. * gnu/packages/music.scm (padthv1): Update to 0.9.8. [arguments]: Drop -std=gnu++11 #:configure-flags. --- gnu/packages/music.scm | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 11b1ba86a7..f6f5389318 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1460,7 +1460,7 @@ effects.") (define-public padthv1 (package (name "padthv1") - (version "0.9.7") + (version "0.9.8") (source (origin (method url-fetch) (uri @@ -1468,12 +1468,10 @@ effects.") "/padthv1-" version ".tar.gz")) (sha256 (base32 - "1jd4bf6a1ipvg4yhb3xf3maqg68bx97ic9l57djmkirlrkh2a3wp")))) + "1k4p2ir12qjcs62knvw2s6qyvb46203yx22fnwp341cjk171cxji")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; there are no tests - #:configure-flags - '("CXXFLAGS=-std=gnu++11"))) + `(#:tests? #f)) ; there are no tests (inputs `(("jack" ,jack-1) ("lv2" ,lv2) From 3b39f09fd99cd07543b904d11ea9b3463c38ecb7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sun, 23 Jun 2019 23:01:32 +0200 Subject: [PATCH 062/221] gnu: googletest: Update to 1.8.1. * gnu/packages/check.scm (googletest): Update to 1.8.1. --- gnu/packages/check.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 2a0da625fd..e19c3d4659 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -483,17 +483,16 @@ test coverage and has a web user interface that will refresh automatically.") (define-public googletest (package (name "googletest") - (version "1.8.0") + (version "1.8.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/google/googletest.git") - (commit (string-append "release-" version)))) + (url "https://github.com/google/googletest.git") + (commit (string-append "release-" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399")))) + (base32 "0270msj6n7mggh4xqqjp54kswbl7mkcc8px1p5dqdpmw5ngh9fzk")))) (build-system cmake-build-system) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) From 57945dd70c7acd5b7e14db75df101e1978ab4a00 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 24 Jun 2019 00:25:57 +0200 Subject: [PATCH 063/221] gnu: znc: Switch back to Guix's googletest package. * gnu/packages/messaging.scm (znc)[native-inputs]: Use the packaged googletest's sources. --- gnu/packages/check.scm | 2 -- gnu/packages/messaging.scm | 16 +--------------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index e19c3d4659..9bc5036cf6 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -478,8 +478,6 @@ test coverage and has a web user interface that will refresh automatically.") (home-page "https://github.com/smartystreets/goconvey") (license license:expat))) -;; XXX When updating, check whether ZNC's GOOGLETEST-SOURCES can be -;; switched back to simply using (PACKAGE-SOURCE ...). (define-public googletest (package (name "googletest") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 8aeefa64e1..e4f150c817 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -517,21 +517,7 @@ compromised.") "--with-gtest=googletest/googletest") #:test-target "test")) (native-inputs - `(("googletest-source" - ;; ZNC 1.7 needs a newer, unreleased googletest (a release is planned - ;; , so don't update - ;; the public GOOGLETEST to an unstable version). The commit is taken - ;; from ‘third_party/googletest’ in the ZNC git repository. - ,(let ((commit "9737e63c69e94ac5777caa0bc77c77d5206467f3")) - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/google/googletest") - (commit commit))) - (file-name (git-file-name "googletest-for-znc" commit)) - (sha256 - (base32 - "0ya36n8d62zbxk6p22yffgx43mqhx2fz41gqqwbpdshjryf3wvxj"))))) + `(("googletest-source" ,(package-source googletest)) ("pkg-config" ,pkg-config) ("perl" ,perl) ("python" ,python))) From f9d55c4925c69473ca85ecaff6e223767e690550 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 23:48:07 +0200 Subject: [PATCH 064/221] tests: Import (guix build utils) in the marionette. * gnu/tests/install.scm (%minimal-os)[marionette-configuration](imported-modules): Add (guix build utils). * gnu/tests/base.scm (run-basic-test)["skeletons in home directories"]: Use (guix build utils) explicitly. --- gnu/tests/base.scm | 4 ++-- gnu/tests/install.scm | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/tests/base.scm b/gnu/tests/base.scm index 247f237622..a891711844 100644 --- a/gnu/tests/base.scm +++ b/gnu/tests/base.scm @@ -223,8 +223,8 @@ info --version") (operating-system-user-accounts os)))) (marionette-eval `(begin - (use-modules (srfi srfi-1) (ice-9 ftw) - (ice-9 match)) + (use-modules (guix build utils) (srfi srfi-1) + (ice-9 ftw) (ice-9 match)) (every (match-lambda ((user home) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 7b5ee18505..9f6baa1a48 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -79,6 +79,7 @@ (services (cons (service marionette-service-type (marionette-configuration (imported-modules '((gnu services herd) + (guix build utils) (guix combinators))))) %base-services)))) From bb11825f35142dbacf7aeb334ee61173dc49b572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Jun 2019 16:39:25 +0200 Subject: [PATCH 065/221] publish: Work around Guile 2.2.5 (web server) bug. * guix/scripts/publish.scm: Replace (@@ (web http) read-header-line) on Guile 2.2.5. --- guix/scripts/publish.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/guix/scripts/publish.scm b/guix/scripts/publish.scm index b4334b3f16..c716998a5b 100644 --- a/guix/scripts/publish.scm +++ b/guix/scripts/publish.scm @@ -724,6 +724,32 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")." (define %http-write (@@ (web server http) http-write)) +(match (list (major-version) (minor-version) (micro-version)) + (("2" "2" "5") ;Guile 2.2.5 + (let () + (define %read-line (@ (ice-9 rdelim) %read-line)) + (define bad-header (@@ (web http) bad-header)) + + ;; XXX: Work around by reverting to the + ;; definition of 'read-header-line' as found in 2.2.4 and earlier. + (define (read-header-line port) + "Read an HTTP header line and return it without its final CRLF or LF. +Raise a 'bad-header' exception if the line does not end in CRLF or LF, +or if EOF is reached." + (match (%read-line port) + (((? string? line) . #\newline) + ;; '%read-line' does not consider #\return a delimiter; so if it's + ;; there, remove it. We are more tolerant than the RFC in that we + ;; tolerate LF-only endings. + (if (string-suffix? "\r" line) + (string-drop-right line 1) + line)) + ((line . _) ;EOF or missing delimiter + (bad-header 'read-header-line line)))) + + (set! (@@ (web http) read-header-line) read-header-line))) + (_ #t)) + (define (strip-headers response) "Return RESPONSE's headers minus 'Content-Length' and our internal headers." (fold alist-delete From f98ca1520f363b6389ddf19515e19beddb1793d9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 24 Jun 2019 18:58:39 +0300 Subject: [PATCH 066/221] gnu: apl: Update to 1.8. * gnu/packages/apl.scm (apl): Update to 1.8. --- gnu/packages/apl.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm index 88150dc4d0..0107a93022 100644 --- a/gnu/packages/apl.scm +++ b/gnu/packages/apl.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017, 2019 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -31,14 +31,14 @@ (define-public apl (package (name "apl") - (version "1.7") + (version "1.8") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/apl/apl-" version ".tar.gz")) (sha256 (base32 - "07xq8ddlmz8psvsmwr23gar108ri0lwmw0n6kpxcv8ypas1f5xlg")))) + "1jxvv2h3y1am1fw6r5sn3say1n0dj8shmscbybl0qhqdia2lqkql")))) (build-system gnu-build-system) (home-page "https://www.gnu.org/software/apl/") (inputs From a220a6894b2e34735faea1077f533de4c94c801a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 24 Jun 2019 18:59:16 +0300 Subject: [PATCH 067/221] gnu: apl: Add pcre support. * gnu/packages/apl.scm (apl)[inputs]: Add pcre2. --- gnu/packages/apl.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/apl.scm b/gnu/packages/apl.scm index 0107a93022..badec04333 100644 --- a/gnu/packages/apl.scm +++ b/gnu/packages/apl.scm @@ -25,6 +25,7 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages gettext) #:use-module (gnu packages maths) + #:use-module (gnu packages pcre) #:use-module (gnu packages readline) #:use-module (gnu packages sqlite)) @@ -44,6 +45,7 @@ (inputs `(("gettext" ,gettext-minimal) ("lapack" ,lapack) + ("pcre" ,pcre2) ("sqlite" ,sqlite) ("readline" ,readline))) (arguments From 38c8437e6eaa281aa03fa6110cffee6431dc9cf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= Date: Mon, 24 Jun 2019 22:10:49 +0200 Subject: [PATCH 068/221] gnu: weston: Update to 6.0.1. * gnu/packages/freedesktop.scm (weston): Update to 6.0.1. --- gnu/packages/freedesktop.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index b9527659db..4b37ffdf3c 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -631,7 +631,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") (define-public weston (package (name "weston") - (version "6.0.0") + (version "6.0.1") (source (origin (method url-fetch) (uri (string-append @@ -639,7 +639,7 @@ applications, X servers (rootless or fullscreen) or other display servers.") "weston-" version ".tar.xz")) (sha256 (base32 - "04p6hal5kalmdp5dxwh2h5qhkkb4dvbsk7l091zvvcq70slj6qsl")))) + "1d2m658ll8x7prlsfk71qgw89c7dz6y7d6nndfxwl49fmrd6sbxz")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) From b6f5339dd0180fe73ab70d9c5b851ca0adc04193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Jun 2019 23:10:13 +0200 Subject: [PATCH 069/221] progress: Call 'time-difference' on times of the same type. Guile 2.2.5 and 2.9.2 would catch the issue. This is a followup to 88bc3c89bf5145d24c2270d2192b7be547e0024f. * guix/progress.scm (display-download-progress)[elapsed]: Pass 'current-time' the same type as START-TIME. --- guix/progress.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/progress.scm b/guix/progress.scm index f150b081d6..349637dbcf 100644 --- a/guix/progress.scm +++ b/guix/progress.scm @@ -197,7 +197,9 @@ object) and TRANSFERRED (a total number of bytes) to determine the throughput." (define elapsed (duration->seconds - (time-difference (current-time time-monotonic) start-time))) + (time-difference (current-time (time-type start-time)) + start-time))) + (if (and (number? size) (not (zero? size))) (let* ((% (* 100.0 (/ transferred size))) (throughput (/ transferred elapsed)) From 2135610c9b4d9c59ab076550563dc0aef1d9111c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Jun 2019 23:13:11 +0200 Subject: [PATCH 070/221] gnu: Add Guile-JPEG. * gnu/packages/guile-xyz.scm (guile-jpeg): New variable. --- gnu/packages/guile-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index c02606f919..68df7eac6c 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2384,3 +2384,37 @@ and minor modes, etc., and can also be used as a pure Guile library. It comes with a simple counter example using GLUT and browser examples in C using gtk+-3 and webkitgtk.") (license license:gpl3+)))) + +(define-public guile-jpeg + (let ((commit "6a1673578b297c2c1b28e44a76bd5c49e76a5046") + (revision "0")) + (package + (name "guile-jpeg") + (version (git-version "0.0" revision commit)) + (home-page "https://gitlab.com/wingo/guile-jpeg") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) + (commit commit))) + (sha256 + (base32 + "05z9m408w3h6aqb5k3r3qa7khir0k10rxwvsrzhkcq1hr5vbmr4m")) + (file-name (git-file-name name version)) + (modules '((guix build utils))) + (snippet + '(begin + ;; Install .go files in the right place. + (substitute* "Makefile.am" + (("/ccache") "/site-ccache")) + #t)))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config) + ("guile" ,guile-2.2))) + (synopsis "JPEG file parsing library for Guile") + (description + "Guile-JPEG is a Scheme library to parse JPEG image files and to +perform geometrical transforms on JPEG images.") + (license license:gpl3+)))) From a53a60e0a039c687a8a958f2c0f3e7eb8e09ac92 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Tue, 18 Jun 2019 13:16:33 +0200 Subject: [PATCH 071/221] doc: Recommend '-enable-kvm' for installing in a VM as well. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc (Installing Guix in a VM): Add '-enable-kvm' to example. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 65c3b8a7f1..1d807832c3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2430,13 +2430,14 @@ The resulting file will be much smaller than 50 GB (typically less than Boot the USB installation image in an VM: @example -qemu-system-x86_64 -m 1024 -smp 1 \ +qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \ -net user -net nic,model=virtio -boot menu=on \ -drive file=guix-system-install-@value{VERSION}.@var{system}.iso \ -drive file=guixsd.img @end example -The ordering of the drives matters. +The ordering of the drives matters. @code{-enable-kvm} is optional, but +significantly improves performance, @pxref{Running Guix in a VM}. In the VM console, quickly press the @kbd{F12} key to enter the boot menu. Then press the @kbd{2} key and the @kbd{RET} key to validate your From 0207ebf0e95c416924929d33f1a5044fd3f45121 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Wed, 19 Jun 2019 18:08:36 +0200 Subject: [PATCH 072/221] =?UTF-8?q?doc:=20Use=20new=20upstream=20nomenclat?= =?UTF-8?q?ure=20for=20NetworkManager=E2=80=99s=20dnsmasq.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Networking Services): Replace term 'split DNS' by 'conditional forwarding'. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1d807832c3..ce82b48ad2 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12736,8 +12736,8 @@ NetworkManager will update @code{resolv.conf} to reflect the nameservers provided by currently active connections. @item dnsmasq -NetworkManager will run @code{dnsmasq} as a local caching nameserver, -using a "split DNS" configuration if you are connected to a VPN, and +NetworkManager will run @code{dnsmasq} as a local caching nameserver, using a +@dfn{conditional forwarding} configuration if you are connected to a VPN, and then update @code{resolv.conf} to point to the local nameserver. @item none From 57c16c97cb65742a58510760dd9f6cc41b6392ca Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Wed, 19 Jun 2019 18:09:01 +0200 Subject: [PATCH 073/221] services: network-manager: Create '/var/lib/misc' directory for dnsmasq. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/services/networking.scm (%network-manager-activation): Rename to... (network-manager-activation): ... this and make it a procedure. Make it create '/var/lib/misc' when using dnsmasq. (network-manager-service-type): Use it. Signed-off-by: Ludovic Courtès --- gnu/services/networking.scm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 73acb3b17f..13cffd9feb 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -895,11 +895,17 @@ and @command{wicd-curses} user interfaces." (vpn-plugins network-manager-vpn-plugins ;list of (default '()))) -(define %network-manager-activation - ;; Activation gexp for NetworkManager. - #~(begin - (use-modules (guix build utils)) - (mkdir-p "/etc/NetworkManager/system-connections"))) +(define network-manager-activation + ;; Activation gexp for NetworkManager + (match-lambda + (($ network-manager dns vpn-plugins) + #~(begin + (use-modules (guix build utils)) + (mkdir-p "/etc/NetworkManager/system-connections") + #$@(if (equal? dns "dnsmasq") + ;; create directory to store dnsmasq lease file + '((mkdir-p "/var/lib/misc")) + '()))))) (define (vpn-plugin-directory plugins) "Return a directory containing PLUGINS, the NM VPN plugins." @@ -949,7 +955,7 @@ and @command{wicd-curses} user interfaces." (service-extension dbus-root-service-type config->package) (service-extension polkit-service-type config->package) (service-extension activation-service-type - (const %network-manager-activation)) + network-manager-activation) (service-extension session-environment-service-type network-manager-environment) ;; Add network-manager to the system profile. From dc17daa43a02e9dcb98cb94d99d87b755a21c8c2 Mon Sep 17 00:00:00 2001 From: Florian Pelz Date: Wed, 19 Jun 2019 18:09:24 +0200 Subject: [PATCH 074/221] doc: Document use cases for NetworkManager with dnsmasq. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Networking Services): Give examples. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index ce82b48ad2..f0d148ace0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12740,6 +12740,31 @@ NetworkManager will run @code{dnsmasq} as a local caching nameserver, using a @dfn{conditional forwarding} configuration if you are connected to a VPN, and then update @code{resolv.conf} to point to the local nameserver. +With this setting, you can share your network connection. For example when +you want to share your network connection to another laptop @i{via} an +Ethernet cable, you can open @command{nm-connection-editor} and configure the +Wired connection's method for IPv4 and IPv6 to be ``Shared to other computers'' +and reestablish the connection (or reboot). + +You can also set up a @dfn{host-to-guest connection} to QEMU VMs +(@pxref{Installing Guix in a VM}). With a host-to-guest connection, you can +e.g.@: access a Web server running on the VM (@pxref{Web Services}) from a Web +browser on your host system, or connect to the VM @i{via} SSH +(@pxref{Networking Services, @code{openssh-service-type}}). To set up a +host-to-guest connection, run this command once: + +@example +nmcli connection add type tun \ + connection.interface-name tap0 \ + tun.mode tap tun.owner $(id -u) \ + ipv4.method shared \ + ipv4.addresses 172.28.112.1/24 +@end example + +Then each time you launch your QEMU VM (@pxref{Running Guix in a VM}), pass +@option{-nic tap,ifname=tap0,script=no,downscript=no} to +@command{qemu-system-...}. + @item none NetworkManager will not modify @code{resolv.conf}. @end table From e746d1c37f36f0204fb86e56e48a8b095fd2cb98 Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Tue, 25 Jun 2019 05:25:34 +0800 Subject: [PATCH 075/221] gnu: python-stem: Update to 1.7.1. * gnu/packages/python.scm (python-stem): Update to 1.7.1. --- gnu/packages/python-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index a10b6cfe60..d09e107bc4 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -29,7 +29,7 @@ ;;; Copyright © 2016, 2017, 2018, 2019 Marius Bakke ;;; Copyright © 2016, 2017 Stefan Reichör ;;; Copyright © 2016 Dylan Jeffers -;;; Copyright © 2016, 2017 Alex Vong +;;; Copyright © 2016, 2017, 2019 Alex Vong ;;; Copyright © 2016, 2017, 2018 Arun Isaac ;;; Copyright © 2016, 2017, 2018 Julien Lepiller ;;; Copyright © 2016, 2017, 2018, 2019 Tobias Geerinckx-Rice @@ -10347,14 +10347,14 @@ etc.") (define-public python-stem (package (name "python-stem") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (pypi-uri "stem" version)) (sha256 (base32 - "1awiglfiajnx2hva9aqpj3fmdvdb4qg7cwnlfyih827m68y3cq8v")))) + "18lc95pmc7i089nlsb06dsxyjl5wbhxfqgdxbjcia35ndh8z7sn9")))) (build-system python-build-system) (arguments `(#:phases From f80ad8f03505da1f3b8bef531daefb219ac1ee7d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:00:18 +0200 Subject: [PATCH 076/221] gnu: emacs-with-editor: Update to 2.8.3. * gnu/packages/emacs-xyz.scm (emacs-with-editor): Update to 2.8.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index dcdbcf7dd0..64105e7761 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -236,7 +236,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") (define-public emacs-with-editor (package (name "emacs-with-editor") - (version "2.8.0") + (version "2.8.3") (source (origin (method git-fetch) (uri (git-reference @@ -245,7 +245,7 @@ configuration files, such as .gitattributes, .gitignore, and .git/config.") (file-name (git-file-name name version)) (sha256 (base32 - "1bbzvxnjpxqyvi808isld025b3pcidn4r2xf8hnk9bmzcfdvdr6q")))) + "1z2h9casyw1b93ikq2mf9xixyvbl90zddf0s66lqfiyj2y376pq3")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash))) From 0f658feae9439e4ac3308a6dda1700c470c07241 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:01:25 +0200 Subject: [PATCH 077/221] gnu: emacs-prescient: Update to 3.1. * gnu/packages/emacs-xyz.scm (emacs-prescient): Update to 3.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 64105e7761..cc92194108 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4180,7 +4180,7 @@ them easier to distinguish from other, less important buffers.") (define-public emacs-prescient (package (name "emacs-prescient") - (version "2.2.2") + (version "3.1") (source (origin (method git-fetch) (uri (git-reference @@ -4189,7 +4189,7 @@ them easier to distinguish from other, less important buffers.") (file-name (git-file-name name version)) (sha256 (base32 - "1ncplx5p3cffyzg9ygzqqxj0vpvwrz9rp2n4z6c375a78fyydrk0")))) + "1cdjvlwlvxxazz7hlxgvdp0pznvj1gzqa2r6k4im0cpdrnnng6j6")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-company" ,emacs-company) From 60aca4016f8ffd0241aa3fd0698790f06195871d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:01:03 +0200 Subject: [PATCH 078/221] gnu: emacs-company: Update to 0.9.10. * gnu/packages/emacs-xyz.scm (emacs-company): Update to 0.9.10. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index cc92194108..05f4bbecde 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3151,7 +3151,7 @@ build jobs.") (define-public emacs-company (package (name "emacs-company") - (version "0.9.7") + (version "0.9.10") (source (origin (method git-fetch) @@ -3160,7 +3160,7 @@ build jobs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1gpapjxs4l6fmmj22q0q1pyhj1yd9j5iqfqnjf1abskkj69lqkpj")))) + (base32 "0shmv48bq9l5xm60dwx9lqyq6b39y3d7qjxdlah7dpipv5vhra42")))) (build-system emacs-build-system) (arguments `(#:phases From 81547708cd0a58776b28fd77fda4c4cac16a1487 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:01:44 +0200 Subject: [PATCH 079/221] gnu: emacs-nodejs-repl: Update to 0.2.1. * gnu/packages/emacs-xyz.scm (emacs-nodejs-repl): Update to 0.2.1. --- gnu/packages/emacs-xyz.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 05f4bbecde..9f4a50c1f7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5105,15 +5105,16 @@ strings, and code folding.") (define-public emacs-nodejs-repl (package (name "emacs-nodejs-repl") - (version "0.2.0") + (version "0.2.1") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/abicky/nodejs-repl.el" - "/archive/" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/abicky/nodejs-repl.el") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "0hq2cqdq2668yf48g7qnkci90nhih1gnhacsgz355jnib56lhmkz")) - (file-name (string-append name "-" version ".tar.gz")))) + "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z")))) (build-system emacs-build-system) (home-page "https://github.com/abicky/nodejs-repl.el") (synopsis "Node.js REPL inside Emacs") From ac7b33eec773447cc14dedda28662a9129a5450d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:05:37 +0200 Subject: [PATCH 080/221] gnu: emacs-typescript-mode: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-typescript-mode)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9f4a50c1f7..8e5e3b5395 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5134,14 +5134,14 @@ features: (name "emacs-typescript-mode") (version "0.3") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/ananthakumaran/typescript.el" - "/archive/v" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ananthakumaran/typescript.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1gqjirm8scf0wysm7x97zdfbs4qa5nqdl64jfbkd18iskv5mg3rj")) - (file-name (string-append name "-" version ".tar.gz")))) + "002f1xfhq43fjaqliwrgxspryfahpa82va5dw3p8kwil2xwvc6mh")))) (build-system emacs-build-system) (home-page "https://github.com/ananthakumaran/typescript.el") (synopsis "Emacs major mode for editing Typescript code") From fe8a31427144fbc773023071735455abe4b66183 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:28:54 +0200 Subject: [PATCH 081/221] gnu: emacs-tide: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-tide)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 8e5e3b5395..961801b22d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5161,13 +5161,14 @@ indentation and filling of comments and C preprocessor fontification.") (name "emacs-tide") (version "3.2.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/ananthakumaran/tide" - "/archive/v" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/ananthakumaran/tide") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1c600myr2yqbkmy9lify38lz0zzjdqk1733db5n7vsay16vn6fzi")) - (file-name (string-append name "-" version ".tar.gz")))) + "19kjq4kr2j853p5qp1s79zxmrfprli82lsnphbrlp9vbnib28xyd")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) From e923a870b674aba8c22ca2d399938978504e3a91 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:30:08 +0200 Subject: [PATCH 082/221] gnu: emacs-wgrep: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-wgrep)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 961801b22d..7ad1fa85d3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5763,14 +5763,14 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (name "emacs-wgrep") (version "2.3.0") (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mhayashi1120/Emacs-wgrep/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/mhayashi1120/Emacs-wgrep") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1cssqbg03fjb6xwf7idv1l3jjsh9r5r232ryi11czqlxfiv658bj")))) + "0pgyf9vfcahb495q01hi1mvkmv846w4rj6zyf52is8x7sjj7x44s")))) (build-system emacs-build-system) (home-page "https://github.com/mhayashi1120/Emacs-wgrep") (synopsis "Edit a grep buffer and apply those changes to the files") From d5b326f620f920c6de255f7c63e126de4066d8de Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:31:11 +0200 Subject: [PATCH 083/221] gnu: emacs-posframe: Update to 0.4.3. * gnu/packages/emacs-xyz.scm (emacs-posframe): Update to 0.4.3. [source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 7ad1fa85d3..c71c0f4382 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7591,15 +7591,17 @@ and cangjie.") (define-public emacs-posframe (package (name "emacs-posframe") - (version "0.4.2") + (version "0.4.3") (source (origin - (method url-fetch) - (uri (string-append - "https://elpa.gnu.org/packages/posframe-" version ".el")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/tumashu/posframe") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1h8vvxvsg41vc1nnglqjs2q0k1yzfsn72skga9s76qa3zxmx6kds")))) + "0i5xd7x33zmshhkzpsbpcpc8lgvv5vinnl1a07bnp8r1sp4yahm0")))) (build-system emacs-build-system) ;; emacs-minimal does not include the function font-info (arguments `(#:emacs ,emacs)) From 51c12bf2400844814a1368765cee122d0d2a7995 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 03:34:39 +0200 Subject: [PATCH 084/221] gnu: emacs-evil-surround: Update to 1.0.4. * gnu/packages/emacs-xyz.scm (emacs-evil-surround): Update to 1.0.4. [home-page]: Update to https://github.com/emacs-evil/evil-surround. --- gnu/packages/emacs-xyz.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c71c0f4382..986dd12d46 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7966,20 +7966,20 @@ pressed simultaneously or a single key quickly pressed twice.") (define-public emacs-evil-surround (package (name "emacs-evil-surround") - (version "1.0.0") + (version "1.0.4") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/timcharper/evil-surround.git") - (commit (string-append "v" version)))) + (url "https://github.com/emacs-evil/evil-surround") + (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1smv7sqhm1l2bi9fmispnlmjssidblwkmiiycj1n3ag54q27z031")))) + (base32 "1ajsi6xn8mliwzl24h6pp9rd91z7f20yvkphr9q7k6zpjrd7fb9q")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) - (home-page "https://github.com/timcharper/evil-surround") + (home-page "https://github.com/emacs-evil/evil-surround") (synopsis "Easily modify surrounding parentheses and quotes") (description "@code{emacs-evil-surround} allows easy deletion, change and addition of surrounding pairs, such as parentheses and quotes, in evil mode.") From b27558e91ceb721f080b616c85d5a15469bbbda6 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:29:50 +0200 Subject: [PATCH 085/221] gnu: emacs-erc-hl-nicks: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-erc-hl-nicks)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 986dd12d46..2cb0b1f306 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8640,13 +8640,13 @@ created by @code{git format-patch}, from @code{magit}, @code{dired} and (version "1.3.3") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/leathekd/erc-hl-nicks" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/leathekd/erc-hl-nicks") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 - "1a1r2kc3688g8c2ybkpwh88kgmnqhg3h3032g2yn4zr9m0n3vpkr")))) + (base32 "0c82rxpl5v7bbxirf1ksg06xv5xcddh8nkrpj7i6nvfarwdfnk4f")))) (build-system emacs-build-system) (synopsis "Nickname highlighting for Emacs ERC") (description "@code{erc-hl-nicks} highlights nicknames in ERC, an IRC From 09cd076376c809cba4adf9b714a758077e46c904 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:31:01 +0200 Subject: [PATCH 086/221] gnu: emacs-evil-matchit: Update to 2.3.0. * gnu/packages/emacs-xyz.scm (emacs-evil-matchit): Update to 2.3.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2cb0b1f306..236d974d5d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9190,7 +9190,7 @@ Feautures: (define-public emacs-evil-matchit (package (name "emacs-evil-matchit") - (version "2.2.9") + (version "2.3.0") (source (origin (method git-fetch) @@ -9199,7 +9199,7 @@ Feautures: (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "12if45pxfndy3d7r4gd3zx4d3jk4d64fdmwkhc3y5zhqq9h9iy4c")))) + (base32 "0y6q42hml7jgf060d83m7hf270h01858g5kxw12na9n4r4jjpdg1")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) From 59d756203fbe4d0b6ae24395fe3d45a421c2efbb Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:31:30 +0200 Subject: [PATCH 087/221] gnu: emacs-evil-anzu: Don't use unstable tarball. * gnu/packages/emacs-xyz.scm (emacs-evil-anzu)[source]: Use GIT-FETCH and GIT-FILE-NAME. --- gnu/packages/emacs-xyz.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 236d974d5d..c31b7d95f7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9762,12 +9762,13 @@ and can be consulted and modified.") (version "0.03") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/syohex/emacs-evil-anzu" - "/archive/" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/syohex/emacs-evil-anzu") + (commit version))) + (file-name (git-file-name name version)) (sha256 - (base32 "032hh2946z529cizqsg8pm6cpn5qdj8lfk3qskmx6xv3g2ra56ns")))) + (base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil) From 94a8f410f263e840a317571e58977b43491a878b Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:33:02 +0200 Subject: [PATCH 088/221] gnu: emacs-helpful: Update to 0.16. * gnu/packages/emacs-xyz.scm (emacs-helpful): Update to 0.16. [propagated-inputs]: Add emacs-dash, emacs-s, emacs-f, emacs-shut-up. --- gnu/packages/emacs-xyz.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c31b7d95f7..fb6bd7b492 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -11387,7 +11387,7 @@ downloading manager for Emacs.") (define-public emacs-helpful (package (name "emacs-helpful") - (version "0.15") + (version "0.16") (source (origin (method git-fetch) @@ -11396,10 +11396,14 @@ downloading manager for Emacs.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1rqnx7672175288yqaslw0d9vw04j6psw7mys8j9zcp2i72hlvkn")))) + (base32 "1pzlx3galyryd3hd84hnd7r5s6yl9sdrfhy1s6dgz40glw41wmpr")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-elisp-refs" ,emacs-elisp-refs))) + `(("emacs-elisp-refs" ,emacs-elisp-refs) + ("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s) + ("emacs-f" ,emacs-f) + ("emacs-shut-up" ,emacs-shut-up))) (home-page "https://github.com/Wilfred/helpful") (synopsis "More contextual information in Emacs help") (description "@code{helpful} is an alternative to the built-in Emacs help From b418dc6057d3c5395b7cbcfa447f4823a17216fa Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:33:25 +0200 Subject: [PATCH 089/221] gnu: emacs-magit-todos: Update to 1.2. * gnu/packages/emacs-xyz.scm (emacs-magit-todos): Update to 1.2. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index fb6bd7b492..185d5c68b6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13602,7 +13602,7 @@ buffers – other modes on the TODO list). (define-public emacs-magit-todos (package (name "emacs-magit-todos") - (version "1.1.7") + (version "1.2") (source (origin (method git-fetch) @@ -13612,7 +13612,7 @@ buffers – other modes on the TODO list). (file-name (git-file-name name version)) (sha256 (base32 - "0qagdxpik64n4rw9scy451ws5sw00v64ri9g2dcw7b66bx2c6c6w")))) + "17a18gszbypz82bj36xbfyykc4s9rz83vwmpxvlf65svhd51c0nh")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) From c0696c9fa737080c363e7bb193049523863b8864 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:33:51 +0200 Subject: [PATCH 090/221] gnu: emacs-counsel-etags: Update to 1.8.4. * gnu/packages/emacs-xyz.scm (emacs-counsel-etags): Update to 1.8.4. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 185d5c68b6..7286d136f8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15625,7 +15625,7 @@ previewed by scrolling up and down within a @code{dired} buffer.") (define-public emacs-counsel-etags (package (name "emacs-counsel-etags") - (version "1.8.3") + (version "1.8.4") (source (origin (method git-fetch) @@ -15635,7 +15635,7 @@ previewed by scrolling up and down within a @code{dired} buffer.") (file-name (git-file-name name version)) (sha256 (base32 - "1d8nlrbsyza6q7yqm9248bxxsf49qf6hchg3zwv0l11acn3w8np5")))) + "14my9jvxl26a5yn381h5pi5481y9d9gyk7wnxxd0s4sjc964c5h5")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy))) From 8234df45f905242d807b33bb5cb98df3dd8e4272 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:34:18 +0200 Subject: [PATCH 091/221] gnu: Add emacs-org-download. * gnu/packages/emacs-xyz.scm (emacs-org-download): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 7286d136f8..354b3f86bb 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -15645,6 +15645,32 @@ previewed by scrolling up and down within a @code{dired} buffer.") and searching through @code{Ctags} files.") (license license:gpl3+))) +(define-public emacs-org-download + (let ((commit "ac72bf8fce3e855da60687027b6b8601cf1de480") + (version "0.1.0") + (revision "1")) + (package + (name "emacs-org-download") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/org-download") + (commit commit))) + (sha256 + (base32 + "0ax5wd44765wnwabkam1g2r62gq8crx2qq733s2mg1z72cfvwxqb")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org" ,emacs-org) + ("emacs-async" ,emacs-async))) + (home-page "https://github.com/abo-abo/org-download") + (synopsis "Facilitate moving images") + (description "This package provides utilities for managing image files +copied into @code{org-mode} buffers.") + (license license:gpl3+)))) + (define-public emacs-helm-dash (let ((commit "192b862185df661439a06de644791171e899348a") (version "1.3.0") From a5d688a1ba78cdc2aa4012354341df10b20ca2b7 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:35:00 +0200 Subject: [PATCH 092/221] gnu: emacs-outshine: Update to 3.0.1. * gnu/packages/emacs-xyz.scm (emacs-outshine): Update to 3.0.1. --- gnu/packages/emacs-xyz.scm | 39 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 354b3f86bb..e7ff10f691 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10111,30 +10111,29 @@ text-mode (i.e. Org-mode).") (license license:gpl3+)))) (define-public emacs-outshine - (let ((commit "5f1a6b70231d2811c522e4e5e8c89ff461b311d6")) - (package - (name "emacs-outshine") - (version (git-version "2.0" "1" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/alphapapa/outshine.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-outorg" ,emacs-outorg))) - (home-page "https://github.com/alphapapa/outshine") - (synopsis "Emacs outline with outshine") - (description "Outshine attempts to bring the look and feel of + (package + (name "emacs-outshine") + (version "3.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/outshine.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lh9f5dgdbwfyzxk6nsg1xwdjs8gc6p9mbyyhp6f8fnk3h0y88cg")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-outorg" ,emacs-outorg))) + (home-page "https://github.com/alphapapa/outshine") + (synopsis "Emacs outline with outshine") + (description "Outshine attempts to bring the look and feel of @code{org-mode} to an Emacs outside of the Org major-mode. It is an extension of @code{outline-minor-mode} (@code{org-mode} itself derives from outline-mode), so there is no such thing like an outshine mode, only @code{outline-minor-mode} with outshine extensions loaded.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-parsebib (package From 1bad96495aa598859e547a6a9558f3ab249ec03b Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:35:20 +0200 Subject: [PATCH 093/221] gnu: Add emacs-frecency. * gnu/packages/emacs-xyz.scm (emacs-frecency): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e7ff10f691..da1085cda7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10135,6 +10135,32 @@ outline-mode), so there is no such thing like an outshine mode, only @code{outline-minor-mode} with outshine extensions loaded.") (license license:gpl3+))) +(define-public emacs-frecency + (let ((commit "31ef9ff4af1a4fed3dcc24ea74037feea8795c87") + (version "0.1-pre") + (revision "1")) + (package + (name "emacs-frecency") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/frecency.el") + (commit commit))) + (sha256 + (base32 + "051aihjdg3x22svaxhwylpi8i6s2x9j8syvsj1jgilgjjdy15l6j")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-a" ,emacs-a) + ("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/alphapapa/frecency.el") + (synopsis "Sort items by frequency and recency of access") + (description "This package provides a way of sorting items via +a heuristic based on frequency and recency.") + (license license:gpl3+)))) + (define-public emacs-parsebib (package (name "emacs-parsebib") From d6681c435c4d605edafe784748b576670bcd42b5 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:35:44 +0200 Subject: [PATCH 094/221] gnu: Add emacs-org-recent-headings. * gnu/packages/emacs-xyz.scm (emacs-org-recent-headings): New variable. --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index da1085cda7..3647b2d8f6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10161,6 +10161,30 @@ outline-mode), so there is no such thing like an outshine mode, only a heuristic based on frequency and recency.") (license license:gpl3+)))) +(define-public emacs-org-recent-headings + (package + (name "emacs-org-recent-headings") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-recent-headings.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gsrzmg3mssh9s28yjm9m866fnhm1pcligssz1q6brga6dm6f2yy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org" ,emacs-org) + ("emacs-dash" ,emacs-dash) + ("emacs-frecency" ,emacs-frecency))) + (home-page "https://github.com/alphapapa/org-recent-headings") + (synopsis "Navigate to recently used Org headings and lists") + (description "This package maintains a list of recently used Org headings, +as well as functions for navigating between these headings.") + (license license:gpl3+))) + (define-public emacs-parsebib (package (name "emacs-parsebib") From e7dc1a39c0535be5cc0527ac3bf4b52b0c5ed75c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:36:19 +0200 Subject: [PATCH 095/221] gnu: Add emacs-org-super-agenda. * gnu/packages/emacs-xyz.scm (emacs-org-super-agenda): New variable. --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3647b2d8f6..50b9a20e48 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10185,6 +10185,31 @@ a heuristic based on frequency and recency.") as well as functions for navigating between these headings.") (license license:gpl3+))) +(define-public emacs-org-super-agenda + (package + (name "emacs-org-super-agenda") + (version "1.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-super-agenda") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0vzf91lsxnhwf52kvm8ycpf0wb9c8l91689vyhwgv4wz8q6cvjwp")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org" ,emacs-org) + ("emacs-dash" ,emacs-dash) + ("emacs-ht" ,emacs-ht) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/org-super-agenda") + (synopsis "Supercharged Org agenda") + (description "This package allows items in the Org agenda to be grouped +into sections while preserving the structure imposed by any timestamps.") + (license license:gpl3+))) + (define-public emacs-parsebib (package (name "emacs-parsebib") From 3484640b4beddbc3efc5efbf5747e3cc5c1ff8a5 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:36:37 +0200 Subject: [PATCH 096/221] gnu: Add emacs-org-make-toc. * gnu/packages/emacs-xyz.scm (emacs-org-make-toc): New variable. --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 50b9a20e48..259824ef55 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10210,6 +10210,30 @@ as well as functions for navigating between these headings.") into sections while preserving the structure imposed by any timestamps.") (license license:gpl3+))) +(define-public emacs-org-make-toc + (package + (name "emacs-org-make-toc") + (version "0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-make-toc") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0syhj8q4pv33xgl5qa6x27yhwqvfhffw5xqp819hj4qs1ddlc7j5")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-org" ,emacs-org) + ("emacs-dash" ,emacs-dash) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/org-make-toc") + (synopsis "Maintain a table of contents for an Org file") + (description "This package facilitates the creation and maintenance of +tables of contents.") + (license license:gpl3+))) + (define-public emacs-parsebib (package (name "emacs-parsebib") From 25bbcbae43f80b530317e3f376ebfba6ffd4e8b9 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 15 Jun 2019 04:36:53 +0200 Subject: [PATCH 097/221] gnu: Add emacs-org-ql. * gnu/packages/emacs-xyz.scm (emacs-org-ql): New variable. --- gnu/packages/emacs-xyz.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 259824ef55..2271eb127f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10234,6 +10234,32 @@ into sections while preserving the structure imposed by any timestamps.") tables of contents.") (license license:gpl3+))) +(define-public emacs-org-ql + (let ((commit "0aec8ec60395197b2ef2b885c216cf84286efed9") + (version "0.1-pre") + (revision "1")) + (package + (name "emacs-org-ql") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-ql") + (commit commit))) + (sha256 + (base32 + "0bj85hxhym7rvkaddcxybxdm7g7w439wij9f2w5ljz1hmvp55991")) + (file-name (git-file-name name version)))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-s" ,emacs-s) + ("emacs-dash" ,emacs-dash))) + (home-page "https://github.com/alphapapa/org-ql") + (synopsis "Query language for Org buffers") + (description "This package provides a Lispy query language for Org +files, allowing for actions to be performed based on search criteria.") + (license license:gpl3+)))) + (define-public emacs-parsebib (package (name "emacs-parsebib") From 6c83c7980fd95f504ca8955b651eeb4bfa78768a Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 23 Jun 2019 23:47:42 +0200 Subject: [PATCH 098/221] gnu: emacs-emojify: Update to 1.2. * gnu/packages/emacs-xyz.scm (emacs-emojify): Update to 1.2. [arguments]: Simplify. --- gnu/packages/emacs-xyz.scm | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2271eb127f..0ba806ef22 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8796,27 +8796,20 @@ an elisp expression.") (define-public emacs-emojify (package (name "emacs-emojify") - (version "0.4") + (version "1.2") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/iqbalansari/emacs-emojify/" - "releases/download/v" version "/emojify-" - version ".tar")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/iqbalansari/emacs-emojify") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0k84v2d2bkiwcky9fi1yyprgkj46g7wh6pyl9gzmcd7sqv051d5n")))) + "1fqnj5x7ivjkm5y927dqqnm85q5hzczlb0hrfpjalrhasa6ijsrm")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-data - (lambda* (#:key outputs #:allow-other-keys) - (copy-recursively "data" - (string-append (assoc-ref outputs "out") - "/share/emacs/site-lisp/guix.d/" - "emojify-" ,version "/data")) - #t))))) + `(#:include (cons "^data/" %default-include))) (propagated-inputs `(("emacs-ht" ,emacs-ht))) (home-page "https://github.com/iqbalansari/emacs-emojify") From f27b9659341853198d15d6eba0d492a3e8e5773b Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 23 Jun 2019 23:53:39 +0200 Subject: [PATCH 099/221] gnu: Add emacs-make-it-so. * gnu/packages/emacs-xyz.scm (emacs-make-it-so): New variable. --- gnu/packages/emacs-xyz.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0ba806ef22..fb97f666fb 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8820,6 +8820,36 @@ well as Github-style emojis like @code{:smile:}. It provides a minor mode @code{emojify-mode} to enable the display of emojis in a buffer.") (license license:gpl3+))) +(define-public emacs-make-it-so + (let ((commit "bc3b01d6b9ed6ff66ebbd524234f9d6df60dd4be") + (version "0.1.0") + (revision "1")) + (package + (name "emacs-make-it-so") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/make-it-so") + (commit commit))) + (sha256 + (base32 + "0833bzlscpnkvjnrg3g54yr246afbjwri8n5wxk8drnsq6acvd8z")))) + (build-system emacs-build-system) + (arguments + `(#:include (cons "^recipes/" %default-include))) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/abo-abo/make-it-so") + (synopsis "Transform files with Makefile recipes") + (description "This package provides an interface for selecting from +different conversion recipes, often including tools like @code{ffmpeg} or +@code{convert}. The conversion command need only be written once, and +subsequent invocations can be readily customized. Several recipes are +included by default, and more can be readily added.") + (license license:gpl3+)))) + (define-public emacs-websocket (package (name "emacs-websocket") From b2f263797a6897758a241ed55879068487d7ceb0 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 24 Jun 2019 00:03:25 +0200 Subject: [PATCH 100/221] gnu: emacs-nix-mode: Update to 1.4.1. * gnu/packages/emacs-xyz.scm (emacs-nix-mode): Update to 1.4.1. [inputs]: Add emacs-json-mode. --- gnu/packages/emacs-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index fb97f666fb..aa780f8e25 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14612,7 +14612,7 @@ to open SQLite databases.") (define-public emacs-nix-mode (package (name "emacs-nix-mode") - (version "1.2.2") + (version "1.4.1") (source (origin (method git-fetch) @@ -14621,10 +14621,11 @@ to open SQLite databases.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1vz3s2jx14nzy53f04d821n4f2s22ys5h9s7af6cnpynkwawyhhq")))) + (base32 "04xpgg9nba5m1bl7ci5l456whcb8nfhsbvgxyx89bp0zqgr005q7")))) (build-system emacs-build-system) (inputs `(("emacs-company" ,emacs-company) + ("emacs-json-mode" ,emacs-json-mode) ("emacs-mmm-mode" ,emacs-mmm-mode))) (home-page "https://github.com/NixOS/nix-mode") (synopsis "Emacs major mode for editing Nix expressions") From 07fb336dc213b8128c5eb49d78fb46119b5b85cb Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 24 Jun 2019 00:12:57 +0200 Subject: [PATCH 101/221] gnu: emacs-orgit: Update to 1.5.3. * gnu/packages/emacs-xyz.scm (emacs-orgit): Update to 1.5.3. --- gnu/packages/emacs-xyz.scm | 41 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index aa780f8e25..7e650204c3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14822,31 +14822,30 @@ recursively. The results are cached for speed.") (license license:gpl3+))) (define-public emacs-orgit - (let ((commit "2456436a7e64d26bcf455b3890a586acaa3e7f93")) - (package - (name "emacs-orgit") - (version (git-version "1.5.1" "2" commit)) - (home-page "https://github.com/magit/orgit") - (source (origin - (method git-fetch) - (uri (git-reference - (url home-page) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1i52dq2ynddb1irgigr5mdwfbfd3bvm1f29jnzd7nlc0nk186nvh")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-magit" ,emacs-magit))) - (synopsis "Support for Org links to Magit buffers") - (description "This package defines several Org link types, which can be + (package + (name "emacs-orgit") + (version "1.5.3") + (home-page "https://github.com/magit/orgit") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ywavzki510rslsgfm0cnn3mlh644p61ha2nfb715xhkg7cd3j9g")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-magit" ,emacs-magit))) + (synopsis "Support for Org links to Magit buffers") + (description "This package defines several Org link types, which can be used to link to certain Magit buffers. Use the command @command{org-store-link} while such a buffer is current to store a link. Later you can insert it into an Org buffer using the command @code{org-insert-link}.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-amx (package From 3a943f05a4214883fd0254e9f38f82d9f27b7187 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 24 Jun 2019 07:12:18 +0200 Subject: [PATCH 102/221] gnu: emacs-ivy-rich: Update to 0.1.4-1.f6bfa29. * gnu/packages/emacs-xyz.scm (emacs-ivy-rich): Update to 0.1.4-1.f6bfa29. --- gnu/packages/emacs-xyz.scm | 45 +++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 7e650204c3..ab861c84b6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4615,29 +4615,34 @@ use it, call @code{M-x ivy-yasnippet} (but make sure you have enabled (license license:gpl3+)))) (define-public emacs-ivy-rich - (package - (name "emacs-ivy-rich") - (version "0.1.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/Yevgnen/ivy-rich.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 "0ayf3dwfhafcbqnckm65zy8nc1rv9ji939qfn53wbhxkrgqdicgz")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-ivy" ,emacs-ivy))) - (home-page "https://github.com/Yevgnen/ivy-rich") - (synopsis "More friendly interface for @code{ivy}") - (description - "This package extends @code{ivy} by showing more information in the + ;; The latest release version has a small mistake that has since been fixed, + ;; so we use a more recent commit. + (let ((commit "f6bfa293c6df0b43cc411876b665816ec3f03d08") + (version "0.1.4") + (revision "1")) + (package + (name "emacs-ivy-rich") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Yevgnen/ivy-rich.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1s8nwwb1z6lkc58g02pi8w99qms948k8d02lw8k8cq47dw87i219")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-ivy" ,emacs-ivy))) + (home-page "https://github.com/Yevgnen/ivy-rich") + (synopsis "More friendly interface for @code{ivy}") + (description + "This package extends @code{ivy} by showing more information in the minibuffer for each candidate. It adds columns showing buffer modes, file sizes, docstrings, etc. If @code{emacs-all-the-icons} is installed, it can show icons as well.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-avy (package From 398d9ef16bdbeba24a0e8a44eb5d2c4927c3a363 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 04:03:38 +0200 Subject: [PATCH 103/221] gnu: emacs-zones: Update to 0-2.3169815. * gnu/packages/emacs-xyz.scm (emacs-zones): Update to 0-2.3169815. * gnu/packages/patches/emacs-zones-called-interactively.patch: Fix invocation of `called-interactively-p'. --- gnu/packages/emacs-xyz.scm | 6 +++--- .../emacs-zones-called-interactively.patch | 18 +++++++++--------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ab861c84b6..deea3e9901 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6790,8 +6790,8 @@ customizable by the user.") (license license:gpl2+))) (define-public emacs-zones - (let ((commit "353fc38a6544eb59887bee045e373406f1d038a5") - (revision "1")) + (let ((commit "3169815c323966ff8e252b44e3558d6d045243fe") + (revision "2")) (package (name "emacs-zones") (version (git-version "0" revision commit)) @@ -6804,7 +6804,7 @@ customizable by the user.") (file-name (git-file-name name version)) (sha256 (base32 - "0gwnw2giii2a14nlh62xp45f47cw6ikqphhzpmcw6c7mn9x5z2ar")) + "039msns5596rz0my7fxpanpxwg1lkhpiibm9ppnlzaajx1hszbzl")) (patches (search-patches "emacs-zones-called-interactively.patch")))) diff --git a/gnu/packages/patches/emacs-zones-called-interactively.patch b/gnu/packages/patches/emacs-zones-called-interactively.patch index b60f390a7e..eefcfdd12e 100644 --- a/gnu/packages/patches/emacs-zones-called-interactively.patch +++ b/gnu/packages/patches/emacs-zones-called-interactively.patch @@ -1,4 +1,4 @@ -From fb56fbb706804215ef9af0cc575db97c373046c6 Mon Sep 17 00:00:00 2001 +From 81603e53ebaae0f0b23c4c52c7dab83e808964ec Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sun, 17 Mar 2019 01:32:04 +0100 Subject: [PATCH] This patch silences the byte-compiler. @@ -8,36 +8,36 @@ Subject: [PATCH] This patch silences the byte-compiler. 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/zones.el b/zones.el -index 1bf94f0..94fa9a6 100644 +index ca88d48..594ea36 100644 --- a/zones.el +++ b/zones.el -@@ -1031,7 +1031,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. +@@ -1075,7 +1075,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. This is a destructive operation. The list structure of the variable value can be modified." - (zz-narrow-advice (interactive-p))) -+ (zz-narrow-advice (called-interactively-p))) ++ (zz-narrow-advice (called-interactively-p 'interactive))) (defadvice narrow-to-defun (after zz-add-zone--defun activate) "Push the defun limits to the current `zz-izones-var'. -@@ -1039,7 +1039,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. +@@ -1083,7 +1083,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. This is a destructive operation. The list structure of the variable value can be modified." - (zz-narrow-advice (interactive-p))) -+ (zz-narrow-advice (called-interactively-p))) ++ (zz-narrow-advice (called-interactively-p 'interactive))) ;; Call `zz-add-zone' if interactive or `zz-add-zone-anyway-p'. ;; -@@ -1049,7 +1049,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. +@@ -1093,7 +1093,7 @@ You can use `C-x n x' to widen to a previous buffer restriction. This is a destructive operation. The list structure of the variable value can be modified." - (zz-narrow-advice (interactive-p))) -+ (zz-narrow-advice (called-interactively-p))) ++ (zz-narrow-advice (called-interactively-p 'interactive))) ;;(@* "General Commands") -- -2.21.0 +2.22.0 From dddfabb93e04ef2c5ca393cf54daaaed9ca61a40 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 04:44:02 +0200 Subject: [PATCH 104/221] gnu: emacs-alert: Update to 1.3. * gnu/packages/emacs-xyz.scm (emacs-alert): Update to 1.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index deea3e9901..f38c843685 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6767,7 +6767,7 @@ notifications.") (define-public emacs-alert (package (name "emacs-alert") - (version "1.2") + (version "1.3") (source (origin (method git-fetch) @@ -6776,7 +6776,7 @@ notifications.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1vpc3q40m6dcrslki4bg725j4kv6c6xfxwjjl1ilg7la49fwwf26")))) + (base32 "0lc0p5cl4hfrzw1z2ghb11k1lvljn5m08jw5fmgwgxv667kwh49r")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-gntp" ,emacs-gntp) From b04cc2fd49a4b4bfad3d36b0a49d9beb3b729fce Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 04:53:04 +0200 Subject: [PATCH 105/221] gnu: emacs-posframe: Update to 0.5.0. * gnu/packages/emacs-xyz.scm (emacs-posframe): Update to 0.5.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index f38c843685..61fa8c2f81 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7596,7 +7596,7 @@ and cangjie.") (define-public emacs-posframe (package (name "emacs-posframe") - (version "0.4.3") + (version "0.5.0") (source (origin (method git-fetch) @@ -7606,7 +7606,7 @@ and cangjie.") (file-name (git-file-name name version)) (sha256 (base32 - "0i5xd7x33zmshhkzpsbpcpc8lgvv5vinnl1a07bnp8r1sp4yahm0")))) + "1fhjxj7gi2pj5rdnmf0gddiwd8iifgjgjp01c01npz1gwwixyqh3")))) (build-system emacs-build-system) ;; emacs-minimal does not include the function font-info (arguments `(#:emacs ,emacs)) From ca64945e813a505b2f19bceb933b1a35c421a36f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 10:45:19 +0300 Subject: [PATCH 106/221] gnu: signing-party: Update home-page. * gnu/packages/gnupg.scm (signing-party)[home-page]: Use new home-page. --- gnu/packages/gnupg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 366a163864..c73bff8259 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -660,7 +660,7 @@ PGP keysigning parties.") (package (name "signing-party") (version "2.7") - (home-page "https://salsa.debian.org/debian/signing-party") + (home-page "https://salsa.debian.org/signing-party-team/signing-party") (source (origin (method git-fetch) (uri (git-reference From cbebccbec8d63e5d810b4eb3d66c33089a4ddc59 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 10:46:02 +0300 Subject: [PATCH 107/221] gnu: signing-party: Update to 2.10. * gnu/packages/gnupg.scm (signing-party): Update to 2.10. --- gnu/packages/gnupg.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c73bff8259..f84f8d73a0 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -659,17 +659,17 @@ PGP keysigning parties.") (define-public signing-party (package (name "signing-party") - (version "2.7") + (version "2.10") (home-page "https://salsa.debian.org/signing-party-team/signing-party") (source (origin (method git-fetch) (uri (git-reference (url home-page) - (commit (string-append "release-" version)))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1gx9017wag4bgc0h7kca9n3jwwdm7z77yv3viayhg62flbwkvbgb")))) + "0lq8nmwjmysry0n4jg6vb7bh0lagbyb9pa11ii3s41p1mhzchf2r")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf-wrapper) @@ -681,7 +681,7 @@ PGP keysigning parties.") ("perl-net-idn-encode" ,perl-net-idn-encode) ("libmd" ,libmd))) (arguments - `(#:tests? #f + `(#:tests? #f ; no test suite #:phases (modify-phases %standard-phases (replace 'configure From 44efdc029b2aa7e53f3e591baf6bde4021054c5b Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 10:48:29 +0300 Subject: [PATCH 108/221] gnu: perl-file-slurp: Update to 9999.27. * gnu/packages/perl.scm (perl-file-slurp): Update to 9999.27. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3875c71911..43ece92d0c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3764,14 +3764,14 @@ allows you to locate these files after installation.") (define-public perl-file-slurp (package (name "perl-file-slurp") - (version "9999.26") + (version "9999.27") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CA/CAPOEIRAB/" "File-Slurp-" version ".tar.gz")) (sha256 - (base32 "0c09ivl50sg9j75si6cahfp1wgvhqawakb6h5j6hlca6vwjqs9qy")))) + (base32 "1x233kj1qifvii7j8d4wzarwhj5z11vnpxsqvdm98dsccr7qi79s")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/File-Slurp") (synopsis "Reading/Writing/Modifying of complete files") From 6775e7876ec03f96ae11b37cdc69c88639db882a Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 10:51:37 +0300 Subject: [PATCH 109/221] gnu: perl-mailtools: Update to 2.21. * gnu/packages/perl.scm (perl-mailtools): Update to 2.21. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 43ece92d0c..abba1669ba 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -4969,7 +4969,7 @@ portions of this module couldn't be compiled on this machine.") (define-public perl-mailtools (package (name "perl-mailtools") - (version "2.20") + (version "2.21") (source (origin (method url-fetch) @@ -4979,7 +4979,7 @@ portions of this module couldn't be compiled on this machine.") ".tar.gz")) (sha256 (base32 - "15iizg2x1w7ca0r8rn3wwhp7w160ljvf55prspljwd6cm7vhcmpm")))) + "1js43bp2dnd8n2rv8clsv749166jnyqnc91k4wkkmw5n4rlbvnaa")))) (build-system perl-build-system) (propagated-inputs `(("perl-timedate" ,perl-timedate))) From fa678c039a025604a98899f7c77ab9fd449d1375 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 10:55:15 +0300 Subject: [PATCH 110/221] gnu: perl-super: Update to 1.20190531. * gnu/packages/perl.scm (perl-super): Update to 1.20190531. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index abba1669ba..71d1ec5904 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -7951,14 +7951,14 @@ uplevel() are avoided.") (define-public perl-super (package (name "perl-super") - (version "1.20141117") + (version "1.20190531") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/C/CH/CHROMATIC/" "SUPER-" version ".tar.gz")) (sha256 - (base32 "1cn05kacg0xfbm1zzksm2yx2pnrzqja4d9163cxv3sdfc1yhwqhs")))) + (base32 "16nk2za9fwyg7mcifacr69qi075iz1yvy8r9jh3903kzdvkiwpb8")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build))) From 488f4e3bde4131a266164f7e850127095d6d074f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 11:02:41 +0300 Subject: [PATCH 111/221] gnu: perl-cpanel-json-xs: Update to 4.12. * gnu/packages/perl.scm (perl-cpanel-json-xs): Update to 4.12. --- gnu/packages/perl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 71d1ec5904..63b8e387b8 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1605,14 +1605,14 @@ CPAN::Meta object are present.") (define-public perl-cpanel-json-xs (package (name "perl-cpanel-json-xs") - (version "4.10") + (version "4.12") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RU/RURBAN/" "Cpanel-JSON-XS-" version ".tar.gz")) (sha256 - (base32 "1r92b03hkmqr0brp00cj67b1iklfd4yas481d6a5nx2941c03h3p")))) + (base32 "0n66da8s88srr591i7gm1d611z9jbcz488fhqxy604diiw8pnha9")))) (build-system perl-build-system) (propagated-inputs `(("perl-common-sense" ,perl-common-sense))) From 7aee2f5709692ab503f0770d5f2d12e0e3a9460d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 24 Jun 2019 23:17:46 +0200 Subject: [PATCH 112/221] gnu: libvirt: Honour MAKE-FLAGS everywhere. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (libvirt)[arguments]: Apply MAKE-FLAGS in ‘install’ phase. --- gnu/packages/virtualization.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 87839490b2..85bd38b8bb 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -435,10 +435,11 @@ manage system or application containers.") ;; Since the sysconfdir and localstatedir should be /etc and /var ;; at runtime, we must prevent writing to them at installation ;; time. - (lambda _ - (invoke "make" "install" - "sysconfdir=/tmp/etc" - "localstatedir=/tmp/var"))) + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "install" + "sysconfdir=/tmp/etc" + "localstatedir=/tmp/var" + make-flags))) (add-after 'install 'wrap-libvirtd (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) From 1e623974b1a804fd653b390d1e03226c372f9feb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 11:45:54 +0200 Subject: [PATCH 113/221] gnu: libvirt: Update to 5.4.0 [security fixes]. This release includes fixes for CVE-2019-10161, CVE-2019-10166, CVE-2019-10167, and CVE-2019-10168. * gnu/packages/virtualization.scm (libvirt): Update to 5.4.0. --- gnu/packages/virtualization.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 85bd38b8bb..e1af827bb9 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -399,14 +399,14 @@ manage system or application containers.") (define-public libvirt (package (name "libvirt") - (version "4.10.0") + (version "5.4.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) (sha256 (base32 - "0v17zzyyb25nn9l18v5244myg7590dp6ppwgi8xysipifc0q77bz")))) + "0ywf8m9yz2hxnic7fylzlmgy4m353r4vv5zsvp89zq5yh4h81yhw")))) (build-system gnu-build-system) (arguments `(;; FAIL: virshtest @@ -459,7 +459,7 @@ manage system or application containers.") ("libpcap" ,libpcap) ("libnl" ,libnl) ("libuuid" ,util-linux) - ("lvm2" ,lvm2) ; for libdevmapper + ("lvm2" ,lvm2) ; for libdevmapper ("curl" ,curl) ("openssl" ,openssl) ("cyrus-sasl" ,cyrus-sasl) From bd9eb3840a04f4e2e7ff471805cb6d97f448c746 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 11:54:26 +0200 Subject: [PATCH 114/221] gnu: libvirt: Enable the test suite. * gnu/packages/virtualization.scm (libvirt)[arguments]: Fix posix_spawn tests, specifically disable the remaining failing tests, and enable the rest of the test suite. --- gnu/packages/virtualization.scm | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index e1af827bb9..bd6518e93b 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -409,28 +409,27 @@ manage system or application containers.") "0ywf8m9yz2hxnic7fylzlmgy4m353r4vv5zsvp89zq5yh4h81yhw")))) (build-system gnu-build-system) (arguments - `(;; FAIL: virshtest - ;; FAIL: virfirewalltest - ;; FAIL: virkmodtest - ;; FAIL: virnetsockettest - ;; FAIL: networkxml2firewalltest - ;; FAIL: nwfilterebiptablestest - ;; FAIL: nwfilterxml2firewalltest - ;; Time-out while running commandtest. - #:tests? #f - #:configure-flags + `(#:configure-flags (list "--with-polkit" "--sysconfdir=/etc" "--localstatedir=/var") #:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-tests + (add-before 'configure 'fix-BOURNE_SHELL-definition + ;; BOURNE_SHELL is hard-#defined to ‘/bin/sh’, causing test failures. (lambda _ - (substitute* '("tests/commandtest.c" - "gnulib/tests/test-posix_spawn1.c" - "gnulib/tests/test-posix_spawn2.c") + (substitute* "config.h.in" (("/bin/sh") (which "sh"))) #t)) + (add-before 'configure 'disable-broken-tests + (lambda _ + (let ((tests (list "commandtest" ; hangs idly + "virnetsockettest" ; tries to network + "virshtest"))) ; fails + (substitute* "tests/Makefile.in" + (((format #f "(~a)\\$\\(EXEEXT\\)" (string-join tests "|"))) + "")) + #t))) (replace 'install ;; Since the sysconfdir and localstatedir should be /etc and /var ;; at runtime, we must prevent writing to them at installation From 175047cd2ae256caf207b73b1dfb1133fd280867 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 11:55:37 +0200 Subject: [PATCH 115/221] gnu: libvirt: Use conventional doc/ directory. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (libvirt)[arguments]: Add a versioned ‘--docdir’ to #:configure-flags. --- gnu/packages/virtualization.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index bd6518e93b..a9c3698712 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -411,6 +411,8 @@ manage system or application containers.") (arguments `(#:configure-flags (list "--with-polkit" + (string-append "--docdir=" (assoc-ref %outputs "out") "/share/doc/" + ,name "-" ,version) "--sysconfdir=/etc" "--localstatedir=/var") #:phases From fabcf8c60eb3267735e9805cbf1a4ccbddbc38bb Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 13:53:47 +0200 Subject: [PATCH 116/221] gnu: calcurse: Update to 4.5.0. * gnu/packages/calcurse.scm (calcurse): Update to 4.5.0. --- gnu/packages/calcurse.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/calcurse.scm b/gnu/packages/calcurse.scm index 559688470e..c28f1f5554 100644 --- a/gnu/packages/calcurse.scm +++ b/gnu/packages/calcurse.scm @@ -30,14 +30,14 @@ (define-public calcurse (package (name "calcurse") - (version "4.4.0") + (version "4.5.0") (source (origin (method url-fetch) (uri (string-append "https://calcurse.org/files/calcurse-" version ".tar.gz")) (sha256 - (base32 "0vw2xi6a2lrhrb8n55zq9lv4mzxhby4xdf3hmi1vlfpyrpdwkjzd")))) + (base32 "1vjwcmp51h7dsvwn0qx93w9chp3wp970v7d9mjhk7jyamcbfywn3")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (native-inputs `(("tzdata" ,tzdata-for-tests))) From 591464e3654f1e45427a1aa94b69a28445ceb556 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 14:15:54 +0200 Subject: [PATCH 117/221] gnu: memcached: Update to 1.5.16. * gnu/packages/databases.scm (memcached): Update to 1.5.16. --- gnu/packages/databases.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 52082577f2..561a3b3b12 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -273,14 +273,14 @@ mapping from string keys to string values.") (define-public memcached (package (name "memcached") - (version "1.5.14") + (version "1.5.16") (source (origin (method url-fetch) (uri (string-append "https://memcached.org/files/memcached-" version ".tar.gz")) (sha256 - (base32 "1agj198rm5kc64z8qxck65kdzvw30pdfxalygipnryw0lwlxynww")))) + (base32 "0nnccb697jhdn5gqrh3phibzs6xr4nf4ryv7nmyv5vf11n4jr8j5")))) (build-system gnu-build-system) (inputs `(("libevent" ,libevent) From d7463e012555047615193afcfd8294381f050825 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 14:20:02 +0200 Subject: [PATCH 118/221] gnu: znc: Don't refer to native-inputs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/messaging.scm (znc)[native-inputs]: Move run-time perl & python… [inputs]: …here, in alphabetical order. --- gnu/packages/messaging.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index e4f150c817..c4fd1f535f 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -518,14 +518,14 @@ compromised.") #:test-target "test")) (native-inputs `(("googletest-source" ,(package-source googletest)) - ("pkg-config" ,pkg-config) - ("perl" ,perl) - ("python" ,python))) + ("pkg-config" ,pkg-config))) (inputs - `(("openssl" ,openssl) - ("zlib" ,zlib) + `(("cyrus-sasl" ,cyrus-sasl) ("icu4c" ,icu4c) - ("cyrus-sasl" ,cyrus-sasl))) + ("openssl" ,openssl) + ("perl" ,perl) + ("python" ,python) + ("zlib" ,zlib))) (home-page "https://znc.in") (synopsis "IRC network bouncer") (description "ZNC is an @dfn{IRC network bouncer} or @dfn{BNC}. It can From 1d0caec0ac01ea170cd642511cca19046e5b90c6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 14:30:36 +0200 Subject: [PATCH 119/221] gnu: python-libvirt: Update to 5.3.0. * gnu/packages/virtualization.scm (python-libvirt): Update to 5.3.0. --- gnu/packages/virtualization.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a9c3698712..d60aaf3ac2 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -536,13 +536,13 @@ three libraries: (define-public python-libvirt (package (name "python-libvirt") - (version "4.10.0") + (version "5.3.0") (source (origin (method url-fetch) (uri (pypi-uri "libvirt-python" version)) (sha256 (base32 - "11fipj9naihgc9afc8bz5hi05xa1shp4qcy170sa18p3sl4zljb9")))) + "1zrhkz68ka4f08wwm36y3zzwfn1r65h4nw1nm9qgg8jmrfazj4sj")))) (build-system python-build-system) (arguments `(#:phases From 2b0f32937e502b868d70e8e9dc5b533fa9e4ebd6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 14:34:09 +0200 Subject: [PATCH 120/221] gnu: znc: Build with CMake. * gnu/packages/messaging.scm (znc)[build-system]: Use the CMAKE-BUILD-SYSTEM. [arguments]: Adjust #:configure-flags and where the googletest sources are unpacked. --- gnu/packages/messaging.scm | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index c4fd1f535f..86df992791 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -498,24 +498,22 @@ compromised.") (sha256 (base32 "0wcvqkpin8w4i72alnn0nxnrc9ih543qs34hqpk9xmz6m0hjk8xi")))) - ;; TODO: autotools support has been deprecated, and new features like i18n - ;; are only supported when building with cmake. - (build-system gnu-build-system) + (build-system cmake-build-system) (arguments - `(#:phases + `(#:configure-flags + (list "-DWANT_CYRUS=ON" + "-DWANT_PERL=ON" + "-DWANT_PYTHON=ON") + #:phases (modify-phases %standard-phases (add-after 'unpack 'unpack-googletest + ;; Copy the googletest sources to where the CMake build expects them. (lambda* (#:key inputs #:allow-other-keys) - (mkdir-p "googletest") - (copy-recursively (assoc-ref inputs "googletest-source") - "googletest") - #t))) - #:configure-flags '("--enable-python" - "--enable-perl" - "--enable-cyrus" - "--with-gmock=googletest/googlemock" - "--with-gtest=googletest/googletest") - #:test-target "test")) + (let ((source (assoc-ref inputs "googletest-source")) + (target "third_party/googletest")) + (mkdir-p target) + (copy-recursively source target) + #t)))))) (native-inputs `(("googletest-source" ,(package-source googletest)) ("pkg-config" ,pkg-config))) From 44ddf0f13e00e94745f759facfcca20fe415501c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 15:24:10 +0200 Subject: [PATCH 121/221] gnu: znc: Enable internationalisation. * gnu/packages/messaging.scm (znc)[arguments]: Want i18n. [native-inputs]: Add the required boost and gettext-minimal packages. --- gnu/packages/messaging.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 86df992791..503781a9eb 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bash) #:use-module (gnu packages bison) + #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages crypto) @@ -502,6 +503,7 @@ compromised.") (arguments `(#:configure-flags (list "-DWANT_CYRUS=ON" + "-DWANT_I18N=ON" "-DWANT_PERL=ON" "-DWANT_PYTHON=ON") #:phases @@ -515,7 +517,9 @@ compromised.") (copy-recursively source target) #t)))))) (native-inputs - `(("googletest-source" ,(package-source googletest)) + `(("boost" ,boost) + ("gettext" ,gettext-minimal) + ("googletest-source" ,(package-source googletest)) ("pkg-config" ,pkg-config))) (inputs `(("cyrus-sasl" ,cyrus-sasl) From ec5987f896d86967355cfdeede9cf9d4312a7e8c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 15:33:54 +0200 Subject: [PATCH 122/221] gnu: deutex: Update to 5.2.0. * gnu/packages/game-development.scm (deutex): Update to 5.2.0. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 1fb90b95d3..4ceb001ea8 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -153,7 +153,7 @@ is used in some video games and movies.") (define-public deutex (package (name "deutex") - (version "5.1.2") + (version "5.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/Doom-Utils/" name @@ -161,7 +161,7 @@ is used in some video games and movies.") name "-" version ".tar.xz")) (sha256 (base32 - "1rj3w4xa0n4jixy4j7p6gbclylbgxvhdnji7xnkydrqii9rxnbp4")))) + "1d536d3i78k4ch8mjg7lqnamnyfpp2x5x7mzx5smqi9ad8lb6hqz")))) (build-system gnu-build-system) (native-inputs `(("asciidoc" ,asciidoc))) (home-page "https://github.com/Doom-Utils/deutex") From 5fbb9f0b51a1caeb86009192654f650c5cb4d167 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 15:34:03 +0200 Subject: [PATCH 123/221] gnu: deutex: Don't use NAME in source URI. * gnu/packages/game-development.scm (deutex)[source]: Hard-code NAME. --- gnu/packages/game-development.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4ceb001ea8..05a68b717a 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -156,9 +156,9 @@ is used in some video games and movies.") (version "5.2.0") (source (origin (method url-fetch) - (uri (string-append "https://github.com/Doom-Utils/" name + (uri (string-append "https://github.com/Doom-Utils/deutex" "/releases/download/v" version "/" - name "-" version ".tar.xz")) + "deutex-" version ".tar.xz")) (sha256 (base32 "1d536d3i78k4ch8mjg7lqnamnyfpp2x5x7mzx5smqi9ad8lb6hqz")))) From 89c943dfdc650da972c857158378c5ce05bbc305 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 17:19:10 +0200 Subject: [PATCH 124/221] gnu: android-googletest: Downgrade to 1.8.0. This is a follow-up to commit 3b39f09fd99cd07543b904d11ea9b3463c38ecb7. * gnu/packages/android.scm (android-googletest): Downgrade to 1.8.0. [version]: Overwrite field. [source]: Likewise. --- gnu/packages/android.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/android.scm b/gnu/packages/android.scm index 7d5de08be9..56d5edaa75 100644 --- a/gnu/packages/android.scm +++ b/gnu/packages/android.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Efraim Flashner ;;; Copyright © 2019 Andreas Enge +;;; Copyright © 2019 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -90,6 +91,17 @@ use their packages mostly unmodified in our Android NDK build system.") (define-public android-googletest (package (inherit googletest) (name "android-googletest") + (version "1.8.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/google/googletest.git") + (commit (string-append "release-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bjlljmbf8glnd9qjabx73w6pd7ibv43yiyngqvmvgxsabzr8399")))) (arguments `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON") #:phases From e526db51d1923cec8d2eb19d63ca005b8aac2a96 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 17:03:21 +0200 Subject: [PATCH 125/221] gnu: schismtracker: Update to 20190614. * gnu/packages/music.scm (schismtracker): Update to 20190614. --- 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 f6f5389318..5ab285db64 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -2863,7 +2863,7 @@ for improved Amiga ProTracker 2/3 compatibility.") (define-public schismtracker (package (name "schismtracker") - (version "20181223") + (version "20190614") (source (origin (method git-fetch) (uri (git-reference @@ -2872,7 +2872,7 @@ for improved Amiga ProTracker 2/3 compatibility.") (file-name (git-file-name name version)) (sha256 (base32 - "18k5j10zq39y2q294avdmar87x93k57wqmq8bpz562hdqki2mz1l")) + "0cg0q5bkn8a06v03vmj69xyhi4xxpl729k4008q4hiakh9gy2x49")) (modules '((guix build utils))) (snippet ;; Remove use of __DATE__ and __TIME__ for reproducibility. @@ -2892,7 +2892,7 @@ for improved Amiga ProTracker 2/3 compatibility.") ("automake" ,automake) ("python" ,python))) (inputs - `(("alsa-lib" ,alsa-lib) ; for asound dependency + `(("alsa-lib" ,alsa-lib) ; for asound dependency ("libx11" ,libx11) ("libxext" ,libxext) ("sdl" ,sdl))) From 59b98b48475fe3deb8b356872913ae4b8bbd4e7f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 17:11:45 +0200 Subject: [PATCH 126/221] gnu: mc: Update to 4.8.23. * gnu/packages/mc.scm (mc): Update to 4.8.23. --- gnu/packages/mc.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/mc.scm b/gnu/packages/mc.scm index 3d6185ca78..76bf77d1c8 100644 --- a/gnu/packages/mc.scm +++ b/gnu/packages/mc.scm @@ -37,14 +37,14 @@ (define-public mc (package (name "mc") - (version "4.8.22") + (version "4.8.23") (source (origin (method url-fetch) (uri (string-append "http://ftp.midnight-commander.org/mc-" version ".tar.xz")) (sha256 - (base32 "060kh3dmk8fmmsibn1l815qjazzfxzbhgqggrhncz604pbbnhy7f")))) + (base32 "077z7phzq3m1sxyz7li77lyzv4rjmmh3wp2vy86pnc4387kpqzyx")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("perl" ,perl))) From 8cba7d2a996f82c99a00218ffe05766bd4c08fec Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 17:21:15 +0200 Subject: [PATCH 127/221] gnu: rofi: Update to 1.5.3. * gnu/packages/xdisorg.scm (rofi): Update to 1.5.3. --- gnu/packages/xdisorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 56dbfc7227..8d547969b3 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -1179,7 +1179,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") (define-public rofi (package (name "rofi") - (version "1.5.2") + (version "1.5.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/DaveDavenport/rofi/" @@ -1187,7 +1187,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") version "/rofi-" version ".tar.xz")) (sha256 (base32 - "17faa0rj8vqidrijwx9jrq0c29003n8v3izvc66yssfljgb8kcpj")))) + "0y78ya2va2lg3ww17n11y9awn8lhcp1px2d8gxaimxfqlxczs8la")))) (build-system gnu-build-system) (inputs `(("pango" ,pango) @@ -1207,7 +1207,7 @@ connectivity of the X server running on a particular @code{DISPLAY}.") ("glib:bin" ,glib "bin") ("pkg-config" ,pkg-config))) (arguments - `(#:parallel-tests? #f ; May fail in some circumstances. + `(#:parallel-tests? #f ; fails in some circumstances #:phases (modify-phases %standard-phases (add-before 'configure 'adjust-tests From 0e1c5ccc3b7ac988f69988b8adf499e89b133856 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 16:50:52 +0200 Subject: [PATCH 128/221] gnu: exiv2: Update to 0.27.1. * gnu/packages/image.scm (exiv2): Update to 0.27.1. [build-system]: Switch to the CMAKE-BUILD-SYSTEM. [native-inputs]: Remove unused intltool. --- gnu/packages/image.scm | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index f9709e2b19..ef477fa6f1 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1040,27 +1040,19 @@ channels.") (define-public exiv2 (package (name "exiv2") - (version "0.26") - (source (origin - (method url-fetch) - (uri (list (string-append "https://www.exiv2.org/builds/exiv2-" - version "-trunk.tar.gz") - (string-append "https://www.exiv2.org/exiv2-" - version ".tar.gz") - (string-append "https://fossies.org/linux/misc/exiv2-" - version ".tar.gz"))) - (patches (search-patches "exiv2-CVE-2017-14860.patch" - "exiv2-CVE-2017-14859-14862-14864.patch")) - (sha256 - (base32 - "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7")))) - (build-system gnu-build-system) - (arguments '(#:tests? #f)) ; no `check' target + (version "0.27.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.exiv2.org/builds/exiv2-" version + "-Source.tar.gz")) + (sha256 + (base32 "109hbfk63dh14fz20ivq20gcclb9jj9jmh48w4lcn6zxh1ljh9gi")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ; no test suite (propagated-inputs `(("expat" ,expat) ("zlib" ,zlib))) - (native-inputs - `(("intltool" ,intltool))) (home-page "https://www.exiv2.org/") (synopsis "Library and command-line utility to manage image metadata") (description From 77c2899cd409d0bafecf2253b1656487da09adc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Jun 2019 14:54:58 +0200 Subject: [PATCH 129/221] compile: Enable 'shadowed-toplevel' warning. * guix/build/compile.scm (%warnings): Add 'shadowed-toplevel'. --- guix/build/compile.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/compile.scm b/guix/build/compile.scm index 794f12379c..c8fe273f7e 100644 --- a/guix/build/compile.scm +++ b/guix/build/compile.scm @@ -63,7 +63,8 @@ ;; strings" due to the fact that we use 'G_' instead of '_'. We'll need ;; help from Guile to solve this. '(unsupported-warning unbound-variable arity-mismatch - macro-use-before-definition)) ;new in 2.2 + macro-use-before-definition ;new in 2.2 + shadowed-toplevel)) ;new in 2.2.5 (define (optimization-options file) "Return the default set of optimizations options for FILE." From ee700da584370330331ed09eabafc94a19892784 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Jun 2019 15:00:36 +0200 Subject: [PATCH 130/221] build: Report build errors via 'report-load-error'. * build-aux/compile-all.scm: Wrap 'compile-files' call in 'catch'. Attempt to resort to 'report-load-error' in (guix ui) to print the error. --- build-aux/compile-all.scm | 59 ++++++++++++++++++++++++++++----------- 1 file changed, 42 insertions(+), 17 deletions(-) diff --git a/build-aux/compile-all.scm b/build-aux/compile-all.scm index 4259ea523c..e9f3e957d9 100644 --- a/build-aux/compile-all.scm +++ b/build-aux/compile-all.scm @@ -91,20 +91,45 @@ to 'make'." (match (command-line) ((_ . files) - (compile-files srcdir (getcwd) - (filter file-needs-compilation? files) - #:workers (parallel-job-count) - #:host host - #:report-load (lambda (file total completed) - (when file - (format #t "[~3d%] LOAD ~a~%" - (% (+ 1 completed) (* 2 total)) - file) - (force-output))) - #:report-compilation (lambda (file total completed) - (when file - (format #t "[~3d%] GUILEC ~a~%" - (% (+ total completed 1) - (* 2 total)) - (scm->go file)) - (force-output)))))) + (catch #t + (lambda () + (compile-files srcdir (getcwd) + (filter file-needs-compilation? files) + #:workers (parallel-job-count) + #:host host + #:report-load (lambda (file total completed) + (when file + (format #t "[~3d%] LOAD ~a~%" + (% (+ 1 completed) (* 2 total)) + file) + (force-output))) + #:report-compilation (lambda (file total completed) + (when file + (format #t "[~3d%] GUILEC ~a~%" + (% (+ total completed 1) + (* 2 total)) + (scm->go file)) + (force-output))))) + (lambda _ + (primitive-exit 1)) + (lambda args + ;; Try to report the error in an intelligible way. + (let* ((stack (make-stack #t)) + (frame (if (> (stack-length stack) 1) + (stack-ref stack 1) ;skip the 'throw' frame + (stack-ref stack 0))) + (ui (false-if-exception + (resolve-module '(guix ui)))) + (report (and ui + (false-if-exception + (module-ref ui 'report-load-error))))) + (if report + ;; In Guile <= 2.2.5, 'current-load-port' was not exported. + (let ((load-port ((module-ref (resolve-module '(ice-9 ports)) + 'current-load-port)))) + (report (or (and=> load-port port-filename) "?.scm") + args frame)) + (begin + (print-exception (current-error-port) frame + (car args) (cdr args)) + (display-backtrace stack (current-error-port))))))))) From 85a411bc282f9d6749d5ff029e152fba9f5b4712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Jun 2019 15:02:29 +0200 Subject: [PATCH 131/221] gnu: guile-persist: Install .go files in the right place. * gnu/packages/guile-xyz.scm (guile-persist)[source](modules, snippet): New fields. --- gnu/packages/guile-xyz.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 68df7eac6c..5366b1b976 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2123,7 +2123,14 @@ chunks can be expressions as well as simple tokens.") (file-name (git-file-name name version)) (sha256 (base32 - "0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522")))) + "0z5nf377wh8yj6n3sx2ddn4bdx1qrqnw899dlqjhg0q69qzil522")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Install .go files in the right place. + (substitute* "Makefile.am" + (("/ccache") "/site-ccache")) + #t)))) (build-system gnu-build-system) (arguments `(#:phases From fbfc07bd867ce3f63be99332ef97a7b765a9d33f Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Wed, 5 Jun 2019 18:11:20 +0200 Subject: [PATCH 132/221] gnu: Add leela-zero. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (leela-zero): New variable. * gnu/packages/patches/leela-zero-gtest.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 2 + gnu/packages/games.scm | 51 +++++++++++++++++++++ gnu/packages/patches/leela-zero-gtest.patch | 40 ++++++++++++++++ 3 files changed, 93 insertions(+) create mode 100644 gnu/packages/patches/leela-zero-gtest.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8be4d74dce..0c7a9ec198 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -20,6 +20,7 @@ # Copyright © 2018, 2019 Oleg Pykhalov # Copyright © 2018 Stefan Stefanović # Copyright © 2018 Maxim Cournoyer +# Copyright © 2019 Guillaume Le Vaillant # # This file is part of GNU Guix. # @@ -979,6 +980,7 @@ dist_patch_DATA = \ %D%/packages/patches/lcms-CVE-2018-16435.patch \ %D%/packages/patches/ldc-bootstrap-disable-tests.patch \ %D%/packages/patches/ldc-disable-phobos-tests.patch \ + %D%/packages/patches/leela-zero-gtest.patch \ %D%/packages/patches/liba52-enable-pic.patch \ %D%/packages/patches/liba52-link-with-libm.patch \ %D%/packages/patches/liba52-set-soname.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 304ef45024..240b1d33df 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -42,6 +42,7 @@ ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2019 Jesse Gibbons ;;; Copyright © 2019 Dan Frumin +;;; Copyright © 2019 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,6 +131,7 @@ #:use-module (gnu packages netpbm) #:use-module (gnu packages networking) #:use-module (gnu packages ocaml) + #:use-module (gnu packages opencl) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) @@ -7580,3 +7582,52 @@ remake of that series or any other game.") ;; released under both gpl2 and cc-by-sa3.0. Bundled Gigi library is ;; released under lgpl2.1+. (license (list license:gpl2 license:cc-by-sa3.0 license:lgpl2.1+)))) + +(define-public leela-zero + (package + (name "leela-zero") + (version "0.17") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/leela-zero/leela-zero.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17px5iny8mql5c01bymcli7zfssswkzvb2i8gnsmjcck6i2n8srl")) + (patches (search-patches "leela-zero-gtest.patch")))) + (build-system cmake-build-system) + (native-inputs + `(("googletest" ,googletest))) + (inputs + `(("boost" ,boost) + ("ocl-icd" ,ocl-icd) + ("openblas" ,openblas) + ("opencl-headers" ,opencl-headers) + ("qtbase" ,qtbase) + ("zlib" ,zlib))) + (arguments + '(#:configure-flags '("-DUSE_BLAS=YES") + #:phases (modify-phases %standard-phases + (add-before 'configure 'fix-tests + (lambda* (#:key outputs #:allow-other-keys) + (let ((home (getcwd))) + (setenv "HOME" home) + (substitute* "src/tests/gtests.cpp" + (("\\.\\./src/tests/0k\\.txt") + (string-append home "/src/tests/0k.txt")) + (("cfg_gtp_mode = true;") + "cfg_gtp_mode = true; cfg_cpu_only = true;"))) + #t)) + (replace 'check + (lambda _ + (invoke "./tests")))))) + (home-page "https://github.com/leela-zero/leela-zero") + (synopsis "Program playing the game of Go") + (description + "Leela-zero is a Go engine with no human-provided knowledge, modeled after +the AlphaGo Zero paper. The current best network weights file for the engine +can be downloaded from @url{https://zero.sjeng.org/best-network}.") + (license license:gpl3+))) diff --git a/gnu/packages/patches/leela-zero-gtest.patch b/gnu/packages/patches/leela-zero-gtest.patch new file mode 100644 index 0000000000..7291b4ab72 --- /dev/null +++ b/gnu/packages/patches/leela-zero-gtest.patch @@ -0,0 +1,40 @@ +Use shared gtest instead of submodule + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 617e4b2..2857875 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -18,7 +18,6 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") + include(GNUInstallDirs) + + project(leelaz) +-add_subdirectory(gtest EXCLUDE_FROM_ALL) # We don't want to install gtest, exclude it from `all` + + # Required Packages + set(Boost_MIN_VERSION "1.58.0") +@@ -27,6 +26,7 @@ find_package(Boost 1.58.0 REQUIRED program_options filesystem) + find_package(Threads REQUIRED) + find_package(ZLIB REQUIRED) + find_package(OpenCL REQUIRED) ++find_package(GTest REQUIRED) + # We need OpenBLAS for now, because we make some specific + # calls. Ideally we'd use OpenBLAS is possible and fall back to + # not doing those calls if it's not present. +@@ -93,6 +93,7 @@ include_directories(${IncludePath}) + include_directories(${Boost_INCLUDE_DIRS}) + include_directories(${OpenCL_INCLUDE_DIRS}) + include_directories(${ZLIB_INCLUDE_DIRS}) ++include_directories(${GTEST_INCLUDE_DIRS}) + + if((UNIX AND NOT APPLE) OR WIN32) + include_directories(${BLAS_INCLUDE_DIRS}) +@@ -141,7 +142,8 @@ target_link_libraries(tests ${Boost_LIBRARIES}) + target_link_libraries(tests ${BLAS_LIBRARIES}) + target_link_libraries(tests ${OpenCL_LIBRARIES}) + target_link_libraries(tests ${ZLIB_LIBRARIES}) +-target_link_libraries(tests gtest_main ${CMAKE_THREAD_LIBS_INIT}) ++target_link_libraries(tests ${GTEST_BOTH_LIBRARIES}) ++target_link_libraries(tests ${CMAKE_THREAD_LIBS_INIT}) + + include(GetGitRevisionDescription) + git_describe(VERSION --tags) From 9f8311ad29604f1ba906ac514d8750a1859ca1e9 Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Fri, 7 Jun 2019 15:04:49 -0500 Subject: [PATCH 133/221] gnu: Add clunit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (clunit): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lisp.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index dfc58d469f..720ee4b935 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5369,3 +5369,36 @@ command line, to data scanning and extracting scripts, to full application development in a wide-range of areas.") (home-page "https://nongnu.org/txr/") (license license:bsd-2))) + +(define-public sbcl-clunit + (let ((commit "6f6d72873f0e1207f037470105969384f8380628") + (revision "1")) + (package + (name "sbcl-clunit") + (version (git-version "0.2.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tgutu/clunit.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1idf2xnqzlhi8rbrqmzpmb3i1l6pbdzhhajkmhwbp6qjkmxa4h85")))) + (build-system asdf-build-system/sbcl) + (synopsis "CLUnit is a Common Lisp unit testing framework") + (description + "CLUnit is a Common Lisp unit testing framework. It is designed +to be easy to use so that you can quickly start testing. CLUnit +provides a rich set of features aimed at improving your unit testing +experience.") + (home-page "http://tgutu.github.io/clunit/") + ;; MIT License + (license license:expat)))) + +(define-public cl-clunit + (sbcl-package->cl-source-package sbcl-clunit)) + +(define-public ecl-clunit + (sbcl-package->ecl-package sbcl-clunit)) From 20b96cedce19f0afd93314e1ac1aa118b6c355d9 Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Fri, 7 Jun 2019 15:13:45 -0500 Subject: [PATCH 134/221] gnu: Add py4cl. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (py4cl): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lisp.scm | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 720ee4b935..581087e29c 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -65,6 +65,8 @@ #:use-module (gnu packages linux) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) #:use-module (gnu packages sdl) #:use-module (gnu packages sqlite) @@ -5402,3 +5404,63 @@ experience.") (define-public ecl-clunit (sbcl-package->ecl-package sbcl-clunit)) + +(define-public sbcl-py4cl + (let ((commit "4c8a2b0814fd311f978964f825ce012290f60136") + (revision "1")) + (package + (name "sbcl-py4cl") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bendudson/py4cl.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "15mk7qdqjkj56gdnbyrdyz6r7m1h26ldvn6ch96pmvg5vmr1m45r")) + (modules '((guix build utils))))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("sbcl-clunit" ,sbcl-clunit))) + (inputs + `(("sbcl-trivial-garbage" ,sbcl-trivial-garbage))) + (propagated-inputs + ;; This package doesn't do anything without python available + `(("python" ,python) + ;; For multi-dimensional array support + ("python-numpy" ,python-numpy))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'replace-*base-directory*-var + (lambda* (#:key outputs #:allow-other-keys) + ;; In the ASD, the author makes an attempt to + ;; programatically determine the location of the + ;; source-code so lisp can call into "py4cl.py". We can + ;; hard-code this since we know where this file will + ;; reside. + (substitute* "src/callpython.lisp" + (("py4cl/config:\\*base-directory\\*") + (string-append + "\"" + (assoc-ref outputs "out") + "/share/common-lisp/sbcl-source/py4cl/" + "\"")))))))) + (synopsis "Call python from Common Lisp") + (description + "Py4CL is a bridge between Common Lisp and Python, which enables Common +Lisp to interact with Python code. It uses streams to communicate with a +separate python process, the approach taken by cl4py. This is different to +the CFFI approach used by burgled-batteries, but has the same goal.") + (home-page "https://github.com/bendudson/py4cl") + ;; MIT License + (license license:expat)))) + +(define-public cl-py4cl + (sbcl-package->cl-source-package sbcl-py4cl)) + +(define-public ecl-py4cl + (sbcl-package->ecl-package sbcl-py4cl)) From ab84ea9e55cd5146dd2e97cd4d0189dbcfcef170 Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Fri, 7 Jun 2019 15:15:50 -0500 Subject: [PATCH 135/221] gnu: Add parse-declarations. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (parse-declarations): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 581087e29c..25b8e95ca7 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5464,3 +5464,38 @@ the CFFI approach used by burgled-batteries, but has the same goal.") (define-public ecl-py4cl (sbcl-package->ecl-package sbcl-py4cl)) + +(define-public sbcl-parse-declarations + (package + (name "sbcl-parse-declarations") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "http://beta.quicklisp.org/archive/parse-declarations/" + "2010-10-06/parse-declarations-20101006-darcs.tgz")) + (sha256 + (base32 + "0r85b0jfacd28kr65kw9c13dx4i6id1dpmby68zjy63mqbnyawrd")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:asd-file "parse-declarations-1.0.asd" + #:asd-system-name "parse-declarations-1.0")) + (home-page "https://common-lisp.net/project/parse-declarations/") + (synopsis "Parse, filter, and build declarations") + (description + "Parse-Declarations is a Common Lisp library to help writing +macros which establish bindings. To be semantically correct, such +macros must take user declarations into account, as these may affect +the bindings they establish. Yet the ANSI standard of Common Lisp does +not provide any operators to work with declarations in a convenient, +high-level way. This library provides such operators.") + ;; MIT License + (license license:expat))) + +(define-public cl-parse-declarations + (sbcl-package->cl-source-package sbcl-parse-declarations)) + +(define-public ecl-parse-declarations + (sbcl-package->ecl-package sbcl-parse-declarations)) From 2ddc55c6dc700802443ad22af634cc65b87f5d95 Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Fri, 7 Jun 2019 15:17:15 -0500 Subject: [PATCH 136/221] gnu: Add cl-quickcheck. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (cl-quickcheck): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lisp.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 25b8e95ca7..d21fca58ee 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5499,3 +5499,34 @@ high-level way. This library provides such operators.") (define-public ecl-parse-declarations (sbcl-package->ecl-package sbcl-parse-declarations)) + +(define-public sbcl-cl-quickcheck + (let ((commit "807b2792a30c883a2fbecea8e7db355b50ba662f") + (revision "1")) + (package + (name "sbcl-cl-quickcheck") + (version (git-version "0.0.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mcandre/cl-quickcheck.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "165lhypq5xkcys6hvzb3jq7ywnmqvzaflda29qk2cbs3ggas4767")))) + (build-system asdf-build-system/sbcl) + (synopsis + "Common Lisp port of the QuickCheck unit test framework") + (description + "Common Lisp port of the QuickCheck unit test framework") + (home-page "https://github.com/mcandre/cl-quickcheck") + ;; MIT + (license license:expat)))) + +(define-public cl-cl-quickcheck + (sbcl-package->cl-source-package sbcl-cl-quickcheck)) + +(define-public ecl-cl-quickcheck + (sbcl-package->ecl-package sbcl-cl-quickcheck)) From 245b19cae15b6282706b2225d2603a67ecc61fc8 Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Fri, 7 Jun 2019 15:19:50 -0500 Subject: [PATCH 137/221] gnu: Add burgled-batteries3. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (burgled-batteries3): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lisp.scm | 60 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index d21fca58ee..49ec224716 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5530,3 +5530,63 @@ high-level way. This library provides such operators.") (define-public ecl-cl-quickcheck (sbcl-package->ecl-package sbcl-cl-quickcheck)) + +(define-public sbcl-burgled-batteries3 + (let ((commit "9c0f6667e1a71ddf77e21793a0bea524710fef6e") + (revision "1")) + (package + (name "sbcl-burgled-batteries3") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/snmsts/burgled-batteries3.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b726kz2xxcg5l930gz035rsdvhxrzmp05iwfwympnb4z4ammicb")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:tests? #f + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'set-*cpython-include-dir*-var + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "grovel-include-dir.lisp" + (("\\(defparameter \\*cpython-include-dir\\* \\(detect-python\\)\\)") + (string-append + "(defparameter *cpython-include-dir* \"" + (assoc-ref inputs "python") + "/include/python3.7m" + "\")"))) + (substitute* "ffi-interface.lisp" + (("\\*cpython-lib\\*") + (format #f "'(\"~a/lib/libpython3.so\")" + (assoc-ref inputs "python")))) + #t))))) + (native-inputs + `(("python" ,python) + ("sbcl-cl-fad" ,sbcl-cl-fad) + ("sbcl-lift" ,sbcl-lift) + ("sbcl-cl-quickcheck" ,sbcl-cl-quickcheck))) + (inputs + `(("sbcl-cffi" ,sbcl-cffi) + ("sbcl-cffi-grovel" ,sbcl-cffi-grovel) + ("sbcl-alexandria" , sbcl-alexandria) + ("sbcl-parse-declarations-1.0" ,sbcl-parse-declarations) + ("sbcl-trivial-garbage" ,sbcl-trivial-garbage))) + (synopsis "Bridge between Python and Lisp (FFI bindings, etc.)") + (description + "This package provides a shim between Python3 (specifically, the +CPython implementation of Python) and Common Lisp.") + (home-page "https://github.com/snmsts/burgled-batteries3") + ;; MIT + (license license:expat)))) + +(define-public cl-burgled-batteries3 + (sbcl-package->cl-source-package sbcl-burgled-batteries3)) + +(define-public ecl-burgled-batteries3 + (sbcl-package->ecl-package sbcl-burgled-batteries3)) From 98b9409c1630bebb9e1b8218dd3f270d2f41db20 Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Fri, 7 Jun 2019 15:21:16 -0500 Subject: [PATCH 138/221] gnu: Add metabang-bind. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (metabang-bind): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lisp.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 49ec224716..03f5655324 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5590,3 +5590,39 @@ CPython implementation of Python) and Common Lisp.") (define-public ecl-burgled-batteries3 (sbcl-package->ecl-package sbcl-burgled-batteries3)) + +(define-public sbcl-metabang-bind + (let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e") + (revision "1")) + (package + (name "sbcl-metabang-bind") + (version (git-version "0.8.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gwkkwg/metabang-bind.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0")))) + (build-system asdf-build-system/sbcl) + (native-inputs + `(("sbcl-lift" ,sbcl-lift))) + (synopsis "Macro that generalizes @code{multiple-value-bind} etc.") + (description + "Bind extends the idea of of let and destructing to provide a uniform +syntax for all your accessor needs. It combines @code{let}, +@code{destructuring-bind}, @code{with-slots}, @code{with-accessors}, structure +editing, property or association-lists, and @code{multiple-value-bind} and a +whole lot more into a single form.") + (home-page "https://common-lisp.net/project/metabang-bind/") + ;; MIT License + (license license:expat)))) + +(define-public cl-metabang-bind + (sbcl-package->cl-source-package sbcl-metabang-bind)) + +(define-public ecl-metabang-bind + (sbcl-package->ecl-package sbcl-metabang-bind)) From 31263ec227c077f55893de61e8b839d7c97ae0c1 Mon Sep 17 00:00:00 2001 From: Katherine Cox-Buday Date: Fri, 7 Jun 2019 15:23:15 -0500 Subject: [PATCH 139/221] gnu: Add fare-utils. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/lisp.scm (fare-utils): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/lisp.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 03f5655324..518204f674 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5626,3 +5626,40 @@ whole lot more into a single form.") (define-public ecl-metabang-bind (sbcl-package->ecl-package sbcl-metabang-bind)) + +(define-public sbcl-fare-utils + (let ((commit "66e9c6f1499140bc00ccc22febf2aa528cbb5724") + (revision "1")) + (package + (name "sbcl-fare-utils") + (version (git-version "1.0.0.5" revision commit)) + (source + (origin + (method git-fetch) + (uri + (git-reference + (url + "https://gitlab.common-lisp.net/frideau/fare-utils.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01wsr1aap3jdzhn4hrqjbhsjx6qci9dbd3gh4gayv1p49rbg8aqr")))) + (build-system asdf-build-system/sbcl) + (arguments + `(#:test-asd-file "test/fare-utils-test.asd")) + (native-inputs + `(("sbcl-hu.dwim.stefil" ,sbcl-hu.dwim.stefil))) + (synopsis "Collection of utilities and data structures") + (description + "fare-utils is a small collection of utilities. It contains a lot of +basic everyday functions and macros.") + (home-page "https://gitlab.common-lisp.net/frideau/fare-utils") + ;; MIT License + (license license:expat)))) + +(define-public cl-fare-utils + (sbcl-package->cl-source-package sbcl-fare-utils)) + +(define-public ecl-fare-utils + (sbcl-package->ecl-package sbcl-fare-utils)) From 8566d8793b005ae8ee2bf63b8817b301c94849cb Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 19:09:51 +0300 Subject: [PATCH 140/221] gnu: toot: Don't install the Makefile. * gnu/packages/mastodon.scm (toot)[arguments]: Add custom phase to prevent installing data_files. --- gnu/packages/mastodon.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/mastodon.scm b/gnu/packages/mastodon.scm index 028745f681..cd12f5a7fd 100644 --- a/gnu/packages/mastodon.scm +++ b/gnu/packages/mastodon.scm @@ -42,6 +42,12 @@ '(#:phases (modify-phases %standard-phases (delete 'check) + ;; see https://github.com/ihabunek/toot/issues/91 + (add-after 'unpack 'dont-install-Makefile + (lambda _ + (substitute* "setup.py" + (("data_files.*" all) "")) + #t)) (add-after 'install 'check (lambda* (#:key inputs outputs #:allow-other-keys) (add-installed-pythonpath inputs outputs) From 46475f72ab6127e7818fdea4a0ea9cc07c60a5f4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 19:28:35 +0300 Subject: [PATCH 141/221] gnu: openssh: Don't create the PRIVSEP_PATH directory. * gnu/packages/ssh.scm (openssh)[arguments]: Modify the custom 'install phase to remove the /var directory. --- gnu/packages/ssh.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 010ed40707..4bb0ad59f0 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015, 2016 Mark H Weaver -;;; Copyright © 2015, 2016, 2018 Efraim Flashner +;;; Copyright © 2015, 2016, 2018, 2019 Efraim Flashner ;;; Copyright © 2016, 2019 Leo Famulari ;;; Copyright © 2016 Nicolas Goaziou ;;; Copyright © 2016 Christopher Allan Webber @@ -230,6 +230,9 @@ a server that supports the SSH-2 protocol.") (install-file "contrib/ssh-copy-id.1" (string-append (assoc-ref outputs "out") "/share/man/man1/")) + ;; Don't install the PRIVSEP_PATH directory. + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/var")) #t))))) (synopsis "Client and server for the secure shell (ssh) protocol") (description From 7754136e464e02284624ad05c196d9ec26099143 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 19:31:13 +0300 Subject: [PATCH 142/221] gnu: openssh: Clean-up custom install phase. * gnu/packages/ssh.scm (openssh)[arguments]: Factor out outputs in custom 'install phase to clean-up code. --- gnu/packages/ssh.scm | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 4bb0ad59f0..2fd02475d3 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -220,20 +220,17 @@ a server that supports the SSH-2 protocol.") #t)) (replace 'install (lambda* (#:key outputs (make-flags '()) #:allow-other-keys) - ;; install without host keys and system configuration files - (apply invoke "make" "install-nosysconf" make-flags) - (install-file "contrib/ssh-copy-id" - (string-append (assoc-ref outputs "out") - "/bin/")) - (chmod (string-append (assoc-ref outputs "out") - "/bin/ssh-copy-id") #o555) - (install-file "contrib/ssh-copy-id.1" - (string-append (assoc-ref outputs "out") - "/share/man/man1/")) - ;; Don't install the PRIVSEP_PATH directory. - (delete-file-recursively - (string-append (assoc-ref outputs "out") "/var")) - #t))))) + (let ((out (assoc-ref outputs "out"))) + ;; install without host keys and system configuration files + (apply invoke "make" "install-nosysconf" make-flags) + (install-file "contrib/ssh-copy-id" + (string-append out "/bin/")) + (chmod (string-append out "/bin/ssh-copy-id") #o555) + (install-file "contrib/ssh-copy-id.1" + (string-append out "/share/man/man1/")) + ;; Don't install the PRIVSEP_PATH directory. + (delete-file-recursively (string-append out "/var")) + #t)))))) (synopsis "Client and server for the secure shell (ssh) protocol") (description "The SSH2 protocol implemented in OpenSSH is standardised by the From 535fc98797338b1bacd21d30a0ab9aa88f924ebd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 18:55:25 +0200 Subject: [PATCH 143/221] gnu: sessreg: Update to 1.1.2. * gnu/packages/xorg.scm (sessreg): Update to 1.1.2. --- gnu/packages/xorg.scm | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9577c4d2c6..8318d77084 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1780,17 +1780,14 @@ features and to query screensaver info on specific windows.") (define-public sessreg (package (name "sessreg") - (version "1.1.1") + (version "1.1.2") (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/sessreg-" - version - ".tar.bz2")) - (sha256 - (base32 - "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq")))) + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/sessreg-" version ".tar.bz2")) + (sha256 + (base32 "0crczl25zynkrslmm8sjaxszhrh4i33m7h5fg4wfdb3k8aarxjyz")))) (build-system gnu-build-system) (inputs `(("xorgproto" ,xorgproto))) From 455e6a31d45ee238d771a2b9d0690840d9078e85 Mon Sep 17 00:00:00 2001 From: Timotej Lazar Date: Fri, 21 Jun 2019 17:56:42 +0200 Subject: [PATCH 144/221] gnu: cmus: Update to 2.8.0. * gnu/packages/music.scm (cmus): Update to 2.8.0. Signed-off-by: Efraim Flashner --- gnu/packages/music.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 5ab285db64..ca9cbd3343 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -20,6 +20,7 @@ ;;; Copyright © 2018 Ludovic Courtès ;;; Copyright © 2018 Björn Höfling ;;; Copyright © 2019 Gabriel Hondet +;;; Copyright © 2019 Timotej Lazar ;;; ;;; This file is part of GNU Guix. ;;; @@ -314,7 +315,7 @@ playing your music.") (define-public cmus (package (name "cmus") - (version "2.7.1") + (version "2.8.0") (source (origin (method git-fetch) (uri (git-reference @@ -323,7 +324,7 @@ playing your music.") (file-name (git-file-name name version)) (sha256 (base32 - "0xd96py21bl869qlv1353zw7xsgq6v5s8szr0ldr63zj5fgc2ps5")))) + "1ydnvq13ay8b8mfmmgwi5qsgyf220yi1d01acbnxqn775dghmwar")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; cmus does not include tests From 887ae6175d63f931af6dfb6e16bbcb9d8df59de5 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 21:08:04 +0300 Subject: [PATCH 145/221] gnu: perl-libwww: Update to 6.39. * gnu/packages/web.scm (perl-libwww): Update to 6.39. --- gnu/packages/web.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 1d9190ef63..8911290e09 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3112,7 +3112,7 @@ select or poll.") (define-public perl-libwww (package (name "perl-libwww") - (version "6.37") + (version "6.39") (source (origin (method url-fetch) (uri (string-append @@ -3120,7 +3120,7 @@ select or poll.") version ".tar.gz")) (sha256 (base32 - "04a24cx9gs070rvlwf5kanz03y7nnq9k2nmpr01plnm059iprvf6")))) + "1mblfwz3g7vmyykmb0mcbmmad77rwx55fwaca9ymv9wajd3pg3cs")))) (build-system perl-build-system) (native-inputs `(("perl-test-fatal" ,perl-test-fatal) From 201a25a311a2c89bac503c1abc07f662708810f3 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 21:11:37 +0300 Subject: [PATCH 146/221] gnu: perl-uri: Update to 1.76. * gnu/packages/web.scm (perl-uri): Update to 1.76. [source]: Use new upstream source. --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8911290e09..82102f427f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -3662,14 +3662,14 @@ applications.") (define-public perl-uri (package (name "perl-uri") - (version "1.73") + (version "1.76") (source (origin (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/E/ET/ETHER/" + (uri (string-append "mirror://cpan/authors/id/O/OA/OALDERS/" "URI-" version ".tar.gz")) (sha256 (base32 - "04z4xwiryrbxxi48bwbkgq9q9pwfgqry3wp0ramcrwv3dx5ap9yc")))) + "0gj1aj18k43kmzc3y1zhj5giinf8rksacf757r475xfna0fqxjdj")))) (build-system perl-build-system) (native-inputs ;; For tests. From a402b088e7a4c4cef5616c2b1bfa833ccc7af1c0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 20:52:43 +0300 Subject: [PATCH 147/221] gnu: perl-base: Part of Perl core. * gnu/packages/perl.scm (perl-base): Mark deprecated. (perl-class-accessor, perl-tree-simple-visitorfactory) [propagated-inputs]: Remove perl-base. --- gnu/packages/perl.scm | 24 ++---------------------- 1 file changed, 2 insertions(+), 22 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 63b8e387b8..d32905fd7c 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -383,24 +383,7 @@ error when it would have happened.") (license (package-license perl)))) (define-public perl-base - (package - (name "perl-base") - (version "2.23") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" - "base-" version ".tar.gz")) - (sha256 - (base32 "1pjxcbbcpwlgzm0fzsbqd58zn8cj9vwril1wn3xfd7ws550mixa0")))) - (build-system perl-build-system) - (home-page "https://metacpan.org/release/base") - (synopsis "Establish an ISA relationship with base classes at compile time") - (description "Allows you to both load one or more modules, while setting -up inheritance from those modules at the same time. Unless you are using the -fields pragma, consider this module discouraged in favor of the lighter-weight -parent.") - (license (package-license perl)))) ;See README + (deprecated-package "perl-base" perl)) (define-public perl-browser-open (package @@ -873,8 +856,6 @@ the Carp.pm module doesn't help.") (build-system perl-build-system) (native-inputs `(("perl-sub-name" ,perl-sub-name))) - (propagated-inputs - `(("perl-base" ,perl-base))) (home-page "https://metacpan.org/release/Class-Accessor") (synopsis "Automated accessor generation") (description "This module automagically generates accessors/mutators for @@ -9009,8 +8990,7 @@ simple n-ary tree.") `(("perl-module-build" ,perl-module-build) ("perl-test-exception" ,perl-test-exception))) (propagated-inputs - `(("perl-tree-simple" ,perl-tree-simple) - ("perl-base" ,perl-base))) + `(("perl-tree-simple" ,perl-tree-simple))) (home-page "https://metacpan.org/release/Tree-Simple-VisitorFactory") (synopsis "Factory object for dispensing Visitor objects") (description "This module is a factory for dispensing From 6c6a049b13759c457c1d74951327e579df866900 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 25 Jun 2019 21:06:12 +0300 Subject: [PATCH 148/221] gnu: perl-parent: Part of Perl core. * gnu/packages/perl.scm (perl-parent): Mark deprecated. (perl-file-temp, perl-moose)[propagated-inputs]: Remove perl-parent. --- gnu/packages/perl.scm | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d32905fd7c..909b7fa78a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -3816,8 +3816,6 @@ slurping and spewing. All functions are optionally exported.") (sha256 (base32 "0pr3wrxrk93wy7dz9gsb1sgl77icrs8rh2mah6wms5cdi2ll5ch1")))) (build-system perl-build-system) - (propagated-inputs - `(("perl-parent" ,perl-parent))) (home-page "https://metacpan.org/release/File-Temp") (synopsis "Return name and handle of a temporary file safely") (description "File::Temp can be used to create and open temporary files in @@ -5615,7 +5613,6 @@ Moose and is optimised for rapid startup.") ("perl-package-stash" ,perl-package-stash) ("perl-package-stash-xs" ,perl-package-stash-xs) ("perl-params-util" ,perl-params-util) - ("perl-parent" ,perl-parent) ("perl-scalar-list-utils" ,perl-scalar-list-utils) ("perl-sub-exporter" ,perl-sub-exporter) ("perl-sub-name" ,perl-sub-name) @@ -6945,22 +6942,7 @@ distributions.") (license (package-license perl)))) (define-public perl-parent - (package - (name "perl-parent") - (version "0.237") - (source - (origin - (method url-fetch) - (uri (string-append "mirror://cpan/authors/id/C/CO/CORION/" - "parent-" version ".tar.gz")) - (sha256 - (base32 "1bnaadzf51g6zrpq6pvvgds2cc9d4w1vck7sapkd3hb5hmjdk28h")))) - (build-system perl-build-system) - (home-page "https://metacpan.org/release/parent") - (synopsis "Establish an ISA relationship with base classes at compile time") - (description "Allows you to both load one or more modules, while setting -up inheritance from those modules at the same time.") - (license (package-license perl)))) + (deprecated-package "perl-parent" perl)) (define-public perl-path-class (package From d8dbfbce60a6df9cf87ede8c0454f1b2214e80a7 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 6 Mar 2019 10:24:15 +0100 Subject: [PATCH 149/221] gnu: bash-completion: Fix cross-compilation. * gnu/packages/bash.scm (bash-completion)[arguments]: Search for util-linux in native-inputs and inputs during "remove-redundant-completions" phase. --- gnu/packages/bash.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bash.scm b/gnu/packages/bash.scm index fb4e3f4be3..ef93a11085 100644 --- a/gnu/packages/bash.scm +++ b/gnu/packages/bash.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015, 2017 Leo Famulari ;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -291,13 +292,16 @@ without modification.") `(#:phases (modify-phases %standard-phases (add-after 'install 'remove-redundant-completions - (lambda* (#:key inputs outputs #:allow-other-keys) + (lambda* (#:key + inputs native-inputs + outputs #:allow-other-keys) ;; Util-linux comes with a bunch of completion files for ;; its own commands which are more sophisticated and ;; up-to-date than those of bash-completion. Remove those ;; from bash-completion. (let* ((out (assoc-ref outputs "out")) - (util-linux (assoc-ref inputs "util-linux")) + (util-linux (assoc-ref (or native-inputs inputs) + "util-linux")) (completions (string-append out "/share/bash-completion" "/completions")) From fdbf4447bc028e6cc658a383ec338a1d3db61a56 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 6 Mar 2019 11:28:53 +0100 Subject: [PATCH 150/221] linux-initrd: Fix cross compilation. * gnu/system/linux-initrd.scm (default-initrd-modules): Check system name against %current-target-system first in case we are cross-compiling. --- gnu/system/linux-initrd.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 656afd1ddb..c90b87c023 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2016 Mark H Weaver ;;; Copyright © 2016 Jan Nieuwenhuizen -;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2017, 2019 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -273,7 +273,10 @@ FILE-SYSTEMS." (append-map (compose file-system-type-modules file-system-type) file-systems)) -(define* (default-initrd-modules #:optional (system (%current-system))) +(define* (default-initrd-modules + #:optional + (system (or (%current-target-system) + (%current-system)))) "Return the list of modules included in the initrd by default." (define virtio-modules ;; Modules for Linux para-virtualized devices, for use in QEMU guests. From 10a303a4a5c0e00f35275a34e42ab6860f9545fc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 25 Jun 2019 23:51:31 +0200 Subject: [PATCH 151/221] gnu: xcalc: Update to 1.1.0. * gnu/packages/xorg.scm (xcalc): Update to 1.1.0. --- gnu/packages/xorg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8318d77084..7099745ab3 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2073,14 +2073,14 @@ legacy X clients.") (define-public xcalc (package (name "xcalc") - (version "1.0.7") + (version "1.1.0") (source (origin (method url-fetch) (uri (string-append "mirror://xorg/individual/app/" "xcalc-" version ".tar.gz")) (sha256 - (base32 "1xgih1iq9498m7vk22qrdsck1rb905sn395azjn4a6pmhfai401b")))) + (base32 "0c768lh0nh28ram9ldldhaf51024fngc589v4pjmf3lxmzcihr58")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases From f6d78ff9b65291cd504d19e396c8312cd46cadc8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 25 Jun 2019 19:06:06 -0400 Subject: [PATCH 152/221] gnu: linux-libre@4.14: Update to 4.14.130. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.130. (%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 f89ab6b281..b12293797c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -466,8 +466,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-4.19-version %linux-libre-4.19-hash)) -(define %linux-libre-4.14-version "4.14.129") -(define %linux-libre-4.14-hash "0aw37l5c6hpgzqjawyq3rd7csp92x8mhy785mf0hg0i9smyfg767") +(define %linux-libre-4.14-version "4.14.130") +(define %linux-libre-4.14-hash "1fk6ds0q2rykr6byvfass8f5a9k6qq9sk261wjcfp1gn8b9wmxws") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version From a579f93197bcbecce36be621e0b7b5d2177e7e75 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 25 Jun 2019 19:06:59 -0400 Subject: [PATCH 153/221] gnu: linux-libre@4.19: Update to 4.19.56. * gnu/packages/linux.scm (%linux-libre-4.19-version): Update to 4.19.56. (%linux-libre-4.19-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 b12293797c..9bfdd1c6db 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -448,8 +448,8 @@ It has been modified to remove all non-free binary blobs.") (make-linux-libre-headers %linux-libre-version %linux-libre-hash)) -(define %linux-libre-4.19-version "4.19.55") -(define %linux-libre-4.19-hash "12qrd1rzhk0344av0dj9k4fg0i8yfd5n7k5gyw5bmp1y4f5igd59") +(define %linux-libre-4.19-version "4.19.56") +(define %linux-libre-4.19-hash "1zqiic55viy065lhnkmhn33sz3bbbr2ykbm5f92yzd8lpc9zl7yx") (define %linux-libre-4.19-patches (list %boot-logo-patch From 5a7e7ca1d7a656cd8f6d8e43d686ee087d21aabe Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 25 Jun 2019 19:07:39 -0400 Subject: [PATCH 154/221] gnu: linux-libre: Update to 5.1.15. * gnu/packages/linux.scm (%linux-libre-version): Update to 5.1.15. (%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 9bfdd1c6db..079300cf6d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -430,8 +430,8 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." It has been modified to remove all non-free binary blobs.") (license license:gpl2))) -(define %linux-libre-version "5.1.14") -(define %linux-libre-hash "1rpkkhzyks9bqk0j6djaacjxfb0jld4si4li1ws123ddf5krz8j2") +(define %linux-libre-version "5.1.15") +(define %linux-libre-hash "1f0hhyjsm4bl7k7w88aifvhmqmjkvkvlpd2b69y7s6csr22fk6v4") (define %linux-libre-5.1-patches (list %boot-logo-patch From dae2eb1c127c636226ba11d05ec638f113a3c831 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 20 May 2019 23:33:47 -0400 Subject: [PATCH 155/221] gnu: Add python-typed-ast. * gnu/packages/python-xyz.scm (python-typed-ast): New variable. --- gnu/packages/python-xyz.scm | 45 +++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d09e107bc4..cb3a695bca 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -14036,6 +14036,51 @@ source bytes using the UTF-8 encoding and then rewrites Python 3.6 style @code{f} strings.") (license license:expat))) +(define-public python-typed-ast + (package + (name "python-typed-ast") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "typed-ast" version)) + (sha256 + (base32 + "1m7pr6qpana3cvqwiw7mlvrgvmw27ch5mx1592572xhlki8g85ak")))) + (build-system python-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build python-build-system) + (ice-9 ftw) + (srfi srfi-1) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (let ((cwd (getcwd))) + (setenv "PYTHONPATH" + (string-append cwd "/build/" + (find (cut string-prefix? "lib" <>) + (scandir (string-append cwd "/build"))) + ":" + (getenv "PYTHONPATH")))) + (invoke "pytest") + #t))))) + (native-inputs `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/python/typed_ast") + (synopsis "Fork of Python @code{ast} modules with type comment support") + (description "This package provides a parser similar to the standard +@code{ast} library. Unlike @code{ast}, the parsers in @code{typed_ast} +include PEP 484 type comments and are independent of the version of Python +under which they are run. The @code{typed_ast} parsers produce the standard +Python AST (plus type comments), and are both fast and correct, as they are +based on the CPython 2.7 and 3.7 parsers.") + ;; See the file "LICENSE" for the details. + (license (list license:psfl + license:asl2.0 + license:expat)))) ;ast27/Parser/spark.py + (define-public python-typing (package (name "python-typing") From 2fdfa195a6ba0048c6e1d5d8800971a2121e9eb1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 20 Jun 2019 08:57:41 +0900 Subject: [PATCH 156/221] gnu: Add emacs-ascii-art-to-unicode. * gnu/packages/emacs-xyz.scm (emacs-ascii-art-to-unicode): New variable. --- gnu/packages/emacs-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 61fa8c2f81..205a4c8e0c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9678,6 +9678,27 @@ matches\" in the mode line in various search modes. This is an Emacs port of Anzu.zim.") (license license:gpl3+))) +(define-public emacs-ascii-art-to-unicode + (package + (name "emacs-ascii-art-to-unicode") + (version "1.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/ascii-art-to-unicode-" + version ".el")) + (sha256 + (base32 + "1w9h2lyriafxj71r79774gh822cz8mry3gdfzyj6ym6v9mvqypna")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/ascii-art-to-unicode.html") + (synopsis "ASCII to Unicode art converter for Emacs") + (description "This Emacs package provides the commands @command{aa2u} and +@command{aa2u-rectangle}. Both of these commands can be used to convert +simple ASCII art line drawings to Unicode; the former works on the active +region of the buffer, while the latter works on rectangular selections.") + (license license:gpl3+))) + (define-public emacs-emmet-mode (package (name "emacs-emmet-mode") From d558e2362edbe07caf6cc1f1d2d20d35326c7476 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 20 Jun 2019 08:57:50 +0900 Subject: [PATCH 157/221] gnu: Add emacs-xpm. * gnu/packages/emacs-xyz.scm (emacs-xpm): New variable. --- gnu/packages/emacs-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 205a4c8e0c..52000c8f72 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12962,6 +12962,26 @@ datastructures as needed, both for method parameters and return values, making using XML-RPC methods fairly transparent to the Lisp code.") (license license:gpl3+)))) +(define-public emacs-xpm + (package + (name "emacs-xpm") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/xpm-" + version ".tar")) + (sha256 + (base32 + "075miyashh9cm3b0gk6ngld3rm8bfgnh4qxnhxmmvjgzf6a64grh")))) + (build-system emacs-build-system) + (home-page "https://elpa.gnu.org/packages/xpm.html") + (synopsis "XPM image editing mode for Emacs") + (description "This Emacs package makes editing XPM images easy (and maybe +fun). Editing is done directly on the (textual) image format, for maximal +cohesion with the Emacs Way.") + (license license:gpl3+))) + (define-public emacs-fish-completion (package (name "emacs-fish-completion") From dc7c489605fb156d50dd8f98d5080cbc3b0f2f55 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 20 Jun 2019 08:58:47 +0900 Subject: [PATCH 158/221] gnu: Add emacs-gnugo. * gnu/packages/emacs-xyz.scm (emacs-gnugo): New variable. --- gnu/packages/emacs-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 52000c8f72..2a59ae522e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7887,6 +7887,37 @@ other operations.") on mouse-control.") (license license:gpl3+))) +(define-public emacs-gnugo + (package + (name "emacs-gnugo") + (version "3.1.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/gnugo-" + version ".tar")) + (sha256 + (base32 + "0xpjvs250gg71qwapdsb1hlc61gs0gpkjds01srf784fvyxx2gf1")))) + (build-system emacs-build-system) + (arguments + `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'configure-default-gnugo-xpms-variable + (lambda _ + (substitute* "gnugo.el" + (("defvar gnugo-xpms nil") + "defvar gnugo-xpms #'gnugo-imgen-create-xpms")) + #t))))) + (propagated-inputs + `(("emacs-ascii-art-to-unicode" ,emacs-ascii-art-to-unicode) + ("emacs-xpm" ,emacs-xpm))) + (home-page "https://elpa.gnu.org/packages/gnugo.html") + (synopsis "Emacs major mode for playing GNU Go") + (description "This package provides an Emacs based interface for GNU Go. +It has a graphical mode where the board and stones are drawn using XPM images +and supports the use of a mouse.") + (license license:gpl3+))) + (define-public emacs-gnuplot (package (name "emacs-gnuplot") From d2a93264c322b45d4dd61cf64f51ea5f4e58bb8c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:20:50 +0200 Subject: [PATCH 159/221] gnu: Add idna. * gnu/packages/lisp.scm (cl-idna, ecl-idna, sbcl-idna): New variables. --- gnu/packages/lisp.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 518204f674..48c678bd44 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5663,3 +5663,32 @@ basic everyday functions and macros.") (define-public ecl-fare-utils (sbcl-package->ecl-package sbcl-fare-utils)) + +(define-public sbcl-idna + (package + (name "sbcl-idna") + (build-system asdf-build-system/sbcl) + (version "0.2.2") + (home-page "https://github.com/antifuchs/idna") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00nbr3mffxhlq14gg9d16pa6691s4qh35inyw76v906s77khm5a2")))) + (inputs + `(("split-sequence" ,sbcl-split-sequence))) + (synopsis "IDNA string encoding and decoding routines for Common Lisp") + (description "This Common Lisp library provides string encoding and +decoding routines for IDNA, the International Domain Names in Applications.") + (license license:expat))) + +(define-public cl-idna + (sbcl-package->cl-source-package sbcl-idna)) + +(define-public ecl-idna + (sbcl-package->ecl-package sbcl-idna)) From ccba380a60e39972548db93c86f3b429e1daaf1a Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:21:23 +0200 Subject: [PATCH 160/221] gnu: Add swap-bytes. * gnu/packages/lisp.scm (cl-swap-bytes, ecl-swap-bytes, sbcl-swap-bytes): New variables. --- gnu/packages/lisp.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 48c678bd44..5418817005 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5692,3 +5692,39 @@ decoding routines for IDNA, the International Domain Names in Applications.") (define-public ecl-idna (sbcl-package->ecl-package sbcl-idna)) + +(define-public sbcl-swap-bytes + (package + (name "sbcl-swap-bytes") + (build-system asdf-build-system/sbcl) + (version "1.1") + (home-page "https://github.com/sionescu/swap-bytes") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qysbv0jngdfkv53y874qjhcxc4qi8ixaqq6j8bzxh5z0931wv55")))) + (inputs + `(("trivial-features" ,sbcl-trivial-features))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (arguments + ;; TODO: Tests fail, why? + `(#:tests? #f)) + (synopsis "Efficient endianness conversion for Common Lisp") + (description "This Common Lisp library provides optimized byte-swapping +primitives. The library can change endianness of unsigned integers of length +1/2/4/8. Very useful in implementing various network protocols and file +formats.") + (license license:expat))) + +(define-public cl-swap-bytes + (sbcl-package->cl-source-package sbcl-swap-bytes)) + +(define-public ecl-swap-bytes + (sbcl-package->ecl-package sbcl-swap-bytes)) From 69c68b470fa9635d74b0e9522330c9604bbc42e7 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:21:50 +0200 Subject: [PATCH 161/221] gnu: Add sbcl-iolib.asdf. * gnu/packages/lisp.scm (sbcl-iolib.asdf): New variable. --- gnu/packages/lisp.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 5418817005..29571c3930 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5728,3 +5728,33 @@ formats.") (define-public ecl-swap-bytes (sbcl-package->ecl-package sbcl-swap-bytes)) + +(define-public sbcl-iolib.asdf + ;; Latest release is from June 2017. + (let ((commit "81e20614c0d27f9605bf9766214e236fd31b99b4") + (revision "1")) + (package + (name "sbcl-iolib.asdf") + (build-system asdf-build-system/sbcl) + (version "0.8.3") + (home-page "https://github.com/sionescu/iolib") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1j81r0wm7nfbwl991f26s4npcy7kybzybd3m47rbxy31h0cfcmdm")))) + (inputs + `(("alexandria" ,sbcl-alexandria))) + (arguments + '(#:asd-file "iolib.asdf.asd")) + (synopsis "ASDF component classes for IOLib, a Common Lisp I/O library") + (description "IOlib is to be a better and more modern I/O library than +the standard Common Lisp library. It contains a socket library, a DNS +resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)} +and @code{kqueue(2)}), a pathname library and file-system utilities.") + (license license:expat)))) From 63158bf6e9e2577a32b074612e9332b8a2c1ceab Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:22:04 +0200 Subject: [PATCH 162/221] gnu: Add sbcl-iolib.conf. * gnu/packages/lisp.scm (sbcl-iolib.conf): New variable. --- gnu/packages/lisp.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 29571c3930..47f39f6efb 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5758,3 +5758,13 @@ the standard Common Lisp library. It contains a socket library, a DNS resolver, an I/O multiplexer(which supports @code{select(2)}, @code{epoll(4)} and @code{kqueue(2)}), a pathname library and file-system utilities.") (license license:expat)))) + +(define-public sbcl-iolib.conf + (package + (inherit sbcl-iolib.asdf) + (name "sbcl-iolib.conf") + (inputs + `(("iolib.asdf" ,sbcl-iolib.asdf))) + (arguments + '(#:asd-file "iolib.conf.asd")) + (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library"))) From 213937fb36d618be31fb78f83164420f3bf7bc42 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:22:20 +0200 Subject: [PATCH 163/221] gnu: Add sbcl-iolib.common-lisp. * gnu/packages/lisp.scm (sbcl-iolib.common-lisp): New variable. --- gnu/packages/lisp.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 47f39f6efb..334cd75386 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5768,3 +5768,14 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (arguments '(#:asd-file "iolib.conf.asd")) (synopsis "Compile-time configuration for IOLib, a Common Lisp I/O library"))) + +(define-public sbcl-iolib.common-lisp + (package + (inherit sbcl-iolib.asdf) + (name "sbcl-iolib.common-lisp") + (inputs + `(("iolib.asdf" ,sbcl-iolib.asdf) + ("iolib.conf" ,sbcl-iolib.conf))) + (arguments + '(#:asd-file "iolib.common-lisp.asd")) + (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library"))) From 5dffca33774b8c020e505d2293d8f86ad3169aa5 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:22:37 +0200 Subject: [PATCH 164/221] gnu: Add sbcl-iolib.base. * gnu/packages/lisp.scm (sbcl-iolib.base): New variable. --- gnu/packages/lisp.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 334cd75386..4dc56ad80b 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5779,3 +5779,16 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (arguments '(#:asd-file "iolib.common-lisp.asd")) (synopsis "Slightly modified Common Lisp for IOLib, a Common Lisp I/O library"))) + +(define-public sbcl-iolib.base + (package + (inherit sbcl-iolib.asdf) + (name "sbcl-iolib.base") + (inputs + `(("iolib.asdf" ,sbcl-iolib.asdf) + ("iolib.conf" ,sbcl-iolib.conf) + ("iolib.common-lisp" ,sbcl-iolib.common-lisp) + ("split-sequence" ,sbcl-split-sequence))) + (arguments + '(#:asd-file "iolib.base.asd")) + (synopsis "Base package for IOLib, a Common Lisp I/O library"))) From 216dd6f6af4d3bffd8c20ae67b4cd15be1a82d43 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:22:53 +0200 Subject: [PATCH 165/221] gnu: Add sbcl-iolib.grovel. * gnu/packages/lisp.scm (sbcl-iolib.grovel): New variable. --- gnu/packages/lisp.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 4dc56ad80b..06c418f403 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5792,3 +5792,25 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (arguments '(#:asd-file "iolib.base.asd")) (synopsis "Base package for IOLib, a Common Lisp I/O library"))) + +(define-public sbcl-iolib.grovel + (package + (inherit sbcl-iolib.asdf) + (name "sbcl-iolib.grovel") + (inputs + `(("iolib.asdf" ,sbcl-iolib.asdf) + ("iolib.conf" ,sbcl-iolib.conf) + ("iolib.base", sbcl-iolib.base) + ("cffi", sbcl-cffi))) + (arguments + '(#:asd-file "iolib.grovel.asd" + #:phases + (modify-phases %standard-phases + (add-after 'install 'install-header + (lambda* (#:key outputs #:allow-other-keys) + ;; This header is required by sbcl-iolib. + (install-file "src/grovel/grovel-common.h" + (string-append (assoc-ref outputs "out") + "/lib/sbcl")) + #t))))) + (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library"))) From ef656e119a26dd827f493908f060fa299db0b6d4 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 29 May 2019 15:23:36 +0200 Subject: [PATCH 166/221] gnu: Add sbcl-iolib. * gnu/packages/lisp.scm (sbcl-iolib): New variable. --- gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 06c418f403..3be9f6da9c 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -47,6 +47,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages bdw-gc) #:use-module (gnu packages bison) + #:use-module (gnu packages c) #:use-module (gnu packages compression) #:use-module (gnu packages ed) #:use-module (gnu packages flex) @@ -5814,3 +5815,37 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") "/lib/sbcl")) #t))))) (synopsis "CFFI Groveller for IOLib, a Common Lisp I/O library"))) + +(define-public sbcl-iolib + (package + (inherit sbcl-iolib.asdf) + (name "sbcl-iolib") + (inputs + `(("iolib.asdf" ,sbcl-iolib.asdf) + ("iolib.conf" ,sbcl-iolib.conf) + ("iolib.grovel" ,sbcl-iolib.grovel) + ("iolib.base", sbcl-iolib.base) + ("bordeaux-threads", sbcl-bordeaux-threads) + ("idna", sbcl-idna) + ("swap-bytes", sbcl-swap-bytes) + ("libfixposix", libfixposix))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (arguments + '(#:asd-file "iolib.asd" + #:asd-system-name "iolib" + #:test-asd-file "iolib.tests.asd" + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/syscalls/ffi-functions-unix.lisp" + (("\\(:default \"libfixposix\"\\)") + (string-append + "(:default \"" + (assoc-ref inputs "libfixposix") "/lib/libfixposix\")"))) + ;; Socket tests need Internet access, disable them. + (substitute* "iolib.tests.asd" + (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)") + ""))))))) + (synopsis "Common Lisp I/O library"))) From a3531660e6947e1416f1fd13394e46e300c17fc5 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 12:50:01 +0200 Subject: [PATCH 167/221] gnu: Add sbcl-iolib+multiplex. * gnu/packages/lisp.scm (sbcl-iolib+multiplex): New variable. --- gnu/packages/lisp.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 3be9f6da9c..a19df30bd4 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5849,3 +5849,11 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (("\\(:file \"sockets\" :depends-on \\(\"pkgdcl\" \"defsuites\"\\)\\)") ""))))))) (synopsis "Common Lisp I/O library"))) + +(define sbcl-iolib+multiplex + (package + (inherit sbcl-iolib) + (name "sbcl-iolib+multiplex") + (arguments + (substitute-keyword-arguments (package-arguments sbcl-iolib) + ((#:asd-system-name _) "iolib/multiplex"))))) From 5b686054b585b8758552447726fe7a8f98a252c2 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 12:50:20 +0200 Subject: [PATCH 168/221] gnu: Add sbcl-iolib+syscalls. * gnu/packages/lisp.scm (sbcl-iolib+syscalls): New variable. --- gnu/packages/lisp.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index a19df30bd4..8c03b171f7 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5857,3 +5857,11 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (arguments (substitute-keyword-arguments (package-arguments sbcl-iolib) ((#:asd-system-name _) "iolib/multiplex"))))) + +(define sbcl-iolib+syscalls + (package + (inherit sbcl-iolib) + (name "sbcl-iolib+syscalls") + (arguments + (substitute-keyword-arguments (package-arguments sbcl-iolib) + ((#:asd-system-name _) "iolib/syscalls"))))) From 28f3e3b1f4c64068e690d9e4b6bd35dd031e8a57 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 12:50:36 +0200 Subject: [PATCH 169/221] gnu: Add sbcl-iolib+streams. * gnu/packages/lisp.scm (sbcl-iolib+streams): New variable. --- gnu/packages/lisp.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 8c03b171f7..052bf74ac6 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5865,3 +5865,11 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (arguments (substitute-keyword-arguments (package-arguments sbcl-iolib) ((#:asd-system-name _) "iolib/syscalls"))))) + +(define sbcl-iolib+streams + (package + (inherit sbcl-iolib) + (name "sbcl-iolib+streams") + (arguments + (substitute-keyword-arguments (package-arguments sbcl-iolib) + ((#:asd-system-name _) "iolib/streams"))))) From 9f641dd705649a2169d43da6ea30202bd61bdb15 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 12:50:47 +0200 Subject: [PATCH 170/221] gnu: Add sbcl-iolib+sockets. * gnu/packages/lisp.scm (sbcl-iolib+sockets): New variable. --- gnu/packages/lisp.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 052bf74ac6..fa592c6fa6 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5873,3 +5873,11 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (arguments (substitute-keyword-arguments (package-arguments sbcl-iolib) ((#:asd-system-name _) "iolib/streams"))))) + +(define sbcl-iolib+sockets + (package + (inherit sbcl-iolib) + (name "sbcl-iolib+sockets") + (arguments + (substitute-keyword-arguments (package-arguments sbcl-iolib) + ((#:asd-system-name _) "iolib/sockets"))))) From 6ac69aae7fff06fd97060d9e0f462a09f2c07cde Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 12:50:58 +0200 Subject: [PATCH 171/221] gnu: Add sbcl-ieee-floats. * gnu/packages/lisp.scm (sbcl-ieee-floats): New variable. --- gnu/packages/lisp.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index fa592c6fa6..d7f3f01789 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5881,3 +5881,28 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (arguments (substitute-keyword-arguments (package-arguments sbcl-iolib) ((#:asd-system-name _) "iolib/sockets"))))) + +(define-public sbcl-ieee-floats + (let ((commit "566b51a005e81ff618554b9b2f0b795d3b29398d") + (revision "1")) + (package + (name "sbcl-ieee-floats") + (build-system asdf-build-system/sbcl) + (version (git-version "20170924" revision commit)) + (home-page "https://github.com/marijnh/ieee-floats/") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xyj49j9x3lc84cv3dhbf9ja34ywjk1c46dklx425fxw9mkwm83m")))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (synopsis "IEEE 754 binary representation for floats in Common Lisp") + (description "This is a Common Lisp library that allows to convert +floating point values to IEEE 754 binary representation.") + (license license:bsd-3)))) From 63015205d82a2ab0c1b79462f96ca0a03543c3c5 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 13:03:58 +0200 Subject: [PATCH 172/221] gnu: Add sbcl-closure-common. * gnu/packages/lisp.scm (sbcl-closure-common): New variable. --- gnu/packages/lisp.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index d7f3f01789..62e9a35317 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5906,3 +5906,30 @@ and @code{kqueue(2)}), a pathname library and file-system utilities.") (description "This is a Common Lisp library that allows to convert floating point values to IEEE 754 binary representation.") (license license:bsd-3)))) + +(define sbcl-closure-common + (let ((commit "e3c5f5f454b72b01b89115e581c3c52a7e201e5c") + (revision "1")) + (package + (name "sbcl-closure-common") + (build-system asdf-build-system/sbcl) + (version (git-version "20101006" revision commit)) + (home-page "https://github.com/sharplispers/closure-common") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0k5r2qxn122pxi301ijir3nayi9sg4d7yiy276l36qmzwhp4mg5n")))) + (inputs + `(("trivial-gray-streams" ,sbcl-trivial-gray-streams) + ("babel" ,sbcl-babel))) + (synopsis "Support Common Lisp library for CXML") + (description "Closure-common is an internal helper library. The name +Closure is a reference to the web browser it was originally written for.") + ;; TODO: License? + (license #f)))) From 167fec29f509fbb2904ecb7226d5cdf1e490f5a5 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 13:39:02 +0200 Subject: [PATCH 173/221] gnu: Add sbcl-cl-reexport. * gnu/packages/lisp.scm (sbcl-cl-reexport): New variable. --- gnu/packages/lisp.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 62e9a35317..46c670b9ce 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5933,3 +5933,31 @@ floating point values to IEEE 754 binary representation.") Closure is a reference to the web browser it was originally written for.") ;; TODO: License? (license #f)))) + +(define-public sbcl-cl-reexport + (let ((commit "312f3661bbe187b5f28536cd7ec2956e91366c3b") + (revision "1")) + (package + (name "sbcl-cl-reexport") + (build-system asdf-build-system/sbcl) + (version (git-version "0.1" revision commit)) + (home-page "https://github.com/takagi/cl-reexport") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cwpn1m3wrl0fl9plznn7p464db646gnfc8zkyk97dyxski2aq0x")))) + (inputs + `(("alexandria" ,sbcl-alexandria))) + (arguments + ;; TODO: Tests fail because cl-test-more is missing, but I can't find it online. + `(#:tests? #f)) + (synopsis "HTTP cookie manager for Common Lisp") + (description "cl-cookie is a Common Lisp library featuring parsing of +cookie headers, cookie creation, cookie jar creation and more.") + (license license:llgpl)))) From 536dcafbf9ef98cd63b01dd8b9a59f9bac608042 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 26 Jun 2019 13:39:10 +0200 Subject: [PATCH 174/221] gnu: Add sbcl-cl-cookie. * gnu/packages/lisp.scm (sbcl-cl-cookie): New variable. --- gnu/packages/lisp.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 46c670b9ce..58813c2d84 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -5961,3 +5961,38 @@ Closure is a reference to the web browser it was originally written for.") (description "cl-cookie is a Common Lisp library featuring parsing of cookie headers, cookie creation, cookie jar creation and more.") (license license:llgpl)))) + +(define-public sbcl-cl-cookie + (let ((commit "cea55aed8b9ad25fafd13defbcb9fe8f41b29546") + (revision "1")) + (package + (name "sbcl-cl-cookie") + (build-system asdf-build-system/sbcl) + (version (git-version "0.9.10" revision commit)) + (home-page "https://github.com/fukamachi/cl-cookie") + (source + (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "090g7z75h98zvc1ldx0vh4jn4086dhjm2w30jcwkq553qmyxwl8h")))) + (inputs + `(("proc-parse" ,sbcl-proc-parse) + ("alexandria" ,sbcl-alexandria) + ("quri" ,sbcl-quri) + ("cl-ppcre" ,sbcl-cl-ppcre) + ("local-time" ,sbcl-local-time))) + (native-inputs + `(("prove-asdf" ,sbcl-prove-asdf) + ("prove" ,sbcl-prove))) + (arguments + ;; TODO: Tests fail because cl-cookie depends on cl-cookie-test. + `(#:tests? #f)) + (synopsis "HTTP cookie manager for Common Lisp") + (description "cl-cookie is a Common Lisp library featuring parsing of +cookie headers, cookie creation, cookie jar creation and more.") + (license license:bsd-2)))) From 2cb738a6ad29f74b164a3dda16024591f9d70a88 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 26 Jun 2019 15:51:55 +0200 Subject: [PATCH 175/221] gnu: Add r-rsubread. * gnu/packages/bioconductor.scm (r-rsubread): New variable. --- gnu/packages/bioconductor.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index a1f7b2d2a8..92f2e4f3ab 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4745,3 +4745,27 @@ enhancers. The annotatr package provides an easy way to summarize and visualize the intersection of genomic sites/regions with genomic annotations.") (license license:gpl3))) + +(define-public r-rsubread + (package + (name "r-rsubread") + (version "1.34.2") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "Rsubread" version)) + (sha256 + (base32 + "0bsrw61wcav0q22c5m6gr0vn1f3c3ld8gxj730wcab6dj196z6q3")))) + (properties `((upstream-name . "Rsubread"))) + (build-system r-build-system) + (inputs `(("zlib" ,zlib))) + (home-page "https://bioconductor.org/packages/Rsubread/") + (synopsis "Subread sequence alignment and counting for R") + (description + "This package provides tools for alignment, quantification and analysis +of second and third generation sequencing data. It includes functionality for +read mapping, read counting, SNP calling, structural variant detection and +gene fusion discovery. It can be applied to all major sequencing techologies +and to both short and long sequence reads.") + (license license:gpl3))) From ca310f65c56d255ecd9e47feb9c4a67d18b969d0 Mon Sep 17 00:00:00 2001 From: Amar Singh Date: Sun, 19 May 2019 12:39:48 +0530 Subject: [PATCH 176/221] gnu: Add celestia. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/astronomy.scm (celestia): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/astronomy.scm | 58 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index d6341ce453..59fa11bfda 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 John Darrington ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018, 2019 Efraim Flashner +;;; Copyright © 2019 by Amar Singh ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,11 +23,18 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (gnu packages autotools) #:use-module (gnu packages image) #:use-module (gnu packages compression) #:use-module (gnu packages gettext) + #:use-module (gnu packages version-control) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xiph) + #:use-module (gnu packages pretty-print) + #:use-module (gnu packages algebra) + #:use-module (gnu packages lua) #:use-module (gnu packages perl) #:use-module (gnu packages gl) #:use-module (gnu packages qt) @@ -176,3 +184,53 @@ programs for the manipulation and analysis of astronomical data.") can be used to control telescopes over a serial port for tracking celestial objects.") (license license:gpl2+))) + +(define-public celestia + (let ((commit "9dbdf29c4ac3d20afb2d9a80d3dff241ecf81dce")) + (package + (name "celestia") + (version (git-version "1.6.1" "815" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/celestiaproject/celestia") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00xibg87l1arzifakgj7s828x9pszcgx7x7ij88a561ig49ryh78")))) + (build-system cmake-build-system) + (native-inputs + `(("perl" ,perl) + ("libgit2" ,libgit2) + ("pkg-config" ,pkg-config) + ("libtool" ,libtool) + ("gettext" ,gettext-minimal))) + (inputs + `(("glu" ,glu) + ("glew" ,glew) + ("libtheora" ,libtheora) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ;; maybe required? + ("mesa" ,mesa) + ;; optional: fmtlib, Eigen3; + ("fmt" ,fmt) + ("eigen" ,eigen) + ;; glut: for glut interface + ("freeglut" ,freeglut))) + (propagated-inputs + `(("lua" ,lua))) + (arguments + `(#:configure-flags '("-DENABLE_GLUT=ON" "-DENABLE_QT=OFF") + #:tests? #f)) ;no tests + (home-page "https://celestia.space/") + (synopsis "Real-time 3D visualization of space") + (description + "This simulation program lets you explore our universe in three +dimensions. Celestia simulates many different types of celestial objects. +From planets and moons to star clusters and galaxies, you can visit every +object in the expandable database and view it from any point in space and +time. The position and movement of solar system objects is calculated +accurately in real time at any rate desired.") + (license license:gpl2+)))) From 67d24b15ca634ac4820f9b7b410a6a2980bdab4a Mon Sep 17 00:00:00 2001 From: Amar Singh Date: Thu, 13 Jun 2019 22:53:22 +0530 Subject: [PATCH 177/221] gnu: Add celestia-gtk. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/astronomy.scm (celestia-gtk): New variable. Co-authored-by: Ludovic Courtès --- gnu/packages/astronomy.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm index 59fa11bfda..81c7481e0b 100644 --- a/gnu/packages/astronomy.scm +++ b/gnu/packages/astronomy.scm @@ -38,9 +38,12 @@ #:use-module (gnu packages perl) #:use-module (gnu packages gl) #:use-module (gnu packages qt) + #:use-module (gnu packages gtk) + #:use-module (gnu packages gnome) #:use-module (gnu packages maths) #:use-module (guix build-system cmake) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (srfi srfi-1)) (define-public cfitsio (package @@ -234,3 +237,15 @@ object in the expandable database and view it from any point in space and time. The position and movement of solar system objects is calculated accurately in real time at any rate desired.") (license license:gpl2+)))) + +(define-public celestia-gtk + (package + (inherit celestia) + (name "celestia-gtk") + (inputs + (append (alist-delete "freeglut" (package-inputs celestia)) + `(("gtk2" ,gtk+-2) + ("gtkglext" ,gtkglext)))) + (arguments + `(#:configure-flags '("-DENABLE_GTK=ON" "-DENABLE_QT=OFF") + #:tests? #f)))) From 5d5edb88bd3bf45fe07becccc24790dca525516a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Jun 2019 15:04:18 +0200 Subject: [PATCH 178/221] gnu: python-on-guile: Update to 00a51a2. * gnu/packages/guile-xyz.scm (python-on-guile): Update to 00a51a2. --- gnu/packages/guile-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 5366b1b976..877551ea3b 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2170,8 +2170,8 @@ serializing continuations or delimited continuations.") (license license:lgpl2.0+)))) (define-public python-on-guile - (let ((commit "058c596cd3886447da31171e1026d4d19f5f5313") - (revision "2")) + (let ((commit "00a51a23247f1edc4ae8eda72b30df5cd7d0015f") + (revision "3")) (package (name "python-on-guile") (version (git-version "0.1.0" revision commit)) @@ -2183,7 +2183,7 @@ serializing continuations or delimited continuations.") (file-name (git-file-name name version)) (sha256 (base32 - "0ppyh5kkhsph5kc091p2b5a3alnj3wnlx8jr5xpyhrsj0vx9cqph")))) + "03rpnqr08rqr3gay128g564rwk8w4jbj28ss6b46z1d4vjs4nk68")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; not supported From 83817158b20d90a918e12ad3fae0d357dac4e083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Jun 2019 15:22:03 +0200 Subject: [PATCH 179/221] gnu: python-on-guile: Wrap 'python' executable. * gnu/packages/guile-xyz.scm (python-on-guile)[arguments]: Add 'wrap' phase. --- gnu/packages/guile-xyz.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 877551ea3b..a8352380f7 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -2187,12 +2187,23 @@ serializing continuations or delimited continuations.") (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; not supported - #:make-flags - '("GUILE_AUTO_COMPILE=0") ; to prevent guild errors + #:make-flags '("GUILE_AUTO_COMPILE=0") ;to prevent guild warnings + #:phases (modify-phases %standard-phases (add-after 'unpack 'chdir - (lambda _ (chdir "modules") #t))))) + (lambda _ (chdir "modules") #t)) + (add-after 'install 'wrap + (lambda* (#:key outputs #:allow-other-keys) + ;; Wrap the 'python' executable so it can find its + ;; dependencies. + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/python") + `("GUILE_LOAD_PATH" ":" prefix + (,(getenv "GUILE_LOAD_PATH"))) + `("GUILE_LOAD_COMPILED_PATH" ":" prefix + (,(getenv "GUILE_LOAD_COMPILED_PATH")))) + #t)))))) (inputs `(("guile" ,guile-2.2))) (propagated-inputs From f825e60590be9c8215d345f72031abeb855b1a85 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Fri, 14 Jun 2019 19:27:49 +0200 Subject: [PATCH 180/221] gnu: Add python-bsddb3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-xyz.scm (python-bsddb3): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/python-xyz.scm | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index cb3a695bca..c94af80e2c 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -60,6 +60,7 @@ ;;; Copyright © 2019 Brett Gilio ;;; Copyright © 2019 Sam ;;; Copyright © 2019 Jack Hill +;;; Copyright © 2019 Guillaume Le Vaillant ;;; ;;; This file is part of GNU Guix. ;;; @@ -88,6 +89,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages crypto) #:use-module (gnu packages databases) + #:use-module (gnu packages dbm) #:use-module (gnu packages file) #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) @@ -15622,3 +15624,40 @@ by Igor Pavlov.") (define-public python2-pylzma (package-with-python2 python-pylzma)) + +(define-public python-bsddb3 + (package + (name "python-bsddb3") + (version "6.2.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "bsddb3" version)) + (sha256 + (base32 + "019db2y6bfmiqbrgg9x9f6h72qjmqh05czdn2v5sy9bl0gs23mj2")))) + (build-system python-build-system) + (inputs + `(("bdb" ,bdb))) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure-locations + (lambda* (#:key inputs #:allow-other-keys) + (setenv "BERKELEYDB_DIR" (assoc-ref inputs "bdb")) + (setenv "YES_I_HAVE_THE_RIGHT_TO_USE_THIS_BERKELEY_DB_VERSION" "1") + #t)) + (replace 'check + (lambda _ + (invoke "python3" "test3.py" "-v")))))) + (home-page "https://www.jcea.es/programacion/pybsddb.htm") + (synopsis "Python bindings for Oracle Berkeley DB") + (description + "This module provides a nearly complete wrapping of the Oracle/Sleepycat +C API for the Database Environment, Database, Cursor, Log Cursor, Sequence and +Transaction objects, and each of these is exposed as a Python type in the +bsddb3.db module. The database objects can use various access methods: btree, +hash, recno, and queue. Complete support of Berkeley DB distributed +transactions. Complete support for Berkeley DB Replication Manager. +Complete support for Berkeley DB Base Replication. Support for RPC.") + (license license:bsd-3))) From ee34be7375c3ce348478b0eca7822a63b24621c2 Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Fri, 14 Jun 2019 19:27:50 +0200 Subject: [PATCH 181/221] gnu: Add osm-gps-map MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/geo.scm (osm-gps-map): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/geo.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index ec5ace3519..4cccd97643 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -869,3 +869,36 @@ dropping features at lower levels.") OpenStreetMap project. They can be used to convert, filter and update OpenStreetMap data files.") (license license:agpl3))) + +(define-public osm-gps-map + (package + (name "osm-gps-map") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/nzjrs/osm-gps-map/releases/download/" + version "/osm-gps-map-" version ".tar.gz")) + (sha256 + (base32 + "11imsf4cz1dpxdjh178k2s29axmq86rkfg1pqmn7incyxmjzhbwg")))) + (build-system gnu-build-system) + (native-inputs + `(("gnome-common" ,gnome-common) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo) + ("glib" ,glib) + ("gobject-introspection" ,gobject-introspection) + ("gtk+" ,gtk+) + ("libsoup" ,libsoup))) + (home-page "https://nzjrs.github.io/osm-gps-map/") + (synopsis "GTK+ widget for displaying OpenStreetMap tiles") + (description + "This package provides a GTK+ widget (and Python bindings) that when +given GPS coordinates,draws a GPS track, and points of interest on a moving +map display. Downloads map data from a number of websites, including +@url{https://www.openstreetmap.org}.") + (license license:gpl2+))) From 072e986ec808690db991e018d6ceee868b5b5f4a Mon Sep 17 00:00:00 2001 From: Guillaume LE VAILLANT Date: Fri, 14 Jun 2019 19:27:51 +0200 Subject: [PATCH 182/221] gnu: Add gramps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/genealogy.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/genealogy.scm | 112 +++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+) create mode 100644 gnu/packages/genealogy.scm diff --git a/gnu/local.mk b/gnu/local.mk index 0c7a9ec198..f5d53b49b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -196,6 +196,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/gcc.scm \ %D%/packages/gd.scm \ %D%/packages/gdb.scm \ + %D%/packages/genealogy.scm \ %D%/packages/genimage.scm \ %D%/packages/geo.scm \ %D%/packages/gettext.scm \ diff --git a/gnu/packages/genealogy.scm b/gnu/packages/genealogy.scm new file mode 100644 index 0000000000..2db3fdb918 --- /dev/null +++ b/gnu/packages/genealogy.scm @@ -0,0 +1,112 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Guillaume Le Vaillant +;;; +;;; 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 genealogy) + #:use-module (guix build-system python) + #:use-module (guix git-download) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (gnu packages fonts) + #:use-module (gnu packages freedesktop) + #:use-module (gnu packages geo) + #:use-module (gnu packages gettext) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) + #:use-module (gnu packages graphviz) + #:use-module (gnu packages gtk) + #:use-module (gnu packages python) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages version-control)) + +(define-public gramps + (package + (name "gramps") + (version "5.0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gramps-project/gramps.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jz1fbjj6byndvir7qxzhd2ryirrd5h2kwndxpp53xdc05z1i8g7")))) + (build-system python-build-system) + (native-inputs + `(("gettext" ,gettext-minimal) + ("intltool" ,intltool))) + (inputs + `(("font-gnu-freefont-ttf" ,font-gnu-freefont-ttf) + ("geocode-glib" ,geocode-glib) + ("gexiv2" ,gexiv2) + ("ghostscript" ,ghostscript) + ("gobject-introspection" ,gobject-introspection) + ("gtk+" ,gtk+) + ("gtkspell3" ,gtkspell3) + ("graphviz" ,graphviz) + ("librsvg" ,librsvg) + ("osm-gps-map" ,osm-gps-map) + ("pango" ,pango) + ("python-bsddb3" ,python-bsddb3) + ("python-pillow" ,python-pillow) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pyicu" ,python-pyicu) + ("rcs" ,rcs) + ("sqlite" ,sqlite) + ("xdg-utils" ,xdg-utils))) + (arguments + `(#:imported-modules ((guix build glib-or-gtk-build-system) + ,@%python-build-system-modules) + #:modules ((ice-9 match) + (guix build python-build-system) + ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) + (guix build utils)) + #:phases + (modify-phases %standard-phases + (add-before 'check 'set-home-for-tests + (lambda _ + (setenv "HOME" (getenv "TMPDIR")) + #t)) + (add-before 'wrap 'wrap-with-GI_TYPELIB_PATH + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (paths (map (match-lambda + ((output . directory) + (let ((girepodir (string-append + directory + "/lib/girepository-1.0"))) + (if (file-exists? girepodir) + girepodir + #f)))) + inputs))) + (wrap-program (string-append out "/bin/gramps") + `("GI_TYPELIB_PATH" ":" prefix ,(filter identity paths)))) + #t)) + (add-after 'wrap 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) + (home-page "https://gramps-project.org") + (synopsis "Genealogical research software") + (description + "Gramps is a free software project and community striving to produce +a genealogy program that is both intuitive for hobbyists and feature-complete +for professional genealogists.") + (license license:gpl2+))) From 4980b0b5b9a2076bebf67195a6db9d92ef563059 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 24 Jun 2019 13:26:37 +0200 Subject: [PATCH 183/221] gnu: libcxx: Update hash. This is a follow-up to commit c5296e205b65a9b53553cf45be2ab223d5e82df5, which updated llvm. * gnu/packages/llvm.scm (libcxx): Update hash. --- gnu/packages/llvm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 8cb05a6cad..054b42d77d 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -273,7 +273,7 @@ code analysis tools.") version "/libcxx-" version ".src.tar.xz")) (sha256 (base32 - "1wdrxg365ig0kngx52pd0n820sncp24blb0zpalc579iidhh4002")))) + "1qlx3wlxrnc5cwc1fcfc2vhfsl7j4294hi8y5kxj8hy8wxsjd462")))) (build-system cmake-build-system) (native-inputs `(("clang" ,clang) From a2cc25ab9634a6ac12e6e2ae2b73cd695b071c55 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 24 Jun 2019 14:03:57 +0200 Subject: [PATCH 184/221] gnu: Add libclc. * gnu/packages/llvm.scm (libclc): New variable. --- gnu/packages/llvm.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 054b42d77d..732ffc0823 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -31,6 +31,7 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -285,6 +286,44 @@ code analysis tools.") use with Clang, targeting C++11, C++14 and above.") (license license:expat))) +(define-public libclc + (package + (name "libclc") + (version (package-version llvm)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/llvm/llvm-project.git") + (commit (string-append "llvmorg-" version)))) + (sha256 + (base32 + "052h16wjcnqginzp7ki4il2xmm25v9nyk0wcz7cg03gbryhl7aqa")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list (string-append "-DLLVM_CLANG=" + (assoc-ref %build-inputs "clang") + "/bin/clang") + (string-append "-DPYTHON=" + (assoc-ref %build-inputs "python") + "/bin/python3")) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ (chdir "libclc") #t))))) + (native-inputs + `(("clang" ,clang) + ("llvm" ,llvm) + ("python" ,python))) + (home-page "https://libclc.llvm.org") + (synopsis "Libraries for the OpenCL programming language") + (description + "This package provides an implementation of the OpenCL library +requirements according to version 1.1 of the OpenCL specification.") + ;; Apache license 2.0 with LLVM exception + (license license:asl2.0))) + (define-public libomp (package (name "libomp") From fae429424603326a69a2e428c0b61ccbe2520bb5 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 24 Jun 2019 14:27:52 +0200 Subject: [PATCH 185/221] gnu: Add mesa-opencl. * gnu/packages/gl.scm (mesa-opencl): New variable. --- gnu/packages/gl.scm | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 96e7fc7165..4d3828ebc2 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -399,6 +399,21 @@ device drivers allows Mesa to be used in many different environments ranging from software emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) +(define-public mesa-opencl + (package + (inherit mesa) + (name "mesa-opencl") + (arguments + (substitute-keyword-arguments (package-arguments mesa) + ((#:configure-flags flags) + `(cons "-Dgallium-opencl=standalone" ,flags)))) + (inputs + `(("libclc" ,libclc) + ,@(package-inputs mesa))) + (native-inputs + `(("clang" ,clang) + ,@(package-native-inputs mesa))))) + (define-public mesa-headers (package (inherit mesa) From 37cb4e5b8ebea5bc097730a0476bab8d19d5a15b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Mon, 24 Jun 2019 15:47:32 +0200 Subject: [PATCH 186/221] gnu: Add mesa-opencl-icd. * gnu/packages/gl.scm (mesa-opencl-icd): New variable. --- gnu/packages/gl.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 4d3828ebc2..99d2ec6cdb 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -414,6 +414,16 @@ from software emulation to complete hardware acceleration for modern GPUs.") `(("clang" ,clang) ,@(package-native-inputs mesa))))) +(define-public mesa-opencl-icd + (package + (inherit mesa-opencl) + (name "mesa-opencl-icd") + (arguments + (substitute-keyword-arguments (package-arguments mesa) + ((#:configure-flags flags) + `(cons "-Dgallium-opencl=icd" + ,(delete "-Dgallium-opencl=standalone" flags))))))) + (define-public mesa-headers (package (inherit mesa) From bb74ea09902cf23950a852fd7357818479f93ee0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 10:53:19 +0200 Subject: [PATCH 187/221] gnu: Add python-pathlib2. * gnu/packages/python-xyz.scm (python-pathlib2): New variable. --- gnu/packages/python-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index c94af80e2c..aab7e0c7a3 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4827,6 +4827,29 @@ them as the version argument or in a SCM managed file.") (define-public python2-setuptools-scm (package-with-python2 python-setuptools-scm)) +(define-public python-pathlib2 + (package + (name "python-pathlib2") + (version "2.3.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pathlib2" version)) + (sha256 + (base32 + "0hpp92vqqgcd8h92msm9slv161b1q160igjwnkf2ag6cx0c96695")))) + (build-system python-build-system) + (propagated-inputs + `(("python-scandir" ,python-scandir) + ("python-six" ,python-six))) + (home-page "https://pypi.python.org/pypi/pathlib2/") + (synopsis "Object-oriented filesystem paths") + (description "The goal of pathlib2 is to provide a backport of the +standard @code{pathlib} module which tracks the standard library module, so +all the newest features of the standard @code{pathlib} can be used also on +older Python versions.") + (license license:expat))) + (define-public python-pathpy (package (name "python-pathpy") From 3e8f76d8017e35f056b8c8311c15331c4f8cc4d0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 10:54:39 +0200 Subject: [PATCH 188/221] gnu: Add python-contextlib2. * gnu/packages/python-xyz.scm (python-contextlib2): New variable. --- gnu/packages/python-xyz.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index aab7e0c7a3..9018f1644d 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -7924,6 +7924,27 @@ be set via config files and/or environment variables.") @code{ArgumentParser} object.") (license license:asl2.0))) +(define-public python-contextlib2 + (package + (name "python-contextlib2") + (version "0.5.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "contextlib2" version)) + (sha256 + (base32 + "0j6ad6lwwyc9kv71skj098v5l7x5biyj2hs4lc5x1kcixqcr97sh")))) + (build-system python-build-system) + (home-page "http://contextlib2.readthedocs.org/") + (synopsis "Tools for decorators and context managers") + (description "This module is primarily a backport of the Python +3.2 contextlib to earlier Python versions. Like contextlib, it +provides utilities for common tasks involving decorators and context +managers. It also contains additional features that are not part of +the standard library.") + (license license:psfl))) + (define-public python2-contextlib2 (package (name "python2-contextlib2") From 724a350c87583a5bfd2c0ff440e1f3d40f66b2a3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 10:55:17 +0200 Subject: [PATCH 189/221] gnu: Add python-setuptools-git. * gnu/packages/python-xyz.scm (python-setuptools-git): New variable. --- gnu/packages/python-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 9018f1644d..d84f6bea35 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -13479,6 +13479,37 @@ belong to tagged versions.") (define-public python2-setuptools-scm-git-archive (package-with-python2 python-setuptools-scm-git-archive)) +(define-public python-setuptools-git + (package + (name "python-setuptools-git") + (version "1.2") + (source + (origin + (method url-fetch) + (uri (pypi-uri "setuptools-git" version)) + (sha256 + (base32 + "0i84qjwp5m0l9qagdjww2frdh63r37km1c48mrvbmaqsl1ni6r7z")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; This is needed for tests. + (add-after 'unpack 'configure-git + (lambda _ + (setenv "HOME" "/tmp") + (invoke "git" "config" "--global" "user.email" "guix") + (invoke "git" "config" "--global" "user.name" "guix") + #t))))) + (native-inputs + `(("git" ,git-minimal))) + (home-page "https://github.com/msabramo/setuptools-git") + (synopsis "Setuptools revision control system plugin for Git") + (description + "This package provides a plugin for Setuptools for revision control with +Git.") + (license license:bsd-3))) + (define-public python-pyclipper (package (name "python-pyclipper") From 94f960ffed3f4ede944e9b0e4543f425114047d8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 10:56:34 +0200 Subject: [PATCH 190/221] gnu: Add python-zipp. * gnu/packages/python-compression.scm (python-zipp): New variable. --- gnu/packages/python-compression.scm | 33 +++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-compression.scm b/gnu/packages/python-compression.scm index 88f62d1934..705a7ffa3b 100644 --- a/gnu/packages/python-compression.scm +++ b/gnu/packages/python-compression.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice -;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2017, 2019 Ricardo Wurmus ;;; Copyright © 2017 ng0 ;;; Copyright © 2017 Julien Lepiller ;;; Copyright © 2018, 2019 Efraim Flashner @@ -32,7 +32,8 @@ #:use-module (gnu packages check) #:use-module (gnu packages maths) #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz)) + #:use-module (gnu packages python-xyz) + #:use-module (gnu packages sphinx)) (define-public python-lzo (package @@ -205,3 +206,31 @@ install: libbitshuffle.so #t)))))) (inputs '()) (native-inputs '()))) + +(define-public python-zipp + (package + (name "python-zipp") + (version "0.5.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "zipp" version)) + (sha256 + (base32 + "1hsv4zwy1pwnbrr63wjjkpwrmnk36ngbkkqw01bj5hcwh1z3m56a")))) + (build-system python-build-system) + (propagated-inputs + `(("python-contextlib2" ,python-contextlib2) + ("python-pathlib2" ,python-pathlib2) + ("python-rst.linker" ,python-rst.linker))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-sphinx" ,python-sphinx) + ("python-unittest2" ,python-unittest2))) + (home-page "https://github.com/jaraco/zipp") + (synopsis + "Backport of pathlib-compatible object wrapper for zip files") + (description + "This package provides a @code{pathlib}-compatible @code{Zipfile} object +wrapper. It provides a backport of the @code{Path} object.") + (license license:expat))) From 15b6561769cf9ed59b2cb31e664d4e0f25f97c92 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 10:57:08 +0200 Subject: [PATCH 191/221] gnu: Add python-importlib-metadata. * gnu/packages/python-xyz.scm (python-importlib-metadata): New variable. --- gnu/packages/python-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index d84f6bea35..daf327b971 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -120,6 +120,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-check) + #:use-module (gnu packages python-compression) #:use-module (gnu packages python-crypto) #:use-module (gnu packages python-web) #:use-module (gnu packages qt) @@ -4850,6 +4851,39 @@ all the newest features of the standard @code{pathlib} can be used also on older Python versions.") (license license:expat))) +(define-public python-importlib-metadata + (package + (name "python-importlib-metadata") + (version "0.18") + (source + (origin + (method url-fetch) + (uri (pypi-uri "importlib_metadata" version)) + (sha256 + (base32 + "1nqj6vj2z4byi8flzf2lbldhqgicsz9mkpv4k69kjd8p8qxy4vnb")))) + (build-system python-build-system) + (propagated-inputs + `(("python-configparser" ,python-configparser) + ("python-contextlib2" ,python-contextlib2) + ("python-docutils" ,python-docutils) + ("python-pathlib2" ,python-pathlib2) + ("python-rst.linker" ,python-rst.linker) + ("python-zipp" ,python-zipp))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm) + ("python-sphinx" ,python-sphinx))) + (home-page "https://importlib-metadata.readthedocs.io/") + (synopsis "Read metadata from Python packages") + (description + "@code{importlib_metadata} is a library which provides an API for +accessing an installed Python package's metadata, such as its entry points or +its top-level name. This functionality intends to replace most uses of +@code{pkg_resources} entry point API and metadata API. Along with +@code{importlib.resources} in Python 3.7 and newer, this can eliminate the +need to use the older and less efficient @code{pkg_resources} package.") + (license license:asl2.0))) + (define-public python-pathpy (package (name "python-pathpy") From 85bf6798e666d6c4e8d72b1d80efbb914094c0b2 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 10:57:23 +0200 Subject: [PATCH 192/221] gnu: Add python-pytest-checkdocs. * gnu/packages/python-check.scm (python-pytest-checkdocs): New variable. --- gnu/packages/python-check.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 58a1022bc2..01aae06f61 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -105,3 +105,26 @@ is delete your existing cassette files, and run your tests again. VCR.py will detect the absence of a cassette file and once again record all HTTP interactions, which will update them to correspond to the new API.") (license license:expat))) + +(define-public python-pytest-checkdocs + (package + (name "python-pytest-checkdocs") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-checkdocs" version)) + (sha256 + (base32 + "07c27cdjcw6jph5kbgpxchrvwlps4ggwb2j6m7y64imnik0asrq8")))) + (build-system python-build-system) + (propagated-inputs + `(("python-importlib-metadata" ,python-importlib-metadata))) + (native-inputs + `(("python-setuptools-scm" ,python-setuptools-scm))) + (home-page "https://github.com/jaraco/pytest-checkdocs") + (synopsis "Check the README when running tests") + (description + "This package provides a pytest plugin that checks the long description +of the project to ensure it renders properly.") + (license license:expat))) From 3b89476b709c788e90ad6600a850ab06998cfc70 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 10:57:35 +0200 Subject: [PATCH 193/221] gnu: Add python-pytest-flake8. * gnu/packages/python-check.scm (python-pytest-flake8): New variable. --- gnu/packages/python-check.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 01aae06f61..95e10e6381 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -128,3 +128,26 @@ interactions, which will update them to correspond to the new API.") "This package provides a pytest plugin that checks the long description of the project to ensure it renders properly.") (license license:expat))) + +(define-public python-pytest-flake8 + (package + (name "python-pytest-flake8") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-flake8" version)) + (sha256 + (base32 + "1h30gd21fjsafqxwclf25sdh89vrdz7rsh4lzw11aiw7ww9mq8jd")))) + (build-system python-build-system) + (propagated-inputs + `(("python-flake8" ,python-flake8))) + (native-inputs + `(("python-pytest" ,python-pytest))) + (home-page "https://github.com/tholo/pytest-flake8") + (synopsis "Pytest plugin to check FLAKE8 requirements") + (description + "This package provides a pytest plugin for efficiently checking PEP8 +compliance.") + (license license:bsd-3))) From 21e2c559450ba2076b50a6a8158db22a6322f57c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 12:03:12 +0200 Subject: [PATCH 194/221] gnu: Add python-pytest-shutil. * gnu/packages/python-check.scm (python-pytest-shutil): New variable. --- gnu/packages/python-check.scm | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 95e10e6381..d3f8520732 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -151,3 +151,43 @@ of the project to ensure it renders properly.") "This package provides a pytest plugin for efficiently checking PEP8 compliance.") (license license:bsd-3))) + +(define-public python-pytest-shutil + (package + (name "python-pytest-shutil") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-shutil" version)) + (sha256 + (base32 + "0q8j0ayzmnvlraml6i977ybdq4xi096djhf30n2m1rvnvrhm45nq")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-tests + (lambda _ + (mkdir "/tmp/bin") + (substitute* "tests/integration/test_cmdline_integration.py" + (("dirname = '/bin'") + "dirname = '/tmp/bin'") + (("bindir = os.path.realpath\\('/bin'\\)") + "bindir = os.path.realpath('/tmp/bin')")) + #t))))) + (propagated-inputs + `(("python-contextlib2" ,python-contextlib2) + ("python-execnet" ,python-execnet) + ("python-pathpy" ,python-pathpy) + ("python-termcolor" ,python-termcolor))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-setuptools-git" ,python-setuptools-git))) + (home-page "https://github.com/manahl/pytest-plugins") + (synopsis "Assorted shell and environment tools for py.test") + (description + "This package provides assorted shell and environment tools for the +py.test testing framework.") + (license license:expat))) From 7d5ffecba54c08e0fd5a492b3da67d184eb78aa9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 12:03:23 +0200 Subject: [PATCH 195/221] gnu: Add python-pytest-fixture-config. * gnu/packages/python-check.scm (python-pytest-fixture-config): New variable. --- gnu/packages/python-check.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index d3f8520732..70140ded69 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -191,3 +191,25 @@ compliance.") "This package provides assorted shell and environment tools for the py.test testing framework.") (license license:expat))) + +(define-public python-pytest-fixture-config + (package + (name "python-pytest-fixture-config") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-fixture-config" version)) + (sha256 + (base32 + "13i1qpz22w3x4dmw8vih5jdnbqfqvl7jiqs0dg764s0zf8bp98a1")))) + (build-system python-build-system) + (native-inputs + `(("python-pytest" ,python-pytest) + ("python-setuptools-git" ,python-setuptools-git))) + (home-page "https://github.com/manahl/pytest-plugins") + (synopsis "Fixture configuration utils for py.test") + (description + "This package provides fixture configuration utilities for the py.test +testing framework.") + (license license:expat))) From 05b3dcbe32cdf62bbe5d04d16297bcd38d0d7377 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 12:03:34 +0200 Subject: [PATCH 196/221] gnu: Add python-pytest-virtualenv. * gnu/packages/python-check.scm (python-pytest-virtualenv): New variable. --- gnu/packages/python-check.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 70140ded69..676dae5430 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -213,3 +213,30 @@ py.test testing framework.") "This package provides fixture configuration utilities for the py.test testing framework.") (license license:expat))) + +(define-public python-pytest-virtualenv + (package + (name "python-pytest-virtualenv") + (version "1.7.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "pytest-virtualenv" version)) + (sha256 + (base32 + "03w2zz3crblj1p6i8nq17946hbn3zqp9z7cfnifw47hi4a4fww12")))) + (build-system python-build-system) + (arguments '(#:tests? #f)) ; one test fails; can't find virtualenv + (propagated-inputs + `(("python-virtualenv" ,python-virtualenv) + ("python-pytest-shutil" ,python-pytest-shutil) + ("python-pytest-fixture-config" ,python-pytest-fixture-config))) + (native-inputs + `(("python-mock" ,python-mock) + ("python-pytest" ,python-pytest) + ("python-setuptools-git" ,python-setuptools-git))) + (home-page "https://github.com/manahl/pytest-plugins") + (synopsis "Virtualenv fixture for py.test") + (description "This package provides a virtualenv fixture for the py.test +framework.") + (license license:expat))) From 37c173d162e0d16d837c39cc788f12e040521d0b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 12:03:45 +0200 Subject: [PATCH 197/221] gnu: Add python-jaraco-packaging. * gnu/packages/python-xyz.scm (python-jaraco-packaging): New variable. --- gnu/packages/python-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index daf327b971..e2a3d71b38 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4884,6 +4884,34 @@ its top-level name. This functionality intends to replace most uses of need to use the older and less efficient @code{pkg_resources} package.") (license license:asl2.0))) +(define-public python-jaraco-packaging + (package + (name "python-jaraco-packaging") + (version "6.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "jaraco.packaging" version)) + (sha256 + (base32 + "0zimrnkh33b9g8ffw11mjh6kvs54cy5gcjw1h5cl1r7dc833dmkm")))) + (build-system python-build-system) + (propagated-inputs + `(("python-pytest" ,python-pytest) + ("python-pytest-checkdocs" ,python-pytest-checkdocs) + ("python-pytest-flake8" ,python-pytest-flake8) + ("python-rst.linker" ,python-rst.linker) + ("python-setuptools" ,python-setuptools) + ("python-setuptools-scm" ,python-setuptools-scm) + ("python-six" ,python-six) + ("python-sphinx" ,python-sphinx))) + (home-page "https://github.com/jaraco/jaraco.packaging") + (synopsis "Tools to supplement packaging Python releases") + (description + "This package provides various tools to supplement packaging Python +releases.") + (license license:expat))) + (define-public python-pathpy (package (name "python-pathpy") From 49ad11e95853b31147c3ec49082f94ba8e2b8571 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 25 Jun 2019 12:03:58 +0200 Subject: [PATCH 198/221] gnu: python-pathpy: Update to 11.5.0. * gnu/packages/python-xyz.scm (python-pathpy): Update to 11.5.0. [outputs]: Add separate "doc" output. [native-inputs]: Add python-jaraco-packaging. [arguments]: Enable tests; uncomment "build-doc" and "install-doc" phases; replace "check" phase to skip flaky test. --- gnu/packages/python-xyz.scm | 49 ++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 22 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index e2a3d71b38..181899da36 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -4915,14 +4915,14 @@ releases.") (define-public python-pathpy (package (name "python-pathpy") - (version "11.0.1") + (version "11.5.0") (source (origin (method url-fetch) (uri (pypi-uri "path.py" version)) (sha256 - (base32 "07x15v8c7ry9bvycw294c9yq6ky9v2b0dalvgi6rn38ilh69vsz7")))) - ;; (outputs '("out" "doc")) + (base32 "1jxkf91syzxlpiwgm83fjfz1m5xh3jrvv4iyl5wjsnkk599pls5n")))) + (outputs '("out" "doc")) (build-system python-build-system) (propagated-inputs `(("python-appdirs" ,python-appdirs))) @@ -4931,26 +4931,31 @@ releases.") ("python-sphinx" ,python-sphinx) ("python-rst.linker" ,python-rst.linker) ("python-pytest" ,python-pytest) - ("python-pytest-runner" ,python-pytest-runner))) + ("python-pytest-runner" ,python-pytest-runner) + ("python-jaraco-packaging" ,python-jaraco-packaging))) (arguments - ;; FIXME: Documentation and tests require "jaraco.packaging". - `(#:tests? #f)) - ;; #:phases - ;; (modify-phases %standard-phases - ;; (add-after 'build 'build-doc - ;; (lambda _ - ;; (setenv "LANG" "en_US.UTF-8") - ;; (zero? (system* "python" "setup.py" "build_sphinx")))) - ;; (add-after 'install 'install-doc - ;; (lambda* (#:key outputs #:allow-other-keys) - ;; (let* ((data (string-append (assoc-ref outputs "doc") "/share")) - ;; (doc (string-append data "/doc/" ,name "-" ,version)) - ;; (html (string-append doc "/html"))) - ;; (mkdir-p html) - ;; (for-each (lambda (file) - ;; (copy-file file (string-append doc "/" file))) - ;; '("README.rst" "CHANGES.rst")) - ;; (copy-recursively "build/sphinx/html" html))))))) + `(#:phases + (modify-phases %standard-phases + (add-after 'build 'build-doc + (lambda _ + (setenv "LANG" "en_US.UTF-8") + (invoke "python" "setup.py" "build_sphinx"))) + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((data (string-append (assoc-ref outputs "doc") "/share")) + (doc (string-append data "/doc/" ,name "-" ,version)) + (html (string-append doc "/html"))) + (mkdir-p html) + (for-each (lambda (file) + (copy-file file (string-append doc "/" file))) + '("README.rst" "CHANGES.rst")) + (copy-recursively "build/sphinx/html" html) + #t))) + (replace 'check + (lambda _ + ;; The import time test aborts if an import takes longer than + ;; 100ms. It may very well take a little longer than that. + (invoke "pytest" "-v" "-k" "not test_import_time")))))) (home-page "https://github.com/jaraco/path.py") (synopsis "Python module wrapper for built-in os.path") (description From 75a137da76e592d4adcfdcbecc75624319663df0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 26 Jun 2019 18:18:53 +0200 Subject: [PATCH 199/221] gnu: Add texmacs. * gnu/packages/text-editors.scm (texmacs): New variable. --- gnu/packages/text-editors.scm | 49 +++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 731bbc5d16..b35486ba59 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2014 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Efraim Flashner +;;; Copyright © 2019 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -36,15 +37,19 @@ #:use-module (gnu packages assembly) #:use-module (gnu packages boost) #:use-module (gnu packages documentation) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gcc) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) + #:use-module (gnu packages guile) #:use-module (gnu packages libbsd) #:use-module (gnu packages libreoffice) #:use-module (gnu packages lua) #:use-module (gnu packages ncurses) #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages regex) #:use-module (gnu packages ruby) @@ -388,3 +393,47 @@ projects. The EditorConfig project maintains a file format and plugins for various text editors which allow this file format to be read and used by those editors.") (license license:bsd-2))) + +(define-public texmacs + (package + (name "texmacs") + (version "1.99.9") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.texmacs.org/Download/ftp/tmftp/" + "source/TeXmacs-" version "-src.tar.gz")) + (sha256 + (base32 + "0i95sf9y8qpgxd8f39cprbp3s200nm9lml0xdpyn46n838acvw19")) + (modules '((guix build utils))) + (snippet + '(begin + (delete-file-recursively "3rdparty") + #t)))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("freetype" ,freetype) + ("guile" ,guile-1.8) + ("perl" ,perl) + ("python" ,python-wrapper) + ("qt" ,qt-4))) + (arguments + `(#:tests? #f ;no check target + #:phases + (modify-phases %standard-phases + (add-before 'configure 'gzip-flags + (lambda _ + (substitute* "Makefile.in" + (("^GZIP = gzip -f") "GZIP = gzip -f -n"))))))) + (synopsis "Editing platform with special features for scientists") + (description + "GNU TeXmacs is a text editing platform which is specialized for +scientists. It is ideal for editing structured documents with different +types of content. It has robust support for mathematical formulas and plots. + It can also act as an interface to external mathematical programs such as R +and Octave. TeXmacs is completely extensible via Guile.") + (license license:gpl3+) + (home-page "https://www.texmacs.org/tmweb/home/welcome.en.html"))) From cac6c3bad531f0fec8bc08f26ece05c7f61687cf Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Wed, 26 Jun 2019 19:45:34 +0200 Subject: [PATCH 200/221] gnu: supertux: Fix homepage. * gnu/packages/games.scm (supertux)[homepage]: Fix URL. --- gnu/packages/games.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 240b1d33df..a5aaf56fb2 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3549,7 +3549,7 @@ with the \"Stamp\" tool within Tux Paint.") (description "SuperTux is a free classic 2D jump'n run sidescroller game in a style similar to the original Super Mario games covered under the GNU GPL.") - (home-page "https://supertuxproject.org/") + (home-page "https://supertux.org/") (license license:gpl3+))) (define-public tintin++ From 1ebb908d447fd7e641e800f970a0035ccd98deb7 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Jun 2019 00:20:50 +0200 Subject: [PATCH 201/221] Revert "gnu: openssh: Clean-up custom install phase." This reverts commit 7754136e464e02284624ad05c196d9ec26099143. --- gnu/packages/ssh.scm | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 2fd02475d3..4bb0ad59f0 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -220,17 +220,20 @@ a server that supports the SSH-2 protocol.") #t)) (replace 'install (lambda* (#:key outputs (make-flags '()) #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - ;; install without host keys and system configuration files - (apply invoke "make" "install-nosysconf" make-flags) - (install-file "contrib/ssh-copy-id" - (string-append out "/bin/")) - (chmod (string-append out "/bin/ssh-copy-id") #o555) - (install-file "contrib/ssh-copy-id.1" - (string-append out "/share/man/man1/")) - ;; Don't install the PRIVSEP_PATH directory. - (delete-file-recursively (string-append out "/var")) - #t)))))) + ;; install without host keys and system configuration files + (apply invoke "make" "install-nosysconf" make-flags) + (install-file "contrib/ssh-copy-id" + (string-append (assoc-ref outputs "out") + "/bin/")) + (chmod (string-append (assoc-ref outputs "out") + "/bin/ssh-copy-id") #o555) + (install-file "contrib/ssh-copy-id.1" + (string-append (assoc-ref outputs "out") + "/share/man/man1/")) + ;; Don't install the PRIVSEP_PATH directory. + (delete-file-recursively + (string-append (assoc-ref outputs "out") "/var")) + #t))))) (synopsis "Client and server for the secure shell (ssh) protocol") (description "The SSH2 protocol implemented in OpenSSH is standardised by the From ba912479e8481d69b699ce348b35d5d70f0c9367 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 27 Jun 2019 00:20:54 +0200 Subject: [PATCH 202/221] Revert "gnu: openssh: Don't create the PRIVSEP_PATH directory." This reverts commit 46475f72ab6127e7818fdea4a0ea9cc07c60a5f4. --- gnu/packages/ssh.scm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index 4bb0ad59f0..010ed40707 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015, 2016 Mark H Weaver -;;; Copyright © 2015, 2016, 2018, 2019 Efraim Flashner +;;; Copyright © 2015, 2016, 2018 Efraim Flashner ;;; Copyright © 2016, 2019 Leo Famulari ;;; Copyright © 2016 Nicolas Goaziou ;;; Copyright © 2016 Christopher Allan Webber @@ -230,9 +230,6 @@ a server that supports the SSH-2 protocol.") (install-file "contrib/ssh-copy-id.1" (string-append (assoc-ref outputs "out") "/share/man/man1/")) - ;; Don't install the PRIVSEP_PATH directory. - (delete-file-recursively - (string-append (assoc-ref outputs "out") "/var")) #t))))) (synopsis "Client and server for the secure shell (ssh) protocol") (description From 7a70e7ca04efbc33d628f34836bd94501a39f21e Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 20 Jun 2019 07:16:01 +0000 Subject: [PATCH 203/221] gnu: electron-cash: Update to 4.0.7. * gnu/packages/finance (electron-cash): Update to 4.0.7. --- gnu/packages/finance.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 5b95bcb704..cd5d3b7d9a 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -399,7 +399,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") (package (inherit electrum) (name "electron-cash") - (version "4.0.1") + (version "4.0.7") (source (origin (method url-fetch) @@ -410,7 +410,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.") ".tar.gz")) (sha256 (base32 - "16fi03f23yb5r9s64x1a9wrxnvivlbawvrbq4d486yclzl1r7y48")) + "0xswmr68cm1c77lzisi3z812jzqczm9dfrshfhdq42zz5kaz4gnn")) (modules '((guix build utils))) (snippet '(begin From edccf761e3d1fa384befb5a1cee95cc11eee09d9 Mon Sep 17 00:00:00 2001 From: Benjamin Slade Date: Sun, 2 Jun 2019 17:21:21 -0600 Subject: [PATCH 204/221] gnu: sawfish: Update to 1.12.0. * gnu/packages/sawfish.scm (sawfish): Update to 1.12.0. [source]: Use HTTPS URI. [home-page]: Update URI. Signed-off-by: Arun Isaac --- gnu/packages/sawfish.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index 1ac72f2baa..aba97495ac 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2019 Benjamin Slade ;;; ;;; This file is part of GNU Guix. ;;; @@ -111,14 +112,14 @@ backend of Sawfish.") (define-public sawfish (package (name "sawfish") - (version "1.11") + (version "1.12.0") (source (origin (method url-fetch) - (uri (string-append "http://download.tuxfamily.org/sawfish/" + (uri (string-append "https://download.tuxfamily.org/sawfish/" name "_" version ".tar.xz")) (sha256 (base32 - "0wp4m0p836a0rysbcdqb6z5hxlxqj3rgdbks3bs44rlssx0mcvyg")) + "1z7awzgw8d15aw17kpbj460pcxq8l2rhkaxk47w7yg9qrmg0xja4")) (modules '((guix build utils))) (snippet '(begin @@ -172,7 +173,7 @@ backend of Sawfish.") ("libxrandr" ,libxrandr) ("libxtst" ,libxtst) ("rep-gtk" ,rep-gtk))) - (home-page "http://sawfish.wikia.com/wiki/Main_Page") + (home-page "https://sawfish.tuxfamily.org") (synopsis "Configurable window manager") (description "Sawfish is an extensible window manager using a Lisp-based scripting From 4ffed734198863105c564f16a30075cd2f76c1ee Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Thu, 27 Jun 2019 12:06:06 +0530 Subject: [PATCH 205/221] gnu: rep-gtk: Update to 0.90.8.3. * gnu/packages/sawfish.scm (rep-gtk): Update to 0.90.8.3. [source]: Use HTTPS URI. [arguments]: Add remove-autogen phase. [native-inputs]: Add autoconf, automake and libtool. [home-page]: Update URI. --- gnu/packages/sawfish.scm | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index aba97495ac..98b0cc7044 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2015 Sou Bunnbu ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019 Benjamin Slade +;;; Copyright © 2019 Arun Isaac ;;; ;;; This file is part of GNU Guix. ;;; @@ -78,14 +79,14 @@ implementing both small and large scale systems.") (define-public rep-gtk (package (name "rep-gtk") - (version "0.90.8.2") + (version "0.90.8.3") (source (origin (method url-fetch) - (uri (string-append "http://download.tuxfamily.org/librep/" + (uri (string-append "https://download.tuxfamily.org/librep/" name "/" name "_" version ".tar.xz")) (sha256 (base32 - "0qslm2isyv22hffdpw0nh7xk8jw8cj3h5y7d40c9h5r833w7j6sz")) + "0hgkkywm8zczir3lqr727bn7ybgg71x9cwj1av8fykkr8pdpard9")) (modules '((guix build utils))) (snippet '(begin @@ -95,14 +96,26 @@ implementing both small and large scale systems.") "installdir=$(libdir)/rep")) #t)))) (build-system gnu-build-system) - (arguments '(#:tests? #f)) ; no tests + (arguments + `(#:tests? #f ; no tests + #:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'remove-autogen + (lambda _ + ;; Remove autogen.sh so that the bootstrap phase can run + ;; autoreconf. + (delete-file "autogen.sh") + #t))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) (propagated-inputs ;; required by rep-gtk.pc. `(("gtk+" ,gtk+-2) ("librep" ,librep))) - (home-page "http://sawfish.wikia.com/wiki/Rep-GTK") + (home-page "https://sawfish.fandom.com/wiki/Rep-GTK") (synopsis "GTK+ binding for librep") (description "Rep-GTK is a GTK+ (and GLib, GDK) binding to the librep, and one of the From b09e4960be0034716bd9afeb647c17203967d769 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 27 Jun 2019 10:21:47 +0200 Subject: [PATCH 206/221] gnu: dosbox: Update to 0.74-3. * gnu/packages/emulators.scm (dosbox): Update to 0.74-3. --- gnu/packages/emulators.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 83a9a8bab6..a55e5b7a18 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -239,7 +239,7 @@ turbo speed, networked multiplayer, and graphical enhancements.") (define-public dosbox (package (name "dosbox") - (version "0.74-2") + (version "0.74-3") (source (origin (method url-fetch) (uri (string-append "https://sourceforge.net/projects/dosbox" @@ -248,7 +248,7 @@ turbo speed, networked multiplayer, and graphical enhancements.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1ksp1b5szi0vy4x55rm3j1y9wq5mlslpy8llpg87rpdyjlsk0xvh")))) + "02i648i50dwicv1vaql15rccv4g8h5blf5g6inv67lrfxpbkvlf0")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases From c25b44d640f709599e3c484a458ae452d99108e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Jun 2019 10:39:49 +0200 Subject: [PATCH 207/221] accounts: Use 'fsync' instead of 'fdatasync'. * gnu/build/accounts.scm (catch-ENOSYS): Remove. (database-writer): Use 'fsync' instead of 'fdatasync'. --- gnu/build/accounts.scm | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/gnu/build/accounts.scm b/gnu/build/accounts.scm index b90149565f..5094456ab1 100644 --- a/gnu/build/accounts.scm +++ b/gnu/build/accounts.scm @@ -19,7 +19,6 @@ (define-module (gnu build accounts) #:use-module (guix records) #:use-module (guix combinators) - #:use-module ((guix build syscalls) #:select (fdatasync)) #:use-module (gnu system accounts) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) @@ -231,14 +230,6 @@ each field." ;; grab this lock with 'with-file-lock' when they access the databases. "/etc/.pwd.lock") -(define-syntax-rule (catch-ENOSYS exp) - (catch 'system-error - (lambda () exp) - (lambda args - (if (= ENOSYS (system-error-errno args)) - #f - (apply throw args))))) - (define (database-writer file mode entry->string) (lambda* (entries #:optional (file-or-port file)) "Write ENTRIES to FILE-OR-PORT. When FILE-OR-PORT is a file name, write @@ -259,10 +250,7 @@ to it atomically and set the appropriate permissions." (chmod port mode) (write-entries port) - ;; XXX: When booting with the statically-linked Guile, - ;; 'fdatasync' is unavailable. - (catch-ENOSYS (fdatasync port)) - + (fsync port) (close-port port) (rename-file template file-or-port)) (lambda () From 8874faaaac665100a095ef25e39c9a389f5a397f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Jun 2019 22:59:58 +0200 Subject: [PATCH 208/221] ui: 'relevance' considers regexps connected with a logical and. * guix/ui.scm (relevance)[score]: Change to return 0 when one of REGEXPS doesn't match. * tests/ui.scm ("package-relevance"): New test. --- guix/ui.scm | 25 ++++++++++++++----------- tests/ui.scm | 27 ++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 0b4fe144b6..d9dbe4a652 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1256,17 +1256,20 @@ weight of this field in the final score. A score of zero means that OBJ does not match any of REGEXPS. The higher the score, the more relevant OBJ is to REGEXPS." (define (score str) - (let ((counts (map (lambda (regexp) - (match (fold-matches regexp str '() cons) - (() 0) - ((m) (if (string=? (match:substring m) str) - 5 ;exact match - 1)) - (lst (length lst)))) - regexps))) - ;; Compute a score that's proportional to the number of regexps matched - ;; and to the number of matches for each regexp. - (* (length counts) (reduce + 0 counts)))) + (define scores + (map (lambda (regexp) + (fold-matches regexp str 0 + (lambda (m score) + (+ score + (if (string=? (match:substring m) str) + 5 ;exact match + 1))))) + regexps)) + + ;; Return zero if one of REGEXPS doesn't match. + (if (any zero? scores) + 0 + (reduce + 0 scores))) (fold (lambda (metric relevance) (match metric diff --git a/tests/ui.scm b/tests/ui.scm index 1e98e3534b..2138e23369 100644 --- a/tests/ui.scm +++ b/tests/ui.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,10 +22,12 @@ #:use-module (guix profiles) #:use-module (guix store) #:use-module (guix derivations) + #:use-module ((gnu packages) #:select (specification->package)) #:use-module (guix tests) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-19) + #:use-module (srfi srfi-26) #:use-module (srfi srfi-64) #:use-module (ice-9 regex)) @@ -260,4 +262,27 @@ Second line" 24)) "ISO-8859-1") (show-manifest-transaction store m t)))))))) +(test-assert "package-relevance" + (let ((guile (specification->package "guile")) + (gcrypt (specification->package "guile-gcrypt")) + (go (specification->package "go")) + (gnugo (specification->package "gnugo")) + (rx (cut make-regexp <> regexp/icase)) + (>0 (cut > <> 0)) + (=0 zero?)) + (and (>0 (package-relevance guile + (map rx '("scheme")))) + (>0 (package-relevance guile + (map rx '("scheme" "implementation")))) + (>0 (package-relevance gcrypt + (map rx '("guile" "crypto")))) + (=0 (package-relevance guile + (map rx '("guile" "crypto")))) + (>0 (package-relevance go + (map rx '("go")))) + (=0 (package-relevance go + (map rx '("go" "game")))) + (>0 (package-relevance gnugo + (map rx '("go" "game"))))))) + (test-end "ui") From 4593f5a654b4e59c5025cc4f99914e24e82515a4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Jun 2019 23:05:00 +0200 Subject: [PATCH 209/221] syscalls: Add 'terminal-rows'. * guix/build/syscalls.scm (terminal-dimension): New procedure. (terminal-columns): Rewrite in terms of 'terminal-dimension'. (terminal-rows): New procedure. * tests/syscalls.scm ("terminal-rows"): New test. --- guix/build/syscalls.scm | 37 +++++++++++++++++++++++++------------ tests/syscalls.scm | 5 ++++- 2 files changed, 29 insertions(+), 13 deletions(-) diff --git a/guix/build/syscalls.scm b/guix/build/syscalls.scm index 5c2eb3c14d..eb045cbd1c 100644 --- a/guix/build/syscalls.scm +++ b/guix/build/syscalls.scm @@ -146,6 +146,7 @@ window-size-y-pixels terminal-window-size terminal-columns + terminal-rows utmpx? utmpx-login-type @@ -1871,23 +1872,17 @@ corresponds to the TIOCGWINSZ ioctl." (list (strerror err)) (list err))))) -(define* (terminal-columns #:optional (port (current-output-port))) - "Return the best approximation of the number of columns of the terminal at -PORT, trying to guess a reasonable value if all else fails. The result is -always a positive integer." - (define (fall-back) - (match (and=> (getenv "COLUMNS") string->number) - (#f 80) - ((? number? columns) - (if (> columns 0) columns 80)))) - +(define (terminal-dimension window-dimension port fall-back) + "Return the terminal dimension defined by WINDOW-DIMENSION, one of +'window-size-columns' or 'window-size-rows' for PORT. If PORT does not +correspond to a terminal, return the value returned by FALL-BACK." (catch 'system-error (lambda () (if (file-port? port) - (match (window-size-columns (terminal-window-size port)) + (match (window-dimension (terminal-window-size port)) ;; Things like Emacs shell-mode return 0, which is unreasonable. (0 (fall-back)) - ((? number? columns) columns)) + ((? number? n) n)) (fall-back))) (lambda args (let ((errno (system-error-errno args))) @@ -1900,6 +1895,24 @@ always a positive integer." (fall-back) (apply throw args)))))) +(define* (terminal-columns #:optional (port (current-output-port))) + "Return the best approximation of the number of columns of the terminal at +PORT, trying to guess a reasonable value if all else fails. The result is +always a positive integer." + (define (fall-back) + (match (and=> (getenv "COLUMNS") string->number) + (#f 80) + ((? number? columns) + (if (> columns 0) columns 80)))) + + (terminal-dimension window-size-columns port fall-back)) + +(define* (terminal-rows #:optional (port (current-output-port))) + "Return the best approximation of the number of rows of the terminal at +PORT, trying to guess a reasonable value if all else fails. The result is +always a positive integer." + (terminal-dimension window-size-rows port (const 25))) + ;;; ;;; utmpx. diff --git a/tests/syscalls.scm b/tests/syscalls.scm index 3e267c9f01..eeb223b950 100644 --- a/tests/syscalls.scm +++ b/tests/syscalls.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2015 David Thompson ;;; ;;; This file is part of GNU Guix. @@ -538,6 +538,9 @@ (> (terminal-columns (open-input-string "Join us now, share the software!")) 0)) +(test-assert "terminal-rows" + (> (terminal-rows) 0)) + (test-assert "utmpx-entries" (match (utmpx-entries) (((? utmpx? entries) ...) From 4311cf965c978c7865c03349c82110b241f8ff23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Jun 2019 23:37:32 +0200 Subject: [PATCH 210/221] ui: Add 'display-search-results' and use it. * guix/ui.scm (display-search-results): New procedure. * guix/scripts/package.scm (find-packages-by-description): Remove 'unzip2' call and return a list of pairs. (process-query): Change to use 'display-search-results'. * guix/scripts/system/search.scm (find-service-types): Remove 'unzip2' call and return a list of pairs. (guix-system-search): Use 'display-search-results'. --- guix/scripts/package.scm | 41 ++++++++++++---------------- guix/scripts/system/search.scm | 44 +++++++++++++----------------- guix/ui.scm | 50 +++++++++++++++++++++++++++++++++- 3 files changed, 86 insertions(+), 49 deletions(-) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 5751123525..7b277b63f1 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -26,6 +26,7 @@ (define-module (guix scripts package) #:use-module (guix ui) #:use-module ((guix status) #:select (with-status-verbosity)) + #:use-module ((guix build syscalls) #:select (terminal-rows)) #:use-module (guix store) #:use-module (guix grafts) #:use-module (guix derivations) @@ -178,9 +179,9 @@ hooks\" run when building the profile." ;;; (define (find-packages-by-description regexps) - "Return two values: the list of packages whose name, synopsis, description, -or output matches at least one of REGEXPS sorted by relevance, and the list of -relevance scores." + "Return a list of pairs: packages whose name, synopsis, description, +or output matches at least one of REGEXPS sorted by relevance, and its +non-zero relevance score." (let ((matches (fold-packages (lambda (package result) (if (package-superseded package) result @@ -189,19 +190,19 @@ relevance scores." ((? zero?) result) (score - (cons (list package score) + (cons (cons package score) result))))) '()))) - (unzip2 (sort matches - (lambda (m1 m2) - (match m1 - ((package1 score1) - (match m2 - ((package2 score2) - (if (= score1 score2) - (string>? (package-full-name package1) - (package-full-name package2)) - (> score1 score2))))))))))) + (sort matches + (lambda (m1 m2) + (match m1 + ((package1 . score1) + (match m2 + ((package2 . score2) + (if (= score1 score2) + (string>? (package-full-name package1) + (package-full-name package2)) + (> score1 score2)))))))))) (define (transaction-upgrade-entry entry transaction) "Return a variant of TRANSACTION that accounts for the upgrade of ENTRY, a @@ -755,16 +756,10 @@ processed, #f otherwise." (('query 'search rx) rx) (_ #f)) opts)) - (regexps (map (cut make-regexp* <> regexp/icase) patterns))) + (regexps (map (cut make-regexp* <> regexp/icase) patterns)) + (matches (find-packages-by-description regexps))) (leave-on-EPIPE - (let-values (((packages scores) - (find-packages-by-description regexps))) - (for-each (lambda (package score) - (package->recutils package (current-output-port) - #:extra-fields - `((relevance . ,score)))) - packages - scores))) + (display-search-results matches (current-output-port))) #t)) (('show requested-name) diff --git a/guix/scripts/system/search.scm b/guix/scripts/system/search.scm index 955cdd1e95..5278062edd 100644 --- a/guix/scripts/system/search.scm +++ b/guix/scripts/system/search.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2017, 2018 Ludovic Courtès +;;; Copyright © 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. @@ -139,9 +139,8 @@ columns." . 1))) (define (find-service-types regexps) - "Return two values: the list of service types whose name or description -matches at least one of REGEXPS sorted by relevance, and the list of relevance -scores." + "Return a list of service type/score pairs: service types whose name or +description matches REGEXPS sorted by relevance, and their score." (let ((matches (fold-service-types (lambda (type result) (match (relevance type regexps @@ -149,30 +148,25 @@ scores." ((? zero?) result) (score - (cons (list type score) result)))) + (cons (cons type score) result)))) '()))) - (unzip2 (sort matches - (lambda (m1 m2) - (match m1 - ((type1 score1) - (match m2 - ((type2 score2) - (if (= score1 score2) - (string>? (service-type-name* type1) - (service-type-name* type2)) - (> score1 score2))))))))))) + (sort matches + (lambda (m1 m2) + (match m1 + ((type1 . score1) + (match m2 + ((type2 . score2) + (if (= score1 score2) + (string>? (service-type-name* type1) + (service-type-name* type2)) + (> score1 score2)))))))))) (define (guix-system-search . args) (with-error-handling - (let ((regexps (map (cut make-regexp* <> regexp/icase) args))) + (let* ((regexps (map (cut make-regexp* <> regexp/icase) args)) + (matches (find-service-types regexps))) (leave-on-EPIPE - (let-values (((services scores) - (find-service-types regexps))) - (for-each (lambda (service score) - (service-type->recutils service - (current-output-port) - #:extra-fields - `((relevance . ,score)))) - services - scores)))))) + (display-search-results matches (current-output-port) + #:print service-type->recutils + #:command "guix system search"))))) diff --git a/guix/ui.scm b/guix/ui.scm index d9dbe4a652..363ef36dcd 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -46,7 +46,8 @@ #:use-module (guix serialization) #:use-module ((guix licenses) #:select (license? license-name)) #:use-module ((guix build syscalls) - #:select (free-disk-space terminal-columns)) + #:select (free-disk-space terminal-columns + terminal-rows)) #:use-module ((guix build utils) ;; XXX: All we need are the bindings related to ;; '&invoke-error'. However, to work around the bug described @@ -106,8 +107,11 @@ string->recutils package->recutils package-specification->name+version+output + relevance package-relevance + display-search-results + string->generations string->duration matching-generations @@ -1246,6 +1250,11 @@ WIDTH columns. EXTRA-FIELDS is a list of symbol/value pairs to emit." extra-fields) (newline port)) + +;;; +;;; Searching. +;;; + (define (relevance obj regexps metrics) "Compute a \"relevance score\" for OBJ as a function of its number of matches of REGEXPS and accordingly to METRICS. METRICS is list of @@ -1315,6 +1324,45 @@ score, the more relevant OBJ is to REGEXPS." zero means that PACKAGE does not match any of REGEXPS." (relevance package regexps %package-metrics)) +(define* (display-search-results matches port + #:key + (command "guix search") + (print package->recutils)) + "Display MATCHES, a list of object/score pairs, by calling PRINT on each of +them. If PORT is a terminal, print at most a full screen of results." + (define first-line + (port-line port)) + + (define max-rows + (and first-line (isatty? port) + (terminal-rows port))) + + (define (line-count str) + (string-count str #\newline)) + + (let loop ((matches matches)) + (match matches + (((package . score) rest ...) + (let ((text (call-with-output-string + (lambda (port) + (print package port + #:extra-fields + `((relevance . ,score))))))) + (if (and max-rows + (> (port-line port) first-line) ;print at least one result + (> (+ 4 (line-count text) (port-line port)) + max-rows)) + (unless (null? rest) + (display-hint (format #f (G_ "Run @code{~a ... | less} \ +to view all the results.") + command))) + (begin + (display text port) + (loop rest))))) + (() + #t)))) + + (define (string->generations str) "Return the list of generations matching a pattern in STR. This function accepts the following patterns: \"1\", \"1,2,3\", \"1..9\", \"1..\", \"..9\"." From c89985d91d2b44704fbcaebd7a097dee0c0e3e4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 11:46:17 +0200 Subject: [PATCH 211/221] derivations: Add 'derivation-input'. * guix/derivations.scm (derivation-input): New procedure. * tests/grafts.scm (make-derivation-input): Remove. ("graft-derivation, unused outputs not depended on"): Use 'derivation-input'. --- guix/derivations.scm | 8 ++++++++ tests/grafts.scm | 16 ++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 8145d51143..4df7b06181 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -157,6 +157,14 @@ "Return the object INPUT refers to." (read-derivation-from-file (derivation-input-path input))) +(define* (derivation-input drv #:optional + (outputs (derivation-output-names drv))) + "Return a for the OUTPUTS of DRV." + ;; This is a public interface meant to be more convenient than + ;; 'make-derivation-input' and giving us more control. + (make-derivation-input (derivation-file-name drv) + outputs)) + (set-record-type-printer! (lambda (drv port) (format port "# ~a ~a>" diff --git a/tests/grafts.scm b/tests/grafts.scm index f85f3c6913..6fd3d5e171 100644 --- a/tests/grafts.scm +++ b/tests/grafts.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -45,9 +45,6 @@ (define %mkdir (bootstrap-binary "mkdir")) -(define make-derivation-input - (@@ (guix derivations) make-derivation-input)) - (test-begin "grafts") @@ -356,16 +353,11 @@ (p1r-inputs (filter (match-input p1r) inputs)) (p2-inputs (filter (match-input p2) inputs))) (and (equal? p1-inputs - (list (make-derivation-input (derivation-file-name p1) - '("one")))) + (list (derivation-input p1 '("one")))) (equal? p1r-inputs - (list - (make-derivation-input (derivation-file-name p1r) - '("ONE")))) + (list (derivation-input p1r '("ONE")))) (equal? p2-inputs - (list - (make-derivation-input (derivation-file-name p2) - '("aaa")))) + (list (derivation-input p2 '("aaa")))) (derivation-output-names p2g)))))) (test-assert "graft-derivation, renaming" ; From ba04f80e2e0fd92ca381c8fac8a659cb8f9abdd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 Jun 2019 22:05:06 +0200 Subject: [PATCH 212/221] derivations: Rewrite and replace 'derivations-prerequisites-to-build'. The new 'derivation-build-plan' procedure has a more appropriate signature: it takes a list of instead of taking one . Its body is also much simpler. * guix/derivations.scm (derivation-build-plan): New procedure. (derivation-prerequisites-to-build): Express in terms of 'derivation-build-plan' and mark as deprecated. * tests/derivations.scm: Change 'derivation-prerequisites-to-build' tests to 'derivation-build-plan' and adjust accordingly. --- guix/derivations.scm | 132 ++++++++++++++++++++---------------------- tests/derivations.scm | 63 +++++++++++--------- 2 files changed, 97 insertions(+), 98 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 4df7b06181..f6e94694fd 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -21,6 +21,7 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) @@ -34,6 +35,7 @@ #:use-module (guix base16) #:use-module (guix memoization) #:use-module (guix combinators) + #:use-module (guix deprecation) #:use-module (guix monads) #:use-module (gcrypt hash) #:use-module (guix base32) @@ -50,7 +52,8 @@ derivation-builder-environment-vars derivation-file-name derivation-prerequisites - derivation-prerequisites-to-build + derivation-build-plan + derivation-prerequisites-to-build ;deprecated derivation-output? @@ -61,6 +64,7 @@ derivation-input? + derivation-input derivation-input-path derivation-input-derivation derivation-input-sub-derivations @@ -341,82 +345,70 @@ substituter many times." (#f #f) ((key . value) value))))) -(define* (derivation-prerequisites-to-build store drv - #:key - (mode (build-mode normal)) - (outputs - (derivation-output-names drv)) - (substitutable-info - (substitution-oracle store - (list drv) - #:mode mode))) - "Return two values: the list of derivation-inputs required to build the -OUTPUTS of DRV and not already available in STORE, recursively, and the list -of required store paths that can be substituted. SUBSTITUTABLE-INFO must be a -one-argument procedure similar to that returned by 'substitution-oracle'." - (define built? - (mlambda (item) - (valid-path? store item))) +(define* (derivation-build-plan store inputs + #:key + (mode (build-mode normal)) + (substitutable-info + (substitution-oracle + store + (map derivation-input-derivation + inputs) + #:mode mode))) + "Given INPUTS, a list of derivation-inputs, return two values: the list of +derivation to build, and the list of substitutable items that, together, +allows INPUTS to be realized. - (define input-built? - (compose (cut any built? <>) derivation-input-output-paths)) +SUBSTITUTABLE-INFO must be a one-argument procedure similar to that returned +by 'substitution-oracle'." + (define (built? item) + (valid-path? store item)) - (define input-substitutable? - ;; Return true if and only if all of SUB-DRVS are subsitutable. If at - ;; least one is missing, then everything must be rebuilt. - (compose (cut every substitutable-info <>) derivation-input-output-paths)) - - (define (derivation-built? drv* sub-drvs) + (define (input-built? input) ;; In 'check' mode, assume that DRV is not built. (and (not (and (eqv? mode (build-mode check)) - (eq? drv* drv))) - (every built? (derivation-output-paths drv* sub-drvs)))) + (member input inputs))) + (every built? (derivation-input-output-paths input)))) - (define (derivation-substitutable-info drv sub-drvs) - (and (substitutable-derivation? drv) - (let ((info (filter-map substitutable-info - (derivation-output-paths drv sub-drvs)))) - (and (= (length info) (length sub-drvs)) + (define (input-substitutable-info input) + (and (substitutable-derivation? (derivation-input-derivation input)) + (let* ((items (derivation-input-output-paths input)) + (info (filter-map substitutable-info items))) + (and (= (length info) (length items)) info)))) - (let loop ((drv drv) - (sub-drvs outputs) - (build '()) ;list of - (substitute '())) ;list of - (cond ((derivation-built? drv sub-drvs) - (values build substitute)) - ((derivation-substitutable-info drv sub-drvs) - => - (lambda (substitutables) - (values build - (append substitutables substitute)))) - (else - (let ((build (if (substitutable-derivation? drv) - build - (cons (make-derivation-input - (derivation-file-name drv) sub-drvs) - build))) - (inputs (remove (lambda (i) - (or (member i build) ; XXX: quadratic - (input-built? i) - (input-substitutable? i))) - (derivation-inputs drv)))) - (fold2 loop - (append inputs build) - (append (append-map (lambda (input) - (if (and (not (input-built? input)) - (input-substitutable? input)) - (map substitutable-info - (derivation-input-output-paths - input)) - '())) - (derivation-inputs drv)) - substitute) - (map (lambda (i) - (read-derivation-from-file - (derivation-input-path i))) - inputs) - (map derivation-input-sub-derivations inputs))))))) + (let loop ((inputs inputs) ;list of + (build '()) ;list of + (substitute '()) ;list of + (visited (set))) ;set of + (match inputs + (() + (values build substitute)) + ((input rest ...) + (cond ((set-contains? visited input) + (loop rest build substitute visited)) + ((input-built? input) + (loop rest build substitute + (set-insert input visited))) + ((input-substitutable-info input) + => + (lambda (substitutables) + (loop rest build + (append substitutables substitute) + (set-insert input visited)))) + (else + (let ((deps (derivation-inputs + (derivation-input-derivation input)))) + (loop (append deps rest) + (cons (derivation-input-derivation input) build) + substitute + (set-insert input visited))))))))) + +(define-deprecated (derivation-prerequisites-to-build store drv #:rest rest) + derivation-build-plan + (let-values (((build download) + (apply derivation-build-plan store + (list (derivation-input drv)) rest))) + (values (map derivation-input build) download))) (define (read-derivation drv-port) "Read the derivation from DRV-PORT and return the corresponding diff --git a/tests/derivations.scm b/tests/derivations.scm index 93f4cdd8ee..35fb20bab0 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -809,13 +809,13 @@ (equal? (pk 'x content) (pk 'y (call-with-input-file out get-string-all))) ))))) -(test-assert "build-expression->derivation and derivation-prerequisites-to-build" +(test-assert "build-expression->derivation and derivation-build-plan" (let ((drv (build-expression->derivation %store "fail" #f))) ;; The only direct dependency is (%guile-for-build) and it's already ;; built. - (null? (derivation-prerequisites-to-build %store drv)))) + (null? (derivation-build-plan %store (derivation-inputs drv))))) -(test-assert "derivation-prerequisites-to-build when outputs already present" +(test-assert "derivation-build-plan when outputs already present" (let* ((builder `(begin ,(random-text) (mkdir %output) #t)) (input-drv (build-expression->derivation %store "input" builder)) (input-path (derivation->output-path input-drv)) @@ -828,9 +828,12 @@ (valid-path? %store output)) (error "things already built" input-drv)) - (and (equal? (map derivation-input-path - (derivation-prerequisites-to-build %store drv)) - (list (derivation-file-name input-drv))) + (and (lset= equal? + (map derivation-file-name + (derivation-build-plan %store + (list (derivation-input drv)))) + (list (derivation-file-name input-drv) + (derivation-file-name drv))) ;; Build DRV and delete its input. (build-derivations %store (list drv)) @@ -839,9 +842,10 @@ ;; Now INPUT-PATH is missing, yet it shouldn't be listed as a ;; prerequisite to build because DRV itself is already built. - (null? (derivation-prerequisites-to-build %store drv))))) + (null? (derivation-build-plan %store + (list (derivation-input drv))))))) -(test-assert "derivation-prerequisites-to-build and substitutes" +(test-assert "derivation-build-plan and substitutes" (let* ((store (open-connection)) (drv (build-expression->derivation store "prereq-subst" (random 1000))) @@ -853,17 +857,19 @@ (with-derivation-narinfo drv (let-values (((build download) - (derivation-prerequisites-to-build store drv)) + (derivation-build-plan store + (list (derivation-input drv)))) ((build* download*) - (derivation-prerequisites-to-build store drv - #:substitutable-info - (const #f)))) + (derivation-build-plan store + (list (derivation-input drv)) + #:substitutable-info + (const #f)))) (and (null? build) (equal? (map substitutable-path download) (list output)) (null? download*) - (null? build*)))))) + (equal? (list drv) build*)))))) -(test-assert "derivation-prerequisites-to-build and substitutes, non-substitutable build" +(test-assert "derivation-build-plan and substitutes, non-substitutable build" (let* ((store (open-connection)) (drv (build-expression->derivation store "prereq-no-subst" (random 1000) @@ -876,16 +882,16 @@ (with-derivation-narinfo drv (let-values (((build download) - (derivation-prerequisites-to-build store drv))) + (derivation-build-plan store + (list (derivation-input drv))))) ;; Despite being available as a substitute, DRV will be built locally ;; due to #:substitutable? #f. (and (null? download) (match build - (((? derivation-input? input)) - (string=? (derivation-input-path input) - (derivation-file-name drv))))))))) + (((= derivation-file-name build)) + (string=? build (derivation-file-name drv))))))))) -(test-assert "derivation-prerequisites-to-build and substitutes, local build" +(test-assert "derivation-build-plan and substitutes, local build" (with-store store (let* ((drv (build-expression->derivation store "prereq-subst-local" (random 1000) @@ -898,7 +904,8 @@ (with-derivation-narinfo drv (let-values (((build download) - (derivation-prerequisites-to-build store drv))) + (derivation-build-plan store + (list (derivation-input drv))))) ;; #:local-build? is *not* synonymous with #:substitutable?, so we ;; must be able to substitute DRV's output. ;; See . @@ -907,7 +914,7 @@ (((= substitutable-path item)) (string=? item (derivation->output-path drv)))))))))) -(test-assert "derivation-prerequisites-to-build in 'check' mode" +(test-assert "derivation-build-plan in 'check' mode" (with-store store (let* ((dep (build-expression->derivation store "dep" `(begin ,(random-text) @@ -919,13 +926,13 @@ (delete-paths store (list (derivation->output-path dep))) ;; In 'check' mode, DEP must be rebuilt. - (and (null? (derivation-prerequisites-to-build store drv)) - (match (derivation-prerequisites-to-build store drv - #:mode (build-mode - check)) - ((input) - (string=? (derivation-input-path input) - (derivation-file-name dep)))))))) + (and (null? (derivation-build-plan store + (list (derivation-input drv)))) + (lset= equal? + (derivation-build-plan store + (list (derivation-input drv)) + #:mode (build-mode check)) + (list drv dep)))))) (test-assert "substitution-oracle and #:substitute? #f" (with-store store From 9844d0091ec533ee6de2d051ef12a077de98cf42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 19 Jun 2019 22:21:28 +0200 Subject: [PATCH 213/221] ui: 'show-what-to-build' uses 'derivation-build-plan'. * guix/ui.scm (show-what-to-build)[build-or-substitutable?]: Remove. Use 'derivation-build-plan' instead of 'derivation-prerequisites-to-build', passing it all of DRV at once, and remove 'fold2' shenanigans and postprocessing of BUILD. --- guix/ui.scm | 32 +++++++------------------------- 1 file changed, 7 insertions(+), 25 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 363ef36dcd..9748471877 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -41,7 +41,6 @@ #:use-module (guix packages) #:use-module (guix profiles) #:use-module (guix derivations) - #:use-module (guix combinators) #:use-module (guix build-system) #:use-module (guix serialization) #:use-module ((guix licenses) #:select (license? license-name)) @@ -824,29 +823,12 @@ report what is prerequisites are available for download." (substitution-oracle store drv #:mode mode) (const #f))) - (define (built-or-substitutable? drv) - (or (null? (derivation-outputs drv)) - (let ((out (derivation->output-path drv))) ;XXX: assume "out" exists - (or (valid-path? store out) - (substitutable-info out))))) - (let*-values (((build download) - (fold2 (lambda (drv build download) - (let-values (((b d) - (derivation-prerequisites-to-build - store drv - #:mode mode - #:substitutable-info - substitutable-info))) - (values (append b build) - (append d download)))) - '() '() - drv)) - ((build) ; add the DRV themselves - (delete-duplicates - (append (map derivation-file-name - (remove built-or-substitutable? drv)) - (map derivation-input-path build)))) + (derivation-build-plan store + (map derivation-input drv) + #:mode mode + #:substitutable-info + substitutable-info)) ((download) ; add the references of DOWNLOAD (if use-substitutes? (delete-duplicates @@ -860,8 +842,8 @@ report what is prerequisites are available for download." download)))) download)) ((graft hook build) - (match (fold (lambda (file acc) - (let ((drv (read-derivation-from-file file))) + (match (fold (lambda (drv acc) + (let ((file (derivation-file-name drv))) (match acc ((#:graft graft #:hook hook #:build build) (cond From a25006198690dc263ce1b13de6733055c6d6eba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 09:38:23 +0200 Subject: [PATCH 214/221] graph: Use 'derivation-input-derivation'. * guix/scripts/graph.scm (derivation-dependencies): Use 'derivation-input-derivation'. --- guix/scripts/graph.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/guix/scripts/graph.scm b/guix/scripts/graph.scm index 8fe81ad64b..2e14857f1e 100644 --- a/guix/scripts/graph.scm +++ b/guix/scripts/graph.scm @@ -254,8 +254,7 @@ GNU-BUILD-SYSTEM have zero dependencies." "Return the objects and store items corresponding to the dependencies of OBJ, a or store item." (if (derivation? obj) - (append (map (compose read-derivation-from-file derivation-input-path) - (derivation-inputs obj)) + (append (map derivation-input-derivation (derivation-inputs obj)) (derivation-sources obj)) '())) From 5cf4b26d52bcea382d98fb4becce89be9ee37b55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 11:28:29 +0200 Subject: [PATCH 215/221] derivations: now aggregates a . Consequently, the whole graph of object is readily available without having to go through 'read-derivation-from-file', which could have cache misses if the requested object had been GC'd in the meantime. This is an important property for the performance of things like 'derivation-build-plan' that traverse the derivation graph. * guix/derivations.scm (): Replace 'path' field by 'derivation'. (derivation-input-path): Adjust accordingly. (derivation-input-key): New procedure. (derivation-input-output-paths): Adjust accordingly. (coalesce-duplicate-inputs): Likewise. (derivation-prerequisites): Use 'derivation-input-key' to compute keys for INPUT-SET. (derivation-build-plan): Likewise. (read-derivation): Add optional 'read-derivation-from-file' parameter. [make-input-drvs]: Call it. (write-derivation)[write-input]: Adjust to new . (derivation/masked-inputs): Likewise, and remove redundant 'coalesce-duplicate-inputs' call. (derivation)[input->derivation-input]: Change to consider only the derivation case. Update call to 'make-derivation-input'. [input->source]: New procedure. Separate sources from inputs. (map-derivation): Adjust to new . * tests/derivations.scm ("parse & export"): Pass a second argument to 'read-derivation'. ("build-expression->derivation and derivation-prerequisites") ("derivation-prerequisites and valid-derivation-input?"): Adjust to new . --- guix/derivations.scm | 156 ++++++++++++++++++++++++------------------ tests/derivations.scm | 10 +-- 2 files changed, 95 insertions(+), 71 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index f6e94694fd..5c568f223b 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -152,22 +152,28 @@ (recursive? derivation-output-recursive?)) ; Boolean (define-immutable-record-type - (make-derivation-input path sub-derivations) + (make-derivation-input drv sub-derivations) derivation-input? - (path derivation-input-path) ; store path + (drv derivation-input-derivation) ; (sub-derivations derivation-input-sub-derivations)) ; list of strings -(define (derivation-input-derivation input) - "Return the object INPUT refers to." - (read-derivation-from-file (derivation-input-path input))) + +(define (derivation-input-path input) + "Return the file name of the derivation INPUT refers to." + (derivation-file-name (derivation-input-derivation input))) (define* (derivation-input drv #:optional (outputs (derivation-output-names drv))) "Return a for the OUTPUTS of DRV." ;; This is a public interface meant to be more convenient than ;; 'make-derivation-input' and giving us more control. - (make-derivation-input (derivation-file-name drv) - outputs)) + (make-derivation-input drv outputs)) + +(define (derivation-input-key input) + "Return an object for which 'equal?' and 'hash' are constant-time, and which +can thus be used as a key for INPUT in lookup tables." + (cons (derivation-input-path input) + (derivation-input-sub-derivations input))) (set-record-type-printer! (lambda (drv port) @@ -209,8 +215,8 @@ download with a fixed hash (aka. `fetchurl')." "Return the list of output paths corresponding to INPUT, a ." (match input - (($ path sub-drvs) - (map (cut derivation-path->output-path path <>) + (($ drv sub-drvs) + (map (cut derivation->output-path drv <>) sub-drvs)))) (define (valid-derivation-input? store input) @@ -225,20 +231,20 @@ they are coalesced, with their sub-derivations merged. This is needed because Nix itself keeps only one of them." (fold (lambda (input result) (match input - (($ path sub-drvs) + (($ (= derivation-file-name path) sub-drvs) ;; XXX: quadratic (match (find (match-lambda - (($ p s) + (($ (= derivation-file-name p) + s) (string=? p path))) result) (#f (cons input result)) - ((and dup ($ _ sub-drvs2)) + ((and dup ($ drv sub-drvs2)) ;; Merge DUP with INPUT. (let ((sub-drvs (delete-duplicates (append sub-drvs sub-drvs2)))) - (cons (make-derivation-input path - (sort sub-drvs string - (lambda (substitutables) - (loop rest build - (append substitutables substitute) - (set-insert input visited)))) - (else - (let ((deps (derivation-inputs - (derivation-input-derivation input)))) - (loop (append deps rest) - (cons (derivation-input-derivation input) build) - substitute - (set-insert input visited))))))))) + (let ((key (derivation-input-key input))) + (cond ((set-contains? visited key) + (loop rest build substitute visited)) + ((input-built? input) + (loop rest build substitute + (set-insert key visited))) + ((input-substitutable-info input) + => + (lambda (substitutables) + (loop rest build + (append substitutables substitute) + (set-insert key visited)))) + (else + (let ((deps (derivation-inputs + (derivation-input-derivation input)))) + (loop (append deps rest) + (cons (derivation-input-derivation input) build) + substitute + (set-insert key visited)))))))))) (define-deprecated (derivation-prerequisites-to-build store drv #:rest rest) derivation-build-plan @@ -410,10 +419,15 @@ by 'substitution-oracle'." (list (derivation-input drv)) rest))) (values (map derivation-input build) download))) -(define (read-derivation drv-port) +(define* (read-derivation drv-port + #:optional (read-derivation-from-file + read-derivation-from-file)) "Read the derivation from DRV-PORT and return the corresponding -object. Most of the time you'll want to use 'read-derivation-from-file', -which caches things as appropriate and is thus more efficient." +object. Call READ-DERIVATION-FROM-FILE to read derivations declared as inputs +of the derivation being parsed. + +Most of the time you'll want to use 'read-derivation-from-file', which caches +things as appropriate and is thus more efficient." (define comma (string->symbol ",")) @@ -449,8 +463,9 @@ which caches things as appropriate and is thus more efficient." (fold-right (lambda (input result) (match input ((path (sub-drvs ...)) - (cons (make-derivation-input path sub-drvs) - result)))) + (let ((drv (read-derivation-from-file path))) + (cons (make-derivation-input drv sub-drvs) + result))))) '() x)) @@ -552,9 +567,15 @@ that form." (define (write-input input port) (match input - (($ path sub-drvs) + (($ obj sub-drvs) (display "(\"" port) - (display path port) + + ;; 'derivation/masked-inputs' produces objects that contain a string + ;; instead of a , so we need to account for that. + (display (if (derivation? obj) + (derivation-file-name obj) + obj) + port) (display "\"," port) (write-string-list sub-drvs) (display ")" port)))) @@ -645,13 +666,16 @@ name of each input with that input's hash." (($ outputs inputs sources system builder args env-vars) (let ((inputs (map (match-lambda - (($ path sub-drvs) + (($ (= derivation-file-name path) + sub-drvs) (let ((hash (derivation-path->base16-hash path))) (make-derivation-input hash sub-drvs)))) inputs))) (make-derivation outputs - (sort (coalesce-duplicate-inputs inputs) - derivation-inputderivation-input (match-lambda (((? derivation? drv)) - (make-derivation-input (derivation-file-name drv) '("out"))) + (make-derivation-input drv '("out"))) (((? derivation? drv) sub-drvs ...) - (make-derivation-input (derivation-file-name drv) sub-drvs)) - (((? direct-store-path? input)) - (make-derivation-input input '("out"))) - (((? direct-store-path? input) sub-drvs ...) - (make-derivation-input input sub-drvs)) - ((input . _) - (let ((path (add-to-store store (basename input) - #t "sha256" input))) - (make-derivation-input path '()))))) + (make-derivation-input drv sub-drvs)) + (_ #f))) + + (define input->source + (match-lambda + (((? string? input) . _) + (if (direct-store-path? input) + input + (add-to-store store (basename input) + #t "sha256" input))) + (_ #f))) ;; Note: lists are sorted alphabetically, to conform with the behavior of ;; C++ `std::map' in Nix itself. @@ -828,29 +854,24 @@ derivation. It is kept as-is, uninterpreted, in the derivation." (make-derivation-output "" hash-algo hash recursive?))) (sort outputs stringsource inputs)) + stringderivation-input - (delete-duplicates inputs))) + (filter-map input->derivation-input inputs)) derivation-inputbytevector drv) - (map derivation-input-path inputs))) + (append (map derivation-input-path inputs) + sources))) (drv* (set-field drv (derivation-file-name) file))) (hash-set! %derivation-cache file drv*) drv*))) @@ -920,7 +941,8 @@ recursively." ;; in the format used in 'derivation' calls. (mlambda (input loop) (match input - (($ path (sub-drvs ...)) + (($ (= derivation-file-name path) + (sub-drvs ...)) (match (vhash-assoc path mapping) ((_ . (? derivation? replacement)) (cons replacement sub-drvs)) diff --git a/tests/derivations.scm b/tests/derivations.scm index 35fb20bab0..54fa588969 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -87,9 +87,11 @@ (test-assert "parse & export" (let* ((f (search-path %load-path "tests/test.drv")) (b1 (call-with-input-file f get-bytevector-all)) - (d1 (read-derivation (open-bytevector-input-port b1))) + (d1 (read-derivation (open-bytevector-input-port b1) + identity)) (b2 (call-with-bytevector-output-port (cut write-derivation d1 <>))) - (d2 (read-derivation (open-bytevector-input-port b2)))) + (d2 (read-derivation (open-bytevector-input-port b2) + identity))) (and (equal? b1 b2) (equal? d1 d2)))) @@ -724,7 +726,7 @@ (test-assert "build-expression->derivation and derivation-prerequisites" (let ((drv (build-expression->derivation %store "fail" #f))) (any (match-lambda - (($ path) + (($ (= derivation-file-name path)) (string=? path (derivation-file-name (%guile-for-build))))) (derivation-prerequisites drv)))) @@ -741,7 +743,7 @@ (match (derivation-prerequisites c (cut valid-derivation-input? %store <>)) - ((($ file ("out"))) + ((($ (= derivation-file-name file) ("out"))) (string=? file (derivation-file-name b))) (x (pk 'fail x #f))))) From fd951cd543d9f4d3ecfa4570e51797f84e79068b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 11:40:16 +0200 Subject: [PATCH 216/221] derivations: 'derivation' preserves pointer equality. * guix/derivations.scm (derivation): Check if FILE is already in %DERIVATION-CACHE and return it if it is. --- guix/derivations.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 5c568f223b..403e86749b 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -873,8 +873,12 @@ derivation. It is kept as-is, uninterpreted, in the derivation." (append (map derivation-input-path inputs) sources))) (drv* (set-field drv (derivation-file-name) file))) - (hash-set! %derivation-cache file drv*) - drv*))) + ;; Preserve pointer equality. This improves the performance of + ;; 'eq?'-memoization on derivations. + (or (hash-ref %derivation-cache file) + (begin + (hash-set! %derivation-cache file drv*) + drv*))))) (define (invalidate-derivation-caches!) "Invalidate internal derivation caches. This is mostly useful for From 7c690a47381f645ec5ec0a1fd6ffc34dba1b69c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 12:39:39 +0200 Subject: [PATCH 217/221] derivations: 'build-derivations' can be passed derivation inputs. * guix/derivations.scm (build-derivations): Accept records among DERIVATIONS. * tests/derivations.scm ("build-derivations with specific output"): Test it. --- guix/derivations.scm | 5 +++++ tests/derivations.scm | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 403e86749b..433b4551a5 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -1016,6 +1016,11 @@ derivation/output pairs, using the specified MODE." (build-things store (map (match-lambda ((? derivation? drv) (derivation-file-name drv)) + ((? derivation-input? input) + (cons (derivation-input-path input) + (string-join + (derivation-input-sub-derivations input) + ","))) ((? string? file) file) (((? derivation? drv) . output) (cons (derivation-file-name drv) diff --git a/tests/derivations.scm b/tests/derivations.scm index 54fa588969..d173a78906 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -807,9 +807,12 @@ ;; Ask for nothing but the "out" output of DRV. (build-derivations store `((,drv . "out"))) + ;; Synonymous: + (build-derivations store (list (derivation-input drv '("out")))) + (valid-path? store out) - (equal? (pk 'x content) (pk 'y (call-with-input-file out get-string-all))) - ))))) + (equal? (pk 'x content) + (pk 'y (call-with-input-file out get-string-all)))))))) (test-assert "build-expression->derivation and derivation-build-plan" (let ((drv (build-expression->derivation %store "fail" #f))) From 066eeae1a197b1926c7ffc42919d684686f56fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 18:28:45 +0200 Subject: [PATCH 218/221] packages: 'specification->package+output' distinguishes "no output specified". Until now the caller couldn't tell the different between a spec like "foo:out" and one like "foo". This change allows users to distinguish between these two cases. * gnu/packages.scm (specification->package+output): Disable output membership test when OUTPUT = #f and SUB-DRV = #f. * tests/packages.scm ("specification->package+output") ("specification->package+output invalid output") ("specification->package+output no default output") ("specification->package+output invalid output, no default"): New tests. --- gnu/packages.scm | 8 ++++++-- tests/packages.scm | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/gnu/packages.scm b/gnu/packages.scm index 48390575ba..acb247e114 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -534,14 +534,18 @@ optionally contain a version number and an output name, as in these examples: guile@2.0.9:debug If SPEC does not specify a version number, return the preferred newest -version; if SPEC does not specify an output, return OUTPUT." +version; if SPEC does not specify an output, return OUTPUT. + +When OUTPUT is false and SPEC does not specify any output, return #f as the +output." (let-values (((name version sub-drv) (package-specification->name+version+output spec output))) (match (%find-package spec name version) (#f (values #f #f)) (package - (if (member sub-drv (package-outputs package)) + (if (or (and (not output) (not sub-drv)) + (member sub-drv (package-outputs package))) (values package sub-drv) (leave (G_ "package `~a' lacks output `~a'~%") (package-full-name package) diff --git a/tests/packages.scm b/tests/packages.scm index 613b2f1221..836d446657 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -1227,6 +1227,38 @@ (lambda (key . args) key))) +(test-equal "specification->package+output" + `((,coreutils "out") (,coreutils "debug")) + (list (call-with-values (lambda () + (specification->package+output "coreutils")) + list) + (call-with-values (lambda () + (specification->package+output "coreutils:debug")) + list))) + +(test-equal "specification->package+output invalid output" + 'error + (catch 'quit + (lambda () + (specification->package+output "coreutils:does-not-exist")) + (lambda _ + 'error))) + +(test-equal "specification->package+output no default output" + `(,coreutils #f) + (call-with-values + (lambda () + (specification->package+output "coreutils" #f)) + list)) + +(test-equal "specification->package+output invalid output, no default" + 'error + (catch 'quit + (lambda () + (specification->package+output "coreutils:does-not-exist" #f)) + (lambda _ + 'error))) + (test-equal "find-package-locations" (map (lambda (package) (cons (package-version package) From d38d4ffa10d74e361e15e18d04898eb5af3fb2eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 18:35:26 +0200 Subject: [PATCH 219/221] ui: 'show-what-to-build' accepts derivation inputs. This is a followup to f8a9f99cd602ce1dc5307cb0c21ae718ad8796bb. * guix/ui.scm (show-what-to-build)[inputs]: New variables. [substitutable-info]: Build the derivation list from INPUTS. Pass INPUTS to 'derivation-build-plan'. --- guix/ui.scm | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 9748471877..630afa47bf 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -812,20 +812,28 @@ warning." #:key dry-run? (use-substitutes? #t) (mode (build-mode normal))) "Show what will or would (depending on DRY-RUN?) be built in realizing the -derivations listed in DRV using MODE, a 'build-mode' value. Return #t if -there's something to build, #f otherwise. When USE-SUBSTITUTES?, check and -report what is prerequisites are available for download." +derivations listed in DRV using MODE, a 'build-mode' value. The elements of +DRV can be either derivations or derivation inputs. + +Return #t if there's something to build, #f otherwise. When USE-SUBSTITUTES?, +check and report what is prerequisites are available for download." + (define inputs + (map (match-lambda + ((? derivation? drv) (derivation-input drv)) + ((? derivation-input? input) input)) + drv)) + (define substitutable-info ;; Call 'substitutation-oracle' upfront so we don't end up launching the ;; substituter many times. This makes a big difference, especially when ;; DRV is a long list as is the case with 'guix environment'. (if use-substitutes? - (substitution-oracle store drv #:mode mode) + (substitution-oracle store (map derivation-input-derivation inputs) + #:mode mode) (const #f))) (let*-values (((build download) - (derivation-build-plan store - (map derivation-input drv) + (derivation-build-plan store inputs #:mode mode #:substitutable-info substitutable-info)) From 08c95ba28d5d5c9c96f6d1bdcfb75a04e5177a74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Jun 2019 18:46:53 +0200 Subject: [PATCH 220/221] ui: 'show-derivation-outputs' accepts records. * guix/ui.scm (show-derivation-outputs): Handle records. --- guix/ui.scm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 630afa47bf..6d243ef041 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -777,12 +777,19 @@ error." str)))) (define (show-derivation-outputs derivation) - "Show the output file names of DERIVATION." - (format #t "~{~a~%~}" - (map (match-lambda - ((out-name . out) - (derivation->output-path derivation out-name))) - (derivation-outputs derivation)))) + "Show the output file names of DERIVATION, which can be a derivation or a +derivation input." + (define (show-outputs derivation outputs) + (format #t "~{~a~%~}" + (map (cut derivation->output-path derivation <>) + outputs))) + + (match derivation + ((? derivation?) + (show-outputs derivation (derivation-output-names derivation))) + ((? derivation-input? input) + (show-outputs (derivation-input-derivation input) + (derivation-input-sub-derivations input))))) (define* (check-available-space need #:optional (directory (%store-prefix))) From c30d117822a8ca26cd8c06c0a3974955bef68eac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Jun 2019 11:05:52 +0200 Subject: [PATCH 221/221] tests: Avoid TCP port collision between lint.scm and guix-daemon.sh. This could lead to random deadlocks in one of these two tests when running "make check -j5". * tests/guix-daemon.sh (tcp_socket): Change port to 9998 to avoid collision with tests/lint.scm. --- tests/guix-daemon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh index ce82cfd1e6..78f82eafe2 100644 --- a/tests/guix-daemon.sh +++ b/tests/guix-daemon.sh @@ -196,7 +196,7 @@ done # Make sure garbage collection from a TCP connection does not work. -tcp_socket="127.0.0.1:9999" +tcp_socket="127.0.0.1:9998" guix-daemon --listen="$tcp_socket" & daemon_pid=$!