From f52ddd6236d5a7a7373eee2e4d764172cac9877d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 14 Jul 2018 22:09:56 +0300 Subject: gnu: gnu-pw-mgr: Update to 2.3.3. * gnu/packages/gnu-pw-mgr.scm (gnu-pw-mgr): Update to 2.3.3. --- gnu/packages/gnu-pw-mgr.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnu-pw-mgr.scm b/gnu/packages/gnu-pw-mgr.scm index 0d16bf5f0b..38f9e8187a 100644 --- a/gnu/packages/gnu-pw-mgr.scm +++ b/gnu/packages/gnu-pw-mgr.scm @@ -30,7 +30,7 @@ (define-public gnu-pw-mgr (package (name "gnu-pw-mgr") - (version "2.3.2") + (version "2.3.3") (source (origin (method url-fetch) @@ -38,7 +38,7 @@ version ".tar.xz")) (sha256 (base32 - "0x60g0syqpd107l8w4bl213imy2lspm4kz1j18yr1sh10rdxlgxd")))) + "04xh38j7l0sfnb01kp05xc908pvqfc0lph94k7n9bi46zy3qy7ma")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 5743ba497922d8278929f1accf8e8aff5cc9ea28 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 14 Jul 2018 22:51:14 +0300 Subject: gnu: debootstrap: Update to 1.0.106. * gnu/packages/debian.scm (debootstrap): Update to 1.0.106. [source]: Download from git repository. [home-page]: Update to new home-page. --- gnu/packages/debian.scm | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/gnu/packages/debian.scm b/gnu/packages/debian.scm index e1dd9d1485..1974672fb6 100644 --- a/gnu/packages/debian.scm +++ b/gnu/packages/debian.scm @@ -17,6 +17,7 @@ (define-module (gnu packages debian) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix packages) #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) @@ -112,15 +113,17 @@ contains the archive keys used for that.") (define-public debootstrap (package (name "debootstrap") - (version "1.0.101") + (version "1.0.106") (source (origin - (method url-fetch) - (uri (string-append "mirror://debian/pool/main/d/" name "/" - name "_" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://salsa.debian.org/installer-team/debootstrap.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1p1a81s8hq73byd7256iljdls389x2q7w6srgrgfmx5bl1csnzp3")))) + "1fm5bgllcwgwizrqi4sn8p4fpbzhbzgwprrfppfq9hqdzbmlfmnv")))) (build-system gnu-build-system) (arguments `(#:phases @@ -165,7 +168,7 @@ contains the archive keys used for that.") `(("binutils" ,binutils) ("gnupg" ,gnupg) ("perl" ,perl))) - (home-page "https://anonscm.debian.org/cgit/d-i/debootstrap.git") + (home-page "https://tracker.debian.org/pkg/debootstrap") (synopsis "Bootstrap a basic Debian system") (description "Debootstrap is used to create a Debian base system from scratch, without requiring the availability of @code{dpkg} or @code{apt}. -- cgit v1.2.3 From 6c10675928a4485fd4ed83f4a067f22ae06779cc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sat, 14 Jul 2018 23:19:26 +0300 Subject: gnu: python-xenon: Update to 0.5.4. * gnu/packages/python.scm (python-xenon): Update to 0.5.4. [arguments]: Remove part of custom 'patch-test-requirements phase. --- gnu/packages/python.scm | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d350990c67..38c48288a9 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -14,7 +14,7 @@ ;;; Copyright © 2015, 2016, 2017 Leo Famulari ;;; Copyright © 2015, 2017 Ben Woodcroft ;;; Copyright © 2015, 2016 Erik Edrosa -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2015, 2017 Kyle Meyer ;;; Copyright © 2015, 2016 Chris Marusich ;;; Copyright © 2016 Danny Milosavljevic @@ -12242,14 +12242,14 @@ pure Python module.") (define-public python-xenon (package (name "python-xenon") - (version "0.5.1") + (version "0.5.4") (source (origin (method url-fetch) (uri (pypi-uri "xenon" version)) (sha256 (base32 - "14kby2y48vp3sgwxqlm5d5789yibqwb1qli5fwcmdqg3iayrbklc")))) + "029cbhysg2vr5n4jz8gpg2793f8wkwnqpr1qgv6c1dn685vy31mc")))) (build-system python-build-system) (native-inputs `(("python-pyyaml" ,python-pyyaml) @@ -12261,12 +12261,7 @@ pure Python module.") `(#:phases (modify-phases %standard-phases (add-before 'build 'patch-test-requirements - (lambda* (#:key inputs #:allow-other-keys) - ;; Update requirements from dependency==version to - ;; dependency>=version. - (substitute* "requirements.txt" - (("==") ">=") - ((",<1.5.0") "")) + (lambda _ ;; Remove httpretty dependency for tests. (substitute* "setup.py" (("httpretty") "")) -- cgit v1.2.3 From 2c6f0438d8c967dcfc0a2ccaa1a6a3ea1e1bcc00 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 21:16:26 +0300 Subject: gnu: tor: Update to 0.3.3.9. * gnu/packages/tor.scm (tor): Update to 0.3.3.9. --- gnu/packages/tor.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index 054d1e4029..e727033fc9 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2016, 2017 Efraim Flashner -;;; Copyright © 2016, 2017 Nils Gillmann +;;; Copyright © 2016, 2017, 2018 Nils Gillmann ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Rutger Helling @@ -47,14 +47,14 @@ (define-public tor (package (name "tor") - (version "0.3.3.7") + (version "0.3.3.9") (source (origin (method url-fetch) (uri (string-append "https://dist.torproject.org/tor-" version ".tar.gz")) (sha256 (base32 - "036ybfvldj7yfci9ipjki8smpzyxdg8c5r12bghc9yxdqh9basza")))) + "0vyf5z0dn5jghp2qjp076aq62lsz9g32qv9jiqf08skf096nnd45")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list "--enable-gcc-hardening" -- cgit v1.2.3 From 71e304ed28990091d50a5517bca1a60925fa5548 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 21:33:49 +0300 Subject: gnu: emacs: Build with libjpeg@9. * gnu/packages/emacs.scm (emacs)[inputs]: Replace libjpeg@8 with libjpeg. --- gnu/packages/emacs.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 11cd244deb..64064ec513 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -199,7 +199,7 @@ ("libxft" ,libxft) ("libtiff" ,libtiff) ("giflib" ,giflib) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("imagemagick" ,imagemagick) ("acl" ,acl) -- cgit v1.2.3 From 97dd1b154be5f92a0ea68b31586e997c46be0eb4 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 21:46:16 +0300 Subject: gnu: postgresql@9.6: Update to 9.6.9. * gnu/packages/databases.scm (postgresql@9.6): Update to 9.6.9. --- gnu/packages/databases.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 55979834c9..382c74cfd9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -702,6 +702,7 @@ Language.") as a drop-in replacement of MySQL.") (license license:gpl2))) +;; Don't forget to update the other postgresql packages when upgrading this one. (define-public postgresql (package (name "postgresql") @@ -750,14 +751,14 @@ pictures, sounds, or video.") (package (inherit postgresql) (name "postgresql") - (version "9.6.8") + (version "9.6.9") (source (origin (method url-fetch) (uri (string-append "https://ftp.postgresql.org/pub/source/v" version "/postgresql-" version ".tar.bz2")) (sha256 (base32 - "0w7bwf19wbdd3jjbjv03cnx56qka4801srcbsayk9v792awv7zga")))))) + "0biy8j69dbvdmrag55pdszpc0702agzqhhcwdx21xp02mzim4ydr")))))) (define-public qdbm (package -- cgit v1.2.3 From 4f963b6f29b850b1dcb1270cca3075417dc4962f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 21:47:30 +0300 Subject: gnu: rust@1.19: Don't make public. * gnu/packages/rust.scm (rust@1.19): Don't make it a public variable. --- gnu/packages/rust.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index bb6fea99a0..761f3966c9 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -167,7 +167,7 @@ in turn be used to build the final Rust.") (snippet '(begin (delete-file-recursively "src/llvm") #t)) (patches (map search-patch patches)))) -(define-public rust-1.19 +(define rust-1.19 (package (name "rust") (version "1.19.0") -- cgit v1.2.3 From 080e11b48e6af05f6d051bfab6b4bd7830ef664c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 21:49:21 +0300 Subject: gnu: rust@1.25: Fix build on aarch64-linux. * gnu/packages/rust.scm (rust@1.25)[arguments]: Replace inherited custom 'patch-aarch64-test phase. Make sure all phases return #t. --- gnu/packages/rust.scm | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 761f3966c9..28bffb44bb 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -554,14 +554,28 @@ jemalloc = \"" jemalloc "/lib/libjemalloc_pic.a" "\" ((#:phases phases) `(modify-phases ,phases (add-after 'patch-cargo-tests 'patch-cargo-index-update - (lambda* _ + (lambda _ (substitute* "src/tools/cargo/tests/generate-lockfile.rs" ;; This test wants to update the crate index. - (("fn no_index_update") "#[ignore]\nfn no_index_update")))) + (("fn no_index_update") "#[ignore]\nfn no_index_update")) + #t)) (add-after 'configure 'enable-codegen-tests - (lambda* _ + (lambda _ (substitute* "config.toml" - (("codegen-tests = false") "")))) + (("codegen-tests = false") "")) + #t)) + (replace 'patch-aarch64-test + (lambda _ + (substitute* "src/librustc_metadata/dynamic_lib.rs" + ;; This test is known to fail on aarch64 and powerpc64le: + ;; https://github.com/rust-lang/rust/issues/45410 + (("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine")) + ;; This test fails on aarch64 with llvm@6.0: + ;; https://github.com/rust-lang/rust/issues/49807 + ;; other possible solution: + ;; https://github.com/rust-lang/rust/pull/47688 + (delete-file "src/test/debuginfo/by-value-self-argument-in-trait-impl.rs") + #t)) (delete 'ignore-glibc-2.27-incompatible-test)))))))) (define-public rust-1.26 -- cgit v1.2.3 From cb570156b662ffe8a432208bcb51ee302e6b08f9 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 22:01:53 +0300 Subject: gnu: gegl: Use libjpeg@9. * gnu/packages/gimp.scm (gegl)[inputs]: Replace libjpeg@8 with libjpeg. --- gnu/packages/gimp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index ec3a634844..55fb38ed90 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2016, 2018 Ricardo Wurmus -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari ;;; @@ -100,7 +100,7 @@ provided, as well as a framework to add new color models and data types.") `(("cairo" ,cairo) ("pango" ,pango) ("libpng" ,libpng) - ("libjpeg" ,libjpeg-8))) + ("libjpeg" ,libjpeg))) (native-inputs `(("pkg-config" ,pkg-config) ("glib" ,glib "bin") ; for gtester -- cgit v1.2.3 From 74f99ee42aee76415c15e0bb4d1cb5baa78d95e0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 22:02:34 +0300 Subject: gnu: gimp: Use libjpeg@9. * gnu/packages/gimp.scm (gimp)[inputs]: Replace libjpeg@8 with libjpeg. --- gnu/packages/gimp.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index 55fb38ed90..feb67318df 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -154,7 +154,7 @@ buffers.") ("glib" ,glib) ("glib-networking" ,glib-networking) ("libtiff" ,libtiff) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("atk" ,atk) ("gexiv2" ,gexiv2) ("gtk+" ,gtk+-2) -- cgit v1.2.3 From 22f003880cccc73903b63bbb0f6a74cc4907dce6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 22:16:16 +0300 Subject: gnu: podofo: Update to 0.9.6. * gnu/packages/pdf.scm (podofo): Update to 0.9.6. [native-inputs]: Add cppunit, pkg-config. [inputs]: Replace libjpeg@8 with libjpeg. Order alphabetically. --- gnu/packages/pdf.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 66fbb20038..6b77e8e4d5 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -585,23 +585,26 @@ interaction.") (define-public podofo (package (name "podofo") - (version "0.9.5") + (version "0.9.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/podofo/podofo/" version "/podofo-" version ".tar.gz")) (sha256 (base32 - "012kgfx5j5n6w4zkc1d290d2cwjk60jhzsjlr2x19g3yi75q2jc5")))) + "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9")))) (build-system cmake-build-system) - (inputs ; TODO: Add cppunit for tests - `(("lua" ,lua-5.1) - ("libpng" ,libpng) - ("openssl" ,openssl) - ("fontconfig" ,fontconfig) + (native-inputs + `(("cppunit" ,cppunit) + ("pkg-config" ,pkg-config))) + (inputs + `(("libjpeg" ,libjpeg) ("libtiff" ,libtiff) - ("libjpeg" ,libjpeg-8) + ("fontconfig" ,fontconfig) ("freetype" ,freetype) + ("libpng" ,libpng) + ("lua" ,lua-5.1) + ("openssl" ,openssl) ("zlib" ,zlib))) (arguments `(#:configure-flags '("-DPODOFO_BUILD_SHARED=ON" -- cgit v1.2.3 From 1cd968e8549ab13a716e8b0c4a946276a2239eaa Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 22:39:39 +0300 Subject: gnu: openimageio: Don't use unstable tarball. * gnu/packages/graphics.scm (openimageio)[source]: Download the source from a git repository. --- gnu/packages/graphics.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 65f023a488..1b59ff3fc3 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2015 Tomáš Čech ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2016, 2017 Ricardo Wurmus -;;; Copyright © 2016 Efraim Flashner +;;; Copyright © 2016, 2018 Efraim Flashner ;;; Copyright © 2016 Andreas Enge ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis ;;; Copyright © 2017, 2018 Ben Woodcroft @@ -373,13 +373,14 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (name "openimageio") (version "1.7.19") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/OpenImageIO/oiio/" - "archive/Release-" version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenImageIO/oiio.git") + (commit (string-append "Release-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1qlmfhvl2wva4aifyiq7c4sdy61ddl7wykwvlpfys9p701xghvj7")))) + "0yxxy43l3lllw7maqg42dlkgqms2d4772sxzxk7kmxg4lnhsvndc")))) (build-system cmake-build-system) ;; FIXME: To run all tests successfully, test image sets from multiple ;; third party sources have to be present. For details see -- cgit v1.2.3 From 0998278519d6960261b006dd0cbf05ce25fec354 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 22:40:24 +0300 Subject: gnu: openimageio: Use libjpeg@9. * gnu/packages/graphics.scm (openimageio)[inputs]: Replace libjpeg@8 with libjpeg. --- gnu/packages/graphics.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 1b59ff3fc3..243814c14d 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -391,7 +391,7 @@ storage of the \"EXR\" file format for storing 16-bit floating-point images.") (inputs `(("boost" ,boost) ("libpng" ,libpng) - ("libjpeg" ,libjpeg-8) + ("libjpeg" ,libjpeg) ("libtiff" ,libtiff) ("giflib" ,giflib) ("openexr" ,openexr) -- cgit v1.2.3 From 5041d03a414e397602099e0db7d7074eeb6674e7 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 22:58:41 +0300 Subject: gnu: libraw: Use libjpeg@9. * gnu/packages/photo.scm (libraw)[inputs]: Replace libjpeg@8 with libjpeg. --- gnu/packages/photo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm index 7bf1d60f7c..88fa1aba68 100644 --- a/gnu/packages/photo.scm +++ b/gnu/packages/photo.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2014, 2015, 2017 Ludovic Courtès ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015, 2017 Andreas Enge -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2017 Roel Janssen ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2018 Leo Famulari @@ -81,7 +81,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg-8))) ;for lossy DNGs and old Kodak cameras + `(("libjpeg" ,libjpeg))) ;for lossy DNGs and old Kodak cameras (propagated-inputs `(("lcms" ,lcms))) ;for color profiles (home-page "https://www.libraw.org") -- cgit v1.2.3 From ae608622f39c5585acfda29454c1ed2c0f10d5d0 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 23:13:28 +0300 Subject: gnu: tor.scm: Fix copyright line. This is a follow-up to 2c6f0438d8c967dcfc0a2ccaa1a6a3ea1e1bcc00. --- gnu/packages/tor.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index e727033fc9..e897dff639 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -1,8 +1,8 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver -;;; Copyright © 2016, 2017 Efraim Flashner -;;; Copyright © 2016, 2017, 2018 Nils Gillmann +;;; Copyright © 2016, 2017, 2018 Efraim Flashner +;;; Copyright © 2016, 2017 Nils Gillmann ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Eric Bavier ;;; Copyright © 2017 Rutger Helling -- cgit v1.2.3 From 0d354666d35ea54b024f45a6b3d835e8879a5df5 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 14 Jul 2018 11:52:14 +0100 Subject: ruby-build-system: Error or return #t from all phases. Previously, if the tests didn't pass, the check phase would evaluate to #f, but the package would be built sucessfully. This changes all the phases to raise exceptions if errors are encountered, and return #t otherwise. This involves using invoke rather than system*, so that exceptions are raised if the program exits with a status other than 0, and also returning #t at the end of functions. * gnu/build/ruby-build-system.scm (unpack): Use invoke rather than system*, and return #t at the end. (build, check): Use invoke rather than system*. (install): Remove the use of "and", and rewrite the error handling to raise an exception. (wrap): Return #t. --- guix/build/ruby-build-system.scm | 108 ++++++++++++++++++++------------------- 1 file changed, 55 insertions(+), 53 deletions(-) diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index abef6937bc..a346e9fb8e 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -52,18 +52,19 @@ directory." (define* (unpack #:key source #:allow-other-keys) "Unpack the gem SOURCE and enter the resulting directory." (if (gem-archive? source) - (and (zero? (system* "gem" "unpack" source)) - ;; The unpacked gem directory is named the same as the archive, - ;; sans the ".gem" extension. It is renamed to simply "gem" in an - ;; effort to keep file names shorter to avoid UNIX-domain socket - ;; file names and shebangs that exceed the system's fixed maximum - ;; length when running test suites. - (let ((dir (match:substring (string-match "^(.*)\\.gem$" - (basename source)) - 1))) - (rename-file dir "gem") - (chdir "gem") - #t)) + (begin + (invoke "gem" "unpack" source) + ;; The unpacked gem directory is named the same as the archive, + ;; sans the ".gem" extension. It is renamed to simply "gem" in an + ;; effort to keep file names shorter to avoid UNIX-domain socket + ;; file names and shebangs that exceed the system's fixed maximum + ;; length when running test suites. + (let ((dir (match:substring (string-match "^(.*)\\.gem$" + (basename source)) + 1))) + (rename-file dir "gem") + (chdir "gem")) + #t) ;; Use GNU unpack strategy for things that aren't gem archives. (gnu:unpack #:source source))) @@ -104,7 +105,8 @@ generate the files list." (write-char (read-char pipe) out)))) #t) (lambda () - (close-pipe pipe))))))) + (close-pipe pipe))))) + #t)) (define* (build #:key source #:allow-other-keys) "Build a new gem using the gemspec from the SOURCE gem." @@ -112,13 +114,13 @@ generate the files list." ;; Build a new gem from the current working directory. This also allows any ;; dynamic patching done in previous phases to be present in the installed ;; gem. - (zero? (system* "gem" "build" (first-gemspec)))) + (invoke "gem" "build" (first-gemspec))) (define* (check #:key tests? test-target #:allow-other-keys) "Run the gem's test suite rake task TEST-TARGET. Skip the tests if TESTS? is #f." (if tests? - (zero? (system* "rake" test-target)) + (invoke "rake" test-target) #t)) (define* (install #:key inputs outputs (gem-flags '()) @@ -137,43 +139,42 @@ GEM-FLAGS are passed to the 'gem' invokation, if present." 0 (- (string-length gem-file-basename) 4)))) (setenv "GEM_VENDOR" vendor-dir) - (and (let ((install-succeeded? - (zero? - (apply system* "gem" "install" gem-file - "--local" "--ignore-dependencies" "--vendor" - ;; Executables should go into /bin, not - ;; /lib/ruby/gems. - "--bindir" (string-append out "/bin") - gem-flags)))) - (or install-succeeded? - (begin - (simple-format #t "installation failed\n") - (let ((failed-output-dir (string-append (getcwd) "/out"))) - (mkdir failed-output-dir) - (copy-recursively out failed-output-dir)) - #f))) - (begin - ;; Remove the cached gem file as this is unnecessary and contains - ;; timestamped files rendering builds not reproducible. - (let ((cached-gem (string-append vendor-dir "/cache/" gem-file))) - (log-file-deletion cached-gem) - (delete-file cached-gem)) - ;; For gems with native extensions, several Makefile-related files - ;; are created that contain timestamps or other elements making - ;; them not reproducible. They are unnecessary so we remove them. - (if (file-exists? (string-append vendor-dir "/ext")) - (begin - (for-each (lambda (file) - (log-file-deletion file) - (delete-file file)) - (append - (find-files (string-append vendor-dir "/doc") - "page-Makefile.ri") - (find-files (string-append vendor-dir "/extensions") - "gem_make.out") - (find-files (string-append vendor-dir "/ext") - "Makefile"))))) - #t)))) + + (or (zero? + (apply system* "gem" "install" gem-file + "--local" "--ignore-dependencies" "--vendor" + ;; Executables should go into /bin, not + ;; /lib/ruby/gems. + "--bindir" (string-append out "/bin") + gem-flags)) + (begin + (let ((failed-output-dir (string-append (getcwd) "/out"))) + (mkdir failed-output-dir) + (copy-recursively out failed-output-dir)) + (error "installation failed"))) + + ;; Remove the cached gem file as this is unnecessary and contains + ;; timestamped files rendering builds not reproducible. + (let ((cached-gem (string-append vendor-dir "/cache/" gem-file))) + (log-file-deletion cached-gem) + (delete-file cached-gem)) + + ;; For gems with native extensions, several Makefile-related files + ;; are created that contain timestamps or other elements making + ;; them not reproducible. They are unnecessary so we remove them. + (when (file-exists? (string-append vendor-dir "/ext")) + (for-each (lambda (file) + (log-file-deletion file) + (delete-file file)) + (append + (find-files (string-append vendor-dir "/doc") + "page-Makefile.ri") + (find-files (string-append vendor-dir "/extensions") + "gem_make.out") + (find-files (string-append vendor-dir "/ext") + "Makefile")))) + + #t)) (define* (wrap-ruby-program prog #:key (gem-clear-paths #t) #:rest vars) "Make a wrapper for PROG. VARS should look like this: @@ -301,7 +302,8 @@ extended with definitions for VARS." (let ((files (list-of-files dir))) (for-each (cut wrap-ruby-program <> var) files))) - bindirs))) + bindirs)) + #t) (define (log-file-deletion file) (display (string-append "deleting '" file "' for reproducibility\n"))) -- cgit v1.2.3 From fe27238cea9fd85e0cd42ea1ad9fdc3a73b9758d Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sat, 14 Jul 2018 11:57:38 +0100 Subject: gnu: ruby-options: Return #t from set-LIB phase. * gnu/packages/ruby.scm (ruby-options)[arguments]: Return #t from the set-LIB phase. --- gnu/packages/ruby.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1602fd5d5e..9a74f16c01 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -883,7 +883,8 @@ complexity.") (lambda _ ;; This is used in the Rakefile, and setting it avoids an issue ;; with running the tests. - (setenv "LIB" "options")))))) + (setenv "LIB" "options") + #t))))) (synopsis "Ruby library to parse options from *args cleanly") (description "The @code{options} library helps with parsing keyword options in Ruby -- cgit v1.2.3 From cfe255684cc4deb164d0eaaa2e1ed9804b5ff651 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 01:40:15 -0400 Subject: gnu: botan: Update to 2.7.0 [fixes CVE-2018-12435]. * gnu/packages/crypto.scm (botan): Update to 2.7.0. --- gnu/packages/crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index dd86843938..4629bcd895 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -755,14 +755,14 @@ SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent BTIH, GOST R (define-public botan (package (name "botan") - (version "2.6.0") + (version "2.7.0") (source (origin (method url-fetch) (uri (string-append "https://botan.randombit.net/releases/" "Botan-" version ".tgz")) (sha256 (base32 - "1iawmymmnp5j2mcjj70slivn6bgg8gbpppldc1rjqw5sbdan3wn1")))) + "142aqabwc266jxn8wrp0f1ffrmcvdxwvyh8frb38hx9iaqazjbg4")))) (build-system gnu-build-system) (arguments '(#:phases -- cgit v1.2.3 From 0728f60074e407a014d028d36d7cb891a35c597f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 11:04:10 +0300 Subject: gnu: fltk: Update to 1.3.4-2. * gnu/packages/fltk.scm (fltk): Update to 1.3.4-2. [source]: Remove patches. [inputs]: Switch from libjpeg-8 to libjpeg. * gnu/packages/patches/fltk-shared-lib-defines.patch, gnu/packages/patches/fltk-xfont-on-demand.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 2 - gnu/packages/fltk.scm | 26 +++++------ gnu/packages/patches/fltk-shared-lib-defines.patch | 51 ---------------------- gnu/packages/patches/fltk-xfont-on-demand.patch | 45 ------------------- 4 files changed, 13 insertions(+), 111 deletions(-) delete mode 100644 gnu/packages/patches/fltk-shared-lib-defines.patch delete mode 100644 gnu/packages/patches/fltk-xfont-on-demand.patch diff --git a/gnu/local.mk b/gnu/local.mk index 9e875263ac..f349eded50 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -676,8 +676,6 @@ dist_patch_DATA = \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ - %D%/packages/patches/fltk-shared-lib-defines.patch \ - %D%/packages/patches/fltk-xfont-on-demand.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/freeimage-CVE-2015-0852.patch \ diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index e4eb2fcad0..a3c088c2e8 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015, 2018 Ricardo Wurmus ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2018 Mark H Weaver +;;; Copyright © 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,27 +35,27 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) - #:use-module (guix build-system waf)) + #:use-module (guix build-system waf) + #:use-module (srfi srfi-1)) (define-public fltk (package (name "fltk") - (version "1.3.3") + (version "1.3.4-2") (source (origin (method url-fetch) - (uri (string-append "http://fltk.org/pub/fltk/" version + (uri (string-append "http://fltk.org/pub/fltk/" + (first (string-split version #\-)) "/fltk-" version "-source.tar.gz")) (sha256 (base32 - "15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq")) - (patches (search-patches "fltk-shared-lib-defines.patch" - "fltk-xfont-on-demand.patch")))) + "0459rm1gl5x3famiqma7ja7k6hvan8p5l8lgshvqfl4rik0lklr5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9 + `(("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libx11" ,libx11) ("libxft" ,libxft) @@ -76,12 +77,11 @@ ;; Provide -L flags for image libraries when querying fltk-config to ;; avoid propagating inputs. (lambda* (#:key inputs outputs #:allow-other-keys) - (use-modules (srfi srfi-26)) - (let* ((conf (string-append (assoc-ref outputs "out") - "/bin/fltk-config")) - (jpeg (assoc-ref inputs "libjpeg")) - (png (assoc-ref inputs "libpng")) - (zlib (assoc-ref inputs "zlib"))) + (let ((conf (string-append (assoc-ref outputs "out") + "/bin/fltk-config")) + (jpeg (assoc-ref inputs "libjpeg")) + (png (assoc-ref inputs "libpng")) + (zlib (assoc-ref inputs "zlib"))) (substitute* conf (("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg")) (("-lpng") (string-append "-L" png "/lib -lpng")) diff --git a/gnu/packages/patches/fltk-shared-lib-defines.patch b/gnu/packages/patches/fltk-shared-lib-defines.patch deleted file mode 100644 index d36a50ff5e..0000000000 --- a/gnu/packages/patches/fltk-shared-lib-defines.patch +++ /dev/null @@ -1,51 +0,0 @@ -This patch from upstream revision 10588. - ---- fltk-1.3.3/src/Xutf8.h -+++ fltk-1.3.3/src/Xutf8.h -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - typedef struct { - int nb_font; -@@ -98,8 +99,8 @@ - XUtf8FontStruct *font_set, - unsigned int ucs); - --int --XGetUtf8FontAndGlyph( -+FL_EXPORT int -+fl_XGetUtf8FontAndGlyph( - XUtf8FontStruct *font_set, - unsigned int ucs, - XFontStruct **fnt, ---- fltk-1.3.3/src/gl_draw.cxx -+++ fltk-1.3.3/src/gl_draw.cxx -@@ -114,7 +114,7 @@ - for (int i = 0; i < 0x400; i++) { - XFontStruct *font = NULL; - unsigned short id; -- XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id); -+ fl_XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id); - if (font) glXUseXFont(font->fid, id, 1, gl_fontsize->listbase+ii); - ii++; - } ---- fltk-1.3.3/src/xutf8/utf8Wrap.c -+++ fltk-1.3.3/src/xutf8/utf8Wrap.c -@@ -816,10 +816,10 @@ - /** get the X font and glyph ID of a UCS char **/ - /*****************************************************************************/ - int --XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, -- unsigned int ucs, -- XFontStruct **fnt, -- unsigned short *id) { -+fl_XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, -+ unsigned int ucs, -+ XFontStruct **fnt, -+ unsigned short *id) { - - /* int x; */ - int *encodings; /* encodings array */ diff --git a/gnu/packages/patches/fltk-xfont-on-demand.patch b/gnu/packages/patches/fltk-xfont-on-demand.patch deleted file mode 100644 index cdcdd9af05..0000000000 --- a/gnu/packages/patches/fltk-xfont-on-demand.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fixes undefined reference to `Fl_XFont_On_Demand::value()'. -From . - -Index: src/fl_font.cxx -=================================================================== ---- fltk-1.3.3/src/fl_font.cxx (revision 10503) -+++ fltk-1.3.3/src/fl_font.cxx (revision 10504) -@@ -55,6 +55,12 @@ - # include "fl_font_x.cxx" - #endif // WIN32 - -+#if ! (defined(WIN32) || defined(__APPLE__)) -+XFontStruct *fl_X_core_font() -+{ -+ return fl_xfont.value(); -+} -+#endif - - double fl_width(const char* c) { - if (c) return fl_width(c, (int) strlen(c)); -Index: src/gl_draw.cxx -=================================================================== ---- fltk-1.3.3/src/gl_draw.cxx (revision 10503) -+++ fltk-1.3.3/src/gl_draw.cxx (revision 10504) -@@ -81,7 +81,7 @@ - * then sorting through them at draw time (for normal X rendering) to find which one can - * render the current glyph... But for now, just use the first font in the list for GL... - */ -- XFontStruct *font = fl_xfont; -+ XFontStruct *font = fl_X_core_font(); - int base = font->min_char_or_byte2; - int count = font->max_char_or_byte2-base+1; - fl_fontsize->listbase = glGenLists(256); -Index: FL/x.H -=================================================================== ---- fltk-1.3.3/FL/x.H (revision 10503) -+++ fltk-1.3.3/FL/x.H (revision 10504) -@@ -132,6 +132,7 @@ - XFontStruct *ptr; - }; - extern FL_EXPORT Fl_XFont_On_Demand fl_xfont; -+extern FL_EXPORT XFontStruct* fl_X_core_font(); - - // this object contains all X-specific stuff about a window: - // Warning: this object is highly subject to change! -- cgit v1.2.3 From 248a9e163b8c09036d7bfe4c5dc35b0eebf64318 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 02:37:57 -0400 Subject: gnu: java-bouncycastle: Update to 1.60 [fixes CVE-2018-1000180]. * gnu/packages/java.scm (java-bouncycastle): Update to 1.60. --- gnu/packages/java.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index a7d5c9f445..bc28428935 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -8425,15 +8425,15 @@ algorithms and xxHash hashing algorithm.") (define-public java-bouncycastle (package (name "java-bouncycastle") - (version "1.59") + (version "1.60") (source (origin (method url-fetch) (uri (string-append "https://github.com/bcgit/bc-java/archive/r" - (substring version 0 1) "rv" + (substring version 0 1) "v" (substring version 2 4) ".tar.gz")) (sha256 (base32 - "1bwl499whlbq896w18idqw2dkp8v0wp0npv9g71i5fgf8xjh0k3q")) + "0v434513y708qc87k4xz13p2kzydc736lk3ks67df9mg11s7hchv")) (modules '((guix build utils))) (snippet '(begin -- cgit v1.2.3 From 66b9c643d5146f193182cd9ec5cf414aa6874b8c Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 16 Jul 2018 11:01:24 +0300 Subject: gnu: kodi: Build with mariadb. * gnu/packages/kodi.scm (kodi)[inputs]: Replace mysql with mariadb. --- gnu/packages/kodi.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index 6f8571d22a..62a971a0a8 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -395,7 +395,7 @@ generator library for C++.") ("libxrender" ,libxrender) ("libxslt" ,libxslt) ("lzo" ,lzo) - ("mysql" ,mysql) + ("mariadb" ,mariadb) ("openssl" ,openssl) ("pcre" ,pcre) ("pulseaudio" ,pulseaudio) -- cgit v1.2.3 From a0bb021785e56a6cd20f7e0d69470665939fbd8b Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Fri, 13 Jul 2018 22:39:16 +0000 Subject: gnu: Add electron-cash. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/finance.scm (electron-cash): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/finance.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 1d3e6a7a6a..29bf3040ed 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -329,6 +329,37 @@ generation from a seed. Your secret keys are encrypted and are never sent to other machines/servers. Electrum does not download the Bitcoin blockchain.") (license license:expat))) +(define-public electron-cash + (package + (inherit electrum) + (name "electron-cash") + (version "3.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://electroncash.org/downloads/" + version + "/win-linux/ElectronCash-" + version + ".tar.gz")) + (sha256 + (base32 + "1x487hyacdm1qhik1mhfimr4jwcwz7sgsbkh11awrb6j19sxdxym")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Delete the bundled dependencies. + (delete-file-recursively "packages") + #t)))) + (home-page "https://electroncash.org/") + (synopsis "Bitcoin Cash wallet") + (description + "Electroncash is a lightweight Bitcoin Cash client, based on a client-server +protocol. It supports Simple Payment Verification (SPV) and deterministic key +generation from a seed. Your secret keys are encrypted and are never sent to +other machines/servers. Electroncash does not download the Bitcoin Cash blockchain.") + (license license:expat))) + (define-public monero ;; This package bundles easylogging++ and lmdb. ;; The bundled easylogging++ is modified, and the changes will not be upstreamed. -- cgit v1.2.3 From 0a551443aeb2563f894494477ad809555244de68 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sun, 8 Jul 2018 20:39:26 +0300 Subject: gnu: monero: Update to 0.12.3.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/monero-use-system-miniupnpc.patch: New file. * gnu/local.mk: Add it. * gnu/packages/finance.scm (monero): Update to 0.12.3.0. [source]: Add patch. Remove snippet because miniupnpc, rapidjson and unbound are no longer bundled in-tree. [inputs]: Add zeromq, cppzmq, libsodium. Use monero-miniupnpc. [arguments]: Change build-type to "release". Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/finance.scm | 29 +++--- .../patches/monero-use-system-miniupnpc.patch | 111 +++++++++++++++++++++ 3 files changed, 126 insertions(+), 15 deletions(-) create mode 100644 gnu/packages/patches/monero-use-system-miniupnpc.patch diff --git a/gnu/local.mk b/gnu/local.mk index f349eded50..d273b1c743 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -940,6 +940,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ + %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 29bf3040ed..333fe6531a 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -39,6 +39,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages dns) @@ -51,6 +52,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) @@ -367,25 +369,18 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.11.1.0") + (version "0.12.3.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/monero-project/monero/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/monero-project/monero") + (commit (string-append "v" version)))) (file-name (string-append name "-" version ".tar.gz")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled dependencies. - (for-each - delete-file-recursively - '("external/miniupnpc" "external/rapidjson" - "external/unbound")) - #t)) + (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32 - "16shd834025jyzy68h3gag1sz8vbk875hy4j97hrki8pacz8vd5m")))) + "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -395,15 +390,19 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch (inputs `(("bind" ,isc-bind) ("boost" ,boost) + ("zeromq" ,zeromq) + ("cppzmq" ,cppzmq) ("expat" ,expat) + ("libsodium" ,libsodium) ("libunwind" ,libunwind) ("lmdb" ,lmdb) - ("miniupnpc" ,miniupnpc) + ("miniupnpc" ,monero-miniupnpc) ("openssl" ,openssl) ("rapidjson" ,rapidjson) ("unbound" ,unbound))) (arguments `(#:out-of-source? #t + #:build-type "release" #:configure-flags '("-DBUILD_TESTS=ON" ,@(if (string=? "aarch64-linux" (%current-system)) '("-DARCH=armv8-a") diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch new file mode 100644 index 0000000000..6bc825d121 --- /dev/null +++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch @@ -0,0 +1,111 @@ +This reverts commit 1e20d705e7c64d2b17c031f345057d1e8850fafa, so that it's possible to use our own +miniupnpc, instead of a git submodule. +--- + CMakeLists.txt | 8 ++++++++ + external/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++---------- + src/p2p/net_node.inl | 13 ++++++++++--- + 3 files changed, 49 insertions(+), 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3b93988e..ef948885 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -430,6 +430,14 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations") + + add_subdirectory(external) + ++# Final setup for miniupnpc ++if(UPNP_STATIC OR IOS) ++ add_definitions("-DUPNP_STATIC") ++else() ++ add_definitions("-DUPNP_DYNAMIC") ++ include_directories(${UPNP_INCLUDE}) ++endif() ++ + # Final setup for libunbound + include_directories(${UNBOUND_INCLUDE}) + link_directories(${UNBOUND_LIBRARY_DIRS}) +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index 1fc4d64c..b4f712ee 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -34,21 +34,42 @@ + # We always compile if we are building statically to reduce static dependency issues... + # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with + # others. ++if(NOT IOS) ++ find_package(Miniupnpc QUIET) ++endif() + +-find_package(Miniupnpc REQUIRED) ++# If we have the correct shared version and we're not building static, use it ++if(STATIC OR IOS) ++ set(USE_SHARED_MINIUPNPC false) ++elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER) ++ set(USE_SHARED_MINIUPNPC true) ++endif() + +-message(STATUS "Using in-tree miniupnpc") ++if(USE_SHARED_MINIUPNPC) ++ message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}") + +-add_subdirectory(miniupnp/miniupnpc) ++ set(UPNP_STATIC false PARENT_SCOPE) ++ set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE) ++ set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) ++else() ++ if(STATIC) ++ message(STATUS "Using miniupnpc from local source tree for static build") ++ else() ++ message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)") ++ endif() + +-set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") +-if(MSVC) +- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") +-elseif(NOT MSVC) +- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") +-endif() ++ add_subdirectory(miniupnp/miniupnpc) ++ ++ set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") ++ if(MSVC) ++ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") ++ elseif(NOT MSVC) ++ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") ++ endif() + +-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) ++ set(UPNP_STATIC true PARENT_SCOPE) ++ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) ++endif() + + find_package(Unbound) + +diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl +index 9b21705e..76340a22 100644 +--- a/src/p2p/net_node.inl ++++ b/src/p2p/net_node.inl +@@ -49,9 +49,16 @@ + #include "storages/levin_abstract_invoke2.h" + #include "cryptonote_core/cryptonote_core.h" + +-#include +-#include +-#include ++// We have to look for miniupnpc headers in different places, dependent on if its compiled or external ++#ifdef UPNP_STATIC ++ #include ++ #include ++ #include ++#else ++ #include "miniupnpc.h" ++ #include "upnpcommands.h" ++ #include "upnperrors.h" ++#endif + + #undef MONERO_DEFAULT_LOG_CATEGORY + #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p" +-- +2.16.2 + -- cgit v1.2.3 From 797445be47af389610541f9eb969537845d301d9 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sun, 8 Jul 2018 20:39:27 +0300 Subject: gnu: monero: Return #t from phases. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/finance.scm (monero)[arguments]: Substitute invoke for system*. Signed-off-by: Ludovic Courtès --- gnu/packages/finance.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 333fe6531a..ccfb98c68d 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -430,9 +430,8 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch #t)) (replace 'check (lambda _ - (zero? - (system* "make" "ARGS=-E 'unit_tests|libwallet_api_tests'" - "test")))) + (invoke "make" "ARGS=-E 'unit_tests|libwallet_api_tests'" + "test"))) ;; The excluded unit tests need network access (add-after 'check 'unit-tests (lambda _ @@ -445,10 +444,9 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch "DNSResolver.DNSSECFailure" "DNSResolver.GetTXTRecord") ":"))) - (zero? - (system* "tests/unit_tests/unit_tests" - (string-append "--gtest_filter=-" - excluded-unit-tests)))))) + (invoke "tests/unit_tests/unit_tests" + (string-append "--gtest_filter=-" + excluded-unit-tests))))) (add-after 'install 'install-blockchain-import-export (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit v1.2.3 From 3902bc5c230b44e8899e1342a20615d6f751ad96 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sun, 8 Jul 2018 20:39:28 +0300 Subject: gnu: monero-core: Update to 0.12.2.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/finance.scm (monero-core): Update to 0.12.2.0. [source]: Use 'git-fetch'. Signed-off-by: Ludovic Courtès --- gnu/packages/finance.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index ccfb98c68d..c912cc5c56 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -463,16 +463,17 @@ Monero command line client and daemon.") (define-public monero-core (package (name "monero-core") - (version "0.11.1.0") + (version "0.12.2.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/monero-project/monero-core/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/monero-project/monero-core") + (commit (string-append "v" version)))) (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1q7a9kpcjgp74fbplzs2iszdld6gwbfrydyd9in9izhwp100p1rr")))) + "1cnrkwh7kp64lnzz1xfmkf1mhsgm5gls292gpqai3jr8jydpkahl")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen) -- cgit v1.2.3 From 88d5ee44ed6aae7015691a2a3255132c263b5fa9 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sun, 8 Jul 2018 20:39:29 +0300 Subject: gnu: monero-core: Return #t from phases. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/engineering.scm (monero)[arguments]: Substitute invoke for system*. Signed-off-by: Ludovic Courtès --- gnu/packages/finance.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index c912cc5c56..e1623020a3 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -520,7 +520,7 @@ Monero command line client and daemon.") #t)) (replace 'build (lambda _ - (zero? (system* "./build.sh")))) + (invoke "./build.sh"))) (add-after 'build 'fix-install-path (lambda* (#:key outputs #:allow-other-keys) (substitute* "build/Makefile" -- cgit v1.2.3 From f7e248396ba698b7de99414039d9db02050bc7d3 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sun, 8 Jul 2018 20:39:32 +0300 Subject: gnu: monero-core: Rename package to "monero-gui". MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/finance.scm (monero-core): Define in terms of 'deprecated-package'. (monero-gui): New variable, formerly known as "monero-core". Co-authored-by: Ludovic Courtès --- gnu/packages/finance.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index e1623020a3..7b3706d30c 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -460,15 +460,15 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch Monero command line client and daemon.") (license license:bsd-3))) -(define-public monero-core +(define-public monero-gui (package - (name "monero-core") + (name "monero-gui") (version "0.12.2.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/monero-project/monero-core") + (url "https://github.com/monero-project/monero-gui") (commit (string-append "v" version)))) (file-name (string-append name "-" version ".tar.gz")) (sha256 @@ -537,6 +537,9 @@ Monero command line client and daemon.") Monero GUI client.") (license license:bsd-3))) +(define-public monero-core + (deprecated-package "monero-core" monero-gui)) + (define-public python-trezor-agent (package (name "python-trezor-agent") -- cgit v1.2.3 From 17a21bcf316d11bdf54ec2483abe15f60dbd7cb0 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Sun, 15 Jul 2018 17:58:41 +1000 Subject: gnu: ecryptfs-utils: Patch hardcoded-paths. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm: (ecryptfs-utils): Patch hardcoded-paths. [arguments]: Add the phase patch-hardcoded-paths to replace various hardcoded references to /bin, /sbin, ... with direct references to the store. [inputs]: Add missing inputs util-linux, cryptsetup, and lvm2 so that the correct paths can be found and the resulting code works. Signed-off-by: Ludovic Courtès --- gnu/packages/linux.scm | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2ce0f56b84..277c2465bb 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -28,6 +28,7 @@ ;;; Copyright © 2017 nee ;;; Copyright © 2017 Dave Love ;;; Copyright © 2018 Pierre-Antoine Rouby +;;; Copyright © 2018 Brendan Tildesley ;;; ;;; This file is part of GNU Guix. ;;; @@ -59,6 +60,7 @@ #:use-module (gnu packages calendar) #:use-module (gnu packages check) #:use-module (gnu packages crypto) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages compression) #:use-module (gnu packages databases) #:use-module (gnu packages datastructures) @@ -3699,7 +3701,43 @@ as used on certified hardware security devices.") "0zwq19siiwf09h7lwa7n7mgmrr8cxifp45lmwgcfr8c1gviv6b0i")))) (build-system gnu-build-system) (arguments - `(#:configure-flags (list "--disable-pywrap"))) + `(#:configure-flags (list "--disable-pywrap") + #:phases + (modify-phases %standard-phases + (add-after 'patch-source-shebangs 'patch-hardcoded-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (utils-linux (assoc-ref inputs "utils-linux")) + (cryptsetup (assoc-ref inputs "cryptsetup")) + (linux-pam (assoc-ref inputs "linux-pam")) + (lvm2 (assoc-ref inputs "lvm2"))) + (substitute* '("src/utils/ecryptfs-mount-private" + "src/utils/ecryptfs-umount-private" + "src/utils/ecryptfs-setup-private" + "src/utils/mount.ecryptfs.c" + "src/pam_ecryptfs/pam_ecryptfs.c" + "src/desktop/ecryptfs-mount-private.desktop.in" + "src/utils/ecryptfs-setup-swap") + (("/bin/mount") + (string-append utils-linux "/bin/mount")) + (("/bin/umount") + (string-append utils-linux "/bin/umount")) + (("/sbin/mount.ecryptfs_private") + (string-append out "/sbin/mount.ecryptfs_private")) + (("/sbin/umount.ecryptfs_private") + (string-append out "/sbin/umount.ecryptfs_private")) + (("/usr/bin/ecryptfs-mount-private") + (string-append out "/bin/ecryptfs-mount-private")) + (("/usr/bin/ecryptfs-rewrite-file") + (string-append out "/bin/ecryptfs-rewrite-file")) + (("/usr/bin/ecryptfs-setup-private") + (string-append out "/bin/ecryptfs-setup-private")) + (("/sbin/cryptsetup") + (string-append cryptsetup "/sbin/cryptsetup")) + (("/sbin/unix_chkpwd") + (string-append linux-pam "/sbin/unix_chkpwd")) + (("/sbin/dmsetup") + (string-append lvm2 "/sbin/dmsetup"))))))))) (native-inputs `(("intltool" ,intltool) ("perl" ,perl) ; for pod2man @@ -3707,6 +3745,9 @@ as used on certified hardware security devices.") (inputs `(("keyutils" ,keyutils) ("linux-pam" ,linux-pam) + ("utils-linux" ,util-linux) + ("cryptsetup" ,cryptsetup) + ("lvm2" ,lvm2) ("nss" ,nss))) (home-page "http://ecryptfs.org/") (synopsis "eCryptfs cryptographic file system utilities") -- cgit v1.2.3 From 33f4d14ab17096984404fc404b4539d784ecbf32 Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Mon, 16 Jul 2018 09:53:40 +0000 Subject: mailmap: Add another line for myself. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Nils Gillmann Signed-off-by: Ludovic Courtès --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index 4f672f3278..74434a39e8 100644 --- a/.mailmap +++ b/.mailmap @@ -43,6 +43,7 @@ Mathieu Lirzin Mathieu Othacehe Nikita Karetnikov Nils Gillmann ng0 +Nils Gillmann Nils Gillmann Nils Gillmann ng0 Nils Gillmann ng0 Nils Gillmann -- cgit v1.2.3 From a14a80da2e5c4daf88870518f1cb9e7d14cb338a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 17:07:00 +0200 Subject: gnu: emacs-pulseaudio-control: Record the file name of 'pactl'. * gnu/packages/emacs.scm (emacs-pulseaudio-control)[arguments, inputs]: New fields. --- gnu/packages/emacs.scm | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 64064ec513..a57f246547 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -107,6 +107,7 @@ #:use-module (gnu packages gd) #:use-module (gnu packages fontutils) #:use-module (gnu packages password-utils) + #:use-module (gnu packages pulseaudio) #:use-module (gnu packages xdisorg) #:use-module (gnu packages shells) #:use-module (gnu packages gnupg) @@ -8836,6 +8837,17 @@ navigate and display hierarchy structures.") (base32 "10cgg1r00kz2fsnnryvzay5pf8s1pwb1dzlds1fbjdnyfvdgammv")))) (build-system emacs-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-file-name + (lambda* (#:key inputs #:allow-other-keys) + (let ((pulseaudio (assoc-ref inputs "pulseaudio"))) + (chmod "pulseaudio-control.el" #o600) + (emacs-substitute-variables "pulseaudio-control.el" + ("pulseaudio-control-pactl-path" + (string-append pulseaudio "/bin/pactl"))) + #t)))))) + (inputs `(("pulseaudio" ,pulseaudio))) (home-page "https://github.com/flexibeast/pulseaudio-control") (synopsis "Control @code{pulseaudio} from Emacs") (description -- cgit v1.2.3 From d3095f34a3bf7242c01c1f17b14a7230c0ebe0ef Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 17:08:28 +0200 Subject: gnu: emacs-bash-completion: Fix spelling of "Bash". * gnu/packages/emacs.scm (emacs-bash-completion)[synopsis, description]: Fix spelling of "Bash". --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index a57f246547..20d5597f5f 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -7357,10 +7357,10 @@ messaging service.") ("bash-completion-prog" (string-append bash "/bin/bash")))) #t))))) (home-page "https://github.com/szermatt/emacs-bash-completion") - (synopsis "BASH completion for the shell buffer") + (synopsis "Bash completion for the shell buffer") (description "@code{bash-completion} defines dynamic completion hooks for shell-mode -and shell-command prompts that are based on bash completion.") +and shell-command prompts that are based on Bash completion.") (license license:gpl2+))) (define-public emacs-easy-kill -- cgit v1.2.3 From 8bbb79cf95a07a40950448a8a09d888254404ed4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 17:12:49 +0200 Subject: mailmap: Add a line for Pierre-Antoine. * .mailmap: Add entry for Pierre-Antoine. --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index 74434a39e8..6188162c62 100644 --- a/.mailmap +++ b/.mailmap @@ -56,6 +56,7 @@ Nils Gillmann Nils Gillmann Nils Gillmann Nils Gillmann +Pierre-Antoine Rouby Pjotr Prins Pjotr Prins Pjotr Prins -- cgit v1.2.3 From 36bbac734f2b7adda39bbda4ff8f5498347adfd3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 14:24:59 -0400 Subject: gnu: Remove leftover patch. * gnu/packages/patches/file-CVE-2017-1000249.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it.patch'. --- gnu/local.mk | 1 - gnu/packages/patches/file-CVE-2017-1000249.patch | 27 ------------------------ 2 files changed, 28 deletions(-) delete mode 100644 gnu/packages/patches/file-CVE-2017-1000249.patch diff --git a/gnu/local.mk b/gnu/local.mk index d273b1c743..64e71a84f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -671,7 +671,6 @@ dist_patch_DATA = \ %D%/packages/patches/fcgi-2.4.0-poll.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ - %D%/packages/patches/file-CVE-2017-1000249.patch \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ diff --git a/gnu/packages/patches/file-CVE-2017-1000249.patch b/gnu/packages/patches/file-CVE-2017-1000249.patch deleted file mode 100644 index 505acf1592..0000000000 --- a/gnu/packages/patches/file-CVE-2017-1000249.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/file/file/commit/35c94dc6acc418f1ad7f6241a6680e5327495793.patch -http://openwall.com/lists/oss-security/2017/09/05/3 - -The patch is minorly modified to apply to file-5.30 - -From 35c94dc6acc418f1ad7f6241a6680e5327495793 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas -Date: Sun, 27 Aug 2017 07:55:02 +0000 -Subject: [PATCH] Fix always true condition (Thomas Jarosch) - ---- - src/readelf.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index 81451827..5f425c97 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -511,7 +511,7 @@ do_bid_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, - size_t noff, size_t doff, int *flags) - { - if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 && -- type == NT_GNU_BUILD_ID && (descsz >= 4 || descsz <= 20)) { -+ type == NT_GNU_BUILD_ID && (descsz >= 4 && descsz <= 20)) { - uint8_t desc[20]; - const char *btype; - uint32_t i; -- cgit v1.2.3 From 68a653ab6493a5e9ea45145985a3e62d14bbcd5d Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Tue, 19 Jun 2018 16:39:15 +0200 Subject: gnu: cuirass: Update to 7b2f9e0. * gnu/packages/ci.scm (cuirass): Update to 7b2f9e0. --- gnu/packages/ci.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index ba95dc174b..85dbefae7a 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016, 2017 Mathieu Lirzin ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Ricardo Wurmus +;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -184,8 +185,8 @@ their dependencies.") (license l:gpl3+)))) (define-public cuirass - (let ((commit "238f856e48ee333ed3e19fa32ce5e1742c650c67") - (revision "16")) + (let ((commit "7b2f9e0de1ad2d320973b7aea132a8afcad8bece") + (revision "17")) (package (name "cuirass") (version (string-append "0.0.1-" revision "." (string-take commit 7))) @@ -197,7 +198,7 @@ their dependencies.") (file-name (string-append name "-" version)) (sha256 (base32 - "15iwdgy561gnsr224rs5z8qn7nrsh1wdlsxr8gwxyk0v4zp6yvbf")))) + "0knww99adgjh8s6f38z3hpwi9hxhmnvqj5g35pcj80xv8j4xj3y3")))) (build-system gnu-build-system) (arguments '(#:modules ((guix build utils) -- cgit v1.2.3 From cd62e5d36835a7ec7b003500f1d1ad58b09738e3 Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Sun, 15 Jul 2018 13:18:00 +0200 Subject: services: cuirass: Remove the LOAD-PATH option. * gnu/services/cuirass.scm (, cuirass-shepherd-service): Remove the LOAD-PATH option. --- gnu/services/cuirass.scm | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/gnu/services/cuirass.scm b/gnu/services/cuirass.scm index 4664a36dcf..9c62080629 100644 --- a/gnu/services/cuirass.scm +++ b/gnu/services/cuirass.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2017 Jan Nieuwenhuizen ;;; Copyright © 2018 Ricardo Wurmus +;;; Copyright © 2018 Clément Lassieur ;;; ;;; This file is part of GNU Guix. ;;; @@ -72,9 +73,7 @@ (one-shot? cuirass-configuration-one-shot? ;boolean (default #f)) (fallback? cuirass-configuration-fallback? ;boolean - (default #f)) - (load-path cuirass-configuration-load-path - (default '()))) + (default #f))) (define (cuirass-shepherd-service config) "Return a for the Cuirass service with CONFIG." @@ -92,8 +91,7 @@ (specs (cuirass-configuration-specifications config)) (use-substitutes? (cuirass-configuration-use-substitutes? config)) (one-shot? (cuirass-configuration-one-shot? config)) - (fallback? (cuirass-configuration-fallback? config)) - (load-path (cuirass-configuration-load-path config))) + (fallback? (cuirass-configuration-fallback? config))) (list (shepherd-service (documentation "Run Cuirass.") (provision '(cuirass)) @@ -109,9 +107,7 @@ "--interval" #$(number->string interval) #$@(if use-substitutes? '("--use-substitutes") '()) #$@(if one-shot? '("--one-shot") '()) - #$@(if fallback? '("--fallback") '()) - #$@(if (null? load-path) '() - `("--load-path" ,(string-join load-path ":")))) + #$@(if fallback? '("--fallback") '())) #:environment-variables (list "GIT_SSL_CAINFO=/etc/ssl/certs/ca-certificates.crt" -- cgit v1.2.3 From 90f38fb66109e7da897fa9e6d56a10079d05c4bf Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 16:44:59 -0400 Subject: gnu: python-pyasn1: Update to 0.4.3. * gnu/packages/python.scm (python-pyasn1, python2-pyasn1): Update to 0.4.3. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 38c48288a9..7e2e194816 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6284,14 +6284,14 @@ designed to efficiently cope with extremely large amounts of data.") (define-public python-pyasn1 (package (name "python-pyasn1") - (version "0.4.2") + (version "0.4.3") (source (origin (method url-fetch) (uri (pypi-uri "pyasn1" version)) (sha256 (base32 - "05bxnr4wmrg62m4qr1pg1p3z7bhwrv74jll3k42pgxwl36kv0n6j")))) + "1z5h38anjzzrxpraa9iq9llffyx2zs8gx0q6dc1g029miwnn50gv")))) (build-system python-build-system) (home-page "http://pyasn1.sourceforge.net/") (synopsis "ASN.1 types and codecs") -- cgit v1.2.3 From 8e632a6435bb8ea408127833030f7764b78768a9 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 16:45:37 -0400 Subject: gnu: python-pyasn1-modules: Update to 0.2.2. * gnu/packages/python.scm (python-pyasn1-modules, python2-pyasn1-modules): Update to 0.2.2. --- gnu/packages/python.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7e2e194816..ebf02af22e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -6306,14 +6306,14 @@ suitable for a wide range of protocols based on the ASN.1 specification.") (define-public python-pyasn1-modules (package (name "python-pyasn1-modules") - (version "0.0.8") + (version "0.2.2") (source (origin (method url-fetch) (uri (pypi-uri "pyasn1-modules" version)) (sha256 (base32 - "0drqgw81xd3fxdlg89kgd79zzrabvfncvkbybi2wr6w2y4s1jmhh")))) + "0ivm850yi7ajjbi8j115qpsj95bgxdsx48nbjzg0zip788c3xkx0")))) (build-system python-build-system) (propagated-inputs `(("python-pyasn1" ,python-pyasn1))) -- cgit v1.2.3 From a545090ce5e6b9da1f473f558dabda69f317e461 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 16 Jul 2018 23:48:24 +0200 Subject: gnu: python-cairocffi: Fix loading of shared libraries. Fixes . * gnu/packages/patches/python-cairocffi-dlopen-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/python.scm (python-cairocffi)[inputs]: Add glib, gtk+, pango. [native-inputs]: Add python-pytest. [arguments]: Enable tests. [arguments]<#:phases>[patch-paths]: New phase. --- gnu/local.mk | 1 + .../patches/python-cairocffi-dlopen-path.patch | 10 ++++++ gnu/packages/python.scm | 38 +++++++++++++++++++--- 3 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/python-cairocffi-dlopen-path.patch diff --git a/gnu/local.mk b/gnu/local.mk index 64e71a84f8..d40b1963db 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1057,6 +1057,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ + %D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-dendropy-fix-tests.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \ diff --git a/gnu/packages/patches/python-cairocffi-dlopen-path.patch b/gnu/packages/patches/python-cairocffi-dlopen-path.patch new file mode 100644 index 0000000000..e7a7fe3737 --- /dev/null +++ b/gnu/packages/patches/python-cairocffi-dlopen-path.patch @@ -0,0 +1,10 @@ +--- cairocffi-0.8.0/cairocffi/__init__.py.orig 2018-07-16 11:00:59.075664158 +0200 ++++ cairocffi-0.8.0/cairocffi/__init__.py 2018-07-16 17:09:42.471958015 +0200 +@@ -35,6 +35,7 @@ + return lib + except OSError: + pass ++ return ffi.dlopen(name) + raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names)) + + diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ebf02af22e..fc1ef3eb2a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4210,23 +4210,53 @@ support for Python 3 and PyPy. It is based on cffi.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1rk2dvy3fxrga6bvvxc2fi5lbaynm5h4a0w0aaxyn3bc77rszjg9")))) + "1rk2dvy3fxrga6bvvxc2fi5lbaynm5h4a0w0aaxyn3bc77rszjg9")) + (patches (search-patches "python-cairocffi-dlopen-path.patch")))) (build-system python-build-system) (outputs '("out" "doc")) (inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("cairo" ,cairo))) + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("cairo" ,cairo) + ("pango" ,pango))) (native-inputs `(("pkg-config" ,pkg-config) + ("python-pytest" ,python-pytest) ("python-sphinx" ,python-sphinx) ("python-docutils" ,python-docutils))) (propagated-inputs `(("python-xcffib" ,python-xcffib))) ; used at run time (arguments `(;; FIXME: Tests cannot find 'libcairo.so.2'. - #:tests? #f + #:tests? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* (find-files "." "\\.py$") + (("dlopen\\(ffi, 'cairo'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "cairo") + "/lib/libcairo.so.2'")) + (("dlopen\\(ffi, 'gdk-3'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "gtk+") + "/lib/libgtk-3.so.0'")) + (("dlopen\\(ffi, 'gdk_pixbuf-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "gdk-pixbuf") + "/lib/libgdk_pixbuf-2.0.so.0'")) + (("dlopen\\(ffi, 'glib-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "glib") + "/lib/libglib-2.0.so.0'")) + (("dlopen\\(ffi, 'gobject-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "glib") + "/lib/libgobject-2.0.so.0'")) + (("dlopen\\(ffi, 'pangocairo-1.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "pango") + "/lib/libpangocairo-1.0.so.0'")) + (("dlopen\\(ffi, 'pango-1.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "pango") + "/lib/libpango-1.0.so.0'"))) + #t)) (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "doc") "/share")) -- cgit v1.2.3 From 701cbfd15d7077ad51326a636b0b48658da21cc6 Mon Sep 17 00:00:00 2001 From: Clément Lassieur Date: Mon, 16 Jul 2018 23:55:44 +0200 Subject: doc: Remove the documentation about Cuirass' load-path. * doc/guix.texi (Continuous Integration): Remove the load-path field. --- doc/guix.texi | 4 ---- 1 file changed, 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index c759ccb119..84347d156b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -17742,10 +17742,6 @@ Only evaluate specifications and build derivations once. When substituting a pre-built binary fails, fall back to building packages locally. -@item @code{load-path} (default: @code{'()}) -This allows users to define their own packages and make them visible to -cuirass as in @command{guix build} command. - @item @code{cuirass} (default: @code{cuirass}) The Cuirass package to use. @end table -- cgit v1.2.3 From e967f72648958713d1fd904f2ece2b817edf1b05 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 16:51:47 -0400 Subject: gnu: libtorrent-rasterbar: Update to 1.1.8. * gnu/packages/bittorrent.scm (libtorrent-rasterbar): Update to 1.1.8. --- gnu/packages/bittorrent.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index a9d62a5664..ce1e93ef00 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -373,7 +373,7 @@ and will take advantage of multiple processor cores where possible.") (define-public libtorrent-rasterbar (package (name "libtorrent-rasterbar") - (version "1.1.7") + (version "1.1.8") (source (origin (method url-fetch) (uri @@ -383,7 +383,7 @@ and will take advantage of multiple processor cores where possible.") "/libtorrent-rasterbar-" version ".tar.gz")) (sha256 (base32 - "1agkcyjs7xscx4sgkg2ri4nm4v736xsg3br2v8jcrph86dlbycw1")))) + "0pcdy26l5ivcs78y2bqh2qca83ikzjfchw5815xh69qf8g88zgvb")))) (build-system gnu-build-system) (arguments `(#:configure-flags -- cgit v1.2.3 From ce91d95f0d3e1d8a28888f4c44048bb04b3b5d8d Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 22:22:22 -0400 Subject: gnu: mutt: Update to 1.10.1. * gnu/packages/mail.scm (mutt): Update to 1.10.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 f127e27e3c..3d7b0e4632 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -261,14 +261,14 @@ aliasing facilities to work just as they would on normal mail.") (define-public mutt (package (name "mutt") - (version "1.10.0") + (version "1.10.1") (source (origin (method url-fetch) (uri (string-append "https://bitbucket.org/mutt/mutt/downloads/" "mutt-" version ".tar.gz")) (sha256 (base32 - "0nskymwr2cdapxlfv0ysz3bjwhb4kcvl5a3c39237k7r1vwva582")) + "182lkbkpd3q3l1x6bvyds90ycp38gyyxhf35ry0d3hwf2n1khjkk")) (patches (search-patches "mutt-store-references.patch")))) (build-system gnu-build-system) (inputs -- cgit v1.2.3 From c5b63846b8c9467c403345f89cb16cfea9832555 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 17 Jul 2018 10:03:16 +0300 Subject: gnu: vdirsyncer: Update home-page. * gnu/packages/dav.scm (vdirsyncer)[home-page]: Update to new upstream home-page. --- gnu/packages/dav.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 9d0479b1e1..2b1d55c8a5 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -105,5 +105,5 @@ between two storage locations. The most popular purpose is to synchronize a CalDAV or CardDAV server with a local folder or file. The local data can then be accessed via a variety of programs, none of which have to know or worry about syncing to a server.") - (home-page "https://github.com/untitaker/vdirsyncer") + (home-page "https://github.com/pimutils/vdirsyncer") (license bsd-3))) -- cgit v1.2.3 From 9af7469c5b6bfb3423529deefc2bdc1dadf4091e Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 17 Jul 2018 10:08:01 +0300 Subject: gnu: vdirsyncer: Return #t from all phases. * gnu/packages/dav.scm (vdirsyncer)[arguments]: Substitute invoke for system*. --- gnu/packages/dav.scm | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 2b1d55c8a5..9aebc5568d 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2016, 2017 Leo Famulari +;;; Copyright © 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -66,22 +67,23 @@ clients.") "07iqq5c53cfrb5xnmam1rsl683hc3rykmdak896n2gm81r361c66")))) (build-system python-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (replace 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (setenv "DETERMINISTIC_TESTS" "true") - (setenv "DAV_SERVER" "radicale") - (setenv "REMOTESTORAGE_SERVER" "skip") - (zero? (system* "make" "test")))) - (add-after 'install 'manpage - (lambda* (#:key inputs outputs #:allow-other-keys) - (zero? (system* "make" "--directory=docs/" "man")) - (install-file - "docs/_build/man/vdirsyncer.1" - (string-append - (assoc-ref outputs "out") - "/share/man/man1"))))))) + `(#:phases (modify-phases %standard-phases + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (add-installed-pythonpath inputs outputs) + (setenv "DETERMINISTIC_TESTS" "true") + (setenv "DAV_SERVER" "radicale") + (setenv "REMOTESTORAGE_SERVER" "skip") + (invoke "make" "test"))) + (add-after 'install 'manpage + (lambda* (#:key inputs outputs #:allow-other-keys) + (invoke "make" "--directory=docs/" "man") + (install-file + "docs/_build/man/vdirsyncer.1" + (string-append + (assoc-ref outputs "out") + "/share/man/man1")) + #t))))) (native-inputs `(("python-setuptools-scm" ,python-setuptools-scm) ("python-sphinx" ,python-sphinx) -- cgit v1.2.3 From 3bb3d7f371d6552db57d0401b375c415f21c9591 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 17 Jul 2018 10:19:00 +0300 Subject: gnu: aspell-dict-en: Update to 2018.04.16-0. * gnu/packages/aspell.scm (aspell-dict-en): Update to 2018.04.16-0. --- gnu/packages/aspell.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 1e2149cd2c..82136a28e8 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -141,10 +141,10 @@ dictionaries, including personal ones.") (define-public aspell-dict-en (aspell-dictionary "en" "English" - #:version "2017.08.24-0" + #:version "2018.04.16-0" #:sha256 (base32 - "0z2vvm1by485cm0sna21cmw6zb771c2l2lnn676zmrwm46q65d89"))) + "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i"))) (define-public aspell-dict-eo (aspell-dictionary "eo" "Esperanto" -- cgit v1.2.3 From 2d4514e92c346820219e5c03e9e455e9f0f74e35 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 17 Jul 2018 10:32:00 +0300 Subject: gnu: assimp: Update to 4.1.0. * gnu/packages/graphics.scm (assimp): Update to 4.1.0. [source]: Don't use unstable tarball. [home-page]: Update home-page. --- gnu/packages/graphics.scm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 243814c14d..ad5ff8ed1e 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -161,19 +161,20 @@ application can be customized via its API for Python scripting.") (define-public assimp (package (name "assimp") - (version "3.3.1") + (version "4.1.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/assimp/assimp/archive/v" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/assimp/assimp.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1gy7zlgkf4nmyv8n674p3f30asis0gjz8icyy11i693n13ww71fk")))) + "1rhyqfhzifdj7yibyanph3rh13ykw3i98dnn8mz65j780472hw28")))) (build-system cmake-build-system) (inputs `(("zlib" ,zlib))) - (home-page "http://assimp.org/") + (home-page "http://www.assimp.org/") (synopsis "Asset import library") (description "The Open Asset Import Library loads more than 40 3D file formats into -- cgit v1.2.3 From 9a0d324a1629145a64c6f28082843564d66c6bcc Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 17 Jul 2018 10:49:09 +0300 Subject: gnu: angband: Update to 4.1.2. * gnu/packages/games.scm (angband): Update to 4.1.2. [source]: Parameterize source uri. [arguments]: Use custom 'autogen.sh phase to replace 'bootstrap phase. --- gnu/packages/games.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 4af0b52e82..a3c770a0ba 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -955,15 +955,16 @@ that beneath its ruins lay buried an ancient evil.") (define-public angband (package (name "angband") - (version "4.0.5") + (version "4.1.2") (source (origin (method url-fetch) - (uri (string-append "http://rephial.org/downloads/4.0/" - "angband-" version ".tar.gz")) + (uri (string-append "http://rephial.org/downloads/" + (version-major+minor version) + "/angband-" version ".tar.gz")) (sha256 (base32 - "0lpq2kms7hp421vrasx2bkkn9w08kr581ldwik3v0hlq6h7rlxhd")) + "0ahfzb66ihxvkxcbhcib816x40sdsp26b3ravr1xqp44w1whkg1h")) (modules '((guix build utils))) (snippet ;; So, some of the sounds/graphics/tilesets are under different @@ -987,11 +988,11 @@ that beneath its ruins lay buried an ancient evil.") #:configure-flags (list (string-append "--bindir=" %output "/bin")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'autogen.sh + (replace 'bootstrap (lambda _ (substitute* "acinclude.m4" (("ncursesw5-config") "ncursesw6-config")) - (zero? (system* "sh" "autogen.sh"))))))) + (invoke "sh" "autogen.sh")))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) -- cgit v1.2.3 From 4e80516c0cd07c55184057b14930b09441cb33ba Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Jul 2018 12:17:46 +0200 Subject: gnu: guix: Build with Guile 2.2.4. * gnu/packages/package-management.scm (guix)[inputs]: Switch to GUILE-2.2.4. --- gnu/packages/package-management.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 61e203c611..acf6d4fdb9 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -263,7 +263,10 @@ ("sqlite" ,sqlite) ("libgcrypt" ,libgcrypt) - ("guile" ,guile-2.2) + + ;; Use 2.2.4 to avoid various thread-safety issues while building + ;; code in parallel. + ("guile" ,guile-2.2.4) ;; Many tests rely on the 'guile-bootstrap' package, which is why we ;; have it here. -- cgit v1.2.3 From 86da991f41b808f1af0443f99b719bb5b8e202e1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Jul 2018 12:18:08 +0200 Subject: gnu: guix: Update to 8bbb79c. * gnu/packages/package-management.scm (guix): Update to 8bbb79c. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index acf6d4fdb9..639d81bcc1 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -101,8 +101,8 @@ ;; Note: the 'update-guix-package.scm' script expects this definition to ;; start precisely like this. (let ((version "0.15.0") - (commit "4876bc8234095e2af191b0c6470455ce67d9f5f7") - (revision 1)) + (commit "8bbb79cf95a07a40950448a8a09d888254404ed4") + (revision 2)) (package (name "guix") @@ -118,7 +118,7 @@ (commit commit))) (sha256 (base32 - "0qw0ffrxzxfk76pp38kx222ndpsv9mbhlmfycagyipgypgjdd9lq")) + "0h83l91v2cg9bb78c7vqx9wj71ckz22jbjmm2fy4vqs9216jnvc0")) (file-name (string-append "guix-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From 39eec9881d965060039a2b6bfbf545f06253161c Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Mon, 16 Jul 2018 09:58:02 +0000 Subject: gnu: erlang: Update to 21.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/erlang.scm (erlang): Update to 21.0. Signed-off-by: Nils Gillmann Signed-off-by: Ludovic Courtès --- gnu/packages/erlang.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/erlang.scm b/gnu/packages/erlang.scm index 1c18efe9da..f0b2f350c2 100644 --- a/gnu/packages/erlang.scm +++ b/gnu/packages/erlang.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017 Pjotr Prins ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright (C) 2018 Nils Gillmann ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,7 @@ (define-public erlang (package (name "erlang") - (version "20.2.3") + (version "21.0") (source (origin (method url-fetch) ;; The tarball from http://erlang.org/download contains many @@ -48,7 +49,7 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0s9g4ijdbqq21k4cqggz074d3fiimah942qisv2kgizhlivpw2nm")) + "0gv43lra4870xns8b0yjzbq78afzvz9gk6y3q3fa4y4sqcrqwbas")) (patches (search-patches "erlang-man-path.patch")))) (build-system gnu-build-system) (native-inputs @@ -64,7 +65,7 @@ (version-major+minor version) ".tar.gz")) (sha256 (base32 - "1pyb8wbk7znsyni8d1k4dj1m01lr191dcrrzisli1z27ks7hh3lm")))))) + "0cgv23q0215f6lvmhj4w9skx5m29khjs9mb890635s3yp520xgqh")))))) (inputs `(("ncurses" ,ncurses) ("openssl" ,openssl) -- cgit v1.2.3 From e345274adbcfe99ddaa630f5f2dcc115d6fc7b5d Mon Sep 17 00:00:00 2001 From: Nils Gillmann Date: Mon, 16 Jul 2018 09:59:32 +0000 Subject: gnu: elixir: Update to 1.6.6. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/elixir.scm (elixir): Update to 1.6.6. Signed-off-by: Nils Gillmann Signed-off-by: Ludovic Courtès --- gnu/packages/elixir.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/elixir.scm b/gnu/packages/elixir.scm index ed6bd00236..26120327f4 100644 --- a/gnu/packages/elixir.scm +++ b/gnu/packages/elixir.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2017 nee ;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright (C) 2018 Nils Gillmann ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,7 +33,7 @@ (define-public elixir (package (name "elixir") - (version "1.5.3") + (version "1.6.6") (source (origin (method url-fetch) (uri (string-append "https://github.com/elixir-lang/elixir" @@ -40,10 +41,11 @@ (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0acnxfwvkx1m1d0h5z051mz95n35zm468hcvc3wpmn17c15h5ihg")))) + "0c9qz5hasa59a9x1iwpcqpqj6wdbzpijfxqfmzimwj5z8q37nl3l")))) (build-system gnu-build-system) (arguments `(#:test-target "test" + #:parallel-tests? #f ;see #:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))) #:phases -- cgit v1.2.3 From 4fa335949a7d8b45dc4e8906166de0bd6e41d808 Mon Sep 17 00:00:00 2001 From: "Jovany Leandro G.C" Date: Fri, 13 Jul 2018 10:27:52 -0500 Subject: gnu: twinkle: Add missing headers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/twinkle-include-qregexpvalidator-explicity.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/telephony.scm (twinkle)[source]: Use it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + .../patches/twinkle-include-qregexpvalidator.patch | 123 +++++++++++++++++++++ gnu/packages/telephony.scm | 2 + 3 files changed, 126 insertions(+) create mode 100755 gnu/packages/patches/twinkle-include-qregexpvalidator.patch diff --git a/gnu/local.mk b/gnu/local.mk index d40b1963db..be435c5288 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1162,6 +1162,7 @@ dist_patch_DATA = \ %D%/packages/patches/tophat-build-with-later-seqan.patch \ %D%/packages/patches/totem-meson-easy-codec.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ + %D%/packages/patches/twinkle-include-qregexpvalidator.patch \ %D%/packages/patches/unrtf-CVE-2016-10091.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \ diff --git a/gnu/packages/patches/twinkle-include-qregexpvalidator.patch b/gnu/packages/patches/twinkle-include-qregexpvalidator.patch new file mode 100755 index 0000000000..4096cc8712 --- /dev/null +++ b/gnu/packages/patches/twinkle-include-qregexpvalidator.patch @@ -0,0 +1,123 @@ +Copied from upstream: + +https://github.com/LubosD/twinkle/commit/4b42755619011c117a76bdf98e417ebedc47e319 + +From 4b42755619011c117a76bdf98e417ebedc47e319 Mon Sep 17 00:00:00 2001 +From: Michal Kubecek +Date: Wed, 6 Jun 2018 10:07:21 +0200 +Subject: [PATCH] Include explicitly + +Since Qt 5.11, generated ui_getprofilename.h no longer includes QHeaderView +which breaks the chain that included qvalidator.h in getprofilename.cpp. +As it feels rather fragile to rely on such indirect includes, let's include + explicitly in each file using QRegExpValidator class. +--- + src/gui/diamondcardprofileform.cpp | 1 + + src/gui/getprofilenameform.cpp | 2 +- + src/gui/inviteform.cpp | 1 + + src/gui/mphoneform.cpp | 1 + + src/gui/numberconversionform.cpp | 1 + + src/gui/syssettingsform.cpp | 1 + + src/gui/userprofileform.cpp | 1 + + src/gui/wizardform.cpp | 1 + + 8 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/gui/diamondcardprofileform.cpp b/src/gui/diamondcardprofileform.cpp +index 6656909..517180b 100644 +--- a/src/gui/diamondcardprofileform.cpp ++++ b/src/gui/diamondcardprofileform.cpp +@@ -21,6 +21,7 @@ + + #include + #include ++#include + #include "gui.h" + #include "diamondcard.h" + #include "getprofilenameform.h" +diff --git a/src/gui/getprofilenameform.cpp b/src/gui/getprofilenameform.cpp +index 1319e1d..89c715e 100644 +--- a/src/gui/getprofilenameform.cpp ++++ b/src/gui/getprofilenameform.cpp +@@ -1,7 +1,7 @@ + #include "getprofilenameform.h" +- + #include + #include ++#include + #include "user.h" + #include "protocol.h" + +diff --git a/src/gui/inviteform.cpp b/src/gui/inviteform.cpp +index 433fb22..2a5b68d 100644 +--- a/src/gui/inviteform.cpp ++++ b/src/gui/inviteform.cpp +@@ -7,6 +7,7 @@ + #include "sys_settings.h" + #include + #include ++#include + + /* + Copyright (C) 2005-2009 Michel de Boer +diff --git a/src/gui/mphoneform.cpp b/src/gui/mphoneform.cpp +index 260fda7..c4e3c1d 100644 +--- a/src/gui/mphoneform.cpp ++++ b/src/gui/mphoneform.cpp +@@ -54,6 +54,7 @@ + #include + #include + #include ++#include + #include "buddyform.h" + #include "diamondcardprofileform.h" + #include "osd.h" +diff --git a/src/gui/numberconversionform.cpp b/src/gui/numberconversionform.cpp +index f8ae64c..8481a9b 100644 +--- a/src/gui/numberconversionform.cpp ++++ b/src/gui/numberconversionform.cpp +@@ -1,5 +1,6 @@ + #include "numberconversionform.h" + ++#include + #include "gui.h" + + /* +diff --git a/src/gui/syssettingsform.cpp b/src/gui/syssettingsform.cpp +index 216af54..355df59 100644 +--- a/src/gui/syssettingsform.cpp ++++ b/src/gui/syssettingsform.cpp +@@ -28,6 +28,7 @@ + #include "twinkle_config.h" + #include + #include ++#include + #include "syssettingsform.h" + /* + * Constructs a SysSettingsForm as a child of 'parent', with the +diff --git a/src/gui/userprofileform.cpp b/src/gui/userprofileform.cpp +index 28700a6..9ed9209 100644 +--- a/src/gui/userprofileform.cpp ++++ b/src/gui/userprofileform.cpp +@@ -31,6 +31,7 @@ + #include + #include "twinkle_config.h" + #include ++#include + #include "numberconversionform.h" + #include "util.h" + #include "userprofileform.h" +diff --git a/src/gui/wizardform.cpp b/src/gui/wizardform.cpp +index 777aa12..f925875 100644 +--- a/src/gui/wizardform.cpp ++++ b/src/gui/wizardform.cpp +@@ -23,6 +23,7 @@ + #include + #include "gui.h" + #include ++#include + #include "wizardform.h" + + #define PROV_NONE QT_TRANSLATE_NOOP("WizardForm", "None (direct IP to IP calls)") +-- +2.17.0 + diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 246d85901c..2055034117 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -485,6 +485,8 @@ Mumble consists of two applications for separate usage: (uri (git-reference (url "https://github.com/LubosD/twinkle") (commit commit))) + (patches + (search-patches "twinkle-include-qregexpvalidator.patch")) (file-name (git-file-name name version)) (sha256 (base32 -- cgit v1.2.3 From 700987f72c870b9a8e3ed6cd538064e2c2b8f3ce Mon Sep 17 00:00:00 2001 From: 43317 <43317@etu.he2b.be> Date: Fri, 13 Jul 2018 15:28:41 +0200 Subject: gnu: Add luakit. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/web-browsers.scm (luakit): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/web-browsers.scm | 68 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index e36677282a..56bfa6ab28 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -27,12 +27,16 @@ #:use-module (guix packages) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages fltk) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gtk) #:use-module (gnu packages gnupg) #:use-module (gnu packages libevent) #:use-module (gnu packages libidn) + #:use-module (gnu packages lua) + #:use-module (gnu packages gnome) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -41,9 +45,11 @@ #:use-module (gnu packages qt) #:use-module (gnu packages image) #:use-module (gnu packages tls) + #:use-module (gnu packages webkit) #:use-module (gnu packages xorg) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system python)) (define-public dillo @@ -128,6 +134,68 @@ features including, tables, builtin image display, bookmarks, SSL and more.") ;; linking of the program with openssl. (license license:gpl1+))) +(define-public luakit + (package + (name "luakit") + (version "2017.08.10") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/luakit/luakit/archive/" version + ".tar.gz")) + (sha256 + (base32 + "0dwxhnq90whakgdg21lzcf03n2g1c7hqgliwhav8av5na5mqpn93")) + (file-name (string-append name "-" version ".tar.gz")))) + (inputs + `(("lua-5.1", lua-5.1) + ("gtk+" ,gtk+) + ("gsettings-desktop-schemas", gsettings-desktop-schemas) + ("glib-networking", glib-networking) + ("lua5.1-filesystem", lua5.1-filesystem) + ("luajit", luajit) + ("webkitgtk", webkitgtk) + ("sqlite", sqlite))) + (native-inputs + `(("pkg-config", pkg-config))) + (build-system glib-or-gtk-build-system) + (arguments + '(#:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list + "CC=gcc" + "LUA_BIN_NAME=lua" + "DEVELOPMENT_PATHS=0" + (string-append "PREFIX=" out) + (string-append "XDGPREFIX=" out "/etc/xdg"))) + #:phases + (modify-phases %standard-phases + (add-before 'build 'lfs-workaround + (lambda _ + (setenv "LUA_CPATH" + (string-append + (assoc-ref %build-inputs "lua5.1-filesystem") + "/lib/lua/5.1/?.so;;")) + #t)) + (delete 'configure) + (delete 'check) + (add-after 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((luakit (assoc-ref outputs "out")) + (lua5.1-filesystem (assoc-ref inputs "lua5.1-filesystem") ) + (gtk (assoc-ref inputs "gtk+")) + (gtk-share (string-append gtk "/share"))) + (wrap-program (string-append luakit "/bin/luakit") + `("LUA_CPATH" prefix + (,(string-append lua5.1-filesystem + "/lib/lua/5.1/?.so;;")))) + #t)))))) + (synopsis "Fast, lightweight, and simple browser based on WebKit") + (description "Luakit is a fast, lightweight, and simple to use +micro-browser framework extensible by Lua using the WebKit web content engine +and the GTK+ toolkit.") + (home-page "https://luakit.github.io/") + (license license:gpl3+))) + (define-public lynx (package (name "lynx") -- cgit v1.2.3 From d65f0661f363e524cef85ef4878897b50d7619fb Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Jul 2018 12:49:20 -0400 Subject: gnu: Add qhull. * gnu/packages/maths.scm (qhull): New variable. --- gnu/packages/maths.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1e0e1998db..66350d1933 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -207,6 +207,37 @@ programming languages.") (home-page "https://stcorp.nl/coda") (license license:gpl2+))) +(define-public qhull + (package + (name "qhull") + (version "2015.2") + (source (origin + (method url-fetch) + (uri (string-append "http://www.qhull.org/download/qhull-" + (car (string-split version #\.)) + "-src-7.2.0.tgz")) + (sha256 + (base32 + "0dm4b2xr3asy6w74khq2zg4gf26zsy3qf9sq7pf7lmrvbj911c3q")))) + (build-system cmake-build-system) + (synopsis "Calculate convex hulls and related structures") + (description + "@code{Qhull} computes the convex hull, Delaunay triangulation, Voronoi +diagram, halfspace intersection about a point, furthest-site Delaunay +triangulation, and furthest-site Voronoi diagram. The source code runs in 2-d, +3-d, 4-d, and higher dimensions. @code{Qhull} implements the Quickhull +algorithm for computing the convex hull. It handles roundoff errors from +floating point arithmetic. It computes volumes, surface areas, and +approximations to the convex hull. + +@code{Qhull} does not support triangulation of non-convex surfaces, mesh +generation of non-convex objects, medium-sized inputs in 9-D and higher, alpha +shapes, weighted Voronoi diagrams, Voronoi volumes, or constrained Delaunay +triangulations.") + (home-page "http://qhull.org") + (license (license:non-copyleft "file://COPYING.txt" + "See COPYING in the distribution.")))) + (define-public units (package (name "units") -- cgit v1.2.3 From c215fa2135fb1ceea08da5b1219aaa54338b13ec Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Tue, 17 Jul 2018 15:29:05 -0400 Subject: gnu: octave: Add qhull support. * gnu/packages/maths.scm (octave)[inputs]: Add qhull. --- gnu/packages/maths.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 66350d1933..fd3626a595 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1367,6 +1367,7 @@ can solve two kinds of problems: (build-system gnu-build-system) (inputs `(("lapack" ,lapack) + ("qhull" ,qhull) ("readline" ,readline) ("gl2ps" ,gl2ps) ("glpk" ,glpk) -- cgit v1.2.3 From 21e6428dc7851bf06a68beef6e4125553aef8d88 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 17 Jul 2018 21:53:03 +0200 Subject: gnu: mplayer: Compile with ffmpeg-3.4. * gnu/packages/video.scm (mplayer)[inputs]: Replace ffmpeg by ffmpeg-3.4. --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 1cc0d5dfde..daf188d810 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -998,7 +998,7 @@ treaming protocols.") (inputs `(("alsa-lib" ,alsa-lib) ("cdparanoia" ,cdparanoia) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-3.4) ("fontconfig" ,fontconfig) ("freetype" ,freetype) ;; ("giflib" ,giflib) ; uses QuantizeBuffer, requires version >= 5 -- cgit v1.2.3 From 3078002716aaf5166d430d0311190eaf5ffe64c7 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 17 Jul 2018 22:42:25 +0200 Subject: gnu: handbrake: Compile with ffmpeg-3.4. * gnu/packages/video.scm (handbrake)[inputs]: Replace ffmpeg by ffmpeg-3.4. --- gnu/packages/video.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index daf188d810..8baba655e8 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2336,7 +2336,7 @@ supported players in addition to this package.") (inputs `(("bzip2" ,bzip2) ("dbus-glib" ,dbus-glib) - ("ffmpeg" ,ffmpeg) + ("ffmpeg" ,ffmpeg-3.4) ;compilation errors with ffmpeg-4 ("fontconfig" ,fontconfig) ("freetype" ,freetype) ("glib" ,glib) -- cgit v1.2.3 From 16dc5ed0396a2edfb4e7f729ec43392c74ebdc7a Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Tue, 17 Jul 2018 23:25:00 +0200 Subject: gnu: php: Update to 7.2.7. * gnu/packages/php.scm (php): Update to 7.2.7. --- gnu/packages/php.scm | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 1acab0de71..36e29bdcc2 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -62,7 +62,7 @@ (define-public php (package (name "php") - (version "7.2.4") + (version "7.2.7") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "123s0lbyz4fxr3kk91r4v658mk899dym36lggxnx9pwd2jyv25kr")) + "1w1iix3hkwlgkr83zpr2wbnjzd8lwhy02i5hp1j1zbrv7caw00gb")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" @@ -248,6 +248,9 @@ ;; iconv breaks the loop after the first error with Termsig=11. "ext/iconv/tests/iconv_strpos_variation4.phpt" "ext/iconv/tests/iconv_strrpos_variation3.phpt" + ;; Expects "invalid multibyte sequence" but got + ;; "unknown error". + "ext/iconv/tests/bug76249.phpt" ;; XXX: These test failures appear legitimate, needs investigation. ;; open_basedir() restriction failure. @@ -288,7 +291,10 @@ "ext/mbstring/tests/mb_ereg_variation3.phpt" "ext/mbstring/tests/mb_ereg_replace_variation1.phpt" "ext/mbstring/tests/bug72994.phpt" - "ext/ldap/tests/ldap_set_option_error.phpt")) + "ext/ldap/tests/ldap_set_option_error.phpt" + + ;; Sometimes cannot start the LDAP server. + "ext/ldap/tests/bug76248.phpt")) ;; Skip tests requiring network access. (setenv "SKIP_ONLINE_TESTS" "1") -- cgit v1.2.3 From 5691898f28cd2e24c14de28c45f25bf3b03b1c41 Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Mon, 16 Jul 2018 13:22:28 -0400 Subject: gnu: Add emacs-markup-faces * gnu/packages/emacs.scm (emacs-markup-faces): New variable. Signed-off-by: Leo Famulari --- gnu/packages/emacs.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 20d5597f5f..726792155d 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -36,6 +36,7 @@ ;;; Copyright © 2018 Mathieu Lirzin ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Tim Gesthuizen +;;; Copyright © 2018 Jack Hill ;;; ;;; This file is part of GNU Guix. ;;; @@ -11475,3 +11476,25 @@ can do different things depending on the context. In this package, it means that, if the cursor is in a currently hidden folded construction, we want to show it; if it's not, we want to hide whatever fold the cursor is in.") (license license:gpl2+)))) + +(define-public emacs-markup-faces + (package + (name "emacs-markup-faces") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://stable.melpa.org/packages/markup-faces-" + version ".el")) + (sha256 + (base32 + "124dxbaa25fwxnpwsygpz7pw6da6dnnw7y2lic3jf8rgz7lw4v32")))) + (build-system emacs-build-system) + (home-page "https://github.com/sensorflo/markup-faces") + (synopsis "Collection of Emacs faces for markup language modes") + (description "emacs-markup-faces is like font-lock-faces, but tailored for +markup languages instead programming languages. The sub group markup-faces-text +is also intended for 'text viewing modes' such as info or (wo)man. This gives a +common look and feel, or let's say theme, across different markup language modes +and 'text viewing modes' respectively.") + (license license:gpl3+))) -- cgit v1.2.3 From 36a71ce04d357a594f4b9c17712e9a2330a6fbab Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Mon, 16 Jul 2018 13:24:05 -0400 Subject: gnu: Add emacs-adoc-mode * gnu/packages/emacs.scm (emacs-adoc-mode): New variable. Signed-off-by: Leo Famulari --- gnu/packages/emacs.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 726792155d..aae6341465 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11498,3 +11498,24 @@ is also intended for 'text viewing modes' such as info or (wo)man. This gives a common look and feel, or let's say theme, across different markup language modes and 'text viewing modes' respectively.") (license license:gpl3+))) + +(define-public emacs-adoc-mode + (package + (name "emacs-adoc-mode") + (version "0.6.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://stable.melpa.org/packages/adoc-mode-" + version ".el")) + (sha256 + (base32 + "1c6hrgxxsnl2c19rgjykpm7r4xg9lp6bmk5z6bi7g8pqlrgwffcy")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-markup-faces" ,emacs-markup-faces))) + (home-page "https://github.com/sensorflo/adoc-mode/wiki") + (synopsis "AsciiDoc mode for Emacs") + (description "This package provides an Emacs major mode for editing AsciiDoc +files. It focuses on highlighting the document to improve readability.") + (license license:gpl2+))) -- cgit v1.2.3 From 02d7e9417d6b09994fbdf5eda96f0ff82b1c5dad Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 17 Jul 2018 15:36:00 +0200 Subject: build: Remove copy of (srfi srfi-64). SRFI-64 was added in Guile 2.0.10 and we require 2.0.13 or newer. * Makefile.am (EXTRA_DIST): Remove srfi/*. * srfi: Remove directory. --- Makefile.am | 2 - srfi/srfi-64.scm | 41 -- srfi/srfi-64.upstream.scm | 1040 --------------------------------------------- 3 files changed, 1083 deletions(-) delete mode 100644 srfi/srfi-64.scm delete mode 100644 srfi/srfi-64.upstream.scm diff --git a/Makefile.am b/Makefile.am index 134ab0f142..6733f4f894 100644 --- a/Makefile.am +++ b/Makefile.am @@ -498,8 +498,6 @@ EXTRA_DIST += \ build-aux/run-system-tests.scm \ d3.v3.js \ graph.js \ - srfi/srfi-64.scm \ - srfi/srfi-64.upstream.scm \ tests/test.drv \ tests/signing-key.pub \ tests/signing-key.sec \ diff --git a/srfi/srfi-64.scm b/srfi/srfi-64.scm deleted file mode 100644 index f053443b39..0000000000 --- a/srfi/srfi-64.scm +++ /dev/null @@ -1,41 +0,0 @@ -(define-module (srfi srfi-64) - #:export (test-begin ;; must be listed first, since in Kawa (at least) it is "magic". - test-end test-assert test-eqv test-eq test-equal - test-approximate test-assert test-error test-apply test-with-runner - test-match-nth test-match-all test-match-any test-match-name - test-skip test-expect-fail test-read-eval-string - test-runner-group-path test-group test-group-with-cleanup - test-result-ref test-result-set! test-result-clear test-result-remove - test-result-kind test-passed? - test-log-to-file - ; Misc test-runner functions - test-runner? test-runner-reset test-runner-null - test-runner-simple test-runner-current test-runner-factory test-runner-get - test-runner-create test-runner-test-name - ;; test-runner field setter and getter functions - see %test-record-define: - test-runner-pass-count test-runner-pass-count! - test-runner-fail-count test-runner-fail-count! - test-runner-xpass-count test-runner-xpass-count! - test-runner-xfail-count test-runner-xfail-count! - test-runner-skip-count test-runner-skip-count! - test-runner-group-stack test-runner-group-stack! - test-runner-on-test-begin test-runner-on-test-begin! - test-runner-on-test-end test-runner-on-test-end! - test-runner-on-group-begin test-runner-on-group-begin! - test-runner-on-group-end test-runner-on-group-end! - test-runner-on-final test-runner-on-final! - test-runner-on-bad-count test-runner-on-bad-count! - test-runner-on-bad-end-name test-runner-on-bad-end-name! - test-result-alist test-result-alist! - test-runner-aux-value test-runner-aux-value! - ;; default/simple call-back functions, used in default test-runner, - ;; but can be called to construct more complex ones. - test-on-group-begin-simple test-on-group-end-simple - test-on-bad-count-simple test-on-bad-end-name-simple - test-on-final-simple test-on-test-end-simple - test-on-final-simple)) - -(cond-expand-provide (current-module) '(srfi-64)) - -;; Load Per Bothner's original SRFI-64 implementation. -(load-from-path "srfi/srfi-64.upstream.scm") diff --git a/srfi/srfi-64.upstream.scm b/srfi/srfi-64.upstream.scm deleted file mode 100644 index d686662bfd..0000000000 --- a/srfi/srfi-64.upstream.scm +++ /dev/null @@ -1,1040 +0,0 @@ -;; Copyright (c) 2005, 2006, 2007, 2012, 2013 Per Bothner -;; Added "full" support for Chicken, Gauche, Guile and SISC. -;; Alex Shinn, Copyright (c) 2005. -;; Modified for Scheme Spheres by Álvaro Castro-Castilla, Copyright (c) 2012. -;; Support for Guile 2 by Mark H Weaver , Copyright (c) 2014. -;; -;; Permission is hereby granted, free of charge, to any person -;; obtaining a copy of this software and associated documentation -;; files (the "Software"), to deal in the Software without -;; restriction, including without limitation the rights to use, copy, -;; modify, merge, publish, distribute, sublicense, and/or sell copies -;; of the Software, and to permit persons to whom the Software is -;; furnished to do so, subject to the following conditions: -;; -;; The above copyright notice and this permission notice shall be -;; included in all copies or substantial portions of the Software. -;; -;; THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -;; EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -;; MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -;; NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -;; BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -;; ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -;; CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -;; SOFTWARE. - -(cond-expand - (chicken - (require-extension syntax-case)) - (guile-2 - (use-modules (srfi srfi-9) - ;; In 2.0.9, srfi-34 and srfi-35 are not well integrated - ;; with either Guile's native exceptions or R6RS exceptions. - ;;(srfi srfi-34) (srfi srfi-35) - (srfi srfi-39))) - (guile - (use-modules (ice-9 syncase) (srfi srfi-9) - ;;(srfi srfi-34) (srfi srfi-35) - not in Guile 1.6.7 - (srfi srfi-39))) - (sisc - (require-extension (srfi 9 34 35 39))) - (kawa - (module-compile-options warn-undefined-variable: #t - warn-invoke-unknown-method: #t) - (provide 'srfi-64) - (provide 'testing) - (require 'srfi-34) - (require 'srfi-35)) - (else () - )) - -(cond-expand - (kawa - (define-syntax %test-export - (syntax-rules () - ((%test-export test-begin . other-names) - (module-export %test-begin . other-names))))) - (else - (define-syntax %test-export - (syntax-rules () - ((%test-export . names) (if #f #f)))))) - -;; List of exported names -(%test-export - test-begin ;; must be listed first, since in Kawa (at least) it is "magic". - test-end test-assert test-eqv test-eq test-equal - test-approximate test-assert test-error test-apply test-with-runner - test-match-nth test-match-all test-match-any test-match-name - test-skip test-expect-fail test-read-eval-string - test-runner-group-path test-group test-group-with-cleanup - test-result-ref test-result-set! test-result-clear test-result-remove - test-result-kind test-passed? - test-log-to-file - ; Misc test-runner functions - test-runner? test-runner-reset test-runner-null - test-runner-simple test-runner-current test-runner-factory test-runner-get - test-runner-create test-runner-test-name - ;; test-runner field setter and getter functions - see %test-record-define: - test-runner-pass-count test-runner-pass-count! - test-runner-fail-count test-runner-fail-count! - test-runner-xpass-count test-runner-xpass-count! - test-runner-xfail-count test-runner-xfail-count! - test-runner-skip-count test-runner-skip-count! - test-runner-group-stack test-runner-group-stack! - test-runner-on-test-begin test-runner-on-test-begin! - test-runner-on-test-end test-runner-on-test-end! - test-runner-on-group-begin test-runner-on-group-begin! - test-runner-on-group-end test-runner-on-group-end! - test-runner-on-final test-runner-on-final! - test-runner-on-bad-count test-runner-on-bad-count! - test-runner-on-bad-end-name test-runner-on-bad-end-name! - test-result-alist test-result-alist! - test-runner-aux-value test-runner-aux-value! - ;; default/simple call-back functions, used in default test-runner, - ;; but can be called to construct more complex ones. - test-on-group-begin-simple test-on-group-end-simple - test-on-bad-count-simple test-on-bad-end-name-simple - test-on-final-simple test-on-test-end-simple - test-on-final-simple) - -(cond-expand - (srfi-9 - (define-syntax %test-record-define - (syntax-rules () - ((%test-record-define alloc runner? (name index setter getter) ...) - (define-record-type test-runner - (alloc) - runner? - (name setter getter) ...))))) - (else - (define %test-runner-cookie (list "test-runner")) - (define-syntax %test-record-define - (syntax-rules () - ((%test-record-define alloc runner? (name index getter setter) ...) - (begin - (define (runner? obj) - (and (vector? obj) - (> (vector-length obj) 1) - (eq (vector-ref obj 0) %test-runner-cookie))) - (define (alloc) - (let ((runner (make-vector 23))) - (vector-set! runner 0 %test-runner-cookie) - runner)) - (begin - (define (getter runner) - (vector-ref runner index)) ...) - (begin - (define (setter runner value) - (vector-set! runner index value)) ...))))))) - -(%test-record-define - %test-runner-alloc test-runner? - ;; Cumulate count of all tests that have passed and were expected to. - (pass-count 1 test-runner-pass-count test-runner-pass-count!) - (fail-count 2 test-runner-fail-count test-runner-fail-count!) - (xpass-count 3 test-runner-xpass-count test-runner-xpass-count!) - (xfail-count 4 test-runner-xfail-count test-runner-xfail-count!) - (skip-count 5 test-runner-skip-count test-runner-skip-count!) - (skip-list 6 %test-runner-skip-list %test-runner-skip-list!) - (fail-list 7 %test-runner-fail-list %test-runner-fail-list!) - ;; Normally #t, except when in a test-apply. - (run-list 8 %test-runner-run-list %test-runner-run-list!) - (skip-save 9 %test-runner-skip-save %test-runner-skip-save!) - (fail-save 10 %test-runner-fail-save %test-runner-fail-save!) - (group-stack 11 test-runner-group-stack test-runner-group-stack!) - (on-test-begin 12 test-runner-on-test-begin test-runner-on-test-begin!) - (on-test-end 13 test-runner-on-test-end test-runner-on-test-end!) - ;; Call-back when entering a group. Takes (runner suite-name count). - (on-group-begin 14 test-runner-on-group-begin test-runner-on-group-begin!) - ;; Call-back when leaving a group. - (on-group-end 15 test-runner-on-group-end test-runner-on-group-end!) - ;; Call-back when leaving the outermost group. - (on-final 16 test-runner-on-final test-runner-on-final!) - ;; Call-back when expected number of tests was wrong. - (on-bad-count 17 test-runner-on-bad-count test-runner-on-bad-count!) - ;; Call-back when name in test=end doesn't match test-begin. - (on-bad-end-name 18 test-runner-on-bad-end-name test-runner-on-bad-end-name!) - ;; Cumulate count of all tests that have been done. - (total-count 19 %test-runner-total-count %test-runner-total-count!) - ;; Stack (list) of (count-at-start . expected-count): - (count-list 20 %test-runner-count-list %test-runner-count-list!) - (result-alist 21 test-result-alist test-result-alist!) - ;; Field can be used by test-runner for any purpose. - ;; test-runner-simple uses it for a log file. - (aux-value 22 test-runner-aux-value test-runner-aux-value!) -) - -(define (test-runner-reset runner) - (test-result-alist! runner '()) - (test-runner-pass-count! runner 0) - (test-runner-fail-count! runner 0) - (test-runner-xpass-count! runner 0) - (test-runner-xfail-count! runner 0) - (test-runner-skip-count! runner 0) - (%test-runner-total-count! runner 0) - (%test-runner-count-list! runner '()) - (%test-runner-run-list! runner #t) - (%test-runner-skip-list! runner '()) - (%test-runner-fail-list! runner '()) - (%test-runner-skip-save! runner '()) - (%test-runner-fail-save! runner '()) - (test-runner-group-stack! runner '())) - -(define (test-runner-group-path runner) - (reverse (test-runner-group-stack runner))) - -(define (%test-null-callback runner) #f) - -(define (test-runner-null) - (let ((runner (%test-runner-alloc))) - (test-runner-reset runner) - (test-runner-on-group-begin! runner (lambda (runner name count) #f)) - (test-runner-on-group-end! runner %test-null-callback) - (test-runner-on-final! runner %test-null-callback) - (test-runner-on-test-begin! runner %test-null-callback) - (test-runner-on-test-end! runner %test-null-callback) - (test-runner-on-bad-count! runner (lambda (runner count expected) #f)) - (test-runner-on-bad-end-name! runner (lambda (runner begin end) #f)) - runner)) - -;; Not part of the specification. FIXME -;; Controls whether a log file is generated. -(define test-log-to-file #t) - -(define (test-runner-simple) - (let ((runner (%test-runner-alloc))) - (test-runner-reset runner) - (test-runner-on-group-begin! runner test-on-group-begin-simple) - (test-runner-on-group-end! runner test-on-group-end-simple) - (test-runner-on-final! runner test-on-final-simple) - (test-runner-on-test-begin! runner test-on-test-begin-simple) - (test-runner-on-test-end! runner test-on-test-end-simple) - (test-runner-on-bad-count! runner test-on-bad-count-simple) - (test-runner-on-bad-end-name! runner test-on-bad-end-name-simple) - runner)) - -(cond-expand - (srfi-39 - (define test-runner-current (make-parameter #f)) - (define test-runner-factory (make-parameter test-runner-simple))) - (else - (define %test-runner-current #f) - (define-syntax test-runner-current - (syntax-rules () - ((test-runner-current) - %test-runner-current) - ((test-runner-current runner) - (set! %test-runner-current runner)))) - (define %test-runner-factory test-runner-simple) - (define-syntax test-runner-factory - (syntax-rules () - ((test-runner-factory) - %test-runner-factory) - ((test-runner-factory runner) - (set! %test-runner-factory runner)))))) - -;; A safer wrapper to test-runner-current. -(define (test-runner-get) - (let ((r (test-runner-current))) - (if (not r) - (cond-expand - (srfi-23 (error "test-runner not initialized - test-begin missing?")) - (else #t))) - r)) - -(define (%test-specifier-matches spec runner) - (spec runner)) - -(define (test-runner-create) - ((test-runner-factory))) - -(define (%test-any-specifier-matches list runner) - (let ((result #f)) - (let loop ((l list)) - (cond ((null? l) result) - (else - (if (%test-specifier-matches (car l) runner) - (set! result #t)) - (loop (cdr l))))))) - -;; Returns #f, #t, or 'xfail. -(define (%test-should-execute runner) - (let ((run (%test-runner-run-list runner))) - (cond ((or - (not (or (eqv? run #t) - (%test-any-specifier-matches run runner))) - (%test-any-specifier-matches - (%test-runner-skip-list runner) - runner)) - (test-result-set! runner 'result-kind 'skip) - #f) - ((%test-any-specifier-matches - (%test-runner-fail-list runner) - runner) - (test-result-set! runner 'result-kind 'xfail) - 'xfail) - (else #t)))) - -(define (%test-begin suite-name count) - (if (not (test-runner-current)) - (test-runner-current (test-runner-create))) - (let ((runner (test-runner-current))) - ((test-runner-on-group-begin runner) runner suite-name count) - (%test-runner-skip-save! runner - (cons (%test-runner-skip-list runner) - (%test-runner-skip-save runner))) - (%test-runner-fail-save! runner - (cons (%test-runner-fail-list runner) - (%test-runner-fail-save runner))) - (%test-runner-count-list! runner - (cons (cons (%test-runner-total-count runner) - count) - (%test-runner-count-list runner))) - (test-runner-group-stack! runner (cons suite-name - (test-runner-group-stack runner))))) -(cond-expand - (kawa - ;; Kawa has test-begin built in, implemented as: - ;; (begin - ;; (cond-expand (srfi-64 #!void) (else (require 'srfi-64))) - ;; (%test-begin suite-name [count])) - ;; This puts test-begin but only test-begin in the default environment., - ;; which makes normal test suites loadable without non-portable commands. - ) - (else - (define-syntax test-begin - (syntax-rules () - ((test-begin suite-name) - (%test-begin suite-name #f)) - ((test-begin suite-name count) - (%test-begin suite-name count)))))) - -(define (test-on-group-begin-simple runner suite-name count) - (if (null? (test-runner-group-stack runner)) - (begin - (display "%%%% Starting test ") - (display suite-name) - (if test-log-to-file - (let* ((log-file-name - (if (string? test-log-to-file) test-log-to-file - (string-append suite-name ".log"))) - (log-file - (cond-expand (mzscheme - (open-output-file log-file-name 'truncate/replace)) - (else (open-output-file log-file-name))))) - (display "%%%% Starting test " log-file) - (display suite-name log-file) - (newline log-file) - (test-runner-aux-value! runner log-file) - (display " (Writing full log to \"") - (display log-file-name) - (display "\")"))) - (newline))) - (let ((log (test-runner-aux-value runner))) - (if (output-port? log) - (begin - (display "Group begin: " log) - (display suite-name log) - (newline log)))) - #f) - -(define (test-on-group-end-simple runner) - (let ((log (test-runner-aux-value runner))) - (if (output-port? log) - (begin - (display "Group end: " log) - (display (car (test-runner-group-stack runner)) log) - (newline log)))) - #f) - -(define (%test-on-bad-count-write runner count expected-count port) - (display "*** Total number of tests was " port) - (display count port) - (display " but should be " port) - (display expected-count port) - (display ". ***" port) - (newline port) - (display "*** Discrepancy indicates testsuite error or exceptions. ***" port) - (newline port)) - -(define (test-on-bad-count-simple runner count expected-count) - (%test-on-bad-count-write runner count expected-count (current-output-port)) - (let ((log (test-runner-aux-value runner))) - (if (output-port? log) - (%test-on-bad-count-write runner count expected-count log)))) - -(define (test-on-bad-end-name-simple runner begin-name end-name) - (let ((msg (string-append (%test-format-line runner) "test-end " begin-name - " does not match test-begin " end-name))) - (cond-expand - (srfi-23 (error msg)) - (else (display msg) (newline))))) - - -(define (%test-final-report1 value label port) - (if (> value 0) - (begin - (display label port) - (display value port) - (newline port)))) - -(define (%test-final-report-simple runner port) - (%test-final-report1 (test-runner-pass-count runner) - "# of expected passes " port) - (%test-final-report1 (test-runner-xfail-count runner) - "# of expected failures " port) - (%test-final-report1 (test-runner-xpass-count runner) - "# of unexpected successes " port) - (%test-final-report1 (test-runner-fail-count runner) - "# of unexpected failures " port) - (%test-final-report1 (test-runner-skip-count runner) - "# of skipped tests " port)) - -(define (test-on-final-simple runner) - (%test-final-report-simple runner (current-output-port)) - (let ((log (test-runner-aux-value runner))) - (if (output-port? log) - (%test-final-report-simple runner log)))) - -(define (%test-format-line runner) - (let* ((line-info (test-result-alist runner)) - (source-file (assq 'source-file line-info)) - (source-line (assq 'source-line line-info)) - (file (if source-file (cdr source-file) ""))) - (if source-line - (string-append file ":" - (number->string (cdr source-line)) ": ") - ""))) - -(define (%test-end suite-name line-info) - (let* ((r (test-runner-get)) - (groups (test-runner-group-stack r)) - (line (%test-format-line r))) - (test-result-alist! r line-info) - (if (null? groups) - (let ((msg (string-append line "test-end not in a group"))) - (cond-expand - (srfi-23 (error msg)) - (else (display msg) (newline))))) - (if (and suite-name (not (equal? suite-name (car groups)))) - ((test-runner-on-bad-end-name r) r suite-name (car groups))) - (let* ((count-list (%test-runner-count-list r)) - (expected-count (cdar count-list)) - (saved-count (caar count-list)) - (group-count (- (%test-runner-total-count r) saved-count))) - (if (and expected-count - (not (= expected-count group-count))) - ((test-runner-on-bad-count r) r group-count expected-count)) - ((test-runner-on-group-end r) r) - (test-runner-group-stack! r (cdr (test-runner-group-stack r))) - (%test-runner-skip-list! r (car (%test-runner-skip-save r))) - (%test-runner-skip-save! r (cdr (%test-runner-skip-save r))) - (%test-runner-fail-list! r (car (%test-runner-fail-save r))) - (%test-runner-fail-save! r (cdr (%test-runner-fail-save r))) - (%test-runner-count-list! r (cdr count-list)) - (if (null? (test-runner-group-stack r)) - ((test-runner-on-final r) r))))) - -(define-syntax test-group - (syntax-rules () - ((test-group suite-name . body) - (let ((r (test-runner-current))) - ;; Ideally should also set line-number, if available. - (test-result-alist! r (list (cons 'test-name suite-name))) - (if (%test-should-execute r) - (dynamic-wind - (lambda () (test-begin suite-name)) - (lambda () . body) - (lambda () (test-end suite-name)))))))) - -(define-syntax test-group-with-cleanup - (syntax-rules () - ((test-group-with-cleanup suite-name form cleanup-form) - (test-group suite-name - (dynamic-wind - (lambda () #f) - (lambda () form) - (lambda () cleanup-form)))) - ((test-group-with-cleanup suite-name cleanup-form) - (test-group-with-cleanup suite-name #f cleanup-form)) - ((test-group-with-cleanup suite-name form1 form2 form3 . rest) - (test-group-with-cleanup suite-name (begin form1 form2) form3 . rest)))) - -(define (test-on-test-begin-simple runner) - (let ((log (test-runner-aux-value runner))) - (if (output-port? log) - (let* ((results (test-result-alist runner)) - (source-file (assq 'source-file results)) - (source-line (assq 'source-line results)) - (source-form (assq 'source-form results)) - (test-name (assq 'test-name results))) - (display "Test begin:" log) - (newline log) - (if test-name (%test-write-result1 test-name log)) - (if source-file (%test-write-result1 source-file log)) - (if source-line (%test-write-result1 source-line log)) - (if source-form (%test-write-result1 source-form log)))))) - -(define-syntax test-result-ref - (syntax-rules () - ((test-result-ref runner pname) - (test-result-ref runner pname #f)) - ((test-result-ref runner pname default) - (let ((p (assq pname (test-result-alist runner)))) - (if p (cdr p) default))))) - -(define (test-on-test-end-simple runner) - (let ((log (test-runner-aux-value runner)) - (kind (test-result-ref runner 'result-kind))) - (if (memq kind '(fail xpass)) - (let* ((results (test-result-alist runner)) - (source-file (assq 'source-file results)) - (source-line (assq 'source-line results)) - (test-name (assq 'test-name results))) - (if (or source-file source-line) - (begin - (if source-file (display (cdr source-file))) - (display ":") - (if source-line (display (cdr source-line))) - (display ": "))) - (display (if (eq? kind 'xpass) "XPASS" "FAIL")) - (if test-name - (begin - (display " ") - (display (cdr test-name)))) - (newline))) - (if (output-port? log) - (begin - (display "Test end:" log) - (newline log) - (let loop ((list (test-result-alist runner))) - (if (pair? list) - (let ((pair (car list))) - ;; Write out properties not written out by on-test-begin. - (if (not (memq (car pair) - '(test-name source-file source-line source-form))) - (%test-write-result1 pair log)) - (loop (cdr list))))))))) - -(define (%test-write-result1 pair port) - (display " " port) - (display (car pair) port) - (display ": " port) - (write (cdr pair) port) - (newline port)) - -(define (test-result-set! runner pname value) - (let* ((alist (test-result-alist runner)) - (p (assq pname alist))) - (if p - (set-cdr! p value) - (test-result-alist! runner (cons (cons pname value) alist))))) - -(define (test-result-clear runner) - (test-result-alist! runner '())) - -(define (test-result-remove runner pname) - (let* ((alist (test-result-alist runner)) - (p (assq pname alist))) - (if p - (test-result-alist! runner - (let loop ((r alist)) - (if (eq? r p) (cdr r) - (cons (car r) (loop (cdr r))))))))) - -(define (test-result-kind . rest) - (let ((runner (if (pair? rest) (car rest) (test-runner-current)))) - (test-result-ref runner 'result-kind))) - -(define (test-passed? . rest) - (let ((runner (if (pair? rest) (car rest) (test-runner-get)))) - (memq (test-result-ref runner 'result-kind) '(pass xpass)))) - -(define (%test-report-result) - (let* ((r (test-runner-get)) - (result-kind (test-result-kind r))) - (case result-kind - ((pass) - (test-runner-pass-count! r (+ 1 (test-runner-pass-count r)))) - ((fail) - (test-runner-fail-count! r (+ 1 (test-runner-fail-count r)))) - ((xpass) - (test-runner-xpass-count! r (+ 1 (test-runner-xpass-count r)))) - ((xfail) - (test-runner-xfail-count! r (+ 1 (test-runner-xfail-count r)))) - (else - (test-runner-skip-count! r (+ 1 (test-runner-skip-count r))))) - (%test-runner-total-count! r (+ 1 (%test-runner-total-count r))) - ((test-runner-on-test-end r) r))) - -(cond-expand - (guile - (define-syntax %test-evaluate-with-catch - (syntax-rules () - ((%test-evaluate-with-catch test-expression) - (catch #t - (lambda () test-expression) - (lambda (key . args) - (test-result-set! (test-runner-current) 'actual-error - (cons key args)) - #f)))))) - (kawa - (define-syntax %test-evaluate-with-catch - (syntax-rules () - ((%test-evaluate-with-catch test-expression) - (try-catch test-expression - (ex - (test-result-set! (test-runner-current) 'actual-error ex) - #f)))))) - (srfi-34 - (define-syntax %test-evaluate-with-catch - (syntax-rules () - ((%test-evaluate-with-catch test-expression) - (guard (err (else #f)) test-expression))))) - (chicken - (define-syntax %test-evaluate-with-catch - (syntax-rules () - ((%test-evaluate-with-catch test-expression) - (condition-case test-expression (ex () #f)))))) - (else - (define-syntax %test-evaluate-with-catch - (syntax-rules () - ((%test-evaluate-with-catch test-expression) - test-expression))))) - -(cond-expand - ((or kawa mzscheme) - (cond-expand - (mzscheme - (define-for-syntax (%test-syntax-file form) - (let ((source (syntax-source form))) - (cond ((string? source) file) - ((path? source) (path->string source)) - (else #f))))) - (kawa - (define (%test-syntax-file form) - (syntax-source form)))) - (define (%test-source-line2 form) - (let* ((line (syntax-line form)) - (file (%test-syntax-file form)) - (line-pair (if line (list (cons 'source-line line)) '()))) - (cons (cons 'source-form (syntax-object->datum form)) - (if file (cons (cons 'source-file file) line-pair) line-pair))))) - (guile-2 - (define (%test-source-line2 form) - (let* ((src-props (syntax-source form)) - (file (and src-props (assq-ref src-props 'filename))) - (line (and src-props (assq-ref src-props 'line))) - (file-alist (if file - `((source-file . ,file)) - '())) - (line-alist (if line - `((source-line . ,(+ line 1))) - '()))) - (datum->syntax (syntax here) - `((source-form . ,(syntax->datum form)) - ,@file-alist - ,@line-alist))))) - (else - (define (%test-source-line2 form) - '()))) - -(define (%test-on-test-begin r) - (%test-should-execute r) - ((test-runner-on-test-begin r) r) - (not (eq? 'skip (test-result-ref r 'result-kind)))) - -(define (%test-on-test-end r result) - (test-result-set! r 'result-kind - (if (eq? (test-result-ref r 'result-kind) 'xfail) - (if result 'xpass 'xfail) - (if result 'pass 'fail)))) - -(define (test-runner-test-name runner) - (test-result-ref runner 'test-name "")) - -(define-syntax %test-comp2body - (syntax-rules () - ((%test-comp2body r comp expected expr) - (let () - (if (%test-on-test-begin r) - (let ((exp expected)) - (test-result-set! r 'expected-value exp) - (let ((res (%test-evaluate-with-catch expr))) - (test-result-set! r 'actual-value res) - (%test-on-test-end r (comp exp res))))) - (%test-report-result))))) - -(define (%test-approximate= error) - (lambda (value expected) - (let ((rval (real-part value)) - (ival (imag-part value)) - (rexp (real-part expected)) - (iexp (imag-part expected))) - (and (>= rval (- rexp error)) - (>= ival (- iexp error)) - (<= rval (+ rexp error)) - (<= ival (+ iexp error)))))) - -(define-syntax %test-comp1body - (syntax-rules () - ((%test-comp1body r expr) - (let () - (if (%test-on-test-begin r) - (let () - (let ((res (%test-evaluate-with-catch expr))) - (test-result-set! r 'actual-value res) - (%test-on-test-end r res)))) - (%test-report-result))))) - -(cond-expand - ((or kawa mzscheme guile-2) - ;; Should be made to work for any Scheme with syntax-case - ;; However, I haven't gotten the quoting working. FIXME. - (define-syntax test-end - (lambda (x) - (syntax-case (list x (list (syntax quote) (%test-source-line2 x))) () - (((mac suite-name) line) - (syntax - (%test-end suite-name line))) - (((mac) line) - (syntax - (%test-end #f line)))))) - (define-syntax test-assert - (lambda (x) - (syntax-case (list x (list (syntax quote) (%test-source-line2 x))) () - (((mac tname expr) line) - (syntax - (let* ((r (test-runner-get)) - (name tname)) - (test-result-alist! r (cons (cons 'test-name tname) line)) - (%test-comp1body r expr)))) - (((mac expr) line) - (syntax - (let* ((r (test-runner-get))) - (test-result-alist! r line) - (%test-comp1body r expr))))))) - (define (%test-comp2 comp x) - (syntax-case (list x (list (syntax quote) (%test-source-line2 x)) comp) () - (((mac tname expected expr) line comp) - (syntax - (let* ((r (test-runner-get)) - (name tname)) - (test-result-alist! r (cons (cons 'test-name tname) line)) - (%test-comp2body r comp expected expr)))) - (((mac expected expr) line comp) - (syntax - (let* ((r (test-runner-get))) - (test-result-alist! r line) - (%test-comp2body r comp expected expr)))))) - (define-syntax test-eqv - (lambda (x) (%test-comp2 (syntax eqv?) x))) - (define-syntax test-eq - (lambda (x) (%test-comp2 (syntax eq?) x))) - (define-syntax test-equal - (lambda (x) (%test-comp2 (syntax equal?) x))) - (define-syntax test-approximate ;; FIXME - needed for non-Kawa - (lambda (x) - (syntax-case (list x (list (syntax quote) (%test-source-line2 x))) () - (((mac tname expected expr error) line) - (syntax - (let* ((r (test-runner-get)) - (name tname)) - (test-result-alist! r (cons (cons 'test-name tname) line)) - (%test-comp2body r (%test-approximate= error) expected expr)))) - (((mac expected expr error) line) - (syntax - (let* ((r (test-runner-get))) - (test-result-alist! r line) - (%test-comp2body r (%test-approximate= error) expected expr)))))))) - (else - (define-syntax test-end - (syntax-rules () - ((test-end) - (%test-end #f '())) - ((test-end suite-name) - (%test-end suite-name '())))) - (define-syntax test-assert - (syntax-rules () - ((test-assert tname test-expression) - (let* ((r (test-runner-get)) - (name tname)) - (test-result-alist! r '((test-name . tname))) - (%test-comp1body r test-expression))) - ((test-assert test-expression) - (let* ((r (test-runner-get))) - (test-result-alist! r '()) - (%test-comp1body r test-expression))))) - (define-syntax %test-comp2 - (syntax-rules () - ((%test-comp2 comp tname expected expr) - (let* ((r (test-runner-get)) - (name tname)) - (test-result-alist! r (list (cons 'test-name tname))) - (%test-comp2body r comp expected expr))) - ((%test-comp2 comp expected expr) - (let* ((r (test-runner-get))) - (test-result-alist! r '()) - (%test-comp2body r comp expected expr))))) - (define-syntax test-equal - (syntax-rules () - ((test-equal . rest) - (%test-comp2 equal? . rest)))) - (define-syntax test-eqv - (syntax-rules () - ((test-eqv . rest) - (%test-comp2 eqv? . rest)))) - (define-syntax test-eq - (syntax-rules () - ((test-eq . rest) - (%test-comp2 eq? . rest)))) - (define-syntax test-approximate - (syntax-rules () - ((test-approximate tname expected expr error) - (%test-comp2 (%test-approximate= error) tname expected expr)) - ((test-approximate expected expr error) - (%test-comp2 (%test-approximate= error) expected expr)))))) - -(cond-expand - (guile - (define-syntax %test-error - (syntax-rules () - ((%test-error r etype expr) - (cond ((%test-on-test-begin r) - (let ((et etype)) - (test-result-set! r 'expected-error et) - (%test-on-test-end r - (catch #t - (lambda () - (test-result-set! r 'actual-value expr) - #f) - (lambda (key . args) - ;; TODO: decide how to specify expected - ;; error types for Guile. - (test-result-set! r 'actual-error - (cons key args)) - #t))) - (%test-report-result)))))))) - (mzscheme - (define-syntax %test-error - (syntax-rules () - ((%test-error r etype expr) - (%test-comp1body r (with-handlers (((lambda (h) #t) (lambda (h) #t))) - (let () - (test-result-set! r 'actual-value expr) - #f))))))) - (chicken - (define-syntax %test-error - (syntax-rules () - ((%test-error r etype expr) - (%test-comp1body r (condition-case expr (ex () #t))))))) - (kawa - (define-syntax %test-error - (syntax-rules () - ((%test-error r #t expr) - (cond ((%test-on-test-begin r) - (test-result-set! r 'expected-error #t) - (%test-on-test-end r - (try-catch - (let () - (test-result-set! r 'actual-value expr) - #f) - (ex - (test-result-set! r 'actual-error ex) - #t))) - (%test-report-result)))) - ((%test-error r etype expr) - (if (%test-on-test-begin r) - (let ((et etype)) - (test-result-set! r 'expected-error et) - (%test-on-test-end r - (try-catch - (let () - (test-result-set! r 'actual-value expr) - #f) - (ex - (test-result-set! r 'actual-error ex) - (cond ((and (instance? et ) - (gnu.bytecode.ClassType:isSubclass et )) - (instance? ex et)) - (else #t))))) - (%test-report-result))))))) - ((and srfi-34 srfi-35) - (define-syntax %test-error - (syntax-rules () - ((%test-error r etype expr) - (%test-comp1body r (guard (ex ((condition-type? etype) - (and (condition? ex) (condition-has-type? ex etype))) - ((procedure? etype) - (etype ex)) - ((equal? etype #t) - #t) - (else #t)) - expr #f)))))) - (srfi-34 - (define-syntax %test-error - (syntax-rules () - ((%test-error r etype expr) - (%test-comp1body r (guard (ex (else #t)) expr #f)))))) - (else - (define-syntax %test-error - (syntax-rules () - ((%test-error r etype expr) - (begin - ((test-runner-on-test-begin r) r) - (test-result-set! r 'result-kind 'skip) - (%test-report-result))))))) - -(cond-expand - ((or kawa mzscheme guile-2) - - (define-syntax test-error - (lambda (x) - (syntax-case (list x (list (syntax quote) (%test-source-line2 x))) () - (((mac tname etype expr) line) - (syntax - (let* ((r (test-runner-get)) - (name tname)) - (test-result-alist! r (cons (cons 'test-name tname) line)) - (%test-error r etype expr)))) - (((mac etype expr) line) - (syntax - (let* ((r (test-runner-get))) - (test-result-alist! r line) - (%test-error r etype expr)))) - (((mac expr) line) - (syntax - (let* ((r (test-runner-get))) - (test-result-alist! r line) - (%test-error r #t expr)))))))) - (else - (define-syntax test-error - (syntax-rules () - ((test-error name etype expr) - (let ((r (test-runner-get))) - (test-result-alist! r `((test-name . ,name))) - (%test-error r etype expr))) - ((test-error etype expr) - (let ((r (test-runner-get))) - (test-result-alist! r '()) - (%test-error r etype expr))) - ((test-error expr) - (let ((r (test-runner-get))) - (test-result-alist! r '()) - (%test-error r #t expr))))))) - -(define (test-apply first . rest) - (if (test-runner? first) - (test-with-runner first (apply test-apply rest)) - (let ((r (test-runner-current))) - (if r - (let ((run-list (%test-runner-run-list r))) - (cond ((null? rest) - (%test-runner-run-list! r (reverse run-list)) - (first)) ;; actually apply procedure thunk - (else - (%test-runner-run-list! - r - (if (eq? run-list #t) (list first) (cons first run-list))) - (apply test-apply rest) - (%test-runner-run-list! r run-list)))) - (let ((r (test-runner-create))) - (test-with-runner r (apply test-apply first rest)) - ((test-runner-on-final r) r)))))) - -(define-syntax test-with-runner - (syntax-rules () - ((test-with-runner runner form ...) - (let ((saved-runner (test-runner-current))) - (dynamic-wind - (lambda () (test-runner-current runner)) - (lambda () form ...) - (lambda () (test-runner-current saved-runner))))))) - -;;; Predicates - -(define (%test-match-nth n count) - (let ((i 0)) - (lambda (runner) - (set! i (+ i 1)) - (and (>= i n) (< i (+ n count)))))) - -(define-syntax test-match-nth - (syntax-rules () - ((test-match-nth n) - (test-match-nth n 1)) - ((test-match-nth n count) - (%test-match-nth n count)))) - -(define (%test-match-all . pred-list) - (lambda (runner) - (let ((result #t)) - (let loop ((l pred-list)) - (if (null? l) - result - (begin - (if (not ((car l) runner)) - (set! result #f)) - (loop (cdr l)))))))) - -(define-syntax test-match-all - (syntax-rules () - ((test-match-all pred ...) - (%test-match-all (%test-as-specifier pred) ...)))) - -(define (%test-match-any . pred-list) - (lambda (runner) - (let ((result #f)) - (let loop ((l pred-list)) - (if (null? l) - result - (begin - (if ((car l) runner) - (set! result #t)) - (loop (cdr l)))))))) - -(define-syntax test-match-any - (syntax-rules () - ((test-match-any pred ...) - (%test-match-any (%test-as-specifier pred) ...)))) - -;; Coerce to a predicate function: -(define (%test-as-specifier specifier) - (cond ((procedure? specifier) specifier) - ((integer? specifier) (test-match-nth 1 specifier)) - ((string? specifier) (test-match-name specifier)) - (else - (error "not a valid test specifier")))) - -(define-syntax test-skip - (syntax-rules () - ((test-skip pred ...) - (let ((runner (test-runner-get))) - (%test-runner-skip-list! runner - (cons (test-match-all (%test-as-specifier pred) ...) - (%test-runner-skip-list runner))))))) - -(define-syntax test-expect-fail - (syntax-rules () - ((test-expect-fail pred ...) - (let ((runner (test-runner-get))) - (%test-runner-fail-list! runner - (cons (test-match-all (%test-as-specifier pred) ...) - (%test-runner-fail-list runner))))))) - -(define (test-match-name name) - (lambda (runner) - (equal? name (test-runner-test-name runner)))) - -(define (test-read-eval-string string) - (let* ((port (open-input-string string)) - (form (read port))) - (if (eof-object? (read-char port)) - (cond-expand - (guile (eval form (current-module))) - (else (eval form))) - (cond-expand - (srfi-23 (error "(not at eof)")) - (else "error"))))) - -- cgit v1.2.3 From 3bd0d1866159fa208e640d2ae2c0dffecfc76dd1 Mon Sep 17 00:00:00 2001 From: Anonymous Date: Tue, 17 Jul 2018 11:07:58 -0700 Subject: gnu: Add nethack. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/games.scm (nethack): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/games.scm | 119 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a3c770a0ba..dc07f8da3c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -87,6 +87,7 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages imagemagick) + #:use-module (gnu packages less) #:use-module (gnu packages libcanberra) #:use-module (gnu packages libedit) #:use-module (gnu packages libunwind) @@ -665,6 +666,124 @@ removed lines to all opponents. There is also a Demo mode in which you can watch your CPU playing while enjoying a cup of tea!") (license license:gpl2+))) +(define-public nethack + (package + (name "nethack") + (version "3.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://www.nethack.org/download/" + version "/" name "-361-src.tgz")) + (sha256 + (base32 "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b")))) + (inputs + `(("ncurses" ,ncurses) + ("bison" ,bison) + ("flex" ,flex) + ("less" ,less))) + (build-system gnu-build-system) + (arguments + '(#:make-flags + `(,(string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-paths + (lambda _ + (substitute* "sys/unix/nethack.sh" + (("^ *cd .*$") "")) + (substitute* "sys/unix/Makefile.utl" + (("^YACC *=.*$") "YACC = bison -y\n") + (("^LEX *=.*$") "LEX = flex\n") + (("^# CC = gcc") "CC = gcc")) + (substitute* "sys/unix/hints/linux" + (("/bin/gzip") (string-append + (assoc-ref %build-inputs "gzip") + "/bin/gzip")) + (("^WINTTYLIB=.*") "WINTTYLIB=-lncurses")) + (substitute* "include/config.h" + (("^.*define CHDIR.*$") "")) + (substitute* "sys/unix/Makefile.src" + (("^# CC = gcc") "CC = gcc")) + #t)) + (replace 'configure + (lambda _ + (let ((bash (string-append + (assoc-ref %build-inputs "bash") + "/bin/bash"))) + (with-directory-excursion "sys/unix" + (substitute* "setup.sh" (("/bin/sh") bash)) + (invoke bash "setup.sh" "hints/linux")) + #t))) + (add-after 'install 'fixup-paths + (lambda _ + (let* ((output (assoc-ref %outputs "out")) + (nethack-script (string-append output "/bin/nethack"))) + (mkdir-p (string-append output "/games/lib/nethackuserdir")) + (for-each + (lambda (file) + (rename-file + (string-append output "/games/lib/nethackdir/" file) + (string-append output "/games/lib/nethackuserdir/" + file))) + '("xlogfile" "logfile" "perm" "record" "save")) + (mkdir-p (string-append output "/bin")) + (call-with-output-file nethack-script + (lambda (port) + (format port "#!~a/bin/sh +PATH=~a:$PATH +if [ ! -d ~~/.config/nethack ]; then + mkdir -p ~~/.config/nethack + cp -r ~a/games/lib/nethackuserdir/* ~~/.config/nethack + chmod -R +w ~~/.config/nethack +fi + +RUNDIR=$(mktemp -d) + +cleanup() { + rm -rf $RUNDIR +} +trap cleanup EXIT + +cd $RUNDIR +for i in ~~/.config/nethack/*; do + ln -s $i $(basename $i) +done +for i in ~a/games/lib/nethackdir/*; do + ln -s $i $(basename $i) +done +~a/games/nethack" + (assoc-ref %build-inputs "bash") + (list->search-path-as-string + (list + (string-append + (assoc-ref %build-inputs "coreutils") "/bin") + (string-append + (assoc-ref %build-inputs "less") "/bin")) + ":") + output + output + output))) + (chmod nethack-script #o555) + #t))) + (delete 'check)))) + (home-page "https://nethack.org") + (synopsis "Classic dungeon crawl game") + (description "NetHack is a single player dungeon exploration game that runs +on a wide variety of computer systems, with a variety of graphical and text +interfaces all using the same game engine. Unlike many other Dungeons & +Dragons-inspired games, the emphasis in NetHack is on discovering the detail of +the dungeon and not simply killing everything in sight - in fact, killing +everything in sight is a good way to die quickly. Each game presents a +different landscape - the random number generator provides an essentially +unlimited number of variations of the dungeon and its denizens to be discovered +by the player in one of a number of characters: you can pick your race, your +role, and your gender.") + (license + (license:fsdg-compatible + "https://nethack.org/common/license.html")))) + (define-public prboom-plus (package (name "prboom-plus") -- cgit v1.2.3 From df35e7154236e0aff1ff2720a5b12d7c4df72ad1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jul 2018 00:12:13 +0200 Subject: gnu: nethack: Make builds bit-reproducible. * gnu/packages/games.scm (nethack)[arguments]: In 'patch-paths' phase, define REPRODUCIBLE_BUILD in config.h and set SOURCE_DATE_EPOCH. --- gnu/packages/games.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index dc07f8da3c..ca86703a83 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -673,9 +673,8 @@ watch your CPU playing while enjoying a cup of tea!") (source (origin (method url-fetch) - (uri (string-append - "https://www.nethack.org/download/" - version "/" name "-361-src.tgz")) + (uri (string-append "https://www.nethack.org/download/" + version "/" name "-361-src.tgz")) (sha256 (base32 "1dha0ijvxhx7c9hr0452h93x81iiqsll8bc9msdnp7xdqcfbz32b")))) (inputs @@ -703,7 +702,15 @@ watch your CPU playing while enjoying a cup of tea!") "/bin/gzip")) (("^WINTTYLIB=.*") "WINTTYLIB=-lncurses")) (substitute* "include/config.h" - (("^.*define CHDIR.*$") "")) + (("^.*define CHDIR.*$") "") + (("^/\\* *#*define *REPRODUCIBLE_BUILD *\\*/") + ;; Honor SOURCE_DATE_EPOCH. + "#define REPRODUCIBLE_BUILD")) + + ;; Note: 'makedefs' rejects and ignores dates that are too old + ;; or too new, so we must choose something reasonable here. + (setenv "SOURCE_DATE_EPOCH" "1531865062") + (substitute* "sys/unix/Makefile.src" (("^# CC = gcc") "CC = gcc")) #t)) -- cgit v1.2.3 From 799dc53e9bfe605613cd2e7cb2c584282847fa84 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jul 2018 00:25:06 +0200 Subject: gnu: guix-daemon: Fix file name of 'guix' command. Fixes . Reported by Pjotr Prins . * gnu/packages/package-management.scm (guix-daemon)[arguments]: In 'install' phase, fix file name of 'guix' command. --- gnu/packages/package-management.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 639d81bcc1..b7e3b320f6 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -348,7 +348,7 @@ the Nix package manager.") (let ((out (assoc-ref outputs "out"))) (substitute* (find-files (string-append out "/libexec")) (("exec \".*/bin/guix\"") - "exec ~root/.config/current/bin/guix")) + "exec ~root/.config/guix/current/bin/guix")) #t))) (delete 'wrap-program))))))) -- cgit v1.2.3 From f8ac2039288539988bbdefb768a8a069fd4d4d84 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Jul 2018 02:57:07 +0200 Subject: gnu: libusb: Update home page. * gnu/packages/libusb.scm (libusb, libusb-compat)[home-page]: Use HTTPS. --- gnu/packages/libusb.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index e4b8bbbbed..73788ea80f 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -65,7 +65,7 @@ (arguments `(#:configure-flags '("--disable-udev"))) ;; (inputs `(("eudev" ,eudev))) - (home-page "http://libusb.info") + (home-page "https://libusb.info") (synopsis "User-space USB library") (description "Libusb is a library that gives applications easy access to USB @@ -91,7 +91,7 @@ devices on various operating systems.") `(("pkg-config" ,pkg-config))) (inputs `(("libusb" ,libusb))) - (home-page "http://libusb.info") + (home-page "https://libusb.info") (synopsis "Compatibility shim for libusb") (description "Libusb-compat provides a shim allowing applications based on older -- cgit v1.2.3 From 5939188e7257e522f7eb1e7eef78399a25afd599 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 13 Jul 2018 18:14:01 +0200 Subject: gnu: rapidjson: Remove non-free code. * gnu/packages/web.scm (rapidjson)[source](snippet, modules): New fields. --- gnu/packages/web.scm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 06d0fec0b0..7e6b65d550 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -719,7 +719,14 @@ current version of any major web browser.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z")))) + "13nrpvw8f1wx0ga7svbzld7pgrv8l172nangpipnj7jaf0lysz5z")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove code using the problematic JSON license (see + ;; ). + (delete-file-recursively "bin/jsonchecker") + #t)))) (build-system cmake-build-system) (arguments `(,@(if (string-prefix? "aarch64" (or (%current-target-system) -- cgit v1.2.3 From e9997e471d71415790f57dd1337a1586d62f53aa Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 11:14:22 +0200 Subject: gnu: libb2: Update to 0.98. * gnu/packages/crypto.scm (libb2): Update to 0.98. [source]: Use URL-FETCH. [native-inputs]: Remove. --- gnu/packages/crypto.scm | 61 ++++++++++++++++++++++--------------------------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 4629bcd895..3cdee2e07e 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -668,39 +668,32 @@ data on your platform, so the seed itself will be as random as possible. (license (list license:boost1.0 license:public-domain)))) (define-public libb2 - (let ((revision "1") ; upstream doesn't ‘do’ releases - (commit "60ea749837362c226e8501718f505ab138e5c19d")) - (package - (name "libb2") - (version (git-version "0.0.0" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/BLAKE2/libb2") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "07a2m8basxrsj9dsp5lj24y8jraj85lfy56756a7za1nfkgy04z7")))) - (build-system gnu-build-system) - (native-inputs - `(("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (arguments - `(#:configure-flags - (list - ,@(if (any (cute string-prefix? <> (or (%current-system) - (%current-target-system))) - '("x86_64" "i686")) - ;; fat only checks for Intel optimisations - '("--enable-fat") - '()) - "--disable-native"))) ;don't optimise at build time - (home-page "https://blake2.net/") - (synopsis "Library implementing the BLAKE2 family of hash functions") - (description - "libb2 is a portable implementation of the BLAKE2 family of cryptographic + (package + (name "libb2") + (version "0.98") + (source (origin + (method url-fetch) + (uri (string-append + "https://github.com/BLAKE2/libb2/releases/download/v" + version "/libb2-" version ".tar.gz")) + (sha256 + (base32 + "0vq39cvwy05754l565xl11rqr2jvjb6ykjzca886vi9vm71y0sg8")))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + ,@(if (any (cute string-prefix? <> (or (%current-system) + (%current-target-system))) + '("x86_64" "i686")) + ;; fat only checks for Intel optimisations + '("--enable-fat") + '()) + "--disable-native"))) ;don't optimise at build time + (home-page "https://blake2.net/") + (synopsis "Library implementing the BLAKE2 family of hash functions") + (description + "libb2 is a portable implementation of the BLAKE2 family of cryptographic hash functions. It includes optimised implementations for IA-32 and AMD64 processors, and an interface layer that automatically selects the best implementation for the processor it is run on. @@ -709,7 +702,7 @@ implementation for the processor it is run on. that are faster than MD5, SHA-1, SHA-2, and SHA-3, yet are at least as secure as the latest standard, SHA-3. It is an improved version of the SHA-3 finalist BLAKE.") - (license license:public-domain)))) + (license license:public-domain))) (define-public rhash (package -- cgit v1.2.3 From 05fcb98d1089b449d3a7a344f109ff891ccbb65c Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 11:22:53 +0200 Subject: gnu: libcue: Update to 2.2.1. * gnu/packages/cdrom.scm (libcue): Update to 2.2.1. [arguments]: Add #:configure-flags for building shared library, since the package defaults to static since this version. --- gnu/packages/cdrom.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 027a333d67..384fc57317 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -418,7 +418,7 @@ graphical interface.") (define-public libcue (package (name "libcue") - (version "2.2.0") + (version "2.2.1") (source (origin (method url-fetch) (uri (string-append @@ -427,8 +427,10 @@ graphical interface.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0y9808vbly1w6i3diaad9csjmmw6iaw572wjjr68ssqamsw193rj")))) + "000j5xqp7cc7njwlixr9byahz9kn8pcfdgm76afwv4p8nbmw6yzj")))) (build-system cmake-build-system) + (arguments + `(#:configure-flags '("-DBUILD_SHARED_LIBS=ON"))) (native-inputs `(("bison" ,bison) ("flex" ,flex))) -- cgit v1.2.3 From 67c18a03d4155939dc279c2ae4ae1f8df93ae34a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 11:27:38 +0200 Subject: gnu: libextractor: Update to 1.7. * gnu/packages/gnunet.scm (libextractor): Update to 1.7. --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 7335742e20..7a4660cc8d 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -67,14 +67,14 @@ (define-public libextractor (package (name "libextractor") - (version "1.6") + (version "1.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libextractor/libextractor-" version ".tar.gz")) (sha256 (base32 - "17gnpgspdhfgcr27j8sn9105vb4lw22yqdrhic62l79q5v5avm16")))) + "13wf6vj7mkv6gw8h183cnk7m24ir0gyf198pyb2148ng4klgv9p0")))) (build-system gnu-build-system) ;; WARNING: Checks require /dev/shm to be in the build chroot, especially ;; not to be a symbolic link to /run/shm. -- cgit v1.2.3 From fa3b93d6a7530a0f84a20ad8b96e0efe601da2d1 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 11:37:58 +0200 Subject: gnu: libmikmod: Update to 3.3.11.1. * gnu/packages/sdl.scm (libmikmod): Update to 3.3.11.1. --- 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 3e21cde83c..202716365b 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -132,7 +132,7 @@ joystick, and graphics hardware.") (define-public libmikmod (package (name "libmikmod") - (version "3.3.10") + (version "3.3.11.1") (source (origin (method url-fetch) (uri (list @@ -144,7 +144,7 @@ joystick, and graphics hardware.") version "/libmikmod-" version ".tar.gz"))) (sha256 (base32 - "0j7g4jpa2zgzw7x6s3rldypa7zlwjvn97rwx0sylx1iihhlzbcq0")))) + "06bdnhb0l81srdzg6gn2v2ydhhaazza7rshrcj3q8dpqr3gn97dd")))) (build-system gnu-build-system) (arguments ;; By default, libmikmod tries to dlopen libasound etc., which won't work -- cgit v1.2.3 From 06446a7d037e69cade2088a416f178bd114ff216 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 11:42:56 +0200 Subject: gnu: libmodplug: Update to 0.8.9.0. * gnu/packages/audio.scm (libmodplug): Update to 0.8.9.0. --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 98f66aae88..58d67f2ebb 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -2505,7 +2505,7 @@ encode and decode wavpack files.") (define-public libmodplug (package (name "libmodplug") - (version "0.8.8.5") + (version "0.8.9.0") (source (origin (method url-fetch) (uri (string-append @@ -2513,7 +2513,7 @@ encode and decode wavpack files.") name "/" version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1bfsladg7h6vnii47dd66f5vh1ir7qv12mfb8n36qiwrxq92sikp")))) + "1pnri98a603xk47smnxr551svbmgbzcw018mq1k6srbrq6kaaz25")))) (build-system gnu-build-system) (home-page "http://modplug-xmms.sourceforge.net/") (synopsis "Mod file playing library") -- cgit v1.2.3 From 2495012709f7c23deb9dd88d8c5ed10f9bf3d42e Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 11:54:16 +0200 Subject: gnu: libspiro: Update to 0.5.20150702. * gnu/packages/fontutils.scm (libspiro): Update to 0.5.20150702. [source]: Change URI to maintained repository. [arguments]: Remove. --- gnu/packages/fontutils.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 85febd73f4..725387ce8e 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -455,17 +455,16 @@ using the above tables.") (define-public libspiro (package (name "libspiro") - (version "20071029") + (version "0.5.20150702") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/libspiro/libspiro/" - version "/libspiro_src-" version ".tar.bz2")) + (uri (string-append "https://github.com/fontforge/libspiro/releases" + "/download/" version "/libspiro-dist-" version ".tar.gz")) (sha256 (base32 - "1kylz8pvwnb85yya150r9i6mhbpzx38f32qy523qg3ylgd9b3zhy")))) + "153ckwj6h3wwlsgcppzqj8cymv1927hi8ar8fzpchq5q89cj2kai")))) (build-system gnu-build-system) - (arguments `(#:tests? #f)) ;no tests (synopsis "Clothoid to bezier conversion library") (description "Raph Levien's Spiro package as a library. A mechanism for drawing -- cgit v1.2.3 From 08e977d291a5426be15f0ddb204a3a7004bd9e92 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 12:47:32 +0200 Subject: gnu: physfs: Update to 3.0.1. * gnu/packages/game-development.scm (physfs): Update to 3.0.1. [arguments]: Add phase to ensure RUNPATH is set. --- gnu/packages/game-development.scm | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index afabeb0c62..fde139c0b7 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -518,7 +518,7 @@ sounds from presets such as \"explosion\" or \"powerup\".") (define-public physfs (package (name "physfs") - (version "2.0.3") + (version "3.0.1") (source (origin (method url-fetch) (uri (string-append @@ -527,10 +527,18 @@ sounds from presets such as \"explosion\" or \"powerup\".") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0sbbyqzqhyf0g68fcvvv20n3928j0x6ik1njmhn1yigvq2bj11na")))) + "1wgj2zqpnfbnyyi1i7bq5pshcc9n5cvwlpzp8im67nb8662ryyxp")))) (build-system cmake-build-system) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f ; no check target + #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-CMakeLists.txt + (lambda _ + (substitute* "CMakeLists.txt" + ;; XXX: For some reason CMakeLists.txt disables + ;; RUNPATH manipulation when the compiler is GCC. + (("CMAKE_COMPILER_IS_GNUCC") "FALSE")) + #t))))) (inputs `(("zlib" ,zlib))) (native-inputs -- cgit v1.2.3 From 0bc272480019a5c2ff34dd13bd4c8f3450970f8d Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 15:08:12 +0200 Subject: gnu: sfml: Update to 2.5.0. * gnu/packages/game-development.scm (sfml): Update to 2.5.0. [arguments]: Specify pkg-config dir in #:configure-flags. [native-inputs]: Add PKG-CONFIG. [inputs]: Move FLAC, FREETYPE, LIBVORBIS and OPENAL ... [propagated-inputs]: ... here. New field. --- gnu/packages/game-development.scm | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index fde139c0b7..4610e389bd 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -440,7 +440,7 @@ clone.") (define-public sfml (package (name "sfml") - (version "2.3.2") + (version "2.5.0") (source (origin (method url-fetch) ;; Do not fetch the archives from @@ -451,24 +451,29 @@ clone.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0k2fl5xk3ni2q8bsxl0551inx26ww3w6cp6hssvww0wfjdjcirsm")))) + "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab")))) (build-system cmake-build-system) (arguments '(#:configure-flags - (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE") + (list "-DSFML_INSTALL_PKGCONFIG_FILES=TRUE" + "-DSFML_OS_PKGCONFIG_DIR=lib/pkgconfig") #:tests? #f)) ; no tests + (native-inputs + `(("pkg-config" ,pkg-config))) (inputs `(("mesa" ,mesa) ("glew" ,glew) - ("flac" ,flac) - ("libvorbis" ,libvorbis) ("libx11" ,libx11) ("xcb-util-image" ,xcb-util-image) ("libxrandr" ,libxrandr) ("eudev" ,eudev) - ("freetype" ,freetype) ("libjpeg" ,libjpeg) - ("libsndfile" ,libsndfile) + ("libsndfile" ,libsndfile))) + (propagated-inputs + ;; In Requires.private of pkg-config files. + `(("flac" ,flac) + ("freetype" ,freetype) + ("libvorbis" ,libvorbis) ("openal" ,openal))) (home-page "https://www.sfml-dev.org") (synopsis "Simple and Fast Multimedia Library") -- cgit v1.2.3 From cada868c2a7186f55ca2d99ed52bb15295b4f736 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 15:54:10 +0200 Subject: gnu: Add stb-image. * gnu/packages/stb.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Register it. --- gnu/local.mk | 1 + gnu/packages/stb.scm | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 gnu/packages/stb.scm diff --git a/gnu/local.mk b/gnu/local.mk index be435c5288..6a731ea0e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -403,6 +403,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/sssd.scm \ %D%/packages/stalonetray.scm \ %D%/packages/statistics.scm \ + %D%/packages/stb.scm \ %D%/packages/storage.scm \ %D%/packages/suckless.scm \ %D%/packages/swig.scm \ diff --git a/gnu/packages/stb.scm b/gnu/packages/stb.scm new file mode 100644 index 0000000000..dcb210f7db --- /dev/null +++ b/gnu/packages/stb.scm @@ -0,0 +1,97 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Marius Bakke +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages stb) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module ((guix licenses) #:select (expat public-domain))) + +(define stb + ;; stb is a collection of libraries developed within the same repository. + ;; When updating this, remember to change versions below as appropriate. + (let ((commit "e6afb9cbae4064da8c3e69af3ff5c4629579c1d2") + (revision "0")) + (package + (name "stb") + (home-page "https://github.com/nothings/stb") + (version (git-version "0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit commit))) + (sha256 + (base32 + "079nsn9bnb8c0vfq26g5l53q6gzx19a5x9q2nb55mpcljxsgxnmf")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + `(#:modules ((ice-9 ftw) + (ice-9 regex) + (srfi srfi-26) + ,@%gnu-build-system-modules) + #:phases (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'check + (lambda _ + (invoke "make" "-C" "tests" "CC=gcc"))) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (files (make-regexp "\\.(c|h|md)$"))) + (for-each (lambda (file) + (install-file file out)) + (scandir "." (cut regexp-exec files <>))) + #t)))))) + (synopsis "Single file libraries for C/C++") + (description + "This package contains a variety of small independent libraries for +the C programming language.") + ;; The user can choose either license. + (license (list expat public-domain))))) + +(define (make-stb-header-package name version description) + (package + (inherit stb) + (name name) + (version version) + (source #f) + (inputs `(("stb" ,stb))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((stb (assoc-ref %build-inputs "stb")) + (lib (string-join (string-split ,name #\-) "_")) + (out (assoc-ref %outputs "out"))) + (install-file (string-append stb "/" lib ".h") + (string-append out "/include")) + #t)))) + (description description))) + +;; TODO: These descriptions are not translatable! They should be +;; converted to macros as outlined in . +(define-public stb-image + (make-stb-header-package + "stb-image" "2.19" + "stb-image is a small and self-contained library for image loading or +decoding from file or memory. A variety of formats are supported.")) -- cgit v1.2.3 From ecb1194bbc6cf76544730d46813a8b341e3d7b2a Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 15:54:23 +0200 Subject: gnu: Add stb-image-write. * gnu/packages/stb.scm (stb-image-write): New public variable. --- gnu/packages/stb.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/stb.scm b/gnu/packages/stb.scm index dcb210f7db..df31bd0f86 100644 --- a/gnu/packages/stb.scm +++ b/gnu/packages/stb.scm @@ -95,3 +95,9 @@ the C programming language.") "stb-image" "2.19" "stb-image is a small and self-contained library for image loading or decoding from file or memory. A variety of formats are supported.")) + +(define-public stb-image-write + (make-stb-header-package + "stb-image-write" "1.09" + "stb-image-write is a small library for writing image files to the +C@tie{}@code{stdio} interface.")) -- cgit v1.2.3 From 67c127c9cbef57d43f1aa73c50a87f0b1a1e17de Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 15:19:07 +0200 Subject: gnu: sfml: Remove all bundled dependencies. * gnu/packages/game-development.scm (sfml)[source](snippet): New field. [inputs]: Add STB-IMAGE and STB-IMAGE-WRITE. --- gnu/packages/game-development.scm | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 4610e389bd..33e2b4a16c 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -74,6 +74,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages qt) #:use-module (gnu packages sdl) + #:use-module (gnu packages stb) #:use-module (gnu packages texinfo) #:use-module (gnu packages tls) #:use-module (gnu packages video) @@ -451,7 +452,13 @@ clone.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab")))) + "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Ensure system libraries are used. + (delete-file-recursively "extlibs") + #t)))) (build-system cmake-build-system) (arguments '(#:configure-flags @@ -468,7 +475,9 @@ clone.") ("libxrandr" ,libxrandr) ("eudev" ,eudev) ("libjpeg" ,libjpeg) - ("libsndfile" ,libsndfile))) + ("libsndfile" ,libsndfile) + ("stb-image" ,stb-image) + ("stb-image-write" ,stb-image-write))) (propagated-inputs ;; In Requires.private of pkg-config files. `(("flac" ,flac) -- cgit v1.2.3 From ac83cf22c27aff19d4137ce14058bd7a3f407516 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sat, 14 Jul 2018 19:03:27 +0200 Subject: gnu: Add bsdiff. * gnu/packages/compression.scm (bsdiff): New public variable. --- gnu/packages/compression.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 0d73886109..2e62cd76ea 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -981,6 +981,43 @@ provides encoder and a decoder libraries: libbrotlienc and libbrotlidec, respectively, based on the reference implementation from Google.") (license license:expat)))) +(define-public bsdiff + (package + (name "bsdiff") + (version "4.3") + (home-page "https://www.daemonology.net/bsdiff/") + (source (origin + (method url-fetch) + (uri (string-append home-page name "-" version ".tar.gz")) + (sha256 + (base32 + "0j2zm3z271x5aw63mwhr3vymzn45p2vvrlrpm9cz2nywna41b0hq")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags (list "INSTALL=install" "CC=gcc" + (string-append "PREFIX=" (assoc-ref %outputs "out"))) + #:phases (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'fix-Makefile + (lambda _ + (substitute* "Makefile" + ;; Adjust syntax to make it compatible with GNU Make. + (("^\\.") "") + ;; Help install(1) create the target directory. + (("\\$\\{PREFIX\\}") "-D -t ${PREFIX}")) + #t))) + #:tests? #f)) ;no tests + (inputs + `(("bzip2" ,bzip2))) + (synopsis "Patch binary files") + (description + "@command{bsdiff} and @command{bspatch} are tools for building and +applying patches to binary files. By using suffix sorting (specifically +Larsson and Sadakane's @code{qsufsort}) and taking advantage of how +executable files change, bsdiff routinely produces binary patches 50-80% +smaller than those produced by @code{Xdelta}.") + (license license:bsd-2))) + (define-public cabextract (package (name "cabextract") -- cgit v1.2.3 From 7c9e27e8b66cd1239c5aabd9c24d237710654a27 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Jul 2018 15:11:04 +0200 Subject: gnu: ffmpeg@2.8: Update to 2.8.15. * gnu/packages/video.scm (ffmpeg-2.8): Update to 2.8.15. --- 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 8baba655e8..749d7e6588 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -800,14 +800,14 @@ audio/video codec library.") (define-public ffmpeg-2.8 (package (inherit ffmpeg) - (version "2.8.14") + (version "2.8.15") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "05m1272r5qa2r0ym5vq4figdfnpvcys1fgb1026n5s6xdjd1s1pg")))) + "065xbvnfmxfbfrc14cavpqyd2slil99vcjksw4ndb7w8zdh0wp3v")))) (arguments (substitute-keyword-arguments (package-arguments ffmpeg) ((#:configure-flags flags) -- cgit v1.2.3 From 1a149de74816cf025c08d4b3d22cfa39ed0577ee Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Jul 2018 15:11:30 +0200 Subject: gnu: rng-tools: Update to 6.3.1. * gnu/packages/linux.scm (rng-tools): Update to 6.3.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 277c2465bb..d9c0985697 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -3590,7 +3590,7 @@ The following service daemons are also provided: (define-public rng-tools (package (name "rng-tools") - (version "6.3") + (version "6.3.1") (source (origin (method url-fetch) (uri (string-append "https://github.com/nhorman/rng-tools/" @@ -3598,7 +3598,7 @@ The following service daemons are also provided: (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1lc2kqw3idwmjyjnf16sqz0f4r1w7c638n4la1j1n5c3188q26bv")))) + "04p7wvcm389s21y9mq8ss6z2szxi4nfrfixzwqjkq2qciz705i4s")))) (build-system gnu-build-system) (arguments `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB. -- cgit v1.2.3 From b8b15ea0e903af359b22dd4e2b991445e1a127bc Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 17 Jul 2018 15:13:39 +0200 Subject: gnu: whois: Update to 5.3.2. * gnu/packages/networking.scm (whois): Update to 5.3.2. --- 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 ebf0e86f12..90967b9b1f 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -534,7 +534,7 @@ and up to 1 Mbit/s downstream.") (define-public whois (package (name "whois") - (version "5.3.1") + (version "5.3.2") (source (origin (method url-fetch) @@ -542,7 +542,7 @@ and up to 1 Mbit/s downstream.") name "_" version ".tar.xz")) (sha256 (base32 - "0gl98l26dcgmlap0pxllbv4b9n2fr5b7zml3ijf8sf3a60qsskpg")))) + "0m3352d5b0ragygbqjbaimghrbx4va2rixa34j5a1g3jj6l4nwbr")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no test suite -- cgit v1.2.3 From d212b9d4d0c42643d4e11965b8bf5649dcb24175 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 14:56:39 -0400 Subject: gnu: CUPS: Update to 2.2.8 [fixes CVE-2018-{4180,4181}]. * gnu/packages/cups.scm (cups-minimal)[replacement]: New field. (cups-minimal-2.2.8): New variable. (cups): Use package/inherit. --- gnu/packages/cups.scm | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index d365587022..bfc587a6fb 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -174,6 +174,7 @@ filters for the PDF-centric printing workflow introduced by OpenPrinting.") (define-public cups-minimal (package (name "cups-minimal") + (replacement cups-minimal-2.2.8) (version "2.2.6") (source (origin @@ -234,8 +235,21 @@ describe printer capabilities and features, and a wide variety of generic and device-specific programs to convert and print many types of files.") (license license:gpl2))) +(define-public cups-minimal-2.2.8 + (package + (inherit cups-minimal) + (version "2.2.8") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/apple/cups/releases/download/v" + version "/cups-" version "-source.tar.gz")) + (sha256 + (base32 + "1r7r7b3nqpzc1a9dczqpj2mr8rkcwf01676v11sp4j7w4qfzqs1r")))))) + (define-public cups - (package (inherit cups-minimal) + (package/inherit cups-minimal (name "cups") (arguments `(;; Three tests fail: -- cgit v1.2.3 From 276598b69b2003a1b153aaffba5200139f97a66e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 17 Jul 2018 19:29:24 -0400 Subject: gnu: certbot, python-acme: Update to 0.26.1. * gnu/packages/tls.scm (certbot, python-acme): Update to 0.26.1. --- gnu/packages/tls.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index e89dc85d18..f1dca66552 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -520,13 +520,13 @@ netcat implementation that supports TLS.") (package (name "python-acme") ;; Remember to update the hash of certbot when updating python-acme. - (version "0.25.1") + (version "0.26.1") (source (origin (method url-fetch) (uri (pypi-uri "acme" version)) (sha256 (base32 - "0d177dhy8a7472pz9v4blrlk02d8fp6s52li7z8v3dv97pvz7da7")))) + "1glhwqj6yyb11820lspgd0gl5dqdfljn43kcy4ar5caccpsbbrw6")))) (build-system python-build-system) (arguments `(#:phases @@ -577,7 +577,7 @@ netcat implementation that supports TLS.") (uri (pypi-uri name version)) (sha256 (base32 - "0kp56gwn1bnlrag9qidhm1i5ifdp5z6y1ravh3yimfrkc4cfa8sw")))) + "0rnayqhdabm0rljxh76blqd11h51dqnwlwvql0j6xwzpccym30s9")))) (build-system python-build-system) (arguments `(,@(substitute-keyword-arguments (package-arguments python-acme) -- cgit v1.2.3 From a1e3da63cb4b9a9151849d1d4360c2a8415becb5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 23:09:37 -0400 Subject: gnu: ghostscript: Fix CVE-2018-10194. * gnu/packages/ghostscript.scm (ghostscript)[replacement]: New field. (ghostscript/fixed): New variable. * gnu/packages/patches/ghostscript-CVE-2018-10194.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/ghostscript.scm | 11 +++++ .../patches/ghostscript-CVE-2018-10194.patch | 52 ++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 gnu/packages/patches/ghostscript-CVE-2018-10194.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6a731ea0e9..e55c2bf3ba 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -714,6 +714,7 @@ dist_patch_DATA = \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ + %D%/packages/patches/ghostscript-CVE-2018-10194.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 0a6043ba65..1240b1dc16 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -132,6 +132,7 @@ printing, and psresize, for adjusting page sizes.") (define-public ghostscript (package (name "ghostscript") + (replacement ghostscript/fixed) (version "9.23") (source (origin @@ -250,6 +251,16 @@ output file formats and printers.") (home-page "https://www.ghostscript.com/") (license license:agpl3+))) +(define-public ghostscript/fixed + (hidden-package + (package + (inherit ghostscript) + (source + (origin + (inherit (package-source ghostscript)) + (patches (append (origin-patches (package-source ghostscript)) + (search-patches "ghostscript-CVE-2018-10194.patch")))))))) + (define-public ghostscript/x (package/inherit ghostscript (name (string-append (package-name ghostscript) "-with-x")) diff --git a/gnu/packages/patches/ghostscript-CVE-2018-10194.patch b/gnu/packages/patches/ghostscript-CVE-2018-10194.patch new file mode 100644 index 0000000000..242e57c27c --- /dev/null +++ b/gnu/packages/patches/ghostscript-CVE-2018-10194.patch @@ -0,0 +1,52 @@ +Fix CVE-2018-10194: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10194 +https://bugs.ghostscript.com/show_bug.cgi?id=699255 + +Patch copied from upstream source repository: + +https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=39b1e54b2968620723bf32e96764c88797714879 + +From 39b1e54b2968620723bf32e96764c88797714879 Mon Sep 17 00:00:00 2001 +From: Ken Sharp +Date: Wed, 18 Apr 2018 15:46:32 +0100 +Subject: [PATCH] pdfwrite - Guard against trying to output an infinite number + +Bug #699255 " Buffer overflow on pprintg1 due to mishandle postscript file data to pdf" + +The file uses an enormous parameter to xyxhow, causing an overflow in +the calculation of text positioning (value > 1e39). + +Since this is basically a nonsense value, and PostScript only supports +real values up to 1e38, this patch follows the same approach as for +a degenerate CTM, and treats it as 0. + +Adobe Acrobat Distiller throws a limitcheck error, so we could do that +instead if this approach proves to be a problem. +--- + devices/vector/gdevpdts.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/devices/vector/gdevpdts.c b/devices/vector/gdevpdts.c +index 848ad781f..172fe6bc3 100644 +--- a/devices/vector/gdevpdts.c ++++ b/devices/vector/gdevpdts.c +@@ -103,9 +103,14 @@ append_text_move(pdf_text_state_t *pts, double dw) + static int + set_text_distance(gs_point *pdist, double dx, double dy, const gs_matrix *pmat) + { +- int code = gs_distance_transform_inverse(dx, dy, pmat, pdist); ++ int code; + double rounded; + ++ if (dx > 1e38 || dy > 1e38) ++ code = gs_error_undefinedresult; ++ else ++ code = gs_distance_transform_inverse(dx, dy, pmat, pdist); ++ + if (code == gs_error_undefinedresult) { + /* The CTM is degenerate. + Can't know the distance in user space. +-- +2.18.0 + -- cgit v1.2.3 From 348edd91eff2c10448c4c5fc883e0cad3594adeb Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Fri, 13 Jul 2018 22:44:54 -0400 Subject: gnu: Add openbabel. * gnu/packages/chemistry.scm (openbabel): New variable. --- gnu/packages/chemistry.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 1a5086d622..a81c14b43c 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -21,10 +21,14 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (gnu packages algebra) #:use-module (gnu packages compression) #:use-module (gnu packages gv) #:use-module (gnu packages maths) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages xml) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python)) @@ -198,3 +202,40 @@ neutron scattering spectra, but also computes other quantities. The software is currently not actively maintained and works only with Python 2 and NumPy < 1.9.") (license license:cecill))) + +(define-public openbabel + (package + (name "openbabel") + (version "2.4.1") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/" name "/" name "/" + version "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + (list "-DOPENBABEL_USE_SYSTEM_INCHI=ON" + (string-append "-DINCHI_LIBRARY=" + (assoc-ref %build-inputs "inchi") + "/lib/inchi/libinchi.so.1") + (string-append "-DINCHI_INCLUDE_DIR=" + (assoc-ref %build-inputs "inchi") "/include/inchi")) + #:test-target "test")) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("eigen" ,eigen) + ("inchi" ,inchi) + ("libxml2" ,libxml2) + ("zlib" ,zlib))) + (home-page "http://openbabel.org/wiki/Main_Page") + (synopsis "Chemistry data manipulation toolbox") + (description + "Open Babel is a chemical toolbox designed to speak the many languages of +chemical data. It's a collaborative project allowing anyone to search, convert, +analyze, or store data from molecular modeling, chemistry, solid-state +materials, biochemistry, or related areas.") + (license license:gpl2))) -- cgit v1.2.3 From 06f06142a31cf017398a532544f3141b6ab970f5 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Jul 2018 00:22:24 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.141. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.141. --- 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 d9c0985697..138e8da7cc 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -429,8 +429,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.140" - "10h4k2c2ncnc1h61kikqb618dh9lp8fmzagz2ydykrdbb5jjiy82" + (make-linux-libre "4.4.141" + "0lzl0zz12r1s2r1x4bmyfhcj1mq14rm1c6npyvsj79fzz0z4z2pc" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 431936f22a50ae024a8eede8bab968809ea08b11 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Jul 2018 00:23:16 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.113. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.113. --- 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 138e8da7cc..f2af34c268 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -423,8 +423,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.112" - "1zrnbvzr7z5ky79r6hpjvn15bxmwcyi8lr7yq2nx1r8ladl8lnb0" + (make-linux-libre "4.9.113" + "12xj0ymwb0rdxnkl18xg40hiqcr5ad636xsjqz6aag2wxj8ld2xr" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 208df8ba8ab1999525310e8f2bf82b03350523c2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Jul 2018 00:24:01 -0400 Subject: gnu: linux-libre@4.14: Update to 4.14.56. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.56. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f2af34c268..c70d4c46d5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -413,8 +413,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.55") -(define %linux-libre-4.14-hash "1rlapfwkjfmyk4ahvqwqap4w9flbw2zag0r04fwrmyqz1y5ijayf") +(define %linux-libre-4.14-version "4.14.56") +(define %linux-libre-4.14-hash "15a4gsi1nsjab16qwfizc0bdn0h27w54qy2a50847i0ln4akdrzl") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version -- cgit v1.2.3 From 661e8a62f700f9bead5f40fd6e45bdf5091a462d Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Wed, 18 Jul 2018 11:39:33 +0200 Subject: gnu: Add emacs-rust-mode. * gnu/packages/emacs.scm (emacs-rust-mode): New variable. Signed-off-by: Kei Kebreau --- gnu/packages/emacs.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index aae6341465..fa790dba8a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Tim Gesthuizen ;;; Copyright © 2018 Jack Hill +;;; Copyright © 2018 Pierre-Antoine Rouby ;;; ;;; This file is part of GNU Guix. ;;; @@ -11519,3 +11520,36 @@ and 'text viewing modes' respectively.") (description "This package provides an Emacs major mode for editing AsciiDoc files. It focuses on highlighting the document to improve readability.") (license license:gpl2+))) + +(define-public emacs-rust-mode + (let ((commit + ;; Last release is old (2016), use more recent commit to get bug + ;; fixes. + "64b4a2450e4d4c47f6307851c9b2598cd2254d68") + (revision "0")) + (package + (name "emacs-rust-mode") + (version (git-version "0.3.0" revision commit)) + (source (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/rust-lang/rust-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pbz36lljgb7bdgx3h3g0pq1nss1kvn8mhk1l3mknsmynd6w4nd8")))) + (build-system emacs-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "sh" "run_rust_emacs_tests.sh")))))) + (home-page "https://github.com/rust-lang/rust-mode") + (synopsis "Major Emacs mode for editing Rust source code") + (description "This package provides a major Emacs mode for editing Rust +source code.") + (license (list license:expat + license:asl2.0))))) -- cgit v1.2.3 From 770d1f24642d9a4dff753a1e8a48e958733854e4 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 18 Jul 2018 13:30:33 -0400 Subject: gnu: znc: Update to 1.7.1 [fixes CVE-2018-{14055,14056}]. * gnu/packages/messaging.scm (znc): Update to 1.7.1. --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 1212a06eeb..503826381a 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -487,14 +487,14 @@ compromised.") (define-public znc (package (name "znc") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (string-append "http://znc.in/releases/archive/znc-" version ".tar.gz")) (sha256 (base32 - "0vxra50418bsjfdpf8vl70fijv8syvasjqdxfyjliff6k91k2zn0")))) + "1i1r1lh9q2mr1bg520zrvrlwhrhy6wibrin78wjxq1gab1qymks4")))) ;; TODO: autotools support has been deprecated, and new features like i18n ;; are only supported when building with cmake. (build-system gnu-build-system) -- cgit v1.2.3 From 16c09025878b9148fc091b828d1f016d0e1f46bf Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 18 Jul 2018 13:33:18 -0400 Subject: gnu: httpd: Update to 2.4.34 [fixes CVE-2018-{1333,8011}]. * gnu/packages/web.scm (httpd): Update to 2.4.34. --- 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 7e6b65d550..b76f111954 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -122,14 +122,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.33") + (version "2.4.34") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "01bghiq4pbgjbgd6gic0nb8bbk6mfpwx3gcsbf21f3dhb4c520ny")))) + "1w1q2smdgf6ln0x741lk5pv5r0gzrxj2iza1vslhifzy65bcjlzs")))) (build-system gnu-build-system) (native-inputs `(("pcre" ,pcre "bin"))) ;for 'pcre-config' (inputs `(("apr" ,apr) -- cgit v1.2.3 From 46978ff64f55ae09b578b73c52c789eabb3fe5c1 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Jul 2018 13:39:03 -0400 Subject: gnu: linux-libre: Update to 4.17.7. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.17.7. (%linux-libre-hash): Update hash. (linux-libre)[source]: Add upstream patch to fix i686. --- gnu/packages/linux.scm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c70d4c46d5..dc6c6b1239 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -404,14 +404,25 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.17.6") -(define %linux-libre-hash "0d48r5jpj71ikdalz5z756snwq54cpnwnba8bbhg8r2ri3770wcm") +(define %linux-libre-version "4.17.7") +(define %linux-libre-hash "1815h0kf6c07zp9782v9n9a21x8wzdr4ws190nqp7z2xyip6xfjj") (define-public linux-libre (make-linux-libre %linux-libre-version %linux-libre-hash %linux-compatible-systems - #:configuration-file kernel-config)) + #:configuration-file kernel-config + #:patches + (list + (origin + (method url-fetch) + (uri "https://git.kernel.org/pub/scm/linux/kernel/git/\ +stable/linux.git/patch/?id=27d8b7daf73827e8263ab0b740da6ebdda9f9d56") + (file-name "linux-libre-4.17.7-fix-i686.patch") + (sha256 + (base32 + "0xbv04vwhyk3wvia13ca6kbysjqwsywcj6501i2wpddawm4q23sc"))) + %boot-logo-patch))) (define %linux-libre-4.14-version "4.14.56") (define %linux-libre-4.14-hash "15a4gsi1nsjab16qwfizc0bdn0h27w54qy2a50847i0ln4akdrzl") -- cgit v1.2.3 From 363c946b36a77aa6f0e60b8c93a171d2e649164f Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Wed, 18 Jul 2018 21:15:18 +0200 Subject: gnu: services: Fix openssh service start error. * gnu/services/ssh.scm (openssh-shepherd-service): Require loopback. --- gnu/services/ssh.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index f1d2be3f6b..f158fdf01f 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -455,7 +455,7 @@ of user-name/file-like tuples." (list (shepherd-service (documentation "OpenSSH server.") - (requirement '(syslogd)) + (requirement '(syslogd loopback)) (provision '(ssh-daemon)) (start #~(make-forkexec-constructor #$openssh-command #:pid-file #$pid-file)) -- cgit v1.2.3 From 324c049ff68997415785719fd3216cc98b6a8551 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 18 Jul 2018 19:38:49 -0400 Subject: gnu: VLC: Update to 3.0.3-1 [fixes CVE-2018-11529]. * gnu/packages/video.scm (vlc): Update to 3.0.3-1. --- gnu/packages/video.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 749d7e6588..820a7fc4ce 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -820,15 +820,16 @@ audio/video codec library.") (define-public vlc (package (name "vlc") - (version "3.0.3") + (version "3.0.3-1") (source (origin (method url-fetch) (uri (string-append "https://download.videolan.org/pub/videolan/vlc/" - version "/vlc-" version ".tar.xz")) + (car (string-split version #\-)) + "/vlc-" version ".tar.xz")) (sha256 (base32 - "0lavzly8l0ll1d9iris9cnirgcs77g48lxj14058dxqkvd5v1a4v")))) + "1p7qvdvg9w4lz8vckzhn6bswfkq3qw7fqkgvwjcskdgc266xx7dw")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) -- cgit v1.2.3 From 7da1db5b5799a8e18eeaf1a391d567e48028d87e Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Jul 2018 22:12:57 -0400 Subject: gnu: linux-libre: Update to 4.17.8. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.17.8. (%linux-libre-hash): Update hash. (linux-libre): Remove patch. --- gnu/packages/linux.scm | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index dc6c6b1239..ad2ce2588d 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -404,25 +404,14 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.17.7") -(define %linux-libre-hash "1815h0kf6c07zp9782v9n9a21x8wzdr4ws190nqp7z2xyip6xfjj") +(define %linux-libre-version "4.17.8") +(define %linux-libre-hash "0anq35i9x0kslz42g73vq8wbg56rmrcb38j8mgnhc5c99037gkwr") (define-public linux-libre (make-linux-libre %linux-libre-version %linux-libre-hash %linux-compatible-systems - #:configuration-file kernel-config - #:patches - (list - (origin - (method url-fetch) - (uri "https://git.kernel.org/pub/scm/linux/kernel/git/\ -stable/linux.git/patch/?id=27d8b7daf73827e8263ab0b740da6ebdda9f9d56") - (file-name "linux-libre-4.17.7-fix-i686.patch") - (sha256 - (base32 - "0xbv04vwhyk3wvia13ca6kbysjqwsywcj6501i2wpddawm4q23sc"))) - %boot-logo-patch))) + #:configuration-file kernel-config)) (define %linux-libre-4.14-version "4.14.56") (define %linux-libre-4.14-hash "15a4gsi1nsjab16qwfizc0bdn0h27w54qy2a50847i0ln4akdrzl") -- cgit v1.2.3 From d4c06f32800adc7ea51fa53327e3aeb18a2016a6 Mon Sep 17 00:00:00 2001 From: Rouby Pierre-Antoine Date: Tue, 17 Jul 2018 13:22:42 +0200 Subject: gnu: julia: Fix 'llvm' version. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes a build failure with LLVM 6.0.x. * gnu/packages/julia.scm (julia)[inputs]: Use LLVM-3.9.1 instead of LLVM. Signed-off-by: Ludovic Courtès --- gnu/packages/julia.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/julia.scm b/gnu/packages/julia.scm index 6fb1eee6cc..39e2322739 100644 --- a/gnu/packages/julia.scm +++ b/gnu/packages/julia.scm @@ -314,7 +314,7 @@ "USE_SYSTEM_LIBGIT2=1" "USE_SYSTEM_OPENSPECFUN=1"))) (inputs - `(("llvm" ,llvm) + `(("llvm" ,llvm-3.9.1) ;; 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 -- cgit v1.2.3 From ec83abad858a68561959a82aa0daa41c66da31d3 Mon Sep 17 00:00:00 2001 From: Eric Brown Date: Wed, 18 Jul 2018 14:29:10 -0500 Subject: gnu: Add r-txtplot. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/statistics.scm (r-txtplot): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/statistics.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm index 8be3ce1a80..d8c1e6df33 100644 --- a/gnu/packages/statistics.scm +++ b/gnu/packages/statistics.scm @@ -5642,6 +5642,26 @@ table made by the command @code{show256Colors()}. You can also set the colors to any arbitrary string. In this case, it is up to you to set valid values.") (license license:gpl3+))) +(define-public r-txtplot + (package + (name "r-txtplot") + (version "1.0-3") + (source + (origin + (method url-fetch) + (uri (cran-uri "txtplot" version)) + (sha256 + (base32 + "1949ab1bzvysdb79g8x1gaknj0ih3d6g63pv9512h5m5l3a6c31h")))) + (build-system r-build-system) + (home-page "https://cran.r-project.org/web/packages/txtplot/") + (synopsis "Text-based plotting") + (description "This package provides functions to produce rudimentary ASCII +graphics directly in the terminal window. This package provides a basic +plotting function (and equivalents of curve, density, acf and barplot) as well +as a boxplot function.") + (license license:lgpl3+))) + (define-public java-jdistlib (package (name "java-jdistlib") -- cgit v1.2.3 From b94b698d4ed4bc478c56e507d53e5284d4f63073 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Jul 2018 19:28:07 +0200 Subject: serialization: Add 'write-file-tree'. * guix/serialization.scm (write-contents-from-port): New procedure. (write-contents): Write in terms of 'write-contents-from-port'. (filter/sort-directory-entries, write-file-tree): New procedures. (write-file): Rewrite in terms of 'write-file-tree'. * tests/nar.scm ("write-file-tree + restore-file"): New test. --- guix/serialization.scm | 140 ++++++++++++++++++++++++++++++++++++++----------- tests/nar.scm | 62 +++++++++++++++++++++- 2 files changed, 169 insertions(+), 33 deletions(-) diff --git a/guix/serialization.scm b/guix/serialization.scm index b41a0a09d1..129374f541 100644 --- a/guix/serialization.scm +++ b/guix/serialization.scm @@ -47,6 +47,7 @@ nar-read-error-token write-file + write-file-tree restore-file)) ;;; Comment: @@ -211,14 +212,19 @@ substitute invalid byte sequences with question marks. This is a (lambda () (close-port port)))))) - (write-string "contents" p) - (write-long-long size p) (call-with-binary-input-file file - ;; Use 'sendfile' when P is a file port. - (if (file-port? p) - (cut sendfile p <> size 0) - (cut dump <> p size))) - (write-padding size p)) + (lambda (input) + (write-contents-from-port input p size)))) + +(define (write-contents-from-port input output size) + "Write SIZE bytes from port INPUT to port OUTPUT." + (write-string "contents" output) + (write-long-long size output) + ;; Use 'sendfile' when both OUTPUT and INPUT are file ports. + (if (and (file-port? output) (file-port? input)) + (sendfile output input size 0) + (dump input output size)) + (write-padding size output)) (define (read-contents in out) "Read the contents of a file from the Nar at IN, write it to OUT, and return @@ -263,47 +269,113 @@ the size in bytes." sub-directories of FILE as needed. For each directory entry, call (SELECT? FILE STAT), where FILE is the entry's absolute file name and STAT is the result of 'lstat'; exclude entries for which SELECT? does not return true." + (write-file-tree file port + #:file-type+size + (lambda (file) + (let* ((stat (lstat file)) + (size (stat:size stat))) + (case (stat:type stat) + ((directory) + (values 'directory size)) + ((regular) + (values (if (zero? (logand (stat:mode stat) + #o100)) + 'regular + 'executable) + size)) + (else + (values (stat:type stat) size))))) ;bah! + #:file-port (cut open-file <> "r0b") + #:symlink-target readlink + + #:directory-entries + (lambda (directory) + ;; 'scandir' defaults to 'string-locale '("." ".."))) + string '("." "..")) lst) + string '("." ".."))) string +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -152,6 +152,66 @@ (test-begin "nar") +(test-assert "write-file-tree + restore-file" + (let* ((file1 (search-path %load-path "guix.scm")) + (file2 (search-path %load-path "guix/base32.scm")) + (file3 "#!/bin/something") + (output (string-append %test-dir "/output"))) + (dynamic-wind + (lambda () #t) + (lambda () + (define-values (port get-bytevector) + (open-bytevector-output-port)) + (write-file-tree "root" port + #:file-type+size + (match-lambda + ("root" + (values 'directory 0)) + ("root/foo" + (values 'regular (stat:size (stat file1)))) + ("root/lnk" + (values 'symlink 0)) + ("root/dir" + (values 'directory 0)) + ("root/dir/bar" + (values 'regular (stat:size (stat file2)))) + ("root/dir/exe" + (values 'executable (string-length file3)))) + #:file-port + (match-lambda + ("root/foo" (open-input-file file1)) + ("root/dir/bar" (open-input-file file2)) + ("root/dir/exe" (open-input-string file3))) + #:symlink-target + (match-lambda + ("root/lnk" "foo")) + #:directory-entries + (match-lambda + ("root" '("foo" "dir" "lnk")) + ("root/dir" '("bar" "exe")))) + (close-port port) + + (rm-rf %test-dir) + (mkdir %test-dir) + (restore-file (open-bytevector-input-port (get-bytevector)) + output) + (and (file=? (string-append output "/foo") file1) + (string=? (readlink (string-append output "/lnk")) + "foo") + (file=? (string-append output "/dir/bar") file2) + (string=? (call-with-input-file (string-append output "/dir/exe") + get-string-all) + file3) + (> (logand (stat:mode (lstat (string-append output "/dir/exe"))) + #o100) + 0) + (equal? '("." ".." "bar" "exe") + (scandir (string-append output "/dir"))) + (equal? '("." ".." "dir" "foo" "lnk") + (scandir output)))) + (lambda () + (false-if-exception (rm-rf %test-dir)))))) + (test-assert "write-file supports non-file output ports" (let ((input (string-append (dirname (search-path %load-path "guix.scm")) "/guix")) -- cgit v1.2.3 From 7f11efbac7a13898bd925d2ef1e9d26cb0e22ade Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 09:55:49 +0200 Subject: store: Add 'add-file-tree-to-store'. * guix/store.scm (%not-slash): New variable. (add-file-tree-to-store, interned-file-tree): New procedures. * tests/store.scm ("add-file-tree-to-store"): New test. --- guix/store.scm | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ tests/store.scm | 46 ++++++++++++++++++++++++++ 2 files changed, 146 insertions(+) diff --git a/guix/store.scm b/guix/store.scm index cc5c24a77d..f41a1e2690 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -78,6 +78,7 @@ add-data-to-store add-text-to-store add-to-store + add-file-tree-to-store binary-file build-things build @@ -137,6 +138,7 @@ set-current-system text-file interned-file + interned-file-tree %store-prefix store-path @@ -951,6 +953,101 @@ where FILE is the entry's absolute file name and STAT is the result of (hash-set! cache args path) path)))))) +(define %not-slash + (char-set-complement (char-set #\/))) + +(define* (add-file-tree-to-store server tree + #:key + (hash-algo "sha256") + (recursive? #t)) + "Add the given TREE to the store on SERVER. TREE must be an entry such as: + + (\"my-tree\" directory + (\"a\" regular (data \"hello\")) + (\"b\" symlink \"a\") + (\"c\" directory + (\"d\" executable (file \"/bin/sh\")))) + +This is a generalized version of 'add-to-store'. It allows you to reproduce +an arbitrary directory layout in the store without creating a derivation." + + ;; Note: The format of TREE was chosen to allow trees to be compared with + ;; 'equal?', which in turn allows us to memoize things. + + (define root + ;; TREE is a single entry. + (list tree)) + + (define basename + (match tree + ((name . _) name))) + + (define (lookup file) + (let loop ((components (string-tokenize file %not-slash)) + (tree root)) + (match components + ((basename) + (assoc basename tree)) + ((head . rest) + (loop rest + (match (assoc-ref tree head) + (('directory . entries) entries))))))) + + (define (file-type+size file) + (match (lookup file) + ((_ (and type (or 'directory 'symlink)) . _) + (values type 0)) + ((_ type ('file file)) + (values type (stat:size (stat file)))) + ((_ type ('data (? string? data))) + (values type (string-length data))) + ((_ type ('data (? bytevector? data))) + (values type (bytevector-length data))))) + + (define (file-port file) + (match (lookup file) + ((_ (or 'regular 'executable) content) + (match content + (('file (? string? file)) + (open-file file "r0b")) + (('data (? string? str)) + (open-input-string str)) + (('data (? bytevector? bv)) + (open-bytevector-input-port bv)))))) + + (define (symlink-target file) + (match (lookup file) + ((_ 'symlink target) target))) + + (define (directory-entries directory) + (match (lookup directory) + ((_ 'directory (names . _) ...) names))) + + (define cache + (nix-server-add-to-store-cache server)) + + (or (hash-ref cache tree) + (begin + ;; We don't use the 'operation' macro so we can use 'write-file-tree' + ;; instead of 'write-file'. + (record-operation 'add-to-store/tree) + (let ((port (nix-server-socket server))) + (write-int (operation-id add-to-store) port) + (write-string basename port) + (write-int 1 port) ;obsolete, must be #t + (write-int (if recursive? 1 0) port) + (write-string hash-algo port) + (write-file-tree basename port + #:file-type+size file-type+size + #:file-port file-port + #:symlink-target symlink-target + #:directory-entries directory-entries) + (let loop ((done? (process-stderr server))) + (or done? (loop (process-stderr server)))) + (let ((result (read-store-path port))) + (hash-set! cache tree result) + result))))) + (define build-things (let ((build (operation (build-things (string-list things) (integer mode)) @@ -1402,6 +1499,9 @@ where FILE is the entry's absolute file name and STAT is the result of #:select? select?) store))) +(define interned-file-tree + (store-lift add-file-tree-to-store)) + (define build ;; Monadic variant of 'build-things'. (store-lift build-things)) diff --git a/tests/store.scm b/tests/store.scm index afecec940a..47fab0df18 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -210,6 +210,52 @@ (valid-path? store path) (file-exists? path))))) +(test-equal "add-file-tree-to-store" + `(42 + ("." directory #t) + ("./bar" directory #t) + ("./foo" directory #t) + ("./foo/a" regular "file a") + ("./foo/b" symlink "a") + ("./foo/c" directory #t) + ("./foo/c/p" regular "file p") + ("./foo/c/q" directory #t) + ("./foo/c/q/x" regular "#!/bin/sh\nexit 42") + ("./foo/c/q/y" symlink "..") + ("./foo/c/q/z" directory #t)) + (let* ((tree `("file-tree" directory + ("foo" directory + ("a" regular (data "file a")) + ("b" symlink "a") + ("c" directory + ("p" regular (data ,(string->utf8 "file p"))) + ("q" directory + ("x" executable + (data "#!/bin/sh\nexit 42")) + ("y" symlink "..") + ("z" directory)))) + ("bar" directory))) + (result (add-file-tree-to-store %store tree))) + (cons (status:exit-val (system* (string-append result "/foo/c/q/x"))) + (with-directory-excursion result + (map (lambda (file) + (let ((type (stat:type (lstat file)))) + `(,file ,type + ,(match type + ((or 'regular 'executable) + (call-with-input-file file + get-string-all)) + ('symlink (readlink file)) + ('directory #t))))) + (find-files "." #:directories? #t)))))) + +(test-equal "add-file-tree-to-store, flat" + "Hello, world!" + (let* ((tree `("flat-file" regular (data "Hello, world!"))) + (result (add-file-tree-to-store %store tree))) + (and (file-exists? result) + (call-with-input-file result get-string-all)))) + (test-assert "references" (let* ((t1 (add-text-to-store %store "random1" (random-text))) -- cgit v1.2.3 From 4d20d87b53930c68bab1b6d8865402260c351145 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 10:14:00 +0200 Subject: gexp: Remove unnecessary 'mlet'. * guix/gexp.scm (imported-modules): Use 'let' instead of 'mlet'. --- guix/gexp.scm | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index cc3613f6f6..3414b81dc6 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1098,18 +1098,14 @@ by an arrow followed by a file-like object. For example: In this example, the first two modules are taken from MODULE-PATH, and the last one is created from the given object." - (mlet %store-monad ((files - (mapm %store-monad - (match-lambda - (((module ...) '=> file) - (return - (cons (module->source-file-name module) - file))) - ((module ...) - (let ((f (module->source-file-name module))) - (return - (cons f (search-path* module-path f)))))) - modules))) + (let ((files (map (match-lambda + (((module ...) '=> file) + (cons (module->source-file-name module) + file)) + ((module ...) + (let ((f (module->source-file-name module))) + (cons f (search-path* module-path f))))) + modules))) (imported-files files #:name name #:system system #:guile guile #:deprecation-warnings deprecation-warnings))) -- cgit v1.2.3 From 8df2eca6b0915942ea087d7c5981514c532d47a2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 11:17:55 +0200 Subject: gexp: 'imported-files' no longer creates a derivation by default. * guix/gexp.scm (gexp->derivation): Add #:import-creates-derivation?. Pass #:derivation? to 'imported-modules' and 'compiled-modules'. In -L argument, check whether MODULES is a derivation. (%not-slash): New variable. (file-mapping->tree): New procedure. (imported-files): Rename to... (imported-files/derivation): ... this. (imported-files): New procedure. Rewrite in terms of 'interned-file-tree' when possible; add #:derivation? parameter. (imported-modules, compiled-modules): Add #:derivation? parameter and pass it to 'imported-files'. * guix/packages.scm (patch-and-repack): Pass #:import-creates-derivation? to 'gexp->derivation'. * tests/gexp.scm ("imported-files"): Adjust to no longer expect a derivation. --- guix/gexp.scm | 117 +++++++++++++++++++++++++++++++++++++++++++++++------- guix/packages.scm | 3 ++ tests/gexp.scm | 20 +++++----- 3 files changed, 115 insertions(+), 25 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 3414b81dc6..19d90f5eee 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -601,6 +601,12 @@ names and file names suitable for the #:allowed-references argument to allowed-references disallowed-references leaked-env-vars local-build? (substitutable? #t) + + ;; TODO: This parameter is transitional; it's here + ;; to avoid a full rebuild. Remove it on the next + ;; rebuild cycle. + import-creates-derivation? + deprecation-warnings (script-name (string-append name "-builder"))) "Return a derivation NAME that runs EXP (a gexp) with GUILE-FOR-BUILD (a @@ -695,6 +701,8 @@ The other arguments are as for 'derivation'." extensions)) (modules (if (pair? %modules) (imported-modules %modules + #:derivation? + import-creates-derivation? #:system system #:module-path module-path #:guile guile-for-build @@ -703,6 +711,8 @@ The other arguments are as for 'derivation'." (return #f))) (compiled (if (pair? %modules) (compiled-modules %modules + #:derivation? + import-creates-derivation? #:system system #:module-path module-path #:extensions extensions @@ -735,7 +745,9 @@ The other arguments are as for 'derivation'." "/bin/guile") `("--no-auto-compile" ,@(if (pair? %modules) - `("-L" ,(derivation->output-path modules) + `("-L" ,(if (derivation? modules) + (derivation->output-path modules) + modules) "-C" ,(derivation->output-path compiled)) '()) ,@(append-map extension-flags exts) @@ -1013,6 +1025,49 @@ execution environment." ;;; Module handling. ;;; +(define %not-slash + (char-set-complement (char-set #\/))) + +(define (file-mapping->tree mapping) + "Convert MAPPING, an alist like: + + ((\"guix/build/utils.scm\" . \"…/utils.scm\")) + +to a tree suitable for 'interned-file-tree'." + (let ((mapping (map (match-lambda + ((destination . source) + (cons (string-tokenize destination + %not-slash) + source))) + mapping))) + (fold (lambda (pair result) + (match pair + ((destination . source) + (let loop ((destination destination) + (result result)) + (match destination + ((file) + (let* ((mode (stat:mode (stat source))) + (type (if (zero? (logand mode #o100)) + 'regular + 'executable))) + (alist-cons file + `(,type (file ,source)) + result))) + ((file rest ...) + (let ((directory (assoc-ref result file))) + (alist-cons file + `(directory + ,@(loop rest + (match directory + (('directory . entries) entries) + (#f '())))) + (if directory + (alist-delete file result) + result))))))))) + '() + mapping))) + (define %utils-module ;; This file provides 'mkdir-p', needed to implement 'imported-files' and ;; other primitives below. Note: We give the file name relative to this @@ -1021,18 +1076,18 @@ execution environment." (local-file "build/utils.scm" "build-utils.scm")) -(define* (imported-files files - #:key (name "file-import") - (system (%current-system)) - (guile (%guile-for-build)) - - ;; XXX: The only reason we have - ;; #:deprecation-warnings is because (guix build - ;; utils), which we use here, relies on _IO*, which - ;; is deprecated in 2.2. On the next full-rebuild - ;; cycle, we should disable such warnings - ;; unconditionally. - (deprecation-warnings #f)) +(define* (imported-files/derivation files + #:key (name "file-import") + (system (%current-system)) + (guile (%guile-for-build)) + + ;; XXX: The only reason we have + ;; #:deprecation-warnings is because (guix + ;; build utils), which we use here, relies + ;; on _IO*, which is deprecated in 2.2. On + ;; the next full-rebuild cycle, we should + ;; disable such warnings unconditionally. + (deprecation-warnings #f)) "Return a derivation that imports FILES into STORE. FILES must be a list of (FINAL-PATH . FILE) pairs. Each FILE is mapped to FINAL-PATH in the resulting store path. FILE can be either a file name, or a file-like object, @@ -1081,8 +1136,38 @@ as returned by 'local-file' for example." (else '()))))) +(define* (imported-files files + #:key (name "file-import") + + ;; TODO: Remove this parameter on the next rebuild + ;; cycle. + (derivation? #f) + + ;; The following parameters make sense when creating + ;; an actual derivation. + (system (%current-system)) + (guile (%guile-for-build)) + (deprecation-warnings #f)) + "Import FILES into the store and return the resulting derivation or store +file name (a derivation is created if and only if some elements of FILES are +file-like objects and not local file names.) FILES must be a list +of (FINAL-PATH . FILE) pairs. Each FILE is mapped to FINAL-PATH in the +resulting store path. FILE can be either a file name, or a file-like object, +as returned by 'local-file' for example." + (if (or derivation? + (any (match-lambda + ((_ . (? struct? source)) #t) + (_ #f)) + files)) + (imported-files/derivation files #:name name + #:system system #:guile guile + #:deprecation-warnings deprecation-warnings) + (interned-file-tree `(,name directory + ,@(file-mapping->tree files))))) + (define* (imported-modules modules #:key (name "module-import") + (derivation? #f) ;TODO: remove on next rebuild (system (%current-system)) (guile (%guile-for-build)) (module-path %load-path) @@ -1106,12 +1191,15 @@ last one is created from the given object." (let ((f (module->source-file-name module))) (cons f (search-path* module-path f))))) modules))) - (imported-files files #:name name #:system system + (imported-files files #:name name + #:derivation? derivation? + #:system system #:guile guile #:deprecation-warnings deprecation-warnings))) (define* (compiled-modules modules #:key (name "module-import-compiled") + (derivation? #f) ;TODO: remove on next rebuild (system (%current-system)) (guile (%guile-for-build)) (module-path %load-path) @@ -1131,6 +1219,7 @@ they can refer to each other." (not (equal? module-path %load-path)))) (mlet %store-monad ((modules (imported-modules modules + #:derivation? derivation? #:system system #:guile guile #:module-path diff --git a/guix/packages.scm b/guix/packages.scm index c762fa7c39..a220b9c476 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -646,6 +646,9 @@ specifies modules in scope when evaluating SNIPPET." (let ((name (tarxz-name original-file-name))) (gexp->derivation name build + ;; TODO: Remove this on the next rebuild cycle. + #:import-creates-derivation? #t + #:graft? #f #:system system #:deprecation-warnings #t ;to avoid a rebuild diff --git a/tests/gexp.scm b/tests/gexp.scm index 391a0f8be5..c89d0c4855 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -635,18 +635,16 @@ "guix/derivations.scm")) ("p/q" . ,(search-path %load-path "guix.scm")) ("p/z" . ,(search-path %load-path "guix/store.scm")))) - (drv (imported-files files))) + (dir (imported-files files))) (mbegin %store-monad - (built-derivations (list drv)) - (let ((dir (derivation->output-path drv))) - (return - (every (match-lambda - ((path . source) - (equal? (call-with-input-file (string-append dir "/" path) - get-bytevector-all) - (call-with-input-file source - get-bytevector-all)))) - files)))))) + (return + (every (match-lambda + ((path . source) + (equal? (call-with-input-file (string-append dir "/" path) + get-bytevector-all) + (call-with-input-file source + get-bytevector-all)))) + files))))) (test-assertm "imported-files with file-like objects" (mlet* %store-monad ((plain -> (plain-file "foo" "bar!")) -- cgit v1.2.3 From e529d46828c359b449fc570bdc293fc12534647c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 11:40:34 +0200 Subject: gexp: 'imported-files/derivation' can copy files instead of symlinking. * guix/gexp.scm (imported-files/derivation): Add #:symlink? and honor it. (imported-files): Pass #:symlink? to 'imported-files/derivation'. * tests/gexp.scm ("imported-files with file-like objects"): Add 'file=?' and use it instead of calling 'readlink'. --- guix/gexp.scm | 8 ++++++-- tests/gexp.scm | 11 +++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/guix/gexp.scm b/guix/gexp.scm index 19d90f5eee..ffc976d61b 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -1078,6 +1078,7 @@ to a tree suitable for 'interned-file-tree'." (define* (imported-files/derivation files #:key (name "file-import") + (symlink? #f) (system (%current-system)) (guile (%guile-for-build)) @@ -1091,7 +1092,8 @@ to a tree suitable for 'interned-file-tree'." "Return a derivation that imports FILES into STORE. FILES must be a list of (FINAL-PATH . FILE) pairs. Each FILE is mapped to FINAL-PATH in the resulting store path. FILE can be either a file name, or a file-like object, -as returned by 'local-file' for example." +as returned by 'local-file' for example. If SYMLINK? is true, create symlinks +to the source files instead of copying them." (define file-pair (match-lambda ((final-path . (? string? file-name)) @@ -1114,7 +1116,8 @@ as returned by 'local-file' for example." (for-each (match-lambda ((final-path store-path) (mkdir-p (dirname final-path)) - (symlink store-path final-path))) + ((ungexp (if symlink? 'symlink 'copy-file)) + store-path final-path))) '(ungexp files))))) ;; TODO: Pass FILES as an environment variable so that BUILD remains @@ -1160,6 +1163,7 @@ as returned by 'local-file' for example." (_ #f)) files)) (imported-files/derivation files #:name name + #:symlink? derivation? #:system system #:guile guile #:deprecation-warnings deprecation-warnings) (interned-file-tree `(,name directory diff --git a/tests/gexp.scm b/tests/gexp.scm index c89d0c4855..b22e635805 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -652,16 +652,19 @@ (files -> `(("a/b/c" . ,q-scm) ("p/q" . ,plain))) (drv (imported-files files))) + (define (file=? file1 file2) + ;; Assume deduplication is in place. + (= (stat:ino (lstat file1)) + (stat:ino (lstat file2)))) + (mbegin %store-monad (built-derivations (list drv)) (mlet %store-monad ((dir -> (derivation->output-path drv)) (plain* (text-file "foo" "bar!")) (q-scm* (interned-file q-scm "c"))) (return - (and (string=? (readlink (string-append dir "/a/b/c")) - q-scm*) - (string=? (readlink (string-append dir "/p/q")) - plain*))))))) + (and (file=? (string-append dir "/a/b/c") q-scm*) + (file=? (string-append dir "/p/q") plain*))))))) (test-equal "gexp-modules & ungexp" '((bar) (foo)) -- cgit v1.2.3 From f5db54eaa51f4fdd9cec14254e413e17bfca4cca Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 16 Jul 2018 14:45:20 +0200 Subject: self: Use the new 'imported-files'. That way, the source of most nodes is now a content-addressed store item instead of a derivation. * guix/self.scm (): New record type. (file-mapping-compiler): New procedure. (scheme-node): Use 'file-mapping' instead of 'imported-files'. (imported-files): Remove. --- guix/self.scm | 57 +++++++++++++++++++++++---------------------------------- 1 file changed, 23 insertions(+), 34 deletions(-) diff --git a/guix/self.scm b/guix/self.scm index c9c7138e65..5ad644b1df 100644 --- a/guix/self.scm +++ b/guix/self.scm @@ -112,6 +112,27 @@ GUILE-VERSION (\"2.0\" or \"2.2\"), or #f if none of the packages matches." (dependencies node-dependencies) ;list of nodes (compiled node-compiled)) ;node -> lowerable object +;; File mappings are essentially an alist as passed to 'imported-files'. +(define-record-type + (file-mapping name alist) + file-mapping? + (name file-mapping-name) + (alist file-mapping-alist)) + +(define-gexp-compiler (file-mapping-compiler (mapping ) + system target) + ;; Here we use 'imported-files', which can arrange to directly import all + ;; the files instead of creating a derivation, when possible. + (imported-files (map (match-lambda + ((destination (? local-file? file)) + (cons destination + (local-file-absolute-file-name file))) + ((destination source) + (cons destination source))) ;silliness + (file-mapping-alist mapping)) + #:name (file-mapping-name mapping) + #:system system)) + (define (node-fold proc init nodes) (let loop ((nodes nodes) (visited (setq)) @@ -166,8 +187,8 @@ must be present in the search path." (closure modules (node-modules/recursive dependencies)))) (module-files (map module->import modules)) - (source (imported-files (string-append name "-source") - (append module-files extra-files)))) + (source (file-mapping (string-append name "-source") + (append module-files extra-files)))) (node name modules source dependencies (compiled-modules name source (map car module-files) @@ -766,38 +787,6 @@ assumed to be part of MODULES." ;;; Building. ;;; -(define (imported-files name files) - ;; This is a non-monadic, simplified version of 'imported-files' from (guix - ;; gexp). - (define same-target? - (match-lambda* - (((file1 . _) (file2 . _)) - (string=? file1 file2)))) - - (define build - (with-imported-modules (source-module-closure - '((guix build utils))) - #~(begin - (use-modules (ice-9 match) - (guix build utils)) - - (mkdir (ungexp output)) (chdir (ungexp output)) - (for-each (match-lambda - ((final-path store-path) - (mkdir-p (dirname final-path)) - - ;; Note: We need regular files to be regular files, not - ;; symlinks, as this makes a difference for - ;; 'add-to-store'. - (copy-file store-path final-path))) - '#$(delete-duplicates files same-target?))))) - - ;; We're just copying files around, no need to substitute or offload it. - (computed-file name build - #:options '(#:local-build? #t - #:substitutable? #f - #:env-vars (("COLUMNS" . "200"))))) - (define* (compiled-modules name module-tree module-files #:optional (dependencies '()) -- cgit v1.2.3 From c71cd4a61fc8085ccb17169aad826d6f9ee1718b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 19 Jul 2018 17:08:53 +0200 Subject: hash: sha256 port now implements 'port-position'. * guix/hash.scm (open-sha256-port)[position]: New variable. [get-position]: New procedure. Pass it to 'make-custom-binary-output-port'. * tests/hash.scm ("open-sha256-port, hello"): Test 'port-position'. --- guix/hash.scm | 7 ++++++- tests/hash.scm | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/guix/hash.scm b/guix/hash.scm index 39834043e1..8d7ba21425 100644 --- a/guix/hash.scm +++ b/guix/hash.scm @@ -101,6 +101,7 @@ output port." (open-sha256-md)) (define digest #f) + (define position 0) (define (finalize!) (let ((ptr (md-read sha256-md 0))) @@ -114,14 +115,18 @@ output port." 0) (let ((ptr (bytevector->pointer bv offset))) (md-write sha256-md ptr len) + (set! position (+ position len)) len))) + (define (get-position) + position) + (define (close) (unless digest (finalize!))) (values (make-custom-binary-output-port "sha256" - write! #f #f + write! get-position #f close) (lambda () (unless digest diff --git a/tests/hash.scm b/tests/hash.scm index da87616eec..47dff3915b 100644 --- a/tests/hash.scm +++ b/tests/hash.scm @@ -64,12 +64,12 @@ (get))) (test-equal "open-sha256-port, hello" - %hello-sha256 + (list %hello-sha256 (string-length "hello world")) (let-values (((port get) (open-sha256-port))) (put-bytevector port (string->utf8 "hello world")) (force-output port) - (get))) + (list (get) (port-position port)))) (test-assert "port-sha256" (let* ((file (search-path %load-path "ice-9/psyntax.scm")) -- cgit v1.2.3 From 83099892e0cf0d9c59f5e1a0774331026e48baa8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 19 Jul 2018 17:12:48 +0200 Subject: deduplication: Remove 'counting-wrapper-port'. * guix/store/deduplication.scm (counting-wrapper-port): Remove. (nar-sha256): Call 'port-position' directly on PORT. --- guix/store/deduplication.scm | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/guix/store/deduplication.scm b/guix/store/deduplication.scm index 6ff4a50de5..8234819f14 100644 --- a/guix/store/deduplication.scm +++ b/guix/store/deduplication.scm @@ -31,37 +31,15 @@ #:export (nar-sha256 deduplicate)) -;; Would it be better to just make WRITE-FILE give size as well? I question -;; the general utility of this approach. -(define (counting-wrapper-port output-port) - "Some custom ports don't implement GET-POSITION at all. But if we want to -figure out how many bytes are being written, we will want to use that. So this -makes a wrapper around a port which implements GET-POSITION." - (let ((byte-count 0)) - (make-custom-binary-output-port "counting-wrapper" - (lambda (bytes offset count) - (set! byte-count - (+ byte-count count)) - (put-bytevector output-port bytes - offset count) - count) - (lambda () - byte-count) - #f - (lambda () - (close-port output-port))))) - (define (nar-sha256 file) "Gives the sha256 hash of a file and the size of the file in nar form." (let-values (((port get-hash) (open-sha256-port))) - (let ((wrapper (counting-wrapper-port port))) - (write-file file wrapper) - (force-output wrapper) - (force-output port) - (let ((hash (get-hash)) - (size (port-position wrapper))) - (close-port wrapper) - (values hash size))))) + (write-file file port) + (force-output port) + (let ((hash (get-hash)) + (size (port-position port))) + (close-port port) + (values hash size)))) (define (tempname-in directory) "Gives an unused temporary name under DIRECTORY. Not guaranteed to still be -- cgit v1.2.3 From e9ab4b40a8bf6ddf7242bc0d67b61148a4078419 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 19 Jul 2018 21:27:46 +0300 Subject: gnu: busybox: Update to 1.29.1. * gnu/packages/busybox.scm (busybox): Update to 1.29.1. [arguments]: Add custom phase to change the default value of TASKSET. --- gnu/packages/busybox.scm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/gnu/packages/busybox.scm b/gnu/packages/busybox.scm index 4cdea3a294..480b777574 100644 --- a/gnu/packages/busybox.scm +++ b/gnu/packages/busybox.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington -;;; Copyright © 2016, 2017 Efraim Flashner +;;; Copyright © 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; ;;; This file is part of GNU Guix. @@ -31,7 +31,7 @@ (define-public busybox (package (name "busybox") - (version "1.26.2") + (version "1.29.1") (source (origin (method url-fetch) (uri (string-append @@ -39,11 +39,18 @@ version ".tar.bz2")) (sha256 (base32 - "05mg6rh5smkzfwqfcazkpwy6h6555llsazikqnvwkaf17y8l8gns")))) + "1hqlr5b3bsyb6avadz1z4za6pyl32r1krnpcpwwqilhnx8q0f9gw")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases + (add-before 'configure 'disable-taskset + ;; This feature fails its tests in the build environment, + ;; was default 'n' until after 1.26.2. + (lambda _ + (substitute* "util-linux/taskset.c" + (("default y") "default n")) + #t)) (replace 'configure (lambda _ (invoke "make" "defconfig"))) (replace 'check -- cgit v1.2.3 From fbf9274b940e6eeafa44cbf3a1b9f0c596c3b51c Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Thu, 19 Jul 2018 21:29:12 +0200 Subject: gnu: php: Update to 7.2.8. * gnu/packages/php.scm (php): Update to 7.2.8. --- gnu/packages/php.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/php.scm b/gnu/packages/php.scm index 36e29bdcc2..121ffab767 100644 --- a/gnu/packages/php.scm +++ b/gnu/packages/php.scm @@ -62,7 +62,7 @@ (define-public php (package (name "php") - (version "7.2.7") + (version "7.2.8") (home-page "https://secure.php.net/") (source (origin (method url-fetch) @@ -70,7 +70,7 @@ name "-" version ".tar.xz")) (sha256 (base32 - "1w1iix3hkwlgkr83zpr2wbnjzd8lwhy02i5hp1j1zbrv7caw00gb")) + "03zv1y8ygzsir60617hinpji3f4irk79zbp3ar1b8zcapq40gfjk")) (modules '((guix build utils))) (snippet '(with-directory-excursion "ext" -- cgit v1.2.3 From 6f88285ab1b3a3df8fe8247db5fd92801ec477cf Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 19 Jul 2018 23:21:51 +0200 Subject: gnu: bitcoin-core: Update to 0.16.1. * gnu/packages/finance.scm (bitcoin-core): Update to 0.16.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 7b3706d30c..3ddaa76a4e 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -71,7 +71,7 @@ (define-public bitcoin-core (package (name "bitcoin-core") - (version "0.15.1") + (version "0.16.1") (source (origin (method url-fetch) (uri @@ -79,7 +79,7 @@ version "/bitcoin-" version ".tar.gz")) (sha256 (base32 - "1d22fgwdcn343kd95lh389hj417zwbmnhi29cij8n7wc0nz2vpil")))) + "1zkqp93yircd3pbxczxfnibkpq0sgcv5r7wg6d196b9pwgr9zd39")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) -- cgit v1.2.3 From 82549f2328c59525584b92565846217c288d8e85 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Wed, 11 Jul 2018 21:08:27 -0400 Subject: build-system/go: Use invoke instead of system*. * guix/build/go-build-system.scm (unpack, build): Use invoke. (install-source): Unconditionally return #t. (check): Use invoke and unconditionally return #t. --- guix/build/go-build-system.scm | 38 ++++++++++++++++++++------------------ 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 7c833a616f..6be0167063 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -125,17 +125,17 @@ unset. When SOURCE is a directory, copy it instead of unpacking." (copy-recursively source dest #:keep-mtime? #t) #t) (if (string-suffix? ".zip" source) - (zero? (system* "unzip" "-d" dest source)) - (zero? (system* "tar" "-C" dest "-xvf" source)))))) + (invoke "unzip" "-d" dest source) + (invoke "tar" "-C" dest "-xvf" source))))) (define* (install-source #:key install-source? outputs #:allow-other-keys) "Install the source code to the output directory." (let* ((out (assoc-ref outputs "out")) (source "src") (dest (string-append out "/" source))) - (if install-source? - (copy-recursively source dest #:keep-mtime? #t) - #t))) + (when install-source? + (copy-recursively source dest #:keep-mtime? #t)) + #t)) (define (go-package? name) (string-prefix? "go-" name)) @@ -178,24 +178,26 @@ respectively." (define* (build #:key import-path #:allow-other-keys) "Build the package named by IMPORT-PATH." - (or - (zero? (system* "go" "install" - "-v" ; print the name of packages as they are compiled - "-x" ; print each command as it is invoked - ;; Respectively, strip the symbol table and debug - ;; information, and the DWARF symbol table. - "-ldflags=-s -w" - import-path)) - (begin + (with-throw-handler + #t + (lambda _ + (invoke "go" "install" + "-v" ; print the name of packages as they are compiled + "-x" ; print each command as it is invoked + ;; Respectively, strip the symbol table and debug + ;; information, and the DWARF symbol table. + "-ldflags=-s -w" + import-path)) + (lambda (key . args) (display (string-append "Building '" import-path "' failed.\n" "Here are the results of `go env`:\n")) - (system* "go" "env") - #f))) + (invoke "go" "env")))) (define* (check #:key tests? import-path #:allow-other-keys) "Run the tests for the package named by IMPORT-PATH." - (if tests? - (zero? (system* "go" "test" import-path)))) + (when tests? + (invoke "go" "test" import-path)) + #t) (define* (install #:key outputs #:allow-other-keys) "Install the compiled libraries. `go install` installs these files to -- cgit v1.2.3 From 03d5f73e96e3b33d269bfb845bef77f517e8a16c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 20 Jul 2018 10:44:21 +0200 Subject: gnu: pari-gp: Update to 2.11.0. * gnu/packages/algebra.scm (pari-gp): Update to 2.11.0. --- 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 d03b675f3a..f0abe4ebb5 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -139,7 +139,7 @@ solve the shortest vector problem.") (define-public pari-gp (package (name "pari-gp") - (version "2.9.4") + (version "2.11.0") (source (origin (method url-fetch) (uri (string-append @@ -147,7 +147,7 @@ solve the shortest vector problem.") version ".tar.gz")) (sha256 (base32 - "0ir6m3a8r46md5x6zk4xf159qra7aqparby9zk03k81hjrrxr72g")))) + "18f9yj8ffn3dxignbxj1x36771zbxy4js0r18mv6831ymb6cld9q")))) (build-system gnu-build-system) (native-inputs `(("texlive" ,texlive-tiny))) (inputs `(("gmp" ,gmp) -- cgit v1.2.3 From a2662bfe9ccedc9d791696424988dcadff9247b0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 20 Jul 2018 10:45:54 +0200 Subject: gnu: gp2c: Update to 0.0.11. * gnu/packages/algebra.scm (gp2c): Update to 0.0.11. --- 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 f0abe4ebb5..2a17ea59b6 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -179,7 +179,7 @@ PARI is also available as a C library to allow for faster computations.") (define-public gp2c (package (name "gp2c") - (version "0.0.10") + (version "0.0.11") (source (origin (method url-fetch) (uri (string-append @@ -187,7 +187,7 @@ PARI is also available as a C library to allow for faster computations.") version ".tar.gz")) (sha256 (base32 - "1xhpz5p81iw261ay1kip283ggr0ir8ydz8qx3v24z8jfms1r3y70")))) + "1z69xj2dpd8yyi8108rz26c50xpv0k2j8qnk0bzy1c5lw3pd1adm")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl))) (inputs `(("pari-gp" ,pari-gp))) -- cgit v1.2.3 From 4f89a8eec69491b925f084381ea4de37527c9310 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 20 Jul 2018 13:49:50 +0200 Subject: deduplication: Work around Guile bug in 'seek'. Fixes . Reported by Ricardo Wurmus . This mostly reverts 83099892e0cf0d9c59f5e1a0774331026e48baa8. * guix/store/deduplication.scm (counting-wrapper-port): New procedure. (nar-sha256): Use it. --- guix/store/deduplication.scm | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/guix/store/deduplication.scm b/guix/store/deduplication.scm index 8234819f14..8c19d7309e 100644 --- a/guix/store/deduplication.scm +++ b/guix/store/deduplication.scm @@ -31,14 +31,38 @@ #:export (nar-sha256 deduplicate)) +;; XXX: This port is used as a workaround on Guile <= 2.2.4 where +;; 'port-position' throws to 'out-of-range' when the offset is great than or +;; equal to 2^32: . +(define (counting-wrapper-port output-port) + "Return two values: an output port that wraps OUTPUT-PORT, and a thunk to +retrieve the number of bytes written to OUTPUT-PORT." + (let ((byte-count 0)) + (values (make-custom-binary-output-port "counting-wrapper" + (lambda (bytes offset count) + (put-bytevector output-port bytes + offset count) + (set! byte-count + (+ byte-count count)) + count) + (lambda () + byte-count) + #f + (lambda () + (close-port output-port))) + (lambda () + byte-count)))) + (define (nar-sha256 file) "Gives the sha256 hash of a file and the size of the file in nar form." - (let-values (((port get-hash) (open-sha256-port))) - (write-file file port) + (let*-values (((port get-hash) (open-sha256-port)) + ((wrapper get-size) (counting-wrapper-port port))) + (write-file file wrapper) + (force-output wrapper) (force-output port) (let ((hash (get-hash)) - (size (port-position port))) - (close-port port) + (size (get-size))) + (close-port wrapper) (values hash size)))) (define (tempname-in directory) -- cgit v1.2.3 From e4752118691e41ae8307649d1abfd4739b3e4bfa Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 20 Jul 2018 14:49:34 +0200 Subject: database: Reset timestamps to one second after the Epoch. Previously, store items registered in the database by this code (for instance, store items retrieved by 'guix offload' and passed to 'restore-file-set') would have an mtime of 0 instead of 1. This would cause problems for things like .go files: Guile would consider them to be older than the corresponding .scm file, and consequently it would ignore them and possibly use another (incorrect) .go file. Reported by Ricardo Wurmus. * guix/store/database.scm (reset-timestamps): Pass 1, not 0, to 'utime'. * tests/store-database.scm ("register-path"): Check the mtime of FILE and REF. --- guix/store/database.scm | 8 +++++--- tests/store-database.scm | 7 +++++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/guix/store/database.scm b/guix/store/database.scm index 8f35b63e37..0879a95d0b 100644 --- a/guix/store/database.scm +++ b/guix/store/database.scm @@ -190,12 +190,14 @@ Every store item in REFERENCES must already be registered." (define (reset-timestamps file) "Reset the modification time on FILE and on all the files it contains, if it's a directory. While at it, canonicalize file permissions." + ;; Note: We're resetting to one second after the Epoch like 'guix-daemon' + ;; has always done. (let loop ((file file) (type (stat:type (lstat file)))) (case type ((directory) (chmod file #o555) - (utime file 0 0 0 0) + (utime file 1 1 0 0) (let ((parent file)) (for-each (match-lambda (("." . _) #f) @@ -209,10 +211,10 @@ it's a directory. While at it, canonicalize file permissions." (type type)))))) (scandir* parent)))) ((symlink) - (utime file 0 0 0 0 AT_SYMLINK_NOFOLLOW)) + (utime file 1 1 0 0 AT_SYMLINK_NOFOLLOW)) (else (chmod file (if (executable-file? file) #o555 #o444)) - (utime file 0 0 0 0))))) + (utime file 1 1 0 0))))) (define* (register-path path #:key (references '()) deriver prefix diff --git a/tests/store-database.scm b/tests/store-database.scm index fcae66e2de..4d91884250 100644 --- a/tests/store-database.scm +++ b/tests/store-database.scm @@ -32,7 +32,8 @@ (test-begin "store-database") -(test-assert "register-path" +(test-equal "register-path" + '(1 1) (let ((file (string-append (%store-prefix) "/" (make-string 32 #\f) "-fake"))) (when (valid-path? %store file) @@ -50,7 +51,9 @@ (and (valid-path? %store file) (equal? (references %store file) (list ref)) (null? (valid-derivers %store file)) - (null? (referrers %store file)))))) + (null? (referrers %store file)) + (list (stat:mtime (lstat file)) + (stat:mtime (lstat ref))))))) (test-equal "new database" (list 1 2) -- cgit v1.2.3 From 134189e26fa3a63d3d2ba01b5c484d2937d490b4 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Jul 2018 13:47:58 +0200 Subject: gnu: feh: Update to 2.27.1. * gnu/packages/image-viewers.scm (feh): Update to 2.27.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 b2e67e52f9..3410880a67 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -60,7 +60,7 @@ (define-public feh (package (name "feh") - (version "2.27") + (version "2.27.1") (home-page "https://feh.finalrewind.org/") (source (origin (method url-fetch) @@ -68,7 +68,7 @@ name "-" version ".tar.bz2")) (sha256 (base32 - "0kn6cka9m76697i495npd60ad64jnfnzv5z6znzyr0vlxx2nhcmg")))) + "10zk76l491s22qrv86rax6cvpgwyl3qq0izl2pbk0k1z1kw3ihvf")))) (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases (delete 'configure)) -- cgit v1.2.3 From 0a08ea2a50ba5180f6cc73a2290f30cacca50630 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Jul 2018 13:53:01 +0200 Subject: gnu: ffmpeg@3.4: Update to 3.4.4. * gnu/packages/video.scm (ffmpeg-3.4): Update to 3.4.4. --- 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 820a7fc4ce..a6db26593a 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -788,14 +788,14 @@ audio/video codec library.") (define-public ffmpeg-3.4 (package (inherit ffmpeg) - (version "3.4.3") + (version "3.4.4") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "0p45s3h7mg7v0jm77bymw2617i08f086dlcdmaylnk7795yind3b")))))) + "1iizgnhjbhar9y1ykqlj1czqanlv24knkfq5vvfnppv5x00pcvrq")))))) (define-public ffmpeg-2.8 (package -- cgit v1.2.3 From eb9c0d20f9d7d8c0366c9362cef27ac2d2191041 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 19 Jul 2018 13:53:21 +0200 Subject: gnu: ffmpeg: Update to 4.0.2. * gnu/packages/video.scm (ffmpeg): Update to 4.0.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 a6db26593a..9419ef86c0 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -612,14 +612,14 @@ standards (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3).") (define-public ffmpeg (package (name "ffmpeg") - (version "4.0.1") + (version "4.0.2") (source (origin (method url-fetch) (uri (string-append "https://ffmpeg.org/releases/ffmpeg-" version ".tar.xz")) (sha256 (base32 - "1vn04n0n46zdxq14cma3w8ml2ckh5jxwlybsc4xmvcqdqq0mqpv0")))) + "15rgzcmdccy4flajs63gkz4n3k24wkkg50r13l1r83lrxg4hqp59")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) -- cgit v1.2.3 From 264967c883d32606c18b378f717c303e7490c942 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 20 Jul 2018 17:57:36 +0200 Subject: install: Add service for the loopback device. Lack of a loopback device prevented the system from building starting from commit 363c946b36a77aa6f0e60b8c93a171d2e649164f. * gnu/system/install.scm (%installation-services): Add 'static-networking-service-type' instance for 'lo'. --- gnu/system/install.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 6a3ae1947b..95661dc973 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -298,6 +298,13 @@ You have been warned. Thanks for being so brave.\x1b[0m `(("/bin/sh" ,(file-append (canonical-package bash) "/bin/sh")))) + ;; Loopback device, needed by OpenSSH notably. + (service static-networking-service-type + (list (static-networking (interface "lo") + (ip "127.0.0.1") + (requirement '()) + (provision '(loopback))))) + ;; Keep a reference to BARE-BONES-OS to make sure it can be ;; installed without downloading/building anything. Also keep the ;; things needed by 'profile-derivation' to minimize the amount of -- cgit v1.2.3 From 5dc53092c6e761a416989e8fc78dabc44c72d6a0 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Fri, 20 Jul 2018 15:30:05 -0400 Subject: gnu: vdirsyncer: Update to 0.16.7. * gnu/packages/dav.scm (vdirsyncer): Update to 0.16.7. --- gnu/packages/dav.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dav.scm b/gnu/packages/dav.scm index 9aebc5568d..1a154ea351 100644 --- a/gnu/packages/dav.scm +++ b/gnu/packages/dav.scm @@ -58,13 +58,13 @@ clients.") (define-public vdirsyncer (package (name "vdirsyncer") - (version "0.16.6") + (version "0.16.7") (source (origin (method url-fetch) (uri (pypi-uri name version)) (sha256 (base32 - "07iqq5c53cfrb5xnmam1rsl683hc3rykmdak896n2gm81r361c66")))) + "1vqjhn2bffy2bx45a1r14crsyn2cylf5by567g44c4mhpjwwz6vc")))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 56e533929f459b04be3db420288c3863559883be Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Fri, 20 Jul 2018 23:38:09 +1000 Subject: gnu: libgaiagraphics: Fix typo. * gnu/packages/geo.scm: (libgaiagraphics)[inputs]: Fix typo. Signed-off-by: Leo Famulari --- gnu/packages/geo.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index 85bb0ccf9b..ae6ba024e0 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -180,7 +180,7 @@ and driving.") (inputs `(("cairo" ,cairo) ("libpng" ,libpng) - ("libjepeg-turbo" ,libjpeg-turbo) + ("libjpeg-turbo" ,libjpeg-turbo) ("libtiff" ,libtiff) ("libgeotiff" ,libgeotiff) ("proj.4" ,proj.4) -- cgit v1.2.3 From e4351015ec5c4f74a66aed2e16931cf74c4d5830 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 21 Jul 2018 19:24:14 +0200 Subject: gnu: calibre: Update to 3.28.0. * gnu/packages/ebook.scm (calibre): Update to 3.28.0. --- gnu/packages/ebook.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index bf4b6a750e..a78e3e871f 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -75,7 +75,7 @@ (define-public calibre (package (name "calibre") - (version "3.17.0") + (version "3.28.0") (source (origin (method url-fetch) @@ -84,7 +84,7 @@ version ".tar.xz")) (sha256 (base32 - "1w6hw1s0d4daa4q2ykzhxdndiq61l8z7ls7rxh7k7p62ia0i5sxp")) + "0b3vv03c6m6972sk8zj3zc5sq6b9837irnfgjlqhv9z5i75m0414")) ;; Remove non-free or doubtful code, see ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html (modules '((guix build utils))) -- cgit v1.2.3 From 889e7fab3c04be98a59b880bf44fbdaa6ddf0a4e Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:34:09 +0200 Subject: gnu: youtube-dl: Update to 2018.07.10. * gnu/packages/video.scm (youtube-dl): Update to 2018.07.10. Signed-off-by: Leo Famulari --- 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 9419ef86c0..7bf4e43791 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1225,7 +1225,7 @@ access to mpv's powerful playback capabilities.") (define-public youtube-dl (package (name "youtube-dl") - (version "2018.06.19") + (version "2018.07.10") (source (origin (method url-fetch) (uri (string-append "https://yt-dl.org/downloads/" @@ -1233,7 +1233,7 @@ access to mpv's powerful playback capabilities.") version ".tar.gz")) (sha256 (base32 - "0ys2mc84r7mjpn7rykb57sn3ii1kp3divjdn2ivwqknj8jrzg3z6")))) + "1rigah941k2drzx5qz937lk68gw9jrizj5lgd9f9znp0bgi2d0xd")))) (build-system python-build-system) (arguments ;; The problem here is that the directory for the man page and completion -- cgit v1.2.3 From eb5ece73a84439d21219a802c0dcb88d54046371 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 21 Jul 2018 12:47:34 -0400 Subject: gnu: openbabel: Fix crash when opening NWChem output files. * gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/chemistry.scm (openbabel)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/chemistry.scm | 4 ++- .../openbabel-fix-crash-on-nwchem-output.patch | 34 ++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch diff --git a/gnu/local.mk b/gnu/local.mk index e55c2bf3ba..8ad81e6935 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -979,6 +979,7 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/ola-readdir-r.patch \ + %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openblas-fix-tests-i686.patch \ %D%/packages/patches/openexr-missing-samples.patch \ diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index a81c14b43c..418b4be2f4 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -213,7 +213,9 @@ NumPy < 1.9.") version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")))) + "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")) + (patches + (search-patches "openbabel-fix-crash-on-nwchem-output.patch")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch b/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch new file mode 100644 index 0000000000..879df026a1 --- /dev/null +++ b/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch @@ -0,0 +1,34 @@ +From 52cea818bf68f8a2d3c48d55d00c2f8b7da25e4c Mon Sep 17 00:00:00 2001 +From: Daniel Hogan +Date: Tue, 28 Mar 2017 22:21:18 -0600 +Subject: [PATCH] Remove delete statement. + +When from_scratch is true, coordinates is not allocated. A separate if +statement was added to handle the case when from_scratch is true that +does not try to free coordinates. +--- + src/formats/nwchemformat.cpp | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/formats/nwchemformat.cpp b/src/formats/nwchemformat.cpp +index 6f625ad5b..79298555f 100644 +--- a/src/formats/nwchemformat.cpp ++++ b/src/formats/nwchemformat.cpp +@@ -232,11 +232,14 @@ static const char* OPTIMIZATION_END_PATTERN = " Optimization converged"; + break; + tokenize(vs,buffer); + } +- if ((from_scratch)||(i != natoms)) +- { ++ if (from_scratch) ++ { ++ return; ++ } ++ if (i != natoms) { + delete[] coordinates; + return; +- } ++ } + molecule->AddConformer(coordinates); + } + -- cgit v1.2.3 From 8eb49ec52754ac7ab0a67588d79dfd99817cd135 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 21 Jul 2018 23:00:57 -0400 Subject: gnu: minetest: Update to 0.4.17. * gnu/packages/games.scm (minetest-data, minetest): Update to 0.4.17. --- gnu/packages/games.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index ca86703a83..ab1e3fde4c 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1575,7 +1575,7 @@ match, cannon keep, and grave-itation pit.") (define minetest-data (package (name "minetest-data") - (version "0.4.16") + (version "0.4.17") (source (origin (method url-fetch) (uri (string-append @@ -1584,7 +1584,7 @@ match, cannon keep, and grave-itation pit.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0nibpm600rbv9dg1zgcsl5grlbqx0b5l6cg1lp6sqkwvjialb4ga")))) + "0pa9skjwbq27aky6dgr7g3mb0a7c5rpa6xmz2qh0nm618z5hgazh")))) (build-system trivial-build-system) (native-inputs `(("source" ,source) @@ -1617,7 +1617,7 @@ match, cannon keep, and grave-itation pit.") (define-public minetest (package (name "minetest") - (version "0.4.16") + (version "0.4.17") (source (origin (method url-fetch) (uri (string-append @@ -1626,7 +1626,7 @@ match, cannon keep, and grave-itation pit.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "0mbnf1ma4gsw9ah68ply04059xkfx5psdxwalxp78sgmx4ypkwqf")))) + "0wpbad5bssbbgspgdcq3hhq4bhckrj53nhymsz34d8g01j0csr46")))) (build-system cmake-build-system) (arguments '(#:configure-flags -- cgit v1.2.3 From a7d5ce94baec36e5fb3e1478784acf672f466363 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 22 Jul 2018 09:50:28 +0200 Subject: gnu: Add u-boot-cubietruck. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bootloaders.scm (u-boot-cubietruck): New variable. --- gnu/packages/bootloaders.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 7599f4ac25..792fc4ae2f 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -580,6 +580,9 @@ board-independent tools."))) (define-public u-boot-cubieboard (make-u-boot-package "Cubieboard" "arm-linux-gnueabihf")) +(define-public u-boot-cubietruck + (make-u-boot-package "Cubietruck" "arm-linux-gnueabihf")) + (define-public u-boot-puma-rk3399 (let ((base (make-u-boot-package "puma-rk3399" "aarch64-linux-gnu"))) (package -- cgit v1.2.3 From 0c468cb52d9d79884c0f3c92c74a0ea8ad11a946 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Jul 2018 16:19:22 +0200 Subject: gnu: chemistry.scm: Add missing import. This is a follow-up to commit eb5ece73a84439d21219a802c0dcb88d54046371. * gnu/packages/chemistry.scm: Import (gnu packages). --- gnu/packages/chemistry.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index 418b4be2f4..2d7cb7aad1 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -21,6 +21,7 @@ #:use-module (guix packages) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix download) + #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages compression) #:use-module (gnu packages gv) -- cgit v1.2.3 From 706a6ff1544f2fc4baa1d4d2e1cd093a41411906 Mon Sep 17 00:00:00 2001 From: Stefan Stefanović Date: Sat, 21 Jul 2018 18:52:33 +0200 Subject: gnu: sddm: Update to 0.18.0. * gnu/packages/display-managers.scm (sddm): Update to 0.18.0. * gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Marius Bakke --- gnu/local.mk | 2 +- gnu/packages/display-managers.scm | 5 ++-- .../patches/sddm-fix-build-with-qt-5.11-1024.patch | 28 ---------------------- 3 files changed, 3 insertions(+), 32 deletions(-) delete mode 100644 gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch diff --git a/gnu/local.mk b/gnu/local.mk index 8ad81e6935..16521e8e0d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -18,6 +18,7 @@ # Copyright © 2017, 2018 Gábor Boskovits # Copyright © 2018 Amirouche Boubekki # Copyright © 2018 Oleg Pykhalov +# Copyright © 2018 Stefan Stefanović # # This file is part of GNU Guix. # @@ -1124,7 +1125,6 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-graph-diam-64.patch \ %D%/packages/patches/scotch-graph-induce-type-64.patch \ - %D%/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index b0ad3df788..a4ed601ec8 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -135,7 +135,7 @@ Qt-style API for Wayland clients.") (define-public sddm (package (name "sddm") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (string-append @@ -144,8 +144,7 @@ Qt-style API for Wayland clients.") "sddm-" version ".tar.xz")) (sha256 (base32 - "0ch6rdppgy2vbzw0c2x9a4c6ry46vx7p6b76d8xbh2nvxh23xv0k")) - (patches (search-patches "sddm-fix-build-with-qt-5.11-1024.patch")))) + "0icyi9nqgbp2v6dwh3n3jzff9jv2xy8d4rbsz89hd65x7c3hrv87")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch b/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch deleted file mode 100644 index 53c184230a..0000000000 --- a/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2efc649..8903b52 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -93,7 +95,7 @@ - find_package(XKB REQUIRED) - - # Qt 5 --find_package(Qt5 5.6.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools) -+find_package(Qt5 5.8.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools Test) - - # find qt5 imports dir - get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index c9d935a..bb85ddd 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -2,9 +2,8 @@ - - include_directories(../src/common) - -- - set(ConfigurationTest_SRCS ConfigurationTest.cpp ../src/common/ConfigReader.cpp) - add_executable(ConfigurationTest ${ConfigurationTest_SRCS}) - add_test(NAME Configuration COMMAND ConfigurationTest) - --qt5_use_modules(ConfigurationTest Test) -+target_link_libraries(ConfigurationTest Qt5::Core Qt5::Test) -- cgit v1.2.3 From 4febfdd0f33d1511bede56791f1362e04708aad9 Mon Sep 17 00:00:00 2001 From: Brendan Tildesley Date: Fri, 20 Jul 2018 23:33:35 +1000 Subject: gnu: ffmpegthumbnailer: New variable. * gnu/packages/video.scm (ffmpegthumbnailer): New variable. Signed-off-by: Marius Bakke --- gnu/packages/video.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 7bf4e43791..8f4c60c424 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -26,6 +26,7 @@ ;;; Copyright © 2018 Marius Bakke ;;; Copyright © 2018 Pierre Neidhardt ;;; Copyright © 2018 Leo Famulari +;;; Copyright © 2018 Brendan Tildesley ;;; ;;; This file is part of GNU Guix. ;;; @@ -817,6 +818,35 @@ audio/video codec library.") flag)) ,flags)))))) +(define-public ffmpegthumbnailer + (package + (name "ffmpegthumbnailer") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/dirkvdb/" + name "/archive/" version ".tar.gz")) + (sha256 + (base32 + "13qs4iwd4l3iiim30s5051n80z0vgsnikym8vsn321cnm9algiwb")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("ffmpeg" ,ffmpeg) + ("libjpeg-turbo" ,libjpeg-turbo) + ("libpng" ,libpng) + ("gvfs" ,gvfs))) + (arguments + `(#:configure-flags (list "-DENABLE_GIO=ON" "-DENABLE_THUMBNAILER=ON"))) + (home-page "https://github.com/dirkvdb/ffmpegthumbnailer") + (synopsis "Create thumbnails from video files") + (description "FFmpegthumbnailer is a lightweight video thumbnailer that +can be used by file managers to create thumbnails for your video files. The +thumbnailer uses ffmpeg to decode frames from the video files, so supported +videoformats depend on the configuration flags of ffmpeg.") + (license license:gpl2+))) + (define-public vlc (package (name "vlc") -- cgit v1.2.3 From 5285192150c83db12136af6a123e03bb9b9dbe5f Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sat, 21 Jul 2018 22:32:24 +0200 Subject: doc: Fix typo (missing period) * HACKING (Commit Access): Fix typo. --- HACKING | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HACKING b/HACKING index d1a26d2d64..f68753fee9 100644 --- a/HACKING +++ b/HACKING @@ -27,7 +27,7 @@ mailing list. When you get commit access, please make sure to follow the policy below (discussions of the policy can take place on guix-devel@gnu.org.) Non-trivial patches should always be posted to guix-patches@gnu.org (trivial -patches include fixing typos, etc.) This mailing list fills the +patches include fixing typos, etc.). This mailing list fills the patch-tracking database at [[https://bugs.gnu.org/guix-patches]]; see "Contributing" in the manual for details. -- cgit v1.2.3 From e9be2c5409f37173d70b202aa06752e3814ccdc2 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Jul 2018 18:01:35 +0200 Subject: Revert "guix: Compress and decompress xz archives in parallel." Threaded compression makes archives non-deterministic: the result depends on the number of threads used for compressing. See . This reverts commit 63102406f22412bb922de5549deb89d3594a38c0. --- guix/scripts/pack.scm | 5 ++--- guix/utils.scm | 7 +++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/guix/scripts/pack.scm b/guix/scripts/pack.scm index 6d5d745bc8..729850839b 100644 --- a/guix/scripts/pack.scm +++ b/guix/scripts/pack.scm @@ -1,6 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015, 2017, 2018 Ludovic Courtès -;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Konrad Hinsen ;;; Copyright © 2018 Chris Marusich @@ -69,7 +68,7 @@ (compressor "lzip" ".lz" #~(#+(file-append lzip "/bin/lzip") "-9")) (compressor "xz" ".xz" - #~(#+(file-append xz "/bin/xz") "-e -T0")) + #~(#+(file-append xz "/bin/xz") "-e")) (compressor "bzip2" ".bz2" #~(#+(file-append bzip2 "/bin/bzip2") "-9")) (compressor "none" "" #f))) @@ -77,7 +76,7 @@ ;; This one is only for use in this module, so don't put it in %compressors. (define bootstrap-xz (compressor "bootstrap-xz" ".xz" - #~(#+(file-append %bootstrap-coreutils&co "/bin/xz") "-e -T0"))) + #~(#+(file-append %bootstrap-coreutils&co "/bin/xz") "-e"))) (define (lookup-compressor name) "Return the compressor object called NAME. Error out if it could not be diff --git a/guix/utils.scm b/guix/utils.scm index 200bb69e03..9bad06d52f 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -5,7 +5,6 @@ ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 David Thompson -;;; Copyright © 2017 Efraim Flashner ;;; Copyright © 2017 Mathieu Othacehe ;;; Copyright © 2018 Marius Bakke ;;; @@ -176,7 +175,7 @@ a symbol such as 'xz." (match compression ((or #f 'none) (values input '())) ('bzip2 (filtered-port `(,%bzip2 "-dc") input)) - ('xz (filtered-port `(,%xz "-dc" "-T0") input)) + ('xz (filtered-port `(,%xz "-dc") input)) ('gzip (filtered-port `(,%gzip "-dc") input)) (else (error "unsupported compression scheme" compression)))) @@ -186,7 +185,7 @@ a symbol such as 'xz." (match compression ((or #f 'none) (values input '())) ('bzip2 (filtered-port `(,%bzip2 "-c") input)) - ('xz (filtered-port `(,%xz "-c" "-T0") input)) + ('xz (filtered-port `(,%xz "-c") input)) ('gzip (filtered-port `(,%gzip "-c") input)) (else (error "unsupported compression scheme" compression)))) @@ -243,7 +242,7 @@ program--e.g., '(\"--fast\")." (match compression ((or #f 'none) (values output '())) ('bzip2 (filtered-output-port `(,%bzip2 "-c" ,@options) output)) - ('xz (filtered-output-port `(,%xz "-c" "-T0" ,@options) output)) + ('xz (filtered-output-port `(,%xz "-c" ,@options) output)) ('gzip (filtered-output-port `(,%gzip "-c" ,@options) output)) (else (error "unsupported compression scheme" compression)))) -- cgit v1.2.3 From df3f99af76c356859a8f7161f1f598dd2e177365 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Sun, 22 Jul 2018 18:14:34 +0200 Subject: gnu: xf86-video-r128: Update to 6.11.0. * gnu/packages/xorg.scm (xf86-video-r128): Update to 6.11.0. [source]: Use URL-FETCH. [arguments]: Remove. [native-inputs]: Remove AUTOCONF, AUTOMAKE and LIBTOOL. --- gnu/packages/xorg.scm | 60 ++++++++++++++++++--------------------------------- 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 3e8f9fe4a7..7a604ff074 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3177,46 +3177,28 @@ This driver is intended for the spice qxl virtio device.") (license license:x11))) (define-public xf86-video-r128 - ;; We need a newer version than 6.10.2 to build against the latest xorg-server. - ;; Remove this binding and the bootstrap inputs when >6.10.2 is released. - (let ((commit "c4c878d2ccb75fa75afe46e0e50ee9975c5c57fc") - (revision "0")) - (package - (name "xf86-video-r128") - (version (git-version "6.10.2" revision commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url (string-append "https://anongit.freedesktop.org/git/xorg" - "/driver/" name ".git")) - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "01pff30zz4zxjhw28h8bn9x2kq7c6iswgn19b72wnfgl0arxb63j")))) - (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-before 'bootstrap 'prevent-configure - (lambda _ - ;; Prevent autogen from calling "./configure" as part of - ;; the bootstrap step, which fails due to wrong shebang. - (setenv "NOCONFIGURE" "1") - #t))))) - (inputs `(("mesa" ,mesa) - ("xorgproto" ,xorgproto) - ("xorg-server" ,xorg-server))) - (native-inputs - `(("pkg-config" ,pkg-config) - ("autoconf" ,autoconf) - ("automake" ,automake) - ("libtool" ,libtool))) - (home-page "https://www.x.org/wiki/") - (synopsis "ATI Rage 128 video driver for X server") - (description - "xf86-video-r128 is a video driver for the Xorg X server. + (package + (name "xf86-video-r128") + (version "6.11.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://xorg/individual/driver/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0snvwmrh8dqyyaq7ggicym6yrsg4brygkx9156r0m095m7fp3rav")))) + (build-system gnu-build-system) + (inputs `(("mesa" ,mesa) + ("xorgproto" ,xorgproto) + ("xorg-server" ,xorg-server))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://www.x.org/wiki/") + (synopsis "ATI Rage 128 video driver for X server") + (description + "xf86-video-r128 is a video driver for the Xorg X server. This driver is intended for ATI Rage 128 based cards.") - (license license:x11)))) + (license license:x11))) (define-public xf86-video-savage (package -- cgit v1.2.3 From 0cfc168b37576eecf9aba9d57926a38096b89885 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 19:17:23 +0200 Subject: gnu: Add ccrypt. * gnu/packages/crypto.scm (ccrypt): New variable. --- gnu/packages/crypto.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 3cdee2e07e..730895efd9 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -790,3 +790,26 @@ specifically designed to be easy to call from other languages. A Python binding using ctypes is included, and several other language bindings are available.") (home-page "https://botan.randombit.net") (license license:bsd-2))) + +(define-public ccrypt + (package + (name "ccrypt") + (version "1.10") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ccrypt/ccrypt/" + version "/ccrypt-" version ".tar.gz")) + (sha256 + (base32 + "184v9676hx2w875cz04rd3a20wrcms33a1zwybvapb0g2yi6vml7")))) + (build-system gnu-build-system) + (home-page "http://ccrypt.sourceforge.net") + (synopsis "Command-line utility for encrypting and decrypting files and streams") + (description "@command{ccrypt} is a utility for encrypting and decrypting +files and streams. It was designed as a replacement for the standard unix +@command{crypt} utility, which is notorious for using a very weak encryption +algorithm. @command{ccrypt} is based on the Rijndael block cipher, a version of +which is also used in the Advanced Encryption Standard (AES, see +@url{http://www.nist.gov/aes}). This cipher is believed to provide very strong +security.") + (license license:gpl2))) -- cgit v1.2.3 From 812929a42cc7b5be25221c0592fdd677f257132b Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 19:30:25 +0200 Subject: gnu: emacs-xelb: Update to 0.15. * gnu/packages/emacs.scm (emacs-xelb): Update to 0.15. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fa790dba8a..3f6e5177f8 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -6232,14 +6232,14 @@ which code derived from Kelvin H's org-page.") (define-public emacs-xelb (package (name "emacs-xelb") - (version "0.14") + (version "0.15") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/xelb-" version ".tar")) (sha256 (base32 - "09flnbjy9ck784kprz036rwg9qk45hpv0w5hz3pz3zhwyk57fv74")))) + "031rvgprsqhf344p9wsczr50vj2qcpwdmhxi80jdbrsm7wyxf3qz")))) (build-system emacs-build-system) ;; The following functions and variables needed by emacs-xelb are ;; not included in emacs-minimal: -- cgit v1.2.3 From b9231c5c0ce8bd23b73a51552d7163558329ebf6 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 19:30:45 +0200 Subject: gnu: emacs-exwm: Update to 0.19. * gnu/packages/emacs.scm (emacs-exwm): Update to 0.19. --- gnu/packages/emacs.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3f6e5177f8..04562e3c19 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -6271,7 +6271,7 @@ It should enable you to implement low-level X11 applications.") (define-public emacs-exwm (package (name "emacs-exwm") - (version "0.18") + (version "0.19") (synopsis "Emacs X window manager") (source (origin (method url-fetch) @@ -6279,7 +6279,7 @@ It should enable you to implement low-level X11 applications.") version ".tar")) (sha256 (base32 - "1shz5bf4v4gg3arjaaldics5qkg3aiiaf3ngys8lb6qyxhcpvh6q")))) + "11xd2w4h3zdwkdxypvmcz8s7q72cn76lfr9js77jbizyj6b04lr0")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-xelb" ,emacs-xelb))) -- cgit v1.2.3 From db4c03e24906b0d1b2ea817fbabace0b8c48bd92 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 19:41:59 +0200 Subject: gnu: emacs-helm-eww: Update to 20180511. * gnu/packages/emacs.scm (emacs-helm-eww): Update to 20180511. --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 04562e3c19..ff8cc3b069 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -10232,10 +10232,10 @@ keep Parens and Indentation inline with one another.") (license license:gpl3+))) (define-public emacs-helm-eww - (let ((commit "5d6c2c66d4694415ef8a16a6d38a37aeae76c5ac")) + (let ((commit "1a09f11b2376dec8237df40140f056be8a256ef0")) (package (name "emacs-helm-eww") - (version (git-version "0.1" "1" commit)) + (version (git-version "0.1" "2" commit)) (source (origin (method git-fetch) (uri (git-reference @@ -10244,7 +10244,7 @@ keep Parens and Indentation inline with one another.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1x442ylrr7cx587s4rvfh187h3qbkr79qp95qr57a4igxkkw6183")))) + "1kqdjhz2xiqw3bxjhfl9namhqrkbc2x70gcv6ljljya5hbkm62sm")))) (propagated-inputs `(("emacs-helm" ,emacs-helm))) (build-system emacs-build-system) -- cgit v1.2.3 From 3ad4443f68fe4afc0ff3415e7143872c6ad2cdb3 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 19:55:06 +0200 Subject: gnu: emacs-wgrep: Update to 20180711. * gnu/packages/emacs.scm (emacs-wgrep): Update to 20180711. --- gnu/packages/emacs.scm | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index ff8cc3b069..083d9eab5b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4576,25 +4576,28 @@ Dust.js, React/JSX, Angularjs, ejs, etc.") (license license:gpl3+))) (define-public emacs-wgrep - (package - (name "emacs-wgrep") - (version "2.1.10") - (source (origin - (method url-fetch) - (uri (string-append - "https://github.com/mhayashi1120/Emacs-wgrep/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) - (sha256 - (base32 - "1r2bpypar70xg6dsx12x1k74f39ww930rday7rgqpyknzsx1k4l1")))) - (build-system emacs-build-system) - (home-page "https://github.com/mhayashi1120/Emacs-wgrep") - (synopsis "Edit a grep buffer and apply those changes to the files") - (description - "Emacs wgrep allows you to edit a grep buffer and apply those changes to -the file buffer.") - (license license:gpl3+))) + (let ((commit "414be70bd313e482cd9f0b70fd2daad4ee23497c")) + ;; Late commit fixes compatibility issue with Emacs 26+. + (package + (name "emacs-wgrep") + (version (git-version "2.1.10" "1" commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mhayashi1120/Emacs-wgrep") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sdhd587q3pg92lhiayph87azhalmf1gzrnsprkmqvnphv7mvks9")))) + (build-system emacs-build-system) + (home-page "https://github.com/mhayashi1120/Emacs-wgrep") + (synopsis "Edit a grep buffer and apply those changes to the files") + (description + "Emacs wgrep allows you to edit a grep buffer and apply those changes +to the file buffer. Several backends are supported beside the classic grep: +ack, ag, helm and pt.") + (license license:gpl3+)))) (define-public emacs-helm (package -- cgit v1.2.3 From 1ce4f555728ad17b8f10a50dc7d3e9a86c3510c1 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 19:58:10 +0200 Subject: gnu: emacs-wgrep-helm: Deprecate in favor of emacs-wgrep. * gnu/packages/emacs.scm (emacs-wgrep-helm): Deprecate. --- gnu/packages/emacs.scm | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 083d9eab5b..b2e41baa1c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11321,31 +11321,8 @@ file.") (license license:gpl3+)))) (define-public emacs-wgrep-helm - (let ((commit "1cdd7c136f1e7565bb13d2df69be3dc77b83698d")) - (package - (name "emacs-wgrep-helm") - (version (git-version "2.1.10" "1" commit)) - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/mhayashi1120/Emacs-wgrep") - (commit commit))) - (file-name (string-append name "-" version "-checkout")) - (sha256 - (base32 - "057p99hq0r6z1k8sl15w3sxrqvlv0g9wp39zy1pqhccv2mn3g2d6")))) - (build-system emacs-build-system) - (propagated-inputs - `(("emacs-wgrep" ,emacs-wgrep))) - (home-page - "https://github.com/mhayashi1120/Emacs-wgrep") - (synopsis - "Writable helm-grep-mode buffer and apply the changes to files") - (description - "@code{wgrep-helm} allows you to edit a @code{helm-grep-mode} buffer and -apply those changes to the file buffer.") - (license license:gpl3+)))) + ;; `emacs-wgrep-helm' was mistakenly added. + (deprecated-package "emacs-wgrep-helm" emacs-wgrep)) (define-public emacs-mu4e-conversation (let ((commit "b60d6bd27d7220c3dd041ff2a090e29f2166a319")) -- cgit v1.2.3 From 22c0bef67c295951a451da601124e2e6ffea9674 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 20:04:54 +0200 Subject: gnu: emacs-helm-exwm: Update to 20180703. * gnu/packages/emacs.scm (emacs-helm-exwm): Update to 20180703. --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index b2e41baa1c..c82af4da6a 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11100,10 +11100,10 @@ from @code{emms-source-file-default-directory}.") (license license:gpl3+)))) (define-public emacs-helm-exwm - (let ((commit "82a856c80c8d295e3be522a01c5a15af50d08990")) + (let ((commit "56266f261ba3b3d2753b374b50da20eb768c06f5")) (package (name "emacs-helm-exwm") - (version (git-version "20180523" "1" commit)) + (version (git-version "20180703" "2" commit)) (source (origin (method url-fetch) @@ -11113,7 +11113,7 @@ from @code{emms-source-file-default-directory}.") ".tar.gz")) (sha256 (base32 - "1xsg2lar1vh7jmj5lnnyi14vssxkgy95sv9r8pbfhbnkjkbjm9pb")))) + "0n7hdiajw5vxl8ha2r9r4cl4i7crza25348825wb6acwhhzijxcj")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-helm" ,emacs-helm) -- cgit v1.2.3 From d7d0c98977c2466180b639c125793616cb58dccf Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 20:09:44 +0200 Subject: gnu: emacs-mu4e-conversation: Update to 20180722. * gnu/packages/emacs.scm (emacs-mu4e-conversation): Update to 20180722. --- gnu/packages/emacs.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index c82af4da6a..c5cc9d69ef 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11325,10 +11325,10 @@ file.") (deprecated-package "emacs-wgrep-helm" emacs-wgrep)) (define-public emacs-mu4e-conversation - (let ((commit "b60d6bd27d7220c3dd041ff2a090e29f2166a319")) + (let ((commit "223cc66e99c7665326e3d991d6d383cb0d7512bb")) (package (name "emacs-mu4e-conversation") - (version (git-version "20180615" "1" commit)) + (version (git-version "20180722" "2" commit)) (source (origin (method url-fetch) @@ -11339,7 +11339,7 @@ file.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "0x8kmi0rmbaaxn5zicm1f9yb8ynxi8074hi2n0rvymlfpxbpn0ma")))) + "1ivy7pihhma465hi25p1y45dyi8h52nsm2m0cvizj5sw36jw0n81")))) (build-system emacs-build-system) (propagated-inputs `(("mu" ,mu))) -- cgit v1.2.3 From cb19df37f3d4e482d27d3fc3711d66d84c770a67 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 20:24:35 +0200 Subject: gnu: emacs-evil-collection: Update to 20180721. * gnu/packages/emacs.scm (emacs-evil-collection): Update to 20180721. --- gnu/packages/emacs.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index c5cc9d69ef..3233d66f62 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -4861,11 +4861,11 @@ extensions.") (license license:gpl3+)))) (define-public emacs-evil-collection - (let ((commit "ac21b8957cfc22485cdaa316384edf9cb220d837") - (revision "1")) + (let ((commit "5d739f58118a5a316c4fe25adb4e13ccea3fdc10") + (revision "2")) (package (name "emacs-evil-collection") - (version (git-version "20180617" revision commit)) + (version (git-version "20180721" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -4874,7 +4874,7 @@ extensions.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "082a3c5c2ls9ryqrl5kzb4z6bcprhqx8pypnlj1razbld3lny934")))) + "05p612qncd0cp5q61hq2ag1k558vhb10049xrc88n9l6qwz9bpk3")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-evil" ,emacs-evil))) -- cgit v1.2.3 From a86866f4b5e6ddaecc5484ac35f0f9b9752cf630 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 20:35:12 +0200 Subject: gnu: Add emacs-ztree. * gnu/packages/emacs.scm (emacs-ztree): New variable. --- gnu/packages/emacs.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3233d66f62..fca34f9de1 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11533,3 +11533,27 @@ files. It focuses on highlighting the document to improve readability.") source code.") (license (list license:expat license:asl2.0))))) + +(define-public emacs-ztree + (let ((commit "c54425a094353ec40a8179f9eab3596f76c6cf94")) + (package + (name "emacs-ztree") + (version (git-version "1.0.5" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/fourier/ztree") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j8fpxds8m1zi04nrs8vv21091abvh4n8ab76f1sgdxnp4l5cfb0")))) + (build-system emacs-build-system) + (home-page "https://github.com/fourier/ztree") + (synopsis "Directory tree comparison mode for Emacs") + (description "Ztree is a project dedicated to implementation of several +text-tree applications inside GNU Emacs. It consists of 2 subprojects: +@command{ztree-diff} and @command{ztree-dir} (the basis of +@command{ztree-diff}).") + (license license:gpl3)))) -- cgit v1.2.3 From 5f005932bcc7b348d89f7f49a64e7ab7a6e7e061 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 20:45:22 +0200 Subject: gnu: Add emacs-helm-org-contacts. * gnu/packages/emacs.scm (emacs-helm-org-contacts): New variable. --- gnu/packages/emacs.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index fca34f9de1..4360baa623 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11557,3 +11557,31 @@ text-tree applications inside GNU Emacs. It consists of 2 subprojects: @command{ztree-diff} and @command{ztree-dir} (the basis of @command{ztree-diff}).") (license license:gpl3)))) + +(define-public emacs-helm-org-contacts + (let ((commit "0af703bd9a43032b89fdf5559673151d1ac2fffc")) + (package + (name "emacs-helm-org-contacts") + (version (git-version "20180707" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tmalsburg/helm-org-contacts") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cl7cm2ic9pg4vc9cdh84vzjj1x2lpd5ymimiva8h4l17kiphk4s")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-dash" ,emacs-dash) + ("emacs-helm" ,emacs-helm) + ("emacs-s" ,emacs-s))) + (home-page "https://github.com/tmalsburg/helm-org-contacts") + (synopsis "Helm source for org-contacts") + (description "This Helm source can be used to search contacts stored in +org-contacts format. There are actions for inserting postal addresses, email +addresses, and phone numbers in the buffer where @command{helm-org-contacts} +was called.") + (license license:gpl3)))) -- cgit v1.2.3 From e968542d298a3eaf1a8811a91463b1589589fcb3 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 20:49:47 +0200 Subject: gnu: Add emacs-dired-du. * gnu/packages/emacs.scm (emacs-dired-du): New variable. --- gnu/packages/emacs.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4360baa623..f57a0ea90e 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -11585,3 +11585,30 @@ org-contacts format. There are actions for inserting postal addresses, email addresses, and phone numbers in the buffer where @command{helm-org-contacts} was called.") (license license:gpl3)))) + +(define-public emacs-dired-du + (package + (name "emacs-dired-du") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://elpa.gnu.org/packages/dired-du-" + version ".tar")) + (sha256 + (base32 + "09yj37p2fa5f81fqrzwghjkyy2ydsf4rbkfwpn2yyvzd5nd97bpl")))) + (build-system emacs-build-system) + (home-page "http://elpa.gnu.org/packages/dired-du.html") + (synopsis "Dired with recursive directory sizes") + (description + "Display the recursive size of directories in Dired. +This file defines a minor mode @command{dired-du-mode} to show the recursive +size of directories in Dired buffers. If @command{du} program is available, +then the directory sizes are obtained with it. Otherwise, the directory sizes +are obtained with Lisp. The former is faster and provide a more precise +value. For directories where the user doesn't have read permission, the +recursive size is not obtained. Once this mode is enabled, every new Dired +buffer displays recursive dir sizes.") + (license license:gpl3+))) -- cgit v1.2.3 From 3291be815b3b31223fd190204e5c56ffb370c4a4 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 17:39:23 +0200 Subject: gnu: Add go-github-com-mattn-go-isatty. * gnu/packages/golang.scm (go-github-com-mattn-go-isatty): New variable. --- gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 92ce504c52..26f9fda14d 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -11,6 +11,7 @@ ;;; Copyright © 2018 Christopher Baines ;;; Copyright © 2018 Tomáš Čech ;;; Copyright © 2018 Pierre-Antoine Rouby +;;; Copyright © 2018 Pierre Neidhardt ;;; ;;; This file is part of GNU Guix. ;;; @@ -1975,3 +1976,29 @@ which satisfies the cron expression.") "This package provides a Go library for encode and decode YAML values.") (license license:asl2.0)))) + +(define-public go-github-com-mattn-go-isatty + (let ((commit "6ca4dbf54d38eea1a992b3c722a76a5d1c4cb25c") + (revision "0")) + (package + (name "go-github-com-mattn-go-isatty") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-isatty") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zs92j2cqaw9j8qx1sdxpv3ap0rgbs0vrvi72m40mg8aa36gd39w")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/mattn/go-isatty")) + (home-page "https://github.com/mattn/go-isatty") + (synopsis "Provide @code{isatty} for Golang") + (description "This package provides @code{isatty}, a Go module that can +tell you whether a file descriptor points to a terminal and the type of the +terminal.") + (license license:expat)))) -- cgit v1.2.3 From 7601b4e4fe93130562475efc67a641c2f3b8ccc8 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 17:39:47 +0200 Subject: gnu: Add go-github-com-mattn-go-colorable. * gnu/packages/golang.scm (go-github-com-mattn-go-colorable): 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 26f9fda14d..aabde78d62 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2002,3 +2002,31 @@ values.") tell you whether a file descriptor points to a terminal and the type of the terminal.") (license license:expat)))) + +(define-public go-github-com-mattn-go-colorable + (let ((commit "efa589957cd060542a26d2dd7832fd6a6c6c3ade") + (revision "0")) + (package + (name "go-github-com-mattn-go-colorable") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mattn/go-colorable") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0kshi4hvm0ayrsxqxy0599iv81kryhd2fn9lwjyczpj593cq069r")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-mattn-go-isatty" + ,go-github-com-mattn-go-isatty))) + (arguments + '(#:import-path "github.com/mattn/go-colorable")) + (home-page "https://github.com/mattn/go-colorable") + (synopsis "Handle ANSI color escapes on Windows") + (description "This package provides @code{colorable}, a module that +makes it possible to handle ANSI color escapes on Windows.") + (license license:expat)))) -- cgit v1.2.3 From 32cb1af632b4b3b801a3493a05af4a65f9303207 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 17:39:57 +0200 Subject: gnu: Add go-github-com-mgutz-ansi. * gnu/packages/golang.scm (go-github-com-mgutz-ansi): 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 aabde78d62..26fdc9d2b8 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2030,3 +2030,34 @@ terminal.") (description "This package provides @code{colorable}, a module that makes it possible to handle ANSI color escapes on Windows.") (license license:expat)))) + +(define-public go-github-com-mgutz-ansi + (let ((commit "9520e82c474b0a04dd04f8a40959027271bab992") + (revision "0")) + (package + (name "go-github-com-mgutz-ansi") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/mgutz/ansi") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00bz22314j26736w1f0q4jy9d9dfaml17vn890n5zqy3cmvmww1j")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-mattn-go-isatty" + ,go-github-com-mattn-go-isatty) + ("go-github-com-mattn-go-colorable" + ,go-github-com-mattn-go-colorable))) + (arguments + '(#:import-path "github.com/mgutz/ansi")) + (home-page "https://github.com/mgutz/ansi") + (synopsis "Small, fast library to create ANSI colored strings and codes") + (description "This package provides @code{ansi}, a Go module that can +generate ANSI colored strings.") + (license license:expat)))) -- cgit v1.2.3 From e25ddef5bd15d532c52a4f868c22c6cea601b16c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 17:42:02 +0200 Subject: gnu: Add go-github-com-aarzilli-golua. * gnu/packages/golang.scm (go-github-com-aarzilli-golua): New variable. --- gnu/packages/golang.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 26fdc9d2b8..9bcf1c7bdd 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -42,6 +42,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pcre) + #:use-module (gnu packages lua) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -2061,3 +2062,47 @@ makes it possible to handle ANSI color escapes on Windows.") (description "This package provides @code{ansi}, a Go module that can generate ANSI colored strings.") (license license:expat)))) + +(define-public go-github-com-aarzilli-golua + (let ((commit "03fc4642d792b1f2bc5e7343b403cf490f8c501d") + (revision "0")) + (package + (name "go-github-com-aarzilli-golua") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/aarzilli/golua") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d9hr29i36cza98afj3g6rs3l7xbkprwzz0blcxsr9dd7nak20di")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua))) + (arguments + `(#:unpack-path "github.com/aarzilli/golua" + #:import-path "github.com/aarzilli/golua/lua" + #:phases + (modify-phases %standard-phases + (replace 'build + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "install" + "-v" ; print the name of packages as they are compiled + "-x" ; print each command as it is invoked + "-ldflags=-s -w" ; strip the symbol table and debug + "-tags" "llua" ; Latest Lua on Guix does not have a version number. + import-path))) + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (invoke "go" "test" + "-tags" "llua" ; Latest Lua on Guix does not have a version number. + import-path)))))) + (home-page "https://github.com/aarzilli/golua") + (synopsis "Go Bindings for the Lua C API") + (description "This package provides @code{lua}, a Go module that can +run a Lua virtual machine.") + (license license:expat)))) -- cgit v1.2.3 From f25e3b39d9fb27d2515c1f074847a5c99d025ce4 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 18:14:33 +0200 Subject: gnu: Add go-gitlab-com-ambrevar-golua-unicode. * gnu/packages/golang.scm (go-gitlab-com-ambrevar-golua-unicode): New variable. --- gnu/packages/golang.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9bcf1c7bdd..c941b5439a 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2106,3 +2106,41 @@ generate ANSI colored strings.") (description "This package provides @code{lua}, a Go module that can run a Lua virtual machine.") (license license:expat)))) + +(define-public go-gitlab-com-ambrevar-golua-unicode + (let ((commit "97ce517e7a1fe2407a90c317a9c74b173d396144") + (revision "0")) + (package + (name "go-gitlab-com-ambrevar-golua-unicode") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/golua") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1izcp7p8nagjwqd13shb0020w7xhppib1a3glw2d1468bflhksnm")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua) + ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua))) + (arguments + `(#:unpack-path "gitlab.com/ambrevar/golua" + #:import-path "gitlab.com/ambrevar/golua/unicode" + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* (#:key import-path #:allow-other-keys) + (setenv "USER" "homeless-dude") + (invoke "go" "test" import-path)))))) + (home-page "https://gitlab.com/ambrevar/golua") + (synopsis "Add Unicode support to Golua") + (description "This extension to Arzilli's Golua adds Unicode support to +all functions from the Lua string library. Lua patterns are replaced by Go +regexps. This breaks compatibility with Lua, but Unicode support breaks it +anyways and Go regexps are more powerful.") + (license license:expat)))) -- cgit v1.2.3 From b4d1440f9f0ed5d87ba051191a35843702841415 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 18:20:20 +0200 Subject: gnu: Add go-github-com-yookoala-realpath. * gnu/packages/golang.scm (go-github-com-yookoala-realpath): New variable. --- gnu/packages/golang.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index c941b5439a..96e40bbd0a 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2144,3 +2144,30 @@ all functions from the Lua string library. Lua patterns are replaced by Go regexps. This breaks compatibility with Lua, but Unicode support breaks it anyways and Go regexps are more powerful.") (license license:expat)))) + +(define-public go-github-com-yookoala-realpath + (let ((commit "d19ef9c409d9817c1e685775e53d361b03eabbc8") + (revision "0")) + (package + (name "go-github-com-yookoala-realpath") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/yookoala/realpath") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qvz1dcdldf53rq69fli76z5k1vr7prx9ds1d5rpzgs68kwn40nw")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/yookoala/realpath")) + (home-page "https://github.com/yookoala/realpath") + (synopsis "@code{realpath} for Golang") + (description "This package provides @code{realpath}, a Go module that +when provided with a valid relative path / alias path, it will return you with +a string of its real absolute path in the system.") + (license license:bsd-style)))) -- cgit v1.2.3 From 54b83f0e899227e6bf584fbe69cb9b65fee0de2e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 18:28:20 +0200 Subject: gnu: Add go-gitlab-com-ambrevar-damerau. * gnu/packages/golang.scm (go-gitlab-com-ambrevar-damerau): 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 96e40bbd0a..8ad2ec943e 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2171,3 +2171,31 @@ anyways and Go regexps are more powerful.") when provided with a valid relative path / alias path, it will return you with a string of its real absolute path in the system.") (license license:bsd-style)))) + +(define-public go-gitlab-com-ambrevar-damerau + (let ((commit "883829e1f25fad54015772ea663e69017cf22352") + (revision "0")) + (package + (name "go-gitlab-com-ambrevar-damerau") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/damerau") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1b9p8fypc914ij1afn6ir346zsgfqrc5mqc1k3d53n4snypq27qv")))) + (build-system go-build-system) + (arguments + `(#:import-path "gitlab.com/ambrevar/damerau")) + (home-page "https://gitlab.com/ambrevar/damerau") + (synopsis "Damerau-Levenshtein distance for Golang") + (description "This is a spelling corrector implementing the +Damerau-Levenshtein distance. Takes a string value input from the user. +Looks for an identical word on a list of words, if none is found, look for a +similar word.") + (license license:expat)))) -- cgit v1.2.3 From c49628172445abf13f98be1db22573c6e92a804d Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 18:39:02 +0200 Subject: gnu: Add go-github-com-stevedonovan-luar. * gnu/packages/golang.scm (go-github-com-stevedonovan-luar): New variable. --- gnu/packages/golang.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 8ad2ec943e..84aa2c8f1b 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2199,3 +2199,44 @@ Damerau-Levenshtein distance. Takes a string value input from the user. Looks for an identical word on a list of words, if none is found, look for a similar word.") (license license:expat)))) + +(define-public go-github-com-stevedonovan-luar + (let ((commit "22d247e5366095f491cd83edf779ee99a78f5ead") + (revision "0")) + (package + (name "go-github-com-stevedonovan-luar") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/stevedonovan/luar") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1acjgw9cz1l0l9mzkyk7irz6cfk31wnxgbwa805fvm1rqcjzin2c")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua))) + (arguments + `(#:tests? #f ; Upstream tests are broken. + #:import-path "github.com/stevedonovan/luar")) + (home-page "https://github.com/stevedonovan/luar") + (synopsis "Lua reflection bindings for Go") + (description "Luar is designed to make using Lua from Go more +convenient. Go structs, slices and maps can be automatically converted to Lua +tables and vice-versa. The resulting conversion can either be a copy or a +proxy. In the latter case, any change made to the result will reflect on the +source. + +Any Go function can be made available to Lua scripts, without having to write +C-style wrappers. + +Luar support cyclic structures (lists, etc.). + +User-defined types can be made available to Lua as well: their exported +methods can be called and usual operations such as indexing or arithmetic can +be performed.") + (license license:expat)))) -- cgit v1.2.3 From bc3138d265dd31ca27b89b41d6c126fa8367547f Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 18:49:53 +0200 Subject: gnu: Add go-github-com-kr-text. * gnu/packages/golang.scm (go-github-com-kr-text): 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 84aa2c8f1b..0092c2ace2 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2240,3 +2240,29 @@ User-defined types can be made available to Lua as well: their exported methods can be called and usual operations such as indexing or arithmetic can be performed.") (license license:expat)))) + +(define-public go-github-com-kr-text + (let ((commit "e2ffdb16a802fe2bb95e2e35ff34f0e53aeef34f") + (revision "0")) + (package + (name "go-github-com-kr-text") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/kr/text") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gm5bsl01apvc84bw06hasawyqm4q84vx1pm32wr9jnd7a8vjgj1")))) + (build-system go-build-system) + (arguments + `(#:import-path "github.com/kr/text")) + (home-page "https://github.com/kr/text") + (synopsis "Go package for manipulating paragraphs of text") + (description "Package @code{text} provides manipulation Go functions for +paragraphs of text.") + (license license:expat)))) -- cgit v1.2.3 From 9630ae345bf165704eb0de47c788cb70f5bf0d53 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 18:53:04 +0200 Subject: gnu: Add go-github-com-michiwend-golang-pretty. * gnu/packages/golang.scm (go-github-com-michiwend-golang-pretty): New variable. --- gnu/packages/golang.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 0092c2ace2..d0b6c25502 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2266,3 +2266,37 @@ be performed.") (description "Package @code{text} provides manipulation Go functions for paragraphs of text.") (license license:expat)))) + +(define-public go-github-com-michiwend-golang-pretty + (let ((commit "8ac61812ea3fa540f3f141a444fcb0dd713cdca4") + (revision "0")) + (package + (name "go-github-com-michiwend-golang-pretty") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/michiwend/golang-pretty") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rjfms0csjqi91xnddzx3rcrcaikc7xc027617px3kdwdap80ir4")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-kr-text" ,go-github-com-kr-text))) + (arguments + `(#:tests? #f ; Upstream tests seem to be broken. + #:import-path "github.com/michiwend/golang-pretty")) + (home-page "https://github.com/michiwend/golang-pretty") + (synopsis "Pretty printing for Go values") + (description "Package @code{pretty} provides pretty-printing for Go +values. This is useful during debugging, to avoid wrapping long output lines +in the terminal. + +It provides a function, @code{Formatter}, that can be used with any function +that accepts a format string. It also provides convenience wrappers for +functions in packages @code{fmt} and @code{log}.") + (license license:expat)))) -- cgit v1.2.3 From 62879d22163af5b8dfe0f788de193ac1d0f9a66f Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 18:54:36 +0200 Subject: gnu: Add go-github-com-michiwend-gomusicbrainz. * gnu/packages/golang.scm (go-github-com-michiwend-gomusicbrainz): New variable. --- gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index d0b6c25502..25e6c44af1 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2300,3 +2300,32 @@ It provides a function, @code{Formatter}, that can be used with any function that accepts a format string. It also provides convenience wrappers for functions in packages @code{fmt} and @code{log}.") (license license:expat)))) + +(define-public go-github-com-michiwend-gomusicbrainz + (let ((commit "0cdeb13f9b24d2c714feb7e3c63d595cf7121d7d") + (revision "0")) + (package + (name "go-github-com-michiwend-gomusicbrainz") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/michiwend/gomusicbrainz") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1li9daw0kghb80rdmxbh7g72qhxcvx3rvhwq5gs0jrr9hb8pjvcn")))) + (build-system go-build-system) + (native-inputs + `(("go-github-com-michiwend-golang-pretty" ,go-github-com-michiwend-golang-pretty) + ("go-github-com-kr-text" ,go-github-com-kr-text))) + (arguments + `(#:import-path "github.com/michiwend/gomusicbrainz")) + (home-page "https://github.com/michiwend/gomusicbrainz") + (synopsis "MusicBrainz WS2 client library for Golang") + (description "Currently GoMusicBrainz provides methods to perform search +and lookup requests. Browse requests are not supported yet.") + (license license:expat)))) -- cgit v1.2.3 From 53182924eb48e6b971f1f37f477623840ad76a08 Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 19:00:40 +0200 Subject: gnu: Add go-github-com-wtolson-go-taglib. * gnu/packages/golang.scm (go-github-com-wtolson-go-taglib): New variable. --- gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 25e6c44af1..c2055956b9 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -43,6 +43,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pcre) #:use-module (gnu packages lua) + #:use-module (gnu packages mp3) #:use-module (ice-9 match) #:use-module (srfi srfi-1)) @@ -2329,3 +2330,31 @@ functions in packages @code{fmt} and @code{log}.") (description "Currently GoMusicBrainz provides methods to perform search and lookup requests. Browse requests are not supported yet.") (license license:expat)))) + +(define-public go-github-com-wtolson-go-taglib + (let ((commit "6e68349ff94ecea412de7e748cb5eaa26f472777") + (revision "0")) + (package + (name "go-github-com-wtolson-go-taglib") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/wtolson/go-taglib") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1cpjqnrviwflz150g78iir5ndrp3hh7a93zbp4dwbg6sb2q141p2")))) + (build-system go-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("taglib" ,taglib))) + (arguments + `(#:import-path "github.com/wtolson/go-taglib")) + (home-page "https://github.com/wtolson/go-taglib") + (synopsis "Go wrapper for taglib") + (description "Go wrapper for taglib") + (license license:unlicense)))) -- cgit v1.2.3 From 5703380b506ed17892ce85b2f24e853048c3c08e Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Fri, 22 Jun 2018 20:26:41 +0200 Subject: gnu: Add demlo. * gnu/packages/music.scm (demlo): New variable. --- gnu/packages/music.scm | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index bdc6d050a9..0185b8fd9c 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -50,6 +50,7 @@ #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system waf) #:use-module (guix build-system trivial) + #:use-module (guix build-system go) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages apr) @@ -128,6 +129,8 @@ #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages xiph) + #:use-module (gnu packages golang) + #:use-module (gnu packages lua) #:use-module ((srfi srfi-1) #:select (last))) (define-public aria-maestosa @@ -4131,3 +4134,89 @@ at @code{musicbrainz.org}.") It can be used in daemon mode along with the Music-on-Console (MOC) and cmus console music players.") (license license:gpl3+))) + +(define-public demlo + (let ((commit "fe9ec4c8ac2fa995ec18e6ac86d50d46df06ec01") + (revision "0")) + (package + (name "demlo") + (version (git-version "3.8" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url + "https://gitlab.com/ambrevar/demlo") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1afkbqhzn6da7zaf5ab7dvyqj1izqhzprwfb4hw448fllda9bdvk")))) + (build-system go-build-system) + (native-inputs + `(("lua" ,lua) + ("go-github-com-mattn-go-isatty" ,go-github-com-mattn-go-isatty) + ("go-github-com-mattn-go-colorable" ,go-github-com-mattn-go-colorable) + ("go-github-com-aarzilli-golua" ,go-github-com-aarzilli-golua) + ("go-gitlab-com-ambrevar-damerau" ,go-gitlab-com-ambrevar-damerau) + ("go-gitlab-com-ambrevar-golua-unicode" ,go-gitlab-com-ambrevar-golua-unicode) + ("go-github-com-mgutz-ansi" ,go-github-com-mgutz-ansi) + ("go-github-com-michiwend-gomusicbrainz" ,go-github-com-michiwend-gomusicbrainz) + ("go-github-com-stevedonovan-luar" ,go-github-com-stevedonovan-luar) + ("go-github-com-wtolson-go-taglib" ,go-github-com-wtolson-go-taglib) + ("go-github-com-yookoala-realpath" ,go-github-com-yookoala-realpath))) + (inputs + `(("chromaprint" ,chromaprint) + ("ffmpeg" ,ffmpeg))) + (arguments + `(#:import-path "gitlab.com/ambrevar/demlo" + #:phases + (modify-phases %standard-phases + (add-after 'install 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (ffmpeg (assoc-ref inputs "ffmpeg")) + (chromaprint (assoc-ref inputs "chromaprint"))) + (wrap-program (string-append out "/bin/demlo") + `("XDG_DATA_DIRS" ":" prefix (,out)) + `("PATH" ":" prefix + ,(map (lambda (dir) + (string-append dir "/bin:" + dir "/sbin")) + (list ffmpeg chromaprint)))) + #t))) + (add-after 'install-source 'install-scripts + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (root (string-append out "/src/gitlab.com/ambrevar/demlo")) + (xdg-data-dirs (string-append out "/demlo"))) + (copy-recursively (string-append root "/actions") + (string-append xdg-data-dirs "/actions")) + (copy-recursively (string-append root "/scripts") + (string-append xdg-data-dirs "/scripts")) + (install-file (string-append root "/config.lua") xdg-data-dirs) + ;; TODO: Test fish completion. + (install-file (string-append root "/completion/demlo.fish") + (string-append out "/share/fish/vendor_completions.d")) + #t)))))) + (home-page "https://gitlab.com/ambrevar/demlo") + (synopsis "Dynamic and extensible music library organizer") + (description "Demlo is a music library organizer. It can encode, fix +case, change folder hierarchy according to tags or file properties, tag from +an online database, copy covers while ignoring duplicates or those below a +quality threshold, and much more. It makes it possible to manage your +libraries uniformly and dynamically. You can write your own rules to fit your +needs best. + +Demlo can address any of these recurring music library issues (and much more): + +@itemize +@item Fix the lack of folder structure. +@item Normalize tags, fix their case, chose which tags to keep and which to +discard. +@item Handle lossy and lossless audio differently. +@item Handle mp3 id3tags hell... +@item Handle multiple covers, whether embedded and/or external, resize covers, +discard bad quality ones. +@end itemize\n") + (license license:expat)))) -- cgit v1.2.3 From 9f2adb2f19db6d2e2234df15b0e24c5d01b9181c Mon Sep 17 00:00:00 2001 From: Pierre Neidhardt Date: Sun, 22 Jul 2018 23:14:53 +0200 Subject: gnu: emacs-pulseaudio-control: Update to 20180627. * gnu/packages/emacs.scm (emacs-pulseaudio-control): Update to 20180627. --- gnu/packages/emacs.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index f57a0ea90e..eab31278a5 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -8825,22 +8825,21 @@ navigate and display hierarchy structures.") (license license:gpl3+)))) (define-public emacs-pulseaudio-control - (let ((commit "08c59e1dc45ec96edb62f34036e82cf5f14c0e8b") - (revision "1")) + (let ((commit "1da372ec79f5d2fb901d1f9f0679fee8848fd011") + (revision "2")) (package (name "emacs-pulseaudio-control") - (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 (url "https://github.com/flexibeast/pulseaudio-control.git") (commit commit))) - (file-name (string-append name "-" version "-checkout")) + (file-name (git-file-name name version)) (sha256 (base32 - "10cgg1r00kz2fsnnryvzay5pf8s1pwb1dzlds1fbjdnyfvdgammv")))) + "02xrsms2pjqdk6327midi61i5vg2h9cq5jwaxv43ldm68wl7hi6k")))) (build-system emacs-build-system) (arguments '(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 1bb962b4d75fcf9d7aae204d0b2ecd7884c3a3e6 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sun, 22 Jul 2018 20:47:10 -0400 Subject: gnu: hyperrogue: Update to 10.4j. * gnu/packages/games.scm (hyperrogue): Update to 10.4j. [arguments]: Modify 'configure' phase and substitute invoke for system*. --- gnu/packages/games.scm | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index ab1e3fde4c..4dbdfae819 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -3472,7 +3472,7 @@ throwing people around in pseudo-randomly generated buildings.") (define-public hyperrogue (package (name "hyperrogue") - (version "10.0g") + (version "10.4j") ;; When updating this package, be sure to update the "hyperrogue-data" ;; origin in native-inputs. (source (origin @@ -3483,7 +3483,7 @@ throwing people around in pseudo-randomly generated buildings.") "-src.tgz")) (sha256 (base32 - "0f68pcnsgl406dhm91ckn3f364bar9m9i5njp9vrmvhvv9p2icy0")))) + "0909p4xvbi1c2jc5rdgrf8b1c60fmsaapabsi6yyglh5znkf0k27")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no check target @@ -3495,7 +3495,6 @@ throwing people around in pseudo-randomly generated buildings.") (setenv "CPATH" (string-append (assoc-ref inputs "sdl-union") "/include/SDL")))) - ;; Fix font and music paths. (replace 'configure (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -3505,17 +3504,18 @@ throwing people around in pseudo-randomly generated buildings.") "/share/fonts/truetype")) (dejavu-font "DejaVuSans-Bold.ttf") (music-file "hyperrogue-music.txt")) + ;; Fix font and music paths. (substitute* "basegraph.cpp" ((dejavu-font) (string-append dejavu-dir "/" dejavu-font))) - (substitute* "sound.cpp" - (((string-append "\\./" music-file)) - (string-append share-dir "/" music-file)) - (("sounds/") - (string-append share-dir "/sounds/"))) (substitute* music-file (("\\*/") (string-append share-dir "/sounds/")))) + ;; Fix Makefile. + (substitute* "Makefile" + (("g\\+\\+ langen.cpp") + "g++ langen.cpp ${CXXFLAGS}") + (("savepng.c") "savepng.cpp")) #t)) (replace 'install (lambda* (#:key inputs outputs #:allow-other-keys) @@ -3532,21 +3532,18 @@ throwing people around in pseudo-randomly generated buildings.") (out (assoc-ref outputs "out")) (sounds (string-append out "/share/hyperrogue/sounds")) (unzip (string-append (assoc-ref inputs "unzip") "/bin/unzip"))) - (and - ;; Extract media license information into sounds directory. - (zero? - (system* unzip "-j" data - (string-append - "hyperrogue" - (string-join (string-split ,version #\.) "") - "/sounds/credits.txt") "-d" sounds)) - ;; Extract sounds and music into sounds directory. - (zero? - (system* "unzip" "-j" data - (string-append - "hyperrogue" - (string-join (string-split ,version #\.) "") - "/*.ogg") "-d" sounds))))))))) + ;; Extract media license information into sounds directory. + (invoke unzip "-j" data + (string-append + "hyperrogue" + (string-join (string-split ,version #\.) "") + "/sounds/credits.txt") "-d" sounds) + ;; Extract sounds and music into sounds directory. + (invoke "unzip" "-j" data + (string-append + "hyperrogue" + (string-join (string-split ,version #\.) "") + "/*.ogg") "-d" sounds))))))) (native-inputs `(("hyperrogue-data" ,(origin @@ -3558,7 +3555,7 @@ throwing people around in pseudo-randomly generated buildings.") "-win.zip")) (sha256 (base32 - "0bnp077qvlmxjlz1jjd6kpghlv9flxc19ac1xq3m3wyq1w9p3pab")))) + "0w61iv2rn93hi0q3hxyyyf9xcr8vi9zd7fjvpz5adpgf94jm3zsc")))) ("unzip" ,unzip))) (inputs `(("font-dejavu" ,font-dejavu) -- cgit v1.2.3 From 9d076dd4a09dc93aa57796ff20661d35137af026 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 23 Jul 2018 11:00:30 +0200 Subject: gnu: c-toxcore: Update to 0.2.4. * gnu/packages/messaging.scm (c-toxcore): Update to 0.2.4. --- gnu/packages/messaging.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 503826381a..12d2ec7191 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -12,7 +12,7 @@ ;;; Copyright © 2017, 2018 Arun Isaac ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice ;;; Copyright © 2017 Theodoros Foradis -;;; Copyright © 2017 Rutger Helling +;;; Copyright © 2017, 2018 Rutger Helling ;;; Copyright © 2018 Leo Famulari ;;; Copyright © 2018 Pierre-Antoine Rouby ;;; @@ -873,7 +873,7 @@ protocols.") (define-public c-toxcore (package (name "c-toxcore") - (version "0.2.2") + (version "0.2.4") (source (origin (method url-fetch) @@ -882,7 +882,7 @@ protocols.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "18bfqx0ylbas9gs91rkspf04l5fjjcl0mxm1gfs2d59bv65mvcm3")))) + "0sdszy079f82ncrgq1wsjpk2374n5hm4las75gj3lrdhljl15izl")))) (arguments `(#:tests? #f)) ; FIXME: Testsuite seems to stay stuck on test 3. Disable ; for now. -- cgit v1.2.3 From 7a426eef20c4f3959621dc0a0a5b8f1ac1eb0abc Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 23 Jul 2018 11:04:12 +0200 Subject: gnu: qtox: Update to 1.16.3. * gnu/packages/messaging.scm (qtox): Update to 1.16.3. [inputs]: Change ffmpeg-3.4 to ffmpeg. --- gnu/packages/messaging.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 12d2ec7191..a34f744659 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -961,14 +961,14 @@ instant messenger with audio and video chat capabilities.") (define-public qtox (package (name "qtox") - (version "1.16.1") + (version "1.16.3") (source (origin (method url-fetch) (uri (string-append "https://github.com/qTox/qTox/archive/v" version ".tar.gz")) (sha256 (base32 - "11l4klw0g6j4qq95krgyd0npxmmpcgk4vp9jq429sbsqn1s039j4")) + "10n3cgw9xaqin9la8wpd8v83bkjmimicgbyp5ninsdgsrgky4hmq")) (file-name (string-append name "-" version ".tar.gz")))) (build-system cmake-build-system) (arguments @@ -990,7 +990,7 @@ instant messenger with audio and video chat capabilities.") ,(list (string-append (assoc-ref inputs "qtsvg") "/lib/qt5/plugins/")))))))))) (inputs - `(("ffmpeg" ,ffmpeg-3.4) + `(("ffmpeg" ,ffmpeg) ("filteraudio" ,filteraudio) ("glib" ,glib) ("gtk+" ,gtk+-2) -- cgit v1.2.3 From adff3bb91613fd1124bb7e8eb5d80707c6a1e98a Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 23 Jul 2018 11:08:24 +0200 Subject: gnu: wine-staging-patchset-data: Update to 3.13. * gnu/packages/wine.scm (wine-staging-patchset-data): Update to 3.13. --- gnu/packages/wine.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index 2de4ff5d94..dbe6387730 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -223,7 +223,7 @@ integrate Windows applications into your desktop.") (define-public wine-staging-patchset-data (package (name "wine-staging-patchset-data") - (version "3.12") + (version "3.13") (source (origin (method url-fetch) @@ -232,7 +232,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".zip")) (sha256 (base32 - "1hjs36jw8k1d22c713wzwvyhfrb8mi85dpk9wpsggnnw2x57hzs0")))) + "0h27h4z4m2m77chp3alkv6fagppjhh9ys39d3n21j0yfjknyhdd8")))) (build-system trivial-build-system) (native-inputs `(("bash" ,bash) -- cgit v1.2.3 From a472c2902ed021e8cee91eb9c07b307b33adcee0 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Mon, 23 Jul 2018 11:09:15 +0200 Subject: gnu: wine-staging: Update to 3.13. * gnu/packages/wine.scm (wine-staging): Update to 3.13. --- gnu/packages/wine.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/wine.scm b/gnu/packages/wine.scm index dbe6387730..4562c817cd 100644 --- a/gnu/packages/wine.scm +++ b/gnu/packages/wine.scm @@ -279,7 +279,7 @@ integrate Windows applications into your desktop.") (file-name (string-append name "-" version ".tar.xz")) (sha256 (base32 - "0zvqmd0018wvlxz4xbm5sbv7770j3l14q0ilpgs0jy49srcw116v")))) + "1m5v854r5wgw68b97j6wim1a8692x5sih25c0xp1yb13a94dg187")))) (inputs `(("autoconf" ,autoconf) ; for autoreconf ("gtk+" ,gtk+) ("libva" ,libva) -- cgit v1.2.3 From 10df28d74d1f799969d3ce37348c44efb1067c7f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 23 Jul 2018 10:36:37 +0200 Subject: system: '.guile' skeleton now recommends 'guile-colorized'. * gnu/system/shadow.scm (default-skeletons)[".guile"]: Recommend 'guile-colorized'. --- gnu/system/shadow.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index b4db69f068..f800c3b546 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -210,7 +210,17 @@ include /run/current-system/profile/share/nano/*.nanorc\n")) ((module-ref module 'activate-readline)))) (else (display \"Consider installing the 'guile-readline' package for -convenient interactive line editing and input history.\\n\\n\")))\n")) +convenient interactive line editing and input history.\\n\\n\"))) + + (unless (getenv \"INSIDE_EMACS\") + (cond ((false-if-exception (resolve-interface '(ice-9 colorized))) + => + (lambda (module) + ;; Enable completion and input history at the REPL. + ((module-ref module 'activate-colorized)))) + (else + (display \"Consider installing the 'guile-colorized' package +for a colorful Guile experience.\\n\\n\"))))\n")) (".guile-wm" ,guile-wm) (".gdbinit" ,gdbinit)))) -- cgit v1.2.3 From a2908f5aae6484b537067ec854871f608ccce92f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 23 Jul 2018 12:19:19 +0200 Subject: gnu: aspell: Allow filters to be found. Reported by Pierre-Antoine Rouby. * gnu/packages/aspell.scm (aspell)[arguments]: Add 'set-filter-path' phase. --- gnu/packages/aspell.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 82136a28e8..993dc560eb 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -27,6 +27,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix licenses) + #:use-module (guix utils) #:use-module (gnu packages) #:use-module (gnu packages base) #:use-module (gnu packages compression) @@ -49,6 +50,19 @@ (arguments `(#:phases (modify-phases %standard-phases + (add-before 'build 'set-filter-path + (lambda* (#:key outputs #:allow-other-keys) + ;; Change the default value of 'filter-path' so that filters such + ;; as 'tex-filter.so' can be found. By default none of the + ;; filters would be found. + (let* ((out (assoc-ref outputs "out")) + (libdir (string-append out "/lib/aspell-" + ,(version-major+minor version)))) + (substitute* "common/config.cpp" + (("\"filter-path(.*)DICT_DIR" _ middle) + (string-append "\"filter-path" middle + "\"" libdir "\""))) + #t))) (add-after 'install 'wrap-aspell (lambda* (#:key outputs #:allow-other-keys) (let ((bin/aspell (string-append (assoc-ref outputs "out") -- cgit v1.2.3 From 2a3b1b3235f3e082d309b411465b67983bc8cf71 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jul 2018 15:38:51 +0200 Subject: build-system: Add 'guile-build-system'. * guix/build-system/guile.scm, guix/build/guile-build-system.scm: New files. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document 'guile-build-system'. --- Makefile.am | 2 + doc/guix.texi | 15 +++ guix/build-system/guile.scm | 202 ++++++++++++++++++++++++++++++++++++++ guix/build/guile-build-system.scm | 153 +++++++++++++++++++++++++++++ 4 files changed, 372 insertions(+) create mode 100644 guix/build-system/guile.scm create mode 100644 guix/build/guile-build-system.scm diff --git a/Makefile.am b/Makefile.am index 6733f4f894..b4cd07ed22 100644 --- a/Makefile.am +++ b/Makefile.am @@ -111,6 +111,7 @@ MODULES = \ guix/build-system/asdf.scm \ guix/build-system/glib-or-gtk.scm \ guix/build-system/gnu.scm \ + guix/build-system/guile.scm \ guix/build-system/haskell.scm \ guix/build-system/perl.scm \ guix/build-system/python.scm \ @@ -149,6 +150,7 @@ MODULES = \ guix/build/glib-or-gtk-build-system.scm \ guix/build/gnu-build-system.scm \ guix/build/gnu-dist.scm \ + guix/build/guile-build-system.scm \ guix/build/perl-build-system.scm \ guix/build/python-build-system.scm \ guix/build/ocaml-build-system.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 84347d156b..f9b3ef0e55 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4045,6 +4045,21 @@ specified with the @code{#:glib} parameter. Both phases are executed after the @code{install} phase. @end defvr +@defvr {Scheme Variable} guile-build-system +This build system is for Guile packages that consist exclusively of Scheme +code and that are so lean that they don't even have a makefile, let alone a +@file{configure} script. It compiles Scheme code using @command{guild +compile} (@pxref{Compilation,,, guile, GNU Guile Reference Manual}) and +installs the @file{.scm} and @file{.go} files in the right place. It also +installs documentation. + +This build system supports cross-compilation by using the @code{--target} +option of @command{guild compile}. + +Packages built with @code{guile-build-system} must provide a Guile package in +their @code{native-inputs} field. +@end defvr + @defvr {Scheme Variable} minify-build-system This variable is exported by @code{(guix build-system minify)}. It implements a minification procedure for simple JavaScript packages. diff --git a/guix/build-system/guile.scm b/guix/build-system/guile.scm new file mode 100644 index 0000000000..77a5f00b01 --- /dev/null +++ b/guix/build-system/guile.scm @@ -0,0 +1,202 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; 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 build-system guile) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (guix packages) + #:use-module (guix derivations) + #:use-module (guix search-paths) + #:use-module (guix build-system) + #:use-module (guix build-system gnu) + #:use-module (ice-9 match) + #:use-module (srfi srfi-26) + #:export (%guile-build-system-modules + guile-build-system)) + +(define %guile-build-system-modules + ;; Build-side modules imported by default. + `((guix build guile-build-system) + ,@%gnu-build-system-modules)) + +(define* (lower name + #:key source inputs native-inputs outputs system target + #:allow-other-keys + #:rest arguments) + "Return a bag for NAME." + + ;; Note: There's no #:guile argument (unlike, for instance, + ;; 'ocaml-build-system' which has #:ocaml.) This is so we can keep + ;; procedures like 'package-for-guile-2.0' unchanged and simple. + + (define private-keywords + '(#:target #:inputs #:native-inputs)) + + (bag + (name name) + (system system) (target target) + (host-inputs `( + ,@inputs)) + (build-inputs `(,@(if source + `(("source" ,source)) + '()) + ,@native-inputs + ,@(map (cute assoc <> (standard-packages)) + '("tar" "gzip" "bzip2" "xz" "locales")))) + (outputs outputs) + (build (if target guile-cross-build guile-build)) + (arguments (strip-keyword-arguments private-keywords arguments)))) + +(define %compile-flags + ;; Flags passed to 'guild compile' by default. We choose a common + ;; denominator between Guile 2.0 and 2.2. + ''("-Wunbound-variable" "-Warity-mismatch" "-Wformat")) + +(define* (guile-build store name inputs + #:key source + (guile #f) + (phases '%standard-phases) + (outputs '("out")) + (search-paths '()) + (system (%current-system)) + (source-directory ".") + (compile-flags %compile-flags) + (imported-modules %guile-build-system-modules) + (modules '((guix build guile-build-system) + (guix build utils)))) + "Build SOURCE using Guile taken from the native inputs, and with INPUTS." + (define builder + `(begin + (use-modules ,@modules) + (guile-build #:name ,name + #:source ,(match (assoc-ref inputs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:source-directory ,source-directory + #:compile-flags ,compile-flags + #:phases ,phases + #:system ,system + #:outputs %outputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:inputs %build-inputs))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:inputs inputs + #:system system + #:modules imported-modules + #:outputs outputs + #:guile-for-build guile-for-build)) + +(define* (guile-cross-build store name + #:key + (system (%current-system)) target + native-drvs target-drvs + (guile #f) + source + (outputs '("out")) + (search-paths '()) + (native-search-paths '()) + + (phases '%standard-phases) + (source-directory ".") + (compile-flags %compile-flags) + (imported-modules %guile-build-system-modules) + (modules '((guix build guile-build-system) + (guix build utils)))) + (define builder + `(begin + (use-modules ,@modules) + + (let () + (define %build-host-inputs + ',(map (match-lambda + ((name (? derivation? drv) sub ...) + `(,name . ,(apply derivation->output-path drv sub))) + ((name path) + `(,name . ,path))) + native-drvs)) + + (define %build-target-inputs + ',(map (match-lambda + ((name (? derivation? drv) sub ...) + `(,name . ,(apply derivation->output-path drv sub))) + ((name (? package? pkg) sub ...) + (let ((drv (package-cross-derivation store pkg + target system))) + `(,name . ,(apply derivation->output-path drv sub)))) + ((name path) + `(,name . ,path))) + target-drvs)) + + (guile-build #:source ,(match (assoc-ref native-drvs "source") + (((? derivation? source)) + (derivation->output-path source)) + ((source) + source) + (source + source)) + #:system ,system + #:target ,target + #:outputs %outputs + #:source-directory ,source-directory + #:compile-flags ,compile-flags + #:inputs %build-target-inputs + #:native-inputs %build-host-inputs + #:search-paths ',(map search-path-specification->sexp + search-paths) + #:native-search-paths ',(map + search-path-specification->sexp + native-search-paths) + #:phases ,phases)))) + + (define guile-for-build + (match guile + ((? package?) + (package-derivation store guile system #:graft? #f)) + (#f ; the default + (let* ((distro (resolve-interface '(gnu packages commencement))) + (guile (module-ref distro 'guile-final))) + (package-derivation store guile system #:graft? #f))))) + + (build-expression->derivation store name builder + #:system system + #:inputs (append native-drvs target-drvs) + #:outputs outputs + #:modules imported-modules + #:substitutable? substitutable? + #:guile-for-build guile-for-build)) + +(define guile-build-system + (build-system + (name 'guile) + (description "The build system for simple Guile packages") + (lower lower))) diff --git a/guix/build/guile-build-system.scm b/guix/build/guile-build-system.scm new file mode 100644 index 0000000000..0bed049436 --- /dev/null +++ b/guix/build/guile-build-system.scm @@ -0,0 +1,153 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2018 Ludovic Courtès +;;; +;;; 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 build guile-build-system) + #:use-module ((guix build gnu-build-system) #:prefix gnu:) + #:use-module (guix build utils) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match) + #:use-module (ice-9 popen) + #:use-module (ice-9 rdelim) + #:use-module (guix build utils) + #:export (target-guile-effective-version + %standard-phases + guile-build)) + +(define* (target-guile-effective-version #:optional guile) + "Return the effective version of GUILE or whichever 'guile' is in $PATH. +Return #false if it cannot be determined." + (let* ((pipe (open-pipe* OPEN_READ + (if guile + (string-append guile "/bin/guile") + "guile") + "-c" "(display (effective-version))")) + (line (read-line pipe))) + (and (zero? (close-pipe pipe)) + (string? line) + line))) + +(define (file-sans-extension file) ;TODO: factorize + "Return the substring of FILE without its extension, if any." + (let ((dot (string-rindex file #\.))) + (if dot + (substring file 0 dot) + file))) + +(define %scheme-file-regexp + ;; Regexp to match Scheme files. + "\\.(scm|sls)$") + +(define %documentation-file-regexp + ;; Regexp to match README files and the likes. + "^(README.*|.*\\.html|.*\\.org|.*\\.md)$") + +(define* (set-locale-path #:key inputs native-inputs + #:allow-other-keys) + "Set 'GUIX_LOCPATH'." + (match (assoc-ref (or native-inputs inputs) "locales") + (#f #t) + (locales + (setenv "GUIX_LOCPATH" (string-append locales "/lib/locale")) + #t))) + +(define* (build #:key outputs inputs native-inputs + (source-directory ".") + (compile-flags '()) + (scheme-file-regexp %scheme-file-regexp) + target + #:allow-other-keys) + "Build files in SOURCE-DIRECTORY that match SCHEME-FILE-REGEXP." + (let* ((out (assoc-ref outputs "out")) + (guile (assoc-ref (or native-inputs inputs) "guile")) + (effective (target-guile-effective-version guile)) + (module-dir (string-append out "/share/guile/site/" + effective)) + (go-dir (string-append out "/lib/guile/" + effective "/site-ccache/")) + (guild (string-append guile "/bin/guild")) + (flags (if target + (cons (string-append "--target=" target) + compile-flags) + compile-flags))) + (if target + (format #t "Cross-compiling for '~a' with Guile ~a...~%" + target effective) + (format #t "Compiling with Guile ~a...~%" effective)) + (format #t "compile flags: ~s~%" flags) + + ;; Make installation directories. + (mkdir-p module-dir) + (mkdir-p go-dir) + + ;; Compile .scm files and install. + (setenv "GUILE_AUTO_COMPILE" "0") + (setenv "GUILE_LOAD_COMPILED_PATH" + (string-append go-dir + (match (getenv "GUILE_LOAD_COMPILED_PATH") + (#f "") + (path (string-append ":" path))))) + (for-each (lambda (file) + (let* ((go (string-append go-dir + (file-sans-extension file) + ".go"))) + ;; Install source module. + (install-file (string-append source-directory "/" file) + (string-append module-dir + "/" (dirname file))) + + ;; Install and compile module. + (apply invoke guild "compile" "-L" source-directory + "-o" go + (string-append source-directory "/" file) + flags))) + + ;; Arrange to strip SOURCE-DIRECTORY from file names. + (with-directory-excursion source-directory + (find-files "." scheme-file-regexp))) + #t)) + +(define* (install-documentation #:key outputs + (documentation-file-regexp + %documentation-file-regexp) + #:allow-other-keys) + "Install files that mactch DOCUMENTATION-FILE-REGEXP." + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + (strip-store-file-name out)))) + (for-each (cut install-file <> doc) + (find-files "." documentation-file-regexp)) + #t)) + +(define %standard-phases + (modify-phases gnu:%standard-phases + (delete 'bootstrap) + (delete 'configure) + (add-before 'install-locale 'set-locale-path + set-locale-path) + (replace 'build build) + (add-after 'build 'install-documentation + install-documentation) + (delete 'check) + (delete 'strip) + (delete 'validate-runpath) + (delete 'install))) + +(define* (guile-build #:key (phases %standard-phases) + #:allow-other-keys #:rest args) + "Build the given Guile package, applying all of PHASES in order." + (apply gnu:gnu-build #:phases phases args)) -- cgit v1.2.3 From 977d866681df9aaa2a0e763e42dc17598cf2e3c6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jul 2018 15:42:11 +0200 Subject: gnu: Switch several packages to 'guile-build-system'. * gnu/packages/guile.scm (guile-minikanren)[build-system]: Set to GUILE-BUILD-SYSTEM. [arguments]: Remove. [inputs]: Rename to 'native-inputs'. (guile-miniadapton): Likewise. (guile-colorized): Likewise. (guile-irregex): Likewise, but rewrite 'arguments' field with custom phases. (guile-gdbm-ffi): Likewise, and move patch to the 'origin' form. (guile-simple-zmq): Likewise, and change 'propagated-inputs' to 'inputs'. (jupyter-guile-kernel): Likewise. --- gnu/packages/guile.scm | 513 ++++++++++--------------------------------------- 1 file changed, 100 insertions(+), 413 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 62d292264e..2dd04917ab 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -74,6 +74,7 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system guile) #:use-module (guix build-system trivial) #:use-module (guix utils) #:use-module (ice-9 match) @@ -965,60 +966,8 @@ specification. These are the main features: (sha256 (base32 "0r50jlpzi940jlmxyy3ddqqwmj5r12gb4bcv0ssini9v8km13xz6")))) - (build-system trivial-build-system) - (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (ice-9 match) - (ice-9 popen) - (ice-9 rdelim)) - - (let* ((out (assoc-ref %outputs "out")) - (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (source (assoc-ref %build-inputs "source")) - (doc (string-append out "/share/doc/guile-minikanren")) - (scm-files '("minikanren.scm" - "minikanren/mkextraforms.scm" - "minikanren/mkprelude.scm" - "minikanren/mk.scm")) - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild"))) - ;; Make installation directories. - (mkdir-p (string-append module-dir "/minikanren")) - (mkdir-p doc) - - ;; Compile .scm files and install. - (chdir source) - (setenv "GUILE_AUTO_COMPILE" "0") - (for-each (lambda (file) - (let* ((dest-file (string-append module-dir "/" - file)) - (go-file (match (string-split file #\.) - ((base _) - (string-append module-dir "/" - base ".go"))))) - ;; Install source module. - (copy-file file dest-file) - ;; Install compiled module. - (invoke guild "compile" - "-L" source - "-o" go-file - file))) - scm-files) - - ;; Also copy over the README. - (install-file "README.org" doc) - - #t)))) - (inputs + (build-system guile-build-system) + (native-inputs `(("guile" ,guile-2.2))) (home-page "https://github.com/ijp/minikanren") (synopsis "MiniKanren declarative logic system, packaged for Guile") @@ -1055,46 +1004,8 @@ See http://minikanren.org/ for more on miniKanren generally.") (sha256 (base32 "09q51zkw2fypad5xixskfzw2cjhjgs5cswdp3i7cpp651rb3zndh")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((guix build utils) - (ice-9 popen) - (ice-9 rdelim) - (srfi srfi-1) - (guix build gnu-build-system)) - #:tests? #f ; there is no test target - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (replace 'install - (lambda* (#:key outputs #:allow-other-keys) - (let* ((cwd (getcwd)) - (scm-files (find-files "." "\\.scm$")) - (effective (read-line - (open-pipe* OPEN_READ - "guile" "-c" - "(display (effective-version))"))) - (module-dir (string-append (assoc-ref outputs "out") - "/share/guile/site/" - effective))) - - ;; Make installation directories. - (mkdir-p module-dir) - - (setenv "GUILE_AUTO_COMPILE" "0") - - ;; Compile .scm files and install. - (every (lambda (file) - (let ((go-file (string-append module-dir "/" - (basename file ".scm") ".go"))) - ;; Install source module. - (install-file file module-dir) - ;; Compile and install module. - (zero? (system* "guild" "compile" "-L" cwd - "-o" go-file file)))) - scm-files))))))) - (inputs + (build-system guile-build-system) + (native-inputs `(("guile" ,guile-2.2))) (home-page "https://github.com/fisherdj/miniAdapton") (synopsis "Minimal implementation of incremental computation in Guile @@ -1120,65 +1031,25 @@ understand, extend, and port to host languages other than Scheme.") (sha256 (base32 "1ia3m7dp3lcxa048q0gqbiwwsyvn99baw6xkhb4bhhzn4k7bwyqq")))) - (build-system gnu-build-system) + (build-system guile-build-system) (arguments - `(#:modules ((guix build utils) - (ice-9 match) - (ice-9 rdelim) - (ice-9 popen) - (guix build gnu-build-system)) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'build) - (delete 'check) - (replace 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (effective (read-line - (open-pipe* OPEN_READ - "guile" "-c" - "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (source (assoc-ref inputs "source")) - (doc (string-append out "/share/doc/guile-irregex/")) - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild"))) - ;; Make installation directories. - (mkdir-p (string-append module-dir "/rx/source")) - (mkdir-p doc) - - ;; Compile .scm files and install. - (setenv "GUILE_AUTO_COMPILE" "0") - - (for-each (lambda (copy-info) - (match copy-info - ((src-file dest-file-basis) - (let* ((dest-file (string-append - module-dir dest-file-basis - ".scm")) - (go-file (string-append - module-dir dest-file-basis - ".go"))) - ;; Install source module. - (copy-file src-file - dest-file) - ;; Install compiled module. - (invoke guild "compile" - "-L" (getcwd) - "-o" go-file - src-file))))) - '(("irregex-guile.scm" "/rx/irregex") - ("irregex.scm" "/rx/source/irregex") - ;; Not really reachable via guile's packaging system, - ;; but nice to have around - ("irregex-utils.scm" "/rx/source/irregex-utils"))) - - ;; Also copy over the README. - (install-file "irregex.html" doc) - #t)))))) - (inputs + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'move-files-around + (lambda _ + ;; Move the relevant source files to src/ and create the + ;; rx/ directory to match the expected module hierarchy. + (mkdir-p "src/rx/source") + (rename-file "irregex-guile.scm" + "src/rx/irregex.scm") + (rename-file "irregex.scm" + "src/rx/source/irregex.scm") + ;; Not really reachable via guile's packaging system, + ;; but nice to have around. + (rename-file "irregex-utils.scm" + "src/rx/source/irregex-utils.scm") + #t))) + #:source-directory "src")) + (native-inputs `(("guile" ,guile-2.2))) (home-page "http://synthcode.com/scheme/irregex") (synopsis "S-expression based regular expressions") @@ -1207,83 +1078,35 @@ inspired by the SCSH regular expression system.") (url "https://github.com/ijp/guile-gdbm.git") (commit "fa1d5b6231d0e4d096687b378c025f2148c5f246"))) (file-name (string-append name "-" version "-checkout")) + (patches (search-patches + "guile-gdbm-ffi-support-gdbm-1.14.patch")) (sha256 (base32 "1j8wrsw7v9w6qkl47xz0rdikg50v16nn6kbs3lgzcymjzpa7babj")))) - (build-system trivial-build-system) + (build-system guile-build-system) + (arguments + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'move-examples + (lambda* (#:key outputs #:allow-other-keys) + ;; Move examples where they belong. + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/" + (strip-store-file-name out) + "/examples"))) + (copy-recursively "examples" doc) + (delete-file-recursively "examples") + #t))) + (add-after 'unpack 'set-libgdbm-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "gdbm.scm" + (("\\(dynamic-link \"libgdbm\"\\)") + (format #f "(dynamic-link \"~a/lib/libgdbm.so\")" + (assoc-ref inputs "gdbm")))) + #t))))) + (native-inputs + `(("guile" ,guile-2.2))) (inputs - `(("guile" ,guile-2.2) - ;; patch-and-repack doesn't work for git checkouts, - ;; so we must apply the patch manually. - ("patch" ,patch) - ("patch-file" ,(search-patch - "guile-gdbm-ffi-support-gdbm-1.14.patch")))) - (propagated-inputs `(("gdbm" ,gdbm))) - (arguments - `(#:modules - ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (ice-9 rdelim) - (ice-9 popen)) - - ;; Avoid warnings we can safely ignore - (setenv "GUILE_AUTO_COMPILE" "0") - - (let* ((out (assoc-ref %outputs "out")) - (effective-version - (read-line - (open-pipe* OPEN_READ - (string-append - (assoc-ref %build-inputs "guile") - "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective-version)) - (source (assoc-ref %build-inputs "source")) - (doc (string-append out "/share/doc")) - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild")) - (gdbm.scm-dest - (string-append module-dir "/gdbm.scm")) - (gdbm.go-dest - (string-append module-dir "/gdbm.go")) - (compile-file - (lambda (in-file out-file) - (invoke guild "compile" "-o" out-file in-file)))) - ;; Switch directory for compiling and installing - (chdir source) - - ;; Install the documentation. - (install-file "README.md" doc) - (copy-recursively "examples" (string-append doc "/examples")) - - ;; Make installation directories. - (mkdir-p module-dir) - - ;; copy the source - (copy-file "gdbm.scm" gdbm.scm-dest) - - ;; Patch the FFI - (substitute* gdbm.scm-dest - (("\\(dynamic-link \"libgdbm\"\\)") - (format #f "(dynamic-link \"~a/lib/libgdbm.so\")" - (assoc-ref %build-inputs "gdbm")))) - - ;; Apply the patch to add support for gdbm-1.14. - (let ((patch-command (string-append (assoc-ref %build-inputs "patch") - "/bin/patch")) - (patch-file (assoc-ref %build-inputs "patch-file"))) - (with-directory-excursion (dirname gdbm.scm-dest) - (format #t "applying '~a'...~%" patch-file) - (invoke patch-command "--force" "--input" patch-file))) - - ;; compile to the destination - (compile-file gdbm.scm-dest gdbm.go-dest) - - #t)))) (home-page "https://github.com/ijp/guile-gdbm") (synopsis "Guile bindings to the GDBM library via Guile's FFI") (description @@ -2142,32 +1965,8 @@ It has a nice, simple s-expression based syntax.") (sha256 (base32 "16xhc3an6aglnca8xl3mvgi8hsqzqn68vsl5ga4bz8bvbap5fn4p")))) - (build-system gnu-build-system) - (arguments - `(#:modules ((system base compile) - ,@%gnu-build-system-modules) - #:tests? #f ;No tests included - #:phases - (modify-phases %standard-phases - (delete 'configure) ;No configure script - (replace 'install - (lambda* (#:key outputs inputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (module-dir (string-append out "/share/guile/site/2.2")) - (language-dir (string-append module-dir "/ice-9")) - (guild (string-append (assoc-ref inputs "guile") - "/bin/guild"))) - ;; The original 'make install' is too primitive. - - ;; copy the source - (install-file "ice-9/colorized.scm" language-dir) - - ;; compile to the destination - (compile-file "ice-9/colorized.scm" - #:output-file (string-append - language-dir "/colorized.go")) - #t)))))) - (inputs + (build-system guile-build-system) + (native-inputs `(("guile" ,guile-2.2))) (home-page "https://github.com/NalaGinrut/guile-colorized") (synopsis "Colorized REPL for Guile") @@ -2191,72 +1990,20 @@ It has a nice, simple s-expression based syntax.") (base32 "0nj2pd5bsmmgd3c54wh4sixfhmsv1arsq7yam2d7487h3n9q57r7")) (file-name (git-file-name name version)))) - (build-system trivial-build-system) + (build-system guile-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (srfi srfi-26) - (ice-9 match) - (ice-9 popen) - (ice-9 rdelim)) - - (let* ((out (assoc-ref %outputs "out")) - (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (go-dir (string-append out "/lib/guile/" - effective "/site-ccache/")) - (source (string-append (assoc-ref %build-inputs "source") - "/src")) - (scm-file "simple-zmq.scm") - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild")) - (zmq (assoc-ref %build-inputs "zeromq")) - (deps (list zmq)) - (path (string-join - (map (cut string-append <> - "/lib/") - deps) - ":"))) - ;; Make installation directories. - (mkdir-p module-dir) - (mkdir-p go-dir) - - ;; Compile .scm files and install. - (chdir source) - (setenv "GUILE_AUTO_COMPILE" "0") - (for-each (lambda (file) - (let* ((dest-file (string-append module-dir "/" - file)) - (go-file (match (string-split file #\.) - ((base _) - (string-append go-dir "/" - base ".go"))))) - ;; Install source module. - (copy-file file dest-file) - (substitute* dest-file - (("\\(dynamic-link \"libzmq\"\\)") - (format #f "(dynamic-link \"~a/lib/libzmq.so\")" - (assoc-ref %build-inputs "zeromq")))) - - ;; Install and compile module. - (unless (zero? (system* guild "compile" - "-L" source - "-o" go-file - dest-file)) - (error (format #f "Failed to compile ~s to ~s!" - file go-file))))) - (list scm-file)) - #t)))) - (inputs + `(#:source-directory "src" + #:phases (modify-phases %standard-phases + (add-after 'unpack 'set-libzmq-file-name + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "src/simple-zmq.scm" + (("\\(dynamic-link \"libzmq\"\\)") + (format #f "(dynamic-link \"~a/lib/libzmq.so\")" + (assoc-ref inputs "zeromq")))) + #t))))) + (native-inputs `(("guile" ,guile-2.2))) - (propagated-inputs + (inputs `(("zeromq" ,zeromq))) (home-page "https://github.com/jerry40/guile-simple-zmq") (synopsis "Guile wrapper over ZeroMQ library") @@ -2280,106 +2027,46 @@ messaging library.") (sha256 (base32 "0y5jr0f0dyskvsawqbf6n0bpg8jirw4mhqbarf2a6p9lxhqha9s9")))) - (build-system trivial-build-system) + (build-system guile-build-system) (arguments - `(#:modules ((guix build utils)) - #:builder - (begin - (use-modules (guix build utils) - (srfi srfi-26) - (ice-9 match) - (ice-9 popen) - (ice-9 rdelim)) - - (let* ((out (assoc-ref %outputs "out")) - (guile (assoc-ref %build-inputs "guile")) - (effective (read-line - (open-pipe* OPEN_READ - (string-append guile "/bin/guile") - "-c" "(display (effective-version))"))) - (module-dir (string-append out "/share/guile/site/" - effective)) - (kernel-dir (string-append out "/share/jupyter/kernels/guile")) - (go-dir (string-append out "/lib/guile/" - effective - "/site-ccache")) - (source (string-append (assoc-ref %build-inputs "source") - "/src")) - (scm-files '("hmac.scm" - "tools.scm" - "guile-jupyter-kernel.scm")) - (kernel-file "kernel.json") - (guild (string-append (assoc-ref %build-inputs "guile") - "/bin/guild")) - (g-szmq (assoc-ref %build-inputs "guile-simple-zmq")) - (json (assoc-ref %build-inputs "guile-json")) - (deps (list g-szmq json)) - (path (string-join - (map (cut string-append <> - "/share/guile/site/" - effective) - deps) - ":")) - (gopath (string-join - (map (cut string-append <> - "/lib/guile/" effective - "/site-ccache/") - deps) - ":"))) - - ;; Make installation directories. - (mkdir-p module-dir) - (mkdir-p kernel-dir) - (mkdir-p go-dir) - - ;; Make a writable copy of SOURCE. - (copy-recursively source ".") - - ;; Record the absolute file name of the 'openssl' command. - (substitute* "hmac.scm" - (("openssl") - (string-append (assoc-ref %build-inputs "openssl") - "/bin/openssl"))) - - ;; Compile .scm files and install. - (setenv "GUILE_AUTO_COMPILE" "0") - (setenv "GUILE_LOAD_PATH" path) - (setenv "GUILE_LOAD_COMPILED_PATH" gopath) - - (for-each (lambda (file) - (let* ((dest-file (string-append module-dir "/" - file)) - (go-file (match (string-split file #\.) - ((base _) - (string-append go-dir "/" - base ".go"))))) - ;; Install source module. - (copy-file file dest-file) - - ;; Install compiled module. - (unless (zero? (system* guild "compile" - "-L" source - "-o" go-file - file)) - (error (format #f "Failed to compile ~s to ~s!" - file go-file))))) - scm-files) - - ;; Install kernel - (copy-file kernel-file (string-append kernel-dir "/" - kernel-file)) - ;; Fix hard-coded file name in the kernel - (substitute* (string-append kernel-dir "/" - kernel-file) - (("/home/jerry/.local/share/jupyter/kernels/guile/guile-jupyter-kernel.scm") - (string-append module-dir "/guile-jupyter-kernel.scm")) - (("\"guile\"") - (string-append "\"" (assoc-ref %build-inputs "guile") - "/bin/guile\"")) - (("-s") - (string-append "--no-auto-compile\", \"-s"))) - - #t)))) + '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'set-openssl-file-name + (lambda* (#:key inputs #:allow-other-keys) + ;; Record the absolute file name of the 'openssl' + ;; command. + (substitute* "src/hmac.scm" + (("openssl") + (string-append (assoc-ref inputs "openssl") + "/bin/openssl"))) + #t)) + + ;; XXX: The code uses 'include' to include its own source + ;; files, and "-L src" isn't enough in this case. + (add-before 'build 'chdir + (lambda _ (chdir "src") #t)) + (add-after 'build 'chdir-back + (lambda _ (chdir "..") #t)) + + (add-after 'install 'install-kernel + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append + out "/share/jupyter/kernels/guile"))) + ;; Install kernel. + (install-file "src/kernel.json" dir) + + ;; Fix hard-coded file name in the kernel. + (substitute* (string-append dir "/kernel.json") + (("/home/.*/guile-jupyter-kernel.scm") + (string-append out "/share/guile/site/" + (target-guile-effective-version) + "/guile-jupyter-kernel.scm")) + (("\"guile\"") + (string-append "\"" (assoc-ref inputs "guile") + "/bin/guile\"")) + (("-s") + (string-append "--no-auto-compile\", \"-s"))) + #t)))))) (inputs `(("openssl" ,openssl) ("guile" ,guile-2.2))) -- cgit v1.2.3 From fef7baba786a96b7a3100c9c7adf8b45782ced37 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 18 Jul 2018 22:51:27 +0200 Subject: gnu: Add guile-pfds. * gnu/packages/guile.scm (guile-pfds): New variable. --- gnu/packages/guile.scm | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 2dd04917ab..f179f293ea 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1974,6 +1974,78 @@ It has a nice, simple s-expression based syntax.") "Guile-colorized provides you with a colorized REPL for GNU Guile.") (license license:gpl3+))) +(define-public guile-pfds + (package + (name "guile-pfds") + (version "0.3") + (home-page "https://github.com/ijp/pfds") + (source (origin + (method git-fetch) + (uri (git-reference + (url home-page) + (commit (string-append "v" version)))) + (sha256 + (base32 + "19y33wg94pf0n98dkfqd1zbw93fgky4sawxsxl6s3vyqwl0yi5vh")) + (file-name (string-append name "-" version "-checkout")))) + (build-system guile-build-system) + (arguments + '(#:source-directory "src" + #:phases (modify-phases %standard-phases + (add-after 'unpack 'move-files-around + (lambda _ + ;; Move files under a pfds/ directory to reflect the + ;; module hierarchy. + (mkdir-p "src/pfds") + (for-each (lambda (file) + (rename-file file + (string-append "src/pfds/" + file))) + '("bbtrees.sls" + "deques" + "deques.sls" + "dlists.sls" + "fingertrees.sls" + "hamts.sls" + "heaps.sls" + "private" + "psqs.sls" + "queues" + "queues.sls" + "sequences.sls" + "sets.sls")) + + ;; In Guile <= 2.2.4, there's no way to tell 'guild + ;; compile' to accept the ".sls" extension. So... + (for-each (lambda (file) + (rename-file file + (string-append + (string-drop-right file 4) + ".scm"))) + (find-files "." "\\.sls$")) + #t))))) + (native-inputs + `(("guile" ,guile-2.2))) + (synopsis "Purely functional data structures for Guile") + (description + "This package provides purely functional data structures written in R6RS +Scheme and compiled for Guile. It has been tested with Racket, Guile 2, +Vicare Scheme and IronScheme. Right now it contains: + +@itemize +@item queues +@item deques +@item bbtrees +@item sets +@item dlists +@item priority search queues (PSQs) +@item finger trees +@item sequences +@item heaps +@item hash array mapped tries (HAMTs). +@end itemize\n") + (license license:bsd-3))) + (define-public guile-simple-zmq (let ((commit "1f3b7c0b9b249c6fde8e8a632b252d8a1b794424") (revision "1")) -- cgit v1.2.3 From 2cdb257ee3d91da797737d7bca9cd1788a06eb7e Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Mon, 23 Jul 2018 11:23:11 -0400 Subject: gnu: arb: Update to 2.14.0. * gnu/packages/algebra.scm (arb): Update to 2.14.0. [arguments]: Substitute invoke for system*. [license]: Change to lgpl2.1+. --- gnu/packages/algebra.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 2a17ea59b6..c889433b41 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -315,7 +315,7 @@ fast arithmetic.") (define-public arb (package (name "arb") - (version "2.13.0") + (version "2.14.0") (source (origin (method url-fetch) (uri (string-append @@ -324,7 +324,7 @@ fast arithmetic.") (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "123p3gwx0s3i88rcaj3g4jl37cr3pywhpqackipskzab15ni2xfh")))) + "0ncr27nd20xxi18nj30cvpa6r52v59nq7gbi34x3l4xym3p8mlmx")))) (build-system gnu-build-system) (propagated-inputs `(("flint" ,flint))) ; flint.h is included by arf.h @@ -342,19 +342,18 @@ fast arithmetic.") (mpfr (assoc-ref inputs "mpfr"))) ;; do not pass "--enable-fast-install", which makes the ;; homebrew configure process fail - (zero? (system* - "./configure" + (invoke "./configure" (string-append "--prefix=" out) (string-append "--with-flint=" flint) (string-append "--with-gmp=" gmp) - (string-append "--with-mpfr=" mpfr))))))))) + (string-append "--with-mpfr=" mpfr)))))))) (synopsis "Arbitrary precision floating-point ball arithmetic") (description "Arb is a C library for arbitrary-precision floating-point ball arithmetic. It supports efficient high-precision computation with polynomials, power series, matrices and special functions over the real and complex numbers, with automatic, rigorous error control.") - (license license:gpl2+) + (license license:lgpl2.1+) (home-page "http://fredrikj.net/arb/"))) (define-public ntl -- cgit v1.2.3 From 3adacb49fc1d187a90cf0aa9cdc23bf9f050d656 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Mon, 23 Jul 2018 19:30:07 +0200 Subject: gnu: xorg: Update home-pages. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/xorg.scm (perl-x11-protocol-other, perl-x11-xcb) (perl-x11-protocol)[home-page]: Update to redirected home-pages. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 7a604ff074..0d362669b7 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5819,7 +5819,7 @@ programs that cannot use the window system directly.") ("xcb-proto" ,xcb-proto) ("xcb-util" ,xcb-util) ("xcb-util-wm" ,xcb-util-wm))) - (home-page "http://search.cpan.org/dist/X11-XCB") + (home-page "https://metacpan.org/release/X11-XCB") (synopsis "Perl bindings for libxcb") (description "These bindings wrap @code{libxcb} (a C library to speak with X11, @@ -5846,7 +5846,7 @@ interface to its methods (using @code{Mouse}).") "X11::Protocol is a client-side interface to the X11 Protocol, allowing perl programs to display windows and graphics on X11 servers.") (home-page - (string-append "http://search.cpan.org/~smccam/X11-Protocol-" version)) + (string-append "https://metacpan.org/release/SMCCAM/X11-Protocol-" version)) ;; From the package README: "you can redistribute and/or modify it under ;; the same terms as Perl itself. (As an exception, the file ;; Keysyms.pm,which is derived from a file in the standard X11 @@ -5874,7 +5874,7 @@ perl programs to display windows and graphics on X11 servers.") ("perl-module-util" ,perl-module-util))) (propagated-inputs `(("perl-x11-protocol" ,perl-x11-protocol))) - (home-page "http://search.cpan.org/dist/X11-Protocol-Other/") + (home-page "https://metacpan.org/release/X11-Protocol-Other") (synopsis "Miscellaneous helpers for @code{X11::Protocol} connections") (description "@code{X11::Protocol::Other} contains window manager related functions for -- cgit v1.2.3 From 8fca43e2df08fc465a44e200bd5df4b14c0aa213 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 23 Jul 2018 13:51:48 -0400 Subject: gnu: wesnoth: Update to 1.14.4 [fixes CVE-2018-1999023]. * gnu/packages/games.scm (wesnoth): Update to 1.14.4. --- 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 4dbdfae819..1082dadae6 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1957,7 +1957,7 @@ falling, themeable graphics and sounds, and replays.") (define-public wesnoth (package (name "wesnoth") - (version "1.14.3") + (version "1.14.4") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/wesnoth/wesnoth-" @@ -1966,7 +1966,7 @@ falling, themeable graphics and sounds, and replays.") name "-" version ".tar.bz2")) (sha256 (base32 - "06648041nr77sgzr7jpmcn37cma3hp41qynp50xzddx28l17zwg9")))) + "1hw1ap8xxpdwyx1sf8fm1g75p6724y3hwb4kpvyqbsq7bwfwsb9i")))) (build-system cmake-build-system) (arguments `(#:tests? #f)) ; no check target -- cgit v1.2.3 From d3b7feb7b9cbaa5ab08942ff1331d734c5193f33 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 23 Jul 2018 16:40:21 +0300 Subject: gnu: python-asn1crypto: Don't use unstable tarball. * gnu/packages/python-crypto.scm (python-asn1crypto)[source]: Replace autogenerated tarball with git checkout. --- gnu/packages/python-crypto.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 2d865a92b3..3c0fa6b21e 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Eric Dvorsak -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2015, 2016, 2017 Leo Famulari ;;; Copyright © 2016, 2017 Marius Bakke ;;; Copyright © 2017 Ben Sturmfels @@ -613,13 +613,14 @@ ECB and OFB).") (version "0.22.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/wbond/asn1crypto/archive/" - version ".tar.gz")) - (file-name (string-append name "-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wbond/asn1crypto.git") + (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1kn910896l3knmilla1c9ly20q181s43w1ah08lzkbm1h3j6pcz0")))) + "1n5chs5wzf1v8aii6z80dnwywjv6prk0wydamyn65kxg586wqqlf")))) (build-system python-build-system) (home-page "https://github.com/wbond/asn1crypto") (synopsis "ASN.1 parser and serializer in Python") -- cgit v1.2.3 From 19f2a52644ffabf4902d0506329aa29d835dda4f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 23 Jul 2018 18:48:24 +0300 Subject: gnu: python-asn1crypto: Update to 0.24.0. * gnu/packages/python-crypto.scm (python-asn1crypto): Update to 0.24.0. --- gnu/packages/python-crypto.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index 3c0fa6b21e..ed8aa836fd 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -610,7 +610,7 @@ ECB and OFB).") (define-public python-asn1crypto (package (name "python-asn1crypto") - (version "0.22.0") + (version "0.24.0") (source (origin (method git-fetch) @@ -620,7 +620,7 @@ ECB and OFB).") (file-name (git-file-name name version)) (sha256 (base32 - "1n5chs5wzf1v8aii6z80dnwywjv6prk0wydamyn65kxg586wqqlf")))) + "10lai2cs5mnz3gpaffbw1m7b885ls8328q5wxm35vfmcip1f0xmb")))) (build-system python-build-system) (home-page "https://github.com/wbond/asn1crypto") (synopsis "ASN.1 parser and serializer in Python") -- cgit v1.2.3 From e97454b62c3e6fac93441973a9c412d375e17497 Mon Sep 17 00:00:00 2001 From: Rutger Helling Date: Tue, 24 Jul 2018 11:17:42 +0200 Subject: gnu: mpv: Update to 0.29.0. * gnu/packages/video.scm (mpv): Update to 0.29.0. --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 8f4c60c424..24bf5b4ed9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1106,7 +1106,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public mpv (package (name "mpv") - (version "0.28.2") + (version "0.29.0") (source (origin (method url-fetch) (uri (string-append @@ -1114,7 +1114,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") ".tar.gz")) (sha256 (base32 - "15fp4sa5glqhgidd54vs6knf9dp809wszzsqiqz5nyri4ph19nma")) + "06bk8836brzik1qmq8kycwg5n35r438sd2176k6msjg5rrwghakp")) (file-name (string-append name "-" version ".tar.gz")))) (build-system waf-build-system) (native-inputs -- cgit v1.2.3 From 68f50cfdd34670f7cbc922398e9117de27f964c9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Jul 2018 10:18:14 +0200 Subject: gnu: xorg-server: Apply patch to fix screen rotation on KMS. Fixes . * gnu/packages/patches/xorg-server-rotate-fb.patch: New file. * gnu/packages/xorg.scm (xorg-server)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/xorg-server-rotate-fb.patch | 35 ++++++++++++++++++++++++ gnu/packages/xorg.scm | 3 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/xorg-server-rotate-fb.patch diff --git a/gnu/local.mk b/gnu/local.mk index 16521e8e0d..ea906b83e7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1234,6 +1234,7 @@ dist_patch_DATA = \ %D%/packages/patches/xinetd-fix-fd-leak.patch \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xmodmap-asprintf.patch \ + %D%/packages/patches/xorg-server-rotate-fb.patch \ %D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \ %D%/packages/patches/zathura-plugindir-environment-variable.patch \ %D%/packages/patches/zstd-fix-stdin-list-without-tty.patch \ diff --git a/gnu/packages/patches/xorg-server-rotate-fb.patch b/gnu/packages/patches/xorg-server-rotate-fb.patch new file mode 100644 index 0000000000..f47036b2a7 --- /dev/null +++ b/gnu/packages/patches/xorg-server-rotate-fb.patch @@ -0,0 +1,35 @@ +commit a85e94a50c94b07574c8701a3ff3c1243f4257f4 +Author: Olivier Fourdan +Date: Fri Jun 15 08:57:12 2018 +0200 + + modesetting: use drmmode_bo_import() for rotate_fb + + drmmode_shadow_allocate() still uses drmModeAddFB() which may fail if + the format is not as expected, preventing from using a rotated output. + + Change it to use the new function drmmode_bo_import() which takes care + of calling the drmModeAddFB2() API. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106715 + Signed-off-by: Olivier Fourdan + Tested-by: Tomas Pelka + Reviewed-by: Lyude Paul + +diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c +index 859a21a9d..ec11b3f56 100644 +--- a/hw/xfree86/drivers/modesetting/drmmode_display.c ++++ b/hw/xfree86/drivers/modesetting/drmmode_display.c +@@ -1794,11 +1794,8 @@ drmmode_shadow_allocate(xf86CrtcPtr crtc, int width, int height) + return NULL; + } + +- ret = drmModeAddFB(drmmode->fd, width, height, crtc->scrn->depth, +- drmmode->kbpp, +- drmmode_bo_get_pitch(&drmmode_crtc->rotate_bo), +- drmmode_bo_get_handle(&drmmode_crtc->rotate_bo), +- &drmmode_crtc->rotate_fb_id); ++ ret = drmmode_bo_import(drmmode, &drmmode_crtc->rotate_bo, ++ &drmmode_crtc->rotate_fb_id); + + if (ret) { + ErrorF("failed to add rotate fb\n"); diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0d362669b7..b238ea4aad 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5093,7 +5093,8 @@ over Xlib, including: (sha256 (base32 "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q")) - (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))) + (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")) + (search-patch "xorg-server-rotate-fb.patch"))))) (build-system gnu-build-system) (propagated-inputs `(("libpciaccess" ,libpciaccess) -- cgit v1.2.3 From a14a2da5fecdb7c022a44ca1fbc7e60981236eb5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Jul 2018 13:44:17 +0200 Subject: gnu: lightdm: Take 'nologin' from the 'shadow' package. Reported by brendarn on #guix. * gnu/packages/display-managers.scm (lightdm)[inputs]: Use SHADOW instead of UTIL-LINUX. --- gnu/packages/display-managers.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index a4ed601ec8..0a68099d67 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Joshua Grant -;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014, 2018 Ludovic Courtès ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017 Sou Bunnbu @@ -257,7 +257,7 @@ create smooth, animated user interfaces.") (inputs `(("audit" ,audit) ("linux-pam" ,linux-pam) - ("util-linux" ,util-linux) ; for sbin/nologin + ("shadow" ,shadow) ;for sbin/nologin ("libgcrypt" ,libgcrypt) ("libxcb" ,libxcb))) (native-inputs -- cgit v1.2.3 From 0e11f5da4daf1fc715f64b1e4a26bf7091da7cf1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Jul 2018 15:17:37 +0200 Subject: gnu: go-github-com-yookoala-realpath: Fix license. * gnu/packages/golang.scm (go-github-com-yookoala-realpath)[license]: Change to EXPAT. --- gnu/packages/golang.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index c2055956b9..445533b0c2 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -2171,7 +2171,7 @@ anyways and Go regexps are more powerful.") (description "This package provides @code{realpath}, a Go module that when provided with a valid relative path / alias path, it will return you with a string of its real absolute path in the system.") - (license license:bsd-style)))) + (license license:expat)))) (define-public go-gitlab-com-ambrevar-damerau (let ((commit "883829e1f25fad54015772ea663e69017cf22352") -- cgit v1.2.3 From f7b447f84bc3d044ce9c8f9fa067f73d689479be Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 24 Jul 2018 09:56:53 -0400 Subject: gnu: linux-libre@4.4: Update to 4.4.143. * gnu/packages/linux.scm (linux-libre-4.4): Update to 4.4.143. --- 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 ad2ce2588d..4a109f3493 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -429,8 +429,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.4 - (make-linux-libre "4.4.141" - "0lzl0zz12r1s2r1x4bmyfhcj1mq14rm1c6npyvsj79fzz0z4z2pc" + (make-linux-libre "4.4.143" + "0kawgpmmv37gds3cbww791bbzvwfjg760yg3qw3dk913dawhdmzw" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From b02ba32af54f7b31c321dbeb05ff6f84e90fbdc3 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 24 Jul 2018 09:57:48 -0400 Subject: gnu: linux-libre@4.9: Update to 4.9.114. * gnu/packages/linux.scm (linux-libre-4.9): Update to 4.9.114. --- 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 4a109f3493..f23681251a 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -423,8 +423,8 @@ It has been modified to remove all non-free binary blobs.") #:configuration-file kernel-config)) (define-public linux-libre-4.9 - (make-linux-libre "4.9.113" - "12xj0ymwb0rdxnkl18xg40hiqcr5ad636xsjqz6aag2wxj8ld2xr" + (make-linux-libre "4.9.114" + "069ckgck4skzci6sjrpk1sja0h1fdmrlcbpnqwl2844m5vfffzk9" %intel-compatible-systems #:configuration-file kernel-config)) -- cgit v1.2.3 From 7955bdbd174c51fd9da5f775d2ab2630251ba2fa Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 24 Jul 2018 09:58:41 -0400 Subject: gnu: linux-libre@4.14: Update to 4.14.57. * gnu/packages/linux.scm (%linux-libre-4.14-version): Update to 4.14.57. (%linux-libre-4.14-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f23681251a..2de0dce7d8 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -413,8 +413,8 @@ It has been modified to remove all non-free binary blobs.") %linux-compatible-systems #:configuration-file kernel-config)) -(define %linux-libre-4.14-version "4.14.56") -(define %linux-libre-4.14-hash "15a4gsi1nsjab16qwfizc0bdn0h27w54qy2a50847i0ln4akdrzl") +(define %linux-libre-4.14-version "4.14.57") +(define %linux-libre-4.14-hash "1qp8g87ss4a3iz6k3k4mkllibvdrixh6ys4a9l7jidp2wmkxj3kc") (define-public linux-libre-4.14 (make-linux-libre %linux-libre-4.14-version -- cgit v1.2.3 From 20de675a2e8146d814b565314dd4c7a0234d626d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 24 Jul 2018 09:59:35 -0400 Subject: gnu: linux-libre: Update to 4.17.9. * gnu/packages/linux.scm (%linux-libre-version): Update to 4.17.9. (%linux-libre-hash): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2de0dce7d8..7ad62b1d84 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -404,8 +404,8 @@ It has been modified to remove all non-free binary blobs.") ;; supports qemu "virt" machine and possibly a large number of ARM boards. ;; See : https://wiki.debian.org/DebianKernel/ARMMP. -(define %linux-libre-version "4.17.8") -(define %linux-libre-hash "0anq35i9x0kslz42g73vq8wbg56rmrcb38j8mgnhc5c99037gkwr") +(define %linux-libre-version "4.17.9") +(define %linux-libre-hash "1mahjxn4j7sdjdrbkrgal37nfx23njhnmrxcmixmphps8i44rlwm") (define-public linux-libre (make-linux-libre %linux-libre-version -- cgit v1.2.3 From 8440db459a10daa24282038f35bc0b6771bd51ab Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Mon, 23 Jul 2018 00:25:34 +0200 Subject: import: PyPI: Update redirected URL. * guix/import/pypi.scm (guix-package->pypi-name, pypi->guix-package): Update docstrings. (pypi-package?): Test for pypi.org, too. (pypi-fetch): s/pypi.python.org/pypi.org/ * tests/pypi.scm ("guix-package->pypi-name, new URL style", "pypi->guix-package", "pypi->guix-package, wheels"): Likewise. --- guix/import/pypi.scm | 10 +++++----- tests/pypi.scm | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/guix/import/pypi.scm b/guix/import/pypi.scm index 6beab6b010..25560bac46 100644 --- a/guix/import/pypi.scm +++ b/guix/import/pypi.scm @@ -51,8 +51,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.python.org/pypi/" - name "/json"))) + (json-fetch-alist (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 @@ -87,7 +86,7 @@ package." (string-append "python-" (snake-case name)))) (define (guix-package->pypi-name package) - "Given a Python PACKAGE built from pypi.python.org, return the name of the + "Given a Python PACKAGE built from pypi.org, return the name of the package on PyPI." (define (url->pypi-name url) (hyphen-package-name->name+version @@ -269,7 +268,7 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." (license ,(license->symbol license))))))) (define (pypi->guix-package package-name) - "Fetch the metadata for PACKAGE-NAME from pypi.python.org, and return the + "Fetch the metadata for PACKAGE-NAME from pypi.org, and return the `package' s-expression corresponding to that package, or #f on failure." (let ((package (pypi-fetch package-name))) (and package @@ -304,7 +303,8 @@ VERSION, SOURCE-URL, HOME-PAGE, SYNOPSIS, DESCRIPTION, and LICENSE." "Return true if PACKAGE is a Python package from PyPI." (define (pypi-url? url) - (or (string-prefix? "https://pypi.python.org/" url) + (or (string-prefix? "https://pypi.org/" url) + (string-prefix? "https://pypi.python.org/" url) (string-prefix? "https://pypi.io/packages" url))) (let ((source-url (and=> (package-source package) origin-uri)) diff --git a/tests/pypi.scm b/tests/pypi.scm index 74f13e9662..310c6c8f29 100644 --- a/tests/pypi.scm +++ b/tests/pypi.scm @@ -89,7 +89,7 @@ baz > 13.37") (dummy-package "foo" (source (dummy-origin (uri - "https://pypi.python.org/packages/a2/3b/4756e6a0ceb14e084042a2a65c615d68d25621c6fd446d0fc10d14c4ce7d/certbot-0.8.1.tar.gz")))))) + "https://pypi.org/packages/a2/3b/4756e6a0ceb14e084042a2a65c615d68d25621c6fd446d0fc10d14c4ce7d/certbot-0.8.1.tar.gz")))))) (test-equal "guix-package->pypi-name, several URLs" "cram" @@ -120,7 +120,7 @@ baz > 13.37") (mock ((guix http-client) http-fetch (lambda (url . rest) (match url - ("https://pypi.python.org/pypi/foo/json" + ("https://pypi.org/pypi/foo/json" (values (open-input-string test-json) (string-length test-json))) ("https://example.com/foo-1.0.0-py2.py3-none-any.whl" #f) @@ -182,7 +182,7 @@ baz > 13.37") (mock ((guix http-client) http-fetch (lambda (url . rest) (match url - ("https://pypi.python.org/pypi/foo/json" + ("https://pypi.org/pypi/foo/json" (values (open-input-string test-json) (string-length test-json))) ("https://example.com/foo-1.0.0-py2.py3-none-any.whl" #f) -- cgit v1.2.3 From 45498f51be5e0d747e69b2891a331fe7cadb1df4 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 24 Jul 2018 21:56:47 +0200 Subject: gnu: Add ruby-childprocess. * gnu/packages/ruby.scm (ruby-childprocess): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9a74f16c01..bd8df1a349 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4983,3 +4983,28 @@ Markdown.") in standard Ruby syntax.") (home-page "https://github.com/ruby/rake") (license license:expat))) + +(define-public ruby-childprocess + (package + (name "ruby-childprocess") + (version "0.9.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "childprocess" version)) + (sha256 + (base32 + "0a61922kmvcxyj5l70fycapr87gz1dzzlkfpq85rfqk5vdh3d28p")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f)) + (native-inputs + `(("bundler" ,bundler) + ("ruby-rspec" ,ruby-rspec))) + (propagated-inputs + `(("ruby-ffi" ,ruby-ffi))) + (synopsis "Control external programs running in the background, in Ruby") + (description "@code{childprocess} provides a gem to control external +programs running in the background, in Ruby.") + (home-page "http://github.com/enkessler/childprocess") + (license license:expat))) -- cgit v1.2.3 From 999ffb26df16c5a95aab4378c0f65f84615efa1a Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 24 Jul 2018 22:13:21 +0200 Subject: gnu: Add ruby-rspec-its. * gnu/packages/ruby.scm (ruby-rspec-its): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bd8df1a349..6b85fe68e3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -446,6 +446,29 @@ outcomes of a code example.") (propagated-inputs `(("ruby-diff-lcs" ,ruby-diff-lcs))))) +(define-public ruby-rspec-its + (package + (name "ruby-rspec-its") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "rspec-its" version)) + (sha256 + (base32 + "1pwphny5jawcm1hda3vs9pjv1cybaxy17dc1s75qd7drrvx697p3")))) + (build-system ruby-build-system) + (arguments + `(#:tests? #f)) ; needs cucumber. + (propagated-inputs + `(("ruby-rspec-core" ,ruby-rspec-core) + ("ruby-rspec-expectations" ,ruby-rspec-expectations))) + (synopsis "RSpec extension gem for attribute matching") + (description "@code{rspec-its} is an RSpec extension gem for attribute +matching.") + (home-page "https://github.com/rspec/rspec-its") + (license license:expat))) + (define-public ruby-rspec-mocks (package (name "ruby-rspec-mocks") -- cgit v1.2.3 From 8376f10a30c1bb246689ba68984e680ddf0dffa1 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Tue, 24 Jul 2018 22:46:55 +0200 Subject: ruby-build-system: Make phase "replace-git-ls-files" handle more cases. * guix/build/ruby-build-system.scm (replace-git-ls-files): Modify. --- guix/build/ruby-build-system.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index a346e9fb8e..3a658e2557 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -78,7 +78,8 @@ operation is not deterministic, we replace it with `find`." (when (not (gem-archive? source)) (let ((gemspec (first-gemspec))) (substitute* gemspec - (("`git ls-files`") "`find . -type f |sort`")))) + (("`git ls-files`") "`find . -type f |sort`") + (("`git ls-files -z`") "`find . -type f -print0 |sort -z`")))) #t) (define* (extract-gemspec #:key source #:allow-other-keys) -- cgit v1.2.3 From 718f791f4ef9f0f3b7d9cd218ba55a3a73c62111 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Tue, 24 Jul 2018 23:15:56 +0200 Subject: gnu: fuse: Update to 2.9.8 [fixes CVE-2018-10906]. * gnu/packages/linux.scm (fuse): Update to 2.9.8. --- 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 7ad62b1d84..7edf20ebc9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1611,7 +1611,7 @@ processes currently causing I/O.") (define-public fuse (package (name "fuse") - (version "2.9.7") + (version "2.9.8") (source (origin (method url-fetch) (uri (string-append "https://github.com/libfuse/libfuse/releases/" @@ -1619,7 +1619,7 @@ processes currently causing I/O.") "/fuse-" version ".tar.gz")) (sha256 (base32 - "0x486nri30f7cgy0acj87v9sjxsjrr0cymrvw4h3r0sgmp8k4943")) + "1k4ggl2y5v0lr98l189pc81w0zijj23wbbnijsc6zlx84117nd0j")) (patches (search-patches "fuse-overlapping-headers.patch")))) (build-system gnu-build-system) (inputs `(("util-linux" ,util-linux))) -- cgit v1.2.3 From 9936ffe77d5f69185f68c52d44ec21c9f94600e6 Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:20:38 +0200 Subject: gnu: java-guice: Remove jars. * gnu/packages/java.scm (java-guice)[source]: Add snippet to delete jar-files. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index bc28428935..b8587ccc07 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -7908,6 +7908,10 @@ the dependency is said to be unsatisfied, and the application is broken.") (uri (string-append "https://github.com/google/guice/archive/" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each delete-file (find-files "." ".*.jar")))) (sha256 (base32 "0dwmqjzlavb144ywqqglj3h68hqszkff8ai0a42hyb5il0qh4rbp")))) -- cgit v1.2.3 From b1ccd2a1ecdd0732194b015844a02599e764a3a9 Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:22:36 +0200 Subject: gnu: java-logback-core: Add file-name field. * gnu/package/java.scm (java-logback-core)[source]: Add file-name field. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b8587ccc07..7f7cf52a64 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -10277,6 +10277,7 @@ static code analysis or code manipulation."))) (method url-fetch) (uri (string-append "https://github.com/qos-ch/logback/archive/v_" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 "1x6ga74yfgm94cfx98gybakbrlilx8i2gn6dx13l40kasmys06mi")) -- cgit v1.2.3 From 10eddaca0e0012fd6894ae9c5d59eaf4d0efa351 Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:23:28 +0200 Subject: gnu: java: Use java-classpathx-servletapi instead of java-tomcat where possible. * gnu/package/java.scm (java-commons-jxpath)[inputs]: Remove java-tomcat, add java-classpathx-servletapi. (java-guice-servlet)[inputs]: Likewise. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 7f7cf52a64..d6c88f56be 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -4449,7 +4449,7 @@ these scripting language engines.") #:tests? #f #:source-dir "src/java")) (inputs - `(("java-tomcat" ,java-tomcat) + `(("servlet" ,java-classpathx-servletapi) ("java-jdom" ,java-jdom) ("java-commons-beanutils" ,java-commons-beanutils))) (native-inputs @@ -7944,7 +7944,7 @@ Java 6 and above.") #:tests? #f)); FIXME: not in a java subdir (inputs `(("guice" ,java-guice) - ("servlet" ,java-tomcat) + ("servlet" ,java-classpathx-servletapi) ,@(package-inputs java-guice))))) (define-public java-assertj -- cgit v1.2.3 From 10d62a88bf1b33f1f4df9d3d0b4721bd5f5cd70b Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:23:55 +0200 Subject: gnu: Add java-javaee-servletapi. * gnu/packages/java.scm (java-javaee-servletapi): New variable. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index d6c88f56be..b60aeddea2 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -2537,6 +2537,37 @@ ClasspathX project. It provides implementations of version 3.0 of the servlet API and version 2.1 of the Java ServerPages API.") (license license:gpl3+))) +(define-public java-javaee-servletapi + (package + (name "java-javaee-servletapi") + (version "3.1.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/javaee/servlet-spec/" + "archive/" version ".zip")) + (file-name (string-append name "-" version ".zip")) + (sha256 + (base32 + "0m6p13vgfb1ihich1jp5j6fqlhkjsrkn32c86bsbkryp38ipwg8w")))) + (build-system ant-build-system) + (arguments + `(#:jar-name "javax-servletapi.jar" + ;; no tests + #:tests? #f + #:source-dir "src/main/java")) + (native-inputs + `(("unzip" ,unzip))) + (home-page "https://javaee.github.io/servlet-spec/") + (synopsis "Java servlet API") + (description "Java Servlet is the foundation web specification in the +Java Enterprise Platform. Developers can build web applications using the +Servlet API to interact with the request/response workflow. This project +provides information on the continued development of the Java Servlet +specification.") + ;; Main code is dual-licensed by Oracle under either GLP2 or CDDL 1.1. + ;; Some files are licensed under ASL 2.0. + (license (list license:asl2.0 license:gpl2 license:cddl1.1)))) + (define-public java-swt (package (name "java-swt") -- cgit v1.2.3 From 4b472f6a062203fe14f5cda7b6379c9599afedf7 Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:24:25 +0200 Subject: gnu: java: Use java-javaee-servletapi instead of java-tomcat. * gnu/packages/java.scm(java-eclipse-sisu-inject)[inputs]: Remove java-tomcat, add java-javaee-servletapi. (logback-core)[inputs]: Likewise. * gnu/packages/maven.scm (maven-wagon-provider-test)[inputs]: Likewise. * gnu/packages/web.scm (java-eclipse-jetty-webapp)[inputs]: Likewise. (java-eclipse-jetty-server)[inputs]: Likewise. (java-eclipse-jetty-http)[inputs]: Likewise. (java-eclipse-jetty-jmx)[inputs]: Likewise. (java-eclipse-jetty-io)[inputs]: Likewise. Signed-off-by: Julien Lepiller --- gnu/packages/java.scm | 6 +++--- gnu/packages/maven.scm | 2 +- gnu/packages/web.scm | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index b60aeddea2..2ba6d76cae 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -10144,7 +10144,7 @@ and reporting) project dependencies. It is characterized by the following: `(("java-guice" ,java-guice) ("java-guice-servlet" ,java-guice-servlet) ("java-javax-inject" ,java-javax-inject) - ("java-tomcat" ,java-tomcat) + ("java-javaee-servletapi" ,java-javaee-servletapi) ("java-junit" ,java-junit) ("java-slf4j-api" ,java-slf4j-api) ("java-jsr305" ,java-jsr305) @@ -10339,7 +10339,7 @@ static code analysis or code manipulation."))) #t))))) (inputs `(("java-javax-mail" ,java-javax-mail) - ("java-tomcat" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("java-commons-compiler" ,java-commons-compiler) ("java-janino" ,java-janino))) (native-inputs @@ -10383,7 +10383,7 @@ This module lays the groundwork for the other two modules.") (find-files (assoc-ref inputs input) ".*.jar")) '("java-logback-core" "java-slf4j-api" - "java-commons-compiler" "java-tomcat" + "java-commons-compiler" "servlet" "groovy"))) ":")) (apply invoke "groovyc" "-d" "build/classes" "-j" diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm index a3e5687dc8..34fbce0e62 100644 --- a/gnu/packages/maven.scm +++ b/gnu/packages/maven.scm @@ -428,7 +428,7 @@ artifact and repository handling code.") ("java-eclipse-jetty-server-9.2" ,java-eclipse-jetty-server-9.2) ("java-eclipse-jetty-servlet-9.2" ,java-eclipse-jetty-servlet-9.2) ("java-slf4j-api" ,java-slf4j-api) - ("java-tomcat" ,java-tomcat) + ("java-javaee-servletapi" ,java-javaee-servletapi) ("maven-wagon-provider-api" ,maven-wagon-provider-api))) (synopsis "Test classes from maven-wagon") (description "Maven Wagon is a transport abstraction that is used in Maven's diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index b76f111954..44300d3091 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5938,7 +5938,7 @@ or embedded instantiation. This package provides utility classes.") #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("util" ,java-eclipse-jetty-util))) (synopsis "Jetty :: IO Utility") (description "The Jetty Web Server provides an HTTP server and Servlet @@ -5981,7 +5981,7 @@ or embedded instantiation. This package provides IO-related utility classes.")) #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("io" ,java-eclipse-jetty-io) ("util" ,java-eclipse-jetty-util))) (synopsis "Jetty :: Http Utility") @@ -6016,7 +6016,7 @@ or embedded instantiation. This package provides HTTP-related utility classes." #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("util" ,java-eclipse-jetty-util))) (synopsis "Jetty :: JMX Management") (description "The Jetty Web Server provides an HTTP server and Servlet @@ -6097,7 +6097,7 @@ or embedded instantiation. This package provides the JMX management."))) #t))))) (inputs `(("slf4j" ,java-slf4j-api) - ("servlet" ,java-tomcat) + ("servlet" ,java-javaee-servletapi) ("http" ,java-eclipse-jetty-http) ("io" ,java-eclipse-jetty-io) ("jmx" ,java-eclipse-jetty-jmx) @@ -6293,7 +6293,7 @@ container."))) ("java-eclipse-jetty-servlet" ,java-eclipse-jetty-servlet) ("java-eclipse-jetty-security" ,java-eclipse-jetty-security) ("java-eclipse-jetty-xml" ,java-eclipse-jetty-xml) - ("java-tomcat" ,java-tomcat))) + ("java-javaee-servletapi" ,java-javaee-servletapi))) (native-inputs `(("java-eclipse-jetty-io" ,java-eclipse-jetty-io) ,@(package-native-inputs java-eclipse-jetty-util))))) -- cgit v1.2.3 From 6a86d3576c96f39146ce31271b5fe568beb1a9b0 Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:24:49 +0200 Subject: gnu: java-tomcat: Update to 8.5.32. * gnu/packages/web.scm (java-tomcat): Update to 8.5.32. Signed-off-by: Julien Lepiller --- 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 44300d3091..079d53032c 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5712,14 +5712,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.") (define-public java-tomcat (package (name "java-tomcat") - (version "8.5.28") + (version "8.5.32") (source (origin (method url-fetch) (uri (string-append "mirror://apache/tomcat/tomcat-8/v" version "/src/apache-tomcat-" version "-src.tar.gz")) (sha256 (base32 - "0q2bc3sajrmcx3z3vhhwp78y47ryc2ky8ssbdmfk24zvqdb76hvl")))) + "1qjsr6zmkdciakya4jqz0ssnsk02qlmmd898c05rasfwcrpj0xi6")))) (build-system ant-build-system) (inputs `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core))) -- cgit v1.2.3 From 8dae9c92b660f421b78ba79d643288a09c35eafe Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:25:10 +0200 Subject: gnu: java-tomcat: Remove bundled jars. * gnu/packages/web.scm (java-tomcat)[source]: Add snippet to remove bundled jars. Signed-off-by: Julien Lepiller --- gnu/packages/web.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 079d53032c..de6b118a59 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5719,7 +5719,13 @@ encoder/decoder based on the draft-12 specification for UBJSON.") version "/src/apache-tomcat-" version "-src.tar.gz")) (sha256 (base32 - "1qjsr6zmkdciakya4jqz0ssnsk02qlmmd898c05rasfwcrpj0xi6")))) + "1qjsr6zmkdciakya4jqz0ssnsk02qlmmd898c05rasfwcrpj0xi6")) + (modules '((guix build utils))) + ;; Delete bundled jars. + (snippet + '(begin + (for-each delete-file (find-files "." "\\.jar$")) + #t)))) (build-system ant-build-system) (inputs `(("java-eclipse-jdt-core" ,java-eclipse-jdt-core))) -- cgit v1.2.3 From 49a8684d9f20656aaa9094c02164cbf2f67b290b Mon Sep 17 00:00:00 2001 From: Björn Höfling Date: Sat, 21 Jul 2018 10:25:32 +0200 Subject: gnu: java-tomcat: Strip timestamps * gnu/package/web.scm (java-tomcat)[arguments]: Add phase 'strip timestamps. Makes build deterministic. Signed-off-by: Julien Lepiller --- gnu/packages/web.scm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index de6b118a59..c4b78d0b64 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -5747,6 +5747,14 @@ encoder/decoder based on the draft-12 specification for UBJSON.") (("depends=\"validate\"") "depends=\"build-prepare\"") ((",download-validate") "")) #t)) + (add-after 'unpack 'strip-timestamps + (lambda _ + (substitute* "build.xml" + (("") + (("")) + #t)) (add-after 'unpack 'generate-properties (lambda _ ;; This could have been passed to make-flags, but getcwd returns -- cgit v1.2.3 From 2ed97a22d31196d06c9769925a7fd70b057ef900 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 24 Jul 2018 18:19:57 -0400 Subject: gnu: go-github-com-thejerf-suture: Update to 2.0.3-0.3f1fb62. * gnu/packages/syncthing.scm (go-github-com-thejerf-suture): Update to 2.0.3-0.3f1fb62. --- 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 4c0bceedf6..9dcaa658c9 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -703,11 +703,11 @@ database in Go.") (license bsd-2)))) (define-public go-github-com-thejerf-suture - (let ((commit "87e298c9891673c9ae76e10c2c9be589127e5f49") + (let ((commit "3f1fb62fe0a3cc6429122d7dc45588a8b59c5bb6") (revision "0")) (package (name "go-github-com-thejerf-suture") - (version (git-version "2.0.1" revision commit)) + (version (git-version "2.0.3" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -716,7 +716,7 @@ database in Go.") (file-name (git-file-name name version)) (sha256 (base32 - "0srw0g94z6jplvlsjqsr6wf7885alnbb6h4fhvbg2i7q1ia5ldy2")))) + "0mp7gz6bp6xhggkgmbl33vpmrq3a6n2dkgcxbkb7csnpv4r4d59k")))) (build-system go-build-system) (arguments `(#:import-path "github.com/thejerf/suture")) -- cgit v1.2.3 From 869d9c69f32b140ffc7b11314f411ddc92ee2a9e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 24 Jul 2018 18:20:47 -0400 Subject: gnu: go-github-com-syncthing-notify: Update to 0.0.0-1.cdf89c4. * gnu/packages/syncthing.scm (go-github-com-syncthing-notify): Update to 0.0.0-1.cdf89c4. --- 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 9dcaa658c9..c9313e7d94 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -1088,8 +1088,8 @@ using sh's word-splitting rules.") (license expat)))) (define-public go-github-com-syncthing-notify - (let ((commit "b9ceffc925039c77cd9e0d38f248279ccc4399e2") - (revision "0")) + (let ((commit "cdf89c4039d13726e227d0a472053ea19de021b4") + (revision "1")) (package (name "go-github-com-syncthing-notify") (version (git-version "0.0.0" revision commit)) @@ -1101,7 +1101,7 @@ using sh's word-splitting rules.") (file-name (git-file-name name version)) (sha256 (base32 - "1scha9b2r35bvqzqx86sarzjxf72ywvj3g6n9pm3xq4i4xzpylxf")))) + "1ra1id9r06i4q8vhrrv1zpybhjxs3361rg35758dxglkyk4pzk6j")))) (build-system go-build-system) (arguments '(#:import-path "github.com/syncthing/notify")) -- cgit v1.2.3 From 39a57afc42d473517f6e62c2d6a5d3c75eee3e89 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 12 Jun 2018 15:14:43 -0400 Subject: gnu: syncthing: Update to 0.14.49. * gnu/packages/syncthing.scm (syncthing): Update to 0.14.49. [source]: Remove obsolete patch. [inputs]: Remove go-github-com-kardianos-osext. * gnu/packages/patches/syncthing-fix-crash.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/syncthing-fix-crash.patch | 72 -------------------------- gnu/packages/syncthing.scm | 6 +-- 3 files changed, 2 insertions(+), 77 deletions(-) delete mode 100644 gnu/packages/patches/syncthing-fix-crash.patch diff --git a/gnu/local.mk b/gnu/local.mk index ea906b83e7..fa859d5bb0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1139,7 +1139,6 @@ dist_patch_DATA = \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ - %D%/packages/patches/syncthing-fix-crash.patch \ %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ diff --git a/gnu/packages/patches/syncthing-fix-crash.patch b/gnu/packages/patches/syncthing-fix-crash.patch deleted file mode 100644 index d27e543982..0000000000 --- a/gnu/packages/patches/syncthing-fix-crash.patch +++ /dev/null @@ -1,72 +0,0 @@ -Avoid a crash: - -https://github.com/syncthing/syncthing/issues/5002 - -Patch copied from upstream source repository: - -https://github.com/syncthing/syncthing/commit/35a75a95dc6383b2d73ab645f1407f7907ec1a2c - -From 35a75a95dc6383b2d73ab645f1407f7907ec1a2c Mon Sep 17 00:00:00 2001 -From: Jakob Borg -Date: Wed, 13 Jun 2018 19:07:52 +0200 -Subject: [PATCH] lib/model: Don't panic when rechecking file (fixes #5002) - (#5003) - ---- - lib/model/model.go | 2 +- - lib/model/model_test.go | 26 ++++++++++++++++++++++++++ - 2 files changed, 27 insertions(+), 1 deletion(-) - -diff --git a/lib/model/model.go b/lib/model/model.go -index 5a9146e0..302f06c5 100644 ---- a/lib/model/model.go -+++ b/lib/model/model.go -@@ -1373,7 +1373,7 @@ func (m *Model) recheckFile(deviceID protocol.DeviceID, folderFs fs.Filesystem, - return - } - -- if blockIndex > len(cf.Blocks) { -+ if blockIndex >= len(cf.Blocks) { - l.Debugf("%v recheckFile: %s: %q / %q i=%d: block index too far", m, deviceID, folder, name, blockIndex) - return - } -diff --git a/lib/model/model_test.go b/lib/model/model_test.go -index 295eafc1..456bbc4a 100644 ---- a/lib/model/model_test.go -+++ b/lib/model/model_test.go -@@ -3608,6 +3608,32 @@ func TestIssue4903(t *testing.T) { - } - } - -+func TestIssue5002(t *testing.T) { -+ // recheckFile should not panic when given an index equal to the number of blocks -+ -+ db := db.OpenMemory() -+ m := NewModel(defaultCfgWrapper, protocol.LocalDeviceID, "syncthing", "dev", db, nil) -+ m.AddFolder(defaultFolderConfig) -+ m.StartFolder("default") -+ -+ m.ServeBackground() -+ defer m.Stop() -+ -+ if err := m.ScanFolder("default"); err != nil { -+ t.Error(err) -+ } -+ -+ file, ok := m.CurrentFolderFile("default", "foo") -+ if !ok { -+ t.Fatal("test file should exist") -+ } -+ nBlocks := len(file.Blocks) -+ -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks-1, []byte{1, 2, 3, 4}) -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks, []byte{1, 2, 3, 4}) // panic -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks+1, []byte{1, 2, 3, 4}) -+} -+ - func addFakeConn(m *Model, dev protocol.DeviceID) *fakeConnection { - fc := &fakeConnection{id: dev, model: m} - m.AddConnection(fc, protocol.HelloResult{}) --- -2.18.0 - diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c9313e7d94..58e3f02db8 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -30,16 +30,15 @@ (define-public syncthing (package (name "syncthing") - (version "0.14.48") + (version "0.14.49") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" "/releases/download/v" version "/syncthing-source-v" version ".tar.gz")) - (patches (search-patches "syncthing-fix-crash.patch")) (sha256 (base32 - "0bxkm5jlj6l4gai23bg0y31brr80r9qllh1rdg29pahjn0c2b4ml")) + "06mzzj5iwgqw3yva7azrsqs9zpl84srbamza4gm03grp7v9gf3sj")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -130,7 +129,6 @@ ("go-github-com-golang-groupcache-lru" ,go-github-com-golang-groupcache-lru) ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway) - ("go-github-com-kardianos-osext" ,go-github-com-kardianos-osext) ("go-github-com-kballard-go-shellquote" ,go-github-com-kballard-go-shellquote) ("go-github-com-lib-pq" ,go-github-com-lib-pq) -- cgit v1.2.3 From 8e1895964fd10fbf5f19ad39ca080f684a6246d6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Thu, 19 Jul 2018 21:16:43 +0300 Subject: gnu: Add hplip-minimal. * gnu/packages/cups.scm (hplip-minimal): New variable. * gnu/packages/scanner.scm (sane-backends)[inputs]: Replace hplip with hplip-minimal. * doc/guix.texi (Printing Services): Change example code to use hplip-minimal in place of hplip. Add note explaining when use hplip. --- doc/guix.texi | 8 ++++++-- gnu/packages/cups.scm | 19 +++++++++++++++++-- gnu/packages/scanner.scm | 3 ++- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index f9b3ef0e55..2df4064524 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12156,7 +12156,7 @@ secure connections to the print server. Suppose you want to enable the Web interface of CUPS and also add support for Epson printers @i{via} the @code{escpr} package and for HP -printers @i{via} the @code{hplip} package. You can do that directly, +printers @i{via} the @code{hplip-minimal} package. You can do that directly, like this (you need to use the @code{(gnu packages cups)} module): @example @@ -12164,9 +12164,13 @@ like this (you need to use the @code{(gnu packages cups)} module): (cups-configuration (web-interface? #t) (extensions - (list cups-filters escpr hplip)))) + (list cups-filters escpr hplip-minimal)))) @end example +Note: If you wish to use the Qt5 based GUI which comes with the hplip +package then it is suggested that you install the @code{hplip} package, +either in your OS configuration file or as your user. + The available configuration parameters follow. Each parameter definition is preceded by its type; for example, @samp{string-list foo} indicates that the @code{foo} parameter should be specified as a list of diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm index bfc587a6fb..04d4e3fadd 100644 --- a/gnu/packages/cups.scm +++ b/gnu/packages/cups.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus ;;; Copyright © 2015, 2016, 2017 Ludovic Courtès -;;; Copyright © 2015, 2016, 2017 Efraim Flashner +;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner ;;; Copyright © 2016 Danny Milosavljevic ;;; Copyright © 2017 Leo Famulari ;;; Copyright © 2017 Mark H Weaver @@ -46,7 +46,9 @@ #:use-module (guix build-system gnu) #:use-module (guix download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix utils) + #:use-module (srfi srfi-1)) (define-public cups-filters (package @@ -520,6 +522,19 @@ device-specific programs to convert and print many types of files.") `(("perl" ,perl) ("pkg-config" ,pkg-config))))) +(define-public hplip-minimal + (package + (inherit hplip) + (name "hplip-minimal") + (arguments + (substitute-keyword-arguments (package-arguments hplip) + ((#:configure-flags cf) + ``(,@(delete "--enable-qt5" ,cf))))) + (inputs + `(,@(fold alist-delete (package-inputs hplip) + '("python-pygobject" "python-pyqt")))) + (synopsis "GUI-less version of hplip"))) + (define-public foomatic-filters (package (name "foomatic-filters") diff --git a/gnu/packages/scanner.scm b/gnu/packages/scanner.scm index 33a573d531..d030d8ade5 100644 --- a/gnu/packages/scanner.scm +++ b/gnu/packages/scanner.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2015 Andy Wingo ;;; Copyright © 2016 Andy Patterson ;;; Copyright © 2017 Tobias Geerinckx-Rice +;;; Copyright © 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -102,7 +103,7 @@ package contains the library, but no drivers.") (inherit sane-backends-minimal) (name "sane-backends") (inputs - `(("hplip" ,(@ (gnu packages cups) hplip)) + `(("hplip" ,(@ (gnu packages cups) hplip-minimal)) ,@(package-inputs sane-backends-minimal))) (arguments (substitute-keyword-arguments (package-arguments sane-backends-minimal) -- cgit v1.2.3 From b19f3337eae86ad0cd910da45b9d45e3866c98fd Mon Sep 17 00:00:00 2001 From: Oleg Pykhalov Date: Mon, 16 Jul 2018 08:26:43 +0300 Subject: gnu: Add pscircle. * gnu/packages/admin.scm (pscircle): New variable. --- gnu/packages/admin.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index e80436e95c..29651f7c48 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -46,6 +46,7 @@ #:use-module (guix git-download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) + #:use-module (guix build-system meson) #:use-module (guix build-system perl) #:use-module (guix build-system python) #:use-module (guix build-system trivial) @@ -2740,3 +2741,30 @@ support forum. It runs with the @code{/exec} command in most IRC clients.") ;; perl-xml-dumper ;; ipmitool ,@(package-inputs inxi-minimal))))) + +(define-public pscircle + (package + (name "pscircle") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://gitlab.com/mildlyparallel/pscircle/-/archive/v" + version "/pscircle-v" version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 + (base32 + "1k757yf2bmgfrjd417l6kpcf83hlvi0z1791vz967mwcklrsb3fj")))) + (build-system meson-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("cairo" ,cairo) + ("libpng" ,libpng) + ("libx11" ,libx11))) + (home-page "https://gitlab.com/mildlyparallel/pscircle") + (synopsis "Visualize Linux processes in a form of radial tree") + (description + "@code{pscircle} visualizes Linux processes in the form of a radial tree.") + (license license:gpl2+))) -- cgit v1.2.3