From 96a9a8d398b0bbb44ad96d41597a8f0323628e86 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 23 Jul 2019 16:57:25 +0200 Subject: gnu: llvm: Add 'system->llvm-target' procedure. * gnu/packages/llvm.scm (system->llvm-target): New procedure. --- gnu/packages/llvm.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 1fe9af38e0..9efb4a4841 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -46,7 +46,30 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:export (system->llvm-target)) + +(define* (system->llvm-target #:optional + (system (or (and=> (%current-target-system) + gnu-triplet->nix-system) + (%current-system)))) + "Return the LLVM target name that corresponds to SYSTEM, a system type such +as \"x86_64-linux\"." + ;; See the 'lib/Target' directory of LLVM for a list of supported targets. + (letrec-syntax ((matches (syntax-rules (=>) + ((_ (system-prefix => target) rest ...) + (if (string-prefix? system-prefix system) + target + (matches rest ...))) + ((_) + (error "LLVM target for system is unknown" system))))) + (matches ("aarch64" => "AArch64") + ("armhf" => "ARM") + ("mips64el" => "Mips") + ("powerpc" => "PowerPC") + ("riscv" => "RISCV") + ("x86_64" => "X86") + ("i686" => "X86")))) (define-public llvm-8 (package -- cgit v1.2.3 From 7304d5623ab5cc35289cb1535cbd0d8a37691fac Mon Sep 17 00:00:00 2001 From: Nicolò Balzarotti Date: Tue, 23 Jul 2019 23:56:21 +0200 Subject: gnu: julia: Update to 1.1.1. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/julia.scm (libuv-julia): Update to commit 26dbe56. (libunwind-for-julia): Remove. (llvm-patch-url, llvm-patch): New procedures. (llvm-julia): New variable. (julia): Update to 1.1.1. [arguments]: Adjust 'prepare-deps' to new set of dependencies. Adjust 'hardcode-soname-map': remove openlibm and libfftw handling. Update file names in 'fix-include-and-link-paths' and 'hardcode-paths'. Adjust 'disable-broken-tests'. Pass PREFIX, LIBFLAS, and LIBBLASNAME in #:make-flags; update other flags. [inputs]: Replace LLVM-3.9.1 with LLVM-JULIA. Replace LIBUNWIND-FOR-JULIA with LIBUNWIND. Add "rmath" and "libwhich". [native-inputs]: Remove "unicode-data". Co-authored-by: Ludovic Courtès --- gnu/packages/julia.scm | 262 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 180 insertions(+), 82 deletions(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index fa9709c40c..43254f25fd 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -47,9 +47,12 @@ #:use-module (ice-9 match)) (define libuv-julia - (let ((commit "52d72a52cc7ccd570929990f010ed16e2ec604c8") - (revision "5")) - (package (inherit libuv) + (let ((commit "26dbe5672c33fc885462c509fe2a9b36f35866fd") + (revision "6")) + ;; When upgrading Julia, also upgrade this. + ;; Get the commit from https://github.com/JuliaLang/julia/blob/v1.1.1/deps/libuv.version + (package + (inherit libuv) (name "libuv-julia") (version (string-append "1.9.0-" revision "." (string-take commit 8))) (source (origin @@ -60,7 +63,7 @@ (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1daxh6ci6q7znxxajr3bm16dd53ragm0d681wf4kzg542qnjq3lh")))) + "17pn2xmqaramilx897s9grs966i5246gi6sric5alch4g9j4685n")))) (build-system gnu-build-system) (arguments (substitute-keyword-arguments (package-arguments libuv) @@ -69,22 +72,93 @@ (delete 'autogen))))) (home-page "https://github.com/JuliaLang/libuv")))) -(define libunwind-for-julia +(define (llvm-patch-url version name) + (string-append "https://raw.githubusercontent.com/JuliaLang/julia/v" version + "/deps/patches/" name)) + +(define (llvm-patch name sha) + (let ((version "1.1.1")) + (origin (method url-fetch) + (uri (llvm-patch-url version name)) + (sha256 (base32 sha)) + (file-name name)))) + +(define llvm-julia (package - (inherit libunwind) - (version "1.1-julia2") + (inherit llvm-6) + (name "llvm-julia") (source (origin (method url-fetch) - (uri (string-append "https://s3.amazonaws.com/julialang/src/" - "libunwind-" version ".tar.gz")) + (uri "http://releases.llvm.org/6.0.1/llvm-6.0.1.src.tar.xz") (sha256 (base32 - "0499x7sg2v18a6cry6l8y713cgmic0adnjph8i0xr1db9p7n8qyv")))))) + "1qpls3vk85lydi5b4axl0809fv932qgsqgdgrk098567z4jc7mmn")) + ;; Those patches are inside the Julia source repo. + ;; They are _not_ Julia specific (https://github.com/julialang/julia#llvm) + ;; but they are required to build Julia. + ;; Discussion: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=919628 + (patches + (list + (llvm-patch "llvm-6.0-D44650.patch" + "1336q4vqayr94wdcnlmcxh90mjdh34dzw9x2cbiqjnx9b1j8fxyb") + (llvm-patch "llvm-6.0-DISABLE_ABI_CHECKS.patch" + "014fawd1ba7yckalypfld22zgic87x9nx3cim42zrwygywd36pyg") + (llvm-patch "llvm-6.0-NVPTX-addrspaces.patch" + "1qdi2zmrjsrj0h84zv2vyly2hjcn4f67mfy0s1q353g4v4jkscqc") + (llvm-patch "llvm-6.0.0_D27296-libssp.patch" + "0s5hi2r1j63i8m6ig1346crx2aiv9f7rgb3mg80kw1wx5y7pdpfh") + (llvm-patch "llvm-D27629-AArch64-large_model_6.0.1.patch" + "1qrshmlqvnasdyc158vfn3hnbigqph3lsq7acb9w8lwkpnnm2j4z") + (llvm-patch "llvm-D34078-vectorize-fdiv.patch" + "1696hg84a0jxcnggvqsc2cdp271hf9a44p4qsd078qm1mfawkaay") + (llvm-patch "llvm-D42262-jumpthreading-not-i1.patch" + "1c8w210gwidbnkkw8anp17dk5pnxws2fl3mb2qxh7y9wzfpixgaq") + (llvm-patch "llvm-D44892-Perf-integration.patch" + "0r37jd0ssh2k1pndkfd5blgpg9z90im4vlzprhb0n0wwz45g4b05") + (llvm-patch "llvm-D46460.patch" + "1miqgswdc0qvbaf4571c2xkxyp9ais06b1bcpa83sq22vr4hbsfb") + (llvm-patch "llvm-D49832-SCEVPred.patch" + "0v5c88hgqj6dymv3j86ca5mhpqab5fbnrvjiw1nvnrnya9l4dlbn") + (llvm-patch "llvm-D50010-VNCoercion-ni.patch" + "0iblb3q1xixwrb12jpb89h3ywmqmzdp6aqp416j4ncwakyjhhfkp") + (llvm-patch "llvm-D50167-scev-umin.patch" + "1f2rakcnnyhr7w10k7gqg0k0491pyvx5ijplivw557f714ys3q6v") + (llvm-patch "llvm-OProfile-line-num.patch" + "1jvbbmwyags0xfwamb13qrf3rgcz9i1r03m9lava7swag8xb78c7") + (llvm-patch "llvm-PPC-addrspaces.patch" + "1f23nhsxh2s3jskbgs7da9nwg3s1hrkbk5aahl08x41wi3mny01p") + (llvm-patch "llvm-rL323946-LSRTy.patch" + "10cz3vy1yw0w643z7xx021wa4kymx9fcm3bjg61s6vzdqd6d9fns") + (llvm-patch "llvm-rL326967-aligned-load.patch" + "04jxnv32yj5x17hqhi8g2p8rhgp38gmjzr871w7z8s44pq10v9v4") + (llvm-patch "llvm-rL327898.patch" + "15ah49gbsll23z28kpyahi5vl0fh3fkxcgd1zmxxdcl96s3x8bnq"))))) + (arguments + (substitute-keyword-arguments (package-arguments llvm-6) + ((#:configure-flags flags) + `(list ;; Taken from NixOS. Only way I could get libLLVM-6.0.so + "-DCMAKE_BUILD_TYPE=Release" + + ;; Build a native compiler and the NVPTX backend (NVIDIA) since + ;; Julia insists on it, nothing more. This reduces build times and + ;; disk usage. + ,(string-append "-DLLVM_TARGETS_TO_BUILD=" (system->llvm-target)) + "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=NVPTX" + + "-DLLVM_INSTALL_UTILS=ON" + "-DLLVM_BUILD_TESTS=ON" + "-DLLVM_ENABLE_FFI=ON" + "-DLLVM_ENABLE_RTTI=ON" + ;; "-DLLVM_HOST_TRIPLE=${stdenv.hostPlatform.config}" + ;; "-DLLVM_DEFAULT_TARGET_TRIPLE=${stdenv.hostPlatform.config}" + ;; "-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly" + "-DLLVM_ENABLE_DUMP=ON" + "-DLLVM_LINK_LLVM_DYLIB=ON")))))) (define-public julia (package (name "julia") - (version "0.6.0") + (version "1.1.1") (source (origin (method url-fetch) (uri (string-append @@ -92,7 +166,7 @@ version "/julia-" version ".tar.gz")) (sha256 (base32 - "0rd6lcc9sic10q1j3c6f9qr901i1c4554m93n2sz5b3mh37byqhw")))) + "0hk983mywimclgnjc41zmlppm5kfdz2aj85ky07p49ilcqxi998f")))) (build-system gnu-build-system) (arguments `(#:test-target "test" @@ -123,9 +197,23 @@ (copy-file (string-append (assoc-ref inputs "virtualenv") "/bin/virtualenv") "julia-env") - (copy-file (assoc-ref inputs "unicode-data") - "doc/UnicodeData.txt") - #t)) + (copy-file (assoc-ref inputs "libwhich") + (string-append "deps/srccache/libwhich-" + "81e9723c0273d78493dc8c8ed570f68d9ce7e89e" + ".tar.gz")) + (copy-file (assoc-ref inputs "rmath") + "deps/srccache/Rmath-julia-0.1.tar.gz") + + ;; needed by libwhich + (setenv "LD_LIBRARY_PATH" + (string-join (map (lambda (pkg) + (string-append (assoc-ref inputs pkg) + "/lib")) + '("arpack-ng" "fftw" "gmp" "lapack" + "libgit2" "mpfr" "openblas" "openlibm" + "openspecfun" "pcre2")) + ":")) + #t)) ;; FIXME: Building the documentation requires Julia packages that ;; would be downloaded from the Internet. We should build them in a ;; separate build phase. @@ -168,19 +256,9 @@ ("lapack" "liblapack" "liblapack.so") ("libgit2" "libgit2" "libgit2.so") ("gmp" "libgmp" "libgmp.so") - ("openlibm" "libopenlibm" "libopenlibm.so") ("openspecfun" "libopenspecfun" "libopenspecfun.so") ("fftw" "libfftw3" "libfftw3_threads.so") ("fftwf" "libfftw3f" "libfftw3f_threads.so")))))) - (substitute* "base/fft/FFTW.jl" - (("const libfftw = Base.libfftw_name") - (string-append "const libfftw = \"" - (assoc-ref inputs "fftw") "/lib/libfftw3_threads.so" - "\"")) - (("const libfftwf = Base.libfftwf_name") - (string-append "const libfftwf = \"" - (assoc-ref inputs "fftwf") "/lib/libfftw3f_threads.so" - "\""))) (substitute* "base/math.jl" (("const libm = Base.libm_name") (string-append "const libm = \"" @@ -192,11 +270,6 @@ (assoc-ref inputs "openspecfun") "/lib/libopenspecfun.so" "\""))) - (substitute* "base/pcre.jl" - (("const PCRE_LIB = \"libpcre2-8\"") - (string-append "const PCRE_LIB = \"" - (assoc-ref inputs "pcre2") - "/lib/libpcre2-8.so" "\""))) #t)) (add-before 'build 'fix-include-and-link-paths (lambda* (#:key inputs #:allow-other-keys) @@ -218,9 +291,9 @@ "/lib/libuv.so "))) (substitute* "base/Makefile" - (("\\$\\(build_includedir\\)/uv-errno.h") + (("\\$\\(build_includedir\\)/uv/errno.h") (string-append (assoc-ref inputs "libuv") - "/include/uv-errno.h"))) + "/include/uv/errno.h"))) #t)) (add-before 'build 'replace-default-shell (lambda _ @@ -229,37 +302,37 @@ #t)) (add-after 'unpack 'hardcode-paths (lambda _ - (substitute* "base/interactiveutil.jl" + (substitute* "stdlib/InteractiveUtils/src/InteractiveUtils.jl" (("`which") (string-append "`" (which "which"))) (("`wget") (string-append "`" (which "wget")))) #t)) (add-before 'check 'disable-broken-tests (lambda _ - ;; Adjust expected error messages to match what current libgit2 - ;; provides. - (substitute* "test/libgit2.jl" - (("Invalid Content-Type") "invalid Content-Type") - (("Failed to resolve path") "failed to resolve path")) - - (substitute* "test/choosetests.jl" - ;; These tests fail, probably because some of the input - ;; binaries have been stripped and thus backtraces don't look - ;; as expected. - (("\"backtrace\",") "") - (("\"compile\",") "") - (("\"replutil\",") "") - (("\"cmdlineargs\",") "") - ;; FIXME: This test fails with the following error: - ;; Error in testset file: - ;; Test Failed - ;; Expression: download("ba\0d", "good") - ;; Expected: ArgumentError - ;; Thrown: Base.UVError - (("\"file\",") "")) - #t))) + (define (touch file-name) + (call-with-output-file file-name (const #t))) + ;; FIXME: All git tests works except this one. But *THIS* "fix" + ;; is not working, so right now I'm disabling all libgit2.jl tests + ;; (substitute* "stdlib/LibGit2/test/libgit2.jl" + ;; (("!LibGit2.use_http_path(cfg, github_cred)") "true") + ;; (("LibGit2.use_http_path(cfg, mygit_cred)") "true")) + (map (lambda (test) + (delete-file test) + (touch test)) + '("stdlib/Sockets/test/runtests.jl" + "stdlib/Distributed/test/runtests.jl" + ;; FIXME: see above + "stdlib/LibGit2/test/libgit2.jl")) + (substitute* "test/choosetests.jl" + ;; These tests fail, probably because some of the input + ;; binaries have been stripped and thus backtraces don't look + ;; as expected. + (("\"backtrace\",") "") + (("\"cmdlineargs\",") "")) + #t))) #:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")) + (string-append "PREFIX=" (assoc-ref %outputs "out")) ;; Passing the MARCH flag is necessary to build binary substitutes for ;; the supported architectures. @@ -278,6 +351,8 @@ "USE_SYSTEM_LAPACK=1" "USE_SYSTEM_BLAS=1" "USE_BLAS64=0" ;needed when USE_SYSTEM_BLAS=1 + "LIBBLAS=-lopenblas" + "LIBBLASNAME=libopenblas" "USE_SYSTEM_FFTW=1" "LIBFFTWNAME=libfftw3" @@ -296,26 +371,29 @@ (assoc-ref %build-inputs "utf8proc") "/include") "USE_SYSTEM_LLVM=1" - "USE_LLVM_SHLIB=0" ; FIXME: fails when set to 1 + "LLVM_VER=6.0.1" - "USE_SYSTEM_LIBUNWIND=1" - "USE_SYSTEM_LIBUV=1" - (string-append "LIBUV=" - (assoc-ref %build-inputs "libuv") - "/lib/libuv.so") - (string-append "LIBUV_INC=" - (assoc-ref %build-inputs "libuv") - "/include") - "USE_SYSTEM_PATCHELF=1" - "USE_SYSTEM_PCRE=1" - "USE_SYSTEM_OPENLIBM=1" - "USE_SYSTEM_GMP=1" - "USE_SYSTEM_MPFR=1" - "USE_SYSTEM_ARPACK=1" - "USE_SYSTEM_LIBGIT2=1" - "USE_SYSTEM_OPENSPECFUN=1"))) + "USE_LLVM_SHLIB=1" + "USE_SYSTEM_LIBUNWIND=1" + "USE_SYSTEM_LIBUV=1" + (string-append "LIBUV=" + (assoc-ref %build-inputs "libuv") + "/lib/libuv.so") + (string-append "LIBUV_INC=" + (assoc-ref %build-inputs "libuv") + "/include") + "USE_SYSTEM_PATCHELF=1" + "USE_SYSTEM_PCRE=1" + "USE_SYSTEM_OPENLIBM=1" + + "USE_SYSTEM_GMP=1" + "USE_SYSTEM_MPFR=1" + "USE_SYSTEM_ARPACK=1" + "USE_SYSTEM_LIBGIT2=1" + "USE_SYSTEM_ZLIB=1" + "USE_SYSTEM_OPENSPECFUN=1"))) (inputs - `(("llvm" ,llvm-3.9.1) + `(("llvm" ,llvm-julia) ;; The bundled version is 3.3.0 so stick to that version. With other ;; versions, we get test failures in 'linalg/arnoldi' as described in @@ -325,7 +403,7 @@ ("coreutils" ,coreutils) ;for bindings to "mkdir" and the like ("lapack" ,lapack) ("openblas" ,openblas) ;Julia does not build with Atlas - ("libunwind" ,libunwind-for-julia) + ("libunwind" ,libunwind) ("openlibm" ,openlibm) ("openspecfun" ,openspecfun) ("libgit2" ,libgit2) @@ -346,6 +424,18 @@ ;; would eventually be replaced with proper Guix packages. ;; TODO: run "make -f contrib/repackage_system_suitesparse4.make" to copy static lib + ;; Find dependency versions here: + ;; https://raw.githubusercontent.com/JuliaLang/julia/77a2c1e245c85812dc1c7687540beedecc52758f/deps/Versions.make + ("rmath" + ,(origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/JuliaLang/Rmath-julia") + (commit "v0.1"))) + (file-name "rmath-julia-0.1-checkout") + (sha256 + (base32 + "1zkpy0cg5zivq40zbhbdgj9128fqzs2j94wkwih8nc6xaj3gp9p6")))) ("suitesparse" ,(origin (method url-fetch) @@ -362,6 +452,21 @@ (sha256 (base32 "0wp6ld9vk11f4nnkn56627zmlv9k5vafi99qa3yyn1pgcd61zcfs")))) + ("libwhich" + ,(let ((commit "81e9723c0273d78493dc8c8ed570f68d9ce7e89e")) + (origin + ;; Note: We use a /tarball URL, but that's because Julia's build + ;; system checks the hash of that tarball; thus we can't use + ;; 'git-fetch'. + (method url-fetch) + (uri (string-append + "https://api.github.com/repos/vtjnash/libwhich/tarball/" + commit)) + (file-name (string-append "libwhich-" (string-take commit 7) + ".tar.gz")) + (sha256 + (base32 + "1p7zg31kpmpbmh1znrk1xrbd074agx13b9q4dcw8n2zrwwdlbz3b"))))) ("dsfmt" ,(origin (method url-fetch) @@ -376,14 +481,7 @@ ("perl" ,perl) ("patchelf" ,patchelf) ("pkg-config" ,pkg-config) - ("python" ,python-2) - ("unicode-data" - ,(origin - (method url-fetch) - (uri "http://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt") - (sha256 - (base32 - "13zfannnr6sa6s27ggvcvzmh133ndi38pfyxsssvjmw2s8ac9pv8")))))) + ("python" ,python-2))) ;; Julia is not officially released for ARM and MIPS. ;; See https://github.com/JuliaLang/julia/issues/10639 (supported-systems '("i686-linux" "x86_64-linux" "aarch64-linux")) -- cgit v1.2.3 From 2fa23d8f5c4db6be583f0bb0eeba0368f1513ec7 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 20 Jul 2019 12:45:34 +0800 Subject: deploy: Honor '--no-grafts'. * guix/scripts/deploy.scm (guix-deploy): Parameterize '%graft?'. --- guix/scripts/deploy.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 978cfb2a81..3acd32eaa7 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -23,6 +23,7 @@ #:use-module (guix scripts build) #:use-module (guix store) #:use-module (guix ui) + #:use-module (guix grafts) #:use-module (ice-9 format) #:use-module (srfi srfi-1) #:use-module (srfi srfi-37) @@ -80,5 +81,6 @@ Perform the deployment specified by FILE.\n")) (set-build-options-from-command-line store opts) (for-each (lambda (machine) (info (G_ "deploying to ~a...") (machine-display-name machine)) - (run-with-store store (deploy-machine machine))) + (parameterize ((%graft? (assq-ref opts 'graft?))) + (run-with-store store (deploy-machine machine)))) machines)))) -- cgit v1.2.3 From 3c618b9894d167399b820642d011aed251cf4ba3 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Sat, 20 Jul 2019 12:51:45 +0800 Subject: deploy: Handle the '--system' command line option. * guix/scripts/deploy.scm (show-help): Add help for '--system'. (%options): Add '-s' and '--system'. (guix-deploy): Parameterize %current-system. --- guix/scripts/deploy.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/guix/scripts/deploy.scm b/guix/scripts/deploy.scm index 3acd32eaa7..52bba3f3bf 100644 --- a/guix/scripts/deploy.scm +++ b/guix/scripts/deploy.scm @@ -23,6 +23,7 @@ #:use-module (guix scripts build) #:use-module (guix store) #:use-module (guix ui) + #:use-module (guix utils) #:use-module (guix grafts) #:use-module (ice-9 format) #:use-module (srfi srfi-1) @@ -41,6 +42,8 @@ (define (show-help) (display (G_ "Usage: guix deploy [OPTION] FILE... Perform the deployment specified by FILE.\n")) + (display (G_ " + -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"")) (show-build-options-help) (newline) (display (G_ " @@ -55,10 +58,14 @@ Perform the deployment specified by FILE.\n")) (lambda args (show-help) (exit 0))) + (option '(#\s "system") #t #f + (lambda (opt name arg result) + (alist-cons 'system arg + (alist-delete 'system result eq?)))) %standard-build-options)) (define %default-options - '((system . ,(%current-system)) + `((system . ,(%current-system)) (substitutes? . #t) (build-hook? . #t) (graft? . #t) @@ -81,6 +88,7 @@ Perform the deployment specified by FILE.\n")) (set-build-options-from-command-line store opts) (for-each (lambda (machine) (info (G_ "deploying to ~a...") (machine-display-name machine)) - (parameterize ((%graft? (assq-ref opts 'graft?))) + (parameterize ((%current-system (assq-ref opts 'system)) + (%graft? (assq-ref opts 'graft?))) (run-with-store store (deploy-machine machine)))) machines)))) -- cgit v1.2.3 From b9a178b6dc7c94f64ffad353f69edaa5956c40db Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 23 Jul 2019 19:55:28 -0400 Subject: doc: Warn about GPG warning. * doc/guix.texi (Binary Installation, USB Stick and DVD Installation): Warn users about the web-of-trust untrusted key warning from GPG. --- doc/guix.texi | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 8c5fa5f741..f6d9718f59 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -28,7 +28,7 @@ Copyright @copyright{} 2014, 2015, 2016 Alex Kost@* Copyright @copyright{} 2015, 2016 Mathieu Lirzin@* Copyright @copyright{} 2014 Pierre-Antoine Rault@* Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* -Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@* +Copyright @copyright{} 2015, 2016, 2017, 2019 Leo Famulari@* Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@* @@ -564,6 +564,10 @@ $ wget @value{OPENPGP-SIGNING-KEY-URL} \ @noindent and rerun the @code{gpg --verify} command. + +Take note that a warning like ``This key is not certified with a trusted +signature!'' is normal. + @c end authentication part @item @@ -1911,6 +1915,10 @@ $ wget @value{OPENPGP-SIGNING-KEY-URL} \ @noindent and rerun the @code{gpg --verify} command. + +Take note that a warning like ``This key is not certified with a trusted +signature!'' is normal. + @c end duplication This image contains the tools necessary for an installation. -- cgit v1.2.3 From 7dfda55ba249dda67772cd072b2b3b2cdd9dbf9c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 24 Jul 2019 16:36:49 +0200 Subject: gnu: libvirt-glib: Update to 2.0.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (libvirt-glib): Update to 2.0.0. [arguments]: Remove ‘fix-tests’ phase. --- gnu/packages/virtualization.scm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index e68007ec2c..71414f0f7e 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -479,23 +479,15 @@ to integrate other virtualization mechanisms if needed.") (define-public libvirt-glib (package (name "libvirt-glib") - (version "1.0.0") + (version "2.0.0") (source (origin (method url-fetch) (uri (string-append "ftp://libvirt.org/libvirt/glib/" "libvirt-glib-" version ".tar.gz")) (sha256 (base32 - "0iwa5sdbii52pjpdm5j37f67sdmf0kpcky4liwhy1nf43k85i4fa")))) + "0six9ckmvlwwyavyjkgc262qkpvfqgi8rjij7cyk00bmqq8c9s4l")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-tests - (lambda _ - (substitute* "tests/test-events.c" - (("/bin/true") (which "true"))) - #t))))) (inputs `(("libxml2" ,libxml2) ("libvirt" ,libvirt) -- cgit v1.2.3 From 7e2c050a88ef92ab32be5e7612f059f5be46ce3f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 24 Jul 2019 16:37:57 +0200 Subject: gnu: libvirt-glib: Propagate pkg-config requirements. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/virtualization.scm (libvirt-glib)[inputs]: Move glib, libvirt, libxml2, and gobject-introspection… [native-inputs]: …here. --- gnu/packages/virtualization.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index 71414f0f7e..c6371a6ac1 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -489,19 +489,21 @@ to integrate other virtualization mechanisms if needed.") "0six9ckmvlwwyavyjkgc262qkpvfqgi8rjij7cyk00bmqq8c9s4l")))) (build-system gnu-build-system) (inputs - `(("libxml2" ,libxml2) - ("libvirt" ,libvirt) - ("gobject-introspection" ,gobject-introspection) - ("glib" ,glib) - ("openssl" ,openssl) + `(("openssl" ,openssl) ("cyrus-sasl" ,cyrus-sasl) - ("lvm2" ,lvm2) ; for libdevmapper + ("lvm2" ,lvm2) ; for libdevmapper ("libyajl" ,libyajl))) (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool) ("glib" ,glib "bin") ("vala" ,vala))) + (propagated-inputs + ;; ‘Required:’ by the installed .pc files. + `(("glib" ,glib) + ("libvirt" ,libvirt) + ("libxml2" ,libxml2) + ("gobject-introspection" ,gobject-introspection))) (home-page "https://libvirt.org") (synopsis "GLib wrapper around libvirt") (description "libvirt-glib wraps the libvirt library to provide a -- cgit v1.2.3 From 4f20e0a2f629249cb751824cc85a719ebd4bf4bf Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 24 Jul 2019 19:06:25 +0200 Subject: gnu: spice-gtk: Update to 0.37. * gnu/packages/spice.scm (spice-gtk): Update to 0.37. [propagated-inputs]: Use latest spice-protocol. (spice-protocol-0.12): Remove unused variable. --- gnu/packages/spice.scm | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/gnu/packages/spice.scm b/gnu/packages/spice.scm index 1e9dfadf02..4787f107f0 100644 --- a/gnu/packages/spice.scm +++ b/gnu/packages/spice.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 David Craven -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Rutger Helling ;;; Copyright © 2019 Marius Bakke ;;; @@ -115,23 +115,10 @@ which allows users to view a desktop computing environment.") (home-page "https://www.spice-space.org") (license (list license:bsd-3 license:lgpl2.1+)))) -(define-public spice-protocol-0.12 - (package - (inherit spice-protocol) - (version "0.12.15") - (source (origin - (method url-fetch) - (uri (string-append - "https://www.spice-space.org/download/releases/" - "spice-protocol-" version ".tar.bz2")) - (sha256 - (base32 - "06b461i4jv741in8617jjpfk28wk7zs9p7841njkf4sbm8xv4kcb")))))) - (define-public spice-gtk (package (name "spice-gtk") - (version "0.36") + (version "0.37") (source (origin (method url-fetch) (uri (string-append @@ -139,7 +126,7 @@ which allows users to view a desktop computing environment.") "spice-gtk-" version ".tar.bz2")) (sha256 (base32 - "1kfpixfdmxs9wn3id48gc9bvfrgxz935y3wpykf40bgi9mcc69ki")))) + "1drvj8y35gnxbnrxsipwi15yh0vs9ixzv4wslz6r3lra8w3bfa0z")))) (build-system gnu-build-system) (propagated-inputs `(("gstreamer" ,gstreamer) @@ -148,7 +135,7 @@ which allows users to view a desktop computing environment.") ("gst-plugins-good" ,gst-plugins-good) ("gst-plugins-bad" ,gst-plugins-bad) ("gst-plugins-ugly" ,gst-plugins-ugly) - ("spice-protocol" ,spice-protocol-0.12) + ("spice-protocol" ,spice-protocol) ;; These are required by the pkg-config files. ("gtk+" ,gtk+) -- cgit v1.2.3 From 8126142baf2cadd7b0052ba7b1d0cd248c8cbc40 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 24 Jul 2019 21:28:09 +0200 Subject: gnu: terminator: Propagate gsettings-desktop-schemas. * gnu/packages/gnome.scm (terminator)[propagated-inputs]: Add gsettings-desktop-schemas. --- gnu/packages/gnome.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 9aa4ed538b..3f7bbac214 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8156,6 +8156,9 @@ advanced image management tool") ("python2-pygobject" ,python2-pygobject) ("python2-psutil" ,python2-psutil) ("vte" ,vte))) + (propagated-inputs + ;; Terminator refuses to start when these are not present. + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) (arguments `(#:python ,python-2 ;Python 3 not supported #:phases -- cgit v1.2.3 From 97bc8c47bbf2d9c641c4884f0e905c35c1540f45 Mon Sep 17 00:00:00 2001 From: Jelle Licht Date: Wed, 24 Jul 2019 22:23:19 +0200 Subject: gnu: emacs-gitpatch: Update to 0.5.1. * gnu/packages/emacs-xyz.scm (emacs-gitpatch): Update to 0.5.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 9baa782e2e..b11ec100f2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8772,7 +8772,7 @@ internally.") (define-public emacs-gitpatch (package (name "emacs-gitpatch") - (version "0.5.0") + (version "0.5.1") (source (origin (method git-fetch) @@ -8781,7 +8781,7 @@ internally.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1jj12pjwza6cq8a3kr8nqnmm3vxs0wam8h983irry4xr4ifywsn4")))) + (base32 "1drf4fvmak7brf16axkh4nfz8pg44i7pjhfjz3dbkycbpp8y5vig")))) (build-system emacs-build-system) (home-page "https://github.com/tumashu/gitpatch") (synopsis "Mail git patch from Emacs") -- cgit v1.2.3 From 1c0b2e7483f50017911097d6b555e266461c9e85 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:21:54 +0200 Subject: gnu: Add r-umap. * gnu/packages/cran.scm (r-umap): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 3f0d819df7..675d6596d1 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14530,3 +14530,27 @@ including regression, classification and ranking. The package is made to be extensible, so that users are also allowed to define their own objectives easily.") (license license:asl2.0))) + +(define-public r-umap + (package + (name "r-umap") + (version "0.2.2.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "umap" version)) + (sha256 + (base32 + "1s82w9gy1387h7cprjfbhp49l89zbmn3gc9s0wzqb1s73nza9n31")))) + (build-system r-build-system) + (propagated-inputs + `(("r-rcpp" ,r-rcpp) + ("r-reticulate" ,r-reticulate) + ("r-rspectra" ,r-rspectra))) + (home-page "https://github.com/tkonopka/umap") + (synopsis "Uniform manifold approximation and projection") + (description + "Uniform manifold approximation and projection is a technique for +dimension reduction. This package provides an interface to the UMAP algorithm +in R, including a translation of the original algorithm into R.") + (license license:expat))) -- cgit v1.2.3 From 6deb08a35933714a1713406c2e81522bfb2c3401 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:21:55 +0200 Subject: gnu: Add r-kableextra. * gnu/packages/cran.scm (r-kableextra): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/cran.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 675d6596d1..1383ab067f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14554,3 +14554,42 @@ easily.") dimension reduction. This package provides an interface to the UMAP algorithm in R, including a translation of the original algorithm into R.") (license license:expat))) + +(define-public r-kableextra + (package + (name "r-kableextra") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "kableExtra" version)) + (sha256 + (base32 + "1nicvw06xsf3a1f5c10mih07b76m2v5s5h165vmz0qx6n1a3492i")))) + (properties `((upstream-name . "kableExtra"))) + (build-system r-build-system) + (propagated-inputs + `(("r-digest" ,r-digest) + ("r-glue" ,r-glue) + ("r-htmltools" ,r-htmltools) + ("r-knitr" ,r-knitr) + ("r-magrittr" ,r-magrittr) + ("r-readr" ,r-readr) + ("r-rmarkdown" ,r-rmarkdown) + ("r-rstudioapi" ,r-rstudioapi) + ("r-rvest" ,r-rvest) + ("r-scales" ,r-scales) + ("r-stringr" ,r-stringr) + ("r-viridislite" ,r-viridislite) + ("r-webshot" ,r-webshot) + ("r-xml2" ,r-xml2))) + (home-page "https://haozhu233.github.io/kableExtra/") + (synopsis "Construct complex tables with pipe syntax") + (description + "Build complex HTML or LaTeX tables using @code{kable()} from +@code{knitr} and the piping syntax from @code{magrittr}. The function +@code{kable()} is a light weight table generator coming from @code{knitr}. +This package simplifies the way to manipulate the HTML or LaTeX codes +generated by @code{kable()} and allows users to construct complex tables and +customize styles using a readable syntax.") + (license license:expat))) -- cgit v1.2.3 From ad8f46c69efd24915d380dba663c9f24746de1fc Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:21:56 +0200 Subject: gnu: Add r-all. * gnu/packages/bioconductor.scm (r-all): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index e5a2d66b2d..649b64a4d7 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -865,6 +865,34 @@ which were then sequenced to a depth of ~4 million reads per library, resulting in a complete gene expression profile for each cell.") (license license:artistic2.0))) +(define-public r-all + (package + (name "r-all") + (version "1.26.0") + (source (origin + (method url-fetch) + ;; We cannot use bioconductor-uri here because this tarball is + ;; located under "data/experiment/" instead of "bioc/". + (uri (string-append "https://www.bioconductor.org/packages/" + "release/data/experiment/src/contrib/" + "ALL_" version ".tar.gz")) + (sha256 + (base32 + "1z7kpjw4ndj6fkxwvhqf3gawhrn26ksrlns7j2c78qzxqmjndik9")))) + (properties `((upstream-name . "ALL"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase))) + (home-page "https://bioconductor.org/packages/ALL") + (synopsis "Acute Lymphoblastic Leukemia data from the Ritz laboratory") + (description + "The data consist of microarrays from 128 different individuals with +@dfn{acute lymphoblastic leukemia} (ALL). A number of additional covariates +are available. The data have been normalized (using rma) and it is the +jointly normalized data that are available here. The data are presented in +the form of an @code{exprSet} object.") + (license license:artistic2.0))) + ;;; Packages -- cgit v1.2.3 From a6fedf1f37dd031829caae0b743016cd5d52f06c Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:21:57 +0200 Subject: gnu: Add r-flowcore. * gnu/packages/bioconductor.scm (r-flowcore): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 649b64a4d7..93dec5bd1d 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4797,3 +4797,33 @@ 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))) + +(define-public r-flowcore + (package + (name "r-flowcore") + (version "1.50.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "flowCore" version)) + (sha256 + (base32 + "0pvcyzycsmgc8iw60q9xnhllfan6ihwpz3gvk8h1n9jmhpxzylan")))) + (properties `((upstream-name . "flowCore"))) + (build-system r-build-system) + (propagated-inputs + `(("r-bh" ,r-bh) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-corpcor" ,r-corpcor) + ("r-graph" ,r-graph) + ("r-mass" ,r-mass) + ("r-matrixstats" ,r-matrixstats) + ("r-rcpp" ,r-rcpp) + ("r-rrcov" ,r-rrcov))) + (home-page "https://bioconductor.org/packages/flowCore") + (synopsis "Basic structures for flow cytometry data") + (description + "This package provides S4 data structures and basic functions to deal +with flow cytometry data.") + (license license:artistic2.0))) -- cgit v1.2.3 From a0422d18f10e0c3b7c43cd873a193404b11efbc3 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:21:58 +0200 Subject: gnu: Add r-flowutils. * gnu/packages/bioconductor.scm (r-flowutils): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 93dec5bd1d..f7ae4bd86c 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4798,6 +4798,32 @@ gene fusion discovery. It can be applied to all major sequencing techologies and to both short and long sequence reads.") (license license:gpl3))) +(define-public r-flowutils + (package + (name "r-flowutils") + (version "1.48.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "flowUtils" version)) + (sha256 + (base32 + "1r7b0rszdzjq7jphh65p5m4x5ps0zbbagxl26gn2mapbjdyb47rm")))) + (properties `((upstream-name . "flowUtils"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-corpcor" ,r-corpcor) + ("r-flowcore" ,r-flowcore) + ("r-graph" ,r-graph) + ("r-runit" ,r-runit) + ("r-xml" ,r-xml))) + (home-page "https://github.com/jspidlen/flowUtils") + (synopsis "Utilities for flow cytometry") + (description + "This package provides utilities for flow cytometry data.") + (license license:artistic2.0))) + (define-public r-flowcore (package (name "r-flowcore") -- cgit v1.2.3 From ed6f49fc415a3af5b69a4054100e709354b031d0 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:21:59 +0200 Subject: gnu: Add r-consensusclusterplus. * gnu/packages/bioconductor.scm (r-consensusclusterplus): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index f7ae4bd86c..0b968bb137 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4824,6 +4824,31 @@ and to both short and long sequence reads.") "This package provides utilities for flow cytometry data.") (license license:artistic2.0))) +(define-public r-consensusclusterplus + (package + (name "r-consensusclusterplus") + (version "1.48.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "ConsensusClusterPlus" version)) + (sha256 + (base32 + "1mlcm3wq5n8s0gxs35j0ph9576fhbrbrrsj2xy84fy20prcfs4w8")))) + (properties + `((upstream-name . "ConsensusClusterPlus"))) + (build-system r-build-system) + (propagated-inputs + `(("r-all" ,r-all) + ("r-biobase" ,r-biobase) + ("r-cluster" ,r-cluster))) + (home-page "https://bioconductor.org/packages/ConsensusClusterPlus") + (synopsis "Clustering algorithm") + (description + "This package provides an implementation of an algorithm for determining +cluster count and membership by stability evidence in unsupervised analysis.") + (license license:gpl2))) + (define-public r-flowcore (package (name "r-flowcore") -- cgit v1.2.3 From e0cb053edb34cd1cc74a5db1b6e59e6e16c2cfec Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:22:00 +0200 Subject: gnu: Add r-flowmeans. * gnu/packages/bioconductor.scm (r-flowmeans): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 0b968bb137..ece5097940 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4878,3 +4878,29 @@ cluster count and membership by stability evidence in unsupervised analysis.") "This package provides S4 data structures and basic functions to deal with flow cytometry data.") (license license:artistic2.0))) + +(define-public r-flowmeans + (package + (name "r-flowmeans") + (version "1.44.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "flowMeans" version)) + (sha256 + (base32 + "0yp6y3mq5h4nf1d7ybqnriigwfmwanrqavpj3ry482sgiaip1hp2")))) + (properties `((upstream-name . "flowMeans"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-feature" ,r-feature) + ("r-flowcore" ,r-flowcore) + ("r-rrcov" ,r-rrcov))) + (home-page "https://bioconductor.org/packages/flowMeans") + (synopsis "Non-parametric flow cytometry data gating") + (description + "This package provides tools to identify cell populations in Flow +Cytometry data using non-parametric clustering and segmented-regression-based +change point detection.") + (license license:artistic2.0))) -- cgit v1.2.3 From 1502751b3220feda44e34c07c617086538ac1296 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:22:02 +0200 Subject: gnu: Add r-flowsom. * gnu/packages/bioconductor.scm (r-flowsom): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index ece5097940..ad48ccaebe 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4904,3 +4904,31 @@ with flow cytometry data.") Cytometry data using non-parametric clustering and segmented-regression-based change point detection.") (license license:artistic2.0))) + +(define-public r-flowsom + (package + (name "r-flowsom") + (version "1.16.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "FlowSOM" version)) + (sha256 + (base32 + "03wl3xk7g7vajc4kkrqa0gsbjfxlqr918qi849h5nir31963398l")))) + (properties `((upstream-name . "FlowSOM"))) + (build-system r-build-system) + (propagated-inputs + `(("r-biocgenerics" ,r-biocgenerics) + ("r-consensusclusterplus" ,r-consensusclusterplus) + ("r-flowcore" ,r-flowcore) + ("r-flowutils" ,r-flowutils) + ("r-igraph" ,r-igraph) + ("r-tsne" ,r-tsne) + ("r-xml" ,r-xml))) + (home-page "https://bioconductor.org/packages/FlowSOM/") + (synopsis "Visualize and interpret cytometry data") + (description + "FlowSOM offers visualization options for cytometry data, by using +self-organizing map clustering and minimal spanning trees.") + (license license:gpl2+))) -- cgit v1.2.3 From 1adb9cbc5e9e4c458bbf3b3bb89fcd36278d34e2 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:22:03 +0200 Subject: gnu: Add r-mixomics. * gnu/packages/bioconductor.scm (r-mixomics): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index ad48ccaebe..f63bfa4a1f 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4932,3 +4932,45 @@ change point detection.") "FlowSOM offers visualization options for cytometry data, by using self-organizing map clustering and minimal spanning trees.") (license license:gpl2+))) + +(define-public r-mixomics + (package + (name "r-mixomics") + (version "6.8.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "mixOmics" version)) + (sha256 + (base32 + "1f08jx35amn3sfcmqb96mjxxsm6dnpzhff625z758x1992wj4zsk")))) + (properties `((upstream-name . "mixOmics"))) + (build-system r-build-system) + (propagated-inputs + `(("r-corpcor" ,r-corpcor) + ("r-dplyr" ,r-dplyr) + ("r-ellipse" ,r-ellipse) + ("r-ggplot2" ,r-ggplot2) + ("r-gridextra" ,r-gridextra) + ("r-igraph" ,r-igraph) + ("r-lattice" ,r-lattice) + ("r-mass" ,r-mass) + ("r-matrixstats" ,r-matrixstats) + ("r-rarpack" ,r-rarpack) + ("r-rcolorbrewer" ,r-rcolorbrewer) + ("r-reshape2" ,r-reshape2) + ("r-tidyr" ,r-tidyr))) + (home-page "http://www.mixOmics.org") + (synopsis "Multivariate methods for exploration of biological datasets") + (description + "mixOmics offers a wide range of multivariate methods for the exploration +and integration of biological datasets with a particular focus on variable +selection. The package proposes several sparse multivariate models we have +developed to identify the key variables that are highly correlated, and/or +explain the biological outcome of interest. The data that can be analysed +with mixOmics may come from high throughput sequencing technologies, such as +omics data (transcriptomics, metabolomics, proteomics, metagenomics etc) but +also beyond the realm of omics (e.g. spectral imaging). The methods +implemented in mixOmics can also handle missing values without having to +delete entire rows with missing data.") + (license license:gpl2+))) -- cgit v1.2.3 From a0efa069a147f0e7b3bb305ae546609e9dd77045 Mon Sep 17 00:00:00 2001 From: zimoun Date: Wed, 24 Jul 2019 20:22:04 +0200 Subject: gnu: Add r-depecher. * gnu/packages/bioconductor.scm (r-depecher): New variable. Co-authored-by: Ricardo Wurmus Signed-off-by: Ricardo Wurmus --- gnu/packages/bioconductor.scm | 50 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index f63bfa4a1f..2f2a60ad19 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -4974,3 +4974,53 @@ also beyond the realm of omics (e.g. spectral imaging). The methods implemented in mixOmics can also handle missing values without having to delete entire rows with missing data.") (license license:gpl2+))) + +(define-public r-depecher + (package + (name "r-depecher") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "DepecheR" version)) + (sha256 + (base32 + "0qj2h2a50fncppvi2phh0mbivxkn1mv702mqpi9mvvkf3bzq8m0h")))) + (properties `((upstream-name . "DepecheR"))) + (build-system r-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-syntax-error + (lambda _ + (substitute* "src/Makevars" + ((" & ") " && ")) + #t))))) + (propagated-inputs + `(("r-beanplot" ,r-beanplot) + ("r-biocparallel" ,r-biocparallel) + ("r-dosnow" ,r-dosnow) + ("r-dplyr" ,r-dplyr) + ("r-foreach" ,r-foreach) + ("r-ggplot2" ,r-ggplot2) + ("r-gplots" ,r-gplots) + ("r-mass" ,r-mass) + ("r-matrixstats" ,r-matrixstats) + ("r-mixomics" ,r-mixomics) + ("r-moments" ,r-moments) + ("r-rcpp" ,r-rcpp) + ("r-rcppeigen" ,r-rcppeigen) + ("r-reshape2" ,r-reshape2) + ("r-viridis" ,r-viridis))) + (home-page "https://bioconductor.org/packages/DepecheR/") + (synopsis "Identify traits of clusters in high-dimensional entities") + (description + "The purpose of this package is to identify traits in a dataset that can +separate groups. This is done on two levels. First, clustering is performed, +using an implementation of sparse K-means. Secondly, the generated clusters +are used to predict outcomes of groups of individuals based on their +distribution of observations in the different clusters. As certain clusters +with separating information will be identified, and these clusters are defined +by a sparse number of variables, this method can reduce the complexity of +data, to only emphasize the data that actually matters.") + (license license:expat))) -- cgit v1.2.3 From 81c3dc32244a17241d74eea9fa265edfcb326f6d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 21 Jul 2019 23:05:54 +0200 Subject: maint: Switch to Guile-JSON 3.x. Guile-JSON 3.x is incompatible with Guile-JSON 1.x, which we relied on until now: it maps JSON dictionaries to alists (instead of hash tables), and JSON arrays to vectors (instead of lists). This commit is about adjusting all the existing code to this new mapping. * m4/guix.m4 (GUIX_CHECK_GUILE_JSON): New macro. * configure.ac: Use it. * doc/guix.texi (Requirements): Mention the Guile-JSON version. * guix/git-download.scm (git-fetch)[guile-json]: Use GUILE-JSON-3. * guix/import/cpan.scm (string->license): Expect vectors instead of lists. (module->dist-name): Use 'json-fetch' instead of 'json-fetch-alist'. (cpan-fetch): Likewise. * guix/import/crate.scm (crate-fetch): Likewise, and call 'vector->list' for DEPS. * guix/import/gem.scm (rubygems-fetch): Likewise. * guix/import/json.scm (json-fetch-alist): Remove. * guix/import/pypi.scm (pypi-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (latest-source-release, latest-wheel-release): Call 'vector->list' on RELEASES. * guix/import/stackage.scm (stackage-lts-info-fetch): Use 'json-fetch' instead of 'json-fetch-alist'. (lts-package-version): Use 'vector->list'. * guix/import/utils.scm (hash-table->alist): Remove. (alist->package): Pass 'vector->list' on the inputs fields, and default to the empty vector. * guix/scripts/import/json.scm (guix-import-json): Remove call to 'hash-table->alist'. * guix/swh.scm (define-json-reader): Expect pair? or null? instead of hash-table?. [extract-field]: Use 'assoc-ref' instead of 'hash-ref'. (json->branches): Use 'map' instead of 'hash-map->list'. (json->checksums): Likewise. (json->directory-entries, origin-visits): Call 'vector->list' on the result of 'json->scm'. * tests/import-utils.scm ("alist->package with dependencies"): New test. * gnu/installer.scm (build-compiled-file)[builder]: Use GUILE-JSON-3. * gnu/installer.scm (installer-program)[installer-builder]: Likewise. * gnu/installer/locale.scm (iso639->iso639-languages): Use 'assoc-ref' instead of 'hash-ref', and pass vectors through 'vector->list'. (iso3166->iso3166-territories): Likewise. * gnu/system/vm.scm (system-docker-image)[build]: Use GUILE-JSON-3. * guix/docker.scm (manifest, config): Adjust for Guile-JSON 3. * guix/scripts/pack.scm (docker-image)[build]: Use GUILE-JSON-3. * guix/import/github.scm (fetch-releases-or-tags): Update docstring. (latest-released-version): Use 'assoc-ref' instead of 'hash-ref'. Pass the result of 'fetch-releases-or-tags' to 'vector->list'. * guix/import/launchpad.scm (latest-released-version): Likewise. --- configure.ac | 4 ++-- doc/guix.texi | 2 +- gnu/installer.scm | 4 ++-- gnu/installer/locale.scm | 21 ++++++++++++--------- gnu/system/vm.scm | 2 +- guix/docker.scm | 19 ++++++++++--------- guix/git-download.scm | 4 ++-- guix/import/cpan.scm | 14 +++++++------- guix/import/crate.scm | 6 +++--- guix/import/gem.scm | 10 +++++++--- guix/import/github.scm | 13 +++++++------ guix/import/json.scm | 11 ++--------- guix/import/launchpad.scm | 13 +++++++------ guix/import/pypi.scm | 8 ++++---- guix/import/stackage.scm | 4 ++-- guix/import/utils.scm | 25 ++++++------------------- guix/scripts/import/json.scm | 2 +- guix/scripts/pack.scm | 2 +- guix/self.scm | 2 +- guix/swh.scm | 35 +++++++++++++++++++---------------- m4/guix.m4 | 21 +++++++++++++++++++++ tests/import-utils.scm | 22 ++++++++++++++++++++++ 22 files changed, 140 insertions(+), 104 deletions(-) diff --git a/configure.ac b/configure.ac index 3918550a79..689b28d984 100644 --- a/configure.ac +++ b/configure.ac @@ -119,8 +119,8 @@ if test "x$have_guile_git" != "xyes"; then fi dnl Check for Guile-JSON. -GUILE_MODULE_AVAILABLE([have_guile_json], [(json)]) -if test "x$have_guile_json" != "xyes"; then +GUIX_CHECK_GUILE_JSON +if test "x$guix_cv_have_recent_guile_json" != "xyes"; then AC_MSG_ERROR([Guile-JSON is missing; please install it.]) fi diff --git a/doc/guix.texi b/doc/guix.texi index f6d9718f59..c2da4ce173 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -750,7 +750,7 @@ or later; @c FIXME: Specify a version number once a release has been made. @uref{https://gitlab.com/guile-git/guile-git, Guile-Git}, from August 2017 or later; -@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON}; +@item @uref{https://savannah.nongnu.org/projects/guile-json/, Guile-JSON} 3.x; @item @url{https://zlib.net, zlib}; @item @url{https://www.gnu.org/software/make/, GNU Make}. @end itemize diff --git a/gnu/installer.scm b/gnu/installer.scm index 1452c4dc7e..15d971dfc4 100644 --- a/gnu/installer.scm +++ b/gnu/installer.scm @@ -69,7 +69,7 @@ version of this file." (setlocale LC_ALL "en_US.utf8"))) (define builder - (with-extensions (list guile-json) + (with-extensions (list guile-json-3) (with-imported-modules (source-module-closure '((gnu installer locale))) #~(begin @@ -313,7 +313,7 @@ selected keymap." ;; packages …), etc. modules. (with-extensions (list guile-gcrypt guile-newt guile-parted guile-bytestructures - guile-json guile-git guix) + guile-json-3 guile-git guix) (with-imported-modules `(,@(source-module-closure `(,@modules (gnu services herd) diff --git a/gnu/installer/locale.scm b/gnu/installer/locale.scm index 13f3a1e881..ccffb6d8ef 100644 --- a/gnu/installer/locale.scm +++ b/gnu/installer/locale.scm @@ -134,16 +134,18 @@ ISO639-3 and ISO639-5 files." (lambda (port-iso639-5) (filter-map (lambda (hash) - (let ((alpha2 (hash-ref hash "alpha_2")) - (alpha3 (hash-ref hash "alpha_3")) - (name (hash-ref hash "name"))) + (let ((alpha2 (assoc-ref hash "alpha_2")) + (alpha3 (assoc-ref hash "alpha_3")) + (name (assoc-ref hash "name"))) (and (supported-locale? locales alpha2 alpha3) `((alpha2 . ,alpha2) (alpha3 . ,alpha3) (name . ,name))))) (append - (hash-ref (json->scm port-iso639-3) "639-3") - (hash-ref (json->scm port-iso639-5) "639-5")))))))) + (vector->list + (assoc-ref (json->scm port-iso639-3) "639-3")) + (vector->list + (assoc-ref (json->scm port-iso639-5) "639-5"))))))))) (define (language-code->language-name languages language-code) "Using LANGUAGES as a list of ISO639 association lists, return the language @@ -179,10 +181,11 @@ ISO3166 file." (call-with-input-file iso3166 (lambda (port) (map (lambda (hash) - `((alpha2 . ,(hash-ref hash "alpha_2")) - (alpha3 . ,(hash-ref hash "alpha_3")) - (name . ,(hash-ref hash "name")))) - (hash-ref (json->scm port) "3166-1"))))) + `((alpha2 . ,(assoc-ref hash "alpha_2")) + (alpha3 . ,(assoc-ref hash "alpha_3")) + (name . ,(assoc-ref hash "name")))) + (vector->list + (assoc-ref (json->scm port) "3166-1")))))) (define (territory-code->territory-name territories territory-code) "Using TERRITORIES as a list of ISO3166 association lists return the diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index e7f7d8ca51..ac6e4ded92 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -514,7 +514,7 @@ system." (name (string-append name ".tar.gz")) (graph "system-graph")) (define build - (with-extensions (cons guile-json ;for (guix docker) + (with-extensions (cons guile-json-3 ;for (guix docker) gcrypt-sqlite3&co) ;for (guix store database) (with-imported-modules `(,@(source-module-closure '((guix docker) diff --git a/guix/docker.scm b/guix/docker.scm index b1bd226fa1..c598a073f6 100644 --- a/guix/docker.scm +++ b/guix/docker.scm @@ -62,9 +62,9 @@ (define (manifest path id) "Generate a simple image manifest." - `(((Config . "config.json") - (RepoTags . (,(generate-tag path))) - (Layers . (,(string-append id "/layer.tar")))))) + `#(((Config . "config.json") + (RepoTags . #(,(generate-tag path))) + (Layers . #(,(string-append id "/layer.tar")))))) ;; According to the specifications this is required for backwards ;; compatibility. It duplicates information provided by the manifest. @@ -81,17 +81,18 @@ `((architecture . ,arch) (comment . "Generated by GNU Guix") (created . ,time) - (config . ,`((env . ,(map (match-lambda - ((name . value) - (string-append name "=" value))) - environment)) + (config . ,`((env . ,(list->vector + (map (match-lambda + ((name . value) + (string-append name "=" value))) + environment))) ,@(if entry-point - `((entrypoint . ,entry-point)) + `((entrypoint . ,(list->vector entry-point))) '()))) (container_config . #nil) (os . "linux") (rootfs . ((type . "layers") - (diff_ids . (,(layer-diff-id layer))))))) + (diff_ids . #(,(layer-diff-id layer))))))) (define %tar-determinism-options ;; GNU tar options to produce archives deterministically. diff --git a/guix/git-download.scm b/guix/git-download.scm index f904d11c25..8f84681d46 100644 --- a/guix/git-download.scm +++ b/guix/git-download.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 © 2017 Mathieu Lirzin ;;; Copyright © 2017 Christopher Baines ;;; @@ -85,7 +85,7 @@ HASH-ALGO (a symbol). Use NAME as the file name, or a generic name if #f." (module-ref (resolve-interface '(gnu packages compression)) 'zlib)) (define guile-json - (module-ref (resolve-interface '(gnu packages guile)) 'guile-json)) + (module-ref (resolve-interface '(gnu packages guile)) 'guile-json-3)) (define gnutls (module-ref (resolve-interface '(gnu packages tls)) 'gnutls)) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index d4bea84353..ec86f11743 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -76,8 +76,8 @@ ;; ssleay ;; sun ("zlib" 'zlib) - ((x) (string->license x)) - ((lst ...) `(list ,@(map string->license lst))) + (#(x) (string->license x)) + (#(lst ...) `(list ,@(map string->license lst))) (_ #f))) (define (module->name module) @@ -88,10 +88,10 @@ "Return the base distribution module for a given module. E.g. the 'ok' module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would return \"Test-Simple\"" - (assoc-ref (json-fetch-alist (string-append - "https://fastapi.metacpan.org/v1/module/" - module - "?fields=distribution")) + (assoc-ref (json-fetch (string-append + "https://fastapi.metacpan.org/v1/module/" + module + "?fields=distribution")) "distribution")) (define (package->upstream-name package) @@ -114,7 +114,7 @@ return \"Test-Simple\"" "Return an alist representation of the CPAN metadata for the perl module MODULE, or #f on failure. MODULE should be e.g. \"Test::Script\"" ;; This API always returns the latest release of the module. - (json-fetch-alist (string-append "https://fastapi.metacpan.org/v1/release/" name))) + (json-fetch (string-append "https://fastapi.metacpan.org/v1/release/" name))) (define (cpan-home name) (string-append "https://metacpan.org/release/" name)) diff --git a/guix/import/crate.scm b/guix/import/crate.scm index 29318aac0e..52c5cb1c30 100644 --- a/guix/import/crate.scm +++ b/guix/import/crate.scm @@ -51,7 +51,7 @@ (define (crate-kind-predicate kind) (lambda (dep) (string=? (assoc-ref dep "kind") kind))) - (and-let* ((crate-json (json-fetch-alist (string-append crate-url crate-name))) + (and-let* ((crate-json (json-fetch (string-append crate-url crate-name))) (crate (assoc-ref crate-json "crate")) (name (assoc-ref crate "name")) (version (assoc-ref crate "max_version")) @@ -63,8 +63,8 @@ string->license) '())) ;missing license info (path (string-append "/" version "/dependencies")) - (deps-json (json-fetch-alist (string-append crate-url name path))) - (deps (assoc-ref deps-json "dependencies")) + (deps-json (json-fetch (string-append crate-url name path))) + (deps (vector->list (assoc-ref deps-json "dependencies"))) (dep-crates (filter (crate-kind-predicate "normal") deps)) (dev-dep-crates (filter (lambda (dep) diff --git a/guix/import/gem.scm b/guix/import/gem.scm index ea576b5e4a..0bf9ff2552 100644 --- a/guix/import/gem.scm +++ b/guix/import/gem.scm @@ -40,7 +40,7 @@ (define (rubygems-fetch name) "Return an alist representation of the RubyGems metadata for the package NAME, or #f on failure." - (json-fetch-alist + (json-fetch (string-append "https://rubygems.org/api/v1/gems/" name ".json"))) (define (ruby-package-name name) @@ -130,14 +130,18 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES." (assoc-ref package "info"))) (home-page (assoc-ref package "homepage_uri")) (dependencies-names (map (lambda (dep) (assoc-ref dep "name")) - (assoc-ref* package "dependencies" "runtime"))) + (vector->list + (assoc-ref* package + "dependencies" + "runtime")))) (dependencies (map (lambda (dep) (if (string=? dep "bundler") "bundler" ; special case, no prefix (ruby-package-name dep))) dependencies-names)) (licenses (map string->license - (assoc-ref package "licenses")))) + (vector->list + (assoc-ref package "licenses"))))) (values (make-gem-sexp name version hash home-page synopsis description dependencies licenses) dependencies-names))))) diff --git a/guix/import/github.scm b/guix/import/github.scm index cdac70420a..fa23fa4c06 100644 --- a/guix/import/github.scm +++ b/guix/import/github.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016 Ben Woodcroft -;;; Copyright © 2017, 2018 Ludovic Courtès +;;; Copyright © 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2018 Eric Bavier ;;; Copyright © 2019 Arun Isaac ;;; @@ -130,7 +130,7 @@ repository separated by a forward slash, from a string URL of the form (define (fetch-releases-or-tags url) "Fetch the list of \"releases\" or, if it's empty, the list of tags for the -repository at URL. Return the corresponding JSON dictionaries (hash tables), +repository at URL. Return the corresponding JSON dictionaries (alists), or #f if the information could not be retrieved. We look at both /releases and /tags because the \"release\" feature of GitHub @@ -172,11 +172,11 @@ empty list." 'https://github.com/arq5x/bedtools2/archive/v2.24.0.tar.gz' and the name of the package e.g. 'bedtools2'. Return #f if there is no releases" (define (pre-release? x) - (hash-ref x "prerelease")) + (assoc-ref x "prerelease")) (define (release->version release) - (let ((tag (or (hash-ref release "tag_name") ;a "release" - (hash-ref release "name"))) ;a tag + (let ((tag (or (assoc-ref release "tag_name") ;a "release" + (assoc-ref release "name"))) ;a tag (name-length (string-length package-name))) (cond ;; some tags include the name of the package e.g. "fdupes-1.51" @@ -197,7 +197,8 @@ the package e.g. 'bedtools2'. Return #f if there is no releases" tag) (else #f)))) - (let* ((json (fetch-releases-or-tags url))) + (let* ((json (and=> (fetch-releases-or-tags url) + vector->list))) (if (eq? json #f) (if (%github-token) (error "Error downloading release information through the GitHub diff --git a/guix/import/json.scm b/guix/import/json.scm index 81ea5e7b31..8900724dcd 100644 --- a/guix/import/json.scm +++ b/guix/import/json.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015, 2016 Eric Bavier -;;; Copyright © 2018 Ludovic Courtès +;;; Copyright © 2018, 2019 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,8 +23,7 @@ #:use-module (guix http-client) #:use-module (guix import utils) #:use-module (srfi srfi-34) - #:export (json-fetch - json-fetch-alist)) + #:export (json-fetch)) (define* (json-fetch url ;; Note: many websites returns 403 if we omit a @@ -43,9 +42,3 @@ the query." (result (json->scm port))) (close-port port) result))) - -(define (json-fetch-alist url) - "Return an alist representation of the JSON resource URL, or #f if URL -returns 403 or 404." - (and=> (json-fetch url) - hash-table->alist)) diff --git a/guix/import/launchpad.scm b/guix/import/launchpad.scm index ffd5e9221e..1a15f28077 100644 --- a/guix/import/launchpad.scm +++ b/guix/import/launchpad.scm @@ -87,15 +87,16 @@ for example, 'linuxdcpp'. Return #f if there is no releases." ;; example, "5.1.0-rc1") are assumed to be pre-releases. (not (string-every (char-set-union (char-set #\.) char-set:digit) - (hash-ref x "version")))) + (assoc-ref x "version")))) - (hash-ref + (assoc-ref (last (remove pre-release? - (hash-ref (json-fetch - (string-append "https://api.launchpad.net/1.0/" - package-name "/releases")) - "entries"))) + (vector->list + (assoc-ref (json-fetch + (string-append "https://api.launchpad.net/1.0/" + package-name "/releases")) + "entries")))) "version")) (define (latest-release pkg) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index ab7a024ee0..9b3d80a02e 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 David Thompson ;;; Copyright © 2015 Cyril Roelandt -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2019 Ludovic Courtès ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2019 Maxim Cournoyer @@ -56,7 +56,7 @@ (define (pypi-fetch name) "Return an alist representation of the PyPI metadata for the package NAME, or #f on failure." - (json-fetch-alist (string-append "https://pypi.org/pypi/" name "/json"))) + (json-fetch (string-append "https://pypi.org/pypi/" name "/json"))) ;; For packages found on PyPI that lack a source distribution. (define-condition-type &missing-source-error &error @@ -69,7 +69,7 @@ or #f on failure." (assoc-ref* pypi-package "info" "version")))) (or (find (lambda (release) (string=? "sdist" (assoc-ref release "packagetype"))) - releases) + (vector->list releases)) (raise (condition (&missing-source-error (package pypi-package))))))) @@ -80,7 +80,7 @@ or #f if there isn't any." (assoc-ref* pypi-package "info" "version")))) (or (find (lambda (release) (string=? "bdist_wheel" (assoc-ref release "packagetype"))) - releases) + (vector->list releases)) #f))) (define (python->package-name name) diff --git a/guix/import/stackage.scm b/guix/import/stackage.scm index 1c1e73a723..194bea633e 100644 --- a/guix/import/stackage.scm +++ b/guix/import/stackage.scm @@ -60,7 +60,7 @@ (let* ((url (if (string=? "" version) (string-append %stackage-url "/lts") (string-append %stackage-url "/lts-" version))) - (lts-info (json-fetch-alist url))) + (lts-info (json-fetch url))) (if lts-info (reverse lts-info) (leave-with-message "LTS release version not found: ~a" version)))))) @@ -74,7 +74,7 @@ (define (lts-package-version pkgs-info name) "Return the version of the package with upstream NAME included in PKGS-INFO." (let ((pkg (find (lambda (pkg) (string=? (stackage-package-name pkg) name)) - pkgs-info))) + (vector->list pkgs-info)))) (stackage-package-version pkg))) diff --git a/guix/import/utils.scm b/guix/import/utils.scm index 84503ab907..2a3b7341fb 100644 --- a/guix/import/utils.scm +++ b/guix/import/utils.scm @@ -45,7 +45,6 @@ #:use-module (srfi srfi-41) #:export (factorize-uri - hash-table->alist flatten assoc-ref* @@ -100,21 +99,6 @@ of the string VERSION is replaced by the symbol 'version." '() indices)))))) -(define (hash-table->alist table) - "Return an alist represenation of TABLE." - (map (match-lambda - ((key . (lst ...)) - (cons key - (map (lambda (x) - (if (hash-table? x) - (hash-table->alist x) - x)) - lst))) - ((key . (? hash-table? table)) - (cons key (hash-table->alist table))) - (pair pair)) - (hash-map->list cons table))) - (define (flatten lst) "Return a list that recursively concatenates all sub-lists of LST." (fold-right @@ -330,11 +314,14 @@ the expected fields of an object." (lookup-build-system-by-name (string->symbol (assoc-ref meta "build-system")))) (native-inputs - (specs->package-lists (or (assoc-ref meta "native-inputs") '()))) + (specs->package-lists + (vector->list (or (assoc-ref meta "native-inputs") '#())))) (inputs - (specs->package-lists (or (assoc-ref meta "inputs") '()))) + (specs->package-lists + (vector->list (or (assoc-ref meta "inputs") '#())))) (propagated-inputs - (specs->package-lists (or (assoc-ref meta "propagated-inputs") '()))) + (specs->package-lists + (vector->list (or (assoc-ref meta "propagated-inputs") '#())))) (home-page (assoc-ref meta "home-page")) (synopsis diff --git a/guix/scripts/import/json.scm b/guix/scripts/import/json.scm index 8771e7b0eb..c9daf65479 100644 --- a/guix/scripts/import/json.scm +++ b/guix/scripts/import/json.scm @@ -93,7 +93,7 @@ Import and convert the JSON package definition in PACKAGE-FILE.\n")) (let ((json (json-string->scm (with-input-from-file file-name read-string)))) ;; TODO: also print define-module boilerplate - (package->code (alist->package (hash-table->alist json))))) + (package->code (alist->package json)))) (lambda _ (leave (G_ "invalid JSON in file '~a'~%") file-name)))) (() diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 01472d9768..fdb98983bf 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -479,7 +479,7 @@ the image." (define build ;; Guile-JSON and Guile-Gcrypt are required by (guix docker). - (with-extensions (list guile-json guile-gcrypt) + (with-extensions (list guile-json-3 guile-gcrypt) (with-imported-modules `(((guix config) => ,(make-config.scm)) ,@(source-module-closure `((guix docker) diff --git a/guix/self.scm b/guix/self.scm index 838ede7690..f03fe01d0c 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -50,7 +50,7 @@ (module-ref (resolve-interface module) variable)))) (match-lambda ("guile" (ref '(gnu packages commencement) 'guile-final)) - ("guile-json" (ref '(gnu packages guile) 'guile-json)) + ("guile-json" (ref '(gnu packages guile) 'guile-json-3)) ("guile-ssh" (ref '(gnu packages ssh) 'guile-ssh)) ("guile-git" (ref '(gnu packages guile) 'guile-git)) ("guile-sqlite3" (ref '(gnu packages guile) 'guile-sqlite3)) diff --git a/guix/swh.scm b/guix/swh.scm index d692f81806..df2a138f04 100644 --- a/guix/swh.scm +++ b/guix/swh.scm @@ -138,16 +138,16 @@ following SPEC, a series of field specifications." (json->scm input)) ((string? input) (json-string->scm input)) - ((hash-table? input) + ((or (null? input) (pair? input)) input)))) (let-syntax ((extract-field (syntax-rules () ((_ table (field key json->value)) - (json->value (hash-ref table key))) + (json->value (assoc-ref table key))) ((_ table (field key)) - (hash-ref table key)) + (assoc-ref table key)) ((_ table (field)) - (hash-ref table - (symbol->string 'field)))))) + (assoc-ref table + (symbol->string 'field)))))) (ctor (extract-field table spec) ...))))) (define-syntax-rule (define-json-mapping rtd ctor pred json->record @@ -257,12 +257,13 @@ FALSE-IF-404? is true, return #f upon 404 responses." (target-url branch-target-url)) (define (json->branches branches) - (hash-map->list (lambda (key value) - (make-branch key - (string->symbol - (hash-ref value "target_type")) - (hash-ref value "target_url"))) - branches)) + (map (match-lambda + ((key . value) + (make-branch key + (string->symbol + (assoc-ref value "target_type")) + (assoc-ref value "target_url")))) + branches)) ;; (define-json-mapping make-release release? @@ -292,9 +293,10 @@ FALSE-IF-404? is true, return #f upon 404 responses." (license-url content-license-url "license_url")) (define (json->checksums checksums) - (hash-map->list (lambda (key value) - (cons key (base16-string->bytevector value))) - checksums)) + (map (match-lambda + ((key . value) + (cons key (base16-string->bytevector value)))) + checksums)) ;; (define-json-mapping make-directory-entry directory-entry? @@ -365,14 +367,15 @@ FALSE-IF-404? is true, return #f upon 404 responses." json->directory-entries) (define (json->directory-entries port) - (map json->directory-entry (json->scm port))) + (map json->directory-entry + (vector->list (json->scm port)))) (define (origin-visits origin) "Return the list of visits of ORIGIN, a record as returned by 'lookup-origin'." (call (swh-url (origin-visits-url origin)) (lambda (port) - (map json->visit (json->scm port))))) + (map json->visit (vector->list (json->scm port)))))) (define (visit-snapshot visit) "Return the snapshot corresponding to VISIT." diff --git a/m4/guix.m4 b/m4/guix.m4 index d0c5ec0f08..716bfb08ec 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -174,6 +174,27 @@ AC_DEFUN([GUIX_CHECK_GUILE_SQLITE3], [ fi]) ]) +dnl GUIX_CHECK_GUILE_JSON +dnl +dnl Check whether a recent-enough Guile-JSON is available. +AC_DEFUN([GUIX_CHECK_GUILE_JSON], [ + dnl Check whether we're using Guile-JSON 3.x, which uses a JSON-to-Scheme + dnl mapping different from that of earlier versions. + AC_CACHE_CHECK([whether Guile-JSON is available and recent enough], + [guix_cv_have_recent_guile_json], + [GUILE_CHECK([retval], + [(use-modules (json) (ice-9 match)) + (match (json-string->scm \"[[] { \\\"a\\\": 42 } []]\") + (#(("a" . 42)) #t) + (_ #f))]) + if test "$retval" = 0; then + guix_cv_have_recent_guile_json="yes" + else + guix_cv_have_recent_guile_json="no" + fi]) +]) + + dnl GUIX_TEST_ROOT_DIRECTORY AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [ AC_CACHE_CHECK([for unit test root directory], diff --git a/tests/import-utils.scm b/tests/import-utils.scm index 5c0c041360..c3ab25d788 100644 --- a/tests/import-utils.scm +++ b/tests/import-utils.scm @@ -23,6 +23,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix build-system) + #:use-module (gnu packages) #:use-module (srfi srfi-64)) (test-begin "import-utils") @@ -98,4 +99,25 @@ (or (package-license (alist->package meta)) 'license-is-false))) +(test-equal "alist->package with dependencies" + `(("gettext" ,(specification->package "gettext"))) + (let* ((meta '(("name" . "hello") + ("version" . "2.10") + ("source" . (("method" . "url-fetch") + ("uri" . "mirror://gnu/hello/hello-2.10.tar.gz") + ("sha256" . + (("base32" . + "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i"))))) + ("build-system" . "gnu") + ("home-page" . "https://gnu.org") + ("synopsis" . "Say hi") + ("description" . "This package says hi.") + ; + ;; Note: As with Guile-JSON 3.x, JSON arrays are represented + ;; by vectors. + ("native-inputs" . #("gettext")) + + ("license" . #f)))) + (package-native-inputs (alist->package meta)))) + (test-end "import-utils") -- cgit v1.2.3 From 584a3ca3a4fb69bcf4d166b426ddb882e434894f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 21 Jul 2019 23:17:01 +0200 Subject: gnu: guile-json: Define 'guile-json-1'. * gnu/packages/guile.scm (guile-json-1): New variable. --- gnu/packages/guile.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 6e11a13c56..e871685f02 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -470,6 +470,10 @@ specification. These are the main features: ;; Version 1.2.0 switched to GPLv3+ (from LGPLv3+). (license license:gpl3+))) +(define-public guile-json-1 + ;; This is the 1.x branch of Guile-JSON. + guile-json) + (define-public guile2.2-json (deprecated-package "guile2.2-json" guile-json)) -- cgit v1.2.3 From 91f55717abd05a5808eb6b3a0b397bee4e8edd09 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sun, 21 Jul 2019 23:19:58 +0200 Subject: gnu: Explicitly refer to 'guile-json-1' when needed. * gnu/packages/bioinformatics.scm (rcas-web)[inputs]: Change 'guile-json' to 'guile-json-1'. * gnu/packages/ci.scm (cuirass)[inputs]: Likewise. * gnu/packages/guile-xyz.scm (artanis)[inputs]: Likewise. * gnu/packages/guile-xyz.scm (jupyter-guile-kernel)[inputs]: Likewise. * gnu/packages/guile-xyz.scm (guile-mastodon)[inputs]: Likewise. * gnu/packages/mail.scm (mumi)[inputs]: Likewise. * gnu/packages/package-management.scm (guix)[inputs]: Likewise. * gnu/packages/package-management.scm (guix-daemon)[inputs]: Likewise. * gnu/packages/web.scm (hpcguix-web)[inputs]: Likewise. --- gnu/packages/bioinformatics.scm | 2 +- gnu/packages/ci.scm | 2 +- gnu/packages/guile-xyz.scm | 6 +++--- gnu/packages/mail.scm | 4 ++-- gnu/packages/package-management.scm | 4 ++-- gnu/packages/web.scm | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5412440fb1..89f1ac36ea 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -8427,7 +8427,7 @@ library implementing most of the pipeline's features.") `(("r-minimal" ,r-minimal) ("r-rcas" ,r-rcas) ("guile-next" ,guile-2.2) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-redis" ,guile-redis))) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index eb5f665fc1..4af2cdc6ea 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -121,7 +121,7 @@ `(("guile" ,guile-2.2) ("guile-fibers" ,guile-fibers) ("guile-gcrypt" ,guile-gcrypt) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-sqlite3" ,guile-sqlite3) ("guile-git" ,guile-git) ;; FIXME: this is propagated by "guile-git", but it needs to be among diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index c16342deb0..6dcdcedccf 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -146,7 +146,7 @@ ;; projects. ;; TODO: Add guile-dbi and guile-dbd optional dependencies. (inputs `(("guile" ,guile-2.2) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-redis" ,guile-redis))) (native-inputs `(("bash" ,bash) ;for the `source' builtin ("pkgconfig" ,pkg-config) @@ -844,7 +844,7 @@ messaging library.") (inputs `(("openssl" ,openssl) ("guile" ,guile-2.2) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-simple-zmq" ,guile-simple-zmq))) (synopsis "Guile kernel for the Jupyter Notebook") (description @@ -1008,7 +1008,7 @@ Scheme by using Guile’s foreign function interface.") (inputs `(("guile" ,guile-2.2) ("gnutls" ,gnutls) - ("guile-json" ,guile-json))) + ("guile-json" ,guile-json-1))) (home-page "https://framagit.org/prouby/guile-mastodon") (synopsis "Guile Mastodon REST API module") (description "This package provides Guile modules to access the diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index b555578639..8a3f64b10d 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu @@ -2848,7 +2848,7 @@ replacement for the @code{urlview} program.") `(("guile-debbugs" ,guile-debbugs-next) ("guile-email" ,guile-email) ("guile-fibers" ,guile-fibers) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-syntax-highlight" ,guile-syntax-highlight) ("guile" ,guile-2.2))) (native-inputs diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index ab11065379..9b2cce0e8f 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -293,7 +293,7 @@ (propagated-inputs `(("gnutls" ,gnutls) ("guile-gcrypt" ,guile-gcrypt) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-sqlite3" ,guile-sqlite3) ("guile-ssh" ,guile-ssh) ("guile-git" ,guile-git))) @@ -325,7 +325,7 @@ the Nix package manager.") (inputs `(("gnutls" ,gnutls) ("guile-git" ,guile-git) - ("guile-json" ,guile-json) + ("guile-json" ,guile-json-1) ("guile-gcrypt" ,guile-gcrypt) ,@(fold alist-delete (package-inputs guix) '("boot-guile" "boot-guile/i686" "util-linux")))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index f81d12c7ce..ac6403211c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6509,7 +6509,7 @@ compressed JSON header blocks. (propagated-inputs `(("guile" ,guile-2.2) ("guile-commonmark" ,guile-commonmark) - ("guile-json" ,guile-json))) + ("guile-json" ,guile-json-1))) (home-page "https://github.com/UMCUGenetics/hpcguix-web") (synopsis "Web interface for cluster deployments of Guix") (description "Hpcguix-web provides a web interface to the list of packages -- cgit v1.2.3 From 8172ab2dde425cbd7fb6e633ceff634990acbefb Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Wed, 24 Jul 2019 21:44:44 -0400 Subject: gnu: starfighter: Update to 2.0.0.3. * gnu/packages/games.scm (starfighter): Update to 2.0.0.3. [source]: Use url-fetch and remove 'file-name' field. [native-inputs]: Remove autoconf and automake. --- gnu/packages/games.scm | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 266a2d3bac..a17ac9728c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3264,26 +3264,19 @@ tactics.") (define-public starfighter (package (name "starfighter") - (version "2.0.0.2") - ;; As recommended by the upstream maintainer, use the git source code - ;; instead of the released source tarball until missing files in the tarball - ;; are added. The 'url-fetch' method may be appropriate again after the - ;; next update. See https://github.com/pr-starfighter/starfighter/issues/1 - ;; for more details. + (version "2.0.0.3") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pr-starfighter/starfighter") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append + "https://github.com/pr-starfighter/starfighter/releases" + "/download/v" version "/starfighter-" + (version-major+minor version) "-src.tar.gz")) (sha256 (base32 - "0p81ywgm2dxjbpmbsgx4f2d83sy6lv3hinrr1vzprkf9viidqnd2")))) + "13vi5kh9ahws4f52421cbyw0jn7pmbnld358lqfmr6flql7ilj3b")))) (build-system gnu-build-system) (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config))) (inputs `(("pango" ,pango) ("sdl2" ,sdl2) -- cgit v1.2.3 From 7c0411879b3a393e4a2b082571fc23d4134b182f Mon Sep 17 00:00:00 2001 From: "Jovany Leandro G.C" Date: Wed, 24 Jul 2019 20:35:15 -0500 Subject: gnu: Add xchm. * gnu/packages/ebook.scm (xchm): New variable. Signed-off-by: Ricardo Wurmus Co-authored-by: Ricardo Wurmus --- gnu/packages/ebook.scm | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index cf424f285d..205dd3c8a7 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -56,7 +56,8 @@ #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages wxwidgets)) (define-public chmlib (package @@ -330,3 +331,27 @@ following formats: @item XHTML @end enumerate") (license license:gpl2+))) + +(define-public xchm + (package + (name "xchm") + (version "1.30") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/rzvncj/xCHM" + "/releases/download/" + version "/xchm-" version ".tar.gz")) + (sha256 + (base32 + "1865wb3ppmx5y12rqfhv4wri0lfdah41zsfz94xb8gym80m8zac5")))) + (build-system gnu-build-system) + (inputs + `(("wxwidgets" ,wxwidgets) + ("chmlib" ,chmlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/rzvncj/xCHM") + (synopsis "CHM file viewer") + (description "xCHM is a graphical CHM file viewer. It is a frontend to +the CHM library CHMLIB.") + (license license:gpl2+))) -- cgit v1.2.3 From 15027b89a87c20cdde10599bb1b66a84b15eb648 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Thu, 25 Jul 2019 14:22:20 +0200 Subject: gnu: xpra: Update to 2.5.3. * gnu/packages/xorg.scm (xpra): Update to 2.5.3. --- 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 a2a152bec4..0dbd0326c3 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5988,7 +5988,7 @@ basic eye-candy effects.") (define-public xpra (package (name "xpra") - (version "2.5.2") + (version "2.5.3") (source (origin (method url-fetch) @@ -5996,7 +5996,7 @@ basic eye-candy effects.") version ".tar.xz")) (sha256 (base32 - "1zbh2990crrxp02c554yh30f0s9znm6iiiklkw8vpxrlmdv1z8ks")))) + "1ys35lj28903alccks9p055psy1fsk1nxi8ncchvw8bfxkkkvbys")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg) ("flac" ,flac) -- cgit v1.2.3 From 108edc964bf8111f32e6c98b2fc92ca58547f246 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 17:34:49 +0200 Subject: gnu: exim: Update to 4.92.1 [fixes CVE-2019-13917]. * gnu/packages/mail.scm (exim): Update to 4.92.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 8a3f64b10d..bfa2394ae4 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1195,7 +1195,7 @@ delivery.") (define-public exim (package (name "exim") - (version "4.92") + (version "4.92.1") (source (origin (method url-fetch) @@ -1204,7 +1204,7 @@ delivery.") (string-append "https://ftp.exim.org/pub/exim/exim4/old/exim-" version ".tar.bz2"))) (sha256 - (base32 "127spqn009wa6irp6r1k7a24r8vdwb6mf0raamxn8lbxsnrwy7sl")))) + (base32 "132zmxgzz35xwi89g3crw6hd3y74rxj5zcpamakvrnlcn256amdp")))) (build-system gnu-build-system) (inputs `(("bdb" ,bdb-5.3) ; ‘#error Version 6 and later BDB API is not supported’ -- cgit v1.2.3 From ec8c1681e875e4934cf149fe492db802a6c51612 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 21 Jul 2019 01:12:18 -0400 Subject: gnu: Go 1.11: Update to 1.11.12. * gnu/packages/golang.scm (go-1.11): Update to 1.11.12. --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2f5396dd1e..6381b2c4d6 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -220,7 +220,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.11.10") + (version "1.11.12") (source (origin (method url-fetch) @@ -228,7 +228,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "06rw962xigbrxblp942jbh7k133blpxg2xfrxi32qdhxkmmfj9yz")))) + "09k9zmq7hhgg0bf1y7rwa0kn7q1vkkr94cmg2iv9lq3najh5nykd")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) -- cgit v1.2.3 From 1074b37073afd99f59c760ef0e69c59a7b7ec57d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 21 Jul 2019 01:17:41 -0400 Subject: gnu: Go 1.12: Update to 1.12.7. * gnu/packages/golang.scm (go-1.12): Update to 1.12.7. --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6381b2c4d6..10c30e520b 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -401,7 +401,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") (package (inherit go-1.4) (name "go") - (version "1.12.1") + (version "1.12.7") (source (origin (method url-fetch) @@ -409,7 +409,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") name version ".src.tar.gz")) (sha256 (base32 - "12l12mmgqvy3nbscy7sz83qj4m6iz5a322aq9sk45f7l9ml2gq8b")))) + "04rvwj69gmw3bz8pw5pf10r21ar0pgpnswp15nkddf04dxyl9s4m")))) (arguments (substitute-keyword-arguments (package-arguments go-1.4) ((#:phases phases) -- cgit v1.2.3 From f115d81748d8bedce1344c7e8c1d533ff9a4fe31 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 25 Jul 2019 20:37:43 +0200 Subject: gnu: Add perl-mail-authenticationresults. * gnu/packages/mail.scm (perl-mail-authenticationresults): New variable. --- gnu/packages/mail.scm | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index bfa2394ae4..f783271d18 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu -;;; Copyright © 2014 Julien Lepiller +;;; Copyright © 2014, 2019 Julien Lepiller ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; Copyright © 2015 Paul van der Walt ;;; Copyright © 2015, 2016, 2018 Eric Bavier @@ -95,6 +95,7 @@ #:use-module (gnu packages onc-rpc) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) + #:use-module (gnu packages perl-check) #:use-module (gnu packages perl-web) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) @@ -1900,6 +1901,29 @@ Khard can also be used from within the email client @command{mutt}.") in Perl.") (license bsd-3))) +(define-public perl-mail-authenticationresults + (package + (name "perl-mail-authenticationresults") + (version "1.20180923") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MB/MBRADSHAW/" + "Mail-AuthenticationResults-" version ".tar.gz")) + (sha256 + (base32 + "1g1wym9vcbhldwvi4w5pl0fhd4jh2icj975awf4wr5xmkli9mxbz")))) + (build-system perl-build-system) + (native-inputs + `(("perl-test-exception" ,perl-test-exception))) + (home-page "https://metacpan.org/release/Mail-AuthenticationResults") + (synopsis "Object Oriented Authentication-Results Headers") + (description "Mail::AuthenticationResults parses the message header field +that indicates the message authentication status as per RFC7601. This module +is not fully compliant with the RFC but it tries to implement most styles of +Authentication-Results header seen in the wild.") + (license perl-license))) + (define-public mb2md (package (name "mb2md") -- cgit v1.2.3 From ac629e625cb0a07cfef82d23a9342bba3f1f8029 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 25 Jul 2019 20:40:30 +0200 Subject: gnu: Add perl-net-dns-resolver-mock. * gnu/packages/networking.scm (perl-net-dns-resolver-mock): New variable. --- gnu/packages/networking.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index bc252fc591..3c65630a85 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2019 Maxim Cournoyer ;;; Copyright © 2019 Vasile Dumitrascu +;;; Copyright © 2019 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -1081,6 +1082,28 @@ definitions and structure manipulators for Perl.") offline emulation of DNS.") (license license:perl-license))) +(define-public perl-net-dns-resolver-mock + (package + (name "perl-net-dns-resolver-mock") + (version "1.20171219") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MB/MBRADSHAW/" + "Net-DNS-Resolver-Mock-" version ".tar.gz")) + (sha256 + (base32 + "0m3rxpkv1b9121srvbqkrgzg4m8mnydiydqv34in1i1ixwrl6jn9")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-net-dns" ,perl-net-dns))) + (home-page "https://metacpan.org/release/Net-DNS-Resolver-Mock") + (synopsis "Mock a DNS Resolver object for testing") + (description "Net::DNS::Resolver::Mock is a a subclass of +@code{Net::DNS::Resolver} which parses a zonefile for it's data source. It is +primarily for use in testing.") + (license license:perl-license))) + (define-public perl-netaddr-ip (package (name "perl-netaddr-ip") -- cgit v1.2.3 From 930c52ae66eff9fb040877c315e029fc1a81e1fa Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 25 Jul 2019 20:48:24 +0200 Subject: gnu: Add perl-mail-dkim. * gnu/packages/mail.scm (perl-mail-dkim): New variable. --- gnu/packages/mail.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index f783271d18..3740e73d9f 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1924,6 +1924,38 @@ is not fully compliant with the RFC but it tries to implement most styles of Authentication-Results header seen in the wild.") (license perl-license))) +(define-public perl-mail-dkim + (package + (name "perl-mail-dkim") + (version "0.55") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-" + version + ".tar.gz")) + (sha256 + (base32 + "18nsh1ff6fkns4xk3y2ixmzmadgggydj11qkzj6nlnq2hzqxsafz")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) + ("perl-mail-authenticationresults" ,perl-mail-authenticationresults) + ("perl-mailtools" ,perl-mailtools) + ("perl-net-dns" ,perl-net-dns))) + (native-inputs + `(("perl-net-dns-resolver-mock" ,perl-net-dns-resolver-mock) + ("perl-test-requiresinternet" ,perl-test-requiresinternet) + ("perl-yaml-libyaml" ,perl-yaml-libyaml))) + (home-page "https://metacpan.org/release/Mail-DKIM") + (synopsis "Signs/verifies Internet mail with DKIM/DomainKey signatures") + (description "Mail::DKIM is a Perl module that implements the new Domain +Keys Identified Mail (DKIM) standard, and the older Yahoo! DomainKeys standard, +both of which sign and verify emails using digital signatures and DNS records. +Mail-DKIM can be used by any Perl program that wants to provide support for +DKIM and/or DomainKeys.") + (license gpl3+))) + (define-public mb2md (package (name "mb2md") -- cgit v1.2.3 From 8582202c5b2d7b60c9a816a29ec2a5a32acd64ee Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 25 Jul 2019 20:54:02 +0200 Subject: gnu: Add dkimproxy. * gnu/packages/mail.scm (dkimproxy): New variable. --- gnu/packages/mail.scm | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 3740e73d9f..4f0c7cf265 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1956,6 +1956,62 @@ Mail-DKIM can be used by any Perl program that wants to provide support for DKIM and/or DomainKeys.") (license gpl3+))) +(define-public dkimproxy + (package + (name "dkimproxy") + (version "1.4.1") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/dkimproxy/dkimproxy/" + version "/dkimproxy-" version ".tar.gz")) + (sha256 + (base32 + "1gc5c7lg2qrlck7b0lvjfqr824ch6jkrzkpsn0gjvlzg7hfmld75")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'make-wrapper + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (for-each + (lambda (prog) + (wrap-program (string-append out "/bin/" prog) + `("PERL5LIB" ":" prefix + (,(string-append (assoc-ref inputs "perl-mail-dkim") + "/lib/perl5/site_perl") + ,(string-append (assoc-ref inputs "perl-mailtools") + "/lib/perl5/site_perl") + ,(string-append + (assoc-ref inputs "perl-mail-authenticationresults") + "/lib/perl5/site_perl") + ,(string-append (assoc-ref inputs "perl-crypt-openssl-rsa") + "/lib/perl5/site_perl") + ,(string-append (assoc-ref inputs "perl-net-dns") + "/lib/perl5/site_perl") + ,(string-append (assoc-ref inputs "perl-net-server") + "/lib/perl5/site_perl"))))) + '("dkimproxy.in" "dkimproxy.out"))) + #t))))) + (inputs + `(("perl" ,perl) + ("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) + ("perl-mailtools" ,perl-mailtools) + ("perl-mail-authenticationresults" ,perl-mail-authenticationresults) + ("perl-mail-dkim" ,perl-mail-dkim) + ("perl-net-dns" ,perl-net-dns) + ("perl-net-server" ,perl-net-server))) + (home-page "http://dkimproxy.sourceforge.net/") + (synopsis "SMTP-proxy for DKIM signing and verifying") + (description "DKIMproxy is an SMTP-proxy that signs and/or verifies emails, +using the @code{Mail::DKIM} module. It is designed for Postfix, but should +work with any mail server. It comprises two separate proxies, an outbound +proxy for signing outgoing email, and an inbound proxy for verifying signatures +of incoming email. With Postfix, the proxies can operate as either +@code{Before-Queue} or @code{After-Queue} content filters.") + (license gpl3+))) + (define-public mb2md (package (name "mb2md") -- cgit v1.2.3 From b07aea69dd1d25dbc7f0d5ad28238f16a346352e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 18:34:57 +0200 Subject: gnu: clustershh: Add missing perl-sort-naturally input. * gnu/packages/admin.scm (clusterssh)[propagated-inputs]: Add perl-sort-naturally. --- gnu/packages/admin.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 99f4d7aded..580131325a 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -929,6 +929,7 @@ by bandwidth they use.") (propagated-inputs `(("xterm" ,xterm) ("perl-exception-class" ,perl-exception-class) + ("perl-sort-naturally" ,perl-sort-naturally) ("perl-tk" ,perl-tk) ("perl-try-tiny" ,perl-try-tiny) ("perl-x11-protocol" ,perl-x11-protocol) -- cgit v1.2.3 From 12ea2571221fc08b961c9fd38420648126ac6674 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 18:59:38 +0200 Subject: gnu: clusterssh: Don't propagate xterm. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/admin.scm (clusterssh)[arguments]: Add ‘refer-to-inputs’ and ‘delete-failing-tests’ phases. [inputs]: Move xterm to here… [propagated-inputs]: …from here. --- gnu/packages/admin.scm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 580131325a..42dc4396eb 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -913,6 +913,25 @@ by bandwidth they use.") (base32 "0rmk2p3f2wz1h092anidjclh212rv3gxyk0c641qk3frlrjnw6mp")))) (build-system perl-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'refer-to-inputs + (lambda* (#:key inputs #:allow-other-keys) + (substitute* (list "lib/App/ClusterSSH/Config.pm" + "t/15config.t") + (("xterm") + (which "xterm"))) + #t)) + (add-before 'check 'delete-failing-tests + (lambda _ + ;; This checks whether all code is nicely formatted. The above + ;; ‘refer-to-inputs’ phase breaks this pedantry, so disable it. + (delete-file "t/perltidy.t") + ;; Update the manifest so t/manifest.t happily passes. + (substitute* "MANIFEST" + (("t/perltidy.t\n") "")) + #t))))) (native-inputs `(("perl-cpan-changes" ,perl-cpan-changes) ("perl-file-slurp" ,perl-file-slurp) @@ -926,9 +945,10 @@ by bandwidth they use.") ("perl-test-pod-coverage" ,perl-test-pod-coverage) ("perl-test-trap" ,perl-test-trap) ("perltidy" ,perltidy))) + (inputs + `(("xterm" ,xterm))) (propagated-inputs - `(("xterm" ,xterm) - ("perl-exception-class" ,perl-exception-class) + `(("perl-exception-class" ,perl-exception-class) ("perl-sort-naturally" ,perl-sort-naturally) ("perl-tk" ,perl-tk) ("perl-try-tiny" ,perl-try-tiny) -- cgit v1.2.3 From 41097b2dee9367974c6dd16ac1ba2ee945457237 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 21:58:14 +0200 Subject: gnu: libvirt: Don't use bogus cgroup. Should fix . * gnu/packages/virtualization.scm (libvirt)[source]: Add patch. * gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + .../patches/libvirt-remove-ATTRIBUTE_UNUSED.patch | 34 ++++++++++++++++++++++ gnu/packages/virtualization.scm | 16 +++++----- 3 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch diff --git a/gnu/local.mk b/gnu/local.mk index eb3b0dcd3b..96b5dec029 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1042,6 +1042,7 @@ dist_patch_DATA = \ %D%/packages/patches/libutils-add-includes.patch \ %D%/packages/patches/libutils-remove-damaging-includes.patch \ %D%/packages/patches/libvdpau-va-gl-unbundle.patch \ + %D%/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libvpx-use-after-free-in-postproc.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ diff --git a/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch b/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch new file mode 100644 index 0000000000..5bfefa70bb --- /dev/null +++ b/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch @@ -0,0 +1,34 @@ +From: Tobias Geerinckx-Rice +Date: Thu, 25 Jul 2019 21:48:25 +0200 +Subject: [PATCH]: libvirt: remove ATTRIBUTE_UNUSED + +This should fix the error reported here[0]. Patch taken verbatim from +upstream[1]. + +[0]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36634#28 +[1]: https://github.com/libvirt/libvirt/commit/759bf903a6c24a8efa25c7cf4b099d952eda9bd3 + +From 759bf903a6c24a8efa25c7cf4b099d952eda9bd3 Mon Sep 17 00:00:00 2001 +From: Pavel Hrdina +Date: Mon, 22 Jul 2019 14:46:34 +0200 +Subject: [PATCH] vircgroupv2: remove ATTRIBUTE_UNUSED for used attribute + +Signed-off-by: Pavel Hrdina +Acked-by: Peter Krempa +--- + src/util/vircgroupv2.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c +index af3192c99c..e36c36685b 100644 +--- a/src/util/vircgroupv2.c ++++ b/src/util/vircgroupv2.c +@@ -399,7 +399,7 @@ virCgroupV2EnableController(virCgroupPtr group, + + + static int +-virCgroupV2MakeGroup(virCgroupPtr parent ATTRIBUTE_UNUSED, ++virCgroupV2MakeGroup(virCgroupPtr parent, + virCgroupPtr group, + bool create, + unsigned int flags) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index c6371a6ac1..7c69f7b60e 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -391,13 +391,15 @@ manage system or application containers.") (package (name "libvirt") (version "5.5.0") - (source (origin - (method url-fetch) - (uri (string-append "https://libvirt.org/sources/libvirt-" - version ".tar.xz")) - (sha256 - (base32 - "1s1mzw4cmkcfivs1kphpgy4lpddx0w1qnjysr4ggk5558w4yy1i3")))) + (source + (origin + (method url-fetch) + (uri (string-append "https://libvirt.org/sources/libvirt-" + version ".tar.xz")) + (sha256 + (base32 "1s1mzw4cmkcfivs1kphpgy4lpddx0w1qnjysr4ggk5558w4yy1i3")) + (patches + (search-patches "libvirt-remove-ATTRIBUTE_UNUSED.patch")))) (build-system gnu-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 66e39000c612a9e16e6db709954582c6c0db8499 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 1 Mar 2019 21:04:23 +0100 Subject: gnu: dkimproxy: Add IPv6 support. * gnu/packages/mail.scm (dkimproxy)[source]: Add patch. * gnu/packages/patches/dkimproxy-add-ipv6-support.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/mail.scm | 8 ++- .../patches/dkimproxy-add-ipv6-support.patch | 75 ++++++++++++++++++++++ 3 files changed, 82 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/dkimproxy-add-ipv6-support.patch diff --git a/gnu/local.mk b/gnu/local.mk index 96b5dec029..455bea0397 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -756,6 +756,7 @@ dist_patch_DATA = \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \ %D%/packages/patches/diffutils-getopt.patch \ + %D%/packages/patches/dkimproxy-add-ipv6-support.patch \ %D%/packages/patches/docbook-xsl-nonrecursive-string-subst.patch \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 4f0c7cf265..5ffb5b6cd1 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1967,7 +1967,9 @@ DKIM and/or DomainKeys.") version "/dkimproxy-" version ".tar.gz")) (sha256 (base32 - "1gc5c7lg2qrlck7b0lvjfqr824ch6jkrzkpsn0gjvlzg7hfmld75")))) + "1gc5c7lg2qrlck7b0lvjfqr824ch6jkrzkpsn0gjvlzg7hfmld75")) + (patches + (search-patches "dkimproxy-add-ipv6-support.patch")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1997,11 +1999,13 @@ DKIM and/or DomainKeys.") (inputs `(("perl" ,perl) ("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) + ("perl-io-socket-inet6" ,perl-io-socket-inet6) ("perl-mailtools" ,perl-mailtools) ("perl-mail-authenticationresults" ,perl-mail-authenticationresults) ("perl-mail-dkim" ,perl-mail-dkim) ("perl-net-dns" ,perl-net-dns) - ("perl-net-server" ,perl-net-server))) + ("perl-net-server" ,perl-net-server) + ("perl-socket6" ,perl-socket6))) (home-page "http://dkimproxy.sourceforge.net/") (synopsis "SMTP-proxy for DKIM signing and verifying") (description "DKIMproxy is an SMTP-proxy that signs and/or verifies emails, diff --git a/gnu/packages/patches/dkimproxy-add-ipv6-support.patch b/gnu/packages/patches/dkimproxy-add-ipv6-support.patch new file mode 100644 index 0000000000..8e9988791d --- /dev/null +++ b/gnu/packages/patches/dkimproxy-add-ipv6-support.patch @@ -0,0 +1,75 @@ +From: Tobias Geerinckx-Rice +Date: Fri, 01 Mar 2019 20:51:32 +0100 +Subject: [PATCH] dkimproxy: Add IPv6 support. + +The following patch was copied verbatim from Debian[0]. + +[0]: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=656041 + +--- +--- dkimproxy-1.4.1.orig/lib/MSDW/SMTP/Server.pm ++++ dkimproxy-1.4.1/lib/MSDW/SMTP/Server.pm +@@ -11,7 +11,7 @@ + # Written by Bennett Todd + + package MSDW::SMTP::Server; +-use IO::Socket; ++use IO::Socket::INET6; + use IO::File; + + =head1 NAME +@@ -88,14 +88,14 @@ + =item new(interface => $interface, port => $port); + + The interface and port to listen on must be specified. The interface +-must be a valid numeric IP address (0.0.0.0 to listen on all +-interfaces, as usual); the port must be numeric. If this call +-succeeds, it returns a server structure with an open +-IO::Socket::INET in it, ready to listen on. If it fails it dies, so +-if you want anything other than an exit with an explanatory error +-message, wrap the constructor call in an eval block and pull the +-error out of $@ as usual. This is also the case for all other +-methods; they succeed or they die. ++must be a valid numeric IPv4 or IPv6 address (0.0.0.0 or :: to listen ++on all interfaces, as usual); the port must be numeric. If this call ++succeeds, it returns a server structure with an open IO::Socket::INET6 ++in it, ready to listen on. If it fails it dies, so if you want ++anything other than an exit with an explanatory error message, wrap ++the constructor call in an eval block and pull the error out of $@ as ++usual. This is also the case for all other methods; they succeed or ++they die. + + =item accept([debug => FD]); + +@@ -154,7 +154,7 @@ + my ($this, @opts) = @_; + my $class = ref($this) || $this; + my $self = bless { @opts }, $class; +- $self->{sock} = IO::Socket::INET->new( ++ $self->{sock} = IO::Socket::INET6->new( + LocalAddr => $self->{interface}, + LocalPort => $self->{port}, + Proto => 'tcp', +only in patch2: +unchanged: +--- dkimproxy-1.4.1.orig/scripts/dkimproxy.out ++++ dkimproxy-1.4.1/scripts/dkimproxy.out +@@ -314,17 +314,11 @@ + { + my $self = shift; + +- # try to determine peer's address +- use Socket; +- my $peersockaddr = getpeername(STDOUT); +- my ($port, $iaddr) = sockaddr_in($peersockaddr); +- $ENV{REMOTE_ADDR} = inet_ntoa($iaddr); +- + # initialize syslog + eval + { + openlog("dkimproxy.out", "perror,pid,ndelay", "mail"); +- syslog("debug", '%s', "connect from $ENV{REMOTE_ADDR}"); ++ syslog("debug", '%s', "connect from $self->{server}->{peeraddr}"); + }; + if (my $E = $@) + { -- cgit v1.2.3 From 2b456dd83646bd7489f6475afe5f247f22f79d27 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 22:30:09 +0200 Subject: gnu: dkimproxy: Correct licence. * gnu/packages/mail.scm (dkimproxy)[license]: Change to gpl2+. --- gnu/packages/mail.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 5ffb5b6cd1..c31a141009 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2014,7 +2014,7 @@ work with any mail server. It comprises two separate proxies, an outbound proxy for signing outgoing email, and an inbound proxy for verifying signatures of incoming email. With Postfix, the proxies can operate as either @code{Before-Queue} or @code{After-Queue} content filters.") - (license gpl3+))) + (license gpl2+))) (define-public mb2md (package -- cgit v1.2.3 From ce3a71c61911caadad3b9cb8a1f47370b9b5e61f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 22:35:29 +0200 Subject: gnu: perl-net-dns-resolver-mock: Unpropagate perl-net-dns. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (perl-net-dns-resolver-mock)[inputs]: Move perl-net-dns to here… [propagated-inputs]: …from here. --- gnu/packages/networking.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 3c65630a85..7cdd43096e 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1095,7 +1095,7 @@ offline emulation of DNS.") (base32 "0m3rxpkv1b9121srvbqkrgzg4m8mnydiydqv34in1i1ixwrl6jn9")))) (build-system perl-build-system) - (propagated-inputs + (inputs `(("perl-net-dns" ,perl-net-dns))) (home-page "https://metacpan.org/release/Net-DNS-Resolver-Mock") (synopsis "Mock a DNS Resolver object for testing") -- cgit v1.2.3 From 858be794743e4f8805ec63316dec73b23de5aa56 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 22:37:57 +0200 Subject: gnu: perl-net-dns-resolver-mock: Edit synopsis & description. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (perl-net-dns-resolver-mock)[synopsis]: Remove unfortunate ‘a’. [description]: Fix typo. Edit for clarity. --- gnu/packages/networking.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 7cdd43096e..fb371ed73b 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1098,10 +1098,11 @@ offline emulation of DNS.") (inputs `(("perl-net-dns" ,perl-net-dns))) (home-page "https://metacpan.org/release/Net-DNS-Resolver-Mock") - (synopsis "Mock a DNS Resolver object for testing") - (description "Net::DNS::Resolver::Mock is a a subclass of -@code{Net::DNS::Resolver} which parses a zonefile for it's data source. It is -primarily for use in testing.") + (synopsis "Mock DNS Resolver object for testing") + (description + "Net::DNS::Resolver::Mock is a subclass of Net::DNS::Resolver, but returns +static data from any provided DNS zone file instead of querying the network. +It is intended primarily for use in testing.") (license license:perl-license))) (define-public perl-netaddr-ip -- cgit v1.2.3 From d045dce16d319f68fa9209fd1d75a44999edd938 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 23:02:38 +0200 Subject: gnu: dkimproxy: Keyword-stuff descriptions. * gnu/packages/mail.scm (dkimproxy)[synopsis]: Do so. [description]: Also. --- gnu/packages/mail.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index c31a141009..675ba20e83 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2007,12 +2007,15 @@ DKIM and/or DomainKeys.") ("perl-net-server" ,perl-net-server) ("perl-socket6" ,perl-socket6))) (home-page "http://dkimproxy.sourceforge.net/") - (synopsis "SMTP-proxy for DKIM signing and verifying") - (description "DKIMproxy is an SMTP-proxy that signs and/or verifies emails, -using the @code{Mail::DKIM} module. It is designed for Postfix, but should -work with any mail server. It comprises two separate proxies, an outbound + (synopsis "SMTP proxy to sign and verify Internet mail with DKIM headers") + (description + "DKIMproxy is an SMTP proxy that signs and verifies Internet mail using the +@code{Mail::DKIM} Perl module. It comprises two separate proxies: an outbound proxy for signing outgoing email, and an inbound proxy for verifying signatures -of incoming email. With Postfix, the proxies can operate as either +of incoming messages. + +It was designed for Postfix, but can be used to add DKIM support to nearly any +existing mail server. With Postfix, the proxies can operate as either @code{Before-Queue} or @code{After-Queue} content filters.") (license gpl2+))) -- cgit v1.2.3 From 8c07824c5258588a782d721d8a93b25213d5e658 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 25 Jul 2019 23:27:52 +0200 Subject: gnu: dkimproxy: Factorise wrapping. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is a follow-up to 66e39000c612a9e16e6db709954582c6c0db8499, in a way, since it adds the forgotten *6 inputs. * gnu/packages/mail.scm (dkimproxy)[arguments]: Refactor ’make-wrapper’ phase. Add perl-io-socket-inet6 and perl-socket6 to the list. --- gnu/packages/mail.scm | 43 +++++++++++++++++++++++-------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 675ba20e83..5837db4dde 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1976,26 +1976,29 @@ DKIM and/or DomainKeys.") (modify-phases %standard-phases (add-after 'install 'make-wrapper (lambda* (#:key inputs outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (for-each - (lambda (prog) - (wrap-program (string-append out "/bin/" prog) - `("PERL5LIB" ":" prefix - (,(string-append (assoc-ref inputs "perl-mail-dkim") - "/lib/perl5/site_perl") - ,(string-append (assoc-ref inputs "perl-mailtools") - "/lib/perl5/site_perl") - ,(string-append - (assoc-ref inputs "perl-mail-authenticationresults") - "/lib/perl5/site_perl") - ,(string-append (assoc-ref inputs "perl-crypt-openssl-rsa") - "/lib/perl5/site_perl") - ,(string-append (assoc-ref inputs "perl-net-dns") - "/lib/perl5/site_perl") - ,(string-append (assoc-ref inputs "perl-net-server") - "/lib/perl5/site_perl"))))) - '("dkimproxy.in" "dkimproxy.out"))) - #t))))) + (let* ((out (assoc-ref outputs "out")) + (wrap.pl (lambda (scripts keys) + (for-each + (lambda (script) + (wrap-program (string-append out script) + `("PERL5LIB" ":" prefix + ,(map (λ (input) + (string-append + (assoc-ref inputs input) + "/lib/perl5/site_perl")) + keys)))) + scripts)))) + (wrap.pl (list "/bin/dkimproxy.in" + "/bin/dkimproxy.out") + (list "perl-crypt-openssl-rsa" + "perl-io-socket-inet6" + "perl-mailtools" + "perl-mail-authenticationresults" + "perl-mail-dkim" + "perl-net-dns" + "perl-net-server" + "perl-socket6")) + #t)))))) (inputs `(("perl" ,perl) ("perl-crypt-openssl-rsa" ,perl-crypt-openssl-rsa) -- cgit v1.2.3 From 28e4c3bbb00e165ccc230655256d2845a2233da2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 26 Jul 2019 00:04:59 +0200 Subject: gnu: dkimproxy: Fix dkim_responder.pl. * gnu/packages/mail.scm (dkimproxy)[arguments]: Wrap dkim_responder.pl. [inputs]: Add perl-mime-tools and perl-timedate. --- gnu/packages/mail.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 5837db4dde..a2c51fd596 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1998,6 +1998,13 @@ DKIM and/or DomainKeys.") "perl-net-dns" "perl-net-server" "perl-socket6")) + (wrap.pl (list "/bin/dkim_responder.pl") + (list "perl-crypt-openssl-rsa" + "perl-mail-dkim" + "perl-mailtools" + "perl-mime-tools" + "perl-net-dns" + "perl-timedate")) #t)))))) (inputs `(("perl" ,perl) @@ -2006,9 +2013,11 @@ DKIM and/or DomainKeys.") ("perl-mailtools" ,perl-mailtools) ("perl-mail-authenticationresults" ,perl-mail-authenticationresults) ("perl-mail-dkim" ,perl-mail-dkim) + ("perl-mime-tools" ,perl-mime-tools) ("perl-net-dns" ,perl-net-dns) ("perl-net-server" ,perl-net-server) - ("perl-socket6" ,perl-socket6))) + ("perl-socket6" ,perl-socket6) + ("perl-timedate" ,perl-timedate))) (home-page "http://dkimproxy.sourceforge.net/") (synopsis "SMTP proxy to sign and verify Internet mail with DKIM headers") (description -- cgit v1.2.3 From 3d909a0acff72c7e8df8c2829af4ddfab310bdc2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 26 Jul 2019 00:44:28 +0200 Subject: gnu: youtube-dl: Update to 2019.07.16. * gnu/packages/video.scm (youtube-dl): Update to 2019.07.16. --- 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 2854ae2228..4b9e05edfe 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.06.21") + (version "2019.07.16") (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 - "03a729198zzhixbn7xixi9bprmk3qqh5dsyh3dqhji6lmlijx1w5")))) + "06qd6z9swx8aw9v7vi85q44hmzxgy8wx18a9ljfhx7l7wjpm99ky")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion -- cgit v1.2.3 From 332a2765031a39fd02a23a16492f68ec3a597b1b Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 26 Jul 2019 02:04:58 +0200 Subject: gnu: clusterssh: Run. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/admin.scm (clusterssh)[arguments]: Add ’augment-library-path’ phase so libraries are found. [propagated-inputs]: Make all of these… [inputs]: …regular. --- gnu/packages/admin.scm | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 42dc4396eb..c3b1e04901 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -931,7 +931,33 @@ by bandwidth they use.") ;; Update the manifest so t/manifest.t happily passes. (substitute* "MANIFEST" (("t/perltidy.t\n") "")) - #t))))) + #t)) + (add-after 'install 'augment-library-path + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (with-directory-excursion bin + (for-each + (lambda (program) + (wrap-program program + `("PERL5LIB" ":" prefix + ,(map (lambda (file-name) + (string-append file-name + "/lib/perl5/site_perl")) + (cons out + (map (lambda (input) + (assoc-ref inputs input)) + ;; These may be propagated and hence + ;; not explicitly listed as inputs. + (list "perl-class-data-inheritable" + "perl-devel-stacktrace" + "perl-exception-class" + "perl-tk" + "perl-try-tiny" + "perl-x11-protocol" + "perl-x11-protocol-other"))))))) + (find-files "." ".*"))) + #t)))))) (native-inputs `(("perl-cpan-changes" ,perl-cpan-changes) ("perl-file-slurp" ,perl-file-slurp) @@ -946,14 +972,13 @@ by bandwidth they use.") ("perl-test-trap" ,perl-test-trap) ("perltidy" ,perltidy))) (inputs - `(("xterm" ,xterm))) - (propagated-inputs `(("perl-exception-class" ,perl-exception-class) ("perl-sort-naturally" ,perl-sort-naturally) ("perl-tk" ,perl-tk) ("perl-try-tiny" ,perl-try-tiny) ("perl-x11-protocol" ,perl-x11-protocol) - ("perl-x11-protocol-other" ,perl-x11-protocol-other))) + ("perl-x11-protocol-other" ,perl-x11-protocol-other) + ("xterm" ,xterm))) ;; The clusterssh.sourceforge.net address requires login to view (home-page "https://sourceforge.net/projects/clusterssh/") (synopsis "Secure concurrent multi-server terminal control") -- cgit v1.2.3 From cf40f8e4d7b50ca7db0a661bc1b7d90f11627314 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 26 Jul 2019 09:46:00 +0200 Subject: gnu: vlc: Update to 3.0.7.1. * gnu/packages/video.scm (vlc): Update to 3.0.7.1. --- 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 4b9e05edfe..0ca5469709 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1013,7 +1013,7 @@ videoformats depend on the configuration flags of ffmpeg.") (define-public vlc (package (name "vlc") - (version "3.0.7") + (version "3.0.7.1") (source (origin (method url-fetch) (uri (string-append @@ -1022,7 +1022,7 @@ videoformats depend on the configuration flags of ffmpeg.") "/vlc-" version ".tar.xz")) (sha256 (base32 - "05irswyg9acflxzy4vfyvgi643r72vsvagv118zawjqg1wagxdaw")))) + "1xb4c8n0hkwijzfdlbwadhxnx9z8rlhmrdq4c7q74rq9f51q0m86")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) -- cgit v1.2.3 From 422e187fb48d8c5f9c3f61457cdfaf47f473b1ee Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 10:09:44 +0200 Subject: gnu: jami-client-gnome: Rename to 'jami'. * gnu/packages/telephony.scm (jami-client-gnome): Rename to... (jami): ... this. Update 'name' field accordingly. (jami-client-gnome): New variable. --- gnu/packages/telephony.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index b5c14143a8..cf37756503 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -847,10 +847,10 @@ This package provides a library common to all Jami clients.") (home-page "https://jami.net") (license license:gpl3+))) -(define-public jami-client-gnome +(define-public jami (package (inherit libring) - (name "jami-client-gnome") + (name "jami") (build-system cmake-build-system) (inputs `(("libringclient" ,libringclient) @@ -906,3 +906,6 @@ IAX protocols, as well as decentralized calling using P2P-DHT. This package provides the Jami client for the GNOME desktop.") (home-page "https://jami.net") (license license:gpl3+))) + +(define-public jami-client-gnome + (deprecated-package "jami-client-gnome" jami)) -- cgit v1.2.3 From c4c2449fea9b7fd78f61ffb9bbe19ab2ef6c8b41 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 10:59:24 +0200 Subject: git: 'update-cached-checkout' supports a 'tag-or-commit' type of ref. * guix/git.scm (switch-to-ref)[obj]: Wrap in 'resolve' lambda. Add 'tag-or-commit' case. (update-cached-checkout): Document it. --- guix/git.scm | 61 +++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/guix/git.scm b/guix/git.scm index 289537dedf..fb2df2de07 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -139,29 +139,40 @@ of SHA1 string." "Switch to REPOSITORY's branch, commit or tag specified by REF. Return the OID (roughly the commit hash) corresponding to REF." (define obj - (match ref - (('branch . branch) - (let ((oid (reference-target - (branch-lookup repository branch BRANCH-REMOTE)))) - (object-lookup repository oid))) - (('commit . commit) - (let ((len (string-length commit))) - ;; 'object-lookup-prefix' appeared in Guile-Git in Mar. 2018, so we - ;; can't be sure it's available. Furthermore, 'string->oid' used to - ;; read out-of-bounds when passed a string shorter than 40 chars, - ;; which is why we delay calls to it below. - (if (< len 40) - (if (module-defined? (resolve-interface '(git object)) - 'object-lookup-prefix) - (object-lookup-prefix repository (string->oid commit) len) - (raise (condition - (&message - (message "long Git object ID is required"))))) - (object-lookup repository (string->oid commit))))) - (('tag . tag) - (let ((oid (reference-name->oid repository - (string-append "refs/tags/" tag)))) - (object-lookup repository oid))))) + (let resolve ((ref ref)) + (match ref + (('branch . branch) + (let ((oid (reference-target + (branch-lookup repository branch BRANCH-REMOTE)))) + (object-lookup repository oid))) + (('commit . commit) + (let ((len (string-length commit))) + ;; 'object-lookup-prefix' appeared in Guile-Git in Mar. 2018, so we + ;; can't be sure it's available. Furthermore, 'string->oid' used to + ;; read out-of-bounds when passed a string shorter than 40 chars, + ;; which is why we delay calls to it below. + (if (< len 40) + (if (module-defined? (resolve-interface '(git object)) + 'object-lookup-prefix) + (object-lookup-prefix repository (string->oid commit) len) + (raise (condition + (&message + (message "long Git object ID is required"))))) + (object-lookup repository (string->oid commit))))) + (('tag-or-commit . str) + (if (or (> (string-length str) 40) + (not (string-every char-set:hex-digit str))) + (resolve `(tag . ,str)) ;definitely a tag + (catch 'git-error + (lambda () + (resolve `(tag . ,str))) + (lambda _ + ;; There's no such tag, so it must be a commit ID. + (resolve `(commit . ,str)))))) + (('tag . tag) + (let ((oid (reference-name->oid repository + (string-append "refs/tags/" tag)))) + (object-lookup repository oid)))))) (reset repository obj RESET_HARD) (object-id obj)) @@ -218,8 +229,8 @@ please upgrade Guile-Git.~%")))) values: the cache directory name, and the SHA1 commit (a string) corresponding to REF. -REF is pair whose key is [branch | commit | tag] and value the associated -data, respectively [ | | ]. +REF is pair whose key is [branch | commit | tag | tag-or-commit ] and value +the associated data: [ | | | ]. When RECURSIVE? is true, check out submodules as well, if any." (define canonical-ref -- cgit v1.2.3 From 177fecb57c0c9e15249bf6a49244c9dc6eb8439c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 11:09:56 +0200 Subject: git: allows tags in its 'commit' field. Fixes . Reported by Tobias Geerinckx-Rice . * guix/git.scm (git-checkout-compiler): Pass 'tag-or-commit' to 'latest-repository-commit*'. * doc/guix.texi (Package Transformation Options): Update '--with-commit' documentation accordingly. * tests/guix-build-branch.sh: Add test. --- doc/guix.texi | 2 +- guix/git.scm | 4 ++-- tests/guix-build-branch.sh | 8 +++++++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index c2da4ce173..96448c24e5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8048,7 +8048,7 @@ guix build --with-branch=guile-sqlite3=master cuirass @item --with-commit=@var{package}=@var{commit} This is similar to @code{--with-branch}, except that it builds from @var{commit} rather than the tip of a branch. @var{commit} must be a valid -Git commit SHA1 identifier. +Git commit SHA1 identifier or a tag. @end table @node Additional Build Options diff --git a/guix/git.scm b/guix/git.scm index fb2df2de07..85252629fc 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -330,7 +330,7 @@ Log progress and checkout info to LOG-PORT." git-checkout? (url git-checkout-url) (branch git-checkout-branch (default "master")) - (commit git-checkout-commit (default #f)) + (commit git-checkout-commit (default #f)) ;#f | tag | commit (recursive? git-checkout-recursive? (default #f))) (define* (latest-repository-commit* url #:key ref recursive? log-port) @@ -369,7 +369,7 @@ Log progress and checkout info to LOG-PORT." (($ url branch commit recursive?) (latest-repository-commit* url #:ref (if commit - `(commit . ,commit) + `(tag-or-commit . ,commit) `(branch . ,branch)) #:recursive? recursive? #:log-port (current-error-port))))) diff --git a/tests/guix-build-branch.sh b/tests/guix-build-branch.sh index e64782c831..0cec7c75db 100644 --- a/tests/guix-build-branch.sh +++ b/tests/guix-build-branch.sh @@ -1,5 +1,5 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2018 Ludovic Courtès +# Copyright © 2018, 2019 Ludovic Courtès # # This file is part of GNU Guix. # @@ -52,5 +52,11 @@ guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-git.9e3eacd test "$v0_1_0_drv" != "$latest_drv" test "$v0_1_0_drv" != "$orig_drv" +v0_1_0_drv="`guix build guix --with-commit=guile-gcrypt=v0.1.0 -d`" +guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-git.v0.1.0 +guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-8fe64e8 # this is the *tag* ID +test "$v0_1_0_drv" != "$latest_drv" +test "$v0_1_0_drv" != "$orig_drv" + if guix build guix --with-commit=guile-gcrypt=000 -d then false; else true; fi -- cgit v1.2.3 From 10a8c2bbc6754bddb0e5d668b3ecc9050efd820b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 11:16:10 +0200 Subject: git: 'switch-to-ref' resolves tag targets. * guix/git.scm (switch-to-ref): In the 'tag' case, resolve the target of the tag. * tests/guix-build-branch.sh: Adjust test accordingly. --- guix/git.scm | 6 +++++- tests/guix-build-branch.sh | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/guix/git.scm b/guix/git.scm index 85252629fc..de98fed40c 100644 --- a/guix/git.scm +++ b/guix/git.scm @@ -172,7 +172,11 @@ OID (roughly the commit hash) corresponding to REF." (('tag . tag) (let ((oid (reference-name->oid repository (string-append "refs/tags/" tag)))) - (object-lookup repository oid)))))) + ;; Get the commit that the tag at OID refers to. This is not + ;; strictly needed, but it's more consistent to always return the + ;; OID of a commit. + (object-lookup repository + (tag-target-id (tag-lookup repository oid)))))))) (reset repository obj RESET_HARD) (object-id obj)) diff --git a/tests/guix-build-branch.sh b/tests/guix-build-branch.sh index 0cec7c75db..3d2a7dddf5 100644 --- a/tests/guix-build-branch.sh +++ b/tests/guix-build-branch.sh @@ -54,7 +54,7 @@ test "$v0_1_0_drv" != "$orig_drv" v0_1_0_drv="`guix build guix --with-commit=guile-gcrypt=v0.1.0 -d`" guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-git.v0.1.0 -guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-8fe64e8 # this is the *tag* ID +guix gc -R "$v0_1_0_drv" | grep guile-gcrypt-9e3eacd test "$v0_1_0_drv" != "$latest_drv" test "$v0_1_0_drv" != "$orig_drv" -- cgit v1.2.3 From 4d04bc50d2df32be326e0f48f378dc581f873989 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 11:17:31 +0200 Subject: guix build: '--with-commit' recognizes "v[0-9]" tags. * guix/scripts/build.scm (transform-package-source-commit)[replace]: Special case COMMIT that starts with "v[0-9]". --- guix/scripts/build.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index ec58ba871b..3ee0b737fe 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -341,10 +341,15 @@ strings like \"guile-next=cabba9e\" meaning that packages are built using (define (replace old url commit) (package (inherit old) - (version (string-append "git." - (if (< (string-length commit) 7) - commit - (string-take commit 7)))) + (version (if (and (> (string-length commit) 1) + (string-prefix? "v" commit) + (char-set-contains? char-set:digit + (string-ref commit 1))) + (string-drop commit 1) ;looks like a tag like "v1.0" + (string-append "git." + (if (< (string-length commit) 7) + commit + (string-take commit 7))))) (source (git-checkout (url url) (commit commit) (recursive? #t))))) -- cgit v1.2.3 From 20269b6e08b338f6ef47374281c8988868ffa96a Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Fri, 26 Jul 2019 19:07:26 +0200 Subject: gnu: sdl2: Update to 2.0.10. * gnu/packages/sdl.scm (sdl2): Update to 2.0.10. --- gnu/packages/sdl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index b6b28b7d06..cb5b5839df 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -107,7 +107,7 @@ joystick, and graphics hardware.") (define-public sdl2 (package (inherit sdl) (name "sdl2") - (version "2.0.9") + (version "2.0.10") (source (origin (method url-fetch) (uri @@ -115,7 +115,7 @@ joystick, and graphics hardware.") version ".tar.gz")) (sha256 (base32 - "1c94ndagzkdfqaa838yqg589p1nnqln8mv0hpwfhrkbfczf8cl95")))) + "0mqxp6w5jhbq6y1j690g9r3gpzwjxh4czaglw8x05l7hl49nqrdl")))) (arguments (substitute-keyword-arguments (package-arguments sdl) ((#:configure-flags flags) -- cgit v1.2.3 From 5c793753b31b1dcd9a554bce953124f7ae88ca9a Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Wed, 24 Jul 2019 12:34:02 -0400 Subject: guix system: Add 'reconfigure' module. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/scripts/system/reconfigure.scm: New file. * Makefile.am (MODULES): Add it. * guix/scripts/system.scm (bootloader-installer-script): Export variable. * gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services) (install-bootloader): Delete variable. * gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure. * gnu/services/herd.scm (live-service): Export variable. * gnu/services/herd.scm (live-service-canonical-name): New variable. * tests/services.scm (live-service): Delete variable. Signed-off-by: Ludovic Courtès --- Makefile.am | 1 + gnu/machine/ssh.scm | 189 ++-------------------------- gnu/services/herd.scm | 6 + guix/scripts/system/reconfigure.scm | 237 ++++++++++++++++++++++++++++++++++++ tests/services.scm | 4 - 5 files changed, 256 insertions(+), 181 deletions(-) create mode 100644 guix/scripts/system/reconfigure.scm diff --git a/Makefile.am b/Makefile.am index 7fa51d17ac..0bd85e8fcf 100644 --- a/Makefile.am +++ b/Makefile.am @@ -249,6 +249,7 @@ MODULES = \ guix/scripts/describe.scm \ guix/scripts/system.scm \ guix/scripts/system/search.scm \ + guix/scripts/system/reconfigure.scm \ guix/scripts/lint.scm \ guix/scripts/challenge.scm \ guix/scripts/import/crate.scm \ diff --git a/gnu/machine/ssh.scm b/gnu/machine/ssh.scm index 278d43c10f..552eafa9de 100644 --- a/gnu/machine/ssh.scm +++ b/gnu/machine/ssh.scm @@ -17,23 +17,21 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu machine ssh) - #:use-module (gnu bootloader) #:use-module (gnu machine) #:autoload (gnu packages gnupg) (guile-gcrypt) - #:use-module (gnu services) - #:use-module (gnu services shepherd) #:use-module (gnu system) - #:use-module (guix derivations) #:use-module (guix gexp) #:use-module (guix i18n) #:use-module (guix modules) #:use-module (guix monads) #:use-module (guix records) #:use-module (guix remote) + #:use-module (guix scripts system reconfigure) #:use-module (guix ssh) #:use-module (guix store) #:use-module (ice-9 match) #:use-module (srfi srfi-19) + #:use-module (srfi srfi-26) #:use-module (srfi srfi-35) #:export (managed-host-environment-type @@ -105,118 +103,6 @@ an environment type of 'managed-host." ;;; System deployment. ;;; -(define (switch-to-system machine) - "Monadic procedure creating a new generation on MACHINE and execute the -activation script for the new system configuration." - (define (remote-exp drv script) - (with-extensions (list guile-gcrypt) - (with-imported-modules (source-module-closure '((guix config) - (guix profiles) - (guix utils))) - #~(begin - (use-modules (guix config) - (guix profiles) - (guix utils)) - - (define %system-profile - (string-append %state-directory "/profiles/system")) - - (let* ((system #$drv) - (number (1+ (generation-number %system-profile))) - (generation (generation-file-name %system-profile number))) - (switch-symlinks generation system) - (switch-symlinks %system-profile generation) - ;; The implementation of 'guix system reconfigure' saves the - ;; load path and environment here. This is unnecessary here - ;; because each invocation of 'remote-eval' runs in a distinct - ;; Guile REPL. - (setenv "GUIX_NEW_SYSTEM" system) - ;; The activation script may write to stdout, which confuses - ;; 'remote-eval' when it attempts to read a result from the - ;; remote REPL. We work around this by forcing the output to a - ;; string. - (with-output-to-string - (lambda () - (primitive-load #$script)))))))) - - (let* ((os (machine-system machine)) - (script (operating-system-activation-script os))) - (mlet* %store-monad ((drv (operating-system-derivation os))) - (machine-remote-eval machine (remote-exp drv script))))) - -;; XXX: Currently, this does NOT attempt to restart running services. This is -;; also the case with 'guix system reconfigure'. -;; -;; See . -(define (upgrade-shepherd-services machine) - "Monadic procedure unloading and starting services on the remote as needed -to realize the MACHINE's system configuration." - (define target-services - ;; Monadic expression evaluating to a list of (name output-path) pairs for - ;; all of MACHINE's services. - (mapm %store-monad - (lambda (service) - (mlet %store-monad ((file ((compose lower-object - shepherd-service-file) - service))) - (return (list (shepherd-service-canonical-name service) - (derivation->output-path file))))) - (service-value - (fold-services (operating-system-services (machine-system machine)) - #:target-type shepherd-root-service-type)))) - - (define (remote-exp target-services) - (with-imported-modules '((gnu services herd)) - #~(begin - (use-modules (gnu services herd) - (srfi srfi-1)) - - (define running - (filter live-service-running (current-services))) - - (define (essential? service) - ;; Return #t if SERVICE is essential and should not be unloaded - ;; under any circumstance. - (memq (first (live-service-provision service)) - '(root shepherd))) - - (define (obsolete? service) - ;; Return #t if SERVICE can be safely unloaded. - (and (not (essential? service)) - (every (lambda (requirements) - (not (memq (first (live-service-provision service)) - requirements))) - (map live-service-requirement running)))) - - (define to-unload - (filter obsolete? - (remove (lambda (service) - (memq (first (live-service-provision service)) - (map first '#$target-services))) - running))) - - (define to-start - (remove (lambda (service-pair) - (memq (first service-pair) - (map (compose first live-service-provision) - running))) - '#$target-services)) - - ;; Unload obsolete services. - (for-each (lambda (service) - (false-if-exception - (unload-service service))) - to-unload) - - ;; Load the service files for any new services and start them. - (load-services/safe (map second to-start)) - (for-each start-service (map first to-start)) - - #t))) - - (mlet %store-monad ((target-services target-services)) - (machine-remote-eval machine (remote-exp target-services)))) - (define (machine-boot-parameters machine) "Monadic procedure returning a list of 'boot-parameters' for the generations of MACHINE's system profile, ordered from most recent to oldest." @@ -275,71 +161,20 @@ of MACHINE's system profile, ordered from most recent to oldest." (boot-parameters-kernel-arguments params)))))))) generations)))) -(define (install-bootloader machine) - "Create a bootloader entry for the new system generation on MACHINE, and -configure the bootloader to boot that generation by default." - (define bootloader-installer-script - (@@ (guix scripts system) bootloader-installer-script)) - - (define (remote-exp installer bootcfg bootcfg-file) - (with-extensions (list guile-gcrypt) - (with-imported-modules (source-module-closure '((gnu build install) - (guix store) - (guix utils))) - #~(begin - (use-modules (gnu build install) - (guix store) - (guix utils)) - (let* ((gc-root (string-append "/" %gc-roots-directory "/bootcfg")) - (temp-gc-root (string-append gc-root ".new"))) - - (switch-symlinks temp-gc-root gc-root) - - (unless (false-if-exception - (begin - ;; The implementation of 'guix system reconfigure' - ;; saves the load path here. This is unnecessary here - ;; because each invocation of 'remote-eval' runs in a - ;; distinct Guile REPL. - (install-boot-config #$bootcfg #$bootcfg-file "/") - ;; The installation script may write to stdout, which - ;; confuses 'remote-eval' when it attempts to read a - ;; result from the remote REPL. We work around this - ;; by forcing the output to a string. - (with-output-to-string - (lambda () - (primitive-load #$installer))))) - (delete-file temp-gc-root) - (error "failed to install bootloader")) - - (rename-file temp-gc-root gc-root) - #t))))) - - (mlet* %store-monad ((boot-parameters (machine-boot-parameters machine))) - (let* ((os (machine-system machine)) - (bootloader ((compose bootloader-configuration-bootloader - operating-system-bootloader) - os)) - (bootloader-target (bootloader-configuration-target - (operating-system-bootloader os))) - (installer (bootloader-installer-script - (bootloader-installer bootloader) - (bootloader-package bootloader) - bootloader-target - "/")) - (menu-entries (map boot-parameters->menu-entry boot-parameters)) - (bootcfg (operating-system-bootcfg os menu-entries)) - (bootcfg-file (bootloader-configuration-file bootloader))) - (machine-remote-eval machine (remote-exp installer bootcfg bootcfg-file))))) - (define (deploy-managed-host machine) "Internal implementation of 'deploy-machine' for MACHINE instances with an environment type of 'managed-host." (maybe-raise-unsupported-configuration-error machine) - (mbegin %store-monad - (switch-to-system machine) - (upgrade-shepherd-services machine) - (install-bootloader machine))) + (mlet %store-monad ((boot-parameters (machine-boot-parameters machine))) + (let* ((os (machine-system machine)) + (eval (cut machine-remote-eval machine <>)) + (menu-entries (map boot-parameters->menu-entry boot-parameters)) + (bootloader-configuration (operating-system-bootloader os)) + (bootcfg (operating-system-bootcfg os menu-entries))) + (mbegin %store-monad + (switch-to-system eval os) + (upgrade-shepherd-services eval os) + (install-bootloader eval bootloader-configuration bootcfg))))) ;;; diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index 0008746fe9..2207b2d34b 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -40,10 +40,12 @@ unknown-shepherd-error? unknown-shepherd-error-sexp + live-service live-service? live-service-provision live-service-requirement live-service-running + live-service-canonical-name with-shepherd-action current-services @@ -192,6 +194,10 @@ of pairs." (requirement live-service-requirement) ;list of symbols (running live-service-running)) ;#f | object +(define (live-service-canonical-name service) + "Return the 'canonical name' of SERVICE." + (first (live-service-provision service))) + (define (current-services) "Return the list of currently defined Shepherd services, represented as objects. Return #f if the list of services could not be diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm new file mode 100644 index 0000000000..8c7d461585 --- /dev/null +++ b/guix/scripts/system/reconfigure.scm @@ -0,0 +1,237 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès +;;; Copyright © 2016 Alex Kost +;;; Copyright © 2016, 2017, 2018 Chris Marusich +;;; Copyright © 2017 Mathieu Othacehe +;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2019 Christopher Baines +;;; Copyright © 2019 Jakob L. Kreuze +;;; +;;; 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 (guix scripts system reconfigure) + #:autoload (gnu packages gnupg) (guile-gcrypt) + #:use-module (gnu bootloader) + #:use-module (gnu services) + #:use-module (gnu services herd) + #:use-module (gnu services shepherd) + #:use-module (gnu system) + #:use-module (guix gexp) + #:use-module (guix modules) + #:use-module (guix monads) + #:use-module (guix store) + #:use-module (ice-9 match) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:export (switch-system-program + switch-to-system + + upgrade-services-program + upgrade-shepherd-services + + install-bootloader-program + install-bootloader)) + +;;; Commentary: +;;; +;;; This module implements the "effectful" parts of system +;;; reconfiguration. Although building a system derivation is a pure +;;; operation, a number of impure operations must be carried out for the +;;; system configuration to be realized -- chiefly, creation of generation +;;; symlinks and invocation of activation scripts. +;;; +;;; Code: + + +;;; +;;; Profile creation. +;;; + +(define* (switch-system-program os #:optional profile) + "Return an executable store item that, upon being evaluated, will create a +new generation of PROFILE pointing to the directory of OS, switch to it +atomically, and run OS's activation script." + (program-file + "switch-to-system.scm" + (with-extensions (list guile-gcrypt) + (with-imported-modules (source-module-closure '((guix config) + (guix profiles) + (guix utils))) + #~(begin + (use-modules (guix config) + (guix profiles) + (guix utils)) + + (define profile + (or #$profile (string-append %state-directory "/profiles/system"))) + + (let* ((number (1+ (generation-number profile))) + (generation (generation-file-name profile number))) + (switch-symlinks generation #$os) + (switch-symlinks profile generation) + (setenv "GUIX_NEW_SYSTEM" #$os) + (primitive-load #$(operating-system-activation-script os)))))))) + +(define* (switch-to-system eval os #:optional profile) + "Using EVAL, a monadic procedure taking a single G-Expression as an argument, +create a new generation of PROFILE pointing to the directory of OS, switch to +it atomically, and run OS's activation script." + (eval #~(primitive-load #$(switch-system-program os profile)))) + + +;;; +;;; Services. +;;; + +(define (running-services eval) + "Using EVAL, a monadic procedure taking a single G-Expression as an argument, +return the objects that are currently running on MACHINE." + (define exp + (with-imported-modules '((gnu services herd)) + #~(begin + (use-modules (gnu services herd)) + (let ((services (current-services))) + (and services + ;; 'live-service-running' is ignored, as we can't necessarily + ;; serialize arbitrary objects. This should be fine for now, + ;; since 'machine-current-services' is not exposed publicly, + ;; and the resultant objects are only used for + ;; resolving service dependencies. + (map (lambda (service) + (list (live-service-provision service) + (live-service-requirement service))) + services)))))) + (mlet %store-monad ((services (eval exp))) + (return (map (match-lambda + ((provision requirement) + (live-service provision requirement #f))) + services)))) + +;; XXX: Currently, this does NOT attempt to restart running services. See +;; for details. +(define (upgrade-services-program service-files to-start to-unload to-restart) + "Return an executable store item that, upon being evaluated, will upgrade +the Shepherd (PID 1) by unloading obsolete services and loading new +services. SERVICE-FILES is a list of Shepherd service files to load, and +TO-START, TO-UNLOAD, and TO-RESTART are lists of the Shepherd services' +canonical names (symbols)." + (program-file + "upgrade-shepherd-services.scm" + (with-imported-modules '((gnu services herd)) + #~(begin + (use-modules (gnu services herd) + (srfi srfi-1)) + + ;; Load the service files for any new services. + (load-services/safe '#$service-files) + + ;; Unload obsolete services and start new services. + (for-each unload-service '#$to-unload) + (for-each start-service '#$to-start))))) + +(define* (upgrade-shepherd-services eval os) + "Using EVAL, a monadic procedure taking a single G-Expression as an argument, +upgrade the Shepherd (PID 1) by unloading obsolete services and loading new +services as defined by OS." + (define target-services + (service-value + (fold-services (operating-system-services os) + #:target-type shepherd-root-service-type))) + + (mlet* %store-monad ((live-services (running-services eval))) + (let*-values (((to-unload to-restart) + (shepherd-service-upgrade live-services target-services))) + (let* ((to-unload (map live-service-canonical-name to-unload)) + (to-restart (map shepherd-service-canonical-name to-restart)) + (to-start (lset-difference eqv? + (map shepherd-service-canonical-name + target-services) + (map live-service-canonical-name + live-services))) + (service-files + (map shepherd-service-file + (filter (lambda (service) + (memq (shepherd-service-canonical-name service) + to-start)) + target-services)))) + (eval #~(primitive-load #$(upgrade-services-program service-files + to-start + to-unload + to-restart))))))) + + +;;; +;;; Bootloader configuration. +;;; + +(define (install-bootloader-program installer bootloader-package bootcfg + bootcfg-file device target) + "Return an executable store item that, upon being evaluated, will install +BOOTCFG to BOOTCFG-FILE, a target file name, on DEVICE, a file system device, +at TARGET, a mount point, and subsequently run INSTALLER from +BOOTLOADER-PACKAGE." + (program-file + "install-bootloader.scm" + (with-extensions (list guile-gcrypt) + (with-imported-modules (source-module-closure '((gnu build bootloader) + (gnu build install) + (guix store) + (guix utils))) + #~(begin + (use-modules (gnu build bootloader) + (gnu build install) + (guix build utils) + (guix store) + (guix utils) + (ice-9 binary-ports) + (srfi srfi-34) + (srfi srfi-35)) + (let* ((gc-root (string-append #$target %gc-roots-directory "/bootcfg")) + (temp-gc-root (string-append gc-root ".new"))) + (switch-symlinks temp-gc-root gc-root) + (install-boot-config #$bootcfg #$bootcfg-file #$target) + ;; Preserve the previous activation's garbage collector root + ;; until the bootloader installer has run, so that a failure in + ;; the bootloader's installer script doesn't leave the user with + ;; a broken installation. + (when #$installer + (catch #t + (lambda () + (#$installer #$bootloader-package #$device #$target)) + (lambda args + (delete-file temp-gc-root) + (apply throw args)))) + (rename-file temp-gc-root gc-root))))))) + +(define* (install-bootloader eval configuration bootcfg + #:key + (run-installer? #t) + (target "/")) + "Using EVAL, a monadic procedure taking a single G-Expression as an argument, +configure the bootloader on TARGET such that OS will be booted by default and +additional configurations specified by MENU-ENTRIES can be selected." + (let* ((bootloader (bootloader-configuration-bootloader configuration)) + (installer (and run-installer? + (bootloader-installer bootloader))) + (package (bootloader-package bootloader)) + (device (bootloader-configuration-target configuration)) + (bootcfg-file (bootloader-configuration-file bootloader))) + (eval #~(primitive-load #$(install-bootloader-program installer + package + bootcfg + bootcfg-file + device + target))))) diff --git a/tests/services.scm b/tests/services.scm index 44ad0022c6..572fe38164 100644 --- a/tests/services.scm +++ b/tests/services.scm @@ -26,10 +26,6 @@ #:use-module (srfi srfi-64) #:use-module (ice-9 match)) -(define live-service - (@@ (gnu services herd) live-service)) - - (test-begin "services") (test-equal "services, default value" -- cgit v1.2.3 From 5c8c8c455420af27189d6045b3599fe6e27ad012 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Wed, 24 Jul 2019 12:34:38 -0400 Subject: guix system: Reimplement 'reconfigure'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/scripts/system.scm (switch-to-system) (upgrade-shepherd-services, install-bootloader): Delete variable. (local-eval): New variable. (install): Remove 'bootloader-installer' and 'bootcfg-file' parameters. (install): Add 'bootloader' parameter. Signed-off-by: Ludovic Courtès --- guix/scripts/system.scm | 181 ++++++++++-------------------------------------- 1 file changed, 36 insertions(+), 145 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 67a4071684..9fc3a10e98 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -41,6 +41,7 @@ delete-matching-generations) #:use-module (guix graph) #:use-module (guix scripts graph) + #:use-module (guix scripts system reconfigure) #:use-module (guix build utils) #:use-module (guix progress) #:use-module ((guix build syscalls) #:select (terminal-columns)) @@ -178,43 +179,9 @@ TARGET, and register them." (return *unspecified*))) -(define* (install-bootloader installer - #:key - bootcfg bootcfg-file - target) - "Run INSTALLER, a bootloader installation script, with error handling, in -%STORE-MONAD." - (mlet %store-monad ((installer-drv (if installer - (lower-object installer) - (return #f))) - (bootcfg (lower-object bootcfg))) - (let* ((gc-root (string-append target %gc-roots-directory - "/bootcfg")) - (temp-gc-root (string-append gc-root ".new")) - (install (and installer-drv - (derivation->output-path installer-drv))) - (bootcfg (derivation->output-path bootcfg))) - ;; Prepare the symlink to bootloader config file to make sure that it's - ;; a GC root when 'installer-drv' completes (being a bit paranoid.) - (switch-symlinks temp-gc-root bootcfg) - - (unless (false-if-exception - (begin - (install-boot-config bootcfg bootcfg-file target) - (when install - (save-load-path-excursion (primitive-load install))))) - (delete-file temp-gc-root) - (leave (G_ "failed to install bootloader ~a~%") install)) - - ;; Register bootloader config file as a GC root so that its dependencies - ;; (background image, font, etc.) are not reclaimed. - (rename-file temp-gc-root gc-root) - (return #t)))) - (define* (install os-drv target #:key (log-port (current-output-port)) - bootloader-installer install-bootloader? - bootcfg bootcfg-file) + install-bootloader? bootloader bootcfg) "Copy the closure of BOOTCFG, which includes the output of OS-DRV, to directory TARGET. TARGET must be an absolute directory name since that's what 'register-path' expects. @@ -265,10 +232,11 @@ the ownership of '~a' may be incorrect!~%") (populate os-dir target) (mwhen install-bootloader? - (install-bootloader bootloader-installer - #:bootcfg bootcfg - #:bootcfg-file bootcfg-file - #:target target)))))) + (install-bootloader local-eval bootloader bootcfg + #:target target) + (return + (info (G_ "bootloader successfully installed on '~a'~%") + (bootloader-configuration-target bootloader)))))))) ;;; @@ -335,82 +303,6 @@ unload." (warning (G_ "failed to obtain list of shepherd services~%")) (return #f))))) -(define (upgrade-shepherd-services os) - "Upgrade the Shepherd (PID 1) by unloading obsolete services and loading new -services specified in OS and not currently running. - -This is currently very conservative in that it does not stop or unload any -running service. Unloading or stopping the wrong service ('udev', say) could -bring the system down." - (define new-services - (service-value - (fold-services (operating-system-services os) - #:target-type shepherd-root-service-type))) - - ;; Arrange to simply emit a warning if the service upgrade fails. - (with-shepherd-error-handling - (call-with-service-upgrade-info new-services - (lambda (to-restart to-unload) - (for-each (lambda (unload) - (info (G_ "unloading service '~a'...~%") unload) - (unload-service unload)) - to-unload) - - (with-monad %store-monad - (munless (null? new-services) - (let ((new-service-names (map shepherd-service-canonical-name new-services)) - (to-restart-names (map shepherd-service-canonical-name to-restart)) - (to-start (filter shepherd-service-auto-start? new-services))) - (info (G_ "loading new services:~{ ~a~}...~%") new-service-names) - (unless (null? to-restart-names) - ;; Listing TO-RESTART-NAMES in the message below wouldn't help - ;; because many essential services cannot be meaningfully - ;; restarted. See . - (format #t (G_ "To complete the upgrade, run 'herd restart SERVICE' to stop, -upgrade, and restart each service that was not automatically restarted.\n"))) - (mlet %store-monad ((files (mapm %store-monad - (compose lower-object - shepherd-service-file) - new-services))) - ;; Here we assume that FILES are exactly those that were computed - ;; as part of the derivation that built OS, which is normally the - ;; case. - (load-services/safe (map derivation->output-path files)) - - (for-each start-service - (map shepherd-service-canonical-name to-start)) - (return #t))))))))) - -(define* (switch-to-system os - #:optional (profile %system-profile)) - "Make a new generation of PROFILE pointing to the directory of OS, switch to -it atomically, and then run OS's activation script." - (mlet* %store-monad ((drv (operating-system-derivation os)) - (script (lower-object (operating-system-activation-script os)))) - (let* ((system (derivation->output-path drv)) - (number (+ 1 (generation-number profile))) - (generation (generation-file-name profile number))) - (switch-symlinks generation system) - (switch-symlinks profile generation) - - (format #t (G_ "activating system...~%")) - - ;; The activation script may change $PATH, among others, so protect - ;; against that. - (save-environment-excursion - ;; Tell 'activate-current-system' what the new system is. - (setenv "GUIX_NEW_SYSTEM" system) - - ;; The activation script may modify '%load-path' & co., so protect - ;; against that. This is necessary to ensure that - ;; 'upgrade-shepherd-services' gets to see the right modules when it - ;; computes derivations with 'gexp->derivation'. - (save-load-path-excursion - (primitive-load (derivation->output-path script)))) - - ;; Finally, try to update system services. - (upgrade-shepherd-services os)))) - (define-syntax-rule (unless-file-not-found exp) (catch 'system-error (lambda () @@ -505,18 +397,13 @@ STORE is an open connection to the store." ((bootloader-configuration-file-generator bootloader) bootloader-config entries #:old-entries old-entries))) - (bootcfg-file -> (bootloader-configuration-file bootloader)) - (target -> "/") (drvs -> (list bootcfg))) (mbegin %store-monad (show-what-to-build* drvs) (built-derivations drvs) - ;; Only install bootloader configuration file. Thus, no installer is - ;; provided here. - (install-bootloader #f - #:bootcfg bootcfg - #:bootcfg-file bootcfg-file - #:target target)))))) + ;; Only install bootloader configuration file. + (install-bootloader local-eval bootloader-config bootcfg + #:run-installer? #f)))))) ;;; @@ -820,8 +707,17 @@ and TARGET arguments." (condition-message c)) (exit 1))) (#$installer #$bootloader #$device #$target) - (format #t "bootloader successfully installed on '~a'~%" - #$device)))))) + (info (G_ "bootloader successfully installed on '~a'~%") + #$device)))))) + +(define (local-eval exp) + "Evaluate EXP, a G-Expression, in-place." + (mlet* %store-monad ((lowered (lower-gexp exp)) + (_ (built-derivations (lowered-gexp-inputs lowered)))) + (save-load-path-excursion + (set! %load-path (lowered-gexp-load-path lowered)) + (set! %load-compiled-path (lowered-gexp-load-compiled-path lowered)) + (return (primitive-eval (lowered-gexp-sexp lowered)))))) (define* (perform-action action os #:key skip-safety-checks? @@ -858,19 +754,12 @@ static checks." (map boot-parameters->menu-entry (profile-boot-parameters)))) (define bootloader - (bootloader-configuration-bootloader (operating-system-bootloader os))) + (operating-system-bootloader os)) (define bootcfg (and (memq action '(init reconfigure)) (operating-system-bootcfg os menu-entries))) - (define bootloader-script - (let ((installer (bootloader-installer bootloader)) - (target (or target "/"))) - (bootloader-installer-script installer - (bootloader-package bootloader) - bootloader-target target))) - (when (eq? action 'reconfigure) (maybe-suggest-running-guix-pull)) @@ -897,9 +786,7 @@ static checks." ;; See . (drvs (mapm %store-monad lower-object (if (memq action '(init reconfigure)) - (if install-bootloader? - (list sys bootcfg bootloader-script) - (list sys bootcfg)) + (list sys bootcfg) (list sys)))) (% (if derivations-only? (return (for-each (compose println derivation-file-name) @@ -909,28 +796,32 @@ static checks." (if (or dry-run? derivations-only?) (return #f) - (let ((bootcfg-file (bootloader-configuration-file bootloader))) + (begin (for-each (compose println derivation->output-path) drvs) (case action ((reconfigure) + (newline) + (format #t (G_ "activating system...~%")) (mbegin %store-monad - (switch-to-system os) + (switch-to-system local-eval os) (mwhen install-bootloader? - (install-bootloader bootloader-script - #:bootcfg bootcfg - #:bootcfg-file bootcfg-file - #:target "/")))) + (install-bootloader local-eval bootloader bootcfg + #:target (or target "/")) + (return + (info (G_ "bootloader successfully installed on '~a'~%") + (bootloader-configuration-target bootloader)))) + (with-shepherd-error-handling + (upgrade-shepherd-services local-eval os)))) ((init) (newline) (format #t (G_ "initializing operating system under '~a'...~%") target) (install sys (canonicalize-path target) #:install-bootloader? install-bootloader? - #:bootcfg bootcfg - #:bootcfg-file bootcfg-file - #:bootloader-installer bootloader-script)) + #:bootloader bootloader + #:bootcfg bootcfg)) (else ;; All we had to do was to build SYS and maybe register an ;; indirect GC root. -- cgit v1.2.3 From d23a00b599be56694065bd274184b9289fb8b85c Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Wed, 24 Jul 2019 12:35:10 -0400 Subject: tests: Add reconfigure system test. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [[PGP Signed Part:No public key for F506FD169D8FD95A created at 2019-07-24T18:35:10+0200 using RSA]] * gnu/tests/reconfigure.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/tests/reconfigure.scm | 262 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 263 insertions(+) create mode 100644 gnu/tests/reconfigure.scm diff --git a/gnu/local.mk b/gnu/local.mk index 455bea0397..bd509647dc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -597,6 +597,7 @@ GNU_SYSTEM_MODULES = \ %D%/tests/mail.scm \ %D%/tests/messaging.scm \ %D%/tests/networking.scm \ + %D%/tests/reconfigure.scm \ %D%/tests/rsync.scm \ %D%/tests/security-token.scm \ %D%/tests/singularity.scm \ diff --git a/gnu/tests/reconfigure.scm b/gnu/tests/reconfigure.scm new file mode 100644 index 0000000000..3a2f0a2e53 --- /dev/null +++ b/gnu/tests/reconfigure.scm @@ -0,0 +1,262 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2019 Jakob L. Kreuze +;;; +;;; 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 tests reconfigure) + #:use-module (gnu bootloader) + #:use-module (gnu services shepherd) + #:use-module (gnu system vm) + #:use-module (gnu system) + #:use-module (gnu tests) + #:use-module (guix derivations) + #:use-module (guix gexp) + #:use-module (guix monads) + #:use-module (guix scripts system reconfigure) + #:use-module (guix store) + #:export (%test-switch-to-system + %test-upgrade-services + %test-install-bootloader)) + +;;; Commentary: +;;; +;;; Test in-place system reconfiguration: advancing the system generation on a +;;; running instance of the Guix System. +;;; +;;; Code: + +(define* (run-switch-to-system-test) + "Run a test of an OS running SWITCH-SYSTEM-PROGRAM, which creates a new +generation of the system profile." + (define os + (marionette-operating-system + (simple-operating-system) + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm (virtual-machine os)) + + (define (test script) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-64)) + + (define marionette + (make-marionette (list #$vm))) + + ;; Return the names of the generation symlinks on MARIONETTE. + (define (system-generations marionette) + (marionette-eval + '(begin + (use-modules (ice-9 ftw) + (srfi srfi-1)) + (let* ((profile-dir "/var/guix/profiles/") + (entries (map first (cddr (file-system-tree profile-dir))))) + (remove (lambda (entry) + (member entry '("per-user" "system"))) + entries))) + marionette)) + + (mkdir #$output) + (chdir #$output) + + (test-begin "switch-to-system") + + (let ((generations-prior (system-generations marionette))) + (test-assert "script successfully evaluated" + (marionette-eval + '(primitive-load #$script) + marionette)) + + (test-equal "script created new generation" + (length (system-generations marionette)) + (1+ (length generations-prior)))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "switch-to-system" (test (switch-system-program os)))) + +(define* (run-upgrade-services-test) + "Run a test of an OS running UPGRADE-SERVICES-PROGRAM, which upgrades the +Shepherd (PID 1) by unloading obsolete services and loading new services." + (define os + (marionette-operating-system + (simple-operating-system) + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm (virtual-machine os)) + + (define dummy-service + ;; Shepherd service that does nothing, for the sole purpose of ensuring + ;; that it is properly installed and started by the script. + (shepherd-service (provision '(dummy)) + (start #~(const #t)) + (stop #~(const #t)) + (respawn? #f))) + + ;; Return the Shepherd service file for SERVICE, after ensuring that it + ;; exists in the store. + (define (ensure-service-file service) + (let ((file (shepherd-service-file service))) + (mlet* %store-monad ((store-object (lower-object file)) + (_ (built-derivations (list store-object)))) + (return file)))) + + (define (test enable-dummy disable-dummy) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (srfi srfi-64)) + + (define marionette + (make-marionette (list #$vm))) + + ;; Return the names of the running services on MARIONETTE. + (define (running-services marionette) + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (map live-service-canonical-name (current-services))) + marionette)) + + (mkdir #$output) + (chdir #$output) + + (test-begin "upgrade-services") + + (let ((services-prior (running-services marionette))) + (test-assert "script successfully evaluated" + (marionette-eval + '(primitive-load #$enable-dummy) + marionette)) + + (test-assert "script started new service" + (and (not (memq 'dummy services-prior)) + (memq 'dummy (running-services marionette)))) + + (test-assert "script successfully evaluated" + (marionette-eval + '(primitive-load #$disable-dummy) + marionette)) + + (test-assert "script stopped obsolete service" + (not (memq 'dummy (running-services marionette))))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (mlet* %store-monad ((file (ensure-service-file dummy-service))) + (let ((enable (upgrade-services-program (list file) '(dummy) '() '())) + (disable (upgrade-services-program '() '() '(dummy) '()))) + (gexp->derivation "upgrade-services" (test enable disable))))) + +(define* (run-install-bootloader-test) + "Run a test of an OS running INSTALL-BOOTLOADER-PROGRAM, which installs a +bootloader's configuration file." + (define os + (marionette-operating-system + (simple-operating-system) + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm (virtual-machine os)) + + (define (test script) + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (gnu build marionette) + (ice-9 regex) + (srfi srfi-1) + (srfi srfi-64)) + + (define marionette + (make-marionette (list #$vm))) + + ;; Return the system generation paths that have GRUB menu entries. + (define (generations-in-grub-cfg marionette) + (let ((grub-cfg (marionette-eval + '(begin + (call-with-input-file "/boot/grub/grub.cfg" + (lambda (port) + (get-string-all port)))) + marionette))) + (map (lambda (parameter) + (second (string-split (match:substring parameter) #\=))) + (list-matches "system=[^ ]*" grub-cfg)))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "install-bootloader") + + (test-assert "no prior menu entry for system generation" + (not (member #$os (generations-in-grub-cfg marionette)))) + + (test-assert "script successfully evaluated" + (marionette-eval + '(primitive-load #$script) + marionette)) + + (test-assert "menu entry created for system generation" + (member #$os (generations-in-grub-cfg marionette))) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (let* ((bootloader ((compose bootloader-configuration-bootloader + operating-system-bootloader) + os)) + ;; The typical use-case for 'install-bootloader-program' is to read + ;; the boot parameters for the existing menu entries on the system, + ;; parse them with 'boot-parameters->menu-entry', and pass the + ;; results to 'operating-system-bootcfg'. However, to obtain boot + ;; parameters, we would need to start the marionette, which we should + ;; ideally avoid doing outside of the 'test' G-Expression. Thus, we + ;; generate a bootloader configuration for the script as if there + ;; were no existing menu entries. In the grand scheme of things, this + ;; matters little -- these tests should not make assertions about the + ;; behavior of 'operating-system-bootcfg'. + (bootcfg (operating-system-bootcfg os '())) + (bootcfg-file (bootloader-configuration-file bootloader))) + (gexp->derivation + "install-bootloader" + ;; Due to the read-only nature of the virtual machines used in the system + ;; test suite, the bootloader installer script is omitted. 'grub-install' + ;; would attempt to write directly to the virtual disk if the + ;; installation script were run. + (test (install-bootloader-program #f #f bootcfg bootcfg-file #f "/"))))) + +(define %test-switch-to-system + (system-test + (name "switch-to-system") + (description "Create a new generation of the system profile.") + (value (run-switch-to-system-test)))) + +(define %test-upgrade-services + (system-test + (name "upgrade-services") + (description "Upgrade the Shepherd by unloading obsolete services and +loading new services.") + (value (run-upgrade-services-test)))) + +(define %test-install-bootloader + (system-test + (name "install-bootloader") + (description "Install a bootloader and its configuration file.") + (value (run-install-bootloader-test)))) -- cgit v1.2.3 From 548e0af4da4e2e9311bc696831a80eedbc5b5798 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 21:49:25 +0200 Subject: discovery: 'scheme-files' ignores hidden files. * guix/discovery.scm (scheme-files)[dot-prefixed?]: New procedure. Use it to exclude any file starting with ".". --- guix/discovery.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/guix/discovery.scm b/guix/discovery.scm index 468b6c59de..7c5fed7f0e 100644 --- a/guix/discovery.scm +++ b/guix/discovery.scm @@ -51,13 +51,15 @@ DIRECTORY is not accessible." ((? symbol? type) type))) + (define (dot-prefixed? file) + (string-prefix? "." file)) + ;; Use 'scandir*' so we can avoid an extra 'lstat' for each entry, as ;; opposed to Guile's 'scandir' or 'file-system-fold'. (fold-right (lambda (entry result) (match entry - (("." . _) - result) - ((".." . _) + (((? dot-prefixed?) . _) + ;; Exclude ".", "..", and hidden files such as backups. result) ((name . properties) (let ((absolute (string-append directory "/" name))) -- cgit v1.2.3 From 2cc5ec7f0d64e9e94f6ae637e1f9573d4b948f0a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 23:22:28 +0200 Subject: gexp: 'compiled-modules' can cross-compile. * guix/gexp.scm (compiled-modules): Add #:target and honor it. --- guix/gexp.scm | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index eef308b000..a83d7168d2 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1345,6 +1345,7 @@ last one is created from the given object." (define* (compiled-modules modules #:key (name "module-import-compiled") (system (%current-system)) + target (guile (%guile-for-build)) (module-path %load-path) (extensions '()) @@ -1355,7 +1356,8 @@ last one is created from the given object." (pre-load-modules? #t)) "Return a derivation that builds a tree containing the `.go' files corresponding to MODULES. All the MODULES are built in a context where -they can refer to each other." +they can refer to each other. When TARGET is true, cross-compile MODULES for +TARGET, a GNU triplet." (define total (length modules)) (mlet %store-monad ((modules (imported-modules modules @@ -1374,6 +1376,12 @@ they can refer to each other." (srfi srfi-26) (system base compile)) + ;; TODO: Inline this on the next rebuild cycle. + (ungexp-splicing + (if target + (gexp ((use-modules (system base target)))) + (gexp ()))) + (define (regular? file) (not (member file '("." "..")))) @@ -1391,9 +1399,19 @@ they can refer to each other." (gexp ())))) (ungexp (* total (if pre-load-modules? 2 1))) entry) - (compile-file entry - #:output-file output - #:opts %auto-compilation-options) + + (ungexp-splicing + (if target + (gexp ((with-target (ungexp target) + (lambda () + (compile-file entry + #:output-file output + #:opts + %auto-compilation-options))))) + (gexp ((compile-file entry + #:output-file output + #:opts %auto-compilation-options))))) + (+ 1 processed)))) (define (process-directory directory output processed) -- cgit v1.2.3 From 2e8cabb8d630a8423e2e5a3bf150c1c0310b945d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 26 Jul 2019 23:48:03 +0200 Subject: gexp: 'program-file' honors the current system and cross-compilation target. Fixes . Reported by Jakob L. Kreuze . * guix/gexp.scm (program-file-compiler): Pass #:system and #:target to 'gexp->script'. (load-path-expression): Add #:system and #:target and honor them. (gexp->script): Likewise. * tests/gexp.scm ("program-file #:system"): New test. * doc/guix.texi (G-Expressions): Adjust accordingly. --- doc/guix.texi | 3 ++- guix/gexp.scm | 23 +++++++++++++++++------ tests/gexp.scm | 19 +++++++++++++++++++ 3 files changed, 38 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 96448c24e5..ccc36a8a97 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -7439,7 +7439,8 @@ This is the declarative counterpart of @code{gexp->derivation}. @end deffn @deffn {Monadic Procedure} gexp->script @var{name} @var{exp} @ - [#:guile (default-guile)] [#:module-path %load-path] + [#:guile (default-guile)] [#:module-path %load-path] @ + [#:system (%current-system)] [#:target #f] Return an executable script @var{name} that runs @var{exp} using @var{guile}, with @var{exp}'s imported modules in its search path. Look up @var{exp}'s modules in @var{module-path}. diff --git a/guix/gexp.scm b/guix/gexp.scm index a83d7168d2..45cd5869f7 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -427,7 +427,9 @@ This is the declarative counterpart of 'gexp->script'." (($ name gexp guile module-path) (gexp->script name gexp #:module-path module-path - #:guile (or guile (default-guile)))))) + #:guile (or guile (default-guile)) + #:system system + #:target target)))) (define-record-type (%scheme-file name gexp splice?) @@ -1512,7 +1514,7 @@ TARGET, a GNU triplet." 'guile-2.2)) (define* (load-path-expression modules #:optional (path %load-path) - #:key (extensions '())) + #:key (extensions '()) system target) "Return as a monadic value a gexp that sets '%load-path' and '%load-compiled-path' to point to MODULES, a list of module names. MODULES are searched for in PATH. Return #f when MODULES and EXTENSIONS are empty." @@ -1520,10 +1522,13 @@ are searched for in PATH. Return #f when MODULES and EXTENSIONS are empty." (with-monad %store-monad (return #f)) (mlet %store-monad ((modules (imported-modules modules - #:module-path path)) + #:module-path path + #:system system)) (compiled (compiled-modules modules #:extensions extensions - #:module-path path))) + #:module-path path + #:system system + #:target target))) (return (gexp (eval-when (expand load eval) (set! %load-path (cons (ungexp modules) @@ -1545,14 +1550,18 @@ are searched for in PATH. Return #f when MODULES and EXTENSIONS are empty." (define* (gexp->script name exp #:key (guile (default-guile)) - (module-path %load-path)) + (module-path %load-path) + (system (%current-system)) + target) "Return an executable script NAME that runs EXP using GUILE, with EXP's imported modules in its search path. Look up EXP's modules in MODULE-PATH." (mlet %store-monad ((set-load-path (load-path-expression (gexp-modules exp) module-path #:extensions - (gexp-extensions exp)))) + (gexp-extensions exp) + #:system system + #:target target))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) @@ -1572,6 +1581,8 @@ imported modules in its search path. Look up EXP's modules in MODULE-PATH." (write '(ungexp exp) port) (chmod port #o555)))) + #:system system + #:target target #:module-path module-path))) (define* (gexp->file name exp #:key diff --git a/tests/gexp.scm b/tests/gexp.scm index 460afe7f59..5c013d838d 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -1104,6 +1104,25 @@ (return (and (zero? (close-pipe pipe)) (= 42 (string->number str))))))))) +(test-assertm "program-file #:system" + (let* ((exp (with-imported-modules '((guix build utils)) + (gexp (begin + (use-modules (guix build utils)) + (display "hi!"))))) + (system (if (string=? (%current-system) "x86_64-linux") + "armhf-linux" + "x86_64-linux")) + (file (program-file "program" exp))) + (mlet %store-monad ((drv (lower-object file system))) + (return (and (string=? (derivation-system drv) system) + (find (lambda (input) + (let ((drv (pk (derivation-input-derivation input)))) + (and (string=? (derivation-name drv) + "module-import-compiled") + (string=? (derivation-system drv) + system)))) + (derivation-inputs drv))))))) + (test-assertm "scheme-file" (let* ((text (plain-file "foo" "Hello, world!")) (scheme (scheme-file "bar" #~(list "foo" #$text)))) -- cgit v1.2.3 From c1cae86de3897a8be74452666d6b35e62ffae002 Mon Sep 17 00:00:00 2001 From: Jens Mølgaard Date: Thu, 18 Jul 2019 19:43:04 +1200 Subject: gnu: Add emacs-bug-hunter. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-bug-hunter): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b11ec100f2..1bc7ec6a79 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -50,6 +50,7 @@ ;;; Copyright © 2019 Amar Singh ;;; Copyright © 2019 Baptiste Strazzulla ;;; Copyright © 2019 Giacomo Leidi +;;; Copyright © 2019 Jens Mølgaard ;;; ;;; This file is part of GNU Guix. ;;; @@ -948,6 +949,33 @@ regexp-like arguments to @code{skip-chars-forward} and @code{skip-chars-backward}.") (license license:gpl3+))) +(define-public emacs-bug-hunter + (let ((commit "b88d981afa9154b236c5a3a83b50d5889d46c6a7") + (revision "1")) + (package + (name "emacs-bug-hunter") + (version (git-version "1.3.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Malabarba/elisp-bug-hunter.git") + (commit commit))) + (file-name (git-file-name name commit)) + (sha256 + (base32 + "134fj493sdn93pyyac8rpz1fzahzmayvphsrmqp3wvgysmfqm38l")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-seq" ,emacs-seq))) + (home-page "https://github.com/Malabarba/elisp-bug-hunter") + (synopsis "Hunt down errors by bisecting elisp files") + (description + "The Bug Hunter is an Emacs library that finds the source of an error +or unexpected behavior inside an elisp configuration file (typically +@file{init.el} or @file{.emacs}).") + (license license:gpl3+)))) + ;;; ;;; Web browsing. -- cgit v1.2.3 From 74a24890096812c30139e895e19bd07f710dd4b9 Mon Sep 17 00:00:00 2001 From: Jens Mølgaard Date: Thu, 18 Jul 2019 21:13:52 +1200 Subject: Add emacs-gnus-alias. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-gnus-alias): New variable. Signed-off-by: Ludovic Courtès --- 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 1bc7ec6a79..10b630eed0 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16775,3 +16775,33 @@ connections using TLS encryption.") "Zerodark is a dark theme inspired from One Dark and Niflheim. An optional mode-line format can be enabled with @code{zerodark-setup-modeline-format}.") (license license:gpl3+))) + +(define-public emacs-gnus-alias + (package + (name "emacs-gnus-alias") + (version "20150316") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hexmode/gnus-alias.git") + (commit "9447d3ccb4c0e75d0468899cccff7aa249657bac"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i278npayv3kfxxd1ypi9n83q5l402sbc1zkm11pf8g006ifqsp4")))) + (build-system emacs-build-system) + (home-page "https://melpa.org/#/gnus-alias") + (synopsis "Alternative to @code{gnus-posting-styles}") + (description "This Emacs add-on provides a simple mechanism to switch +Identities when using a @code{message-mode} or a @code{message-mode} derived +mode. Identities can include @code{From} and @code{Organisation} headers, +extra headers, body and signature. Other features include: + +@itemize +@item Switch Identities in a message buffer. +@item Access original message to help determine Identity of the followup/reply +message. +@item Act on a forwarded message as if it were a message being replied to. +@item Start a new message with a given Identity pre-selected. +@end itemize") + (license license:gpl2+))) -- cgit v1.2.3 From 9f0ae848e274248e235c200a0981aed663cb16bc Mon Sep 17 00:00:00 2001 From: Jens Mølgaard Date: Thu, 18 Jul 2019 19:52:11 +1200 Subject: gnu: Add emacs-ox-epub. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-ox-epub): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 10b630eed0..df2c90272f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16805,3 +16805,26 @@ message. @item Start a new message with a given Identity pre-selected. @end itemize") (license license:gpl2+))) + +(define-public emacs-ox-epub + (package + (name "emacs-ox-epub") + (version "0.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ofosos/ox-epub.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "057sqmvm8hwkhcg3yd4i8zz2xlqsqrpyiklyiw750s3i5mxdn0k7")))) + (build-system emacs-build-system) + (home-page "https://github.com/ofosos/ox-epub") + (synopsis "Export org mode projects to EPUB") + (description "@code{ox-epub} extends the (X)HTML exporter to generate +@code{.epub} files directly from OrgMode. This will export EPUB version 2, +which should give broad compatibility. It should also be relatiely easy to +convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working +zip utility (default is @code{zip}).") + (license license:gpl3+))) -- cgit v1.2.3 From 40c4c0058f64ee10db202560789f100cfceb4954 Mon Sep 17 00:00:00 2001 From: Jens Mølgaard Date: Thu, 18 Jul 2019 19:54:38 +1200 Subject: gnu: Add emacs-ox-pandoc. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-ox-pandoc): New variable. Signed-off-by: Ludovic Courtès --- 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 df2c90272f..2315d0f3de 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16828,3 +16828,28 @@ which should give broad compatibility. It should also be relatiely easy to convert the resulting @code{.epub} to a @code{.mobi} file. Needs a working zip utility (default is @code{zip}).") (license license:gpl3+))) + +(define-public emacs-ox-pandoc + (package + (name "emacs-ox-pandoc") + (version "20180510") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kawabata/ox-pandoc.git") + (commit "aa37dc7e94213d4ebedb85c384c1ba35007da18e"))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0iibxplgdp34bpq1yll2gmqjd8d8lnqn4mqjvx6cdf0y438yr4jz")))) + (build-system emacs-build-system) + (inputs + `(("pandoc" ,ghc-pandoc))) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-ht" ,emacs-ht))) + (home-page "https://github.com/kawabata/ox-pandoc") + (synopsis "Org exporter for Pandoc") + (description "@code{ox-pandoc} is an exporter for converting Org-mode +files to numerous other formats via Pandoc.") + (license license:gpl3+))) -- cgit v1.2.3 From d3f2f86a7f6acfa5459561253ae60e0fa0c3a957 Mon Sep 17 00:00:00 2001 From: Jens Mølgaard Date: Thu, 18 Jul 2019 19:55:46 +1200 Subject: gnu: Add emacs-wc-mode. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-wc-mode): New variable. Signed-off-by: Ludovic Courtès --- 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 2315d0f3de..2f028a0dfc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16853,3 +16853,27 @@ zip utility (default is @code{zip}).") (description "@code{ox-pandoc} is an exporter for converting Org-mode files to numerous other formats via Pandoc.") (license license:gpl3+))) + +(define-public emacs-wc-mode + (package + (name "emacs-wc-mode") + (version "1.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/bnbeckwith/wc-mode.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pjlxv46zzqdq6q131jb306vqlg4sfqls1x8vag7mmfw462hafqp")))) + (build-system emacs-build-system) + (home-page "https://github.com/bnbeckwith/wc-mode") + (synopsis "Running word count with goals (minor mode)") + (description "@code{wc-mode} is a minor mode, providing a ‘wc’ function +for Emacs buffers as well as a modeline addition with live word, line and +character counts. Additionally, a user can set specific goals for adding or +deleting words. These goals were partly inspired by 750words.com where the +goal of the site is to encourage writing by setting a goal of 750 words at a +time.") + (license license:gpl3+))) -- cgit v1.2.3 From 1a2d0d294bd444afac0ca9d2c8bad86a7d6a16d9 Mon Sep 17 00:00:00 2001 From: Jens Mølgaard Date: Thu, 18 Jul 2019 20:00:40 +1200 Subject: gnu: Add emacs-mastodon. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/emacs-xyz.scm (emacs-mastodon): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/emacs-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2f028a0dfc..314f4867b3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16877,3 +16877,35 @@ deleting words. These goals were partly inspired by 750words.com where the goal of the site is to encourage writing by setting a goal of 750 words at a time.") (license license:gpl3+))) + +(define-public emacs-mastodon + (package + (name "emacs-mastodon") + (version "0.9.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jdenen/mastodon.el.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hwax6y9dghqwsbnb6f1bnc7gh8xsh5cvcnayk2sn49x8b0zi5h1")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Move the source files to the top level, which is included in + ;; the EMACSLOADPATH. + (add-after 'unpack 'move-source-files + (lambda _ + (let ((el-files (find-files "./lisp" ".*\\.el$"))) + (for-each (lambda (f) + (rename-file f (basename f))) + el-files)) + #t))))) + (home-page "https://github.com/jdenen/mastodon.el") + (synopsis "Emacs client for Mastodon") + (description "@code{mastodon.el} is an Emacs client for Mastodon, the +federated microblogging social network.") + (license license:gpl3+))) -- cgit v1.2.3 From 4b0356590a57bc27a61956b981f4a90efcf9c92d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 27 Jul 2019 01:04:57 +0200 Subject: gnu: hpcguix-web: Update to f39c90b. * gnu/packages/web.scm (hpcguix-web): Update to f39c90b. [propagated-inputs]: Use GUILE-JSON-3 instead of GUILE-JSON-1. --- gnu/packages/web.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index ac6403211c..1401d3b584 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6436,8 +6436,8 @@ compressed JSON header blocks. (license license:expat))) (define-public hpcguix-web - (let ((commit "53e09ea59ec0380b41a4cbda32df8bdb9a10004d") - (revision "3")) + (let ((commit "f39c90b35e99e4122b0866ec4337020d61c81508") + (revision "4")) (package (name "hpcguix-web") (version (git-version "0.0.1" revision commit)) @@ -6449,7 +6449,7 @@ compressed JSON header blocks. (file-name (git-file-name name version)) (sha256 (base32 - "1ah4pn9697vazhbvd45n4b1rrkx2nbhnw384cr0b941q3sz1dfyc")))) + "0idzzlwnaymk6hm5q9nh146h5m6vd8acp32vlmzp6qq08mimfkq7")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -6509,7 +6509,7 @@ compressed JSON header blocks. (propagated-inputs `(("guile" ,guile-2.2) ("guile-commonmark" ,guile-commonmark) - ("guile-json" ,guile-json-1))) + ("guile-json" ,guile-json-3))) (home-page "https://github.com/UMCUGenetics/hpcguix-web") (synopsis "Web interface for cluster deployments of Guix") (description "Hpcguix-web provides a web interface to the list of packages -- cgit v1.2.3 From 24446ce299943efe3dfded6c9dd0cf9421d8da04 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 17 Jul 2019 09:09:15 +0200 Subject: gnu: linux-libre: Restrict ‘dmesg’ to privileged users. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm (%default-extra-linux-options): Set CONFIG_SECURITY_DMESG_RESTRICT. --- gnu/packages/linux.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 52883282e8..4689c61a58 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -561,7 +561,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration." (search-auxiliary-file file))) (define %default-extra-linux-options - `(;; Modules required for initrd: + `(;; Some very mild hardening. + ("CONFIG_SECURITY_DMESG_RESTRICT" . #t) + ;; Modules required for initrd: ("CONFIG_NET_9P" . m) ("CONFIG_NET_9P_VIRTIO" . m) ("CONFIG_VIRTIO_BLK" . m) -- cgit v1.2.3 From d0aff873373ae4ad40d007ac6ebf5500ef40b6d1 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 27 Jul 2019 17:02:43 -0400 Subject: gnu: linux-libre: Verbosely pack the deblobbed linux-libre tarball. This works around timeouts that sometimes occur after 1 hour of silence while packing the linux-libre source tarball on slower machines. * gnu/packages/linux.scm (make-linux-libre-source): Pass 'v' to 'tar' when packing the result tarball. --- gnu/packages/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 4689c61a58..6119622d2d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -312,7 +312,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (format #t "~%Packing new Linux-libre tarball...~%") (force-output) - (invoke "tar" "cfa" #$output + (invoke "tar" "cvfa" #$output ;; Avoid non-determinism in the archive. "--mtime=@0" "--owner=root:0" -- cgit v1.2.3 From e78c2b50df016323aa7abebcfa95fec2c2a07e22 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 27 Jul 2019 16:53:40 -0400 Subject: gnu: linux-libre: Update deblobbing scripts. * gnu/packages/linux.scm (deblob-scripts-5.2, deblob-scripts-4.19): Update to versions 5.2.3 and 4.19.61 respectively, and update the hashes. (deblob-scripts-4.14, deblob-scripts-4.9, deblob-scripts-4.4): Update to versions 4.14.134, 4.9.186, and 4.4.186 respectively, although the scripts themselves are unchanged. --- gnu/packages/linux.scm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 6119622d2d..3f9103a350 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -182,31 +182,31 @@ defconfig. Return the appropriate make target if applicable, otherwise return (define deblob-scripts-5.2 (linux-libre-deblob-scripts - "5.2.1" + "5.2.3" (base32 "076fwxlm6jq6z4vg1xq3kr474zz7qk71r90sf9dnfia3rw2pb4fa") - (base32 "030cccchli7vnzvxcw261spyzsgnq0m113bjsz8y4vglf6gaz4n9"))) + (base32 "0d3pp1bqchqc7vnxr1a56km5r0hzjiiipzz2xc3wgjwfi51k9kxc"))) (define deblob-scripts-4.19 (linux-libre-deblob-scripts - "4.19.59" + "4.19.61" (base32 "02zs405awaxydbapka4nz8h6lmnc0dahgczqsrs5s2bmzjyyqkcy") - (base32 "07z1bsyny8lldncfh27lb16mgx9r38nswx4vmd24c7n4xva12k2s"))) + (base32 "1fyacg28aym6virxyn7wk99qil2fjbks3iwm7p3hxy51pccn34za"))) (define deblob-scripts-4.14 (linux-libre-deblob-scripts - "4.14.133" + "4.14.134" (base32 "091jk9jkn9jf39bxpc7395bhcb7p96nkg3a8047380ki06lnfxh6") (base32 "0x9nd3hnyrm753cbgdqmy92mbnyw86w64g4hvyibnkpq5n7s3z9n"))) (define deblob-scripts-4.9 (linux-libre-deblob-scripts - "4.9.185" + "4.9.186" (base32 "1wvldzlv7q2xdbadas87dh593nxr4a8p5n0f8zpm72lja6w18hmg") (base32 "1gmjn5cwxydg6qb47wcmahwkv37npsjx4papynzkkdxyidmrccya"))) (define deblob-scripts-4.4 (linux-libre-deblob-scripts - "4.4.185" + "4.4.186" (base32 "0x2j1i88am54ih2mk7gyl79g25l9zz4r08xhl482l3fvjj2irwbw") (base32 "1x40lbiaizksy8z38ax7wpqr9ldgq7qvkxbb0ca98vd1axpklb10"))) -- cgit v1.2.3 From d83514baf274f34d658544848ea6a9eecb1a6975 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 27 Jul 2019 16:57:44 -0400 Subject: gnu: linux-libre@4.19: Update to 4.19.61. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.61. (linux-libre-4.19-pristine-source)[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 3f9103a350..385dcce12c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -358,10 +358,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.60") +(define-public linux-libre-4.19-version "4.19.61") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0ibayrvrnw2lw7si78vdqnr20mm1d3z0g6a0ykndvgn5vdax5x9a"))) + (hash (base32 "1scwb6ynr93k4a1vzpw2x1hzafhfs06ckf9v6fk1zvkh8jw1rc5c"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From 76b96720e20f109138c7fca027c9f0deb2b40d26 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 27 Jul 2019 16:58:51 -0400 Subject: gnu: linux-libre: Update to 5.2.3. * gnu/packages/linux.scm (linux-libre-5.2-version): Update to 5.2.3. (linux-libre-5.2-pristine-source)[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 385dcce12c..c638c6aa10 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,10 +350,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.2-version "5.2.2") +(define-public linux-libre-5.2-version "5.2.3") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "173da67d51qcjwrczqsfd6g9phzazqzr11xfxwlf54ckd6117ng5"))) + (hash (base32 "018fiz8bycglh5b031b710zllv2s5w017ylq0j30923p744n0g3m"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) -- cgit v1.2.3 From d8d7565b82539bfff721bf884b7f4a3de3e6b4c3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 26 Jul 2019 05:01:56 +0200 Subject: gnu: Add intel-vaapi-driver. * gnu/packages/video.scm (intel-vaapi-driver): New public variable. --- gnu/packages/video.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 0ca5469709..5083b05a2e 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2695,6 +2695,50 @@ of modern, widely supported codecs.") ;; Combination under GPLv2. See LICENSE. (license license:gpl2))) +(define-public intel-vaapi-driver + (package + (name "intel-vaapi-driver") + (version "2.3.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/intel/intel-vaapi-driver/" + "releases/download/" version "/intel-vaapi-driver-" + version ".tar.bz2")) + (sha256 + (base32 "1qyzxh3p8cw4fv8bz9zd4kc8hajlaps7xryzh6pad814n3m5sbjw")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libdrm" ,libdrm) + ("libva" ,libva) + ("libx11" ,libx11))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'set-target-directory + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (setenv "LIBVA_DRIVERS_PATH" (string-append out "/lib/dri")) + #t)))))) + ;; XXX Because of , we need to add + ;; this to all VA-API back ends instead of once to libva. + (native-search-paths + (list (search-path-specification + (variable "LIBVA_DRIVERS_PATH") + (files '("lib/dri"))))) + (home-page "https://01.org/linuxmedia/vaapi") + (synopsis "VA-API video acceleration driver for Intel GEN Graphics devices") + (description + "This is the @acronym{VA-API, Video Acceleration API} back end required for +hardware-accelerated video processing on Intel GEN Graphics devices supported by +the i915 driver, such as integrated Intel HD Graphics. It provides access to +both hardware and shader functionality for faster encoding, decoding, and +post-processing of video formats like MPEG2, H.264/AVC, and VC-1.") + (license (list license:bsd-2 ; src/gen9_vp9_const_def.c + license:expat)))) ; the rest, excluding the test suite + (define-public openh264 (package (name "openh264") -- cgit v1.2.3 From 3563220e1e46b8a1b9af1e3a4c6cb3f9560c2460 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 26 Jul 2019 05:14:37 +0200 Subject: gnu: Add libva-utils. * gnu/packages/video.scm (libva-utils): New public variable. --- gnu/packages/video.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 5083b05a2e..51ff7fa97a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -753,6 +753,40 @@ entry-points (VLD, IDCT, Motion Compensation etc.) for prevailing coding standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (license license:expat))) +(define-public libva-utils + (package + (name "libva-utils") + (version "2.5.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/intel/libva-utils/releases/download/" + version "/libva-utils-" version ".tar.bz2")) + (sha256 + (base32 "05rasyqnsg522zqxak1q8rrm1hys7wwbi41kd0szjq0d27awjf4j")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list "--enable-wayland" + "--enable-x11"))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libdrm" ,libdrm) + ("libva" ,libva) + ("libx11" ,libx11) + ("mesa" ,mesa) + ("wayland" ,wayland))) + (home-page "https://01.org/linuxmedia/vaapi") + (synopsis "Collection of testing utilities for VA-API") + (description + "This is a collection of utilities to query and test the @acronym{VA-API, +Video Acceleration API} implemented by the libva library. + +These tools require a supported graphics chip, driver, and VA-API back end to +operate properly.") + (license license:expat))) + (define-public ffmpeg (package (name "ffmpeg") -- cgit v1.2.3 From 85a4531f646e9f352f86870eb6c4fe7173e5bffc Mon Sep 17 00:00:00 2001 From: Arne Babenhauserheide Date: Fri, 12 Jul 2019 23:41:09 +0200 Subject: gnu: pngcrush: Edit description. * gnu/packages/image.scm (pngcrush)[description]: Fix typo. Signed-off-by: Tobias Geerinckx-Rice --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 5d3aa03124..3e5eae47e7 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -250,8 +250,8 @@ APNG patch provides APNG support to libpng.") ("zlib" , zlib))) (home-page "https://pmt.sourceforge.io/pngcrush") (synopsis "Utility to compress PNG files") - (description "pngcrusqh is an optimizer for PNG (Portable Network Graphics) -files. It can compress them as much as 40% losslessly.") + (description "Pngcrush optimizes @acronym{PNG, Portable Network Graphics} +images. It can further losslessly compress them by as much as 40%.") (license license:zlib))) (define-public pngcrunch -- cgit v1.2.3 From eca0a885e7f87fe7549264510c74f97e6e9c550e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 23 Jul 2019 14:15:37 +0200 Subject: gnu: kodi: Update to 18.3. * gnu/packages/kodi.scm (kodi): Update to 18.3. --- gnu/packages/kodi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index e885aaab39..a9b5b85a47 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -271,7 +271,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (define-public kodi (package (name "kodi") - (version "18.2") + (version "18.3") (source (origin (method git-fetch) (uri (git-reference @@ -280,7 +280,7 @@ alternatives. In compilers, this can reduce the cascade of secondary errors.") (file-name (git-file-name name version)) (sha256 (base32 - "1yzi8171p1mnszyf80lqkl05ql25n73s5gn8pcgvv4jph4yvasnq")) + "18fbl5hs3aqccrn0m3x7hp95wlafjav0yvrwmb5q3gj24mwf6jld")) (patches (search-patches "kodi-skip-test-449.patch" "kodi-set-libcurl-ssl-parameters.patch")) (snippet -- cgit v1.2.3 From bfbc2d876ab2af1d36df301a813cc2576aaa556b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jul 2019 21:46:34 +0200 Subject: gnu: zstd: Update to 1.4.2. --- gnu/packages/compression.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index d821298e56..9834fcbe63 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1363,14 +1363,14 @@ or junctions, and always follows hard links.") (define-public zstd (package (name "zstd") - (version "1.4.1") + (version "1.4.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/facebook/zstd/releases/download/" "v" version "/zstd-" version ".tar.gz")) (sha256 - (base32 "180sfl0iz5hy43xcr0gh8kz2vxgpb8rh5d7wmpxn3bxkgs320l2k")))) + (base32 "1ja3nrjynmiwwdjrf6crraizkbagp7y414bqqq2ady91nn1hjwqj")))) (build-system gnu-build-system) (outputs '("out" ;1.1MiB executables and documentation "lib" ;1MiB shared library and headers -- cgit v1.2.3 From d5571bc6529192219a999b6670954f196b26277b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jul 2019 21:48:31 +0200 Subject: gnu: nginx: Update to 1.17.2. --- 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 1401d3b584..958bc1aa40 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -205,14 +205,14 @@ Interface} specification.") ;; ’stable’ and recommends that “in general you deploy the NGINX mainline ;; branch at all times” (https://www.nginx.com/blog/nginx-1-6-1-7-released/) ;; Consider updating the nginx-documentation package together with this one. - (version "1.17.1") + (version "1.17.2") (source (origin (method url-fetch) (uri (string-append "https://nginx.org/download/nginx-" version ".tar.gz")) (sha256 (base32 - "0gp7cy2bbn8yi1wapjzssf4bhmn4d4vphdb0k1wiaq2fa6s2a63g")))) + "1v39gslwbvpfhqqv74q0lkfrhrwsp59xc8pwhvxns7af8s3kccsy")))) (build-system gnu-build-system) (inputs `(("openssl" ,openssl) ("pcre" ,pcre) -- cgit v1.2.3 From 9b7f721db9da21a858a98316ce52c8becdc6df12 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jul 2019 21:50:23 +0200 Subject: gnu: feh: Update to 3.2.1. * gnu/packages/image-viewers.scm (feh): Update to 3.2.1. --- gnu/packages/image-viewers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 6db52e0be0..d33a9857c9 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -64,7 +64,7 @@ (define-public feh (package (name "feh") - (version "3.1.3") + (version "3.2.1") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -72,7 +72,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "1vsnxf4as3vyzjfhd8frzb1a8i7wnq7ck5ljx7qxqrnfqvxl1s4z")))) + "070axq8jpibcabmjfv4fmjmpk3k349vzvh4qhsi4n62bkcwl35wg")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) -- cgit v1.2.3 From b23579d0da9ccf7c6c5275480159b04b0ab7d482 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 27 Jul 2019 21:57:01 +0200 Subject: gnu: signify: Update to 26. * gnu/packages/crypto.scm (signify): Update to 26. [source]: Change to URL-FETCH to get the shiny new release tarball. --- gnu/packages/crypto.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 45e1d64cd2..b975afe6d3 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -131,16 +131,15 @@ communication, encryption, decryption, signatures, etc.") (define-public signify (package (name "signify") - (version "25") + (version "26") (home-page "https://github.com/aperezdc/signify") (source (origin - (method git-fetch) - (uri (git-reference (url home-page) - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://github.com/aperezdc/signify/releases" + "/download/v" version "/signify-" version ".tar.xz")) (sha256 (base32 - "0zg0rffxwj2a71s1bllhrn491xsmirg9sshpq8f3vl25lv4c2cnq")))) + "16sl1yq5bbsads5q4a0fbrf31b0x8r1hi4wagl90nbrhrca98baw")))) (build-system gnu-build-system) ;; TODO Build with libwaive (described in README.md), to implement something ;; like OpenBSD's pledge(). -- cgit v1.2.3 From 7e5eda0c08112963be08ebe0c62eed651749e0a1 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sun, 28 Jul 2019 11:05:39 +0200 Subject: gnu: unbound: Update to 1.9.2. * gnu/packages/dns.scm (unbound): Update to 1.9.2. --- gnu/packages/dns.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 17357c1292..b4d5a9ab27 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2018 Oleg Pykhalov ;;; Copyright © 2019 Mathieu Othacehe ;;; Copyright © 2019 Chris Marusich +;;; Copyright © 2019 Rutger Helling ;;; ;;; This file is part of GNU Guix. ;;; @@ -372,14 +373,14 @@ to result in system-wide compromise.") (define-public unbound (package (name "unbound") - (version "1.9.1") + (version "1.9.2") (source (origin (method url-fetch) (uri (string-append "https://www.unbound.net/downloads/unbound-" version ".tar.gz")) (sha256 - (base32 "1iarvk0i92asvrkpla9z55aan20k6pklzpck9yk4rfnchsdvzh63")))) + (base32 "15bbrczibap30db8a1pmqhvjbmkxms39hwiivby7f4j5rz2wwykg")))) (build-system gnu-build-system) (outputs '("out" "python")) (native-inputs -- cgit v1.2.3 From b64b66b890188aff9e7f23c6e85e715d7101f68e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 28 Jul 2019 18:58:44 -0400 Subject: gnu: linux-libre@4.19: Update to 4.19.62. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.62. (linux-libre-4.19-pristine-source)[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 c638c6aa10..2f8ec219b4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -358,10 +358,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.61") +(define-public linux-libre-4.19-version "4.19.62") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1scwb6ynr93k4a1vzpw2x1hzafhfs06ckf9v6fk1zvkh8jw1rc5c"))) + (hash (base32 "1p6s1ksrsq3za7644j0qf9brf6brwq39jxpfln5ypmyfi5qn9gh7"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From ab20b3ed9152c7c95d0d2c6b2d65e29983ab57ce Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 28 Jul 2019 19:00:12 -0400 Subject: gnu: linux-libre: Update to 5.2.4. * gnu/packages/linux.scm (linux-libre-5.2-version): Update to 5.2.4. (linux-libre-5.2-pristine-source)[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 2f8ec219b4..fc3c31e224 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,10 +350,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.2-version "5.2.3") +(define-public linux-libre-5.2-version "5.2.4") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "018fiz8bycglh5b031b710zllv2s5w017ylq0j30923p744n0g3m"))) + (hash (base32 "0hzfayq79bksng09ngw3k3h3zkd6ndfn059rvwpznypy1fg8pkdi"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) -- cgit v1.2.3 From 767a0a18d88479c713f1b9b034bd06eedfe71a80 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 29 Jul 2019 13:53:44 +0200 Subject: gnu: btrfs-progs: Update to 5.2.1. * gnu/packages/linux.scm (btrfs-progs): Update to 5.2.1. --- 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 fc3c31e224..354337909d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3822,7 +3822,7 @@ and copy/paste text in the console and in xterm.") (define-public btrfs-progs (package (name "btrfs-progs") - (version "5.1.1") + (version "5.2.1") (source (origin (method url-fetch) (uri (string-append "mirror://kernel.org/linux/kernel/" @@ -3830,7 +3830,7 @@ and copy/paste text in the console and in xterm.") "btrfs-progs-v" version ".tar.xz")) (sha256 (base32 - "06xybs7rglxjqkbzl2409acb3rgmnc5zc0xhyaxsc2p1x5yipfcw")))) + "0crjv3i20nyj2dagfw6q7byshscpn6j7wlqch3apkzzzk00lmb1n")))) (build-system gnu-build-system) (outputs '("out" "static")) ; static versions of the binaries in "out" -- cgit v1.2.3 From 06c2d0e6c1f8c6d79daeb7991087b9eff388b28c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:42:49 +0200 Subject: gnu: Add go-golang-org-x-text-encoding. * gnu/packages/golang.scm (go-golang-org-x-text-encoding): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 10c30e520b..9b423d0419 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages pcre) #:use-module (gnu packages lua) #:use-module (gnu packages mp3) + #:use-module (gnu packages textutils) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -1174,6 +1175,32 @@ for low-level interaction with the operating system.") (description "Thi spackage provides @code{cpu}, which offers tools for CPU feature detection in Go."))) +(define-public go-golang-org-x-text-encoding + (package + (name "go-golang-org-x-text-encoding") + (version "0.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/text") + (commit (string-append "v" version)))) + (file-name (string-append "go.googlesource.com-text-" + version "-checkout")) + (sha256 + (base32 + "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/text/encoding" + #:unpack-path "golang.org/x/text")) + (synopsis "Interface for character encodings for conversion to and from +UTF-8") + (description "This package defines an interface for character encodings. +Specific implementations of encoding for CJK text as well as simple character +encodings are provided in subpackages.") + (home-page "https://go.googlesource.com/text") + (license license:bsd-3))) + (define-public go-golang-org-x-text-transform (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") (revision "1")) -- cgit v1.2.3 From 7e6da91fa736bf1494e12f7bb947df42fb2fbbd1 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:43:23 +0200 Subject: gnu: go-golang-org-x-text-transform: Inherit from related package. * gnu/packages/golang.scm (go-golang-org-x-text-transform): Inherit from go-golang-org-x-text-encoding. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9b423d0419..2d59da7169 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1202,32 +1202,17 @@ encodings are provided in subpackages.") (license license:bsd-3))) (define-public go-golang-org-x-text-transform - (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") - (revision "1")) - (package - (name "go-golang-org-x-text-transform") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/text") - (commit commit))) - (file-name (string-append "go.googlesource.com-text-" - version "-checkout")) - (sha256 - (base32 - "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/text/transform" - #:unpack-path "golang.org/x/text")) - (synopsis "Go text transformation") - (description "This package provides @code{transform}, which provides + (package + (inherit go-golang-org-x-text-encoding) + (name "go-golang-org-x-text-transform") + (arguments + `(#:import-path "golang.org/x/text/transform" + #:unpack-path "golang.org/x/text")) + (synopsis "Go text transformation") + (description "This package provides @code{transform}, which provides reader and writer wrappers that transform the bytes passing through. Example transformations provided by other packages include normalization and conversion -between character sets.") - (home-page "https://go.googlesource.com/text") - (license license:bsd-3)))) +between character sets."))) (define-public go-golang-org-x-text-unicode-norm (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") -- cgit v1.2.3 From bd184dc6eb60981abebf0bb919ae9b15448df872 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:44:46 +0200 Subject: gnu: go-golang-org-x-text-unicode-norm: Inherit from related package. * gnu/packages/golang.scm (go-golang-org-x-text-unicode-norm): Inherit from go-golang-org-x-text-encoding. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 33 +++++++++------------------------ 1 file changed, 9 insertions(+), 24 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2d59da7169..f12f8d82b0 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1215,30 +1215,15 @@ transformations provided by other packages include normalization and conversion between character sets."))) (define-public go-golang-org-x-text-unicode-norm - (let ((commit "e19ae1496984b1c655b8044a65c0300a3c878dd3") - (revision "1")) - (package - (name "go-golang-org-x-text-unicode-norm") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://go.googlesource.com/text") - (commit commit))) - (file-name (string-append "go.googlesource.com-text-" - version "-checkout")) - (sha256 - (base32 - "1cvnnx8nwx5c7gr6ajs7sldhbqh52n7h6fsa3i21l2lhx6xrsh4w")))) - (build-system go-build-system) - (arguments - `(#:import-path "golang.org/x/text/unicode/norm" - #:unpack-path "golang.org/x/text")) - (synopsis "Unicode normalization in Go") - (description "This package provides @code{norm}, which contains types and -functions for normalizing Unicode strings.") - (home-page "https://go.googlesource.com/text") - (license license:bsd-3)))) + (package + (inherit go-golang-org-x-text-encoding) + (name "go-golang-org-x-text-unicode-norm") + (arguments + `(#:import-path "golang.org/x/text/unicode/norm" + #:unpack-path "golang.org/x/text")) + (synopsis "Unicode normalization in Go") + (description "This package provides @code{norm}, which contains types and +functions for normalizing Unicode strings."))) (define-public go-golang-org-x-time-rate (let ((commit "6dc17368e09b0e8634d71cac8168d853e869a0c7") -- cgit v1.2.3 From be42a38a5b6c292ac362b9c650f087a1f28187b0 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:45:22 +0200 Subject: gnu: Add go-golang-org-sql-mock. * gnu/packages/golang.scm (go-golang-org-sql-mock): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index f12f8d82b0..c9a4512d82 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3235,6 +3235,31 @@ format in Go.") (home-page "https://github.com/kr/text") (license license:expat))) +(define-public go-golang-org-sql-mock + (let ((commit "e98392b8111b45f8126e00af035a0dd95dc12e8b") + (version "1.3.3") + (revision "1")) + (package + (name "go-golang-org-sql-mock") + (version (git-version version revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/DATA-DOG/go-sqlmock") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "033vv29g2wf6fd757ajfmha30bqin3b07377037zkl051mk6mghs")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/DATA-DOG/go-sqlmock")) + (synopsis "Mock library implementing @code{sql/driver}") + (description "This library simulates SQL-driver behavior in tests +without requiring a real database connection.") + (home-page "https://github.com/DATA-DOG/go-sqlmock") + (license license:expat)))) + (define-public go-github-com-burntsushi-locker (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a") (revision "0")) -- cgit v1.2.3 From a881a087e52aa23bb9b9954f554bed2b1c87662d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:45:39 +0200 Subject: gnu: Add go-golang-org-colorful. * gnu/packages/golang.scm (go-golang-org-colorful): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index c9a4512d82..fbce55bab9 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3260,6 +3260,31 @@ without requiring a real database connection.") (home-page "https://github.com/DATA-DOG/go-sqlmock") (license license:expat)))) +(define-public go-golang-org-colorful + (package + (name "go-golang-org-colorful") + (version "1.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lucasb-eyer/go-colorful") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fig06880bvk1l92j4127v4x9sar4ds7ga8959gxxghb2w70b7l2")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/lucasb-eyer/go-colorful")) + (native-inputs + `(("go-golang-org-sql-mock" ,go-golang-org-sql-mock))) + (synopsis "Convert between colorspaces and generate colors") + (description "This package implements Go's @code{color.Color} interface +and provides a means of converting colors stored as RGB to various +colorspaces.") + (home-page "https://github.com/lucasb-eyer/go-colorful") + (license license:expat))) + (define-public go-github-com-burntsushi-locker (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a") (revision "0")) -- cgit v1.2.3 From 42a0cfee6064c70441809ec81a601e671b5d0123 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:45:52 +0200 Subject: gnu: Add go-github-com-gdamore-encoding. * gnu/packages/golang.scm (go-github-com-gdamore-encoding): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index fbce55bab9..5ef44179ac 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3285,6 +3285,33 @@ colorspaces.") (home-page "https://github.com/lucasb-eyer/go-colorful") (license license:expat))) +(define-public go-github-com-gdamore-encoding + (package + (name "go-github-com-gdamore-encoding") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gdamore/encoding") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/gdamore/encoding")) + (inputs + `(("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding) + ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform))) + (home-page "https://github.com/gdamore/encoding") + (synopsis "Provide encodings missing from Go") + (description "This package provides useful encodings not included in the +standard @code{Text} package, including some for dealing with I/O streams from +non-UTF-friendly sources.") + (license license:expat))) + (define-public go-github-com-burntsushi-locker (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a") (revision "0")) -- cgit v1.2.3 From d050000a44dff70a98c53c3492002bbf345e4506 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:47:00 +0200 Subject: gnu: go-github.com-mattn-go-runewidth: Update to 0.0.4-1.703b5e6. * gnu/packages/textutils.scm (go-github.com-mattn-go-runewidth): Update to 0.0.4-1.703b5e6. Signed-off-by: Danny Milosavljevic --- gnu/packages/textutils.scm | 47 +++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index d1dc14e6d7..2c520dfbdf 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -693,27 +693,32 @@ and Cython.") (license license:expat)))) (define-public go-github.com-mattn-go-runewidth - (package - (name "go-github.com-mattn-go-runewidth") - (version "0.0.2") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mattn/go-runewidth") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0vkrfrz3fzn5n6ix4k8s0cg0b448459sldq8bp4riavsxm932jzb")))) - (build-system go-build-system) - (arguments - '(#:import-path "github.com/mattn/go-runewidth")) - (synopsis "@code{runewidth} provides Go functions to work with string widths") - (description - "The @code{runewidth} library provides Go functions for padding, -measuring and checking the width of strings, with support east asian text.") - (home-page "https://github.com/jessevdk/go-flags") - (license license:expat))) + (let ((commit "703b5e6b11ae25aeb2af9ebb5d5fdf8fa2575211") + (version "0.0.4") + (revision "1")) + (package + (name "go-github.com-mattn-go-runewidth") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/runewidth") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0znpyz71gajx3g0j2zp63nhjj2c07g16885vxv4ykwnrfmzbgk4w")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/mattn/go-runewidth")) + (synopsis "@code{runewidth} provides Go functions to work with string widths") + (description + "The @code{runewidth} library provides Go functions for padding, +measuring and checking the width of strings, with support for East Asian +text.") + (home-page "https://github.com/mattn/runewidth") + (license license:expat)))) (define-public docx2txt (package -- cgit v1.2.3 From a6689b99ef726a02b6d5374122e0c97a36dcee02 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:46:28 +0200 Subject: gnu: Add go-github-com-gdamore-tcell. * gnu/packages/golang.scm (go-github-com-gdamore-tcell): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 5ef44179ac..fc911fcd91 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3312,6 +3312,50 @@ standard @code{Text} package, including some for dealing with I/O streams from non-UTF-friendly sources.") (license license:expat))) +(define-public go-github-com-gdamore-tcell + (let ((commit "aaadc574a6ed8dc3abe56036ca130dcee1ee6b6e") + (version "1.1.2") + (revision "1")) + (package + (name "go-github-com-gdamore-tcell") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gdamore/tcell") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0il2nnxp2cqiy73m49215dnf9in3vd25ji8qxbmq87c5qy7i1q9d")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/gdamore/tcell" + #:phases + (modify-phases %standard-phases + (add-before 'reset-gzip-timestamps 'make-files-writable + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure .gz files are writable so that the + ;; 'reset-gzip-timestamps' phase can do its work. + (let ((out (assoc-ref outputs "out"))) + (for-each make-file-writable + (find-files out "\\.gz$")) + #t)))))) + (inputs + `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth) + ("go-golang-org-colorful" ,go-golang-org-colorful) + ("go-golang-org-x-text-encoding" ,go-golang-org-x-text-encoding) + ("go-golang-org-x-text-transform" ,go-golang-org-x-text-transform) + ("go-github-com-gdamore-encoding" ,go-github-com-gdamore-encoding))) + (home-page "https://github.com/gdamore/tcell") + (synopsis "Provide a cell-based view for text terminals") + (description "This package includes a full parser and expander for +terminfo capability strings to avoid hard-coding escape strings for +formatting. It also favors portability, and includes support for all POSIX +systems.") + (license license:expat)))) + (define-public go-github-com-burntsushi-locker (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a") (revision "0")) -- cgit v1.2.3 From f81573500edd777dc3d6a35aef8b874297e19670 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:46:42 +0200 Subject: gnu: Add go-github-com-mattn-go-shellwords. * gnu/packages/golang.scm (go-github-com-mattn-go-shellwords): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/golang.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index fc911fcd91..2fd2154523 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3356,6 +3356,50 @@ formatting. It also favors portability, and includes support for all POSIX systems.") (license license:expat)))) +(define-public go-github-com-mattn-go-shellwords + (let ((commit "2444a32a19f450fabaa0bb3e96a703f15d9a97d2") + (version "1.0.5") + (revision "1")) + (package + (name "go-github-com-mattn-go-shellwords") + (version (git-version version revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-shellwords") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08zcgr1az1n8zaxzwdd205j86hczgyc52nxfnw5avpw7rrkf7v0d")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/mattn/go-shellwords" + ;; TODO: can't make homeless-shelter: + ;; go: disabling cache (/homeless-shelter/.cache/go-build) due to + ;; initialization failure: mkdir /homeless-shelter: permission denied + + ;; This doesn't seem to work: + + ;; #:phases + ;; (modify-phases %standard-phases + ;; (replace 'check + ;; (lambda* (#:key import-path #:allow-other-keys) + ;; (setenv "HOME" "/tmp") + ;; (invoke "go" "test" import-path)))) + + ;; TODO: There are also a couple of tests that have stymied Debian in + ;; the past. They seem to work when run locally. + + #:tests? #f + )) + (home-page "https://github.com/mattn/go-shellwords") + (synopsis "Parse lines into shell words") + (description "This package parses text into shell arguments. Based on +the @code{cpan} module @code{Parse::CommandLine}.") + (license license:expat)))) + (define-public go-github-com-burntsushi-locker (let ((commit "a6e239ea1c69bff1cfdb20c4b73dadf52f784b6a") (revision "0")) -- cgit v1.2.3 From cb3625bcd77fe84e24ad5ad99dab7a7134227add Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:48:43 +0200 Subject: gnu: Add go-github-com-junegunn-fzf. * gnu/packages/terminals.scm (go-github-com-junegunn-fzf): New variable. Signed-off-by: Danny Milosavljevic --- gnu/packages/terminals.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/terminals.scm b/gnu/packages/terminals.scm index 4d0e875012..df8d1e4b79 100644 --- a/gnu/packages/terminals.scm +++ b/gnu/packages/terminals.scm @@ -54,6 +54,7 @@ #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages golang) #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages libevent) @@ -754,6 +755,35 @@ with terminals in Go.") (home-page "https://go.googlesource.com/crypto/") (license license:bsd-3)))) +(define-public go-github-com-junegunn-fzf + (package + (name "go-github-com-junegunn-fzf") + (version "0.18.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/junegunn/fzf") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pwpr4fpw56yzzkcabzzgbgwraaxmp7xzzmap7w1xsrkbj7dl2xl")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/junegunn/fzf")) + (inputs + `(("go-github.com-mattn-go-runewidth" ,go-github.com-mattn-go-runewidth) + ("go-github-com-mattn-go-shellwords" ,go-github-com-mattn-go-shellwords) + ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) + ("go-github-com-gdamore-tcell" ,go-github-com-gdamore-tcell) + ("go-golang-org-x-crypto-ssh-terminal" ,go-golang-org-x-crypto-ssh-terminal))) + (home-page "https://github.com/junegunn/fzf") + (synopsis "Command-line fuzzy-finder") + (description "This package provides an interactive command-line filter +usable with any list--including files, command history, processes and more.") + (license license:expat))) + (define-public go-github.com-howeyc-gopass (let ((commit "bf9dde6d0d2c004a008c27aaee91170c786f6db8") (revision "0")) -- cgit v1.2.3 From 33b67efeb4a2eb25d15f6b51419818461596a211 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Jul 2019 10:26:44 -0400 Subject: gnu: Add go-golang-org-x-tools. * gnu/packages/golang.scm (go-golang-org-x-tools): New variable. --- gnu/packages/golang.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2fd2154523..077aff2a21 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -769,6 +769,37 @@ expressing configuration which is easy for both humans and machines to read.") (home-page "https://github.com/hashicorp/hcl") (license license:mpl2.0)))) +(define-public go-golang-org-x-tools + (let ((commit "8b927904ee0dec805c89aaf9172f4459296ed6e8") + (revision "0")) + (package + (name "go-golang-org-x-tools") + (version (git-version "0.1.3" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/tools") + (commit commit))) + (file-name (string-append "go.googlesource.com-tools-" + version "-checkout")) + (sha256 + (base32 + "0iinb70xhcjsddgi42ia1n745lx2ibnjdm6m2v666qrk3876vpck")))) + (build-system go-build-system) + (arguments + `(#:import-path "golang.org/x/tools" + ;; Source-only package + #:tests? #f + #:phases + (modify-phases %standard-phases + ;; Source-only package + (delete 'build)))) + (synopsis "Tools that support the Go programming language") + (description "This package provides miscellaneous tools that support the +Go programming language.") + (home-page "https://go.googlesource.com/tools/") + (license license:bsd-3)))) + (define-public go-golang-org-x-crypto-bcrypt (let ((commit "b7391e95e576cacdcdd422573063bc057239113d") (revision "3")) -- cgit v1.2.3 From 5bbf203c3452840e0698d378a4359de58391dc54 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Jul 2019 10:34:57 -0400 Subject: gnu: Add go-golang-org-x-crypto. * gnu/packages/golang.scm (go-golang-org-x-crypto): New variable. --- gnu/packages/golang.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 077aff2a21..41d38268d3 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -800,6 +800,48 @@ Go programming language.") (home-page "https://go.googlesource.com/tools/") (license license:bsd-3)))) +(define-public go-golang-org-x-crypto + (let ((commit "b7391e95e576cacdcdd422573063bc057239113d") + (revision "3")) + (package + (name "go-golang-org-x-crypto") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://go.googlesource.com/crypto") + (commit commit))) + (file-name (string-append "go.googlesource.com-crypto-" + version "-checkout")) + (sha256 + (base32 + "1jqfh81mhgwcc6b9l0bs6rb0707s01qpvn7896i5bsmig46lc7zm")))) + (build-system go-build-system) + (arguments + '(#:import-path "golang.org/x/crypto" + ;; Source-only package + #:tests? #f + #:phases + (modify-phases %standard-phases + ;; Source-only package + (delete 'build) + (add-before 'reset-gzip-timestamps 'make-gzip-archive-writable + (lambda* (#:key outputs #:allow-other-keys) + (map (lambda (file) + (make-file-writable file)) + (find-files + (string-append (assoc-ref outputs "out") + "/src/golang.org/x/crypto/ed25519/testdata") + ".*\\.gz$")) + #t))))) + (propagated-inputs + `(("go-golang-org-x-sys-cpu" ,go-golang-org-x-sys-cpu))) + (synopsis "Supplementary cryptographic libraries in Go") + (description "This package provides supplementary cryptographic libraries +for the Go language.") + (home-page "https://go.googlesource.com/crypto/") + (license license:bsd-3)))) + (define-public go-golang-org-x-crypto-bcrypt (let ((commit "b7391e95e576cacdcdd422573063bc057239113d") (revision "3")) -- cgit v1.2.3 From a3b1dc49bb4ab68fce3af1c937545a707ae2d93b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Jul 2019 11:21:56 -0400 Subject: gnu: Add go-github-com-marten-seemann-qtls. * gnu/packages/golang.scm (go-github-com-marten-seemann-qtls): New variable. --- gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 41d38268d3..302c413880 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3506,3 +3506,29 @@ test. All locks are implemented with read-write mutexes. To use them like a regular mutex, simply ignore the RLock/RUnlock functions.") (license license:unlicense)))) + +(define-public go-github-com-marten-seemann-qtls + (package + (name "go-github-com-marten-seemann-qtls") + (version "0.2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/marten-seemann/qtls") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0b9p7bwkm9hfg1mb565q4nw5k7xyks0z2xagz5fp95azy2psbnfg")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/marten-seemann/qtls" + ;; The test suite requires networking. + #:tests? #f)) + (propagated-inputs + `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto))) + (synopsis "TLS 1.3 with QUIC in Go") + (description "This package provides @code{qtls}, a QUIC-capable variant of +the Go standard library's TLS 1.3 implementation.") + (home-page "https://github.com/marten-seemann/qtls") + (license license:bsd-3))) -- cgit v1.2.3 From 8201afdf0cbbba25fb09089c872211178a85fc9d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Jul 2019 11:22:20 -0400 Subject: gnu: Add go-github-com-cheekybits-genny. * gnu/packages/golang.scm (go-github-com-cheekybits-genny): New variable. --- gnu/packages/golang.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 302c413880..45a77c51cc 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3532,3 +3532,27 @@ mutex, simply ignore the RLock/RUnlock functions.") the Go standard library's TLS 1.3 implementation.") (home-page "https://github.com/marten-seemann/qtls") (license license:bsd-3))) + +(define-public go-github-com-cheekybits-genny + (package + (name "go-github-com-cheekybits-genny") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cheekybits/genny") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pcir5ic86713aqa51581rfb67rgc3m0c72ddjfcp3yakv9vyq87")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/cheekybits/genny")) + (propagated-inputs + `(("go-golang-org-x-tools" ,go-golang-org-x-tools))) + (synopsis "Generics for Go") + (description "This package provides @code{genny}, a Go language +implementation of generics.") + (home-page "https://github.com/cheekybits/genny/") + (license license:expat))) -- cgit v1.2.3 From 6d766bec446690fec6a15eaf48cd223a8c2426b3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Jul 2019 11:27:21 -0400 Subject: gnu: Add go-github-com-lucas-clemente-quic-go. * gnu/packages/golang.scm (go-github-com-lucas-clemente-quic-go: New variable. --- gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 45a77c51cc..73f740299b 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3556,3 +3556,31 @@ the Go standard library's TLS 1.3 implementation.") implementation of generics.") (home-page "https://github.com/cheekybits/genny/") (license license:expat))) + +(define-public go-github-com-lucas-clemente-quic-go + (package + (name "go-github-com-lucas-clemente-quic-go") + (version "0.11.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lucas-clemente/quic-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gqm5mc8alg84ra7yxach34il1jvcij8f76qdqcahnd3d2nhjbia")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/lucas-clemente/quic-go" + ;; XXX More packages required... + #:tests? #f)) + (propagated-inputs + `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto) + ("go-github-com-cheekybits-genny" ,go-github-com-cheekybits-genny) + ("go-github-com-marten-seemann-qtls" ,go-github-com-marten-seemann-qtls))) + (synopsis "QUIC in Go") + (description "This package provides a Go language implementation of the QUIC +network protocol.") + (home-page "https://github.com/lucas-clemente/quic-go") + (license license:expat))) -- cgit v1.2.3 From 2da5275f818f56587fca5527d30919442eb74b4b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Jul 2019 11:28:03 -0400 Subject: gnu: Move go-github-com-pkg-errors to the Golang package module. * gnu/packages/syncthing.scm (go-github-com-pkg-errors): Move ... * gnu/packages/golang.scm (go-github-com-pkg-errors): ... here. --- gnu/packages/golang.scm | 22 ++++++++++++++++++++++ gnu/packages/syncthing.scm | 22 ---------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 73f740299b..ed9ccd2d14 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3584,3 +3584,25 @@ implementation of generics.") network protocol.") (home-page "https://github.com/lucas-clemente/quic-go") (license license:expat))) + +(define-public go-github-com-pkg-errors + (package + (name "go-github-com-pkg-errors") + (version "0.8.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pkg/errors.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/pkg/errors")) + (synopsis "Go error handling primitives") + (description "This package provides @code{error}, which offers simple +error handling primitives in Go.") + (home-page "https://github.com/pkg/errors") + (license license:bsd-2))) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index cd3dd0de54..63b8b70658 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -739,28 +739,6 @@ hashes.") (home-page "https://github.com/chmduquesne/rollinghash") (license expat)))) -(define-public go-github-com-pkg-errors - (package - (name "go-github-com-pkg-errors") - (version "0.8.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pkg/errors.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1")))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/pkg/errors")) - (synopsis "Go error handling primitives") - (description "This package provides @code{error}, which offers simple -error handling primitives in Go.") - (home-page "https://github.com/pkg/errors") - (license bsd-2))) - (define-public go-github-com-petermattis-goid (let ((commit "3db12ebb2a599ba4a96bea1c17b61c2f78a40e02") (revision "0")) -- cgit v1.2.3 From 8c6be10aba4a737cd2d3ab3b389af815c7d5a9f6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 25 Jul 2019 13:31:19 -0400 Subject: gnu: go-github-com-pkg-errors: Update to 0.8.1-0.27936f6. * gnu/packages/golang.scm (go-github-com-pkg-errors): Update to 0.8.1-0.27936f6. --- gnu/packages/golang.scm | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index ed9ccd2d14..ca4fe6d822 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3586,23 +3586,25 @@ network protocol.") (license license:expat))) (define-public go-github-com-pkg-errors - (package - (name "go-github-com-pkg-errors") - (version "0.8.1") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/pkg/errors.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0g5qcb4d4fd96midz0zdk8b9kz8xkzwfa8kr1cliqbg8sxsy5vd1")))) - (build-system go-build-system) - (arguments - `(#:import-path "github.com/pkg/errors")) - (synopsis "Go error handling primitives") - (description "This package provides @code{error}, which offers simple + (let ((commit "27936f6d90f9c8e1145f11ed52ffffbfdb9e0af7") + (revision "0")) + (package + (name "go-github-com-pkg-errors") + (version (git-version "0.8.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pkg/errors.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yzmgi6g4ak4q8y7w6x0n5cbinlcn8yc3gwgzy4yck00qdn25d6y")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/pkg/errors")) + (synopsis "Go error handling primitives") + (description "This package provides @code{error}, which offers simple error handling primitives in Go.") - (home-page "https://github.com/pkg/errors") - (license license:bsd-2))) + (home-page "https://github.com/pkg/errors") + (license license:bsd-2)))) -- cgit v1.2.3 From ea22aa1fafe5d830080ffcacf8aedbe3e3ba1573 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 16 Jul 2019 11:35:31 -0400 Subject: gnu: Add go-github-com-certifi-gocertifi. * gnu/packages/tls.scm (go-github-com-certifi-gocertifi): New variable. --- gnu/packages/tls.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index ac85b9595c..20dc69282a 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2015 David Thompson -;;; Copyright © 2015, 2016, 2017, 2018 Leo Famulari +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Leo Famulari ;;; Copyright © 2016, 2017, 2019 Efraim Flashner ;;; Copyright © 2016, 2017, 2018 ng0 ;;; Copyright © 2016 Hartmut Goebel @@ -33,8 +33,10 @@ #:use-module ((guix licenses) #:prefix license:) #: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 (guix build-system python) #:use-module (guix build-system cmake) @@ -951,3 +953,27 @@ coding footprint.") ACME-server (currently only provided by Let's Encrypt) implemented as a relatively simple Bash script.") (license license:expat))) + +(define-public go-github-com-certifi-gocertifi + (let ((commit "d2eda712971317d7dd278bc2a52acda7e945f97e") + (revision "0")) + (package + (name "go-github-com-certifi-gocertifi") + (version (git-version "2018.01.18" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/certifi/gocertifi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f3v26xps7gadw4qfmh1kxbpgp0cgqdd61a257xnnvnd7ll6k8dh")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/certifi/gocertifi")) + (synopsis "X.509 TLS root certificate bundle for Go") + (description "This package is a Go language X.509 TLS root certificate bundle, +derived from Mozilla's collection.") + (home-page "https://certifi.io") + (license license:mpl2.0)))) -- cgit v1.2.3 From 8ffc727e38f7cd2c12879b6c926e936655d0a9b6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 13:24:48 -0400 Subject: gnu: go-github-com-getsentry-raven-go: Update to 0.2.0-0.5c24d51. * gnu/packages/golang.scm (go-github-com-getsentry-raven-go): Update to 0.2.0-0.5c24d51. (propagated-inputs): Add go-github-com-certifi-gocertifi and go-github-com-pkg-errors. --- gnu/packages/golang.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index ca4fe6d822..821b55de25 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages lua) #:use-module (gnu packages mp3) #:use-module (gnu packages textutils) + #:use-module (gnu packages tls) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -1362,12 +1363,11 @@ is similar to Go's standard library @code{json} and @code{xml} package.") (license license:expat))) (define-public go-github-com-getsentry-raven-go - (let ((commit - "dffeb57df75d6a911f00232155194e43d79d38d7") + (let ((commit "5c24d5110e0e198d9ae16f1f3465366085001d92") (revision "0")) (package (name "go-github-com-getsentry-raven-go") - (version (git-version "0.0.0" revision commit)) + (version (git-version "0.2.0" revision commit)) (source (origin (method git-fetch) @@ -1377,14 +1377,16 @@ is similar to Go's standard library @code{json} and @code{xml} package.") (file-name (git-file-name name version)) (sha256 (base32 - "13sb9rvl3369m7fah3ss9g0hwky259snqfn8gmbr0h5zvp651lja")))) + "0lvc376sq8r8jhy2v1m6rf1wyld61pvbk0x6j9xpg56ivqy69xs7")))) (build-system go-build-system) (arguments '(#:import-path "github.com/getsentry/raven-go")) - (home-page - "https://github.com/getsentry/raven-go") + (propagated-inputs + `(("go-github-com-certifi-gocertifi" ,go-github-com-certifi-gocertifi) + ("go-github-com-pkg-errors" ,go-github-com-pkg-errors))) + (home-page "https://github.com/getsentry/raven-go") (synopsis "Sentry client in Go") - (description "This package is Go client API for the Sentry event/error + (description "This package is a Go client API for the Sentry event/error logging system.") (license license:bsd-3)))) -- cgit v1.2.3 From d0ced446d06de2ab58f526f108d4c23de47a4956 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 13:33:42 -0400 Subject: gnu: Add go-github-com-maruel-panicparse. * gnu/packages/golang.scm (go-github-com-maruel-panicparse): New variable. --- gnu/packages/golang.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 821b55de25..02a7fd15d9 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3610,3 +3610,26 @@ network protocol.") error handling primitives in Go.") (home-page "https://github.com/pkg/errors") (license license:bsd-2)))) + +(define-public go-github-com-maruel-panicparse + (package + (name "go-github-com-maruel-panicparse") + (version "1.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/maruel/panicparse") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05hf68ifb7ww4rpmxyywbj9r0kyap45p1273ncq4qy2ydv042l8j")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/maruel/panicparse")) + (synopsis "Toolkit for parsing Go stack traces") + (description "This package provides a toolkit for parsing Go language panic +stack traces. It simplifies the traces to make salient information more visible +and aid debugging.") + (home-page "https://github.com/maruel/panicparse") + (license license:asl2.0))) -- cgit v1.2.3 From e5906bb44054baf1e2f147d38e21fa29fdc94e81 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 13:34:35 -0400 Subject: gnu: Go Prometheus tools: Update to 0.9.3. * gnu/packages/syncthing.scm (go-github-com-client-golang-prometheus-promhttp, go-github-com-prometheus-client-golang-prometheus): Update to 0.9.3. --- gnu/packages/syncthing.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 63b8b70658..bee89d57fb 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1027,7 +1027,7 @@ system, kernel, and process metrics from the @file{/proc} pseudo file system.") (define-public go-github-com-client-golang-prometheus-promhttp (package (name "go-github-com-client-golang-prometheus-promhttp") - (version "0.9.2") + (version "0.9.3") (source (origin (method git-fetch) (uri (git-reference @@ -1036,7 +1036,7 @@ system, kernel, and process metrics from the @file{/proc} pseudo file system.") (file-name (git-file-name name version)) (sha256 (base32 - "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs")))) + "1608rm1y2p3iv8k2x7wyc6hshvpbfkv2k77hy0x870syms1g3g1p")))) (build-system go-build-system) (arguments '(#:tests? #f ; The tests require internet access @@ -1065,7 +1065,7 @@ server tools for Prometheus metrics.") (define-public go-github-com-prometheus-client-golang-prometheus (package (name "go-github-com-prometheus-client-golang-prometheus") - (version "0.9.2") + (version "0.9.3") (source (origin (method git-fetch) (uri (git-reference @@ -1074,7 +1074,7 @@ server tools for Prometheus metrics.") (file-name (git-file-name name version)) (sha256 (base32 - "02b4yg6rfag0m3j0i39sillcm5xczwv8h133vn12yr8qw04cnigs")))) + "1608rm1y2p3iv8k2x7wyc6hshvpbfkv2k77hy0x870syms1g3g1p")))) (build-system go-build-system) (arguments '(#:import-path "github.com/prometheus/client_golang/prometheus" -- cgit v1.2.3 From 7cb9c4e2e15ca1f13afd67d2c30d67495ebbea23 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 13:36:19 -0400 Subject: gnu: Add go-github-com-audriusbutkevicius-pfilter. * gnu/packages/syncthing.scm (go-github-com-audriusbutkevicius-pfilter): New variable. --- gnu/packages/syncthing.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index bee89d57fb..1f94cdd937 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1200,3 +1200,28 @@ quoting, commenting, and escaping.") (description "This package is an internal component of Prometheus.") (home-page "https://github.com/prometheus/common") (license asl2.0))) + +(define-public go-github-com-audriusbutkevicius-pfilter + (let ((commit "c55ef6137fc6f075801eac099cc2687ede0f101d") + (revision "3")) + (package + (name "go-github-com-audriusbutkevicius-pfilter") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AudriusButkevicius/pfilter.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0xzhwyd0w21bhvzl5pinn22hp0y6h44rh3s2ppql69rafc6zd3c6")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/AudriusButkevicius/pfilter")) + (synopsis "Filter packets into mulitple virtual connections") + (description "Pfilter is a Go package for filtering packets into multiple +virtual connections from a single physical connection.") + (home-page "https://github.com/AudriusButkevicius/pfilter") + (license expat)))) -- cgit v1.2.3 From 48e1cbdf6ed307e8e5dbfd2e7e0731b3432d50a7 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 13:36:36 -0400 Subject: gnu: Add go-github-com-ccding-go-stun. * gnu/packages/syncthing.scm (go-github-com-ccding-go-stun): New variable. --- gnu/packages/syncthing.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 1f94cdd937..72bba8ccaa 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1225,3 +1225,28 @@ quoting, commenting, and escaping.") virtual connections from a single physical connection.") (home-page "https://github.com/AudriusButkevicius/pfilter") (license expat)))) + +(define-public go-github-com-ccding-go-stun + (let ((commit "be486d185f3dfcb2dbf8429332da50a0da7f95a6") + (revision "2")) + (package + (name "go-github-com-ccding-go-stun") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ccding/go-stun.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gr0rw1c1y7wh6913lyn5k4ig023by27i36bly6am8dwgrgp34ww")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/ccding/go-stun")) + (synopsis "STUN client implementation") + (description "Go-stun is a go implementation of the STUN client (RFC 3489 +and RFC 5389).") + (home-page "https://github.com/ccding/go-stun") + (license asl2.0)))) -- cgit v1.2.3 From a93e2392ca787f773e1dbb8fb596352d29c30556 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 14:08:36 -0400 Subject: gnu: go-github-com-syndtr-goleveldb: Update to 1.0.1-3.c3a204f. * gnu/packages/syncthing.scm (go-github-com-syndtr-goleveldb): Update to 1.0.1-3.c3a204f. --- gnu/packages/syncthing.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 72bba8ccaa..73652d2783 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -569,11 +569,11 @@ run-time in Go.") (license asl2.0))) (define-public go-github-com-syndtr-goleveldb - (let ((commit "34011bf325bce385408353a30b101fe5e923eb6e") - (revision "2")) + (let ((commit "c3a204f8e96543bb0cc090385c001078f184fc46") + (revision "3")) (package (name "go-github-com-syndtr-goleveldb") - (version (git-version "0.0.0" revision commit)) + (version (git-version "1.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -582,7 +582,7 @@ run-time in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "097ja0vyj6p27zrxha9nhk09fj977xsvhmd3bk2hbyvnbw4znnhd")))) + "18cac90dim2z5g28vazzibxa058q2ynihsmf0vbscwzba6l5s5ms")))) (build-system go-build-system) (propagated-inputs `(("go-github-com-golang-snappy" ,go-github-com-golang-snappy))) -- cgit v1.2.3 From 8629d8eda7bdd6cd6d353168af408e335e85d7d9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 14:08:47 -0400 Subject: gnu: Prometheus Go client: Update to 0.9.4. * gnu/packages/syncthing.scm (go-github-com-client-golang-prometheus-promhttp, go-github-com-prometheus-client-golang-prometheus): Update to 0.9.4. --- gnu/packages/syncthing.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 73652d2783..c34de3ed21 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1027,7 +1027,7 @@ system, kernel, and process metrics from the @file{/proc} pseudo file system.") (define-public go-github-com-client-golang-prometheus-promhttp (package (name "go-github-com-client-golang-prometheus-promhttp") - (version "0.9.3") + (version "0.9.4") (source (origin (method git-fetch) (uri (git-reference @@ -1036,7 +1036,7 @@ system, kernel, and process metrics from the @file{/proc} pseudo file system.") (file-name (git-file-name name version)) (sha256 (base32 - "1608rm1y2p3iv8k2x7wyc6hshvpbfkv2k77hy0x870syms1g3g1p")))) + "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p")))) (build-system go-build-system) (arguments '(#:tests? #f ; The tests require internet access @@ -1065,7 +1065,7 @@ server tools for Prometheus metrics.") (define-public go-github-com-prometheus-client-golang-prometheus (package (name "go-github-com-prometheus-client-golang-prometheus") - (version "0.9.3") + (version "0.9.4") (source (origin (method git-fetch) (uri (git-reference @@ -1074,7 +1074,7 @@ server tools for Prometheus metrics.") (file-name (git-file-name name version)) (sha256 (base32 - "1608rm1y2p3iv8k2x7wyc6hshvpbfkv2k77hy0x870syms1g3g1p")))) + "0s134fj4i7k6pxdmxwkdi7amb1882yq33spv15hg3pkpbd3h311p")))) (build-system go-build-system) (arguments '(#:import-path "github.com/prometheus/client_golang/prometheus" -- cgit v1.2.3 From c17e69b3aa4012a1f9f008daecf1cdd7539dd521 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 14:19:38 -0400 Subject: gnu: go-gopkg-in-yaml-v2: Update to 2.2.2. * gnu/packages/golang.scm (go-gopkg-in-yaml-v2): Update to 2.2.2. --- gnu/packages/golang.scm | 48 +++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 02a7fd15d9..5b7814cb75 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1956,32 +1956,30 @@ which satisfies the cron expression.") (license license:asl2.0)))) (define-public go-gopkg-in-yaml-v2 - (let ((commit "14227de293ca979cf205cd88769fe71ed96a97e2") - (revision "0")) - (package - (name "go-gopkg-in-yaml-v2") - (version (git-version "0.0.0" revision commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://gopkg.in/yaml.v2.git") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "038hnrjcnjygyi3qidfrkpkakis82qg381sr495d2s40g2dwlzah")))) - (build-system go-build-system) - (arguments - '(#:import-path "gopkg.in/yaml.v2")) - (native-inputs - `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1))) - (home-page "https://gopkg.in/yaml.v2") - (synopsis "YAML reader and writer for the Go language") - (description - "This package provides a Go library for encode and decode YAML + (package + (name "go-gopkg-in-yaml-v2") + (version "2.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gopkg.in/yaml.v2.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01wj12jzsdqlnidpyjssmj0r4yavlqy7dwrg7adqd8dicjc4ncsa")))) + (build-system go-build-system) + (arguments + '(#:import-path "gopkg.in/yaml.v2")) + (native-inputs + `(("go-gopkg-in-check-v1" ,go-gopkg-in-check-v1))) + (home-page "https://gopkg.in/yaml.v2") + (synopsis "YAML reader and writer for the Go language") + (description + "This package provides a Go library for encode and decode YAML values.") - (license license:asl2.0)))) + (license license:asl2.0))) (define-public go-github-com-mattn-go-isatty (package -- cgit v1.2.3 From a2dbcfdd9d821d84632a74753068127457725be8 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 14:30:17 -0400 Subject: gnu: go-gopkg-in-check-v1: Update to v1-1.0.0-1.788fd78. * gnu/packages/golang.scm (go-gopkg-in-check-v1): Update to v1-1.0.0-1.788fd78. --- gnu/packages/golang.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 5b7814cb75..2a39a7de86 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1931,11 +1931,11 @@ which satisfies the cron expression.") license:asl2.0))))) (define-public go-gopkg-in-check-v1 - (let ((commit "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec") - (revision "0")) + (let ((commit "788fd78401277ebd861206a03c884797c6ec5541") + (revision "1")) (package (name "go-gopkg-in-check-v1") - (version (git-version "0.0.0" revision commit)) + (version (git-version "1.0.0" revision commit)) (source (origin (method git-fetch) @@ -1945,14 +1945,15 @@ which satisfies the cron expression.") (file-name (git-file-name name version)) (sha256 (base32 - "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np")))) + "0v3bim0j375z81zrpr5qv42knqs0y2qv2vkjiqi5axvb78slki1a")))) (build-system go-build-system) (arguments '(#:import-path "gopkg.in/check.v1")) + (propagated-inputs + `(("go-github-com-kr-pretty" ,go-github-com-kr-pretty))) (home-page "https://gopkg.in/check.v1") (synopsis "Test framework for the Go language") - (description - "This package provides a test library for the Go language.") + (description "This package provides a test library for the Go language.") (license license:asl2.0)))) (define-public go-gopkg-in-yaml-v2 -- cgit v1.2.3 From 957e6f72895a32a162009fe3afedc602ec76028a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 17 Jul 2019 14:41:55 -0400 Subject: gnu: Go standard 'sys' packages: Update to 0.0.0-3.5ed2794. * gnu/packages/golang.scm (go-golang-org-x-sys-unix, go-golang-org-x-sys-cpu): Update to 0.0.0-3.5ed2794. --- gnu/packages/golang.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2a39a7de86..90795544b1 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1214,8 +1214,8 @@ for a variety of protocols to proxy network data.") (license license:bsd-3)))) (define-public go-golang-org-x-sys-unix - (let ((commit "4d1cda033e0619309c606fc686de3adcf599539e") - (revision "2")) + (let ((commit "5ed2794edfdc1c54dfb61d619c5944285f35d444") + (revision "3")) (package (name "go-golang-org-x-sys-unix") (version (git-version "0.0.0" revision commit)) @@ -1227,7 +1227,7 @@ for a variety of protocols to proxy network data.") (file-name (git-file-name name version)) (sha256 (base32 - "1wgaldbnkmh568v8kkgvnmkskaj96fqrbzhx23yji2kh1432q6gh")))) + "1qy8hmv5nwpcywk7sh1pg0s32jwpd4ykh492xzl4mmxy8galwsr5")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/sys/unix" -- cgit v1.2.3 From 307f2c44af9ade94c7cfaa44c2116a8e6e107f22 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 21 Jul 2019 01:20:53 -0400 Subject: gnu: Go standard library 'net' packages: Update to 0.0.0-3.d28f0bd. * gnu/packages/golang.scm (go-golang-org-x-net-ipv4, go-golang-org-x-net-bpf, go-golang-org-x-net-context, go-golang-org-x-net-internal-socks, go-golang-org-x-net-internal-socket, go-golang-org-x-net-internal-iana, go-golang-org-x-net-ipv6, go-golang-org-x-net-proxy): Update to 0.0.0-3.d28f0bd. (go-golang-org-x-net-ipv4, go-golang-org-x-net-bpf, go-golang-org-x-net-internal-socket, go-golang-org-x-net-ipv6)[propagated-inputs]: Add go-golang-org-x-sys-unix --- gnu/packages/golang.scm | 56 ++++++++++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 24 deletions(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 90795544b1..4a3b42f438 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1008,8 +1008,8 @@ fixed-output-length hash functions and the SHAKE variable-output-length hash functions defined by FIPS-202."))) (define-public go-golang-org-x-net-ipv4 - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-ipv4") (version (git-version "0.0.0" revision commit)) @@ -1021,11 +1021,13 @@ functions defined by FIPS-202."))) (file-name (git-file-name name version)) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/ipv4" #:unpack-path "golang.org/x/net")) + (propagated-inputs + `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (synopsis "Go IPv4 support") (description "This package provides @code{ipv4}, which implements IP-level socket options for the Internet Protocol version 4.") @@ -1033,8 +1035,8 @@ socket options for the Internet Protocol version 4.") (license license:bsd-3)))) (define-public go-golang-org-x-net-bpf - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-bpf") (version (git-version "0.0.0" revision commit)) @@ -1047,11 +1049,13 @@ socket options for the Internet Protocol version 4.") version "-checkout")) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/bpf" #:unpack-path "golang.org/x/net")) + (propagated-inputs + `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (synopsis "Berkeley Packet Filters (BPF) in Go") (description "This package provides a Go implementation of the Berkeley Packet Filter (BPF) virtual machine.") @@ -1059,8 +1063,8 @@ Packet Filter (BPF) virtual machine.") (license license:bsd-3)))) (define-public go-golang-org-x-net-context - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-context") (version (git-version "0.0.0" revision commit)) @@ -1073,7 +1077,7 @@ Packet Filter (BPF) virtual machine.") version "-checkout")) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/context" @@ -1086,8 +1090,8 @@ request-scoped values across API boundaries and between processes.") (license license:bsd-3)))) (define-public go-golang-org-x-net-internal-socks - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-internal-socks") (version (git-version "0.0.0" revision commit)) @@ -1100,7 +1104,7 @@ request-scoped values across API boundaries and between processes.") version "-checkout")) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/internal/socks" @@ -1111,8 +1115,8 @@ request-scoped values across API boundaries and between processes.") (license license:bsd-3)))) (define-public go-golang-org-x-net-internal-socket - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-internal-socket") (version (git-version "0.0.0" revision commit)) @@ -1125,19 +1129,21 @@ request-scoped values across API boundaries and between processes.") version "-checkout")) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/internal/socket" #:unpack-path "golang.org/x/net")) + (propagated-inputs + `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (synopsis "") (description "") (home-page "https://go.googlesource.com/net/") (license license:bsd-3)))) (define-public go-golang-org-x-net-internal-iana - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-internal-iana") (version (git-version "0.0.0" revision commit)) @@ -1150,7 +1156,7 @@ request-scoped values across API boundaries and between processes.") version "-checkout")) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/internal/iana" @@ -1162,8 +1168,8 @@ number resources managed by the Internet Assigned Numbers Authority (IANA).") (license license:bsd-3)))) (define-public go-golang-org-x-net-ipv6 - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-ipv6") (version (git-version "0.0.0" revision commit)) @@ -1176,11 +1182,13 @@ number resources managed by the Internet Assigned Numbers Authority (IANA).") version "-checkout")) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/ipv6" #:unpack-path "golang.org/x/net")) + (propagated-inputs + `(("go-golang-org-x-sys-unix" ,go-golang-org-x-sys-unix))) (synopsis "Go IPv6 support") (description "This package provides @code{ipv6}, which implements IP-level socket options for the Internet Protocol version 6.") @@ -1188,8 +1196,8 @@ IP-level socket options for the Internet Protocol version 6.") (license license:bsd-3)))) (define-public go-golang-org-x-net-proxy - (let ((commit "351d144fa1fc0bd934e2408202be0c29f25e35a0") - (revision "2")) + (let ((commit "d28f0bde5980168871434b95cfc858db9f2a7a99") + (revision "3")) (package (name "go-golang-org-x-net-proxy") (version (git-version "0.0.0" revision commit)) @@ -1202,7 +1210,7 @@ IP-level socket options for the Internet Protocol version 6.") version "-checkout")) (sha256 (base32 - "1c5x25qjyz83y92bq0lll5kmznyi3m02wd4c54scgf0866gy938k")))) + "18xj31h70m7xxb7gc86n9i21w6d7djbjz67zfaljm4jqskz6hxkf")))) (build-system go-build-system) (arguments `(#:import-path "golang.org/x/net/proxy" -- cgit v1.2.3 From 371b70429919850d8eed0151be82e84673f806a4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 Jul 2019 12:06:51 -0400 Subject: gnu: go-github-com-prometheus-client-model-go: Update to 0.0.2-1.fd36f42. * gnu/packages/syncthing.scm (go-github-com-prometheus-client-model-go): Update to 0.0.2-1.fd36f42. --- gnu/packages/syncthing.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c34de3ed21..a18121c598 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -868,8 +868,8 @@ data serialization format.") (license bsd-3)))) (define-public go-github-com-prometheus-client-model-go - (let ((commit "99fa1f4be8e564e8a6b613da7fa6f46c9edafc6c") - (revision "0")) + (let ((commit "fd36f4220a901265f90734c3183c5f0c91daa0b8") + (revision "1")) (package (name "go-github-com-prometheus-client-model-go") (version (git-version "0.0.2" revision commit)) @@ -881,7 +881,7 @@ data serialization format.") (file-name (git-file-name name version)) (sha256 (base32 - "19y4ywsivhpxj7ikf2j0gm9k3cmyw37qcbfi78n526jxcc7kw998")))) + "1bs5d72k361llflgl94c22n0w53j30rsfh84smgk8mbjbcmjsaa5")))) (build-system go-build-system) (arguments '(#:import-path "github.com/prometheus/client_model/go" -- cgit v1.2.3 From a85a78eb249d33a1d8cc4ac9de6b2db0c34b932b Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 Jul 2019 12:08:51 -0400 Subject: gnu: go-github-com-golang-protobuf-proto: Update to 1.3.1. * gnu/packages/syncthing.scm (go-github-com-golang-protobuf-proto): Update to 1.3.1. --- gnu/packages/syncthing.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index a18121c598..256cd2429c 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -841,20 +841,18 @@ bounds.") (license expat)))) (define-public go-github-com-golang-protobuf-proto - (let ((commit "1e59b77b52bf8e4b449a57e6f79f21226d571845") - (revision "0")) (package (name "go-github-com-golang-protobuf-proto") - (version (git-version "0.0.0" revision commit)) + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/golang/protobuf.git") - (commit commit))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "19bkh81wnp6njg3931wky6hsnnl2d1ig20vfjxpv450sd3k6yys8")))) + "15am4s4646qy6iv0g3kkqq52rzykqjhm4bf08dk0fy2r58knpsyl")))) (build-system go-build-system) (arguments '(#:import-path "github.com/golang/protobuf/proto" @@ -865,7 +863,7 @@ bounds.") (description "This package provides Go support for the Protocol Buffers data serialization format.") (home-page "https://github.com/golang/protobuf") - (license bsd-3)))) + (license bsd-3))) (define-public go-github-com-prometheus-client-model-go (let ((commit "fd36f4220a901265f90734c3183c5f0c91daa0b8") -- cgit v1.2.3 From eebf6380a49864dab520d75d2acc2a32c37fe1f6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 Jul 2019 12:10:32 -0400 Subject: gnu: go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg: Update to 0.4.1. * gnu/packages/syncthing.scm (go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg): Update to 0.4.1. --- gnu/packages/syncthing.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 256cd2429c..c11f0ad92c 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1180,7 +1180,7 @@ quoting, commenting, and escaping.") (define-public go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg (package (name "go-github-com-prometheus-common-internal-bitbucket-org-ww-goautoneg") - (version "0.2.0") + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -1189,7 +1189,7 @@ quoting, commenting, and escaping.") (file-name (git-file-name name version)) (sha256 (base32 - "02kym6lcfnlq23qbv277jr0q1n7jj0r14gqg93c7wn7gc44jv3vp")))) + "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s")))) (build-system go-build-system) (arguments '(#:import-path "github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg" -- cgit v1.2.3 From 2cdfaa026369d0dfc5760423ecffe27deb97c2d5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 Jul 2019 12:13:37 -0400 Subject: gnu: go-github-com-prometheus-procfs: Update to 0.0.3. * gnu/packages/syncthing.scm (go-github-com-prometheus-procfs): Update to 0.0.3. [arguments]: Skip the tests. --- gnu/packages/syncthing.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c11f0ad92c..1f10c02555 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -999,28 +999,29 @@ implementation.") (license asl2.0)))) (define-public go-github-com-prometheus-procfs - (let ((commit "b15cd069a83443be3154b719d0cc9fe8117f09fb") - (revision "0")) (package (name "go-github-com-prometheus-procfs") - (version (git-version "0.0.0" revision commit)) + (version "0.0.3") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/prometheus/procfs.git") - (commit commit))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1cr45wg2m40bj2za8f32mq09rjlcnk5kfam0h0hr8wcb015k4wxj")))) + "18c4m795fwng8f8qa395f3crvamlbk5y5afk8b5rzyisnmjq774y")))) (build-system go-build-system) (arguments - '(#:import-path "github.com/prometheus/procfs")) + '(#:import-path "github.com/prometheus/procfs" + ;; The tests require Go modules, which are not yet supported in Guix's + ;; Go build system. + #:tests? #f)) (synopsis "Go library for reading @file{/proc}") (description "The @code{procfs} Go package provides functions to retrieve system, kernel, and process metrics from the @file{/proc} pseudo file system.") (home-page "https://github.com/prometheus/procfs") - (license asl2.0)))) + (license asl2.0))) (define-public go-github-com-client-golang-prometheus-promhttp (package -- cgit v1.2.3 From 695d2a3326cb45b0097b9d457e15c2b31e6aff40 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 Jul 2019 12:14:21 -0400 Subject: gnu: go-github-com-prometheus-common-model: Update to 0.4.1. * gnu/packages/syncthing.scm (go-github-com-prometheus-common-model): Update to 0.4.1. --- gnu/packages/syncthing.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 1f10c02555..c89687b864 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -974,20 +974,18 @@ Prometheus metrics.") (license asl2.0)))) (define-public go-github-com-prometheus-common-model - (let ((commit "2e54d0b93cba2fd133edc32211dcc32c06ef72ca") - (revision "0")) (package (name "go-github-com-prometheus-common-model") - (version (git-version "0.0.0" revision commit)) + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/prometheus/common.git") - (commit commit))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "14kn5w7imcxxlfdqxl21fsnlf1ms7200g3ldy29hwamldv8qlm7j")))) + "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s")))) (build-system go-build-system) (arguments '(#:import-path "github.com/prometheus/common/model" @@ -996,7 +994,7 @@ Prometheus metrics.") (description "This package provides a component of the Go Prometheus implementation.") (home-page "https://github.com/prometheus/common") - (license asl2.0)))) + (license asl2.0))) (define-public go-github-com-prometheus-procfs (package -- cgit v1.2.3 From 20470893ea8919f59384bd1c68df7f968d8c0f57 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 Jul 2019 12:14:46 -0400 Subject: gnu: go-github-com-prometheus-common-expfmt: Update to 0.4.1. * gnu/packages/syncthing.scm (go-github-com-prometheus-common-expfmt): Update to 0.4.1. --- gnu/packages/syncthing.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c89687b864..9f9f7567b4 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -924,20 +924,18 @@ message streaming.") (license asl2.0)))) (define-public go-github-com-prometheus-common-expfmt - (let ((commit "2e54d0b93cba2fd133edc32211dcc32c06ef72ca") - (revision "0")) (package (name "go-github-com-prometheus-common-expfmt") - (version (git-version "0.0.0" revision commit)) + (version "0.4.1") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/prometheus/common.git") - (commit commit))) + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "14kn5w7imcxxlfdqxl21fsnlf1ms7200g3ldy29hwamldv8qlm7j")))) + "0sf4sjdckblz1hqdfvripk3zyp8xq89w7q75kbsyg4c078af896s")))) (build-system go-build-system) (arguments '(#:import-path "github.com/prometheus/common/expfmt" @@ -971,7 +969,7 @@ message streaming.") (description "This package provides tools for reading and writing Prometheus metrics.") (home-page "https://github.com/prometheus/common") - (license asl2.0)))) + (license asl2.0))) (define-public go-github-com-prometheus-common-model (package -- cgit v1.2.3 From 0c3c597d2ed649005798f670b13755ee55e6dc9a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 25 Jul 2019 12:51:13 -0400 Subject: gnu: Update default Go compiler to Go 1.12. * gnu/packages/golang.scm (go): Update to go-1.12. * guix/build/go-build-system.scm (setup-go-environment): Set $GOCACHE. --- gnu/packages/golang.scm | 2 +- guix/build/go-build-system.scm | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 4a3b42f438..c67ef036ee 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -584,7 +584,7 @@ in the style of communicating sequential processes (@dfn{CSP}).") ,@(package-native-inputs go-1.4))) (supported-systems %supported-systems))) -(define-public go go-1.11) +(define-public go go-1.12) (define-public go-github-com-alsm-ioprogress (let ((commit "063c3725f436e7fba0c8f588547bee21ffec7ac5") diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 858068ba98..3dac43c18a 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -135,6 +135,9 @@ of the package being built and its dependencies, and GOBIN, which determines where executables (\"commands\") are installed to. This phase is sometimes used by packages that use (guix build-system gnu) but have a handful of Go dependencies, so it should be self-contained." + ;; The Go cache is required starting in Go 1.12. We don't actually use it but + ;; we need it to be a writable directory. + (setenv "GOCACHE" "/tmp/go-cache") ;; Using the current working directory as GOPATH makes it easier for packagers ;; who need to manipulate the unpacked source code. (setenv "GOPATH" (getcwd)) -- cgit v1.2.3 From 18c4b0a27705773e423fb17310394204b7295d4a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 24 Jul 2019 12:17:37 -0400 Subject: gnu: Syncthing: Update to 1.2.0. * gnu/packages/syncthing.scm (syncthing): Update to 1.2.0. [inputs]: Remove go-golang-org-x-crypto-bcrypt and go-golang-org-x-crypto-blowfish. Add go-golang-org-x-crypto, go-github-com-getsentry-raven-go, go-github-com-maruel-panicparse, go-github-com-ccding-go-stun, go-github-com-audriusbutkevicius-pfilter, and go-github-com-lucas-clemente-quic-go. --- gnu/packages/syncthing.scm | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 9f9f7567b4..c35ee8639c 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -30,7 +30,7 @@ (define-public syncthing (package (name "syncthing") - (version "1.1.4") + (version "1.2.0") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -38,7 +38,7 @@ "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0pkb9vdb10lnlk6sgg6hxgkdjnvxx90cfdf8vgrc5sljzm5qhr6l")) + "1l7crhggg2vq4y7pgzsj8wp7k4l9hw5yblflly5bzwywzxz8ff83")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -102,10 +102,14 @@ ("go-github-com-vitrun-qart-coding" ,go-github-com-vitrun-qart-coding) ("go-github-com-vitrun-qart-gf256" ,go-github-com-vitrun-qart-gf256) ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) - ("go-golang-org-x-crypto-bcrypt" ,go-golang-org-x-crypto-bcrypt) - ("go-golang-org-x-crypto-blowfish" ,go-golang-org-x-crypto-blowfish) + ("go-golang-org-x-crypto" ,go-golang-org-x-crypto) ("go-github-com-flynn-archive-go-shlex" ,go-github-com-flynn-archive-go-shlex) + ("go-github-com-getsentry-raven-go" ,go-github-com-getsentry-raven-go) + ("go-github-com-maruel-panicparse" ,go-github-com-maruel-panicparse) + ("go-github-com-ccding-go-stun" ,go-github-com-ccding-go-stun) + ("go-github-com-audriusbutkevicius-pfilter" ,go-github-com-audriusbutkevicius-pfilter) + ("go-github-com-lucas-clemente-quic-go" ,go-github-com-lucas-clemente-quic-go) ;; For tests ("go-github-com-d4l3k-messagediff" ,go-github-com-d4l3k-messagediff))) -- cgit v1.2.3 From be27b8f2e14ed0fb837677f2de8eb4d9da2c6c1f Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 30 Jul 2019 10:47:52 +0200 Subject: gnu: youtube-dl: Update to 2019.07.30. * gnu/packages/video.scm (youtube-dl): Update to 2019.07.30. --- 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 51ff7fa97a..544e305771 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1480,7 +1480,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2019.07.16") + (version "2019.07.30") (source (origin (method url-fetch) (uri (string-append "https://github.com/rg3/youtube-dl/releases/" @@ -1488,7 +1488,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "06qd6z9swx8aw9v7vi85q44hmzxgy8wx18a9ljfhx7l7wjpm99ky")))) + "0nb5xvq4aq0az8y5wb54zp5q4qzfhs7rcb39yp6j5q8jyjp9kzwy")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion -- cgit v1.2.3 From 983906bb959926d31f7ed3f3db8c06de0fa0cba9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 12:16:58 +0200 Subject: gnu: Add r-d3r. * gnu/packages/cran.scm (r-d3r): New variable. --- gnu/packages/cran.scm | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 1383ab067f..48570b5807 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -822,6 +822,87 @@ this gives the user direct access to the file system without the need to well as file saving is available.") (license license:gpl2+))) +;; The package sources include minified variants of d3.js and non-minified +;; source code of d3-jetpack. +(define-public r-d3r + (package + (name "r-d3r") + (version "0.8.6") + (source + (origin + (method url-fetch) + (uri (cran-uri "d3r" version)) + (sha256 + (base32 + "0vcmiyhd000xyl28k6rm7ba50x5sz5b2cpllxnq36q13qhdnqw6k")))) + (build-system r-build-system) + (arguments + `(#:modules ((guix build utils) + (guix build r-build-system) + (srfi srfi-1) + (ice-9 popen)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'process-javascript + (lambda* (#:key inputs #:allow-other-keys) + (with-directory-excursion "inst/www/d3/" + (call-with-values + (lambda () + (unzip2 + `((,(assoc-ref inputs "d3.v3.js") + "v3/dist/d3.min.js") + (,(assoc-ref inputs "d3.v4.js") + "v4/dist/d3.min.js") + (,(assoc-ref inputs "d3.v5.js") + "v5/dist/d3.min.js")))) + (lambda (sources targets) + (for-each (lambda (source target) + (format #t "Processing ~a --> ~a~%" + source target) + (delete-file target) + (let ((minified (open-pipe* OPEN_READ "uglify-js" source))) + (call-with-output-file target + (lambda (port) + (dump-port minified port))))) + sources targets)))) + #t))))) + (propagated-inputs + `(("r-dplyr" ,r-dplyr) + ("r-htmltools" ,r-htmltools) + ("r-tidyr" ,r-tidyr))) + (native-inputs + `(("uglify-js" ,uglify-js) + ("d3.v3.js" + ,(origin + (method url-fetch) + (uri "https://d3js.org/d3.v3.js") + (sha256 + (base32 + "1arr7sr08vy7wh0nvip2mi7dpyjw4576vf3bm45rp4g5lc1k1x41")))) + ("d3.v4.js" + ,(origin + (method url-fetch) + (uri "https://d3js.org/d3.v4.js") + (sha256 + (base32 + "0y7byf6kcinfz9ac59jxc4v6kppdazmnyqfav0dm4h550fzfqqlg")))) + ("d3.v5.js" + ,(origin + (method url-fetch) + (uri "https://d3js.org/d3.v5.js") + (sha256 + (base32 + "0kxvx5pfagxn6nhavdwsdnzyd26g0z5dsfi1pi5dvcmb0c8ipcdn")))))) + (home-page "https://github.com/timelyportfolio/d3r") + (synopsis "d3.js utilities for R") + (description + "This package provides a suite of functions to help ease the use of the +d3.js visualization library in R. These helpers include +@code{htmltools::htmlDependency} functions, hierarchy builders, and conversion +tools for @code{partykit}, @code{igraph}, @code{table}, and @code{data.frame} +R objects into the JSON format that the d3.js library expects.") + (license license:bsd-3))) + (define-public r-crosstalk (package (name "r-crosstalk") -- cgit v1.2.3 From b03dd5cfc099426c5cb22477c3d75f7076c3bedd Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 12:17:14 +0200 Subject: gnu: Add r-sankeyd3. * gnu/packages/cran.scm (r-sankeyd3): New variable. --- gnu/packages/cran.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 48570b5807..426f054eee 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -903,6 +903,40 @@ tools for @code{partykit}, @code{igraph}, @code{table}, and @code{data.frame} R objects into the JSON format that the d3.js library expects.") (license license:bsd-3))) +;; We use the latest commit here because the last release was in 2016 while +;; the latest commit was in 2018. +(define-public r-sankeyd3 + (let ((commit "fd50a74e29056e0d67d75b4d04de47afb2f932bc") + (revision "1")) + (package + (name "r-sankeyd3") + (version (git-version "0.3.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fbreitwieser/sankeyD3.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0jrcnfax321pszbpjdifnkbrgbjr43bjzvlzv1p5a8wskksqwiyx")))) + (build-system r-build-system) + (propagated-inputs + `(("r-d3r" ,r-d3r) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-shiny" ,r-shiny) + ("r-magrittr" ,r-magrittr))) + (home-page "https://github.com/fbreitwieser/sankeyD3") + (synopsis "Sankey network graphs from R") + (description + "This package provides an R library to generate Sankey network graphs +in R and Shiny via the D3 visualization library.") + ;; The R code is licensed under GPLv3+. It includes the non-minified + ;; JavaScript source code of d3-sankey, which is released under the + ;; 3-clause BSD license. + (license (list license:gpl3+ license:bsd-3))))) + (define-public r-crosstalk (package (name "r-crosstalk") -- cgit v1.2.3 From 79f04920b220661dd0d31a40ca60b536c86d4d5e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:22:33 +0200 Subject: gnu: Add r-glasso. * gnu/packages/cran.scm (r-glasso): New variable. --- gnu/packages/cran.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 426f054eee..ac9dfa2535 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14708,3 +14708,24 @@ This package simplifies the way to manipulate the HTML or LaTeX codes generated by @code{kable()} and allows users to construct complex tables and customize styles using a readable syntax.") (license license:expat))) + +(define-public r-glasso + (package + (name "r-glasso") + (version "1.10") + (source + (origin + (method url-fetch) + (uri (cran-uri "glasso" version)) + (sha256 + (base32 + "0nshpx14v2yny7lr8ll6nnz71n0f02sddh2c2dglfprbk89p9yp6")))) + (build-system r-build-system) + (native-inputs `(("gfortran" ,gfortran))) + (home-page "http://www-stat.stanford.edu/~tibs/glasso") + (synopsis "Graphical Lasso: estimation of Gaussian graphical models") + (description + "This is a package for estimation of a sparse inverse covariance matrix +using a lasso (L1) penalty. Facilities are provided for estimates along a +path of values for the regularization parameter.") + (license license:gpl2))) -- cgit v1.2.3 From b46a0ee7532639817fe846233a75c758a9e7b963 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:22:40 +0200 Subject: gnu: Add r-cicero. * gnu/packages/bioconductor.scm (r-cicero): New variable. --- gnu/packages/bioconductor.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 2f2a60ad19..98a2da21c9 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -5024,3 +5024,44 @@ with separating information will be identified, and these clusters are defined by a sparse number of variables, this method can reduce the complexity of data, to only emphasize the data that actually matters.") (license license:expat))) + +(define-public r-cicero + (package + (name "r-cicero") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (bioconductor-uri "cicero" version)) + (sha256 + (base32 + "0f15l8zrh7l7nnvznb66116hvfk15djb9q240vbscm2w0y5fvkcr")))) + (build-system r-build-system) + (propagated-inputs + `(("r-assertthat" ,r-assertthat) + ("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-data-table" ,r-data-table) + ("r-dplyr" ,r-dplyr) + ("r-fnn" ,r-fnn) + ("r-genomicranges" ,r-genomicranges) + ("r-ggplot2" ,r-ggplot2) + ("r-glasso" ,r-glasso) + ("r-gviz" ,r-gviz) + ("r-igraph" ,r-igraph) + ("r-iranges" ,r-iranges) + ("r-matrix" ,r-matrix) + ("r-monocle" ,r-monocle) + ("r-plyr" ,r-plyr) + ("r-reshape2" ,r-reshape2) + ("r-s4vectors" ,r-s4vectors) + ("r-stringr" ,r-stringr) + ("r-tibble" ,r-tibble) + ("r-vgam" ,r-vgam))) + (home-page "https://bioconductor.org/packages/cicero/") + (synopsis "Predict cis-co-accessibility from single-cell data") + (description + "Cicero computes putative cis-regulatory maps from single-cell chromatin +accessibility data. It also extends the monocle package for use in chromatin +accessibility data.") + (license license:expat))) -- cgit v1.2.3 From 37120e7a2385cc6a4e5a3c955df810ed0e0b88aa Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:50:10 +0200 Subject: gnu: Add r-rhpcblasctl. * gnu/packages/cran.scm (r-rhpcblasctl): New variable. --- gnu/packages/cran.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ac9dfa2535..9eec520b8f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14729,3 +14729,24 @@ customize styles using a readable syntax.") using a lasso (L1) penalty. Facilities are provided for estimates along a path of values for the regularization parameter.") (license license:gpl2))) + +(define-public r-rhpcblasctl + (package + (name "r-rhpcblasctl") + (version "0.18-205") + (source + (origin + (method url-fetch) + (uri (cran-uri "RhpcBLASctl" version)) + (sha256 + (base32 + "1ls2286fvrp1g7p8v4l6axznychh3qndranfpzqz806cm9ml1cdp")))) + (properties `((upstream-name . "RhpcBLASctl"))) + (build-system r-build-system) + (home-page "http://prs.ism.ac.jp/~nakama/Rhpc/") + (synopsis "Control the number of threads on BLAS") + (description + "This package allows you to control the number of threads the BLAS +library uses. It is also possible to control the number of threads in +OpenMP.") + (license license:agpl3+))) -- cgit v1.2.3 From 3e63f078daf1fa78966cb9d050b870ca32cbb367 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:50:20 +0200 Subject: gnu: Add r-pbmcapply. * gnu/packages/cran.scm (r-pbmcapply): New variable. --- gnu/packages/cran.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 9eec520b8f..ab5c94d766 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14314,6 +14314,25 @@ Molecular Epidemiology\" (SCRIME). The main focus is on SNP data, but most of the functions can also be applied to other types of categorical data.") (license license:gpl2))) +(define-public r-pbmcapply + (package + (name "r-pbmcapply") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (cran-uri "pbmcapply" version)) + (sha256 + (base32 + "0i58gcqpnbyvc448qfgm45b7rpbmrnagsvk1h1hsqchbbicfslnz")))) + (build-system r-build-system) + (home-page "https://github.com/kvnkuang/pbmcapply") + (synopsis "Track the progress of apply procedures with a progress bar") + (description + "This light-weight package helps you track and visualize the progress of +parallel versions of vectorized R functions of the @code{mc*apply} family.") + (license license:expat))) + (define-public r-blme (package (name "r-blme") -- cgit v1.2.3 From 8f7d7cd05fb79a00221f91de8f612ed947a2c6df Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:50:35 +0200 Subject: gnu: Add r-speedglm. * gnu/packages/cran.scm (r-speedglm): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index ab5c94d766..8d3086a30b 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -9394,6 +9394,29 @@ only sparse real matrices in Matrix package format are supported.") ;; BSD-3. (license (list license:bsd-3 license:bsd-2)))) +(define-public r-speedglm + (package + (name "r-speedglm") + (version "0.3-2") + (source + (origin + (method url-fetch) + (uri (cran-uri "speedglm" version)) + (sha256 + (base32 + "1b25zimk0z7ad62yacqdg0zk0qs0jja4i918ym942xfw4j1z3jjz")))) + (build-system r-build-system) + (propagated-inputs + `(("r-mass" ,r-mass) + ("r-matrix" ,r-matrix))) + (home-page "https://cran.r-project.org/web/packages/speedglm") + (synopsis "Fit linear and generalized linear models to large data sets") + (description + "This package provides tools for fitting linear models and generalized +linear models to large data sets by updating algorithms.") + ;; Any version of the GPL + (license license:gpl2+))) + (define-public r-densityclust (package (name "r-densityclust") -- cgit v1.2.3 From c4a5ce4648f9b5b69849b9d6b1d63367f5ce7aa0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:50:42 +0200 Subject: gnu: Add r-rcppparallel. * gnu/packages/cran.scm (r-rcppparallel): New variable. --- gnu/packages/cran.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 8d3086a30b..2980020c6f 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -8790,6 +8790,29 @@ package provides a minimal R interface by relying on the Rcpp package.") ;; hnswlib is released under Version 2.0 of the Apache License. (license (list license:gpl3 license:asl2.0)))) +(define-public r-rcppparallel + (package + (name "r-rcppparallel") + (version "4.4.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "RcppParallel" version)) + (sha256 + (base32 + "1ym0bzs9g6bsg2lz24fisxxa3gypr6xcvrczn304czmrrag9413s")))) + (properties `((upstream-name . "RcppParallel"))) + (build-system r-build-system) + (home-page "http://rcppcore.github.io/RcppParallel") + (synopsis "Parallel programming tools for Rcpp") + (description + "This package provides high level functions for parallel programming with +Rcpp. For example, the @code{parallelFor()} function can be used to convert +the work of a standard serial @code{for} loop into a parallel one and the +@code{parallelReduce()} function can be used for accumulating aggregates or +other values.") + (license license:gpl2))) + (define-public r-ncdf4 (package (name "r-ncdf4") -- cgit v1.2.3 From 0b2883e1f61a5e29068c1eaa6d74dd1eb1f26049 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:51:34 +0200 Subject: gnu: Add r-grr. * gnu/packages/cran.scm (r-grr): New variable. --- gnu/packages/cran.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 2980020c6f..0f77cde5ae 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -118,6 +118,26 @@ experiment that allows a generic to warn if any arguments passed in @code{...} are not used.") (license license:gpl3))) +(define-public r-grr + (package + (name "r-grr") + (version "0.9.5") + (source + (origin + (method url-fetch) + (uri (cran-uri "grr" version)) + (sha256 + (base32 + "0arbcgrvhkwb5xk4nry1ffg2qj0v8ivhjghdr505ib4357g0c9i9")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/grr") + (synopsis "Alternative implementations of base R functions") + (description + "This package provides alternative implementations of some base R +functions, including @code{sort}, @code{order}, and @code{match}. The +functions are simplified but can be faster or have other advantages.") + (license license:gpl3))) + (define-public r-sys (package (name "r-sys") -- cgit v1.2.3 From cf51d895f3b13a501e0f1b592fac79a7bb16e49f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:51:42 +0200 Subject: gnu: Add r-matrix-utils. * gnu/packages/cran.scm (r-matrix-utils): New variable. --- gnu/packages/cran.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 0f77cde5ae..787aa01bc0 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -138,6 +138,31 @@ functions, including @code{sort}, @code{order}, and @code{match}. The functions are simplified but can be faster or have other advantages.") (license license:gpl3))) +(define-public r-matrix-utils + (package + (name "r-matrix-utils") + (version "0.9.7") + (source + (origin + (method url-fetch) + (uri (cran-uri "Matrix.utils" version)) + (sha256 + (base32 + "1x64r4aj3gy1dzjjysyrk1j9jq3qsnyrqws8i6bs7q8pf6gvr7va")))) + (properties `((upstream-name . "Matrix.utils"))) + (build-system r-build-system) + (propagated-inputs + `(("r-grr" ,r-grr) + ("r-matrix" ,r-matrix))) + (home-page "https://github.com/cvarrichio/Matrix.utils") + (synopsis + "Data.frame-Like Operations on Sparse and Dense Matrix Objects") + (description + "This package implements data manipulation methods such as @code{cast}, +@code{aggregate}, and @code{merge}/@code{join} for Matrix and Matrix-like +objects.") + (license license:gpl3))) + (define-public r-sys (package (name "r-sys") -- cgit v1.2.3 From 86c46d712012a55e409770330146117ce05d86c1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:52:07 +0200 Subject: gnu: Add r-uwot. * gnu/packages/cran.scm (r-uwot): New variable. --- gnu/packages/cran.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 787aa01bc0..3bd0d664da 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -14780,6 +14780,38 @@ dimension reduction. This package provides an interface to the UMAP algorithm in R, including a translation of the original algorithm into R.") (license license:expat))) +(define-public r-uwot + (package + (name "r-uwot") + (version "0.1.3") + (source + (origin + (method url-fetch) + (uri (cran-uri "uwot" version)) + (sha256 + (base32 + "1mq6qi8q9xslh1b99srj480s2a08pfv4bs9m2ykyijj44j9fcdj9")))) + (build-system r-build-system) + (propagated-inputs + `(("r-dqrng" ,r-dqrng) + ("r-fnn" ,r-fnn) + ("r-irlba" ,r-irlba) + ("r-matrix" ,r-matrix) + ("r-rcpp" ,r-rcpp) + ("r-rcppannoy" ,r-rcppannoy) + ("r-rcppparallel" ,r-rcppparallel) + ("r-rcppprogress" ,r-rcppprogress) + ("r-rspectra" ,r-rspectra))) + (home-page "https://github.com/jlmelville/uwot") + (synopsis "Uniform manifold approximation and projection") + (description + "This package provides an implementation of the Uniform Manifold +Approximation and Projection dimensionality reduction by McInnes et +al. (2018). It also provides means to transform new data and to carry out +supervised dimensionality reduction. An implementation of the related +LargeVis method of Tang et al. (2016) is also provided.") + (license license:gpl3))) + (define-public r-kableextra (package (name "r-kableextra") -- cgit v1.2.3 From b2dce6b5a2eecb9e20e5ee03779c020b2644666b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 30 Jul 2019 15:52:48 +0200 Subject: gnu: Add r-monocle3. * gnu/packages/bioconductor.scm (r-monocle3): New variable. --- gnu/packages/bioconductor.scm | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 98a2da21c9..1adf47b08f 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -22,6 +22,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system r) #:use-module (gnu packages) #:use-module (gnu packages base) @@ -2263,6 +2264,68 @@ tasks on single cell expression data. It is designed to work with RNA-Seq and qPCR data, but could be used with other types as well.") (license license:artistic2.0))) +(define-public r-monocle3 + (package + (name "r-monocle3") + (version "0.1.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cole-trapnell-lab/monocle3.git") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cjxqfw3qvy269hsf5v80d4kshl932wrl949iayas02saj6f70ls")))) + (build-system r-build-system) + (propagated-inputs + `(("r-biobase" ,r-biobase) + ("r-biocgenerics" ,r-biocgenerics) + ("r-delayedmatrixstats" ,r-delayedmatrixstats) + ("r-dplyr" ,r-dplyr) + ("r-ggplot2" ,r-ggplot2) + ("r-ggrepel" ,r-ggrepel) + ("r-grr" ,r-grr) + ("r-htmlwidgets" ,r-htmlwidgets) + ("r-igraph" ,r-igraph) + ("r-irlba" ,r-irlba) + ("r-limma" ,r-limma) + ("r-lmtest" ,r-lmtest) + ("r-mass" ,r-mass) + ("r-matrix" ,r-matrix) + ("r-matrix-utils" ,r-matrix-utils) + ("r-pbapply" ,r-pbapply) + ("r-pbmcapply" ,r-pbmcapply) + ("r-pheatmap" ,r-pheatmap) + ("r-plotly" ,r-plotly) + ("r-pryr" ,r-pryr) + ("r-proxy" ,r-proxy) + ("r-pscl" ,r-pscl) + ("r-purrr" ,r-purrr) + ("r-rann" ,r-rann) + ("r-rcpp" ,r-rcpp) + ("r-rcppparallel" ,r-rcppparallel) + ("r-reshape2" ,r-reshape2) + ("r-reticulate" ,r-reticulate) + ("r-rhpcblasctl" ,r-rhpcblasctl) + ("r-rtsne" ,r-rtsne) + ("r-shiny" ,r-shiny) + ("r-slam" ,r-slam) + ("r-spdep" ,r-spdep) + ("r-speedglm" ,r-speedglm) + ("r-stringr" ,r-stringr) + ("r-singlecellexperiment" ,r-singlecellexperiment) + ("r-tibble" ,r-tibble) + ("r-tidyr" ,r-tidyr) + ("r-uwot" ,r-uwot) + ("r-viridis" ,r-viridis))) + (home-page "https://github.com/cole-trapnell-lab/monocle3") + (synopsis "Analysis toolkit for single-cell RNA-Seq data") + (description + "Monocle 3 is an analysis toolkit for single-cell RNA-Seq experiments.") + (license license:expat))) + (define-public r-noiseq (package (name "r-noiseq") -- cgit v1.2.3 From c55cd98c9cf1dae4e29ce7609a887f8bd74d1c60 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 13 Jun 2019 00:13:27 +0200 Subject: gnu: Add scintilla. * gnu/packages/text-editors.scm (scintilla): New variable. --- gnu/packages/text-editors.scm | 62 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index b35486ba59..1d9cd09f43 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -437,3 +437,65 @@ types of content. It has robust support for mathematical formulas and plots. and Octave. TeXmacs is completely extensible via Guile.") (license license:gpl3+) (home-page "https://www.texmacs.org/tmweb/home/welcome.en.html"))) + +(define-public scintilla + (package + (name "scintilla") + (version "4.2.0") + (source (origin + (method url-fetch) + (uri (let ((v (apply string-append (string-split version #\.)))) + (string-append + "https://www.scintilla.org/scintilla" v ".tgz"))) + (sha256 + (base32 + "02ymi86fpcypg6423vfr54lbkxbks046q02v3m3dypawcf3bqy42")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk") + #:tests? #f ;require un-packaged Pyside + #:phases + (modify-phases %standard-phases + (delete 'configure) ;no configure script + (add-after 'unpack 'build-shared-library + (lambda _ + (substitute* "gtk/makefile" + (("scintilla\\.a") "libscintilla.so") + (("\\$\\(AR\\) \\$\\(ARFLAGS\\) \\$@ \\$\\^") + "$(CC) -shared $^ -o $@") + (("\\$\\(RANLIB\\) \\$@") "")) + #t)) + (add-before 'build 'expand-C++-include-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Make /include/c++/ext/string_conversions.h find + ;; . + (let* ((path "CPLUS_INCLUDE_PATH") + (gcc (assoc-ref inputs "gcc")) + (c++ (string-append gcc "/include/c++"))) + (setenv path (string-append c++ ":" (getenv path)))) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (include (string-append out "/include"))) + (install-file "bin/libscintilla.so" lib) + (for-each (lambda (f) (install-file f include)) + (find-files "include/" ".")) + #t)))))) + (native-inputs + `(("gcc" ,gcc-7) ;require GCC 7.1+ + ("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+))) + (home-page "https://www.scintilla.org/") + (synopsis "Code editor for GTK+") + (description "Scintilla is a source code editing component for +GTK+. It has the usual features found in text editing components, as +well as some that are especially useful for editing and debugging +source code; these include support for syntax styling, error +indicators, code completion and call tips. Styling choices are more +open than with many editors: Scintilla lets you use proportional +fonts, bold and italics, multiple foreground and background colours, +and multiple fonts.") + (license license:hpnd))) -- cgit v1.2.3 From 2363ed01ec80f0550a6ccd1c74fc3348d9bde54d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Sat, 1 Jun 2019 23:37:24 +0200 Subject: gnu: Add geany. * gnu/packages/text-editors.scm (geany): New variable. --- gnu/packages/text-editors.scm | 69 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 1d9cd09f43..7d5f6797dc 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2019 Efraim Flashner ;;; Copyright © 2019 Andreas Enge +;;; Copyright © 2019 Nicolas Goaziou ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages assembly) + #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages documentation) #:use-module (gnu packages fontutils) @@ -50,6 +52,7 @@ #: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 qt) #:use-module (gnu packages regex) #:use-module (gnu packages ruby) @@ -499,3 +502,69 @@ open than with many editors: Scintilla lets you use proportional fonts, bold and italics, multiple foreground and background colours, and multiple fonts.") (license license:hpnd))) + +(define-public geany + (package + (name "geany") + (version "1.35") + (source (origin + (method url-fetch) + (uri (string-append "https://download.geany.org/" + "geany-" version ".tar.bz2")) + (sha256 + (base32 + "179xfnvhcxsv54v2mlrhykqv2j7klniln5sffvqqpjmdvwyivvim")) + (modules '((guix build utils))) + (snippet '(begin + (delete-file-recursively "scintilla") + #t)))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("doxygen" ,doxygen) + ("glib" ,glib "bin") + ("intltool" ,intltool) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config) + ("python-docutils" ,python-docutils))) ;for rst2html + (inputs + `(("gtk+" ,gtk+) + ("scintilla" ,scintilla))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-scintilla-shared-library + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "configure.ac" + (("scintilla/Makefile") "") + (("scintilla/include/Makefile") "")) + (substitute* "Makefile.am" + (("scintilla ") "")) + (substitute* "src/Makefile.am" + (("\\$\\(top_builddir\\)/scintilla/libscintilla.la") "") + (("geany_LDFLAGS =" all) (string-append all " -lscintilla"))) + (substitute* "doc/Makefile.am" + (("\\$\\(INSTALL_DATA\\) \\$\\(top_srcdir\\)/scintilla/License.txt \\$\\(DOCDIR\\)/ScintillaLicense.txt") "")) + (for-each delete-file (list "autogen.sh" "configure" "Makefile.in")) + #t))))) + (home-page "https://www.geany.org") + (synopsis "Fast and lightweight IDE") + (description "Geany is a small and fast Integrated Development +Environment (IDE) that only has a few dependencies on other packages and is as +independent as possible from special desktop environments like KDE or GNOME. + +The basic features of Geany are: +@itemize +@item syntax highlighting +@item code completion +@item auto completion of often constructed constructs like if, for and while +@item auto completion of XML and HTML tags +@item call tips +@item folding +@item many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal +@item symbol lists +@item embedded terminal emulation +@item extensibility through plugins +@end itemize") + (license license:gpl2+))) -- cgit v1.2.3 From 5473261b21304a2a56c1752a29e757ce07592a6d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 30 Jul 2019 22:28:03 +0200 Subject: gnu: grammalecte: Update to 1.2.1. * gnu/packages/dictionaries.scm (grammalecte): Update to 1.2.1. --- gnu/packages/dictionaries.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index d3a3f8d832..228a8b6472 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -218,7 +218,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") (define-public grammalecte (package (name "grammalecte") - (version "1.2") + (version "1.2.1") (source (origin (method url-fetch/zipbomb) @@ -226,7 +226,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.") "Grammalecte-fr-v" version ".zip")) (sha256 (base32 - "0dwizai6w9yn617y7cnqdiwv77vn22p18s9sypypbl1bl695cnma")))) + "1j2avdk8hcgcv0lahp029qzpdb2rnys38hc64jy30awzx64fa6i4")))) (build-system python-build-system) (home-page "https://grammalecte.net") (synopsis "French spelling and grammar checker") -- cgit v1.2.3 From f9622ec7131d2ad9b7bfb23a40d44cc73e819892 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 30 Jul 2019 22:39:33 +0200 Subject: gnu: flare-engine: Update to 1.11. * gnu/packages/games.scm (flare-engine): Update to 1.11. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a17ac9728c..396a33cd17 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6756,7 +6756,7 @@ fight each other on an arena-like map.") (define-public flare-engine (package (name "flare-engine") - (version "1.10") + (version "1.11") (source (origin (method git-fetch) (uri (git-reference @@ -6765,7 +6765,7 @@ fight each other on an arena-like map.") (file-name (git-file-name name version)) (sha256 (base32 - "19l83145ya1wk666acr91b6917a63ak7l77d10i5im8xfhv29ml4")))) + "1mqr1s72p5bdh4kq2a8hg72dk8lwnddicjnd2cdp1sbfa9lmjym8")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no test -- cgit v1.2.3 From ffbaefc71ab36709d898488b0a2064727a1d9b78 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 30 Jul 2019 22:47:44 +0200 Subject: gnu: flare-game: Update to 1.11. * gnu/packages/games.scm (flare-game): Update to 1.11. --- gnu/packages/games.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 396a33cd17..07ed02ba18 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -6784,7 +6784,7 @@ action RPGs.") (define-public flare-game (package (name "flare-game") - (version "1.10") + (version "1.11") (source (origin (method git-fetch) (uri (git-reference @@ -6793,7 +6793,7 @@ action RPGs.") (file-name (git-file-name name version)) (sha256 (base32 - "0dx4f1j1n3p4q3h0r0fb89f0llvhg9lia0s247pacff3r88ljihk")))) + "0bd5g7sd89a9176ilr408hdqzdfv4j7wj0idd685c1n6s01c3h6p")))) (build-system cmake-build-system) (arguments `(#:tests? #f ;no test -- cgit v1.2.3 From 274ba54e535b811acca02e42cffd45f0f625d142 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 30 Jul 2019 18:30:32 -0400 Subject: gnu: Blender: Update to 2.80. * gnu/packages/graphics.scm (blender): Update to 2.80. --- gnu/packages/graphics.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 94a797c8f5..f5c57464f5 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -80,16 +80,14 @@ (define-public blender (package (name "blender") - (version "v2.80-rc1") + (version "2.80") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://git.blender.org/blender.git") - (commit version))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (string-append "https://download.blender.org/source/" + "blender-" version ".tar.gz")) (sha256 (base32 - "11dcf0rjq42mpphk8r8cy7gvhzzl1cj1vslp98ibh8sdjzaz2mdq")))) + "1h550jisdbis50hxwk5kxrvrk1a6sh2fsri3yyj66vhzbi87x7fd")))) (build-system cmake-build-system) (arguments (let ((python-version (version-major+minor (package-version python)))) -- cgit v1.2.3 From 33abd52719b8474365e448d8d6992bbfaca81012 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 19:22:25 -0500 Subject: gnu: hubbub: Update to 0.3.6. * gnu/packages/web.scm (hubbub)[source]: Update to 0.3.6. Remove use of "name" in source url. --- gnu/packages/web.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 958bc1aa40..b49dd73ee1 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus ;;; Copyright © 2018 Raoul Jean Pierre Bonnal ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer -;;; Copyright © 2015, 2016, 2017, 2018 Eric Bavier +;;; Copyright © 2015, 2016, 2017, 2018, 2019 Eric Bavier ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Sou Bunnbu ;;; Copyright © 2016 Jelle Licht @@ -4239,15 +4239,15 @@ C. It is developed as part of the NetSurf project.") (define-public hubbub (package (name "hubbub") - (version "0.3.5") + (version "0.3.6") (source (origin (method url-fetch) (uri (string-append "http://download.netsurf-browser.org/libs/releases/" - "lib" name "-" version "-src.tar.gz")) + "libhubbub-" version "-src.tar.gz")) (sha256 (base32 - "13yq1k96a7972x4r71i9bcsz9yiglj0yx7lj0ziq5r94w5my70ma")) + "1x3v7xvagx85v9h3pypzc86rcxs4mij87mmcqkp8pq50q6awfmnp")) (patches (search-patches "hubbub-sort-entities.patch")))) (build-system gnu-build-system) (native-inputs -- cgit v1.2.3 From c033093b8d567df9bd4c87a2ea8acb101224c5c0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 19:24:49 -0500 Subject: gnu: libwapcaplet: Update to 0.4.2. * gnu/packages/web.scm (libwapcaplet)[source]: Update to 0.4.2. Remove use of "name" in source url. --- 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 b49dd73ee1..eda4225dd4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4345,15 +4345,15 @@ commenting.") (define-public libwapcaplet (package (name "libwapcaplet") - (version "0.4.1") + (version "0.4.2") (source (origin (method url-fetch) (uri (string-append "http://download.netsurf-browser.org/libs/releases/" - name "-" version "-src.tar.gz")) + "libwapcaplet-" version "-src.tar.gz")) (sha256 (base32 - "134pljlm8kby1yy49826f0ixnpig8iqak6xpyl3aivagnsjnxzy8")))) + "1fjwzbn7j8bi1b9bvwxsy3i2cr6byq2s2d29866801pjnf528g86")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) -- cgit v1.2.3 From 816edf338097cfeae07a4c17f2ce55247d410c02 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 19:25:23 -0500 Subject: gnu: libcss: Update to 0.9.0. * gnu/packages/web.scm (libcss)[source]: Update to 0.9.0. Remove use of "name" in source url. --- 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 eda4225dd4..63c742844e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4371,15 +4371,15 @@ developed as part of the Netsurf project.") (define-public libcss (package (name "libcss") - (version "0.8.0") + (version "0.9.0") (source (origin (method url-fetch) (uri (string-append "http://download.netsurf-browser.org/libs/releases/" - name "-" version "-src.tar.gz")) + "libcss-" version "-src.tar.gz")) (sha256 (base32 - "0pxdqbxn6brj03nv57bsvac5n70k4scn3r5msaw0jgn2k06lk81m")))) + "1vw9j3d2mr4wbvs8fyqmgslkbxknvac10456775hflxxcivbm3xr")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) -- cgit v1.2.3 From 2dd9b64307ab79d907f983bbed86880db1f7d702 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 19:25:57 -0500 Subject: gnu: libdom: Update to 0.4.0. * gnu/packages/web.scm (libdom)[source]: Update to 0.4.0. Remove use of "name" in source url. --- 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 63c742844e..d5e40b6acf 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4399,15 +4399,15 @@ written in C. It is developed as part of the NetSurf project.") (define-public libdom (package (name "libdom") - (version "0.3.3") + (version "0.4.0") (source (origin (method url-fetch) (uri (string-append "http://download.netsurf-browser.org/libs/releases/" - name "-" version "-src.tar.gz")) + "libdom-" version "-src.tar.gz")) (sha256 (base32 - "1919757mdl3gii2pl6kzm8b1cal0h06r5nqd2y0kny6hc5yrhsp0")))) + "1ixkqsl3f7dl1kajksm0c231w1v5xy8z6hm3v67hgm9nh4qcvfcy")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) -- cgit v1.2.3 From 0a7473f16bebd429abb915c1e9d3665e1fa98b77 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 19:26:33 -0500 Subject: gnu: libnspsl: Update to 0.1.5. * gnu/packages/web.scm (libnspsl)[source]: Update to 0.1.5. Remove use of "name" in url. --- 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 d5e40b6acf..491fe83a6e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4535,15 +4535,15 @@ developed as part of the NetSurf project.") (define-public libnspsl (package (name "libnspsl") - (version "0.1.3") + (version "0.1.5") (source (origin (method url-fetch) (uri (string-append "http://download.netsurf-browser.org/libs/releases/" - name "-" version "-src.tar.gz")) + "libnspsl-" version "-src.tar.gz")) (sha256 (base32 - "1rsk1k2a495axxgv8060s0p1phhhcxrv75252kllbkvr8id5kqld")))) + "0siq8zjfxv75i9fw6q5hkaijpdm1w3zskd5qk6vsvz8cqan4vifd")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem))) -- cgit v1.2.3 From 595d4ab163163a6671521251b02a2fbd2e2f81c8 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 19:27:08 -0500 Subject: gnu: nsgenbind: Update to 0.7. * gnu/packages/web.scm (nsgenbind)[source]: Update to 0.7. Remove use of "name" in source url. --- 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 491fe83a6e..17b611a56d 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4558,15 +4558,15 @@ Public Suffix List. It is developed as part of the NetSurf project.") (define-public nsgenbind (package (name "nsgenbind") - (version "0.6") + (version "0.7") (source (origin (method url-fetch) (uri (string-append "http://download.netsurf-browser.org/libs/releases/" - name "-" version "-src.tar.gz")) + "nsgenbind-" version "-src.tar.gz")) (sha256 (base32 - "0v1cb1rz5fix9ql31nzmglj7sybya6d12b2fkaypm1avcca59xwj")))) + "0rplmky4afsjwiwh7grkmcdmzg86zksa55j93dvq92f91yljwqqq")))) (build-system gnu-build-system) (native-inputs `(("netsurf-buildsystem" ,netsurf-buildsystem) -- cgit v1.2.3 From 33d13088d0d0d558a3c002718f8d1962fb160e9c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 19:27:47 -0500 Subject: gnu: netsurf: Update to 3.9. * gnu/packages/web.scm (netsurf)[source]: Update to 3.9. [native-inputs]: Add "xxd" input. --- gnu/packages/web.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 17b611a56d..05bf2c10b8 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -127,6 +127,7 @@ #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) #:use-module (gnu packages version-control) + #:use-module (gnu packages vim) #:use-module (gnu packages xml)) (define-public httpd @@ -4586,7 +4587,7 @@ w3c webidl files and a binding configuration file.") (define-public netsurf (package (name "netsurf") - (version "3.8") + (version "3.9") (source (origin (method url-fetch) @@ -4594,7 +4595,7 @@ w3c webidl files and a binding configuration file.") "releases/source/netsurf-" version "-src.tar.gz")) (sha256 (base32 - "0hjm1h4m1i913y4mhkl7yqdifn8k70fwi58zdh6faypawzryc3m0")) + "1hzcm2s2wh5sapgr000lg63hcdbj6hyajxl43xa1x80kc5piqbyp")) (patches (search-patches "netsurf-system-utf8proc.patch" "netsurf-y2038-tests.patch" "netsurf-longer-test-timeout.patch" @@ -4607,7 +4608,8 @@ w3c webidl files and a binding configuration file.") ("check" ,check) ("perl" ,perl) ("perl-html-parser" ,perl-html-parser) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("xxd" ,xxd))) (inputs `(("curl" ,curl) ("gtk+" ,gtk+-2) -- cgit v1.2.3 From 2c618972c07cd3145c8640af6333166347ea0fba Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 22:36:44 -0500 Subject: gnu: Add libnslog. * gnu/packages/web.scm (libnslog): New variable. --- gnu/packages/web.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 05bf2c10b8..8b4521b37e 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4510,6 +4510,34 @@ written in C. It is developed as part of the NetSurf project.") C. It is developed as part of the NetSurf project.") (license license:expat))) +(define-public libnslog + (package + (name "libnslog") + (version "0.1.2") + (source + (origin + (method url-fetch) + (uri (string-append "http://download.netsurf-browser.org/libs/releases/" + "libnslog-" version "-src.tar.gz")) + (sha256 + (base32 + "1ggs6xvxp8fbg5w8pifalipm458ygr9ab6j2yvj8fnnmxwvdh4jd")))) + (build-system gnu-build-system) + (native-inputs + `(("netsurf-buildsystem" ,netsurf-buildsystem) + ("pkg-config" ,pkg-config) + ("check" ,check) ;for tests + ("bison" ,bison) + ("flex" ,flex))) + (arguments netsurf-buildsystem-arguments) + (home-page "http://www.netsurf-browser.org/") + (synopsis "Logging library") + (description + "Libnslog provides a category-based logging library which supports +complex logging filters, multiple log levels, and provides context through to +client applications. It is developed as part of the NetSurf project.") + (license license:expat))) + (define-public libnsutils (package (name "libnsutils") -- cgit v1.2.3 From 9e43348e75d1be79f03d75cea74afe2db5f5e77d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 30 Jul 2019 22:37:27 -0500 Subject: gnu: netsurf: Add libnslog input. * gnu/packages/web.scm (netsurf)[inputs]: Add libnslog. --- gnu/packages/web.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 8b4521b37e..f2d1f316d4 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -4649,6 +4649,7 @@ w3c webidl files and a binding configuration file.") ("libdom" ,libdom) ("libnsbmp" ,libnsbmp) ("libnsgif" ,libnsgif) + ("libnslog" ,libnslog) ("libnspsl" ,libnspsl) ("libnsutils" ,libnsutils) ("libsvgtiny" ,libsvgtiny) -- cgit v1.2.3 From 9898a2d3451c1690df4924c39de9d4029b543934 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 31 Jul 2019 05:18:44 +0200 Subject: gnu: python-glances: Update to 3.1.1. * gnu/packages/python-xyz.scm (python-glances): Update to 3.1.1. [propagated-inputs]: Add python-future. --- gnu/packages/python-xyz.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 362ab7f031..49e125afd6 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10945,17 +10945,18 @@ command @command{natsort} that exposes this functionality in the command line.") (define-public python-glances (package (name "python-glances") - (version "3.0.2") + (version "3.1.1") (source (origin (method url-fetch) (uri (pypi-uri "Glances" version)) (sha256 (base32 - "09fxysfp1n16csqvzvawy74qm6a94nvwjf3vcf5gkqp4i6k4vjjy")))) + "07j1ggzsqiskyz1i4mrnyr9i95v0dqi0i0hibnv1l188km8shmi8")))) (build-system python-build-system) (propagated-inputs - `(("python-psutil" ,python-psutil))) + `(("python-future" ,python-future) + ("python-psutil" ,python-psutil))) (home-page "https://github.com/nicolargo/glances") (synopsis -- cgit v1.2.3 From 15b4c91163a54bfab1599999165313c3a7d13f84 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 31 Jul 2019 05:39:16 +0200 Subject: gnu: python-glances: Don't check for updates by default. * gnu/packages/python-xyz.scm (python-glances)[source]: Add snippet. --- gnu/packages/python-xyz.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 49e125afd6..98248e2a61 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10952,7 +10952,18 @@ command @command{natsort} that exposes this functionality in the command line.") (uri (pypi-uri "Glances" version)) (sha256 (base32 - "07j1ggzsqiskyz1i4mrnyr9i95v0dqi0i0hibnv1l188km8shmi8")))) + "07j1ggzsqiskyz1i4mrnyr9i95v0dqi0i0hibnv1l188km8shmi8")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Glances phones PyPI for weekly update checks by default. + ;; Disable these. The user can re-enable them if desired. + (substitute* "glances/outdated.py" + (("^(.*)self\\.load_config\\(config\\)\n" line indentation) + (string-append indentation + "self.args.disable_check_update = True\n" + line))) + #t)))) (build-system python-build-system) (propagated-inputs `(("python-future" ,python-future) -- cgit v1.2.3 From bab94ffa0e27e39c02d5ce3add5605b676b76bee Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Wed, 31 Jul 2019 05:43:42 +0200 Subject: gnu: python-glances: Please ‘guix lint’. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-xyz.scm (python-glances)[synopsis]: Remove article. [description]: Double-space between sentences. --- 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 98248e2a61..6410a13df7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -10970,12 +10970,11 @@ command @command{natsort} that exposes this functionality in the command line.") ("python-psutil" ,python-psutil))) (home-page "https://github.com/nicolargo/glances") - (synopsis - "A cross-platform curses-based monitoring tool") + (synopsis "Cross-platform curses-based monitoring tool") (description "Glances is a curses-based monitoring tool for a wide variety of platforms. -Glances uses the PsUtil library to get information from your system. It monitors -CPU, load, memory, network bandwidth, disk I/O, disk use, and more.") +Glances uses the PsUtil library to get information from your system. It +monitors CPU, load, memory, network bandwidth, disk I/O, disk use, and more.") (license license:lgpl3+))) (define-public python2-glances -- cgit v1.2.3 From e4ce0097c7be9651777e83269ac3525fdcbf1a1f Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Wed, 31 Jul 2019 10:27:45 +0200 Subject: gnu: Add sbcl-mk-string-metrics. * gnu/packages/lisp.scm (sbcl-mk-string-metrics): New variable. --- gnu/packages/lisp.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 884d00d935..e7d0d5a44f 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6567,3 +6567,34 @@ This system contains the CFFI foreign slot access extension."))) (description "Trivia is a pattern matching compiler that is compatible with Optima, another pattern matching library for Common Lisp. It is meant to be faster and more extensible than Optima."))) + +(define-public sbcl-mk-string-metrics + (package + (name "sbcl-mk-string-metrics") + (version "0.1.2") + (home-page "https://github.com/cbaggers/mk-string-metrics/") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit version))) + (sha256 + (base32 "0bg0bv2mfd4k0g3x72x563hvmrx18xavaffr6xk5rh4if5j7kcf6")) + (file-name (git-file-name name version)))) + (build-system asdf-build-system/sbcl) + (synopsis "Calculate various string metrics efficiently in Common Lisp") + (description "This library implements efficient algorithms that calculate +various string metrics in Common Lisp: + +@itemize +@item Damerau-Levenshtein distance +@item Hamming distance +@item Jaccard similarity coefficient +@item Jaro distance +@item Jaro-Winkler distance +@item Levenshtein distance +@item Normalized Damerau-Levenshtein distance +@item Normalized Levenshtein distance +@item Overlap coefficient +@end itemize\n") + (license license:x11))) -- cgit v1.2.3 From becb69cfe63793236329b5cff36a7cb5c05b0d70 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Wed, 31 Jul 2019 12:45:52 +0300 Subject: gnu: Add emacs-org-redmine. * gnu/packages/emacs-xyz.scm (emacs-org-redmine): 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 314f4867b3..6f4bf178e9 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16684,6 +16684,26 @@ Org-mode (the notes may have outlines, latex fragments, babel, etc...) while acting like notes that are made @emph{in} the document.") (license license:gpl3+))) +(define-public emacs-org-redmine + (let ((commit "e77d013bc3784947c46a5c53f03cd7d3c68552fc")) + (package + (name "emacs-org-redmine") + (version (git-version "0.1" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/gongo/org-redmine.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "06miv3mf2a39vkf6mmm5ssc47inqh7dq82khsyc03anz4d4lj822")))) + (build-system emacs-build-system) + (home-page "https://github.com/gongo/org-redmine/") + (synopsis "Redmine tools using Emacs") + (description "This program provides an Emacs client for Redmine.") + (license license:gpl3+)))) + (define-public emacs-multi-term (let ((commit "0804b11e52b960c80f5cd0712ee1e53ae70d83a4")) (package -- cgit v1.2.3 From 716908411b4d393ec82d5b7e40c9817e81c8fa95 Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Wed, 31 Jul 2019 12:52:40 +0300 Subject: gnu: emacs-org-ql: Update to 0.1. * gnu/packages/emacs-xyz.scm (emacs-org-ql): Update to 0.1. --- gnu/packages/emacs-xyz.scm | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6f4bf178e9..600d810bea 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10482,30 +10482,27 @@ 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 + (package + (name "emacs-org-ql") + (version "0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-ql") + (commit version))) + (sha256 + (base32 + "1nvzirn1lmgmgl7irbsc1n391a2cw8gmvwm3pa228l2c1gcx8kd8")) + (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+)))) + (license license:gpl3+))) (define-public emacs-parsebib (package -- cgit v1.2.3 From 3d88855dfdcc4c8ce11f494fdf9f0ac1d8eef530 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Wed, 31 Jul 2019 14:06:00 +0200 Subject: gnu: claws-mail: Add startup-notification. * gnu/packages/mail.scm (claws-mail)[inputs]: Add startup-notification. --- gnu/packages/mail.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index a2c51fd596..40fe7d9450 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -117,6 +117,7 @@ #:use-module (gnu packages w3m) #:use-module (gnu packages web) #:use-module (gnu packages webkit) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module ((guix licenses) @@ -1120,7 +1121,8 @@ compresses it.") ("libxml2" ,libxml2) ("perl" ,perl) ("python-2" ,python-2) - ("mime-info" ,shared-mime-info))) + ("mime-info" ,shared-mime-info) + ("startup-notification" ,startup-notification))) (arguments '(#:configure-flags '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant" -- cgit v1.2.3 From 14bb1c4842eafdba9e646573101cb2335490ee01 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 31 Jul 2019 18:58:29 +0200 Subject: gnu: Add r-cicero-monocle3. * gnu/packages/bioconductor.scm (r-cicero-monocle3): New variable. --- gnu/packages/bioconductor.scm | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bioconductor.scm b/gnu/packages/bioconductor.scm index 1adf47b08f..74af02a47d 100644 --- a/gnu/packages/bioconductor.scm +++ b/gnu/packages/bioconductor.scm @@ -38,7 +38,8 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages statistics) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (srfi srfi-1)) ;;; Annotations @@ -5128,3 +5129,25 @@ data, to only emphasize the data that actually matters.") accessibility data. It also extends the monocle package for use in chromatin accessibility data.") (license license:expat))) + +;; This is the latest commit on the "monocle3" branch. +(define-public r-cicero-monocle3 + (let ((commit "fa2fb6515857a8cfc88bc9af044f34de1bcd2b7b") + (revision "1")) + (package (inherit r-cicero) + (name "r-cicero-monocle3") + (version (git-version "1.3.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cole-trapnell-lab/cicero-release.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "077yza93wdhi08n40md20jwk55k9lw1f3y0063qkk90cpz60wi0c")))) + (propagated-inputs + `(("r-monocle3" ,r-monocle3) + ,@(alist-delete "r-monocle" + (package-propagated-inputs r-cicero))))))) -- cgit v1.2.3 From af825b11f7b7f0367019331c2654547795105191 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Wed, 31 Jul 2019 19:37:32 +0200 Subject: gnu: Remove python2-trezor and python2-trezor-agent. Some of the automatic python3->python2 transformation packages that these depend upon are failing. Just remove these trivial packages to please the CI. * gnu/packages/finance.scm (python2-trezor-agent, python2-trezor): Remove variables. --- gnu/packages/finance.scm | 6 ------ 1 file changed, 6 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 977ac9c19c..9b23013606 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -712,9 +712,6 @@ the Monero GUI client.") Ledger Nano as a hardware SSH/GPG agent.") (license license:lgpl3))) -(define-public python2-trezor-agent - (package-with-python2 python-trezor-agent)) - (define-public python-mnemonic (package (name "python-mnemonic") @@ -810,9 +807,6 @@ Ledger Blue/Nano S.") TREZOR Hardware Wallet.") (license license:lgpl3))) -(define-public python2-trezor - (package-with-python2 python-trezor)) - (define-public python-keepkey (package (name "python-keepkey") -- cgit v1.2.3 From fd9832e624c65287552152b2e0b52a001dc9a1d2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 31 Jul 2019 15:02:22 -0400 Subject: gnu: linux-libre@4.14: Update to 4.14.135. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.135. (linux-libre-4.14-pristine-source)[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 354337909d..a4c8cdd159 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -366,10 +366,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.134") +(define-public linux-libre-4.14-version "4.14.135") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0b9xj1rwr5fpw2giirfghzxxc0wp1hwf4nqvalx314pxxysyf88b"))) + (hash (base32 "0x2v0pj4hjb71qkxbqn4ymg6zmyabp91kylyzd270nbig7i234a2"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -- cgit v1.2.3 From ead739ec64cada4155ce4ae6e0262d4b420cdc8a Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 31 Jul 2019 15:03:47 -0400 Subject: gnu: linux-libre@4.19: Update to 4.19.63. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.63. (linux-libre-4.19-pristine-source)[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 a4c8cdd159..f097d26663 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -358,10 +358,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.62") +(define-public linux-libre-4.19-version "4.19.63") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "1p6s1ksrsq3za7644j0qf9brf6brwq39jxpfln5ypmyfi5qn9gh7"))) + (hash (base32 "0pfjwpa6szvdr941y13806hlsgsbslfsvkrd5534p1iip5h8g63m"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From ee825b5d0f403218771ade266cf191e424c66b4b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 31 Jul 2019 15:04:26 -0400 Subject: gnu: linux-libre: Update to 5.2.5. * gnu/packages/linux.scm (linux-libre-5.2-version): Update to 5.2.5. (linux-libre-5.2-pristine-source)[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 f097d26663..71ed5df9e3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,10 +350,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.2-version "5.2.4") +(define-public linux-libre-5.2-version "5.2.5") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "0hzfayq79bksng09ngw3k3h3zkd6ndfn059rvwpznypy1fg8pkdi"))) + (hash (base32 "15ndscsp3yqgas901g6inpmyvinz4cwr5y3md516j2pr8cl40if6"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) -- cgit v1.2.3 From 6af4cb30d30b7426e7c56a274f1a91cf15824559 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 31 Jul 2019 16:13:00 -0400 Subject: gnu: blender: Remove stale warning about it being an RC build. This is a followup to commit 274ba54e535b811acca02e42cffd45f0f625d142. * gnu/packages/graphics.scm (blender)[description]: Remove warning. --- gnu/packages/graphics.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index f5c57464f5..bc3a418e99 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -160,9 +160,7 @@ "Blender is a 3D graphics creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. The -application can be customized via its API for Python scripting. - -WARNING: This is a release candidate build of Blender.") +application can be customized via its API for Python scripting.") (license license:gpl2+))) (define-public blender-2.79 -- cgit v1.2.3 From 7018f926d4efcab681cca99e2da43b179d4af396 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 1 Aug 2019 04:46:44 +0200 Subject: gnu: sane-backends-minimal: Update to 1.0.28. * gnu/packages/scanner.scm (sane-backends-minimal): Update to 1.0.28. [arguments]: Disable back end tests. --- gnu/packages/scanner.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index d23da9e502..4afa90ba78 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -34,15 +34,16 @@ (define-public sane-backends-minimal (package (name "sane-backends-minimal") - (version "1.0.27") + (version "1.0.28") (source (origin (method url-fetch) (uri (string-append - "https://alioth.debian.org/frs/download.php/latestfile/176/" + "https://gitlab.com/sane-project/backends/uploads/" + "9e718daff347826f4cfe21126c8d5091/" "sane-backends-" version ".tar.gz")) (sha256 (base32 - "1j9nbqspaj0rlgalafb5z6r606k0i22kz0rcpd744p176yzlfdr9")) + "00yy8q9hqdf0zjxxl4d8njr9zf0hhi3a9ib23ikc2anqf8zhy9ii")) (modules '((guix build utils))) (snippet ;; Generated HTML files and udev rules normally embed a @@ -63,6 +64,10 @@ (add-before 'configure 'disable-backends (lambda _ (setenv "BACKENDS" " ") + + ;; Disable tests that may require back ends to be built. + (substitute* "testsuite/Makefile.in" + ((" backend ") " ")) #t)) (add-after 'unpack 'disable-failing-tests (lambda _ -- cgit v1.2.3 From a094693de3b5c6a97ef8b4bb280d49f0f1ba5e56 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 1 Aug 2019 05:32:53 +0200 Subject: gnu: sane-backends: Build back ends that need JPEG support. * gnu/packages/scanner.scm (sane-backends)[inputs]: Add libjpeg. --- gnu/packages/scanner.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 4afa90ba78..b371cf3105 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -118,6 +118,7 @@ package contains the library, but no drivers.") (name "sane-backends") (inputs `(("hplip" ,(@ (gnu packages cups) hplip-minimal)) + ("libjpeg" ,libjpeg) ; wanted by pixma, epsonds, others ("libpng" ,libpng) ; support ‘scanimage --format=png’ ,@(package-inputs sane-backends-minimal))) (arguments -- cgit v1.2.3 From 3935507f0ffb4bc3a5119efe0bd1bb94b2c76db3 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Tue, 30 Jul 2019 06:27:21 +0200 Subject: gnu: intel-vaapi-driver: Restrict supported systems. As noted at and then promptly forgotten. This follows up on commit d8d7565b82539bfff721bf884b7f4a3de3e6b4c3. * gnu/packages/video.scm (intel-vaapi-driver)[supported-systems]: Build onl on Intel systems. --- gnu/packages/video.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 544e305771..6a53833acf 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2762,6 +2762,7 @@ of modern, widely supported codecs.") (list (search-path-specification (variable "LIBVA_DRIVERS_PATH") (files '("lib/dri"))))) + (supported-systems '("i686-linux" "x86_64-linux")) (home-page "https://01.org/linuxmedia/vaapi") (synopsis "VA-API video acceleration driver for Intel GEN Graphics devices") (description -- cgit v1.2.3 From e7dfbae8a99995abc9f088452ca35371d38eb343 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 1 Aug 2019 06:12:54 +0200 Subject: gnu: mksh: Update to 57. * gnu/packages/shells.scm (mksh): Update to 57. --- gnu/packages/shells.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index 1900925022..0579c167fc 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -709,18 +709,17 @@ interactive POSIX shell targeted at resource-constrained systems.") (define-public mksh (package (name "mksh") - (version "56") + (version "57") (source (origin (method url-fetch) (uri (string-append "https://www.mirbsd.org/MirOS/dist/mir/mksh/mksh-R" version ".tgz")) (sha256 - (base32 - "1x4zjj9259ijpf8jw0nyh1fnr1pbm5fwvylclpvcrlb45xrglf5d")))) + (base32 "0xdykm1z710wriwd6nc8s8lwk2dwjl63dq96xxaawlid31a1241x")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; tests require access to /dev/tty + `(#:tests? #f ; tests require access to /dev/tty #:phases (modify-phases %standard-phases (delete 'configure) @@ -744,7 +743,7 @@ interactive POSIX shell targeted at resource-constrained systems.") Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh).") (license (list miros - isc)))) ; strlcpy.c + isc)))) ; strlcpy.c (define-public oil-shell (package -- cgit v1.2.3 From 0ca3ee43b762668ec4381429a53f5394c05db7d9 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 1 Aug 2019 17:30:11 +0200 Subject: gnu: wireshark: Update to 3.0.3. * gnu/packages/networking.scm (wireshark): Update to 3.0.3. --- gnu/packages/networking.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index fb371ed73b..16e04aaa13 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -594,14 +594,14 @@ of the same name.") (define-public wireshark (package (name "wireshark") - (version "3.0.2") + (version "3.0.3") (source (origin (method url-fetch) (uri (string-append "https://www.wireshark.org/download/src/wireshark-" version ".tar.xz")) (sha256 - (base32 "0fz5lbyiw4a27fqc4ndi1w20bpcb6wi9k7vjv29l9fhd99kca7ky")))) + (base32 "0711jilp9sbgi46d105m3galw8n4wk5yncawi08031qxg2f754mg")))) (build-system cmake-build-system) (arguments `(#:phases -- cgit v1.2.3 From 01b37d0f74e483c1197f82b67b8575c0771bf08c Mon Sep 17 00:00:00 2001 From: "mjbecze@riseup.net" Date: Tue, 30 Jul 2019 17:11:59 -0700 Subject: gnu: Add trezord. * gnu/packages/finance.scm (trezord): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/finance.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 9b23013606..7a5efb76a9 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Arun Isaac ;;; Copyright © 2019 Guillaume Le Vaillant ;;; Copyright © 2019 Tanguy Le Carrour +;;; Copyright © 2019 Martin Becze ;;; ;;; This file is part of GNU Guix. ;;; @@ -38,6 +39,7 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system python) #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build-system go) #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) @@ -1086,3 +1088,26 @@ financial years, budget estimates, bankcard management and other information.") (home-page "http://grisbi.org") (license license:gpl2+))) + +(define-public trezord + (package + (name "trezord") + (version "2.0.17") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/trezor/trezord-go.git") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0nqzpq0i3crh0i4r1cppja5sn3rwi1fv9afxzwzv63096x5l30a7")) + (file-name (git-file-name name version)))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/trezor/trezord-go")) + (home-page "https://trezor.io") + (synopsis "Trezor Communication Daemon aka Trezor Bridge (written in Go)") + (description "This allows a Trezor hardware wallet to communicate to the +Trezor wallet.") + (license license:lgpl3+))) -- cgit v1.2.3 From a41cd13563161cf8cbd11e55ce1e03cb18932a31 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 1 Aug 2019 22:24:34 +0200 Subject: gnu: python-duniterpy: Update to 0.55.1. * gnu/packages/finance.scm (python-duniterpy): Update to 0.55.1. --- 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 7a5efb76a9..241339e29d 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -958,7 +958,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ") (define-public python-duniterpy (package (name "python-duniterpy") - (version "0.54.3") + (version "0.55.1") (source (origin (method git-fetch) @@ -969,7 +969,7 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ") (file-name (git-file-name name version)) (sha256 (base32 - "1k3rpfc9zxj9z50cr4zjfyzdla9ap5mj1v1rlcriqmflgb5cmiba")))) + "07zsbbkzmnvyv5v0vw2d42vw3ar4iqhlidy9376ysk4ldlj1igf7")))) (build-system python-build-system) (arguments ;; Tests fail with "AttributeError: module 'attr' has no attribute 's'". -- cgit v1.2.3 From 5d727935a88c553fe9602f64749b8f9a7e2a8ea7 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 1 Aug 2019 22:34:04 +0200 Subject: gnu: silkaj: Update to 0.7.3. * gnu/packages/finance.scm (silkaj): Update to 0.7.3. --- 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 241339e29d..2163ea2152 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -1016,7 +1016,7 @@ main features are: (define-public silkaj (package (name "silkaj") - (version "0.7.2") + (version "0.7.3") (source (origin (method git-fetch) @@ -1026,7 +1026,7 @@ main features are: (file-name (git-file-name name version)) (sha256 (base32 - "059k2kil2l8jcm4wp86w1z7y8p26rww7d3l5fzds0qq2dzvkvzgs")))) + "0yk2574yb0d0k0rg7qf0pkmjidblsad04x8hhqpy9k80rvgjcr5w")))) (build-system python-build-system) (arguments `(#:tests? #f)) ;no test -- cgit v1.2.3 From d623e98f0de88882e075d12f905fd35130230638 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 1 Aug 2019 22:42:26 +0200 Subject: gnu: snap: Update to 5.0.8. * gnu/packages/education.scm (snap): Update to 5.0.8. --- gnu/packages/education.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 8501db02a1..0bb9c099fb 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -250,7 +250,7 @@ easy.") (define-public snap (package (name "snap") - (version "5.0.4") + (version "5.0.8") (source (origin (method git-fetch) @@ -260,7 +260,7 @@ easy.") (file-name (git-file-name name version)) (sha256 (base32 - "1zdypxifvxjkzhi4n9mkck8l419wc0pg103339yzhsbb9kkd3jlr")))) + "0fwfssdgv3mfzyv8hw1a1z5ky1yn0p59kyl6l9fxsm4w2ckgyizd")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) -- cgit v1.2.3 From d9e3f9d9d7c087ee10ea5e8856f435ead44ca1d1 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 2 Aug 2019 00:08:08 +0200 Subject: gnu: giac: Update to 1.5.0-63. * gnu/packages/algebra.scm (giac): Update to 1.5.0-63. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 1e21562e91..f801bca8df 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -345,7 +345,7 @@ precision.") (define-public giac (package (name "giac") - (version "1.5.0-61") + (version "1.5.0-63") (source (origin (method url-fetch) ;; "~parisse/giac" is not used because the maintainer regularly @@ -357,7 +357,7 @@ precision.") "source/giac_" version ".tar.gz")) (sha256 (base32 - "050vzpqq77fhky32sbisc0ysimgp60xjv39q7y45jkaabdkmclwh")))) + "1jp7awyp8j8w6fhn802z8ddbq1fxhkyk9xdf0mq0mm0chpkylwqk")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) -- cgit v1.2.3 From 9b76aa1031e078f273633cc4f59d4641b9f5332f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 1 Aug 2019 21:21:55 +0200 Subject: gnu: php: Don't use NAME in source URI. * gnu/packages/php.scm (php)[source]: Hard-code NAME. --- gnu/packages/php.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 62444308db..09289e7069 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -63,7 +63,7 @@ (source (origin (method url-fetch) (uri (string-append home-page "distributions/" - name "-" version ".tar.xz")) + "php-" version ".tar.xz")) (sha256 (base32 "0r51aiff2abbr3d2swhvja0wm56sjxzqbciabcvvq3m3v9kqkz7y")) -- cgit v1.2.3 From 951fd8572af1bd00064d5c0ae59c2927ec1b6ba5 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 1 Aug 2019 21:57:45 +0200 Subject: gnu: pcre@2: Fix run-time crash [security fix]. * gnu/packages/pcre.scm (pcre2)[replacement]: New field. (pcre2/fixed): New public variable. * packages/patches/pcre2-fix-jit_match-crash.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/pcre.scm | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/gnu/local.mk b/gnu/local.mk index bd509647dc..ca15f3096d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1165,6 +1165,7 @@ dist_patch_DATA = \ %D%/packages/patches/patchelf-rework-for-arm.patch \ %D%/packages/patches/patchutils-test-perms.patch \ %D%/packages/patches/patch-hurd-path-max.patch \ + %D%/packages/patches/pcre2-fix-jit_match-crash.patch \ %D%/packages/patches/perl-autosplit-default-time.patch \ %D%/packages/patches/perl-deterministic-ordering.patch \ %D%/packages/patches/perl-finance-quote-unuse-mozilla-ca.patch \ diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index 1395a3ea40..7385c78b9f 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -89,6 +89,7 @@ POSIX regular expression API.") (define-public pcre2 (package (name "pcre2") + (replacement pcre2/fixed) (version "10.33") (source (origin (method url-fetch) @@ -125,3 +126,14 @@ own native API, as well as a set of wrapper functions that correspond to the POSIX regular expression API.") (license license:bsd-3) (home-page "https://www.pcre.org/"))) + +(define-public pcre2/fixed + ;; PHP >= 7.3.8 requires a fixed version at build time, so make it public + ;; and hide it in the UI. + (package + (inherit pcre2) + (source + (origin + (inherit (package-source pcre2)) + (patches (search-patches "pcre2-fix-jit_match-crash.patch")))) + (properties '((hidden? . #t))))) -- cgit v1.2.3 From 61919f09813a0adf97024d10b52fb9017029fe94 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Thu, 1 Aug 2019 21:58:27 +0200 Subject: gnu: php: Update to 7.3.8. * gnu/packages/php.scm (php): Update to 7.3.8. [inputs]: Use pcre2/fixed. --- gnu/packages/php.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 09289e7069..2411de55c9 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -58,7 +58,7 @@ (define-public php (package (name "php") - (version "7.3.6") + (version "7.3.8") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -66,7 +66,7 @@ "php-" version ".tar.xz")) (sha256 (base32 - "0r51aiff2abbr3d2swhvja0wm56sjxzqbciabcvvq3m3v9kqkz7y")) + "19fm990yl97fq538lkp0m1imbp30qrx7785x211w1n15wqm6n17n")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -76,7 +76,7 @@ ;;"mbstring/libmbfl" ;;"date/lib" ;;"bcmath/libbcmath" - ;;"fileinfo/libmagic" ; This is a patched version of libmagic. + ;;"fileinfo/libmagic" ; a patched version of libmagic '("gd/libgd" "mbstring/oniguruma" "pcre/pcre2lib" @@ -367,7 +367,7 @@ ("oniguruma" ,oniguruma-5) ("openldap" ,openldap) ("openssl" ,openssl) - ("pcre" ,pcre2) + ("pcre" ,pcre2/fixed) ; must be /fixed for tests ("postgresql" ,postgresql) ("readline" ,readline) ("sqlite" ,sqlite) @@ -378,7 +378,7 @@ `(("pkg-config" ,pkg-config) ("bison" ,bison) ("intltool" ,intltool) - ("procps" ,procps))) ; For tests. + ("procps" ,procps))) ; for tests (synopsis "PHP programming language") (description "PHP (PHP Hypertext Processor) is a server-side (CGI) scripting -- cgit v1.2.3 From a17fe3f01ac160a576135b03d23bc098ebf6fb31 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 2 Aug 2019 02:00:06 +0200 Subject: gnu: Add missing pcre2-fix-jit_match-crash.patch. * gnu/packages/patches/pcre2-fix-jit_match-crash.patch: Really new file. --- .../patches/pcre2-fix-jit_match-crash.patch | 25 ++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 gnu/packages/patches/pcre2-fix-jit_match-crash.patch diff --git a/gnu/packages/patches/pcre2-fix-jit_match-crash.patch b/gnu/packages/patches/pcre2-fix-jit_match-crash.patch new file mode 100644 index 0000000000..7543319ee9 --- /dev/null +++ b/gnu/packages/patches/pcre2-fix-jit_match-crash.patch @@ -0,0 +1,25 @@ +From: Tobias Geerinckx-Rice +Date: Thu, 01 Aug 2019 21:12:52 +0200 +Subject: [PATCH] gnu: pcre2: Fix jit_match crash. + +Fixes , reported as a ‘secrity +problem’. + +Copied verbatim from upstream[0]. + +[0]: https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_jit_compile.c?view=patch&r1=1089&r2=1092&pathrev=1092 + +--- trunk/src/pcre2_jit_compile.c 2019/05/10 13:15:20 1089 ++++ trunk/src/pcre2_jit_compile.c 2019/05/13 16:38:18 1092 +@@ -8571,7 +8571,10 @@ + PCRE2_SPTR bptr; + uint32_t c; + +-GETCHARINC(c, cc); ++/* Patch by PH */ ++/* GETCHARINC(c, cc); */ ++ ++c = *cc++; + #if PCRE2_CODE_UNIT_WIDTH == 32 + if (c >= 0x110000) + return NULL; -- cgit v1.2.3 From 4bb1582c8a3bcaf2fad4955bf5a666f741e50002 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 2 Aug 2019 07:40:36 +0200 Subject: gnu: fontforge: Update to 20190801. * gnu/packages/fontutils.scm (fontforge): Update to 20190801. --- gnu/packages/fontutils.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 1982d0bf4b..fbe54d640f 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 ng0 -;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018 Ludovic Courtès ;;; @@ -555,14 +555,14 @@ definitions.") (define-public fontforge (package (name "fontforge") - (version "20190317") + (version "20190801") (source (origin (method url-fetch) (uri (string-append "https://github.com/fontforge/fontforge/releases/download/" version "/fontforge-" version ".tar.gz")) (sha256 (base32 - "1ddqbpc32cgbccdnv0lfw0qhj59hcqzb7616ph5lkvm91pnas4dp")))) + "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 3ab8c2242d6059883300ff4f4ac4054c954f07b2 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 2 Aug 2019 07:41:18 +0200 Subject: gnu: fontforge: Use top-level home page. * gnu/packages/fontutils.scm (fontforge)[home-page]: Remove language code. --- gnu/packages/fontutils.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index fbe54d640f..bb53dafcf5 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -616,7 +616,7 @@ definitions.") opentype fonts. You can save fonts in many different outline formats, and generate bitmaps.") (license license:gpl3+) - (home-page "https://fontforge.github.io/en-US/"))) + (home-page "https://fontforge.github.io"))) (define-public python2-ufolib (package -- cgit v1.2.3 From 7c13793dbc2ce575c4a489ef2e8d9ad2b658e08c Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 2 Aug 2019 08:41:54 +0200 Subject: Revert "gnu: fontforge: Update to 20190801." This is core-updates material. This reverts commit 4bb1582c8a3bcaf2fad4955bf5a666f741e50002. --- gnu/packages/fontutils.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index bb53dafcf5..e64f3b099e 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Rene Saavedra ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 ng0 -;;; Copyright © 2017, 2018, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Ricardo Wurmus ;;; Copyright © 2018 Ludovic Courtès ;;; @@ -555,14 +555,14 @@ definitions.") (define-public fontforge (package (name "fontforge") - (version "20190801") + (version "20190317") (source (origin (method url-fetch) (uri (string-append "https://github.com/fontforge/fontforge/releases/download/" version "/fontforge-" version ".tar.gz")) (sha256 (base32 - "0lh8yx01asbzxm6car5cfi64njh5p4lxc7iv8dldr5rwg357a86r")))) + "1ddqbpc32cgbccdnv0lfw0qhj59hcqzb7616ph5lkvm91pnas4dp")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) -- cgit v1.2.3 From 1db6f137d93b59409fedb3deb24c876649e1b8f2 Mon Sep 17 00:00:00 2001 From: "Jakob L. Kreuze" Date: Wed, 31 Jul 2019 14:13:01 -0400 Subject: reconfigure: Reload all shepherd files when upgrading services. Fixes . Reported by Robert Vollmert . * guix/scripts/system/reconfigure.scm (upgrade-shepherd-services): Load all service files, rather than just those of services to be started. Signed-off-by: Danny Milosavljevic --- guix/scripts/system/reconfigure.scm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/guix/scripts/system/reconfigure.scm b/guix/scripts/system/reconfigure.scm index 8c7d461585..dee0c24bd2 100644 --- a/guix/scripts/system/reconfigure.scm +++ b/guix/scripts/system/reconfigure.scm @@ -161,12 +161,7 @@ services as defined by OS." target-services) (map live-service-canonical-name live-services))) - (service-files - (map shepherd-service-file - (filter (lambda (service) - (memq (shepherd-service-canonical-name service) - to-start)) - target-services)))) + (service-files (map shepherd-service-file target-services))) (eval #~(primitive-load #$(upgrade-services-program service-files to-start to-unload -- cgit v1.2.3 From 6ba457cc1c0d5b2ea20fa19d0892f7d10de321d6 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 2 Aug 2019 13:10:57 +0200 Subject: gnu: Add sbcl-cl-str. * gnu/packages/lisp.scm (sbcl-cl-str): 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 e7d0d5a44f..ae76ef9d83 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6598,3 +6598,38 @@ various string metrics in Common Lisp: @item Overlap coefficient @end itemize\n") (license license:x11))) + +(define-public sbcl-cl-str + (let ((commit "3d5ec86e3a0199e5973aacde951086dfd754b5e5")) + (package + (name "sbcl-cl-str") + (version (git-version "0.8" "1" commit)) + (home-page "https://github.com/vindarel/cl-str") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 "0szzzbygw9h985yxz909vvqrp69pmpcpahn7hn350lnyjislk9ga")) + (file-name (git-file-name name version)))) + (build-system asdf-build-system/sbcl) + (inputs + `(("cl-ppcre" ,sbcl-cl-ppcre) + ("cl-ppcre-unicode" ,sbcl-cl-ppcre-unicode))) + (native-inputs + `(("prove" ,sbcl-prove) + ("prove-asdf" ,sbcl-prove-asdf))) + (arguments + `(#:asd-file "str.asd" + #:asd-system-name "str" + #:test-asd-file "str.test.asd")) + (synopsis "Modern, consistent and terse Common Lisp string manipulation library") + (description "A modern and consistent Common Lisp string manipulation +library that focuses on modernity, simplicity and discoverability: +@code{(str:trim s)} instead of @code{(string-trim '(#\\Space ...) s)}), or +@code{str:concat strings} instead of an unusual format construct; one +discoverable library instead of many; consistency and composability, where +@code{s} is always the last argument, which makes it easier to feed pipes and +arrows.") + (license license:expat)))) -- cgit v1.2.3 From 000faac0a23542285ab0f2999b84a7001eb3068e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 2 Aug 2019 17:45:37 +0200 Subject: gnu: sbcl-trivia: Fix .asd loading. * gnu/packages/lisp.scm (sbcl-trivia): Do it. --- gnu/packages/lisp.scm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index ae76ef9d83..d2bed231bd 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -6563,7 +6563,24 @@ This system contains the CFFI foreign slot access extension."))) ("trivia.cffi" ,sbcl-trivia.cffi) ("optima" ,sbcl-optima))) (arguments - `(#:test-asd-file "trivia.test.asd")) + `(#:test-asd-file "trivia.test.asd" + #:phases + (modify-phases %standard-phases + (add-after 'create-asd 'remove-component + ;; XXX: The original .asd has no components, but our build system + ;; creates an entry nonetheless. We need to remove it for the + ;; generated .asd to load properly. See trivia.trivial for a + ;; similar problem. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (asd (string-append out "/lib/" (%lisp-type) "/trivia.asd"))) + (substitute* asd + ((" :components +") + "")) + (substitute* asd + ((" *\\(\\(:compiled-file \"trivia--system\"\\)\\)") + "")))))))) (description "Trivia is a pattern matching compiler that is compatible with Optima, another pattern matching library for Common Lisp. It is meant to be faster and more extensible than Optima."))) -- cgit v1.2.3 From ad9fd1ba2c2125f0d7b8b69f7ab0df65d30e038f Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Fri, 2 Aug 2019 23:38:33 +0200 Subject: gnu: texmacs: Update to 1.99.11. * gnu/packages/text-editors.scm (texmacs): Update to 1.99.11. --- gnu/packages/text-editors.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm index 7d5f6797dc..4412d54579 100644 --- a/gnu/packages/text-editors.scm +++ b/gnu/packages/text-editors.scm @@ -400,15 +400,14 @@ editors.") (define-public texmacs (package (name "texmacs") - (version "1.99.9") + (version "1.99.11") (source (origin (method url-fetch) (uri (string-append "https://www.texmacs.org/Download/ftp/tmftp/" "source/TeXmacs-" version "-src.tar.gz")) (sha256 - (base32 - "0i95sf9y8qpgxd8f39cprbp3s200nm9lml0xdpyn46n838acvw19")) + (base32 "12bp0f34izzqimz49lfpgf4lyz3h45s9xbmk8v6zsawdjki76alg")) (modules '((guix build utils))) (snippet '(begin @@ -424,7 +423,7 @@ editors.") ("python" ,python-wrapper) ("qt" ,qt-4))) (arguments - `(#:tests? #f ;no check target + `(#:tests? #f ; no check target #:phases (modify-phases %standard-phases (add-before 'configure 'gzip-flags -- cgit v1.2.3 From 095c09c773becaf5e711e15b93b03d54f6e03350 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 00:20:03 +0200 Subject: gnu: krita: Update to 4.2.5. * gnu/packages/kde.scm (krita): Update to 4.2.5. --- gnu/packages/kde.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 31b3670079..68d2804dcc 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -320,7 +320,7 @@ plugins, as well as code to create plugins, or complete applications.") (define-public krita (package (name "krita") - (version "4.2.2") + (version "4.2.5") (source (origin (method url-fetch) (uri (string-append @@ -329,7 +329,7 @@ plugins, as well as code to create plugins, or complete applications.") "/krita-" version ".tar.gz")) (sha256 (base32 - "1pzk5bqp3kh22djhvsvmsc7ybirs4hsnkpg1y9677m2gxwbqnnps")))) + "1f14r2mrqasl6nr3sss0xy2h8xlxd5wdcjcd64m9nz2gwlm39r7w")))) (build-system cmake-build-system) (arguments `(#:tests? #f -- cgit v1.2.3 From 82ebb785f178d8618d39b658932d23d9f859fc91 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 01:02:49 +0200 Subject: gnu: you-get: Update to 0.4.1328. * gnu/packages/video.scm (you-get): Update to 0.4.1328. --- 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 6a53833acf..8c57e862c1 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1619,7 +1619,7 @@ other site that youtube-dl supports.") (define-public you-get (package (name "you-get") - (version "0.4.1302") + (version "0.4.1328") (source (origin (method git-fetch) (uri (git-reference @@ -1628,7 +1628,7 @@ other site that youtube-dl supports.") (file-name (git-file-name name version)) (sha256 (base32 - "1fwwzslv1vpjr8q0fq10dbngr8zai1n3d6na700cgpky4j9y0y99")))) + "1r9qffwvxmp74byva12h2jsn3n33vyim052sx9lykv5dygibbp65")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos -- cgit v1.2.3 From 09fd82ce8c4c682ddd05b9f53cc0e21f2ac8f739 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sat, 3 Aug 2019 10:30:43 +0200 Subject: gnu: wine-staging: Update to 4.13. * gnu/packages/wine.scm (wine-staging-patchset-data): Update to 4.13. * gnu/packages/wine.scm (wine-staging): Update to 4.13. --- gnu/packages/wine.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 62cf225ceb..4e7d1b0699 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.12.1") + (version "4.13") (source (origin (method git-fetch) @@ -320,7 +320,7 @@ integrate Windows applications into your desktop.") (file-name (git-file-name name version)) (sha256 (base32 - "1bvpvj6vcw2p6vcjm6mw5maarbs4lfw1ix3pj020w4n3kg4nmmc4")))) + "0bbwsd2qpjilxpjscqbp78p0gl0awj1yj62g0wvybh4x89fzy8zj")))) (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 - "09yjfb2k14y11k19lm8dqmb8qwxyhh67d5q1gqv480y64mljvkx0")))) + "0rqx8g394aj5q913cd18zsi60sldvxarrp178w6ja0y4rd8l25vr")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("faudio" ,faudio) ("ffmpeg" ,ffmpeg) @@ -407,10 +407,7 @@ integrate Windows applications into your desktop.") (script (string-append (assoc-ref %build-inputs "wine-staging-patchset-data") "/share/wine-staging/patches/patchinstall.sh"))) - ;; Exclude specific patches that conflict with FAudio. - (invoke script (string-append "DESTDIR=" ".") "--all" "-W" - "xaudio2-revert" "-W" "xaudio2_CommitChanges" "-W" - "xaudio2_7-WMA_support" "-W" "xaudio2_7-CreateFX-FXEcho") + (invoke script (string-append "DESTDIR=" ".") "--all") #t))) (add-after 'configure 'patch-dlopen-paths ;; Hardcode dlopened sonames to absolute paths. -- cgit v1.2.3 From 036feaf9cb245629332006038ef580858fa6bfbc Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Sat, 3 Aug 2019 10:49:35 +0200 Subject: gnu: wine64-staging: Adapt patch script. * gnu/packages/wine.scm (wine64-staging)[arguments]: Don't exclude certain patches. --- gnu/packages/wine.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 4e7d1b0699..fd7277a7af 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -484,9 +484,7 @@ integrated into the main branch.") "wine-staging-patchset-data") "/share/wine-staging/patches/patchinstall.sh"))) ;; Exclude specific patches that conflict with FAudio. - (invoke script (string-append "DESTDIR=" ".") "--all" "-W" - "xaudio2-revert" "-W" "xaudio2_CommitChanges" "-W" - "xaudio2_7-WMA_support" "-W" "xaudio2_7-CreateFX-FXEcho") + (invoke script (string-append "DESTDIR=" ".") "--all") #t))) (add-after 'install 'copy-wine32-binaries (lambda* (#:key outputs #:allow-other-keys) -- cgit v1.2.3 From 2d0e802f1abe9d530b23eab4ad00e546fe81cbe1 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sat, 3 Aug 2019 08:13:37 -0400 Subject: gnu: guile-next: Update to 2.9.3. * gnu/packages/guile.scm (guile-next): Update to 2.9.3. --- gnu/packages/guile.scm | 44 +++++++++++++++++++++----------------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index e871685f02..b8a53824b4 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -300,29 +300,27 @@ without requiring the source code to be rewritten.") (define-public guile-next ;; This is the upcoming Guile 3.0, with JIT support. - (let ((commit "6f3357b0df64c4be17e72079864c09a542f1c779") - (revision "1")) - (package - (inherit guile-2.2) - (name "guile-next") - (version "2.9.2") - (source (origin - (inherit (package-source guile-2.2)) - (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-" - version ".tar.xz")) - (sha256 - (base32 - "1w358df2wmcyzk2ziqrj2zhwqisaqraqfa3008ay23nf1a7bw0z4")))) - (native-search-paths - (list (search-path-specification - (variable "GUILE_LOAD_PATH") - (files '("share/guile/site/3.0"))) - (search-path-specification - (variable "GUILE_LOAD_COMPILED_PATH") - (files '("lib/guile/3.0/site-ccache" - "share/guile/site/3.0"))))) - (properties '((ftp-server . "alpha.gnu.org") - (upstream-name . "guile")))))) + (package + (inherit guile-2.2) + (name "guile-next") + (version "2.9.3") + (source (origin + (inherit (package-source guile-2.2)) + (uri (string-append "ftp://alpha.gnu.org/gnu/guile/guile-" + version ".tar.xz")) + (sha256 + (base32 + "14990wcpysgw58kij03wbgiggmi5z94jmy7wdcqnn6ny7cimkkgr")))) + (native-search-paths + (list (search-path-specification + (variable "GUILE_LOAD_PATH") + (files '("share/guile/site/3.0"))) + (search-path-specification + (variable "GUILE_LOAD_COMPILED_PATH") + (files '("lib/guile/3.0/site-ccache" + "share/guile/site/3.0"))))) + (properties '((ftp-server . "alpha.gnu.org") + (upstream-name . "guile"))))) (define (make-guile-readline guile) (package -- cgit v1.2.3 From 144cb83a718d58e375493de20b0e360fa69a1bb0 Mon Sep 17 00:00:00 2001 From: Alex Vong Date: Sat, 3 Aug 2019 21:54:08 +0800 Subject: gnu: youtube-dl: Update to 2019.08.02. * gnu/packages/video.scm (youtube-dl): Update to 2019.08.02. --- 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 8c57e862c1..9febda6949 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1480,7 +1480,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2019.07.30") + (version "2019.08.02") (source (origin (method url-fetch) (uri (string-append "https://github.com/rg3/youtube-dl/releases/" @@ -1488,7 +1488,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0nb5xvq4aq0az8y5wb54zp5q4qzfhs7rcb39yp6j5q8jyjp9kzwy")))) + "101b6jrf6ckbxrn76ppvgdyrb25p7d247kn8qgq7n476sfnkfg2p")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion -- cgit v1.2.3 From b5e912a88cd57108ac12bd04a28b9e17e4a46e86 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 17:40:46 +0200 Subject: gnu: man-pages: Update to 5.02. * gnu/packages/man.scm (man-pages): Update to 5.02. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 04c800e95f..f5c888186f 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -162,7 +162,7 @@ the traditional flat-text whatis databases.") (define-public man-pages (package (name "man-pages") - (version "5.01") + (version "5.02") (source (origin (method url-fetch) @@ -172,7 +172,7 @@ the traditional flat-text whatis databases.") (string-append "mirror://kernel.org/linux/docs/man-pages/Archive/" "man-pages-" version ".tar.xz"))) (sha256 - (base32 "09xn8d8xxwgms6h1bvjlgn3mxz51vxf3ra0ry9f5dqi29qry3z3x")))) + (base32 "1s4pdz2pwf0kvhdwx2s6lqn3xxzi38yz5jfyq5ymdmswc9gaiyn2")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) -- cgit v1.2.3 From 9ea820a5bf0a91ffc794404ff716ca1aa175bff6 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 23:24:11 +0200 Subject: gnu: mtd-utils: Update to 2.1.1. * gnu/packages/linux.scm (mtd-utils): Update to 2.1.1. [inputs]: Add zstd:lib. --- gnu/packages/linux.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 71ed5df9e3..9623324d3d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4613,7 +4613,7 @@ are exceeded.") (define-public mtd-utils (package (name "mtd-utils") - (version "2.0.2") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append @@ -4621,7 +4621,7 @@ are exceeded.") "mtd-utils-" version ".tar.bz2")) (sha256 (base32 - "1f30jszknc5v6ykmil8ajxgksmcg54q3rsp84jsancp9x0dycggv")))) + "1lijl89l7hljx8xx70vrz9srd3h41v5gh4b0lvqnlv831yvyh5cd")))) (arguments '(#:configure-flags '("--enable-unit-tests"))) (native-inputs @@ -4631,7 +4631,8 @@ are exceeded.") `(("acl" ,acl) ; for XATTR ("libuuid" ,util-linux) ("lzo" ,lzo) - ("zlib" ,zlib))) + ("zlib" ,zlib) + ("zstd" ,zstd "lib"))) (build-system gnu-build-system) (synopsis "MTD Flash Storage Utilities") (description "This package provides utilities for testing, partitioning, etc -- cgit v1.2.3 From f8f2b048b9e74e566b59538b8f01217bf74b6012 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 23:25:50 +0200 Subject: gnu: mtd-utils: Support cryptography. * gnu/packages/linux.scm (mtd-utils)[inputs]: Add openssl. --- gnu/packages/linux.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 9623324d3d..395a06c956 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -4628,9 +4628,10 @@ are exceeded.") `(("cmocka" ,cmocka) ("pkg-config" ,pkg-config))) (inputs - `(("acl" ,acl) ; for XATTR + `(("acl" ,acl) ; extended attributes (xattr) ("libuuid" ,util-linux) ("lzo" ,lzo) + ("openssl" ,openssl) ; optional crypto support ("zlib" ,zlib) ("zstd" ,zstd "lib"))) (build-system gnu-build-system) -- cgit v1.2.3 From 245fae9077e72ffc513e07de0ae4cc4dfdc9f041 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 03:29:50 +0200 Subject: gnu: gmp: Use @acronym{} in Texinfo. * gnu/packages/multiprecision.scm (gmp)[description]: Substitute @acronym{} for @dfn{}. --- gnu/packages/multiprecision.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 7d355220b2..5ea35af20f 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -64,12 +64,11 @@ (else '()))))) (synopsis "Multiple-precision arithmetic library") (description - "@dfn{GMP} (the GNU Multiple Precision Arithmetic Library) is a library for -arbitrary-precision arithmetic, operating on signed integers, rational numbers -and floating point numbers. The precision is only limited by the available -memory. The library is highly optimized, with a design focus on execution -speed. It is aimed at use in, for example, cryptography and computational -algebra.") + "The @acronym{GMP, the GNU Multiple Precision Arithmetic} library performs +arbitrary-precision arithmetic on signed integers, rational numbers and floating +point numbers. The precision is only limited by the available memory. +The library is highly optimized, with a design focus on execution speed. +It is aimed at use in, for example, cryptography and computational algebra.") (license lgpl3+) (home-page "https://gmplib.org/"))) -- cgit v1.2.3 From 932b607293a7cdb4139dc81dbdce228e95e73d7e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 03:29:53 +0200 Subject: gnu: mpfr: Use @acronym{} in Texinfo. * gnu/packages/multiprecision.scm (mpfr)[description]: Substitute @acronym{} for @dfn{}. --- gnu/packages/multiprecision.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 5ea35af20f..a0b5bcec0c 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -104,7 +104,7 @@ It is aimed at use in, for example, cryptography and computational algebra.") (propagated-inputs `(("gmp" ,gmp))) ; refers to (synopsis "C library for arbitrary-precision floating-point arithmetic") (description - "GNU@tie{}@dfn{MPFR} (Multiple Precision Floating-Point Reliably) is a C + "GNU@tie{}@acronym{MPFR, Multiple Precision Floating-Point Reliably} is a C library for performing multiple-precision, floating-point computations with correct rounding.") (license lgpl3+) -- cgit v1.2.3 From aaf80ba78197e582972327031636f279407ef74e Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 03:29:57 +0200 Subject: gnu: mpc: Use @acronym{} in Texinfo. * gnu/packages/multiprecision.scm (mpc)[description]: Substitute @acronym{} for @dfn{}. --- gnu/packages/multiprecision.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index a0b5bcec0c..8547abeb3a 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -127,8 +127,8 @@ correct rounding.") ("mpfr" ,mpfr))) (synopsis "C library for arbitrary-precision complex arithmetic") (description - "GNU@tie{}@dfn{MPC} (Multiple Precision Complex library) is a C library for -performing arithmetic on complex numbers. It supports arbitrarily high + "GNU@tie{}@acronym{MPC, Multiple Precision Complex library} is a C library +for performing arithmetic on complex numbers. It supports arbitrarily high precision and correctly rounds the results.") (license lgpl3+) (home-page "http://multiprecision.org/mpc/"))) -- cgit v1.2.3 From ded545d5624765723bdc809c465b22ec2ceda6dd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 3 Aug 2019 03:30:34 +0200 Subject: gnu: mpfi: Use @acronym{} in Texinfo. * gnu/packages/multiprecision.scm (mpfi)[description]: Substitute @acronym{} for @dfn{}. --- gnu/packages/multiprecision.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 8547abeb3a..3d899941be 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -149,11 +149,11 @@ precision and correctly rounds the results.") ("mpfr" ,mpfr))) (synopsis "C library for arbitrary-precision interval arithmetic") (description - "@dfn{MPFI} (Multiple Precision Floating-point Interval) is a portable C + "@acronym{MPFI, Multiple Precision Floating-point Interval} is a portable C library for arbitrary-precision interval arithmetic, with intervals represented -using MPFR reliable floating-point numbers. It's based on the @dfn{GMP} (GNU -Multiple Precision Arithmetic) and GNU@tie{}@dfn{MPFR} (Multiple Precision -Floating-Point Reliably) libraries. +using MPFR reliable floating-point numbers. It's based on the @acronym{GMP, GNU +Multiple Precision Arithmetic} and GNU@tie{}@acronym{MPFR, Multiple Precision +Floating-Point Reliably} libraries. The purpose of arbitrary-precision interval arithmetic is to get results that are both guaranteed, thanks to interval computation, and accurate, thanks to -- cgit v1.2.3 From ac6b78488faa80a83e85ee38e4a701d9c3c90c46 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 29 Jul 2019 22:01:05 +0300 Subject: build/cargo-build-system: Patch cargo checksums. * guix/build/cargo-build-system.scm (generate-all-checksums): New procedure. (update-cargo-lock, patch-cargo-checksums): New phases. (%standard-phases): Add 'update=cargo-lock after 'configure and 'patch-cargo-checksums after 'patch-generated-file-shebangs. * doc/guix.texi (Build System)[cargo-build-system]: Mention how Cargo.lock files are handled. --- doc/guix.texi | 7 ++++-- guix/build/cargo-build-system.scm | 48 ++++++++++++++++++++++++++++++++++++--- 2 files changed, 50 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index ccc36a8a97..cb60d5c7b7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5854,8 +5854,11 @@ should be added to the package definition via the In its @code{configure} phase, this build system will make any source inputs specified in the @code{#:cargo-inputs} and @code{#:cargo-development-inputs} -parameters available to cargo. The @code{install} phase installs any crate -the binaries if they are defined by the crate. +parameters available to cargo. The @code{update-cargo-lock} phase will, +when there is a @code{Cargo.lock} file, update the @code{Cargo.lock} file +with the inputs and their versions available at build time. The +@code{install} phase installs any crate the binaries if they are defined by +the crate. @end defvr @cindex Clojure (programming language) diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index f38de16cf7..7d363a18a5 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 David Craven ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2019 Ivan Petkov +;;; Copyright © 2019 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,21 @@ ;; ;; Code: +;; TODO: Move this to (guix build cargo-utils). Will cause a full rebuild +;; of all rust compilers. + +(define (generate-all-checksums dir-name) + (for-each + (lambda (filename) + (let* ((dir (dirname filename)) + (checksum-file (string-append dir "/.cargo-checksum.json"))) + (when (file-exists? checksum-file) (delete-file checksum-file)) + (display (string-append + "patch-cargo-checksums: generate-checksums for " + dir "\n")) + (generate-checksums dir))) + (find-files dir-name "Cargo.toml$"))) + (define (manifest-targets) "Extract all targets from the Cargo.toml manifest" (let* ((port (open-input-pipe "cargo read-manifest")) @@ -94,8 +110,7 @@ Cargo.toml file present at its root." ;; so that we can generate any cargo checksums. ;; The --strip-components argument is needed to prevent creating ;; an extra directory within `crate-dir`. - (invoke "tar" "xvf" path "-C" crate-dir "--strip-components" "1") - (generate-checksums crate-dir))))) + (invoke "tar" "xvf" path "-C" crate-dir "--strip-components" "1"))))) inputs) ;; Configure cargo to actually use this new directory. @@ -121,6 +136,31 @@ directory = '" port) (setenv "CC" (string-append (assoc-ref inputs "gcc") "/bin/gcc")) #t) +;; The Cargo.lock file tells the build system which crates are required for +;; building and hardcodes their version and checksum. In order to build with +;; the inputs we provide, we need to recreate the file with our inputs. +(define* (update-cargo-lock #:key + (vendor-dir "guix-vendor") + #:allow-other-keys) + "Regenerate the Cargo.lock file with the current build inputs." + (when (file-exists? "Cargo.lock") + (begin + ;; Unfortunately we can't generate a Cargo.lock file until the checksums + ;; are generated, so we have an extra round of generate-all-checksums here. + (generate-all-checksums vendor-dir) + (delete-file "Cargo.lock") + (invoke "cargo" "generate-lockfile"))) + #t) + +;; After the 'patch-generated-file-shebangs phase any vendored crates who have +;; their shebangs patched will have a mismatch on their checksum. +(define* (patch-cargo-checksums #:key + (vendor-dir "guix-vendor") + #:allow-other-keys) + "Patch the checksums of the vendored crates after patching their shebangs." + (generate-all-checksums vendor-dir) + #t) + (define* (build #:key skip-build? (cargo-build-flags '("--release")) @@ -162,7 +202,9 @@ directory = '" port) (replace 'configure configure) (replace 'build build) (replace 'check check) - (replace 'install install))) + (replace 'install install) + (add-after 'configure 'update-cargo-lock update-cargo-lock) + (add-after 'patch-generated-file-shebangs 'patch-cargo-checksums patch-cargo-checksums))) (define* (cargo-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- cgit v1.2.3 From f339cb188aebf46bee24930eae3a002e3842447f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 1 Aug 2019 21:30:42 +0200 Subject: gnu: re2: Update to 2019-08-01. * gnu/packages/regex.scm (re2): Update to 2019-08-01. --- gnu/packages/regex.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/regex.scm b/gnu/packages/regex.scm index 71dac09737..ad01814318 100644 --- a/gnu/packages/regex.scm +++ b/gnu/packages/regex.scm @@ -30,7 +30,7 @@ (define-public re2 (package (name "re2") - (version "2019-07-01") + (version "2019-08-01") (home-page "https://github.com/google/re2") (source (origin (method git-fetch) @@ -38,7 +38,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1ric6gdnf5mqj5iy5f81al49mr3mmjqj3nqi3mw2hjdbbgwkdn71")))) + "11w9x16y26nfgliis28ivrh9b1x6pxawdwxfwxfjh34h57c0dkzg")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) -- cgit v1.2.3 From 7f2e852267d3484c3b0a3457ad6f3f9ad4debe6a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 3 Aug 2019 23:24:07 +0200 Subject: gnu: ungoogled-chromium: Update to 76.0.3809.87-0.6ea9390. * gnu/packages/chromium.scm (%preserved-third-party-files): Adjust for 76. (%chromium-version): Set to 76.0.3809.87. (%ungoogled-revision): Set to 6ea939002bae43a27910e03569d43519d07842e7. (%debian-revision): Set to debian/76.0.3809.87-2. (%chromium-origin, %ungoogled-origin, %debian-origin): Update hashes. (gentoo-patch, gentoo-patches): New procedures. (%auxiliary-patches): New variable. (ungoogled-chromium-source): Ignore Ungoogleds bundled Debian patches, as well as some of Debians build fixes. Apply %AUXILIARY-PATCHES. (ungoogled-chromium)[arguments]: Adjust unbundling substitutions. Do not set Blink symbol level. --- gnu/packages/chromium.scm | 98 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 71 insertions(+), 27 deletions(-) diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index d072fc58ad..a014486361 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -73,7 +73,8 @@ #:use-module (srfi srfi-1)) (define %preserved-third-party-files - '("base/third_party/dmg_fp" ;X11-style + '("base/third_party/cityhash" ;Expat + "base/third_party/dmg_fp" ;X11-style "base/third_party/dynamic_annotations" ;BSD-2 "base/third_party/icu" ;Unicode, X11-style "base/third_party/superfasthash" ;BSD-3 @@ -85,7 +86,7 @@ "courgette/third_party/divsufsort" ;Expat "net/third_party/mozilla_security_manager" ;MPL-1.1/GPL2+/LGPL2.1+ "net/third_party/nss" ;MPL-2.0 - "net/third_party/quic" ;BSD-3 + "net/third_party/quiche" ;BSD-3 "net/third_party/uri_template" ;ASL2.0 "third_party/abseil-cpp" ;ASL2.0 "third_party/adobe/flash/flapper_version.h" ;no license, trivial @@ -105,6 +106,10 @@ "third_party/blink" ;BSD-3, LGPL2+ "third_party/boringssl" ;OpenSSL/ISC (Google additions are ISC) "third_party/boringssl/src/third_party/fiat" ;Expat + "third_party/boringssl/src/third_party/sike" ;Expat + ;; XXX: these files are generated by fp-$arch.pl in the above directory. + "third_party/boringssl/linux-aarch64/crypto/third_party/sike/asm/fp-armv8.S" + "third_party/boringssl/linux-x86_64/crypto/third_party/sike/asm/fp-x86_64.S" "third_party/breakpad" ;BSD-3 "third_party/brotli" ;Expat "third_party/cacheinvalidation" ;ASL2.0 @@ -164,6 +169,7 @@ "third_party/nasm" ;BSD-2 "third_party/node" ;Expat "third_party/node/node_modules/polymer-bundler/lib/third_party/UglifyJS2" ;BSD-2 + "third_party/openscreen" ;BSD-3 "third_party/ots" ;BSD-3 "third_party/pdfium" ;BSD-3 "third_party/pdfium/third_party/agg23" ;Expat @@ -182,9 +188,10 @@ "third_party/s2cellid" ;ASL2.0 "third_party/sfntly" ;ASL2.0 "third_party/skia" ;BSD-3 + "third_party/skia/include/third_party/skcms" ;BSD-3 "third_party/skia/third_party/gif" ;MPL1.1/GPL2+/LGPL2.1+ "third_party/skia/third_party/skcms" ;BSD-3 - "third_party/skia/third_party/vulkan" ;BSD-3 + "third_party/skia/third_party/vulkanmemoryallocator" ;BSD-3, Expat "third_party/smhasher" ;Expat, public domain "third_party/speech-dispatcher" ;GPL2+ "third_party/spirv-headers" ;ASL2.0 @@ -231,9 +238,9 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %chromium-version "75.0.3770.142") -(define %ungoogled-revision "5d8abc38b43a62f379615a0dc972b29d9aebb4b4") -(define %debian-revision "debian/75.0.3770.90-1") +(define %chromium-version "76.0.3809.87") +(define %ungoogled-revision "6ea939002bae43a27910e03569d43519d07842e7") +(define %debian-revision "debian/76.0.3809.87-2") (define package-revision "0") (define %package-version (string-append %chromium-version "-" package-revision "." @@ -247,7 +254,7 @@ from forcing GEXP-PROMISE." %chromium-version ".tar.xz")) (sha256 (base32 - "1b550hc9sav0qdnh4hiin2bb3jmfyrb3dhbmnc0v8662rjknq3ji")))) + "1521vh38mfgy7aj1lw1vpbdm8m6wyh52d5p7bz4x6kvvxsnacp11")))) (define %ungoogled-origin (origin @@ -258,7 +265,7 @@ from forcing GEXP-PROMISE." (string-take %ungoogled-revision 7))) (sha256 (base32 - "1vk8jzzsn20ysn4nlz84mwwhfa9nnywzd1lrahlhcky9pf6xzpwa")))) + "1nhrh9fn1appbxf8d3dg49jrqjvha721s89i60s4m63d037cifzr")))) (define %debian-origin (origin @@ -272,7 +279,29 @@ from forcing GEXP-PROMISE." (string-take %debian-revision 7)))) (sha256 (base32 - "0sh6z2lx44zb31qrpa29vm0sw09dxi7i9h6fsq3ivfxjs7v98bbx")))) + "1fjhpzrxmgjr7i31li1vsfmp0qkbi0cpyc7p1zjwvf2x4da0v907")))) + +(define (gentoo-patch name hash revision) + (origin + (method url-fetch) + (uri (string-append "https://gitweb.gentoo.org/repo/gentoo.git/plain" + "/www-client/chromium/files/" name "?id=" revision)) + (file-name name) + (sha256 (base32 hash)))) + +(define-syntax-rule (gentoo-patches (name hash) ...) + (list (gentoo-patch name hash "9fd80e7d75aa63843ec33c9d44fee32596ae8f25") + ...)) + +(define %auxiliary-patches + ;; XXX: Debians "gcc/wrong-namespace.patch" and "fixes/inspector.patch" does + ;; not work for us, so we take these upstream fixes via Gentoo instead. + (gentoo-patches + ("chromium-76-quiche.patch" "1cs0y16jn7r1nxh0j36vqcsdvigl902kdcqfmyivnxgblrx66l2i") + ("chromium-76-gcc-blink-namespace1.patch" + "0k7nrn0dhvqxj4sg2gndzxih0l1f77h6pv7jhcdz7h69sm4xci2z") + ("chromium-76-gcc-blink-namespace2.patch" + "014y2d8ii9sr340sjbv1fhsjd5s3dl0vbmq5wzlkdjsp91dcn9ch"))) ;; This is a "computed" origin that does the following: ;; *) Runs the Ungoogled scripts on a pristine Chromium tarball. @@ -314,6 +343,12 @@ from forcing GEXP-PROMISE." (force-output) (invoke "tar" "xf" #+chromium-source) + ;; Ungoogled-Chromium contains a forked subset of the Debian + ;; patches. Disable those, as we apply newer versions later. + (substitute* "patches/series" + ((".*/debian_buster/.*") + "")) + (format #t "Ungooglifying...~%") (force-output) (invoke "python3" "utils/prune_binaries.py" chromium-dir @@ -330,16 +365,7 @@ from forcing GEXP-PROMISE." (force-output) (let* ((debian #+debian-source) (patches (string-append debian "/debian/patches")) - (series (string-append patches "/series")) - (grep-q (lambda (query file) - (with-input-from-file file - (lambda () - (let loop ((line (read-line)) - (match #f)) - (if (or match (eof-object? line)) - (if match #t #f) - (loop (read-line) - (string-contains line query))))))))) + (series (string-append patches "/series"))) (with-input-from-file series (lambda () (let loop ((line (read-line))) @@ -347,19 +373,35 @@ from forcing GEXP-PROMISE." (when (and (> (string-length line) 1) ;; Skip the Debian-specific ones. (not (string-prefix? "debianization/" line)) + (not (string-prefix? "buster/" line)) ;; And those that conflict with Ungoogled. (not (any (cute string-suffix? <> line) '("widevine-buildflag.patch" "signin.patch" - "third-party-cookies.patch"))) - ;; Ungoogled includes a subset of the Debian - ;; patches. Exclude those already present. - (not (grep-q line "../patches/series"))) + "third-party-cookies.patch" + + ;; XXX: 'fixes/inspector.patch' + ;; makes v8 reuse the top-level + ;; third_party/inspector_protocol + ;; instead of its own bundled copy, + ;; but that does not work here for + ;; some reason. Ignore that patch + ;; and those that depend on it. + "wrong-namespace.patch" + "explicit-specialization.patch" + "inspector.patch")))) (invoke "patch" "--force" "-p1" "--input" (string-append patches "/" line) "--no-backup-if-mismatch")) (loop (read-line))))))) + (format #t "Applying Guix-specific patches...~%") + (force-output) + (for-each (lambda (patch) + (invoke "patch" "--force" "-p1" "--input" + patch "--no-backup-if-mismatch")) + '#+%auxiliary-patches) + (format #t "Pruning third party files...~%") (force-output) (apply invoke "python" @@ -458,7 +500,6 @@ from forcing GEXP-PROMISE." "is_clang=false" ;; Disable debugging features to save space. These are normally ;; pulled in by "is_official_build", but that requires "is_clang". - "blink_symbol_level=0" "enable_iterator_debugging=false" "exclude_unwind_tables=true" ;; Optimize for building everything at once, as opposed to @@ -488,7 +529,7 @@ from forcing GEXP-PROMISE." '("use_vaapi=true") '()) - ;; Don't arbitrarily restrict formats supported by system ffmpeg. + ;; Do not artifically restrict formats supported by system ffmpeg. "proprietary_codecs=true" "ffmpeg_branding=\"Chrome\"" @@ -561,12 +602,12 @@ from forcing GEXP-PROMISE." (substitute* "third_party/webrtc/rtc_base/strings/json.h" (("#include \"third_party/jsoncpp/") "#include \"json/")) - (substitute* '("ui/gfx/skia_util.h" + (substitute* '("components/viz/common/gpu/vulkan_context_provider.h" "components/viz/common/resources/resource_format_utils.h") (("third_party/vulkan/include/") "")) (substitute* "third_party/skia/include/gpu/vk/GrVkVulkan.h" - (("\\.\\./\\.\\./include/third_party/vulkan/") "")) + (("include/third_party/vulkan/") "")) ;; Building chromedriver embeds some files using the ZIP ;; format which doesn't support timestamps before @@ -587,6 +628,9 @@ from forcing GEXP-PROMISE." (setenv "AR" "ar") (setenv "NM" "nm") (setenv "CC" "gcc") (setenv "CXX" "g++") + ;; Prevent GCC from optimizing away null pointer safety checks. + (setenv "CXXFLAGS" "-fno-delete-null-pointer-checks") + ;; Work around . (unsetenv "C_INCLUDE_PATH") (unsetenv "CPLUS_INCLUDE_PATH") -- cgit v1.2.3 From e920037793faeebf8fb2a918b50a1751b125a0af Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 02:21:42 +0200 Subject: gnu: docker-cli: Print a usable version string. * gnu/packages/docker.scm (docker-cli)[arguments]<#:phases>: Set the VERSION variable before building the package. --- gnu/packages/docker.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 18e7bea724..0f47eaf236 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -586,6 +586,9 @@ provisioning etc.") ;; information, and the DWARF symbol table. (setenv "LDFLAGS" "-s -w") + ;; Make sure "docker -v" prints a usable version string. + (setenv "VERSION" ,%docker-version) + ;; Make build reproducible. (setenv "BUILDTIME" "1970-01-01 00:00:01.000000000+00:00") (symlink "src/github.com/docker/cli/scripts" "./scripts") -- cgit v1.2.3 From 9728def2e94d23adc3961ed138e6d4e982e8dd77 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 16:21:26 +0200 Subject: gnu: enchant: Update to 2.2.5. * gnu/packages/enchant.scm (enchant): Update to 2.2.5. --- gnu/packages/enchant.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index ce148b47a5..cfec161784 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -33,7 +33,7 @@ (define-public enchant (package (name "enchant") - (version "2.2.4") + (version "2.2.5") (source (origin (method url-fetch) (uri (string-append "https://github.com/AbiWord/enchant/releases" @@ -41,7 +41,7 @@ version ".tar.gz")) (sha256 (base32 - "1p6a3qmrh8bjzds6x7rg9da0ir44gg804jzkf634h39wsa4vdmpm")))) + "0iqwzs11i9fvqdxv5kn0svcn2mzymn657qf3j66lg8dx1nh4xkpz")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static" -- cgit v1.2.3 From febbe431554e7f010b43f80fa0273b4122cec343 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 16:21:43 +0200 Subject: gnu: exiv2: Update to 0.27.2. * gnu/packages/image.scm (exiv2): Update to 0.27.2. --- gnu/packages/image.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 3e5eae47e7..d4273c6fa1 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -1108,14 +1108,14 @@ channels.") (define-public exiv2 (package (name "exiv2") - (version "0.27.1") + (version "0.27.2") (source (origin (method url-fetch) (uri (string-append "https://www.exiv2.org/builds/exiv2-" version "-Source.tar.gz")) (sha256 - (base32 "109hbfk63dh14fz20ivq20gcclb9jj9jmh48w4lcn6zxh1ljh9gi")))) + (base32 "0gqminvj14xm3rgbnydbywf22608js80rp7nmxxk4497j5mzali6")))) (build-system cmake-build-system) (arguments '(#:tests? #f)) ; no test suite (propagated-inputs -- cgit v1.2.3 From 16feaeefc9943478e703515c91a7a05d6ab8c468 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 16:22:01 +0200 Subject: gnu: libevent: Update to 2.1.11. * gnu/packages/libevent.scm (libevent): Update to 2.1.11. --- gnu/packages/libevent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm index 7982a12dfd..4898f0a768 100644 --- a/gnu/packages/libevent.scm +++ b/gnu/packages/libevent.scm @@ -41,7 +41,7 @@ (define-public libevent (package (name "libevent") - (version "2.1.10") + (version "2.1.11") (source (origin (method url-fetch) (uri (string-append @@ -49,7 +49,7 @@ version "-stable/libevent-" version "-stable.tar.gz")) (sha256 (base32 - "1c25928gdv495clxk2v1d4gkr5py7ack4gx2n7d13frnld0syr78")))) + "0g988zqm45sj1hlhhz4il5z4dpi5dl74hzjwzl4md37a09iaqnx6")))) (build-system gnu-build-system) (arguments ;; This skips some of the tests which fail on armhf and aarch64. -- cgit v1.2.3 From 2e2db09280d114bbdd0744c73d02aa5c40abdf4a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 16:22:20 +0200 Subject: gnu: strace: Update to 5.2. * gnu/packages/linux.scm (strace): Update to 5.2. --- 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 395a06c956..a35af299dd 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1402,7 +1402,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (define-public strace (package (name "strace") - (version "5.1") + (version "5.2") (home-page "https://strace.io") (source (origin (method url-fetch) @@ -1410,7 +1410,7 @@ Zerofree requires the file system to be unmounted or mounted read-only.") "/strace-" version ".tar.xz")) (sha256 (base32 - "12wsga1v3rab24gr0mpfip7j7gwr90m8f9h6fviqxa3xgnwl38zm")))) + "1li49i75wrdw91hchyyd8spnzfcmxcfyfb5g9zbaza89aq4bq4ym")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 4f868257f3f2d15236f070dd53770232c6dbaf88 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 16:22:35 +0200 Subject: gnu: samba: Update to 4.10.6. * gnu/packages/samba.scm (samba): Update to 4.10.6. --- gnu/packages/samba.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index 812a36ca9a..da4f251ab6 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -153,14 +153,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "4.10.5") + (version "4.10.6") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 (base32 - "0xb3mz38hcayqxchk0ws9mxn10vswsn97jbxl4gcwi4cbrnjc43c")))) + "0hpgdqlyczj98pkh2ldglvvnkrb1q541r3qikdvxq0qjvd9fpywy")))) (build-system gnu-build-system) (arguments `(#:phases -- cgit v1.2.3 From cb96d239e62400c97c30319ae470683a09425041 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 17:38:13 +0200 Subject: gnu: i3status: Update to 2.13. * gnu/packages/wm.scm (i3status): Update to 2.13. [arguments]: Remove #:make-flags and #:phases. Add #:out-of-source?. [native-inputs]: Add DOCBOOK-XSL, LIBXML2 and XMLTO. --- gnu/packages/wm.scm | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 8fe94e28b4..12c019bdff 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -131,20 +131,19 @@ the leaves of a full binary tree.") (define-public i3status (package (name "i3status") - (version "2.12") + (version "2.13") (source (origin (method url-fetch) (uri (string-append "https://i3wm.org/i3status/i3status-" version ".tar.bz2")) (sha256 (base32 - "06krpbijv4yi33nypg6qcn4hilcrdyarsdpd9fmr2cq46qaqiikg")))) + "0rhlzb96mw64z2jnhwz9nibc7pxg549626lz5642xxk5hpzwk2ff")))) (build-system gnu-build-system) (arguments - `(#:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) - #:phases - (modify-phases %standard-phases - (delete 'configure)) + `(;; XXX: Do an "out of source" build to work around + ;; . + #:out-of-source? #t #:tests? #f)) ; no test suite (inputs `(("openlibm" ,openlibm) @@ -156,7 +155,10 @@ the leaves of a full binary tree.") ("libcap" ,libcap) ("asciidoc" ,asciidoc))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("docbook-xsl" ,docbook-xsl) + ("libxml2" ,libxml2) ;for XML_CATALOG_FILES + ("xmlto" ,xmlto))) (home-page "https://i3wm.org/i3status/") (synopsis "Status bar for i3bar, dzen2, xmobar or similar programs") (description "i3status is a small program for generating a status bar for -- cgit v1.2.3 From 15b5963300774bc31e20c93b221255431d83072f Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 17:39:04 +0200 Subject: gnu: i3-wm: Update to 4.17. * gnu/packages/wm.scm (i3-wm): Update to 4.17. --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 12c019bdff..c56cf406ee 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -173,14 +173,14 @@ commands would.") (define-public i3-wm (package (name "i3-wm") - (version "4.16.1") + (version "4.17") (source (origin (method url-fetch) (uri (string-append "https://i3wm.org/downloads/i3-" version ".tar.bz2")) (sha256 (base32 - "0xl56y196vxv001gvx35xwfr25zah8m3xwizp9ycdgdc0rfc4rdb")))) + "1z8qmkkq9dhqmqy8sjw3rnpnmnb8v7lr456bs0qzp23bgpj17gjf")))) (build-system gnu-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 621ce95cfe5363d4ce74ff987956071f82d277fd Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 19:44:08 +0200 Subject: gnu: x265: Update source URI. * gnu/packages/video.scm (x265)[source](uri): Add the canonical upstream at . --- gnu/packages/video.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9febda6949..6f68935968 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -478,8 +478,10 @@ and creating Matroska files from other media files (@code{mkvmerge}).") (source (origin (method url-fetch) - (uri (string-append "https://download.videolan.org/videolan/x265/" - "x265_" version ".tar.gz")) + (uri (list (string-append "https://bitbucket.org/multicoreware/x265" + "/downloads/x265_" version ".tar.gz") + (string-append "https://download.videolan.org/videolan/x265/" + "x265_" version ".tar.gz"))) (sha256 (base32 "1l68lgdbsi4wjz5vad98ggx7mf92rnvzlq34m6w0a08ark3h0yc2")) -- cgit v1.2.3 From 5b689de58db29f55265d4feb82b97fc70332d27b Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 4 Aug 2019 19:44:55 +0200 Subject: gnu: x265: Update to 3.1.2. * gnu/packages/video.scm (x265): Update to 3.1.2. --- 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 6f68935968..04715a5ce1 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -473,7 +473,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") (define-public x265 (package (name "x265") - (version "3.1.1") + (version "3.1.2") (outputs '("out" "static")) (source (origin @@ -484,7 +484,7 @@ and creating Matroska files from other media files (@code{mkvmerge}).") "x265_" version ".tar.gz"))) (sha256 (base32 - "1l68lgdbsi4wjz5vad98ggx7mf92rnvzlq34m6w0a08ark3h0yc2")) + "1ajr59gjj47gnczfb2qhmzclj746pdiq9a1d81b0mq22k8f5yy3g")) (patches (search-patches "x265-arm-flags.patch")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From e643d90f0fe471217f506300b74981a4e8b5802d Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Aug 2019 00:25:30 +0200 Subject: gnu: docker-compose: Remove Windows-specific input. * gnu/packages/docker.scm (docker-compose)[inputs]: Remove python-colorama. --- gnu/packages/docker.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index 0f47eaf236..b271f38d18 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -117,7 +117,6 @@ client.") ,python2-backport-ssl-match-hostname) ("python-cached-property" ,python-cached-property) - ("python-colorama" ,python-colorama) ("python-docker-py" ,python-docker-py) ("python-docker-pycreds" ,python-docker-pycreds) ("python-dockerpty" ,python-dockerpty) -- cgit v1.2.3 From d12578f2e2a34c8283f825e4c698602660f33884 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Aug 2019 00:44:56 +0200 Subject: gnu: python-docker-py: Propagate dependencies. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/docker.scm (python-docker-py)[inputs]: Move python-docker-pycreds and python-paramiko from here… [propagated-inputs]: …to here. (docker-compose)[inputs]: Remove them. --- gnu/packages/docker.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index b271f38d18..a4bb09321a 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -63,12 +63,13 @@ (arguments '(#:tests? #f)) (inputs `(("python-requests" ,python-requests-2.20) - ("python-docker-pycreds" ,python-docker-pycreds) ("python-ipaddress" ,python-ipaddress) - ("python-paramiko" ,python-paramiko) ("python-six" ,python-six) ("python-urllib3" ,python-urllib3-1.24) ("python-websocket-client" ,python-websocket-client))) + (propagated-inputs + `(("python-docker-pycreds" ,python-docker-pycreds) + ("python-paramiko" ,python-paramiko))) ; adds SSH support (home-page "https://github.com/docker/docker-py/") (synopsis "Python client for Docker") (description "Docker-Py is a Python client for the Docker container @@ -118,11 +119,9 @@ client.") ("python-cached-property" ,python-cached-property) ("python-docker-py" ,python-docker-py) - ("python-docker-pycreds" ,python-docker-pycreds) ("python-dockerpty" ,python-dockerpty) ("python-docopt" ,python-docopt) ("python-ipaddress" ,python-ipaddress) - ("python-paramiko" ,python-paramiko) ("python-jsonschema" ,python-jsonschema-2.6) ("python-pyyaml" ,python-pyyaml) ("python-requests" ,python-requests-2.20) -- cgit v1.2.3 From 35600cd9a0eeff3b0899fc13de430f86d70e73ee Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Aug 2019 00:50:28 +0200 Subject: gnu: docker-compose: Remove inputs for old Python versions. * gnu/packages/docker.scm (docker-compose)[inputs]: Remove python2-backport-ssl-match-hostname and python-ipaddress. --- gnu/packages/docker.scm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/gnu/packages/docker.scm b/gnu/packages/docker.scm index a4bb09321a..94cfa2bdb7 100644 --- a/gnu/packages/docker.scm +++ b/gnu/packages/docker.scm @@ -114,14 +114,11 @@ client.") ;; TODO: Tests require running Docker daemon. (arguments '(#:tests? #f)) (inputs - `(("python2-backport-ssl-match-hostname" - ,python2-backport-ssl-match-hostname) - ("python-cached-property" + `(("python-cached-property" ,python-cached-property) ("python-docker-py" ,python-docker-py) ("python-dockerpty" ,python-dockerpty) ("python-docopt" ,python-docopt) - ("python-ipaddress" ,python-ipaddress) ("python-jsonschema" ,python-jsonschema-2.6) ("python-pyyaml" ,python-pyyaml) ("python-requests" ,python-requests-2.20) -- cgit v1.2.3 From 95580bda050d0e776c0730b95b4fd3b84fb4f1c7 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 3 Aug 2019 19:46:31 -0400 Subject: gnu: nss: Update to 3.45 [security fixes]. Includes fixes for CVE-2019-11719, CVE-2019-11727, and CVE-2019-11729. * gnu/packages/nss.scm (nss): Update to 3.45. --- gnu/packages/nss.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 40a8002954..9a77f2f9ba 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -70,7 +70,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.44.1") + (version "3.45") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -81,7 +81,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "1y0jvva4s3j7cjz22kqw2lsml0an1295bgpc2raf7kc9r60cpr7w")) + "12sfq9xvpwpc22qnjsg1if1lmchiy33byrh92wn91phz7li0abqi")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")))) -- cgit v1.2.3 From 71f9016a4f7d67ca7665303296d4e6bc13d12e2c Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 4 Aug 2019 21:54:23 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.187. * gnu/packages/linux.scm (linux-libre-4.4-version): Update to 4.4.187. (linux-libre-4.4-pristine-source)[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 a35af299dd..df58189b01 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -382,10 +382,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.186") +(define-public linux-libre-4.4-version "4.4.187") (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "113rjf8842glzi23y1g1yrwncihv2saah6wz0r726r06bk9p64hb"))) + (hash (base32 "1dlzb5yzcsicd41myj3q4dq2ql8xcc49brs5f7xjmc5ynvvjjgnc"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) -- cgit v1.2.3 From 8079493c6cc4bc869a63d43e6f3e686e0b6aad95 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 4 Aug 2019 21:55:23 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.187. * gnu/packages/linux.scm (linux-libre-4.9-version): Update to 4.9.187. (linux-libre-4.9-pristine-source)[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 df58189b01..c9bf91b32c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -374,10 +374,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.186") +(define-public linux-libre-4.9-version "4.9.187") (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0sjbp7m6d625rw06wv34a0805d1lgldii4pxiqfpja871m1q8914"))) + (hash (base32 "1iyimwl4ysnk6m66m73sg0cnp4vac56d6yy174shfpnj5h2csjq1"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -- cgit v1.2.3 From cf1941712fc5d43edd2207c83e806e423e904f3b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 4 Aug 2019 21:56:20 -0400 Subject: gnu: linux-libre@4.14: Update to 4.14.136. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.136. (linux-libre-4.14-pristine-source)[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 c9bf91b32c..f6dc34eebd 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -366,10 +366,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.135") +(define-public linux-libre-4.14-version "4.14.136") (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0x2v0pj4hjb71qkxbqn4ymg6zmyabp91kylyzd270nbig7i234a2"))) + (hash (base32 "0w6z5fhwqgpqnz2js8vj9j5dl6isx8n7rnzrm0vr9r8njaazz396"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -- cgit v1.2.3 From b4478eb2e34aa2224d878d9bedaec9bcc93a487f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 4 Aug 2019 21:57:03 -0400 Subject: gnu: linux-libre@4.19: Update to 4.19.64. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.64. (linux-libre-4.19-pristine-source)[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 f6dc34eebd..d1754ffce9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -358,10 +358,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (%upstream-linux-source version hash) deblob-scripts-5.2))) -(define-public linux-libre-4.19-version "4.19.63") +(define-public linux-libre-4.19-version "4.19.64") (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0pfjwpa6szvdr941y13806hlsgsbslfsvkrd5534p1iip5h8g63m"))) + (hash (base32 "1gasmcdsrsk81dscslmrsxqsvkfp5xxdx3ay95izggpk7piqnvvs"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From 5ee4d11ff49cb58911f17c4a01cf40b5c47a4c11 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 4 Aug 2019 21:57:54 -0400 Subject: gnu: linux-libre: Update to 5.2.6. * gnu/packages/linux.scm (linux-libre-5.2-version): Update to 5.2.6. (linux-libre-5.2-pristine-source)[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 d1754ffce9..44526e3786 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -350,10 +350,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." "linux-" version ".tar.xz")) (sha256 hash))) -(define-public linux-libre-5.2-version "5.2.5") +(define-public linux-libre-5.2-version "5.2.6") (define-public linux-libre-5.2-pristine-source (let ((version linux-libre-5.2-version) - (hash (base32 "15ndscsp3yqgas901g6inpmyvinz4cwr5y3md516j2pr8cl40if6"))) + (hash (base32 "1whzgdz1wnjzkb78yqz4xs3mad02rv17ksmwaf4ykp4lfgxml45y"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.2))) -- cgit v1.2.3 From d9340de9031211c220b5b710e64af29e066f26f2 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:48:54 +0200 Subject: gnu: khmer: Make gzip timestamps writable. * gnu/packages/bioinformatics.scm (khmer)[arguments]: Add custom phase to make gzip timestamps writable. Signed-off-by: Efraim Flashner --- gnu/packages/bioinformatics.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 89f1ac36ea..bcec9cd279 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -13,6 +13,7 @@ ;;; Copyright © 2018 Gábor Boskovits ;;; Copyright © 2018 Mădălin Ionel Patrașcu ;;; Copyright © 2019 Maxim Cournoyer +;;; Copyright © 2019 Brian Leung ;;; ;;; This file is part of GNU Guix. ;;; @@ -4206,8 +4207,15 @@ command, or queried for specific k-mers with @code{jellyfish query}.") (modify-phases %standard-phases (add-after 'unpack 'set-cc (lambda _ (setenv "CC" "gcc") #t)) - ;; FIXME: This fails with "permission denied". - (delete 'reset-gzip-timestamps)))) + + (add-before 'reset-gzip-timestamps 'make-files-writable + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure .gz files are writable so that the + ;; 'reset-gzip-timestamps' phase can do its work. + (let ((out (assoc-ref outputs "out"))) + (for-each make-file-writable + (find-files out "\\.gz$")) + #t)))))) (native-inputs `(("python-cython" ,python-cython) ("python-pytest" ,python-pytest) -- cgit v1.2.3 From 71804546b182b8300334df6fb23d207d5e5ba61c Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 25 Jun 2019 20:50:54 +0200 Subject: gnu: python-scikit-learn: Make gzip timestamps writable. * gnu/packages/machine-learning.scm (python-scikit-learn) [arguments]: Add custom phase to make gzip timestamps writable. Signed-off-by: Efraim Flashner --- gnu/packages/machine-learning.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/machine-learning.scm b/gnu/packages/machine-learning.scm index 2dc7dc81ef..dd5ee1e9ee 100644 --- a/gnu/packages/machine-learning.scm +++ b/gnu/packages/machine-learning.scm @@ -821,8 +821,14 @@ computing environments.") (setenv "HOME" "/tmp") (invoke "pytest" "sklearn" "-m" "not network"))) - ;; FIXME: This fails with permission denied - (delete 'reset-gzip-timestamps)))) + (add-before 'reset-gzip-timestamps 'make-files-writable + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure .gz files are writable so that the + ;; 'reset-gzip-timestamps' phase can do its work. + (let ((out (assoc-ref outputs "out"))) + (for-each make-file-writable + (find-files out "\\.gz$")) + #t)))))) (inputs `(("openblas" ,openblas))) (native-inputs -- cgit v1.2.3 From dedafb9ccf6cf2ec8cc76cbb45c2da78dafbcc15 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 5 Aug 2019 13:03:17 +0200 Subject: gnu: emacs-org: Update to 9.2.5. * gnu/packages/emacs-xyz.scm (emacs-org): Update to 9.2.5. --- 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 600d810bea..aeed657f2d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6587,14 +6587,14 @@ passive voice.") (name "emacs-org") ;; emacs-org-contrib inherits from this package. Please update its sha256 ;; checksum as well. - (version "9.2.3") + (version "9.2.5") (source (origin (method url-fetch) - (uri (string-append "http://elpa.gnu.org/packages/org-" + (uri (string-append "https://elpa.gnu.org/packages/org-" version ".tar")) (sha256 (base32 - "0hqy4lns9q5p0l1ylgmlckqprn9sbasszhznanmv0rsh0gzhsbyw")))) + "1pid1sykgz83i4ry5n8f270finag6sm7ckqxn5lkikyya43wlzx1")))) (build-system emacs-build-system) (home-page "https://orgmode.org/") (synopsis "Outline-based notes management and organizer") -- cgit v1.2.3 From b705b1388f1e02ac57634aa22327e7b56df83d97 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 5 Aug 2019 13:07:56 +0200 Subject: gnu: emacs-org-contrib: Update to 20190805. * gnu/packages/emacs-xyz.scm (emacs-org-contrib): Update to 20190805. --- 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 aeed657f2d..c8d35c6a13 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6608,14 +6608,14 @@ programming and reproducible research.") (package (inherit emacs-org) (name "emacs-org-contrib") - (version "20190715") + (version "20190805") (source (origin (method url-fetch) (uri (string-append "https://orgmode.org/elpa/org-plus-contrib-" version ".tar")) (sha256 (base32 - "0yxxkcaxhp5bmjsfdd9pz79rj9s7nb4gj5ci51sh4pf8mimk9542")))) + "1mw91hwbqyjq5pyz9hzdhvjlc2bphqpi23yqd3sdk1crpc87s40c")))) (arguments `(#:modules ((guix build emacs-build-system) (guix build utils) -- cgit v1.2.3 From 213315d48594fe5e77157e8e7a51a1fc822229e6 Mon Sep 17 00:00:00 2001 From: Jonathan Frederickson Date: Sun, 4 Aug 2019 20:13:00 -0400 Subject: gnu: Add libhandy. * gnu/packages/gnome.scm (libhandy): New variable. Co-authored-by: Ricardo Wurmus Signed-off-by: Ricardo Wurmus --- gnu/packages/gnome.scm | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3f7bbac214..3e75cc68d9 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2019 Florian Pelz ;;; Copyright © 2019 Giacomo Leidi ;;; Copyright © 2019 Jelle Licht +;;; Copyright © 2019 Jonathan Frederickson ;;; ;;; This file is part of GNU Guix. ;;; @@ -8178,3 +8179,51 @@ advanced image management tool") "Terminator allows you to run multiple GNOME terminals in a grid and +tabs, and it supports drag and drop re-ordering of terminals.") (license license:gpl2))) + +(define-public libhandy + (package + (name "libhandy") + (version "0.0.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://source.puri.sm/Librem5/libhandy") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1702hbdqhfpgw0c4vj2ag08vgl83byiryrbngbq11b9azmj3jhzs")))) + (build-system meson-build-system) + (arguments + `(#:configure-flags + '("-Dglade_catalog=disabled" + "-Dgtk_doc=true") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-broken-test + (lambda _ + ;; This test fails for unknown reasons + (substitute* "tests/meson.build" + (("'test-dialog',") "")) + #t)) + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a running X server. + (system "Xvfb :1 &") + (setenv "DISPLAY" ":1") + #t))))) + (inputs + `(("gtk+" ,gtk+))) + (native-inputs + `(("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) ; for g-ir-scanner + ("vala" ,vala) + ("gtk-doc" ,gtk-doc) + ("pkg-config" ,pkg-config) + ("gettext" ,gettext-minimal) + ("xorg-server" ,xorg-server))) + (home-page "https://source.puri.sm/Librem5/libhandy") + (synopsis "Library full of GTK+ widgets for mobile phones") + (description "The aim of the handy library is to help with developing user +intefaces for mobile devices using GTK+.") + (license license:lgpl2.1+))) -- cgit v1.2.3 From 7fb91e4f368498360b2545fe2505918787f4ecf1 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 24 Jul 2019 04:05:18 +0200 Subject: gnu: emacs-helm: Update to 3.3. * gnu/packages/emacs-xyz.scm (emacs-helm): Update to 3.3. Signed-off-by: Ricardo Wurmus --- 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 c8d35c6a13..2e7df6ce46 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5931,7 +5931,7 @@ ack, ag, helm and pt.") (define-public emacs-helm (package (name "emacs-helm") - (version "3.2") + (version "3.3") (source (origin (method git-fetch) @@ -5940,7 +5940,7 @@ ack, ag, helm and pt.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "12yyprpgh2by2pd41i4z9gz55fxg0f90x03bfrsf791xwbhf6931")))) + (base32 "0fqhw7r9fcsja5d3pgbipw7pkw9nj534faav6hi45413hc3gyv92")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) -- cgit v1.2.3 From 91b351de533227305a6fd66adb4b37f543894583 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 24 Jul 2019 04:05:29 +0200 Subject: gnu: Add emacs-evil-traces. * gnu/packages/emacs-xyz.scm (emacs-evil-traces): New variable. Signed-off-by: Ricardo Wurmus --- 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 2e7df6ce46..3461c60716 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16632,6 +16632,30 @@ provided. Those alternative commands are and bound by default to their corresponding Evil keys.") (license license:expat)))) +(define-public emacs-evil-traces + (let ((commit "b41b7432b8110378c199a3d25af464083777f453") + (revision "1")) + (package + (name "emacs-evil-traces") + (version (git-version "0.0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mamapanda/evil-traces.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0a15f2saynz9fws1h5s7py3cshsk4xs1kwgwj1m5rsin36g0j6hc")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-evil" ,emacs-evil))) + (home-page "https://github.com/mamapanda/evil-traces") + (synopsis "Visual hints for @code{evil-ex}") + (description "This package adds visual hints to certain @code{ex} +commands in @code{evil-mode}.") + (license license:gpl3+)))) + (define-public emacs-xterm-color (let ((commit "a452ab38a7cfae97078062ff8885b5d74fd1e5a6") (version "1.8") -- cgit v1.2.3 From 0074b1e96c993919e7a36f26443650f3e265fc91 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 24 Jul 2019 04:29:55 +0200 Subject: gnu: Add emacs-scroll-on-drag. * gnu/packages/emacs-xyz.scm (emacs-scroll-on-drag): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 3461c60716..3ecf681b82 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -12676,6 +12676,29 @@ When @code{gac-automatically-push-p} is non-nil, it also tries to push to the current upstream.") (license license:gpl3+))) +(define-public emacs-scroll-on-drag + (let ((commit "888abd04c34753b1fc4b2fe541bc004ebec5c996") + (revision "1")) + (package + (name "emacs-scroll-on-drag") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/ideasman42/emacs-scroll-on-drag.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1si4hdqa3jw1inbyh3wb3i5i9grbms1nwky3vyk9zg7iznwm8a9p")))) + (build-system emacs-build-system) + (home-page "https://gitlab.com/ideasman42/emacs-scroll-on-drag") + (synopsis "Interactive scrolling") + (description "This package permits scrolling at increasing speeds based +on drag distance.") + (license license:gpl3+)))) + (define-public emacs-company-restclient (package (name "emacs-company-restclient") -- cgit v1.2.3 From 1239146613846f3cc19c4053e08586304eb12b1a Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Wed, 24 Jul 2019 05:54:14 +0200 Subject: gnu: emacs-magit-todos: Update to 1.3. * gnu/packages/emacs-xyz.scm (emacs-magit-todos): Update to 1.3. Signed-off-by: Ricardo Wurmus --- 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 3ecf681b82..8bd20a7289 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14165,7 +14165,7 @@ buffers – other modes on the TODO list). (define-public emacs-magit-todos (package (name "emacs-magit-todos") - (version "1.2") + (version "1.3") (source (origin (method git-fetch) @@ -14175,7 +14175,7 @@ buffers – other modes on the TODO list). (file-name (git-file-name name version)) (sha256 (base32 - "17a18gszbypz82bj36xbfyykc4s9rz83vwmpxvlf65svhd51c0nh")))) + "0gfm6wn2a4v5i9lfsvvin0kwpr9n96ddm3z4yf50jd3kg2igzry1")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-async" ,emacs-async) -- cgit v1.2.3 From 1a24d8b3472f63534fe8020d2d70b88507e25d06 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 25 Jul 2019 00:03:59 +0200 Subject: gnu: Add emacs-helm-org-rifle. * gnu/packages/emacs-xyz.scm (emacs-helm-org-rifle): New variable. Signed-off-by: Ricardo Wurmus --- 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 8bd20a7289..06248ccf5f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7159,6 +7159,32 @@ find files owned by packages... And much more, including performing all the above over the network.") (license license:gpl3+)))) +(define-public emacs-helm-org-rifle + (package + (name "emacs-helm-org-rifle") + (version "1.6.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/helm-org-rifle") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r38xhwvgbv6kn5x159phz3xgss7f1rc7icq27rnr4d8aj91wm6k")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-helm" ,emacs-helm) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/helm-org-rifle") + (synopsis "Rifle through Org files") + (description "This package searches both headings and contents of entries +in Org buffers and displays matching entries.") + (license license:gpl3+))) + (define-public emacs-memoize (package (name "emacs-memoize") -- cgit v1.2.3 From 76c2e51017124722006255453fcfae435df1de82 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 27 Jul 2019 01:00:50 +0200 Subject: gnu: Add emacs-dired-toggle-sudo. * gnu/packages/emacs-xyz.scm (emacs-dired-toggle-sudo): New variable. * gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ricardo Wurmus --- gnu/local.mk | 1 + gnu/packages/emacs-xyz.scm | 24 +++++++++++ .../patches/emacs-dired-toggle-sudo-emacs-26.patch | 49 ++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch diff --git a/gnu/local.mk b/gnu/local.mk index ca15f3096d..9e1b0f87c3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -772,6 +772,7 @@ dist_patch_DATA = \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-path-length.patch \ %D%/packages/patches/einstein-build.patch \ + %D%/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch \ %D%/packages/patches/emacs-exec-path.patch \ %D%/packages/patches/emacs-fix-scheme-indent-function.patch \ %D%/packages/patches/emacs-json-reformat-fix-tests.patch \ diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 06248ccf5f..85446ede4c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7185,6 +7185,30 @@ above over the network.") in Org buffers and displays matching entries.") (license license:gpl3+))) +(define-public emacs-dired-toggle-sudo + (package + (name "emacs-dired-toggle-sudo") + (version "1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/renard/dired-toggle-sudo") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ajj8d6k5in2hclcrqckinfh80ylddplva0ryfbkzsjkfq167cv2")) + (patches + (search-patches + "emacs-dired-toggle-sudo-emacs-26.patch")))) + (build-system emacs-build-system) + (home-page "https://github.com/renard/dired-toggle-sudo") + (synopsis "Browse directory with @code{sudo} privileges") + (description "This package allows for the use of @code{dired} with +@code{sudo} privileges.") + (license license:wtfpl2))) + (define-public emacs-memoize (package (name "emacs-memoize") diff --git a/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch b/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch new file mode 100644 index 0000000000..d979b113d0 --- /dev/null +++ b/gnu/packages/patches/emacs-dired-toggle-sudo-emacs-26.patch @@ -0,0 +1,49 @@ +From 3c0f4b27a079b90dc632f5061a81ce28cef24801 Mon Sep 17 00:00:00 2001 +From: eryx67 +Date: Thu, 29 Nov 2018 10:30:20 +0500 +Subject: [PATCH] fix for latest emacs + +--- + dired-toggle-sudo.el | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/dired-toggle-sudo.el b/dired-toggle-sudo.el +index 386921b..fe5898e 100644 +--- a/dired-toggle-sudo.el ++++ b/dired-toggle-sudo.el +@@ -37,17 +37,20 @@ + unless SUDO-USER is provided." + (let* (;; Handle the case of local files. `tramp-dissect-file-name' does + ;; not raise an error anymore. +- (path (if (tramp-tramp-file-p path) path (concat "/:" path))) ++ ;;(path (if (tramp-tramp-file-p path) path (concat "/-::" path))) + (file-vec (or (ignore-errors (tramp-dissect-file-name + path)) + (tramp-dissect-file-name +- (concat "/:" path) 1))) ++ (concat "/-::" path) 1))) + (method (tramp-file-name-method file-vec)) + (user (tramp-file-name-user file-vec)) + (host (tramp-file-name-host file-vec)) ++ (domain (tramp-file-name-domain file-vec)) ++ (port (tramp-file-name-port file-vec)) + (localname (expand-file-name + (tramp-file-name-localname file-vec)))) +- (when (string= system-name host) ++ (when (or (string= (system-name) host) ++ (string= "-" host)) + (setq host nil)) + (cond + ;; remote directory -> sudo +@@ -67,7 +70,7 @@ unless SUDO-USER is provided." + (setq method "sudo" user sudo-user))) + (replace-regexp-in-string + "^/:/" "/" +- (tramp-make-tramp-file-name method user host localname)))) ++ (tramp-make-tramp-file-name method domain user host port localname)))) + + (defun dired-toggle-sudo-find (fname) + "Create a new buffer for file name FNAME." +-- +2.22.0 + -- cgit v1.2.3 From aca6091b05b966eaf64e16e3203cf014c53112d3 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 27 Jul 2019 01:49:54 +0200 Subject: gnu: emacs-highlight-indentation: Update to 0.7.0-1.d03803f. * gnu/packages/emacs-xyz.scm (emacs-highlight-indentation): Update to 0.7.0-1.d03803f. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 45 ++++++++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 85446ede4c..660752ee28 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5580,28 +5580,35 @@ environments (virtualenv) inside Emacs.") (license license:gpl3+))) (define-public emacs-highlight-indentation - (package - (name "emacs-highlight-indentation") - (version "0.7.0") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "00l54k75qk24a0znzl4ij3s3nrnr2wy9ha3za8apphzlm98m907k")))) - (build-system emacs-build-system) - (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/") - (synopsis "Highlighting indentation for Emacs") - (description "Provides two minor modes to highlight indentation guides in Emacs: + ;; Last release version is from 2015. + (let ((commit "d03803f2c06749c430443a3d24e039cbafc9c58f") + (revision "1")) + (package + (name "emacs-highlight-indentation") + (version (git-version "0.7.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/antonj/Highlight-Indentation-for-Emacs.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jq0gf4kcx9hvrw40rnw5c2qynjpjw1vsjbi2i4lqjbsnfnxn4wz")))) + (build-system emacs-build-system) + (home-page "https://github.com/antonj/Highlight-Indentation-for-Emacs/") + (synopsis "Highlighting indentation for Emacs") + (description "This package provides two minor modes to highlight +indentation guides in Emacs: + @enumerate @item @code{highlight-indentation-mode}, which displays guidelines -indentation (space indentation only). -@item @code{highlight-indentation-current-column-mode}, which displays guidelines for the current-point indentation (space indentation only). + indentation (space indentation only). +@item @code{highlight-indentation-current-column-mode}, which displays + guidelines for the current-point indentation (space indentation only). @end enumerate") - (license license:gpl2+))) + (license license:gpl2+)))) (define-public emacs-elpy (package -- cgit v1.2.3 From fef08850b7b2a20f6f15afc9218f72816f9ad09d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 27 Jul 2019 04:14:24 +0200 Subject: gnu: emacs-so-long: Update to 1.0-2.cfae473. * gnu/packages/emacs-xyz.scm (emacs-so-long): Update to 1.0-2.cfae473. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 660752ee28..a7235ee4e7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -13772,12 +13772,11 @@ server with @code{M-x pinentry-start}.") (license license:gpl3+)))) (define-public emacs-so-long - (let ((commit "3ebe97decdb5cbbfba82ca686e0ad2c7d2722b4a") - (version "1.0") - (revision "1")) + (let ((commit "cfae473b1bf65f78ddb015159e667ec0103d881c") + (revision "2")) (package (name "emacs-so-long") - (version (git-version version revision commit)) + (version (git-version "1.0" revision commit)) (source (origin (method git-fetch) @@ -13787,7 +13786,7 @@ server with @code{M-x pinentry-start}.") (file-name (git-file-name name version)) (sha256 (base32 - "0fi71g5rsdsi978jz8406k8hvzgnssm9wxar8yqfhs97178r9s5m")))) + "0g943n5cl9lz5s7hszg6yvp10xd1xvd8mfgxyg0yckmp8fqkswin")))) (build-system emacs-build-system) (home-page "https://www.emacswiki.org/emacs/SoLong") (synopsis "Improve performance in files with long lines") -- cgit v1.2.3 From f48aa64ea8823b8bff660bc6dbc00f5af119389d Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 27 Jul 2019 05:00:46 +0200 Subject: gnu: emacs-evil-expat: Update to 0.0.1-1.f4fcd0a. * gnu/packages/emacs-xyz.scm (emacs-evil-expat): Update to 0.0.1-1.f4fcd0a. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index a7235ee4e7..ff6deb5a00 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6406,12 +6406,11 @@ aligning text objects based on separators.") (license license:gpl3+)))) (define-public emacs-evil-expat - (let ((commit "4c344ea19b789002d759a202ffbf594730d2c59a") - (version "0.0.1") + (let ((commit "f4fcd0aa3edc359adb5c986b5dd9188d220d84e2") (revision "1")) (package (name "emacs-evil-expat") - (version (git-version version revision commit)) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) @@ -6421,7 +6420,7 @@ aligning text objects based on separators.") (file-name (git-file-name name version)) (sha256 (base32 - "16v7fnldxag6l1lsnrnhdjkga9qi78lbdfbb82k6pmv04991mbkr")))) + "0872ix682hkdz0k8pn6sb54rqkx00rz5fxpd5j2snx406yagpaxz")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) (home-page "https://github.com/edkolev/evil-expat") -- cgit v1.2.3 From 10989c59cb7375e83a7f2a2ce74048ccb9e19b47 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 27 Jul 2019 05:16:30 +0200 Subject: gnu: emacs-lua-mode: Update to 20151025-2.95c64bb. * gnu/packages/emacs-xyz.scm (emacs-lua-mode): Update to 20151025-2.95c64bb. Signed-off-by: Ricardo Wurmus --- 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 ff6deb5a00..fb752c30e4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -6126,21 +6126,21 @@ xref, etc...) are still available, but with better integration.") (license license:gpl3+)))) (define-public emacs-lua-mode - (let ((commit "652e299cb967fccca827dda381d61a9c144d97de") - (revision "1")) + (let ((commit "95c64bb5634035630e8c59d10d4a1d1003265743") + (revision "2")) (package (name "emacs-lua-mode") - (version (string-append "20151025." revision "-" (string-take commit 9))) + (version (git-version "20151025" revision commit)) (home-page "https://github.com/immerrr/lua-mode/") (source (origin (method git-fetch) (uri (git-reference (url home-page) (commit commit))) - (file-name (string-append name "-" version ".checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "053025k930wh0lak6rc1973ynfrmm8zsyzfqhhd39x7abkl41hc9")))) + "1mra4db25ds64526dsj8m5yv0kfq3lgggjh1x6xmqypdaryddbcp")))) (build-system emacs-build-system) (synopsis "Major mode for lua") (description -- cgit v1.2.3 From 365e94c0191789497d412865acaf031e5991f317 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 30 Jul 2019 05:08:16 +0200 Subject: gnu: emacs-counsel-etags: Update to 1.8.7. * gnu/packages/emacs-xyz.scm (emacs-counsel-etags): Update to 1.8.7. Signed-off-by: Ricardo Wurmus --- 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 fb752c30e4..0755904eac 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -16267,7 +16267,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.4") + (version "1.8.7") (source (origin (method git-fetch) @@ -16277,7 +16277,7 @@ previewed by scrolling up and down within a @code{dired} buffer.") (file-name (git-file-name name version)) (sha256 (base32 - "14my9jvxl26a5yn381h5pi5481y9d9gyk7wnxxd0s4sjc964c5h5")))) + "0vjcjspfrz1csnmfi6r7p7f070a496adxkqnsxwx1gx8cpylwp1g")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-ivy" ,emacs-ivy))) -- cgit v1.2.3 From 594d60a3f4ffb7ebf405f7b85a21649dafc24aa3 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 30 Jul 2019 05:10:02 +0200 Subject: gnu: emacs-nodejs-repl: Update to 0.2.2. * gnu/packages/emacs-xyz.scm (emacs-nodejs-repl): Update to 0.2.2. Signed-off-by: Ricardo Wurmus --- 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 0755904eac..b81ff98eb4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5228,7 +5228,7 @@ strings, and code folding.") (define-public emacs-nodejs-repl (package (name "emacs-nodejs-repl") - (version "0.2.1") + (version "0.2.2") (source (origin (method git-fetch) (uri (git-reference @@ -5237,7 +5237,7 @@ strings, and code folding.") (file-name (git-file-name name version)) (sha256 (base32 - "05ccv87rnw7fss3lib8m9sywjrj6n92fnd7mmhmjh27g2klqc83z")))) + "1kkj888k9x5n0i7xkia177gzsa84my3g8n0n7v65281cc4f1yhk5")))) (build-system emacs-build-system) (home-page "https://github.com/abicky/nodejs-repl.el") (synopsis "Node.js REPL inside Emacs") -- cgit v1.2.3 From d052e51b57e31cbd91be5758a94ffbc786ac77cf Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 30 Jul 2019 10:49:20 +0200 Subject: gnu: Add emacs-mc-extras. * gnu/packages/emacs-xyz.scm (emacs-mc-extras): New variable. Signed-off-by: Ricardo Wurmus --- 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 b81ff98eb4..cc5f4d0d6b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3410,6 +3410,32 @@ completion candidate when using the Company text completion framework.") simultaneous cursors.") (license license:gpl3+))) +(define-public emacs-mc-extras + (let ((commit "053abc52181b8718559d7361a587bbb795faf164") + (revision "1")) + (package + (name "emacs-mc-extras") + (version (git-version "1.2.4" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/knu/mc-extras.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16y48qrd20m20vypvys5jp4v4gc1qrqlkm75s1pk1r68i9zrw481")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-multiple-cursors" ,emacs-multiple-cursors))) + (home-page "https://github.com/knu/mc-extras.el") + (synopsis "Extra functions for manipulating multiple cursors") + (description + "This package provides additional functions for +@code{multiple-cursors}, including functions for marking s-expressions, +comparing characters, removing cursors, and more.") + (license license:bsd-2)))) + (define-public emacs-typo (package (name "emacs-typo") -- cgit v1.2.3 From c07f3113d94a1e03629e7bbc4494a42838df5f53 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 30 Jul 2019 10:50:36 +0200 Subject: gnu: Add emacs-hercules. * gnu/packages/emacs-xyz.scm (emacs-hercules): New variable. Signed-off-by: Ricardo Wurmus --- 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 cc5f4d0d6b..e142e4fd95 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8705,6 +8705,32 @@ available key bindings that follow C-x (or as many as space allows given your settings).") (license license:gpl3+))) +(define-public emacs-hercules + (let ((commit "3345904a0dab4c7a4d4478f0766f1d9f5d1bb501") + (revision "1")) + (package + (name "emacs-hercules") + (version (git-version "0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/jjzmajic/hercules.el.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0cpq8h6l47nqhzch6snax5yrhxl8p4wn35q13ci35lj3iq8kmlk8")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-which-key" ,emacs-which-key))) + (home-page "https://gitlab.com/jjzmajic/hercules.el") + (synopsis "Call a chain of related commands without repeated prefix keys") + (description + "This package provides sticky-key-like functionality to obviate the +need for repeated prefix-key sequences, and can reuse existing keymaps. The +list of commands is displayed in a handy popup.") + (license license:gpl3+)))) + (define-public emacs-ws-butler (package (name "emacs-ws-butler") -- cgit v1.2.3 From 16fdde79ec8efd0fc324b8d6a52433be6b710811 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 30 Jul 2019 10:58:59 +0200 Subject: gnu: Add emacs-math-symbol-lists. * gnu/packages/emacs-xyz.scm (emacs-math-symbol-lists): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e142e4fd95..e9acca770f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3389,6 +3389,28 @@ for the current function or variable in the minibuffer.") completion candidate when using the Company text completion framework.") (license license:gpl3+))) +(define-public emacs-math-symbol-lists + (let ((commit "dc7531cff0c845d5470a50c24d5d7309b2ced7eb") + (revision "1")) + (package + (name "emacs-math-symbol-lists") + (version (git-version "1.2.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vspinu/math-symbol-lists.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "094m21i9rns6m59cmhxcivxxafbg52w8f8na4y3v47aq67zmhhqm")))) + (build-system emacs-build-system) + (home-page "https://github.com/vspinu/math-symbol-lists") + (synopsis "Lists of Unicode math symbols and @code{LaTeX} commands") + (description "This is a storage package used by completion engines like +@code{company-math}.") + (license license:gpl3+)))) + (define-public emacs-multiple-cursors (package (name "emacs-multiple-cursors") -- cgit v1.2.3 From 12dd1a4838857c2de4fffe4dfed37692ce12e864 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Tue, 30 Jul 2019 10:59:10 +0200 Subject: gnu: Add emacs-company-math. * gnu/packages/emacs-xyz.scm (emacs-company-math): New variable. Signed-off-by: Ricardo Wurmus --- 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 e9acca770f..d51bd7ae87 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3411,6 +3411,32 @@ completion candidate when using the Company text completion framework.") @code{company-math}.") (license license:gpl3+)))) +(define-public emacs-company-math + (let ((commit "600e49449644f6835f9dc3501bc58461999e8ab9") + (revision "1")) + (package + (name "emacs-company-math") + (version (git-version "1.3" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vspinu/company-math.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ps2lpkzn8mjbpcbvvy1qz3xbgrh6951x8y9bsd1fm32drdph9lh")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-math-symbol-lists" ,emacs-math-symbol-lists) + ("emacs-company" ,emacs-company))) + (home-page "https://github.com/vspinu/company-math") + (synopsis "Completion backends for Unicode math symbols and @code{LaTeX} tags") + (description "This package provides a backend for use with +@code{company-mode} allowing for completion of common math symbols.") + (license license:gpl3+)))) + (define-public emacs-multiple-cursors (package (name "emacs-multiple-cursors") -- cgit v1.2.3 From f94ae7d4722fd917445b08db2af758c743d3e2a2 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Thu, 1 Aug 2019 17:59:38 +0200 Subject: gnu: Add emacs-nswbuff. * gnu/packages/emacs-xyz.scm (emacs-nswbuff): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index d51bd7ae87..c61dec9abe 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -3437,6 +3437,28 @@ completion candidate when using the Company text completion framework.") @code{company-mode} allowing for completion of common math symbols.") (license license:gpl3+)))) +(define-public emacs-nswbuff + (let ((commit "362da7f3687e2eb5bb11667347de85f4a9d002bc") + (revision "1")) + (package + (name "emacs-nswbuff") + (version (git-version "1.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/joostkremers/nswbuff.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0l2xfz8z5qd4hz3kv6zn7h6qq3narkilri8a071y1n8j31jps4ma")))) + (build-system emacs-build-system) + (home-page "https://github.com/joostkremers/nswbuff") + (synopsis "Quickly switch between buffers") + (description "This package allows for navigating between buffers within +a customizable list.") + (license license:gpl3+)))) + (define-public emacs-multiple-cursors (package (name "emacs-multiple-cursors") -- cgit v1.2.3 From 003d1537834f62336cc7296b89d8c7adefdbcc39 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 2 Aug 2019 06:30:30 +0200 Subject: gnu: emacs-dired-hacks: Update to 0.0.1-2.886befe. * gnu/packages/emacs-xyz.scm (emacs-dired-hacks): Update to 0.0.1-2.886befe. [description]: Use full sentences. Signed-off-by: Ricardo Wurmus --- 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 c61dec9abe..43290a85ed 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -8680,12 +8680,11 @@ the actual transformations.") (license license:gpl2+)))) (define-public emacs-dired-hacks - (let ((commit "2c1234592aee91dcd9401bcd67213e6a4a464fd9") - (revision "1")) + (let ((commit "886befe113fae397407c804f72c45613d1d43535") + (revision "2")) (package (name "emacs-dired-hacks") - (version (string-append "0.0.1-" revision "." - (string-take commit 7))) + (version (git-version "0.0.1" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -8694,7 +8693,7 @@ the actual transformations.") (file-name (git-file-name name version)) (sha256 (base32 - "1g7mky41cahpryzj6frdgzdymknpqq7pidzfjj9304887kijmhj3")))) + "1cvibg90ggyrivpjmcfprpi2fx7dpa68f8kzg08s88gw5ib75djl")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-dash" ,emacs-dash) @@ -8705,7 +8704,9 @@ the actual transformations.") (synopsis "Collection of useful dired additions") (description - "Collection of Emacs dired mode additions: + "This package provides the following collection of Emacs dired mode +additions: + @itemize @item dired-avfs @item dired-columns -- cgit v1.2.3 From 4d48e277cadb5ae3ba230156d7eafa118f9d3b27 Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Fri, 2 Aug 2019 06:43:00 +0200 Subject: gnu: Add emacs-org-sidebar. * gnu/packages/emacs-xyz.scm (emacs-org-sidebar): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 43290a85ed..9f22a4a315 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4107,6 +4107,38 @@ minutes is started automatically. Every 4 breaks a long break is started with 20 minutes. All values are customizable.") (license license:gpl3+))) +(define-public emacs-org-sidebar + (let ((commit "74ca98b9920f3de3f13d49866581435e1ec63ec5") + (revision "1")) + (package + (name "emacs-org-sidebar") + (version (git-version "0.1" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-sidebar.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "03p1ndyw2qp2skib5hszc4xyh84w7p2mhkd4a9dy6qv8q47xpsqn")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-org-super-agenda" ,emacs-org-super-agenda) + ("emacs-org" ,emacs-org) + ("emacs-org-ql" ,emacs-org-ql) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/alphapapa/org-sidebar") + (synopsis "Helpful sidebar for Org buffers") + (description "This package provides a sidebar for Org buffers. At the +top is a chronological list of scheduled and deadlined tasks in the current +buffer (similar to the Org agenda ,but without all its features), and below +that is a list of all other non-done to-do items. If the buffer is narrowed, +the sidebar only shows items in the narrowed portion; this allows seeing an +overview of tasks in a subtree.") + (license license:gpl3+)))) + (define-public emacs-org-trello (package (name "emacs-org-trello") -- cgit v1.2.3 From e15ec8bcecfc3d6c4fc1f6434d11cb83ab505caa Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Sat, 3 Aug 2019 20:15:22 +0200 Subject: gnu: emacs-org-super-agenda: Update to 1.1.1-1.375bde4. * gnu/packages/emacs-xyz.scm (emacs-org-super-agenda): Update to 1.1.1-1.375bde4. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 47 ++++++++++++++++++++++++---------------------- 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9f22a4a315..1b6e02bcbc 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -10644,29 +10644,32 @@ 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 + ;; emacs-org-sidebar depends on a newer commit than the latest release version. + (let ((commit "375bde4ca72494ac88a2a9738754f047fe45cc4e") + (revision "1")) + (package + (name "emacs-org-super-agenda") + (version (git-version "1.1.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alphapapa/org-super-agenda") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0hrwf02fqjm0d9gj146ax67ib76093qpqh7066dcxj2gy20625yj")))) + (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+))) + (license license:gpl3+)))) (define-public emacs-org-make-toc (package -- cgit v1.2.3 From 0fae1b6deeabe15fa8c0c1623b46c9b7f2814295 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Mon, 5 Aug 2019 12:45:22 -0400 Subject: Revert "gnu: nss: Update to 3.45 [security fixes]." This reverts commit 95580bda050d0e776c0730b95b4fd3b84fb4f1c7. Note that the security fixes mentioned in that commit were already present in NSS 3.44.1, which is the version that's now reinstated by this revert. The rationale for this revert is that NSS 3.45 fails to build on armhf-linux. --- gnu/packages/nss.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/nss.scm b/gnu/packages/nss.scm index 9a77f2f9ba..40a8002954 100644 --- a/gnu/packages/nss.scm +++ b/gnu/packages/nss.scm @@ -70,7 +70,7 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.45") + (version "3.44.1") (source (origin (method url-fetch) (uri (let ((version-with-underscores @@ -81,7 +81,7 @@ in the Mozilla clients.") "nss-" version ".tar.gz"))) (sha256 (base32 - "12sfq9xvpwpc22qnjsg1if1lmchiy33byrh92wn91phz7li0abqi")) + "1y0jvva4s3j7cjz22kqw2lsml0an1295bgpc2raf7kc9r60cpr7w")) ;; Create nss.pc and nss-config. (patches (search-patches "nss-pkgconfig.patch" "nss-increase-test-timeout.patch")))) -- cgit v1.2.3 From d866acca9a00e528b3b823873da8a0749c830b85 Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Aug 2019 20:54:51 +0200 Subject: gnu: python-libvirt: Update to 5.6.0. * gnu/packages/virtualization.scm (python-libvirt): Update to 5.6.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 7c69f7b60e..a58e3bf89a 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -523,15 +523,15 @@ three libraries: (define-public python-libvirt (package (name "python-libvirt") - (version "5.5.0") + (version "5.6.0") (source (origin (method url-fetch) - ;; The latest version hosted on PyPI at 5.5.0 release time was 5.3.0. + ;; The latest version hosted on PyPI at 5.6.0 release time was 5.5.0. (uri (string-append "https://libvirt.org/sources/python/libvirt-python-" version ".tar.gz")) (sha256 - (base32 "00x6idyw9xrrr21vrnsyw37q2sd8yh4n6pwh0l28hh9yp3nsy72n")))) + (base32 "11i440aibykxw22fzyavmrvn67s8rmnijw5bag0yx9r8jpnkzwad")))) (build-system python-build-system) (arguments `(#:phases -- cgit v1.2.3 From 7b88b7112045004479a788dda050dce940202adc Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Aug 2019 20:59:32 +0200 Subject: gnu: libvirt: Update to 5.6.0. * gnu/packages/virtualization.scm (libvirt): Update to 5.6.0. [source]: Remove patch. * gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - .../patches/libvirt-remove-ATTRIBUTE_UNUSED.patch | 34 ---------------------- gnu/packages/virtualization.scm | 6 ++-- 3 files changed, 2 insertions(+), 39 deletions(-) delete mode 100644 gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9e1b0f87c3..6f33a86ecd 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1045,7 +1045,6 @@ dist_patch_DATA = \ %D%/packages/patches/libutils-add-includes.patch \ %D%/packages/patches/libutils-remove-damaging-includes.patch \ %D%/packages/patches/libvdpau-va-gl-unbundle.patch \ - %D%/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch \ %D%/packages/patches/libvpx-CVE-2016-2818.patch \ %D%/packages/patches/libvpx-use-after-free-in-postproc.patch \ %D%/packages/patches/libxslt-generated-ids.patch \ diff --git a/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch b/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch deleted file mode 100644 index 5bfefa70bb..0000000000 --- a/gnu/packages/patches/libvirt-remove-ATTRIBUTE_UNUSED.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Tobias Geerinckx-Rice -Date: Thu, 25 Jul 2019 21:48:25 +0200 -Subject: [PATCH]: libvirt: remove ATTRIBUTE_UNUSED - -This should fix the error reported here[0]. Patch taken verbatim from -upstream[1]. - -[0]: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36634#28 -[1]: https://github.com/libvirt/libvirt/commit/759bf903a6c24a8efa25c7cf4b099d952eda9bd3 - -From 759bf903a6c24a8efa25c7cf4b099d952eda9bd3 Mon Sep 17 00:00:00 2001 -From: Pavel Hrdina -Date: Mon, 22 Jul 2019 14:46:34 +0200 -Subject: [PATCH] vircgroupv2: remove ATTRIBUTE_UNUSED for used attribute - -Signed-off-by: Pavel Hrdina -Acked-by: Peter Krempa ---- - src/util/vircgroupv2.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c -index af3192c99c..e36c36685b 100644 ---- a/src/util/vircgroupv2.c -+++ b/src/util/vircgroupv2.c -@@ -399,7 +399,7 @@ virCgroupV2EnableController(virCgroupPtr group, - - - static int --virCgroupV2MakeGroup(virCgroupPtr parent ATTRIBUTE_UNUSED, -+virCgroupV2MakeGroup(virCgroupPtr parent, - virCgroupPtr group, - bool create, - unsigned int flags) diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm index a58e3bf89a..26477714e4 100644 --- a/gnu/packages/virtualization.scm +++ b/gnu/packages/virtualization.scm @@ -390,16 +390,14 @@ manage system or application containers.") (define-public libvirt (package (name "libvirt") - (version "5.5.0") + (version "5.6.0") (source (origin (method url-fetch) (uri (string-append "https://libvirt.org/sources/libvirt-" version ".tar.xz")) (sha256 - (base32 "1s1mzw4cmkcfivs1kphpgy4lpddx0w1qnjysr4ggk5558w4yy1i3")) - (patches - (search-patches "libvirt-remove-ATTRIBUTE_UNUSED.patch")))) + (base32 "1d5rmcx5fgb024hw8chbiv886n3jal5wp2yajjk5l4qh9s9gkx35")))) (build-system gnu-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From 96681d4be101c771fafd4257aca471685119fedd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Mon, 5 Aug 2019 22:16:54 +0200 Subject: gnu: terminator: Wrap instead of propagating GSettings schemas. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (terminator)[inputs]: Move gsettings-desktop-schemas back here… [propagated-inputs]: …from here. [arguments]: Add the glib-or-gtk-build-system's ‘glib-or-gtk-wrap’ phase. --- gnu/packages/gnome.scm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 3e75cc68d9..601248b7f5 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -8153,15 +8153,18 @@ advanced image management tool") (inputs `(("cairo" ,cairo) ("gobject-introspection" ,gobject-introspection) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("python2-pycairo" ,python2-pycairo) ("python2-pygobject" ,python2-pygobject) ("python2-psutil" ,python2-psutil) ("vte" ,vte))) - (propagated-inputs - ;; Terminator refuses to start when these are not present. - `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas))) (arguments - `(#:python ,python-2 ;Python 3 not supported + `(#:python ,python-2 ; Python 3 isn't supported + #:imported-modules ((guix build glib-or-gtk-build-system) + ,@%python-build-system-modules) + #:modules ((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-after @@ -8172,7 +8175,9 @@ advanced image management tool") (wrap-program prog `("PYTHONPATH" = (,(getenv "PYTHONPATH"))) `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) - #t)))))) + #t))) + (add-after 'wrap-program 'glib-or-gtk-wrap + (assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))))) (home-page "https://gnometerminator.blogspot.com/") (synopsis "Store and run multiple GNOME terminals in one window") (description -- cgit v1.2.3 From 2426e2c94cdf9fcf28bba28b1e84b1aa5f652332 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 5 Aug 2019 19:36:59 +0200 Subject: gnu: strace: Fix test failures on some systems. * gnu/packages/patches/strace-ipc-tests.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/linux.scm (strace)[source](patches): New field. [arguments]: Add 'regenerate-tests' phase. Co-Authored-By: Mark H Weaver --- gnu/local.mk | 1 + gnu/packages/linux.scm | 12 +++++++++++- gnu/packages/patches/strace-ipc-tests.patch | 30 +++++++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/strace-ipc-tests.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6f33a86ecd..5bd47c733e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1305,6 +1305,7 @@ dist_patch_DATA = \ %D%/packages/patches/soundconverter-remove-gconf-dependency.patch \ %D%/packages/patches/sssd-curl-compat.patch \ %D%/packages/patches/steghide-fixes.patch \ + %D%/packages/patches/strace-ipc-tests.patch \ %D%/packages/patches/streamlink-update-test.patch \ %D%/packages/patches/stumpwm-fix-broken-read-one-line.patch \ %D%/packages/patches/superlu-dist-awpm-grid.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 44526e3786..9f20d2bace 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1408,6 +1408,9 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (method url-fetch) (uri (string-append home-page "/files/" version "/strace-" version ".tar.xz")) + ;; XXX Remove the 'regenerate-tests' phase below when + ;; "strace-ipc-tests.patch" is no longer applied. + (patches (search-patches "strace-ipc-tests.patch")) (sha256 (base32 "1li49i75wrdw91hchyyd8spnzfcmxcfyfb5g9zbaza89aq4bq4ym")))) @@ -1419,7 +1422,14 @@ Zerofree requires the file system to be unmounted or mounted read-only.") (lambda _ (substitute* "strace.c" (("/bin/sh") (which "sh"))) - #t))) + #t)) + (add-before 'configure 'regenerate-tests + ;; XXX Remove this phase when "strace-ipc-tests.patch" is no longer + ;; applied in the 'source' field above. This phase is needed to + ;; regenerate many other files from tests/gen_tests.in, which is + ;; modified by the aforementioned patch. + (lambda _ + (invoke "tests/gen_tests.sh")))) ;; Don't fail if the architecture doesn't support different personalities. #:configure-flags '("--enable-mpers=check") ;; See . diff --git a/gnu/packages/patches/strace-ipc-tests.patch b/gnu/packages/patches/strace-ipc-tests.patch new file mode 100644 index 0000000000..49341765ca --- /dev/null +++ b/gnu/packages/patches/strace-ipc-tests.patch @@ -0,0 +1,30 @@ +Fix a test failure on some systems. + +Taken from upstream: +https://github.com/strace/strace/commit/4377e3a1535a0ec3a42da8a1366ad6943f4efa0e + +diff --git a/tests/gen_tests.in b/tests/gen_tests.in +index 4a506b94c..4fdf4722c 100644 +--- a/tests/gen_tests.in ++++ b/tests/gen_tests.in +@@ -168,16 +168,16 @@ ipc_msg-Xabbrev +ipc.sh -Xabbrev -a26 + ipc_msg-Xraw +ipc.sh -Xraw -a16 + ipc_msg-Xverbose +ipc.sh -Xverbose -a34 + ipc_msgbuf-Xabbrev +ipc_msgbuf.test -Xabbrev +-ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a22 ++ipc_msgbuf-Xraw +ipc_msgbuf.test -Xraw -a20 + ipc_msgbuf-Xverbose +ipc_msgbuf.test -Xverbose + ipc_sem +ipc.sh -a29 + ipc_sem-Xabbrev +ipc.sh -Xabbrev -a29 + ipc_sem-Xraw +ipc.sh -Xraw -a19 + ipc_sem-Xverbose +ipc.sh -Xverbose -a36 +-ipc_shm +ipc.sh -a29 +-ipc_shm-Xabbrev +ipc.sh -Xabbrev -a29 ++ipc_shm +ipc.sh -a26 ++ipc_shm-Xabbrev +ipc.sh -Xabbrev -a26 + ipc_shm-Xraw +ipc.sh -Xraw -a19 +-ipc_shm-Xverbose +ipc.sh -Xverbose -a36 ++ipc_shm-Xverbose +ipc.sh -Xverbose -a34 + kcmp -a22 + kcmp-y -a22 -y -e trace=kcmp + kern_features -a16 -- cgit v1.2.3 From b0c48829b61966f44dbfbf1fcaaf304dab3136e9 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 6 Aug 2019 08:24:23 +0200 Subject: gnu: flatpak: Update to 1.4.2. * gnu/packages/package-management.scm (flatpak): Update to 1.4.2. --- gnu/packages/package-management.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 9b2cce0e8f..ac9ed91722 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1027,7 +1027,7 @@ the boot loader configuration.") (define-public flatpak (package (name "flatpak") - (version "1.2.4") + (version "1.4.2") (source (origin (method url-fetch) @@ -1035,7 +1035,7 @@ the boot loader configuration.") version "/flatpak-" version ".tar.xz")) (sha256 (base32 - "1qf3ys84fzv11z6f6li59rxjdjbyrv7cyi9539k73r9i9pckjr8v")))) + "08nmpp26mgv0vp3mlwk97rnp0j7i108h4hr9nllja19sjxnrlygj")))) ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to ;; find the TLS backend in glib-networking. @@ -1063,6 +1063,7 @@ the boot loader configuration.") (inputs `(("appstream-glib" ,appstream-glib) ("bubblewrap" ,bubblewrap) ("dconf" ,dconf) + ("fuse" ,fuse) ("gdk-pixbuf" ,gdk-pixbuf) ("gpgme" ,gpgme) ("json-glib" ,json-glib) -- cgit v1.2.3 From aac6c53a7bc9a8d22e88a490ebc99ec79d64a05b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 6 Aug 2019 03:12:56 -0400 Subject: gnu: libmad: Add more security fixes from Debian. Includes fixes for CVE-2017-8372, CVE-2017-8373, and CVE-2017-8374. Reported by in . * gnu/packages/patches/libmad-frame-length.patch: Delete file. * gnu/packages/patches/libmad-length-check.patch, gnu/packages/patches/libmad-md_size.patch: New files. * gnu/local.mk (dist_patch_DATA): Update accordingly. * gnu/packages/mp3.scm (libmad)[source]: Update patches accordingly. --- gnu/local.mk | 3 +- gnu/packages/mp3.scm | 3 +- gnu/packages/patches/libmad-frame-length.patch | 199 ------ gnu/packages/patches/libmad-length-check.patch | 819 +++++++++++++++++++++++++ gnu/packages/patches/libmad-md_size.patch | 60 ++ 5 files changed, 883 insertions(+), 201 deletions(-) delete mode 100644 gnu/packages/patches/libmad-frame-length.patch create mode 100644 gnu/packages/patches/libmad-length-check.patch create mode 100644 gnu/packages/patches/libmad-md_size.patch diff --git a/gnu/local.mk b/gnu/local.mk index 5bd47c733e..42e79e879a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1024,7 +1024,8 @@ dist_patch_DATA = \ %D%/packages/patches/libotr-test-auth-fix.patch \ %D%/packages/patches/libmad-armv7-thumb-pt1.patch \ %D%/packages/patches/libmad-armv7-thumb-pt2.patch \ - %D%/packages/patches/libmad-frame-length.patch \ + %D%/packages/patches/libmad-length-check.patch \ + %D%/packages/patches/libmad-md_size.patch \ %D%/packages/patches/libmad-mips-newgcc.patch \ %D%/packages/patches/libmygpo-qt-fix-qt-5.11.patch \ %D%/packages/patches/libmygpo-qt-missing-qt5-modules.patch \ diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 99ca4f9007..967e299803 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -65,7 +65,8 @@ "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv")) (patches (search-patches "libmad-armv7-thumb-pt1.patch" "libmad-armv7-thumb-pt2.patch" - "libmad-frame-length.patch" + "libmad-md_size.patch" + "libmad-length-check.patch" "libmad-mips-newgcc.patch")))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/patches/libmad-frame-length.patch b/gnu/packages/patches/libmad-frame-length.patch deleted file mode 100644 index 3434eba577..0000000000 --- a/gnu/packages/patches/libmad-frame-length.patch +++ /dev/null @@ -1,199 +0,0 @@ -Copied from Debian. - -; You can calculate where the next frame will start depending on things -; like the bitrate. See mad_header_decode(). It seems that when decoding -; the frame you can go past that boundary. This attempts to catch those cases, -; but might not catch all of them. -; For more info see http://bugs.debian.org/508133 -Index: libmad-0.15.1b/layer12.c -=================================================================== ---- libmad-0.15.1b.orig/layer12.c 2008-12-23 21:38:07.000000000 +0100 -+++ libmad-0.15.1b/layer12.c 2008-12-23 21:38:12.000000000 +0100 -@@ -134,6 +134,12 @@ - for (sb = 0; sb < bound; ++sb) { - for (ch = 0; ch < nch; ++ch) { - nb = mad_bit_read(&stream->ptr, 4); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - if (nb == 15) { - stream->error = MAD_ERROR_BADBITALLOC; -@@ -146,6 +152,12 @@ - - for (sb = bound; sb < 32; ++sb) { - nb = mad_bit_read(&stream->ptr, 4); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - if (nb == 15) { - stream->error = MAD_ERROR_BADBITALLOC; -@@ -162,6 +174,12 @@ - for (ch = 0; ch < nch; ++ch) { - if (allocation[ch][sb]) { - scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - # if defined(OPT_STRICT) - /* -@@ -187,6 +205,12 @@ - frame->sbsample[ch][s][sb] = nb ? - mad_f_mul(I_sample(&stream->ptr, nb), - sf_table[scalefactor[ch][sb]]) : 0; -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - } - } - -@@ -195,6 +219,12 @@ - mad_fixed_t sample; - - sample = I_sample(&stream->ptr, nb); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - for (ch = 0; ch < nch; ++ch) { - frame->sbsample[ch][s][sb] = -@@ -403,7 +433,15 @@ - nbal = bitalloc_table[offsets[sb]].nbal; - - for (ch = 0; ch < nch; ++ch) -+ { - allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } -+ } - } - - for (sb = bound; sb < sblimit; ++sb) { -@@ -411,6 +449,13 @@ - - allocation[0][sb] = - allocation[1][sb] = mad_bit_read(&stream->ptr, nbal); -+ -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - } - - /* decode scalefactor selection info */ -@@ -419,6 +464,12 @@ - for (ch = 0; ch < nch; ++ch) { - if (allocation[ch][sb]) - scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - } - } - -@@ -442,6 +493,12 @@ - for (ch = 0; ch < nch; ++ch) { - if (allocation[ch][sb]) { - scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - switch (scfsi[ch][sb]) { - case 2: -@@ -452,11 +509,23 @@ - - case 0: - scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - /* fall through */ - - case 1: - case 3: - scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - } - - if (scfsi[ch][sb] & 1) -@@ -488,6 +557,12 @@ - index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; - - II_samples(&stream->ptr, &qc_table[index], samples); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - for (s = 0; s < 3; ++s) { - frame->sbsample[ch][3 * gr + s][sb] = -@@ -506,6 +581,12 @@ - index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; - - II_samples(&stream->ptr, &qc_table[index], samples); -+ if (mad_bit_nextbyte(&stream->ptr) > stream->next_frame) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - for (ch = 0; ch < nch; ++ch) { - for (s = 0; s < 3; ++s) { -Index: libmad-0.15.1b/layer3.c -=================================================================== ---- libmad-0.15.1b.orig/layer3.c 2008-12-23 21:38:07.000000000 +0100 -+++ libmad-0.15.1b/layer3.c 2008-12-23 21:38:12.000000000 +0100 -@@ -2608,6 +2608,12 @@ - next_md_begin = 0; - - md_len = si.main_data_begin + frame_space - next_md_begin; -+ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN) -+ { -+ stream->error = MAD_ERROR_LOSTSYNC; -+ stream->sync = 0; -+ return -1; -+ } - - frame_used = 0; - diff --git a/gnu/packages/patches/libmad-length-check.patch b/gnu/packages/patches/libmad-length-check.patch new file mode 100644 index 0000000000..18ca68fd7e --- /dev/null +++ b/gnu/packages/patches/libmad-length-check.patch @@ -0,0 +1,819 @@ +Copied from Debian. + +From: Kurt Roeckx +Date: Sun, 28 Jan 2018 19:26:36 +0100 +Subject: Check the size before reading with mad_bit_read + +There are various cases where it attemps to read past the end of the buffer +using mad_bit_read(). Most functions didn't even know the size of the buffer +they were reading from. + +Index: libmad-0.15.1b/bit.c +=================================================================== +--- libmad-0.15.1b.orig/bit.c ++++ libmad-0.15.1b/bit.c +@@ -138,6 +138,9 @@ unsigned long mad_bit_read(struct mad_bi + { + register unsigned long value; + ++ if (len == 0) ++ return 0; ++ + if (bitptr->left == CHAR_BIT) + bitptr->cache = *bitptr->byte; + +Index: libmad-0.15.1b/frame.c +=================================================================== +--- libmad-0.15.1b.orig/frame.c ++++ libmad-0.15.1b/frame.c +@@ -120,11 +120,18 @@ static + int decode_header(struct mad_header *header, struct mad_stream *stream) + { + unsigned int index; ++ struct mad_bitptr bufend_ptr; + + header->flags = 0; + header->private_bits = 0; + ++ mad_bit_init(&bufend_ptr, stream->bufend); ++ + /* header() */ ++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 32) { ++ stream->error = MAD_ERROR_BUFLEN; ++ return -1; ++ } + + /* syncword */ + mad_bit_skip(&stream->ptr, 11); +@@ -225,8 +232,13 @@ int decode_header(struct mad_header *hea + /* error_check() */ + + /* crc_check */ +- if (header->flags & MAD_FLAG_PROTECTION) ++ if (header->flags & MAD_FLAG_PROTECTION) { ++ if (mad_bit_length(&stream->ptr, &bufend_ptr) < 16) { ++ stream->error = MAD_ERROR_BUFLEN; ++ return -1; ++ } + header->crc_target = mad_bit_read(&stream->ptr, 16); ++ } + + return 0; + } +@@ -338,7 +350,7 @@ int mad_header_decode(struct mad_header + stream->error = MAD_ERROR_BUFLEN; + goto fail; + } +- else if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { ++ else if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { + /* mark point where frame sync word was expected */ + stream->this_frame = ptr; + stream->next_frame = ptr + 1; +@@ -361,6 +373,8 @@ int mad_header_decode(struct mad_header + ptr = mad_bit_nextbyte(&stream->ptr); + } + ++ stream->error = MAD_ERROR_NONE; ++ + /* begin processing */ + stream->this_frame = ptr; + stream->next_frame = ptr + 1; /* possibly bogus sync word */ +@@ -413,7 +427,7 @@ int mad_header_decode(struct mad_header + /* check that a valid frame header follows this frame */ + + ptr = stream->next_frame; +- if (!(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { ++ if ((end - ptr >= 2) && !(ptr[0] == 0xff && (ptr[1] & 0xe0) == 0xe0)) { + ptr = stream->next_frame = stream->this_frame + 1; + goto sync; + } +Index: libmad-0.15.1b/layer12.c +=================================================================== +--- libmad-0.15.1b.orig/layer12.c ++++ libmad-0.15.1b/layer12.c +@@ -72,10 +72,18 @@ mad_fixed_t const linear_table[14] = { + * DESCRIPTION: decode one requantized Layer I sample from a bitstream + */ + static +-mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb) ++mad_fixed_t I_sample(struct mad_bitptr *ptr, unsigned int nb, struct mad_stream *stream) + { + mad_fixed_t sample; ++ struct mad_bitptr frameend_ptr; + ++ mad_bit_init(&frameend_ptr, stream->next_frame); ++ ++ if (mad_bit_length(ptr, &frameend_ptr) < nb) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return 0; ++ } + sample = mad_bit_read(ptr, nb); + + /* invert most significant bit, extend sign, then scale to fixed format */ +@@ -106,6 +114,10 @@ int mad_layer_I(struct mad_stream *strea + struct mad_header *header = &frame->header; + unsigned int nch, bound, ch, s, sb, nb; + unsigned char allocation[2][32], scalefactor[2][32]; ++ struct mad_bitptr bufend_ptr, frameend_ptr; ++ ++ mad_bit_init(&bufend_ptr, stream->bufend); ++ mad_bit_init(&frameend_ptr, stream->next_frame); + + nch = MAD_NCHANNELS(header); + +@@ -118,6 +130,11 @@ int mad_layer_I(struct mad_stream *strea + /* check CRC word */ + + if (header->flags & MAD_FLAG_PROTECTION) { ++ if (mad_bit_length(&stream->ptr, &bufend_ptr) ++ < 4 * (bound * nch + (32 - bound))) { ++ stream->error = MAD_ERROR_BADCRC; ++ return -1; ++ } + header->crc_check = + mad_bit_crc(stream->ptr, 4 * (bound * nch + (32 - bound)), + header->crc_check); +@@ -133,6 +150,11 @@ int mad_layer_I(struct mad_stream *strea + + for (sb = 0; sb < bound; ++sb) { + for (ch = 0; ch < nch; ++ch) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + nb = mad_bit_read(&stream->ptr, 4); + + if (nb == 15) { +@@ -145,6 +167,11 @@ int mad_layer_I(struct mad_stream *strea + } + + for (sb = bound; sb < 32; ++sb) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 4) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + nb = mad_bit_read(&stream->ptr, 4); + + if (nb == 15) { +@@ -161,6 +188,11 @@ int mad_layer_I(struct mad_stream *strea + for (sb = 0; sb < 32; ++sb) { + for (ch = 0; ch < nch; ++ch) { + if (allocation[ch][sb]) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb] = mad_bit_read(&stream->ptr, 6); + + # if defined(OPT_STRICT) +@@ -185,8 +217,10 @@ int mad_layer_I(struct mad_stream *strea + for (ch = 0; ch < nch; ++ch) { + nb = allocation[ch][sb]; + frame->sbsample[ch][s][sb] = nb ? +- mad_f_mul(I_sample(&stream->ptr, nb), ++ mad_f_mul(I_sample(&stream->ptr, nb, stream), + sf_table[scalefactor[ch][sb]]) : 0; ++ if (stream->error != 0) ++ return -1; + } + } + +@@ -194,7 +228,14 @@ int mad_layer_I(struct mad_stream *strea + if ((nb = allocation[0][sb])) { + mad_fixed_t sample; + +- sample = I_sample(&stream->ptr, nb); ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nb) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } ++ sample = I_sample(&stream->ptr, nb, stream); ++ if (stream->error != 0) ++ return -1; + + for (ch = 0; ch < nch; ++ch) { + frame->sbsample[ch][s][sb] = +@@ -280,13 +321,21 @@ struct quantclass { + static + void II_samples(struct mad_bitptr *ptr, + struct quantclass const *quantclass, +- mad_fixed_t output[3]) ++ mad_fixed_t output[3], struct mad_stream *stream) + { + unsigned int nb, s, sample[3]; ++ struct mad_bitptr frameend_ptr; ++ ++ mad_bit_init(&frameend_ptr, stream->next_frame); + + if ((nb = quantclass->group)) { + unsigned int c, nlevels; + ++ if (mad_bit_length(ptr, &frameend_ptr) < quantclass->bits) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return; ++ } + /* degrouping */ + c = mad_bit_read(ptr, quantclass->bits); + nlevels = quantclass->nlevels; +@@ -299,8 +348,14 @@ void II_samples(struct mad_bitptr *ptr, + else { + nb = quantclass->bits; + +- for (s = 0; s < 3; ++s) ++ for (s = 0; s < 3; ++s) { ++ if (mad_bit_length(ptr, &frameend_ptr) < nb) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return; ++ } + sample[s] = mad_bit_read(ptr, nb); ++ } + } + + for (s = 0; s < 3; ++s) { +@@ -336,6 +391,9 @@ int mad_layer_II(struct mad_stream *stre + unsigned char const *offsets; + unsigned char allocation[2][32], scfsi[2][32], scalefactor[2][32][3]; + mad_fixed_t samples[3]; ++ struct mad_bitptr frameend_ptr; ++ ++ mad_bit_init(&frameend_ptr, stream->next_frame); + + nch = MAD_NCHANNELS(header); + +@@ -402,13 +460,24 @@ int mad_layer_II(struct mad_stream *stre + for (sb = 0; sb < bound; ++sb) { + nbal = bitalloc_table[offsets[sb]].nbal; + +- for (ch = 0; ch < nch; ++ch) ++ for (ch = 0; ch < nch; ++ch) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + allocation[ch][sb] = mad_bit_read(&stream->ptr, nbal); ++ } + } + + for (sb = bound; sb < sblimit; ++sb) { + nbal = bitalloc_table[offsets[sb]].nbal; + ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < nbal) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + allocation[0][sb] = + allocation[1][sb] = mad_bit_read(&stream->ptr, nbal); + } +@@ -417,8 +486,14 @@ int mad_layer_II(struct mad_stream *stre + + for (sb = 0; sb < sblimit; ++sb) { + for (ch = 0; ch < nch; ++ch) { +- if (allocation[ch][sb]) ++ if (allocation[ch][sb]) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 2) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scfsi[ch][sb] = mad_bit_read(&stream->ptr, 2); ++ } + } + } + +@@ -441,6 +516,11 @@ int mad_layer_II(struct mad_stream *stre + for (sb = 0; sb < sblimit; ++sb) { + for (ch = 0; ch < nch; ++ch) { + if (allocation[ch][sb]) { ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb][0] = mad_bit_read(&stream->ptr, 6); + + switch (scfsi[ch][sb]) { +@@ -451,11 +531,21 @@ int mad_layer_II(struct mad_stream *stre + break; + + case 0: ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb][1] = mad_bit_read(&stream->ptr, 6); + /* fall through */ + + case 1: + case 3: ++ if (mad_bit_length(&stream->ptr, &frameend_ptr) < 6) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + scalefactor[ch][sb][2] = mad_bit_read(&stream->ptr, 6); + } + +@@ -487,7 +577,9 @@ int mad_layer_II(struct mad_stream *stre + if ((index = allocation[ch][sb])) { + index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; + +- II_samples(&stream->ptr, &qc_table[index], samples); ++ II_samples(&stream->ptr, &qc_table[index], samples, stream); ++ if (stream->error != 0) ++ return -1; + + for (s = 0; s < 3; ++s) { + frame->sbsample[ch][3 * gr + s][sb] = +@@ -505,7 +597,9 @@ int mad_layer_II(struct mad_stream *stre + if ((index = allocation[0][sb])) { + index = offset_table[bitalloc_table[offsets[sb]].offset][index - 1]; + +- II_samples(&stream->ptr, &qc_table[index], samples); ++ II_samples(&stream->ptr, &qc_table[index], samples, stream); ++ if (stream->error != 0) ++ return -1; + + for (ch = 0; ch < nch; ++ch) { + for (s = 0; s < 3; ++s) { +Index: libmad-0.15.1b/layer3.c +=================================================================== +--- libmad-0.15.1b.orig/layer3.c ++++ libmad-0.15.1b/layer3.c +@@ -598,7 +598,8 @@ enum mad_error III_sideinfo(struct mad_b + static + unsigned int III_scalefactors_lsf(struct mad_bitptr *ptr, + struct channel *channel, +- struct channel *gr1ch, int mode_extension) ++ struct channel *gr1ch, int mode_extension, ++ unsigned int bits_left, unsigned int *part2_length) + { + struct mad_bitptr start; + unsigned int scalefac_compress, index, slen[4], part, n, i; +@@ -644,8 +645,12 @@ unsigned int III_scalefactors_lsf(struct + + n = 0; + for (part = 0; part < 4; ++part) { +- for (i = 0; i < nsfb[part]; ++i) ++ for (i = 0; i < nsfb[part]; ++i) { ++ if (bits_left < slen[part]) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[n++] = mad_bit_read(ptr, slen[part]); ++ bits_left -= slen[part]; ++ } + } + + while (n < 39) +@@ -690,7 +695,10 @@ unsigned int III_scalefactors_lsf(struct + max = (1 << slen[part]) - 1; + + for (i = 0; i < nsfb[part]; ++i) { ++ if (bits_left < slen[part]) ++ return MAD_ERROR_BADSCFSI; + is_pos = mad_bit_read(ptr, slen[part]); ++ bits_left -= slen[part]; + + channel->scalefac[n] = is_pos; + gr1ch->scalefac[n++] = (is_pos == max); +@@ -703,7 +711,8 @@ unsigned int III_scalefactors_lsf(struct + } + } + +- return mad_bit_length(&start, ptr); ++ *part2_length = mad_bit_length(&start, ptr); ++ return MAD_ERROR_NONE; + } + + /* +@@ -712,7 +721,8 @@ unsigned int III_scalefactors_lsf(struct + */ + static + unsigned int III_scalefactors(struct mad_bitptr *ptr, struct channel *channel, +- struct channel const *gr0ch, unsigned int scfsi) ++ struct channel const *gr0ch, unsigned int scfsi, ++ unsigned int bits_left, unsigned int *part2_length) + { + struct mad_bitptr start; + unsigned int slen1, slen2, sfbi; +@@ -728,12 +738,20 @@ unsigned int III_scalefactors(struct mad + sfbi = 0; + + nsfb = (channel->flags & mixed_block_flag) ? 8 + 3 * 3 : 6 * 3; +- while (nsfb--) ++ while (nsfb--) { ++ if (bits_left < slen1) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi++] = mad_bit_read(ptr, slen1); ++ bits_left -= slen1; ++ } + + nsfb = 6 * 3; +- while (nsfb--) ++ while (nsfb--) { ++ if (bits_left < slen2) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi++] = mad_bit_read(ptr, slen2); ++ bits_left -= slen2; ++ } + + nsfb = 1 * 3; + while (nsfb--) +@@ -745,8 +763,12 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 0; sfbi < 6; ++sfbi) ++ for (sfbi = 0; sfbi < 6; ++sfbi) { ++ if (bits_left < slen1) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen1); ++ bits_left -= slen1; ++ } + } + + if (scfsi & 0x4) { +@@ -754,8 +776,12 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 6; sfbi < 11; ++sfbi) ++ for (sfbi = 6; sfbi < 11; ++sfbi) { ++ if (bits_left < slen1) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen1); ++ bits_left -= slen1; ++ } + } + + if (scfsi & 0x2) { +@@ -763,8 +789,12 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 11; sfbi < 16; ++sfbi) ++ for (sfbi = 11; sfbi < 16; ++sfbi) { ++ if (bits_left < slen2) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen2); ++ bits_left -= slen2; ++ } + } + + if (scfsi & 0x1) { +@@ -772,14 +802,19 @@ unsigned int III_scalefactors(struct mad + channel->scalefac[sfbi] = gr0ch->scalefac[sfbi]; + } + else { +- for (sfbi = 16; sfbi < 21; ++sfbi) ++ for (sfbi = 16; sfbi < 21; ++sfbi) { ++ if (bits_left < slen2) ++ return MAD_ERROR_BADSCFSI; + channel->scalefac[sfbi] = mad_bit_read(ptr, slen2); ++ bits_left -= slen2; ++ } + } + + channel->scalefac[21] = 0; + } + +- return mad_bit_length(&start, ptr); ++ *part2_length = mad_bit_length(&start, ptr); ++ return MAD_ERROR_NONE; + } + + /* +@@ -933,19 +968,17 @@ static + enum mad_error III_huffdecode(struct mad_bitptr *ptr, mad_fixed_t xr[576], + struct channel *channel, + unsigned char const *sfbwidth, +- unsigned int part2_length) ++ signed int part3_length) + { + signed int exponents[39], exp; + signed int const *expptr; + struct mad_bitptr peek; +- signed int bits_left, cachesz; ++ signed int bits_left, cachesz, fakebits; + register mad_fixed_t *xrptr; + mad_fixed_t const *sfbound; + register unsigned long bitcache; + +- bits_left = (signed) channel->part2_3_length - (signed) part2_length; +- if (bits_left < 0) +- return MAD_ERROR_BADPART3LEN; ++ bits_left = part3_length; + + III_exponents(channel, sfbwidth, exponents); + +@@ -956,8 +989,12 @@ enum mad_error III_huffdecode(struct mad + cachesz = mad_bit_bitsleft(&peek); + cachesz += ((32 - 1 - 24) + (24 - cachesz)) & ~7; + ++ if (bits_left < cachesz) { ++ cachesz = bits_left; ++ } + bitcache = mad_bit_read(&peek, cachesz); + bits_left -= cachesz; ++ fakebits = 0; + + xrptr = &xr[0]; + +@@ -986,7 +1023,7 @@ enum mad_error III_huffdecode(struct mad + + big_values = channel->big_values; + +- while (big_values-- && cachesz + bits_left > 0) { ++ while (big_values-- && cachesz + bits_left - fakebits > 0) { + union huffpair const *pair; + unsigned int clumpsz, value; + register mad_fixed_t requantized; +@@ -1023,10 +1060,19 @@ enum mad_error III_huffdecode(struct mad + unsigned int bits; + + bits = ((32 - 1 - 21) + (21 - cachesz)) & ~7; ++ if (bits_left < bits) { ++ bits = bits_left; ++ } + bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); + cachesz += bits; + bits_left -= bits; + } ++ if (cachesz < 21) { ++ unsigned int bits = 21 - cachesz; ++ bitcache <<= bits; ++ cachesz += bits; ++ fakebits += bits; ++ } + + /* hcod (0..19) */ + +@@ -1041,6 +1087,8 @@ enum mad_error III_huffdecode(struct mad + } + + cachesz -= pair->value.hlen; ++ if (cachesz < fakebits) ++ return MAD_ERROR_BADHUFFDATA; + + if (linbits) { + /* x (0..14) */ +@@ -1054,10 +1102,15 @@ enum mad_error III_huffdecode(struct mad + + case 15: + if (cachesz < linbits + 2) { +- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); +- cachesz += 16; +- bits_left -= 16; ++ unsigned int bits = 16; ++ if (bits_left < 16) ++ bits = bits_left; ++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); ++ cachesz += bits; ++ bits_left -= bits; + } ++ if (cachesz - fakebits < linbits) ++ return MAD_ERROR_BADHUFFDATA; + + value += MASK(bitcache, cachesz, linbits); + cachesz -= linbits; +@@ -1074,6 +1127,8 @@ enum mad_error III_huffdecode(struct mad + } + + x_final: ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[0] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1089,10 +1144,15 @@ enum mad_error III_huffdecode(struct mad + + case 15: + if (cachesz < linbits + 1) { +- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); +- cachesz += 16; +- bits_left -= 16; ++ unsigned int bits = 16; ++ if (bits_left < 16) ++ bits = bits_left; ++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); ++ cachesz += bits; ++ bits_left -= bits; + } ++ if (cachesz - fakebits < linbits) ++ return MAD_ERROR_BADHUFFDATA; + + value += MASK(bitcache, cachesz, linbits); + cachesz -= linbits; +@@ -1109,6 +1169,8 @@ enum mad_error III_huffdecode(struct mad + } + + y_final: ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[1] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1128,6 +1190,8 @@ enum mad_error III_huffdecode(struct mad + requantized = reqcache[value] = III_requantize(value, exp); + } + ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[0] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1146,6 +1210,8 @@ enum mad_error III_huffdecode(struct mad + requantized = reqcache[value] = III_requantize(value, exp); + } + ++ if (cachesz - fakebits < 1) ++ return MAD_ERROR_BADHUFFDATA; + xrptr[1] = MASK1BIT(bitcache, cachesz--) ? + -requantized : requantized; + } +@@ -1155,9 +1221,6 @@ enum mad_error III_huffdecode(struct mad + } + } + +- if (cachesz + bits_left < 0) +- return MAD_ERROR_BADHUFFDATA; /* big_values overrun */ +- + /* count1 */ + { + union huffquad const *table; +@@ -1167,15 +1230,24 @@ enum mad_error III_huffdecode(struct mad + + requantized = III_requantize(1, exp); + +- while (cachesz + bits_left > 0 && xrptr <= &xr[572]) { ++ while (cachesz + bits_left - fakebits > 0 && xrptr <= &xr[572]) { + union huffquad const *quad; + + /* hcod (1..6) */ + + if (cachesz < 10) { +- bitcache = (bitcache << 16) | mad_bit_read(&peek, 16); +- cachesz += 16; +- bits_left -= 16; ++ unsigned int bits = 16; ++ if (bits_left < 16) ++ bits = bits_left; ++ bitcache = (bitcache << bits) | mad_bit_read(&peek, bits); ++ cachesz += bits; ++ bits_left -= bits; ++ } ++ if (cachesz < 10) { ++ unsigned int bits = 10 - cachesz; ++ bitcache <<= bits; ++ cachesz += bits; ++ fakebits += bits; + } + + quad = &table[MASK(bitcache, cachesz, 4)]; +@@ -1188,6 +1260,11 @@ enum mad_error III_huffdecode(struct mad + MASK(bitcache, cachesz, quad->ptr.bits)]; + } + ++ if (cachesz - fakebits < quad->value.hlen + quad->value.v ++ + quad->value.w + quad->value.x + quad->value.y) ++ /* We don't have enough bits to read one more entry, consider them ++ * stuffing bits. */ ++ break; + cachesz -= quad->value.hlen; + + if (xrptr == sfbound) { +@@ -1236,22 +1313,8 @@ enum mad_error III_huffdecode(struct mad + + xrptr += 2; + } +- +- if (cachesz + bits_left < 0) { +-# if 0 && defined(DEBUG) +- fprintf(stderr, "huffman count1 overrun (%d bits)\n", +- -(cachesz + bits_left)); +-# endif +- +- /* technically the bitstream is misformatted, but apparently +- some encoders are just a bit sloppy with stuffing bits */ +- +- xrptr -= 4; +- } + } + +- assert(-bits_left <= MAD_BUFFER_GUARD * CHAR_BIT); +- + # if 0 && defined(DEBUG) + if (bits_left < 0) + fprintf(stderr, "read %d bits too many\n", -bits_left); +@@ -2348,10 +2411,11 @@ void III_freqinver(mad_fixed_t sample[18 + */ + static + enum mad_error III_decode(struct mad_bitptr *ptr, struct mad_frame *frame, +- struct sideinfo *si, unsigned int nch) ++ struct sideinfo *si, unsigned int nch, unsigned int md_len) + { + struct mad_header *header = &frame->header; + unsigned int sfreqi, ngr, gr; ++ int bits_left = md_len * CHAR_BIT; + + { + unsigned int sfreq; +@@ -2383,6 +2447,7 @@ enum mad_error III_decode(struct mad_bit + for (ch = 0; ch < nch; ++ch) { + struct channel *channel = &granule->ch[ch]; + unsigned int part2_length; ++ unsigned int part3_length; + + sfbwidth[ch] = sfbwidth_table[sfreqi].l; + if (channel->block_type == 2) { +@@ -2391,18 +2456,30 @@ enum mad_error III_decode(struct mad_bit + } + + if (header->flags & MAD_FLAG_LSF_EXT) { +- part2_length = III_scalefactors_lsf(ptr, channel, ++ error = III_scalefactors_lsf(ptr, channel, + ch == 0 ? 0 : &si->gr[1].ch[1], +- header->mode_extension); ++ header->mode_extension, bits_left, &part2_length); + } + else { +- part2_length = III_scalefactors(ptr, channel, &si->gr[0].ch[ch], +- gr == 0 ? 0 : si->scfsi[ch]); ++ error = III_scalefactors(ptr, channel, &si->gr[0].ch[ch], ++ gr == 0 ? 0 : si->scfsi[ch], bits_left, &part2_length); + } ++ if (error) ++ return error; ++ ++ bits_left -= part2_length; + +- error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part2_length); ++ if (part2_length > channel->part2_3_length) ++ return MAD_ERROR_BADPART3LEN; ++ ++ part3_length = channel->part2_3_length - part2_length; ++ if (part3_length > bits_left) ++ return MAD_ERROR_BADPART3LEN; ++ ++ error = III_huffdecode(ptr, xr[ch], channel, sfbwidth[ch], part3_length); + if (error) + return error; ++ bits_left -= part3_length; + } + + /* joint stereo processing */ +@@ -2519,11 +2596,13 @@ int mad_layer_III(struct mad_stream *str + unsigned int nch, priv_bitlen, next_md_begin = 0; + unsigned int si_len, data_bitlen, md_len; + unsigned int frame_space, frame_used, frame_free; +- struct mad_bitptr ptr; ++ struct mad_bitptr ptr, bufend_ptr; + struct sideinfo si; + enum mad_error error; + int result = 0; + ++ mad_bit_init(&bufend_ptr, stream->bufend); ++ + /* allocate Layer III dynamic structures */ + + if (stream->main_data == 0) { +@@ -2587,14 +2666,15 @@ int mad_layer_III(struct mad_stream *str + unsigned long header; + + mad_bit_init(&peek, stream->next_frame); ++ if (mad_bit_length(&peek, &bufend_ptr) >= 57) { ++ header = mad_bit_read(&peek, 32); ++ if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) { ++ if (!(header & 0x00010000L)) /* protection_bit */ ++ mad_bit_skip(&peek, 16); /* crc_check */ + +- header = mad_bit_read(&peek, 32); +- if ((header & 0xffe60000L) /* syncword | layer */ == 0xffe20000L) { +- if (!(header & 0x00010000L)) /* protection_bit */ +- mad_bit_skip(&peek, 16); /* crc_check */ +- +- next_md_begin = +- mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8); ++ next_md_begin = ++ mad_bit_read(&peek, (header & 0x00080000L) /* ID */ ? 9 : 8); ++ } + } + + mad_bit_finish(&peek); +@@ -2653,7 +2733,7 @@ int mad_layer_III(struct mad_stream *str + /* decode main_data */ + + if (result == 0) { +- error = III_decode(&ptr, frame, &si, nch); ++ error = III_decode(&ptr, frame, &si, nch, md_len); + if (error) { + stream->error = error; + result = -1; diff --git a/gnu/packages/patches/libmad-md_size.patch b/gnu/packages/patches/libmad-md_size.patch new file mode 100644 index 0000000000..0eb6844a2a --- /dev/null +++ b/gnu/packages/patches/libmad-md_size.patch @@ -0,0 +1,60 @@ +Copied from Debian. + +From: Kurt Roeckx +Date: Sun, 28 Jan 2018 15:44:08 +0100 +Subject: Check the size of the main data + +The main data to decode a frame can come from the current frame and part of the +previous frame, the so called bit reservoir. si.main_data_begin is the part of +the previous frame we need for this frame. frame_space is the amount of main +data that can be in this frame, and next_md_begin is the part of this frame that +is going to be used for the next frame. + +The maximum amount of data from a previous frame that the format allows is 511 +bytes. The maximum frame size for the defined bitrates is at MPEG 2.5 layer 2 +at 320 kbit/s and 8 kHz sample rate which gives 72 * (320000 / 8000) + 1 = 2881. +So those defines are not large enough: + # define MAD_BUFFER_GUARD 8 + # define MAD_BUFFER_MDLEN (511 + 2048 + MAD_BUFFER_GUARD) + +There is also support for a "free" bitrate which allows you to create any frame +size, which can be larger than the buffer. + +Changing the defines is not an option since it's part of the ABI, so we check +that the main data fits in the bufer. + +The previous frame data is stored in *stream->main_data and contains +stream->md_len bytes. If stream->md_len is larger than the data we +need from the previous frame (si.main_data_begin) it still wouldn't fit +in the buffer, so just keep the data that we need. + +Index: libmad-0.15.1b/layer3.c +=================================================================== +--- libmad-0.15.1b.orig/layer3.c ++++ libmad-0.15.1b/layer3.c +@@ -2608,6 +2608,11 @@ int mad_layer_III(struct mad_stream *str + next_md_begin = 0; + + md_len = si.main_data_begin + frame_space - next_md_begin; ++ if (md_len + MAD_BUFFER_GUARD > MAD_BUFFER_MDLEN) { ++ stream->error = MAD_ERROR_LOSTSYNC; ++ stream->sync = 0; ++ return -1; ++ } + + frame_used = 0; + +@@ -2625,8 +2630,11 @@ int mad_layer_III(struct mad_stream *str + } + } + else { +- mad_bit_init(&ptr, +- *stream->main_data + stream->md_len - si.main_data_begin); ++ memmove(stream->main_data, ++ *stream->main_data + stream->md_len - si.main_data_begin, ++ si.main_data_begin); ++ stream->md_len = si.main_data_begin; ++ mad_bit_init(&ptr, *stream->main_data); + + if (md_len > si.main_data_begin) { + assert(stream->md_len + md_len - -- cgit v1.2.3 From 6a5198170ed5f10e1eee2e25fc6a39f3f33a40fd Mon Sep 17 00:00:00 2001 From: Brian Leung Date: Mon, 5 Aug 2019 23:05:43 +0200 Subject: gnu: emacs-ivy: Update to 0.12.0-1.d3e4514. * gnu/packages/emacs-xyz.scm (emacs-ivy): Update to 0.12.0-1.d3e4514. Signed-off-by: Ricardo Wurmus --- gnu/packages/emacs-xyz.scm | 73 +++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 34 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 1b6e02bcbc..213dac78f6 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -4732,45 +4732,50 @@ automatically.") (license license:gpl3+))) (define-public emacs-ivy - (package - (name "emacs-ivy") - (version "0.12.0") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/abo-abo/swiper.git") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0xgngn3jhmyn6mlkk9kmgfgh0w5i50b27syr4cgfgarg6p77j05w")))) - (build-system emacs-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'install 'install-doc - (lambda* (#:key outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (info (string-append out "/share/info"))) - (with-directory-excursion "doc" - (invoke "makeinfo" "ivy.texi") - (install-file "ivy.info" info) - #t))))))) - (propagated-inputs - `(("emacs-hydra" ,emacs-hydra))) - (native-inputs - `(("texinfo" ,texinfo))) - (home-page "http://oremacs.com/swiper/") - (synopsis "Incremental vertical completion for Emacs") - (description - "This package provides @code{ivy-read} as an alternative to + ;; The latest release version introduced a new feature, swiper-isearch, that + ;; generally works well but had some noticeable bugs; this later commit + ;; includes fixes for several of them. + (let ((commit "d3e4514fd72f217c704ae18afdf711bb9036a04d") + (revision "1")) + (package + (name "emacs-ivy") + (version (git-version "0.12.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/abo-abo/swiper.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "142axxc6vsl14cfyvzj9csiykxdn7vhw88fy955hzx7av4qfqg4x")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (info (string-append out "/share/info"))) + (with-directory-excursion "doc" + (invoke "makeinfo" "ivy.texi") + (install-file "ivy.info" info) + #t))))))) + (propagated-inputs + `(("emacs-hydra" ,emacs-hydra))) + (native-inputs + `(("texinfo" ,texinfo))) + (home-page "http://oremacs.com/swiper/") + (synopsis "Incremental vertical completion for Emacs") + (description + "This package provides @code{ivy-read} as an alternative to @code{completing-read} and similar functions. No attempt is made to determine the best candidate. Instead, the user can navigate candidates with @code{ivy-next-line} and @code{ivy-previous-line}. The matching is done by splitting the input text by spaces and re-building it into a regular expression.") - (license license:gpl3+))) + (license license:gpl3+)))) (define-public emacs-ivy-pass (let ((commit "5b523de1151f2109fdd6a8114d0af12eef83d3c5") -- cgit v1.2.3