From 6bbbd7339ec33bf97ab5f36ed6faaaadd0063f61 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 23 Mar 2023 22:46:40 -0400 Subject: gnu: opencv: Mention it includes the Python bindings. * gnu/packages/image-processing.scm (opencv) [description]: Mention the Python bindings are included in this package. --- gnu/packages/image-processing.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm index 41ee0a8824..a0227c920c 100644 --- a/gnu/packages/image-processing.scm +++ b/gnu/packages/image-processing.scm @@ -690,7 +690,10 @@ (define-public opencv @item structure from motion @item augmented reality @item machine learning -@end itemize\n") +@end itemize\n + +This package includes the Python bindings for OpenCV, which are also known as +the OpenCV-Python library.") (home-page "https://opencv.org/") (license license:bsd-3))) -- cgit v1.2.3 From 1197773b13f335f62c753a293c22a3bb35f9ab64 Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 22 Mar 2023 17:44:58 -0500 Subject: gnu: sbcl-confidence: Fix typo in description. * gnu/packages/lisp-xyz.scm (sbcl-confidence) [description]: Fix typo. Signed-off-by: Maxim Cournoyer --- gnu/packages/lisp-check.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/lisp-check.scm b/gnu/packages/lisp-check.scm index c6d5c33728..1b4d80de00 100644 --- a/gnu/packages/lisp-check.scm +++ b/gnu/packages/lisp-check.scm @@ -402,7 +402,7 @@ (define-public sbcl-confidence (synopsis "Interactive test framework for Common Lisp") (description "Confidence is a test framework for Common Lisp that focuses on -simplicty. It avoids bureaucracy and makes it easy to work interactively, +simplicity. It avoids bureaucracy and makes it easy to work interactively, without a complicated setup, and with explicit functions and decisions.") (license license:expat)))) -- cgit v1.2.3 From c494ef1abb6adff5a168b9b3460c1dfdf3000af7 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 14:12:20 +0000 Subject: gnu: octave: Update to 8.1.0. * gnu/packages/maths.scm (octave): Update to 8.1.0. Signed-off-by: Maxim Cournoyer --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1853c77a14..1492753223 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3041,7 +3041,7 @@ (define (compile-file top-dir) (define-public octave-cli (package (name "octave-cli") - (version "7.3.0") + (version "8.1.0") (source (origin (method url-fetch) @@ -3049,7 +3049,7 @@ (define-public octave-cli version ".tar.xz")) (sha256 (base32 - "1wap9p9imxxqpnm27rxcvpjahk1wg440lzlygjb6iyncxdmfw255")))) + "00lis18dsb13v9nvz0z4cs7v4y634jc0vb04lxfw9pshwriikglv")))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) -- cgit v1.2.3 From 28f046eadc041ed17ae5c063a7f24b9bdb85290e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 23 Mar 2023 23:08:31 -0400 Subject: gnu: octave: Remove input labels. * gnu/packages/maths.scm (octave-cli) [source]: Fix indentation. [inputs]: Remove labels. [arguments]: Delete trailing #t. --- gnu/packages/maths.scm | 73 +++++++++++++++++++++++++------------------------- 1 file changed, 36 insertions(+), 37 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1492753223..93afc6ed40 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3044,44 +3044,44 @@ (define-public octave-cli (version "8.1.0") (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/octave/octave-" - version ".tar.xz")) - (sha256 - (base32 - "00lis18dsb13v9nvz0z4cs7v4y634jc0vb04lxfw9pshwriikglv")))) + (method url-fetch) + (uri (string-append "mirror://gnu/octave/octave-" + version ".tar.xz")) + (sha256 + (base32 + "00lis18dsb13v9nvz0z4cs7v4y634jc0vb04lxfw9pshwriikglv")))) (build-system gnu-build-system) (inputs - `(("alsa-lib" ,alsa-lib) - ("arpack" ,arpack-ng) - ("bdb" ,bdb) - ("curl" ,curl) - ("fftw" ,fftw) - ("fftwf" ,fftwf) - ("fltk" ,fltk) - ("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("gl2ps" ,gl2ps) - ("glpk" ,glpk) - ("glu" ,glu) - ("graphicsmagick" ,graphicsmagick) - - ;; TODO: libjpeg-turbo is indirectly required through libtiff. In - ;; the next rebuild cycle, add an absolute reference for -ljpeg in - ;; libtiff.la instead of having to provide it here. - ("libjpeg" ,libjpeg-turbo) + (list alsa-lib + arpack-ng + bdb + curl + fftw + fftwf + fltk + fontconfig + freetype + gl2ps + glpk + glu + graphicsmagick - ("hdf5" ,hdf5) - ("lapack" ,lapack) - ("libsndfile" ,libsndfile) - ("libxft" ,libxft) - ("mesa" ,mesa) - ("pcre" ,pcre) - ("portaudio" ,portaudio) - ("qhull" ,qhull) - ("readline" ,readline) - ("suitesparse" ,suitesparse) - ("zlib" ,zlib))) + ;; TODO: libjpeg-turbo is indirectly required through libtiff. In + ;; the next rebuild cycle, add an absolute reference for -ljpeg in + ;; libtiff.la instead of having to provide it here. + libjpeg-turbo + + hdf5 + lapack + libsndfile + libxft + mesa + pcre + portaudio + qhull + readline + suitesparse + zlib)) (native-inputs (list gfortran pkg-config @@ -3121,8 +3121,7 @@ (define-public octave-cli (substitute* "libinterp/corefcn/help.h" (("\"makeinfo\"") (string-append - "\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\""))) - #t))))) + "\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\"")))))))) (home-page "https://www.gnu.org/software/octave/") (synopsis "High-level language for numerical computation (no GUI)") (description "GNU Octave is a high-level interpreted language that is -- cgit v1.2.3 From 1ebfc9d9a587d907fbd4584eef93fa479e729d3e Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Tue, 21 Mar 2023 20:36:15 +0100 Subject: gnu: komikku: Update to 1.15.0. * gnu/packages/gnome.scm (komikku): Update to 1.15.0. Signed-off-by: Maxim Cournoyer --- gnu/packages/gnome.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index aa8525b100..0efb98b97c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -13297,7 +13297,7 @@ (define-public gnome-builder (define-public komikku (package (name "komikku") - (version "1.14.0") + (version "1.15.0") (source (origin (method git-fetch) @@ -13307,7 +13307,7 @@ (define-public komikku (file-name (git-file-name name version)) (sha256 (base32 - "1pknm3xz2hai8y6ynlyz7y1k1kaay7mkpm1svx66ggjhz8jzcrj5")))) + "0yd4274qxpv0wg1lm6daip2nd135qq07pfl5wrm2rqlzs5mvqs3n")))) (build-system meson-build-system) (arguments (list @@ -13351,6 +13351,7 @@ (define-public komikku python-lxml python-magic python-natsort + python-piexif python-pillow python-pure-protobuf python-pycairo -- cgit v1.2.3 From 4c15649645b79562eca4cd9dfffbda0b4d0ce529 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Thu, 23 Mar 2023 18:46:31 +0000 Subject: gnu: subversion: Update to 1.14.2 [security fixes]. This release contains fixes for CVE-2021-28544 and CVE-2022-24070. * gnu/packages/version-control.scm (subversion): Update to 1.14.2. Signed-off-by: Maxim Cournoyer --- gnu/packages/version-control.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 2c38734ad2..eedb2a9ca3 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2009,14 +2009,14 @@ (define-public neon (define-public subversion (package (name "subversion") - (version "1.14.1") + (version "1.14.2") (source (origin (method url-fetch) (uri (string-append "mirror://apache/subversion/" "subversion-" version ".tar.bz2")) (sha256 (base32 - "1ag1hvcm9q92kgalzbbgcsq9clxnzmbj9nciz9lmabjx4lyajp9c")))) + "0a6csc84hfymm8b5cnvq1n1p3rjjf33qy0z7y1k8lwkm1f6hw4y9")))) (build-system gnu-build-system) (arguments '(#:parallel-tests? #f ; TODO Seems to cause test failures on -- cgit v1.2.3 From 54ee868cbed729c3789c6121193a823d68557daa Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 23 Mar 2023 23:44:25 -0400 Subject: gnu: subversion: Tentatively reinstate parallel tests. The tests have been disabled for 3 years, and there have been multiple new releases of Subversion since. * gnu/packages/version-control.scm (subversion) [arguments]: Delete parallel-tests? argument. --- gnu/packages/version-control.scm | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index eedb2a9ca3..537aeae933 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -2019,9 +2019,7 @@ (define-public subversion "0a6csc84hfymm8b5cnvq1n1p3rjjf33qy0z7y1k8lwkm1f6hw4y9")))) (build-system gnu-build-system) (arguments - '(#:parallel-tests? #f ; TODO Seems to cause test failures on - ; i686-linux - #:configure-flags '("--enable-static=no") + '(#:configure-flags '("--enable-static=no") #:phases (modify-phases %standard-phases (add-after 'configure 'patch-libtool-wrapper-ls -- cgit v1.2.3 From 56a6fb5f66edc66168f27f0deedbf6891cd415bb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 23 Mar 2023 23:41:07 -0400 Subject: gnu: subversion: Use gexps and remove input labels. * gnu/packages/version-control.scm (subversion) [source]: Fix indentation. [arguments]: Use gexps. Strip trailing #t. Use search-input-file in patch-libtool-wrapper-ls phase. [inputs]: Remove labels and sort. --- gnu/packages/version-control.scm | 120 +++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 63 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 537aeae933..4e3cd0a576 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -33,7 +33,7 @@ ;;; Copyright © 2020 Tanguy Le Carrour ;;; Copyright © 2020, 2021, 2022 Michael Rohleder ;;; Copyright © 2021 Greg Hogan -;;; Copyright © 2021, 2022 Maxim Cournoyer +;;; Copyright © 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2021 Chris Marusich ;;; Copyright © 2021 Léo Le Bouter ;;; Copyright © 2021 LibreMiami @@ -2011,72 +2011,66 @@ (define-public subversion (name "subversion") (version "1.14.2") (source (origin - (method url-fetch) - (uri (string-append "mirror://apache/subversion/" - "subversion-" version ".tar.bz2")) - (sha256 - (base32 - "0a6csc84hfymm8b5cnvq1n1p3rjjf33qy0z7y1k8lwkm1f6hw4y9")))) + (method url-fetch) + (uri (string-append "mirror://apache/subversion/" + "subversion-" version ".tar.bz2")) + (sha256 + (base32 + "0a6csc84hfymm8b5cnvq1n1p3rjjf33qy0z7y1k8lwkm1f6hw4y9")))) (build-system gnu-build-system) (arguments - '(#:configure-flags '("--enable-static=no") - #:phases - (modify-phases %standard-phases - (add-after 'configure 'patch-libtool-wrapper-ls - (lambda* (#:key inputs #:allow-other-keys) - ;; This substitution allows tests svnauthz_tests and svnlook_tests - ;; to pass. These tests execute svnauthz and svnlook through - ;; their libtool wrapper scripts from svn hooks, whose empty - ;; environments cause "ls: command not found" errors. It would be - ;; nice if this fix ultimately made its way into libtool. - (let ((coreutils (assoc-ref inputs "coreutils"))) - (substitute* "libtool" - (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls"))) - #t))) - (add-before 'build 'patch-test-sh - (lambda _ - (substitute* "subversion/tests/libsvn_repos/repos-test.c" - (("#!/bin/sh") (string-append "#!" (which "sh")))) - #t)) - (add-before 'check 'set-PARALLEL - (lambda* (#:key parallel-tests? #:allow-other-keys) - (if parallel-tests? - (setenv "PARALLEL" (number->string (parallel-job-count))) - (simple-format #t "parallel-tests? are disabled\n")) - #t)) - (add-after 'install 'install-perl-bindings - (lambda* (#:key outputs #:allow-other-keys) - ;; Follow the instructions from 'subversion/bindings/swig/INSTALL'. - (let ((out (assoc-ref outputs "out"))) - (invoke "make" "swig-pl-lib") - ;; FIXME: Test failures. - ;; (invoke "make" "check-swig-pl") - (invoke "make" "install-swig-pl-lib") - - ;; Set the right installation prefix. - (with-directory-excursion - "subversion/bindings/swig/perl/native" - (invoke "perl" "Makefile.PL" - "NO_PERLLOCAL=1" - (string-append "PREFIX=" out)) - (invoke "make" "install" - (string-append "OTHERLDFLAGS=" - "-Wl,-rpath=" - out "/lib"))))))))) + (list + #:configure-flags #~(list "--enable-static=no") + #:phases + #~(modify-phases %standard-phases + (add-after 'configure 'patch-libtool-wrapper-ls + (lambda* (#:key inputs #:allow-other-keys) + ;; This substitution allows tests svnauthz_tests and svnlook_tests + ;; to pass. These tests execute svnauthz and svnlook through + ;; their libtool wrapper scripts from svn hooks, whose empty + ;; environments cause "ls: command not found" errors. It would be + ;; nice if this fix ultimately made its way into libtool. + (substitute* "libtool" + (("\\\\`ls") + (string-append "\\`" (search-input-file inputs "bin/ls")))))) + (add-before 'build 'patch-test-sh + (lambda _ + (substitute* "subversion/tests/libsvn_repos/repos-test.c" + (("#!/bin/sh") (string-append "#!" (which "sh")))))) + (add-before 'check 'set-PARALLEL + (lambda* (#:key parallel-tests? #:allow-other-keys) + (if parallel-tests? + (setenv "PARALLEL" (number->string (parallel-job-count))) + (simple-format #t "parallel-tests? are disabled\n")))) + (add-after 'install 'install-perl-bindings + (lambda _ + ;; Follow the instructions from 'subversion/bindings/swig/INSTALL'. + (invoke "make" "swig-pl-lib") + ;; FIXME: Test failures. + ;; (invoke "make" "check-swig-pl") + (invoke "make" "install-swig-pl-lib") + + ;; Set the right installation prefix. + (with-directory-excursion "subversion/bindings/swig/perl/native" + (invoke "perl" "Makefile.PL" "NO_PERLLOCAL=1" + (string-append "PREFIX=" #$output)) + (invoke "make" "install" + (string-append "OTHERLDFLAGS=-Wl,-rpath=" + #$output "/lib")))))))) (native-inputs - (list pkg-config - ;; For the Perl bindings. - swig)) + (list pkg-config + ;; For the Perl bindings. + swig)) (inputs - `(("apr" ,apr) - ("apr-util" ,apr-util) - ("lz4" ,lz4) - ("serf" ,serf) - ("perl" ,perl) - ("python" ,python-wrapper) - ("sqlite" ,sqlite) - ("utf8proc" ,utf8proc) - ("zlib" ,zlib))) + (list apr + apr-util + lz4 + perl + python-wrapper + serf + sqlite + utf8proc + zlib)) (home-page "https://subversion.apache.org/") (synopsis "Revision control system") (description -- cgit v1.2.3 From 12d7dd770c75a56930f47c202d5454acb63084f6 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 23 Mar 2023 12:11:50 -0400 Subject: gnu: linux-libre: Update to 6.2.8. * gnu/packages/linux.scm (linux-libre-6.2-version): Update to 6.2.8. (linux-libre-6.2-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 74b0ede694..bc88067bd7 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -482,7 +482,7 @@ (define (%upstream-linux-source version hash) ;; The current "stable" kernels. That is, the most recently released major ;; versions that are still supported upstream. -(define-public linux-libre-6.2-version "6.2.7") +(define-public linux-libre-6.2-version "6.2.8") (define-public linux-libre-6.2-gnu-revision "gnu") (define deblob-scripts-6.2 (linux-libre-deblob-scripts @@ -492,7 +492,7 @@ (define deblob-scripts-6.2 (base32 "0ir5vvbdh6dly5ld8mfp7285g8k88w5bb32hj4wmgyqsbfqc6rf2"))) (define-public linux-libre-6.2-pristine-source (let ((version linux-libre-6.2-version) - (hash (base32 "138dpmj8qr5fcji99kmi3sj34ah21bgqgzsz2lbhn37v059100s3"))) + (hash (base32 "0rgn8k9rhk819bazcaz7fbk5ba1hph02izqrw06ag0rgsj3svl7y"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.2))) -- cgit v1.2.3 From 862c2ec32a4e39bbb9acc48a20c25efc11cabf7a Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 23 Mar 2023 12:12:03 -0400 Subject: gnu: linux-libre 6.1: Update to 6.1.21. * gnu/packages/linux.scm (linux-libre-6.1-version): Update to 6.1.21. (linux-libre-6.1-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index bc88067bd7..fa4280ee04 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -497,7 +497,7 @@ (define-public linux-libre-6.2-pristine-source (%upstream-linux-source version hash) deblob-scripts-6.2))) -(define-public linux-libre-6.1-version "6.1.20") +(define-public linux-libre-6.1-version "6.1.21") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts @@ -507,7 +507,7 @@ (define deblob-scripts-6.1 (base32 "0cchdhjra74zanyk14brv2l2dvxpg8dn58rn477lgfb44mcnhq33"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "1w1iy1i3bpzrs5rhvqbn2awxv5qqgng9n7jd5js66g0sq3l2sckn"))) + (hash (base32 "0fnr2pw4pi0vnkpv8hfipya09cgdz6ghks7p6vdl2d71dawb2g5k"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) -- cgit v1.2.3 From b8e58d093bdbd8d3ac24eb9bde91ca8d5eea396e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 23 Mar 2023 12:12:18 -0400 Subject: gnu: linux-libre 5.15: Update to 5.15.104. * gnu/packages/linux.scm (linux-libre-5.15-version): Update to 5.15.104. (linux-libre-5.15-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fa4280ee04..5ba4586bb1 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -515,7 +515,7 @@ (define-public linux-libre-6.1-pristine-source ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; -(define-public linux-libre-5.15-version "5.15.103") +(define-public linux-libre-5.15-version "5.15.104") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -525,7 +525,7 @@ (define deblob-scripts-5.15 (base32 "03hwhwbcicwyx5i30d6m715kwgrxz4h21xhk55wnawlk8zhx3r35"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "01fpipy8skmp4dyxgk8fk9k6hc0w0gvk7mm8f8pm7jhwcf0vlxh8"))) + (hash (base32 "0m3bscml2mvafbj5k9a3qa8akfxms8wfpzsr687lfblr17735ibi"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -- cgit v1.2.3 From 49fbaccc4b6041701131389fcf1513a07b07fbd1 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 23 Mar 2023 12:12:32 -0400 Subject: gnu: linux-libre 5.10: Update to 5.10.176. * gnu/packages/linux.scm (linux-libre-5.10-version): Update to 5.10.176. (linux-libre-5.10-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 5ba4586bb1..c4c59708ab 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -530,7 +530,7 @@ (define-public linux-libre-5.15-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.175") +(define-public linux-libre-5.10-version "5.10.176") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -540,7 +540,7 @@ (define deblob-scripts-5.10 (base32 "1g4vabfswxzf9ahxc06k2ffksf84kcr2csx4m5kx680w0jqqnk80"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "1kkv63v5lc0ahkl8sjmwhqxahmwmbxcbf4mfcmkf6d7j50p5cxz2"))) + (hash (base32 "14zpdrrrpgxx44nxjn0rifrchnmsvvpkzpm1n82kw5q4p9h2q1yf"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -- cgit v1.2.3 From 9845fcf942d8cec4acc3e893c7facc93a4113f28 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 23 Mar 2023 12:12:45 -0400 Subject: gnu: linux-libre 5.4: Update to 5.4.238. * gnu/packages/linux.scm (linux-libre-5.4-version): Update to 5.4.238. (linux-libre-5.4-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c4c59708ab..01d3e1a47b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -545,7 +545,7 @@ (define-public linux-libre-5.10-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.237") +(define-public linux-libre-5.4-version "5.4.238") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -555,7 +555,7 @@ (define deblob-scripts-5.4 (base32 "1d6as1yk9svysh07hdybs8glvn8s9f8gwlbjl7f9m920pdam2r60"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "09smq8jsbpqfh135snljack2wj41anx8f8i0lmjcqcq5zzhgw25p"))) + (hash (base32 "07x9ibcshsm451qcpawv3l0z7g8w8jg79h6dfdmbm3jrhpdb58kh"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -- cgit v1.2.3 From d0f059458c38c8295306d1e9ed9e7e23d956bef3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 23 Mar 2023 12:12:58 -0400 Subject: gnu: linux-libre 4.19: Update to 4.19.279. * gnu/packages/linux.scm (linux-libre-4.19-version): Update to 4.19.279. (linux-libre-4.19-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 01d3e1a47b..2ad291b7ea 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -560,7 +560,7 @@ (define-public linux-libre-5.4-pristine-source (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.278") +(define-public linux-libre-4.19-version "4.19.279") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -570,7 +570,7 @@ (define deblob-scripts-4.19 (base32 "1q0fgpbdwc21wj9wnjjb49dp84ch6ymd5na3iaabadwjs2nmb6bd"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0miyadgnd52cgw3bgpmx66kr1pgxh14b2f52fasy57b6wysv0lnv"))) + (hash (base32 "104qkyflkfkp8iyshpirb9q708vvsgfbxfwgl0dnas3k7nyc6v3k"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -- cgit v1.2.3 From 71651996d187301be2a030711f2faec8216f2d23 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 23 Mar 2023 12:13:11 -0400 Subject: gnu: linux-libre 4.14: Update to 4.14.311. * gnu/packages/linux.scm (linux-libre-4.14-version): Update to 4.14.311. (linux-libre-4.14-pristine-source): Update hash. --- gnu/packages/linux.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 2ad291b7ea..c16a79b231 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -575,7 +575,7 @@ (define-public linux-libre-4.19-pristine-source (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.310") +(define-public linux-libre-4.14-version "4.14.311") (define-public linux-libre-4.14-gnu-revision "gnu1") (define deblob-scripts-4.14 (linux-libre-deblob-scripts @@ -585,7 +585,7 @@ (define deblob-scripts-4.14 (base32 "1ccggm19nl7pdcxmsm08fkqy8phz8rqfmww5ypizibdmnrmpn2v9"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0r91f3jj3y0cca4sfs0xa12lbrc62q2yzgval5ainwr74bk7dwlb"))) + (hash (base32 "1mbwrgjz575qxg4gwi2fxc94kprmiblwap3jix0mj4887zllqgw0"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -- cgit v1.2.3 From 4742ea59cb7b6ea3592e4ca6cf8b4fad5611b709 Mon Sep 17 00:00:00 2001 From: Morgan Smith Date: Fri, 24 Mar 2023 09:20:54 +0100 Subject: gnu: Add emacs-jit-spell. * gnu/packages/emacs-xyz.scm (emacs-jit-spell): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 0a1846ea4c..18d4623688 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -9698,6 +9698,30 @@ (define-public emacs-jinja2-mode sgml/html integration, and indentation (working with sgml).") (license license:gpl3+))) +(define-public emacs-jit-spell + (package + (name "emacs-jit-spell") + (version "0.2") + (source (origin + (method url-fetch) + (uri (string-append "https://elpa.gnu.org/packages/jit-spell-" + version ".tar")) + (sha256 + (base32 + "10h2nbp6lap26arwifhzs119mkfj76fvjsix3iccjjvfdi88wdn9")))) + (build-system emacs-build-system) + (propagated-inputs (list emacs-compat)) + (home-page "https://github.com/astoff/jit-spell") + (synopsis "Just-in-time spell checking") + (description + "This package highlights all misspelled words in a window, just like a +word processor or web browser does. This behavior is different from the +built-in Flyspell package, which only checks words as the cursor moves over +them. Moreover, unlike Flyspell, Jit-spell communicates with the +spell-checking subprocess entirely asynchronously, which can lead to a +noticeable performance improvement.") + (license license:gpl3+))) + (define-public emacs-company-cabal ;; The latest version is 0.3.0, but no release has been provided after 0.2.1. (let ((commit "62112a7259e24bd6c08885629a185afe512b7d3d") -- cgit v1.2.3 From 5bed6d6846b0ae1e0cb8f6f52ee4bbf8efe72454 Mon Sep 17 00:00:00 2001 From: jgart Date: Sat, 18 Mar 2023 14:02:15 +0100 Subject: gnu: Add texlive-ddphonism. * gnu/packages/tex.scm (texlive-ddphonism): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/tex.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm index 1ce5b2ada8..40accf642d 100644 --- a/gnu/packages/tex.scm +++ b/gnu/packages/tex.scm @@ -5396,6 +5396,31 @@ (define-public texlive-catchfile "Catchfile catches the contents of a file and puts it in a macro.") (license license:lppl1.3+)))) +(define-public texlive-ddphonism + (package + (inherit (simple-texlive-package + "texlive-ddphonism" + (list "doc/latex/ddphonism/" + "tex/latex/ddphonism/") + (base32 "1p02ai76nnh6042pnmqv4n30z6yxsvyyk2nb9jk7xlyyc87zzbdd") + #:trivial? #t)) + (propagated-inputs + (list texlive-etoolbox + texlive-hyperref + texlive-latex-l3packages + texlive-listings + texlive-pgf + texlive-latex-tools + texlive-xstring)) + (home-page "https://www.ctan.org/pkg/ddphonism") + (synopsis "Dodecaphonic diagrams for LaTeX") + (description + "This is a music-related package which is focused on notation from the +twelve-tone system, also called dodecaphonism. It provides LaTeX algorithms +that produce typical dodecaphonic notation based off a musical series, or row +sequence, of variable length.") + (license license:lppl1.3c))) + (define-public texlive-doi (package (inherit (simple-texlive-package -- cgit v1.2.3 From ced76608d68a5832b94dcf7aa18df1115a4c06c0 Mon Sep 17 00:00:00 2001 From: Rostislav Svoboda Date: Fri, 24 Mar 2023 09:25:57 +0100 Subject: gnu: Add emacs-column-enforce-mode. * gnu/packages/emacs-xyz.scm (emacs-column-enforce-mode): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 18d4623688..6e4069cb7c 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -26918,6 +26918,31 @@ (define-public emacs-spaceline-next (base32 "11lwckqcgzsahrkkm5wk1ph4kc7d4yz05r7251g8c9f0q6vdj9dp")) (file-name (git-file-name name version))))))) +(define-public emacs-column-enforce-mode + (let ((commit "14a7622f2268890e33536ccd29510024d51ee96f") + (revision "1")) + (package + (name "emacs-column-enforce-mode") + (version (git-version "1.0.4" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url + "https://github.com/jordonbiondo/column-enforce-mode") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vxra5vk78yns2sw89m41bggczqg1akq6xvzfs9kylhkg5yz3g7g")))) + (build-system emacs-build-system) + (home-page "https://github.com/jordonbiondo/column-enforce-mode") + (synopsis "Highlight text that extends beyond a certain column") + (description + "Column Enforce mode highlights text that extends beyond a certain +column. It can be used to enforce 80 column rule. It can also be configured +for any @var{N}-column rule.") + (license license:gpl3+)))) + (define-public emacs-column-marker (package (name "emacs-column-marker") -- cgit v1.2.3 From 29be505fceb63d53d1f47312c913e682d19a03d7 Mon Sep 17 00:00:00 2001 From: John Kehayias Date: Mon, 20 Mar 2023 22:13:40 -0400 Subject: gnu: emacs-buttercup: Fix build with native compilation. * gnu/packages/emacs-xyz.scm (emacs-buttercup)[phases]{fix-spy-on-test}: New phase. The spy-on test fails with native compilation, which was fixed in v1.30 but with a variable name for newer versions than stable Emacs. Here we add the same fix but using the current variable name. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6e4069cb7c..00c4cf5913 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -27190,6 +27190,16 @@ (define-public emacs-buttercup #:test-command #~(list "make" "test") #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'fix-spy-on-test + (lambda _ + (substitute* "buttercup.el" + ;; The spy-on test fails with native compilation, which was + ;; fixed in v1.30 but with a variable name for Emacs newer + ;; than 28.2. Add in the same fix with the current variable + ;; name. Upstream bug and fix: + ;; + (("\\(native-comp-enable-subr-trampolines nil\\)" all) + (string-append all " (comp-enable-subr-trampolines nil)"))))) (add-after 'install 'install-bin (lambda _ (install-file "bin/buttercup" -- cgit v1.2.3 From 753450db45be7d46c0fa014b83f50cb70b5833b3 Mon Sep 17 00:00:00 2001 From: conses Date: Fri, 24 Mar 2023 09:34:29 +0100 Subject: gnu: Add emacs-nyxt. * gnu/packages/emacs-xyz.scm (emacs-nyxt): New variable. Signed-off-by: Nicolas Goaziou --- gnu/packages/emacs-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 00c4cf5913..e732806117 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -256,6 +256,7 @@ (define-module (gnu packages emacs-xyz) #:use-module (gnu packages erlang) #:use-module (gnu packages statistics) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages web-browsers) #:use-module (gnu packages wget) #:use-module (guix utils) #:use-module (srfi srfi-1) @@ -27691,6 +27692,37 @@ (define-public emacs-nix-mode comments.") (license license:lgpl2.1+))) +(define-public emacs-nyxt + (package + (name "emacs-nyxt") + (version "0.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.sr.ht/~conses/nyxt.el") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hgb10pk5m3v2gsl4h6i821nyzksss0rk4hhjnfb7nm98lalzbl6")))) + (build-system emacs-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-file-name + (lambda* (#:key inputs #:allow-other-keys) + (emacs-substitute-variables "nyxt.el" + ("nyxt-path" + (search-input-file inputs "/bin/nyxt")))))))) + (inputs (list nyxt)) + (propagated-inputs (list emacs-sly)) + (home-page "https://git.sr.ht/~conses/nyxt.el") + (synopsis "Interact with Nyxt from Emacs") + (description "This package consists of custom logic to interact with Nyxt +from Emacs.") + (license license:gpl3+))) + (define-public emacs-libmpdel (package (name "emacs-libmpdel") -- cgit v1.2.3 From fcf88ad7499b5b63dd5e52059e044faeefe23f97 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:40:35 +0100 Subject: gnu: emacs-subed: Update to 1.2.1. * gnu/packages/emacs-xyz.scm (emacs-subed): Update to 1.2.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e732806117..8b93e9ef4f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7904,14 +7904,14 @@ (define-public emacs-sudo-edit (define-public emacs-subed (package (name "emacs-subed") - (version "1.2.0") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.nongnu.org/nongnu/subed-" version ".tar")) (sha256 (base32 - "1cdgnwd1saqc07xizdpaadnnl88w0hwc39jklhql1m2a0ii52lck")))) + "09a3ggnqsm4lxqhj0z9z3df6qzibvv9lpwqij2gpiifbb4lkvj4b")))) (arguments (list #:tests? #t -- cgit v1.2.3 From fdaa3f0cacf1ea6ccfada60808146557cb7849ee Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:40:40 +0100 Subject: gnu: emacs-posframe: Update to 1.4.1. * gnu/packages/emacs-xyz.scm (emacs-posframe): Update to 1.4.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 8b93e9ef4f..8acfa62f27 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17433,14 +17433,14 @@ (define-public emacs-mini-frame (define-public emacs-posframe (package (name "emacs-posframe") - (version "1.4.0") + (version "1.4.1") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "posframe-" version ".tar")) (sha256 - (base32 "0pqy7scdi3qxj518xm0bbr3979byfxqxxh64wny37xzhd4apsw5j")))) + (base32 "02kw3d6760015q61sryw8k3zqdnzhcwwyfjfysbfs07cljkqpjnh")))) (build-system emacs-build-system) ;; emacs-minimal does not include the function font-info. (arguments -- cgit v1.2.3 From 643b8598344757a010f714533f9b92ca75b13848 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:41:48 +0100 Subject: gnu: emacs-citar: Update to 1.3.0. * gnu/packages/emacs-xyz.scm (emacs-citar): Update to 1.3.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 8acfa62f27..5552adceab 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -21788,7 +21788,7 @@ (define-public emacs-biblio (define-public emacs-citar (package (name "emacs-citar") - (version "1.2.0") + (version "1.3.0") (source (origin (method git-fetch) (uri (git-reference @@ -21797,7 +21797,7 @@ (define-public emacs-citar (file-name (git-file-name name version)) (sha256 (base32 - "186h6wbjwh7ws3jmc81wx2cv7gbppl2j3gwdq67crhml5xjc4fh7")))) + "0l4a8fy7z6xq7y2scnnc6bsfnlrb2arr4y9gxc3xfyazg43kk8rd")))) (build-system emacs-build-system) (arguments (list -- cgit v1.2.3 From 3d47017b3182e781307af9dacb3ee324072c3dc2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:43:38 +0100 Subject: gnu: emacs-elpher: Update to 3.4.3. * gnu/packages/emacs-xyz.scm (emacs-elpher): Update to 3.4.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 5552adceab..58abbd2167 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31032,7 +31032,7 @@ (define-public emacs-multi-term (define-public emacs-elpher (package (name "emacs-elpher") - (version "3.4.2") + (version "3.4.3") (source (origin (method git-fetch) @@ -31041,7 +31041,7 @@ (define-public emacs-elpher (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1c6pid2ip2c2lpww42wxgq4qflx1m8vxilyva03h8xzgr39kwq64")))) + (base32 "04m226by90mv4rxxy6is8appxnvxq4npr585k2y2l1vmrj0qwn49")))) (build-system emacs-build-system) (arguments (list -- cgit v1.2.3 From 7801b0a3056f3480d77c781dd223ac15138febd5 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:46:10 +0100 Subject: gnu: emacs-org-jira: Update to 4.4.1. * gnu/packages/emacs-xyz.scm (emacs-org-jira): Update to 4.4.1. [propagated-inputs]: Remove EMACS-S. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 58abbd2167..4f9c42f1bb 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31493,7 +31493,7 @@ (define-public emacs-org-emms (define-public emacs-org-jira (package (name "emacs-org-jira") - (version "4.4.0") + (version "4.4.1") (source (origin (method git-fetch) @@ -31503,10 +31503,10 @@ (define-public emacs-org-jira (file-name (git-file-name name version)) (sha256 (base32 - "1s91l4ibjvvc7rfvd8gldxqrcgjq00q83fdww217ck2ps5yrzyjl")))) + "1pkqyvziwp2573hnr8s41chsbm40564f76i3l8ynjr7955nccsms")))) (build-system emacs-build-system) (propagated-inputs - (list emacs-request emacs-s emacs-dash emacs-org)) + (list emacs-request emacs-dash emacs-org)) (home-page "https://github.com/ahungry/org-jira") (synopsis "Syncing between Jira and Org-mode") (description -- cgit v1.2.3 From 1151a16ed1b8591f571edb65ce0ab337bb11e693 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:46:34 +0100 Subject: gnu: emacs-org-jira: Improve packages style. * gnu/packages/emacs-xyz.scm (emacs-org-jira)[propagated-inputs]: Re-order alphabetically. [synopsis, description]: Use proper capitalization. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 4f9c42f1bb..8cfc8026b7 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31506,11 +31506,11 @@ (define-public emacs-org-jira "1pkqyvziwp2573hnr8s41chsbm40564f76i3l8ynjr7955nccsms")))) (build-system emacs-build-system) (propagated-inputs - (list emacs-request emacs-dash emacs-org)) + (list emacs-dash emacs-org emacs-request)) (home-page "https://github.com/ahungry/org-jira") - (synopsis "Syncing between Jira and Org-mode") + (synopsis "Syncing between Jira and Org mode") (description - "This package provides an extension to org-mode for syncing issues with + "This package provides an extension to Org mode for syncing issues with JIRA issue servers.") (license license:gpl3+))) -- cgit v1.2.3 From 55d3bd84a16b67613332e06f207e15e6e8394f5e Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:49:56 +0100 Subject: gnu: emacs-org-jira: Run tests. * gnu/packages/emacs-xyz.scm (emacs-org-jira)[arguments]: Run tests. --- gnu/packages/emacs-xyz.scm | 50 +++++++++++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 20 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 8cfc8026b7..eb87d78894 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -31492,27 +31492,37 @@ (define-public emacs-org-emms (define-public emacs-org-jira (package - (name "emacs-org-jira") - (version "4.4.1") - (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/ahungry/org-jira") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "1pkqyvziwp2573hnr8s41chsbm40564f76i3l8ynjr7955nccsms")))) - (build-system emacs-build-system) - (propagated-inputs - (list emacs-dash emacs-org emacs-request)) - (home-page "https://github.com/ahungry/org-jira") - (synopsis "Syncing between Jira and Org mode") - (description - "This package provides an extension to Org mode for syncing issues with + (name "emacs-org-jira") + (version "4.4.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ahungry/org-jira") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pkqyvziwp2573hnr8s41chsbm40564f76i3l8ynjr7955nccsms")))) + (build-system emacs-build-system) + (arguments + (list + #:tests? #true + #:test-command #~(list "emacs" "-Q" "--batch" + "-l" "jiralib.el" + "-l" "org-jira-sdk.el" + "-l" "org-jira.el" + "-l" "t/org-jira-t.el" + "-l" "t/jiralib-t.el" + "-f" "ert-run-tests-batch-and-exit"))) + (propagated-inputs + (list emacs-dash emacs-org emacs-request)) + (home-page "https://github.com/ahungry/org-jira") + (synopsis "Syncing between Jira and Org mode") + (description + "This package provides an extension to Org mode for syncing issues with JIRA issue servers.") - (license license:gpl3+))) + (license license:gpl3+))) (define-public emacs-slime-volleyball (package -- cgit v1.2.3 From f1f6da322631ea629ac69450cf7e312760d2258d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 09:51:13 +0100 Subject: gnu: emacs-php-mode: Update to 1.24.3. * gnu/packages/emacs-xyz.scm (emacs-php-mode): Update to 1.24.3. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index eb87d78894..09787a5158 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17242,7 +17242,7 @@ (define-public emacs-vala-mode (define-public emacs-php-mode (package (name "emacs-php-mode") - (version "1.24.2") + (version "1.24.3") (source (origin (method git-fetch) @@ -17251,7 +17251,7 @@ (define-public emacs-php-mode (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "13lkzvamr86409whr8as4721gx9xrlfkmxvv941775mryliqk6j6")))) + (base32 "01yw10z1kf38nz4z3gmpx56wmc7a7caf4nk6rccg0w4kklqw1h94")))) (build-system emacs-build-system) (arguments `(#:phases -- cgit v1.2.3 From 094f11d20299d2860aa4b13ff3c634b43451b990 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 10:06:10 +0100 Subject: gnu: emacs-php-mode: Run tests. * gnu/packages/emacs-xyz.scm (emacs-php-mode)[argument]: Use G-expressions. Run tests. --- gnu/packages/emacs-xyz.scm | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 09787a5158..e57701714a 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -17254,11 +17254,21 @@ (define-public emacs-php-mode (base32 "01yw10z1kf38nz4z3gmpx56wmc7a7caf4nk6rccg0w4kklqw1h94")))) (build-system emacs-build-system) (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'enter-source-directory - (lambda _ - (chdir "lisp")))))) + (list + #:tests? #true + #:test-command #~(list "emacs" "-Q" "--batch" + "-l" "../tests/php-mode-test.el" + "-f" "ert-run-tests-batch-and-exit") + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'prepare-testing-bed + (lambda _ + ;; This file is necessary for `php-project-root' test. + (call-with-output-file "tests/project/1/.git" + (const #t)))) + (add-after 'prepare-testing-bed 'enter-source-directory + (lambda _ + (chdir "lisp")))))) (propagated-inputs (list emacs-projectile)) (home-page "https://github.com/ejmr/php-mode") (synopsis "Major mode for editing PHP code") -- cgit v1.2.3 From 73e74e5ecdb4855e51359cead5a740c78803d6f3 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 10:09:04 +0100 Subject: gnu: emacs-plz: Update to 0.4. * gnu/packages/emacs-xyz.scm (emacs-plz): Update to 0.4. [arguments]<#:tests?>: Mention why we do not run tests. --- gnu/packages/emacs-xyz.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index e57701714a..2742eb669d 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -18844,7 +18844,7 @@ (define-public emacs-emamux (define-public emacs-plz (package (name "emacs-plz") - (version "0.3") + (version "0.4") (source (origin (method git-fetch) @@ -18853,11 +18853,12 @@ (define-public emacs-plz (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1ack4rajjdmb3fqz5v394rqpvn9mfvbkrxra27yrcqz97mma1ki7")))) + (base32 "0sfgbq6nn9prxqg5qs576rlpszbhp70yj3d8r7hqckrd5s0sbk13")))) (build-system emacs-build-system) (inputs (list curl)) (arguments (list + #:tests? #f ;require internet access #:phases #~(modify-phases %standard-phases (add-after 'unpack 'substitute-curl-path -- cgit v1.2.3 From 7b5985e6a350f8c84a9de574f970a9908c43644d Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 10:10:47 +0100 Subject: gnu: emacs-telephone-line: Update to 0.6. * gnu/packages/emacs-xyz.scm (emacs-telephone-line): Update to 0.6. --- gnu/packages/emacs-xyz.scm | 40 +++++++++++++++++++--------------------- 1 file changed, 19 insertions(+), 21 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 2742eb669d..b09686caf3 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -646,29 +646,27 @@ (define-public emacs-vc-hgcmd (license license:gpl3+))) (define-public emacs-telephone-line - (let ((commit "6f3455a365912e8f0c45a2240ea79507dee45ade") - (revision "0")) - (package - (name "emacs-telephone-line") - (version (git-version "0.5" revision commit)) - (source - (origin - (method git-fetch) - (uri - (git-reference - (url "https://github.com/dbordak/telephone-line") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 "1hnd6wnc52sc0ckriqnhaz64pyjk027y0dpcmh2zhpd27i8d4hmq")))) - (build-system emacs-build-system) - (home-page "https://github.com/dbordak/telephone-line") - (synopsis "Implementation of Powerline for Emacs") - (description - "Telephone Line is a new implementation of Powerline for Emacs with + (package + (name "emacs-telephone-line") + (version "0.6") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/dbordak/telephone-line") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pv6hlzks02bvxkfyg8m04l36clg39h5w7nq2k6ppi5bh4d4kmc8")))) + (build-system emacs-build-system) + (home-page "https://github.com/dbordak/telephone-line") + (synopsis "Implementation of Powerline for Emacs") + (description + "Telephone Line is a new implementation of Powerline for Emacs with optional baked-in Evil support, antialiased separators, and an easy configuration language which makes it trivial to write your own themes.") - (license license:gpl3+)))) + (license license:gpl3+))) (define-public emacs-inspector (let ((commit "0b2cf2f00a827f06bda717da8250eafec4108fb3")) ;version bump -- cgit v1.2.3 From 34f2d3aad7009955bd426b0dfd6ce62c64fff458 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 10:12:05 +0100 Subject: gnu: emacs-wisp-mode: Update to 1.0.11. * gnu/packages/emacs-xyz.scm (emacs-wisp-mode): Update to 1.0.11. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index b09686caf3..c7b7517e2b 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -35170,7 +35170,7 @@ (define-public emacs-vertico (define-public emacs-wisp-mode (package (name "emacs-wisp-mode") - (version "1.0.10") + (version "1.0.11") (source (origin (method hg-fetch) @@ -35179,7 +35179,7 @@ (define-public emacs-wisp-mode (changeset (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "13xlagkjmnzv0fn6bwb3vrqn6arxx1g2m1b4wg2rzm7dadlpgmpn")))) + (base32 "1w2wx5001aiwky25kvk190d1bgz6g856nm5hhaggsyb1h9f5ws17")))) (build-system emacs-build-system) (home-page "https://www.draketo.de/software/wisp") (synopsis "Syntax highlighting and indentation support for Wisp files") -- cgit v1.2.3 From e970e9149d4e327fd72e6b40f93fa9f8c2c09c07 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 17 Mar 2023 14:56:30 +0000 Subject: gnu: guile-3.0-latest: Add patch for invalid unicode handling. This patch fixes handling of invalid unicode when using suspendable ports. Reported upstream at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62290 and patch merged as cba2e7e3fec3c781230570f5d1ef070625eeeda8. As the build coordinator agents use suspendable ports, this will fix issues with building things where the log output contains invalid unicode. * gnu/packages/patches/guile-fix-invalid-unicode-handling.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/guile.scm (guile-3.0-latest)[source]: Use it. Signed-off-by: Christopher Baines --- gnu/local.mk | 1 + gnu/packages/guile.scm | 4 +- .../guile-fix-invalid-unicode-handling.patch | 83 ++++++++++++++++++++++ 3 files changed, 87 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/guile-fix-invalid-unicode-handling.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 186d82a8ab..64a1268fbe 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1298,6 +1298,7 @@ dist_patch_DATA = \ %D%/packages/patches/guile-fibers-epoll-instance-is-dead.patch \ %D%/packages/patches/guile-fibers-fd-finalizer-leak.patch \ %D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \ + %D%/packages/patches/guile-fix-invalid-unicode-handling.patch \ %D%/packages/patches/guile-gdbm-ffi-support-gdbm-1.14.patch \ %D%/packages/patches/guile-git-adjust-for-libgit2-1.2.0.patch \ %D%/packages/patches/guile-present-coding.patch \ diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 2fd9b711ce..b6db506140 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -398,7 +398,9 @@ (define-public guile-3.0-latest version ".tar.xz")) (sha256 (base32 - "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs")))) + "03bm1mnfc9kkg2ls942a0js7bxrdzmcffgrgg6anwdmjfan2a9hs")) + (patches (search-patches + "guile-fix-invalid-unicode-handling.patch")))) (arguments (substitute-keyword-arguments (package-arguments guile-3.0) ;; Guile 3.0.9 is bit-reproducible when built in parallel, thanks to diff --git a/gnu/packages/patches/guile-fix-invalid-unicode-handling.patch b/gnu/packages/patches/guile-fix-invalid-unicode-handling.patch new file mode 100644 index 0000000000..20ee1a2cf5 --- /dev/null +++ b/gnu/packages/patches/guile-fix-invalid-unicode-handling.patch @@ -0,0 +1,83 @@ +Reported upstream at https://debbugs.gnu.org/cgi/bugreport.cgi?bug=62290 and +patch merged as cba2e7e3fec3c781230570f5d1ef070625eeeda8. + +From 31a1c3c4783e8e66b93500737f23f209d8115f77 Mon Sep 17 00:00:00 2001 +From: Christopher Baines +Date: Fri, 17 Mar 2023 12:48:39 +0000 +Subject: [PATCH] Fix some invalid unicode handling issues with suspendable + ports. + +Based on the implementation in ports.c. I don't understand what this +code is really doing, but the suspendable ports implementation differs +from the similar C code for a couple of inequalities. + +* module/ice-9/suspendable-ports.scm (decode-utf8, bad-utf8-len): Flip a +couple of inequalities. +* test-suite/tests/ports.test ("string ports"): Add additional invalid +UTF-8 test case. +--- + module/ice-9/suspendable-ports.scm | 8 ++++---- + test-suite/tests/ports.test | 7 +++++++ + 2 files changed, 11 insertions(+), 4 deletions(-) + +diff --git a/module/ice-9/suspendable-ports.scm b/module/ice-9/suspendable-ports.scm +index a823f1d37..9fac1df62 100644 +--- a/module/ice-9/suspendable-ports.scm ++++ b/module/ice-9/suspendable-ports.scm +@@ -419,7 +419,7 @@ + (= (logand u8_2 #xc0) #x80) + (case u8_0 + ((#xe0) (>= u8_1 #xa0)) +- ((#xed) (>= u8_1 #x9f)) ++ ((#xed) (<= u8_1 #x9f)) + (else #t))) + (kt (integer->char + (logior (ash (logand u8_0 #x0f) 12) +@@ -436,7 +436,7 @@ + (= (logand u8_3 #xc0) #x80) + (case u8_0 + ((#xf0) (>= u8_1 #x90)) +- ((#xf4) (>= u8_1 #x8f)) ++ ((#xf4) (<= u8_1 #x8f)) + (else #t))) + (kt (integer->char + (logior (ash (logand u8_0 #x07) 18) +@@ -462,7 +462,7 @@ + ((< buffering 2) 1) + ((not (= (logand (ref 1) #xc0) #x80)) 1) + ((and (eq? first-byte #xe0) (< (ref 1) #xa0)) 1) +- ((and (eq? first-byte #xed) (< (ref 1) #x9f)) 1) ++ ((and (eq? first-byte #xed) (> (ref 1) #x9f)) 1) + ((< buffering 3) 2) + ((not (= (logand (ref 2) #xc0) #x80)) 2) + (else 0))) +@@ -471,7 +471,7 @@ + ((< buffering 2) 1) + ((not (= (logand (ref 1) #xc0) #x80)) 1) + ((and (eq? first-byte #xf0) (< (ref 1) #x90)) 1) +- ((and (eq? first-byte #xf4) (< (ref 1) #x8f)) 1) ++ ((and (eq? first-byte #xf4) (> (ref 1) #x8f)) 1) + ((< buffering 3) 2) + ((not (= (logand (ref 2) #xc0) #x80)) 2) + ((< buffering 4) 3) +diff --git a/test-suite/tests/ports.test b/test-suite/tests/ports.test +index 66e10e3dd..1b30e1a68 100644 +--- a/test-suite/tests/ports.test ++++ b/test-suite/tests/ports.test +@@ -1059,6 +1059,13 @@ + eof)) + + (test-decoding-error (#xf0 #x88 #x88 #x88) "UTF-8" ++ (error ;; 2nd byte should be in the 90..BF range ++ error ;; 88: not a valid starting byte ++ error ;; 88: not a valid starting byte ++ error ;; 88: not a valid starting byte ++ eof)) ++ ++ (test-decoding-error (#xf4 #xa4 #xbd #xa4) "UTF-8" + (error ;; 2nd byte should be in the 90..BF range + error ;; 88: not a valid starting byte + error ;; 88: not a valid starting byte +-- +2.39.1 + -- cgit v1.2.3 From c26687de41b248d9b530b83eaa58033bd65db5ab Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Fri, 24 Mar 2023 14:27:42 +0000 Subject: gnu: guix-build-coordinator: Update to 0-75.d6ae42f. * gnu/packages/package-management.scm (guix-build-coordinator): Update to 0-75.d6ae42f. --- gnu/packages/package-management.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 562d228cf4..bb7b0a95f3 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1363,8 +1363,8 @@ (define-public gwl/next "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) (define-public guix-build-coordinator - (let ((commit "804165f14ccf613b7d76b2bda83fbfd49019f7e4") - (revision "74")) + (let ((commit "d6ae42f19691267d915cd66174436f33debabec0") + (revision "75")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1375,7 +1375,7 @@ (define-public guix-build-coordinator (commit commit))) (sha256 (base32 - "0qga8a7795cig211hya53qjvd2bxcpabpz8izc8zxrmz490wz24j")) + "0rd1bhlx7a78wd4c0zifwc8b4wm497y0z6dw19r7d47s4l63w35m")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From e0cb344b18034bfb41905c627d2b3b9dbf2e65fb Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 12:52:28 +0000 Subject: gnu: b2sum: Limit to x86_64-linux. * gnu/packages/crypto.scm (b2sum)[supported-systems]: New field. Signed-off-by: Christopher Baines --- gnu/packages/crypto.scm | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index b4bef33b06..1ed14d9092 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -868,6 +868,8 @@ (define-public b2sum (file-name (git-file-name name version)) (sha256 (base32 "04z631v0vzl52g73v390ask5fnzi5wg83lcjkjhpmmymaz0jn152")))) + ;; "This code requires at least SSE2". + (supported-systems '("x86_64-linux")) (build-system gnu-build-system) (arguments `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) -- cgit v1.2.3 From 0185b2f9b20565f2c1b9249e6f61d2a8497101cf Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Thu, 23 Mar 2023 15:02:14 +0000 Subject: services: mympd: Require 'syslog service when configured to log to syslog. * gnu/services/audio.scm (mympd-shepherd-service): Depend on 'syslog when configured to log to syslog. Signed-off-by: Maxim Cournoyer Modified-by: Maxim Cournoyer --- gnu/services/audio.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index d55b804ba9..848da651d7 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm @@ -752,7 +752,11 @@ (define (mympd-shepherd-service config) (let ((log-level* (format #f "MYMPD_LOGLEVEL=~a" log-level))) (shepherd-service (documentation "Run the myMPD daemon.") - (requirement `(loopback user-processes ,@shepherd-requirement)) + (requirement `(loopback user-processes + ,@(if (eq? log-to 'syslog) + '(syslog) + '()) + ,@shepherd-requirement)) (provision '(mympd)) (start #~(begin (let* ((pw (getpwnam #$user)) -- cgit v1.2.3 From 206446b4840279596b3b4522beaee43a3359133d Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Thu, 23 Mar 2023 15:02:13 +0000 Subject: services: audio: Remove redundant list-of-string? predicate. Use list-of-strings? predicate defined in (gnu services configuration). * gnu/services/audio.scm (list-of-string?): Remove predicate. (mpd-serialize-list-of-string): Rename procedure to ... (mpd-serialize-list-of-strings): ... this. (mpd-configuration)[environment-variables]: Switch to list-of-strings. [endpoints]: Switch to maybe-list-of-strings. (mympd-ip-acl)[allow, deny]: Switch to list-of-strings. (mympd-serialize-configuration): Rename serialize-list-of-string to serialize-list-of-strings. * doc/guix.texi (Audio Services): Update it. Signed-off-by: Maxim Cournoyer --- doc/guix.texi | 8 ++++---- gnu/services/audio.scm | 25 +++++++++++-------------- 2 files changed, 15 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index dfdb26103a..7c2feb1dd8 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -33501,7 +33501,7 @@ The group to run mpd as. This is a list of symbols naming Shepherd services that this service will depend on. -@item @code{environment-variables} (default: @code{()}) (type: list-of-string) +@item @code{environment-variables} (default: @code{()}) (type: list-of-strings) A list of strings specifying environment variables. @item @code{log-file} (default: @code{"/var/log/mpd/log"}) (type: maybe-string) @@ -33532,7 +33532,7 @@ The location of the sticker database. @item @code{default-port} (default: @code{6600}) (type: maybe-integer) The default port to run mpd on. -@item @code{endpoints} (type: maybe-list-of-string) +@item @code{endpoints} (type: maybe-list-of-strings) The addresses that mpd will bind to. A port different from @var{default-port} may be specified, e.g. @code{localhost:6602} and IPv6 addresses must be enclosed in square brackets when a different port is used. @@ -33808,10 +33808,10 @@ Whether to preserve caches between service restarts. Available @code{mympd-ip-acl} fields are: @table @asis -@item @code{allow} (default: @code{()}) (type: list-of-string) +@item @code{allow} (default: @code{()}) (type: list-of-strings) Allowed IP addresses. -@item @code{deny} (default: @code{()}) (type: list-of-string) +@item @code{deny} (default: @code{()}) (type: list-of-strings) Disallowed IP addresses. @end table diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index 848da651d7..73aae9dfcf 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2017 Peter Mikkelsen ;;; Copyright © 2019 Ricardo Wurmus ;;; Copyright © 2020 Ludovic Courtès -;;; Copyright © 2022 Bruno Victal +;;; Copyright © 2022⁠–⁠2023 Bruno Victal ;;; ;;; This file is part of GNU Guix. ;;; @@ -137,9 +137,6 @@ (define (uglify-field-name field-name) str) #\-) "_"))) -(define list-of-string? - (list-of string?)) - (define list-of-symbol? (list-of symbol?)) @@ -159,11 +156,11 @@ (define (mpd-serialize-alist field-name value) (define mpd-serialize-string mpd-serialize-field) (define mpd-serialize-boolean mpd-serialize-field) -(define (mpd-serialize-list-of-string field-name value) +(define (mpd-serialize-list-of-strings field-name value) #~(string-append #$@(map (cut mpd-serialize-string field-name <>) value))) (define-maybe string (prefix mpd-)) -(define-maybe list-of-string (prefix mpd-)) +(define-maybe list-of-strings (prefix mpd-)) (define-maybe boolean (prefix mpd-)) ;;; TODO: Procedures for deprecated fields, to be removed. @@ -349,7 +346,7 @@ (define-configuration mpd-configuration empty-serializer) (environment-variables - (list-of-string '()) + (list-of-strings '()) "A list of strings specifying environment variables." empty-serializer) @@ -400,7 +397,7 @@ (define-configuration mpd-configuration "The default port to run mpd on.") (endpoints - maybe-list-of-string + maybe-list-of-strings "The addresses that mpd will bind to. A port different from @var{default-port} may be specified, e.g. @code{localhost:6602} and IPv6 addresses must be enclosed in square brackets when a different @@ -409,7 +406,7 @@ (define-configuration mpd-configuration can be specified here." (lambda (_ endpoints) (if (maybe-value-set? endpoints) - (mpd-serialize-list-of-string "bind_to_address" endpoints) + (mpd-serialize-list-of-strings "bind_to_address" endpoints) ""))) (address ; TODO: deprecated, remove later @@ -581,11 +578,11 @@ (define (string-or-symbol? x) (define-configuration/no-serialization mympd-ip-acl (allow - (list-of-string '()) + (list-of-strings '()) "Allowed IP addresses.") (deny - (list-of-string '()) + (list-of-strings '()) "Disallowed IP addresses.")) (define-maybe/no-serialization integer) @@ -707,12 +704,12 @@ (define serialize-value ((? string? val) val))) (define (ip-acl-serialize-configuration config) - (define (serialize-list-of-string prefix lst) + (define (serialize-list-of-strings prefix lst) (map (cut format #f "~a~a" prefix <>) lst)) (string-join (append - (serialize-list-of-string "+" (mympd-ip-acl-allow config)) - (serialize-list-of-string "-" (mympd-ip-acl-deny config))) ",")) + (serialize-list-of-strings "+" (mympd-ip-acl-allow config)) + (serialize-list-of-strings "-" (mympd-ip-acl-deny config))) ",")) ;; myMPD configuration fields are serialized as individual files under ;; /config/. -- cgit v1.2.3 From bc30a9ee889fb1b81c43a7f94ea4c2b95a15db75 Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Thu, 23 Mar 2023 15:02:16 +0000 Subject: services: mpd: Set PulseAudio-related variables. These variables are necessary for PulseAudio to work properly out-of-the-box for 'non-interactive' users. * doc/guix.texi (Audio Services): Update environment-variables field description for mpd-configuration data type. * gnu/services/audio.scm (mpd-configuration)[environment-variables]: Set PULSE_CLIENTCONFIG and PULSE_CONFIG environment variables to the system-wide PulseAudio configuration. Signed-off-by: Maxim Cournoyer --- doc/guix.texi | 2 +- gnu/services/audio.scm | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/doc/guix.texi b/doc/guix.texi index 7c2feb1dd8..3e335306f1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -33501,7 +33501,7 @@ The group to run mpd as. This is a list of symbols naming Shepherd services that this service will depend on. -@item @code{environment-variables} (default: @code{()}) (type: list-of-strings) +@item @code{environment-variables} (default: @code{("PULSE_CLIENTCONFIG=/etc/pulse/client.conf" "PULSE_CONFIG=/etc/pulse/daemon.conf")}) (type: list-of-strings) A list of strings specifying environment variables. @item @code{log-file} (default: @code{"/var/log/mpd/log"}) (type: maybe-string) diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index 73aae9dfcf..4885fb8424 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm @@ -346,7 +346,8 @@ (define-configuration mpd-configuration empty-serializer) (environment-variables - (list-of-strings '()) + (list-of-strings '("PULSE_CLIENTCONFIG=/etc/pulse/client.conf" + "PULSE_CONFIG=/etc/pulse/daemon.conf")) "A list of strings specifying environment variables." empty-serializer) -- cgit v1.2.3 From 6d132c5ebf51205decf75377a33c82c113688b02 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 24 Mar 2023 17:58:44 +0100 Subject: gnu: Add python-scikit-optimize. * gnu/packages/python-science.scm (python-scikit-optimize): New variable. --- gnu/packages/python-science.scm | 66 +++++++++++++++++++++++++++++------------ 1 file changed, 47 insertions(+), 19 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 073243b63d..e932d6f74c 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -245,33 +245,61 @@ (define-public python-scikit-image "Scikit-image is a collection of algorithms for image processing.") (license license:bsd-3))) +(define-public python-scikit-optimize + (package + (name "python-scikit-optimize") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "scikit-optimize" version)) + (sha256 + (base32 + "0230ya8bwrzxjwcy2vz23a3hg6caggnnmg2vq1f9zz2797kckn3p")))) + (build-system pyproject-build-system) + (propagated-inputs + (list python-joblib + python-matplotlib + python-numpy + python-pyaml + python-scikit-learn + python-scipy)) + (native-inputs + (list python-pytest)) + (home-page "https://scikit-optimize.github.io/") + (synopsis "Sequential model-based optimization toolbox") + (description "Scikit-Optimize, or @code{skopt}, is a simple and efficient +library to minimize (very) expensive and noisy black-box functions. It +implements several methods for sequential model-based optimization. +@code{skopt} aims to be accessible and easy to use in many contexts.") + (license license:bsd-3))) + (define-public python-scikit-allel (package (name "python-scikit-allel") (version "1.3.5") (source - (origin - (method url-fetch) - (uri (pypi-uri "scikit-allel" version)) - (sha256 - (base32 "1vg88ng6gd175gzk39iz1drxig5l91dyx398w2kbw3w8036zv8gj")))) + (origin + (method url-fetch) + (uri (pypi-uri "scikit-allel" version)) + (sha256 + (base32 "1vg88ng6gd175gzk39iz1drxig5l91dyx398w2kbw3w8036zv8gj")))) (build-system python-build-system) (arguments (list - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "python" "setup.py" "build_ext" "--inplace") - (invoke "python" "-m" "pytest" "-v" "allel" - ;; AttributeError: 'Dataset' object has no attribute 'asstr' - "-k" (string-append - "not test_vcf_to_hdf5" - " and not test_vcf_to_hdf5_exclude" - " and not test_vcf_to_hdf5_rename" - " and not test_vcf_to_hdf5_group" - " and not test_vcf_to_hdf5_ann")))))))) + #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "python" "setup.py" "build_ext" "--inplace") + (invoke "python" "-m" "pytest" "-v" "allel" + ;; AttributeError: 'Dataset' object has no attribute 'asstr' + "-k" (string-append + "not test_vcf_to_hdf5" + " and not test_vcf_to_hdf5_exclude" + " and not test_vcf_to_hdf5_rename" + " and not test_vcf_to_hdf5_group" + " and not test_vcf_to_hdf5_ann")))))))) (propagated-inputs (list python-dask python-numpy)) -- cgit v1.2.3 From 896982f357034e3e53fe05f86c416835adffda0c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 24 Mar 2023 18:23:01 +0100 Subject: gnu: python-scikit-allel: Use pyproject-build-system. * gnu/packages/python-science.scm (python-scikit-allel): Move up to create alphabetic order. [build-system]: Use pyproject-build-system. [arguments]: Provide test flags instead of overriding 'check phase; split out build step into new 'build-ext phase. Disable roh_mhmm tests. --- gnu/packages/python-science.scm | 101 +++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 49 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index e932d6f74c..e53dded72a 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2015, 2016, 2020, 2021, 2022 Ricardo Wurmus +;;; Copyright © 2015, 2016, 2020, 2021, 2022, 2023 Ricardo Wurmus ;;; Copyright © 2015 Federico Beffa ;;; Copyright © 2016 Ben Woodcroft ;;; Copyright © 2016 Hartmut Goebel @@ -169,6 +169,57 @@ (define-public python-scipy routines such as routines for numerical integration and optimization.") (license license:bsd-3))) +(define-public python-scikit-allel + (package + (name "python-scikit-allel") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (pypi-uri "scikit-allel" version)) + (sha256 + (base32 "1vg88ng6gd175gzk39iz1drxig5l91dyx398w2kbw3w8036zv8gj")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "-k" + (string-append + ;; AttributeError: 'Dataset' object has no attribute 'asstr' + "not test_vcf_to_hdf5" + " and not test_vcf_to_hdf5_exclude" + " and not test_vcf_to_hdf5_rename" + " and not test_vcf_to_hdf5_group" + " and not test_vcf_to_hdf5_ann" + ;; Does not work with recent hmmlearn + " and not test_roh_mhmm_0pct" + " and not test_roh_mhmm_100pct")) + #:phases + '(modify-phases %standard-phases + (add-before 'check 'build-ext + (lambda _ + (invoke "python" "setup.py" "build_ext" "--inplace")))))) + (propagated-inputs + (list python-dask + python-numpy)) + (native-inputs + (list python-cython + ;; The following are all needed for the tests + htslib + python-h5py + python-hmmlearn + python-numexpr + python-pytest + python-scipy + python-setuptools-scm + python-zarr)) + (home-page "https://github.com/cggh/scikit-allel") + (synopsis "Explore and analyze genetic variation data") + (description + "This package provides utilities for exploratory analysis of large scale +genetic variation data.") + (license license:expat))) + (define-public python-scikit-fuzzy (package (name "python-scikit-fuzzy") @@ -273,54 +324,6 @@ (define-public python-scikit-optimize @code{skopt} aims to be accessible and easy to use in many contexts.") (license license:bsd-3))) -(define-public python-scikit-allel - (package - (name "python-scikit-allel") - (version "1.3.5") - (source - (origin - (method url-fetch) - (uri (pypi-uri "scikit-allel" version)) - (sha256 - (base32 "1vg88ng6gd175gzk39iz1drxig5l91dyx398w2kbw3w8036zv8gj")))) - (build-system python-build-system) - (arguments - (list - #:phases - #~(modify-phases %standard-phases - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "python" "setup.py" "build_ext" "--inplace") - (invoke "python" "-m" "pytest" "-v" "allel" - ;; AttributeError: 'Dataset' object has no attribute 'asstr' - "-k" (string-append - "not test_vcf_to_hdf5" - " and not test_vcf_to_hdf5_exclude" - " and not test_vcf_to_hdf5_rename" - " and not test_vcf_to_hdf5_group" - " and not test_vcf_to_hdf5_ann")))))))) - (propagated-inputs - (list python-dask - python-numpy)) - (native-inputs - (list python-cython - ;; The following are all needed for the tests - htslib - python-h5py - python-hmmlearn - python-numexpr - python-pytest - python-scipy - python-setuptools-scm - python-zarr)) - (home-page "https://github.com/cggh/scikit-allel") - (synopsis "Explore and analyze genetic variation data") - (description - "This package provides utilities for exploratory analysis of large scale -genetic variation data.") - (license license:expat))) - (define-public python-trimesh (package (name "python-trimesh") -- cgit v1.2.3 From de84b24613afa4020f3f0553dad8e39a78d1f92c Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sat, 11 Mar 2023 14:10:43 -0500 Subject: gnu: Syncthing: Update to 1.23.2. * gnu/packages/syncthing.scm (syncthing): Update to 1.23.2. --- gnu/packages/syncthing.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 5f98cb56b0..9a86145b34 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -46,7 +46,7 @@ (define-module (gnu packages syncthing) (define-public syncthing (package (name "syncthing") - (version "1.23.0") + (version "1.23.2") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" @@ -54,7 +54,7 @@ (define-public syncthing "/syncthing-source-v" version ".tar.gz")) (sha256 (base32 - "0n7438vppr8yrq8k4lsacjr48m1l0bfc2wv7rbrsc5br5bfx6rhg")))) + "12d1mmqr4l0xhapq72i8yjsrzma79zsv664rhyjfpajfdw7cl3ix")))) (build-system go-build-system) ;; The primary Syncthing executable goes to "out", while the auxiliary ;; server programs and utility tools go to "utils". This reduces the size -- cgit v1.2.3 From a01eb3c99cc1041a489963e5834340c06b7b1a6c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 23:37:16 +0100 Subject: gnu: emacs-sqlite3-api: Update to 0.17. * gnu/packages/emacs-xyz.scm (emacs-sqlite3-api): Update to 0.17. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index c7b7517e2b..09948a008e 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -7252,7 +7252,7 @@ (define-public emacs-sqlite (define-public emacs-sqlite3-api (package (name "emacs-sqlite3-api") - (version "0.16") + (version "0.17") (source (origin (method git-fetch) (uri (git-reference @@ -7261,7 +7261,7 @@ (define-public emacs-sqlite3-api (file-name (git-file-name name version)) (sha256 (base32 - "0yrfwb3yvhp1ib4izxh1ds68b3zw8gjkjhlk1kivarxnfjnjnly2")))) + "1y36818nd47mzfi3xcp31nr8n0izzmdyiqfx9hgp7ag98rbm7wlx")))) (build-system emacs-build-system) (arguments (list -- cgit v1.2.3 From 2bc050093c535d0a2057e1b7f0fa56080b2f6ac2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 23:39:42 +0100 Subject: gnu: emacs-geiser-chez: Update to 0.18. * gnu/packages/emacs-xyz.scm (emacs-geiser-chez): Update to 0.18. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 09948a008e..859739caf2 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -583,7 +583,7 @@ (define-public emacs-geiser-racket (define-public emacs-geiser-chez (package (name "emacs-geiser-chez") - (version "0.17") + (version "0.18") (source (origin (method git-fetch) @@ -592,7 +592,7 @@ (define-public emacs-geiser-chez (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "03fc9ahb0pmznkcnxzgpni4clj1zgky6vaqkc94nf8b8swniwkm9")))) + (base32 "19yv5brhzf10hsazmm8s1b058d434hv60a52s08m3kxyrkwr5sca")))) (build-system emacs-build-system) (arguments '(#:include (cons "^src/" %default-include) -- cgit v1.2.3 From 950facd1389e1528a0cda32215dbcffc3b596d9c Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 23:40:46 +0100 Subject: gnu: emacs-evil-collection: Update to 0.0.9. * gnu/packages/emacs-xyz.scm (emacs-evil-collection): Update to 0.0.9. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 859739caf2..35090e3eb4 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14638,7 +14638,7 @@ (define-public emacs-evil (define-public emacs-evil-collection (package (name "emacs-evil-collection") - (version "0.0.8") + (version "0.0.9") (source (origin (method git-fetch) @@ -14647,7 +14647,7 @@ (define-public emacs-evil-collection (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "159i3qvjnp7jiffwpr517nnxcy3w3g40302vyzxvz6mb6qay6f2c")))) + (base32 "1y1ig4shqaaiiwqm5pv8hvh8ynr6irhffkgmpyzmhdaaicxnfazc")))) (build-system emacs-build-system) (propagated-inputs (list emacs-evil emacs-annalist)) -- cgit v1.2.3 From 97c594a7722defe00f4ee45ff35a77d8ccfb9bf3 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 23:45:25 +0100 Subject: gnu: emacs-evil-collection: Run tests. * gnu/packages/emacs-xyz.scm (emacs-evil-collection)[arguments]: Run tests. [native-inputs]: Add EMACS-MAGIT. [propagated-inputs]: Reorder-alphabetically. --- gnu/packages/emacs-xyz.scm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 35090e3eb4..ae158a41bf 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14649,10 +14649,20 @@ (define-public emacs-evil-collection (sha256 (base32 "1y1ig4shqaaiiwqm5pv8hvh8ynr6irhffkgmpyzmhdaaicxnfazc")))) (build-system emacs-build-system) - (propagated-inputs - (list emacs-evil emacs-annalist)) (arguments - `(#:include (cons* "^modes\\/" %default-include))) + (list + #:include #~(cons* "^modes\\/" %default-include) + #:tests? #true + #:test-command #~(list "emacs" "-Q" "--batch" + "-L" "." + "-L" "./test" + "-l" "evil-collection-test.el" + "-l" "evil-collection-magit-tests.el" + "-f" "ert-run-tests-batch-and-exit"))) + (native-inputs + (list emacs-magit)) + (propagated-inputs + (list emacs-annalist emacs-evil)) (home-page "https://github.com/emacs-evil/evil-collection") (synopsis "Collection of Evil bindings for many major and minor modes") (description "This is a collection of Evil bindings for the parts of -- cgit v1.2.3 From 8d515cc11f05fd7180fb84f9adf8516d21feaa70 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 23:49:34 +0100 Subject: gnu: emacs-citar-org-roam: Update to 0.5.0. * gnu/packages/emacs-xyz.scm (emacs-citar-org-roam): Update to 0.5.0. [propagated-inputs]: Reorder alphabetically. --- gnu/packages/emacs-xyz.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ae158a41bf..ddb15249e5 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -21855,7 +21855,7 @@ (define-public emacs-citar (define-public emacs-citar-org-roam (package (name "emacs-citar-org-roam") - (version "0.3") + (version "0.5.0") (source (origin (method git-fetch) @@ -21864,9 +21864,9 @@ (define-public emacs-citar-org-roam (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1ldfs7g7ixnrwj23draiph4vy6xq7qgw18vhi7vbw6wvkh9fcv9r")))) + (base32 "0h1lrx5fg51qpyxh3lrb7x392a5rr8q5a7dihscfzhr38ba1pfh6")))) (build-system emacs-build-system) - (propagated-inputs (list emacs-org-roam emacs-citar)) + (propagated-inputs (list emacs-citar emacs-org-roam)) (home-page "https://github.com/emacs-citar/citar-org-roam") (synopsis "Emacs package to provide tighter Citar and Org-Roam integration") (description "\ -- cgit v1.2.3 From ba8e1ab018d50fb41544b4c402f055ab08bd431a Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 23:50:53 +0100 Subject: gnu: emacs-citar: Update to 1.3.1. * gnu/packages/emacs-xyz.scm (emacs-citar): Update to 1.3.1. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index ddb15249e5..dd19010421 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -21807,7 +21807,7 @@ (define-public emacs-biblio (define-public emacs-citar (package (name "emacs-citar") - (version "1.3.0") + (version "1.3.1") (source (origin (method git-fetch) (uri (git-reference @@ -21816,7 +21816,7 @@ (define-public emacs-citar (file-name (git-file-name name version)) (sha256 (base32 - "0l4a8fy7z6xq7y2scnnc6bsfnlrb2arr4y9gxc3xfyazg43kk8rd")))) + "12chdrmkggnpci1kdkkrz4a2bnsbzc8pra318zbnn3qxinlpngyy")))) (build-system emacs-build-system) (arguments (list -- cgit v1.2.3 From ff476daa5730b3281b8fda69494fbc89a9101cf3 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 24 Mar 2023 23:52:03 +0100 Subject: gnu: emacs-cider: Update to 1.7.0. * gnu/packages/emacs-xyz.scm (emacs-cider): Update to 1.7.0. --- gnu/packages/emacs-xyz.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index dd19010421..da2856abc8 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -14146,7 +14146,7 @@ (define-public emacs-islisp-mode (define-public emacs-cider (package (name "emacs-cider") - (version "1.6.0") + (version "1.7.0") (source (origin (method git-fetch) @@ -14155,7 +14155,7 @@ (define-public emacs-cider (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1a3xbfn1id8dcy3178kmdnzcvh7lq2pdwwg4axhncw6jq9hqiqja")))) + (base32 "0jqjgygdvny1vhjbx7k0l492fhamwndsjcbb2mccwp9j47k4qar9")))) (build-system emacs-build-system) (arguments '(#:exclude ;don't exclude 'cider-test.el' -- cgit v1.2.3 From a7f118d062db4408b23505750c44a1f996496c43 Mon Sep 17 00:00:00 2001 From: r0man Date: Tue, 21 Mar 2023 20:11:41 +0100 Subject: services: xorg-wrapper: Support xorg server input rewriting. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch adds support for proper xorg server input rewriting. It uses the lookup-package-direct-input procedure to configure the X server paths dynamically, instead of always using the hard coded package. Something like this is now possible: (define other-mesa (package-input-rewriting/spec `(("mesa" . ,(const other-mesa))))) (xorg-configuration (xorg-configuration (server (other-mesa xorg-server)))) Without this patch the X server would still be configured with mesa (causing version issues), and not with other-mesa (as per the input rewrite). * gnu/services/xorg.scm (xorg-configuration-server-package-path) (xorg-configuration-dri-driver-path, xorg-configuration-xkb-bin-dir) (xorg-configuration-xkb-dir): New procedures. (xorg-wrapper): Use them for dri and xkb paths. Signed-off-by: 宋文武 --- gnu/services/xorg.scm | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index c4745cecf5..7295a45b59 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -358,6 +358,22 @@ (define files files) #t)))) +(define (xorg-configuration-server-package-path config input path) + "Lookup the direct @var{input} in the xorg server package of @var{config} +and append @var{path} to it." + (let* ((server (xorg-configuration-server config)) + (package (lookup-package-direct-input server input))) + (when package (file-append package path)))) + +(define (xorg-configuration-dri-driver-path config) + (xorg-configuration-server-package-path config "mesa" "/lib/dri")) + +(define (xorg-configuration-xkb-bin-dir config) + (xorg-configuration-server-package-path config "xkbcomp" "/bin")) + +(define (xorg-configuration-xkb-dir config) + (xorg-configuration-server-package-path config "xkeyboard-config" "/share/X11/xkb")) + (define* (xorg-wrapper #:optional (config (xorg-configuration))) "Return a derivation that builds a script to start the X server with the given @var{config}. The resulting script should be used in place of @@ -365,12 +381,13 @@ (define* (xorg-wrapper #:optional (config (xorg-configuration))) (define exp ;; Write a small wrapper around the X server. #~(begin - (setenv "XORG_DRI_DRIVER_PATH" (string-append #$mesa "/lib/dri")) - (setenv "XKB_BINDIR" (string-append #$xkbcomp "/bin")) + (setenv "XORG_DRI_DRIVER_PATH" + #$(xorg-configuration-dri-driver-path config)) + (setenv "XKB_BINDIR" #$(xorg-configuration-xkb-bin-dir config)) (let ((X (string-append #$(xorg-configuration-server config) "/bin/X"))) (apply execl X X - "-xkbdir" (string-append #$xkeyboard-config "/share/X11/xkb") + "-xkbdir" #$(xorg-configuration-xkb-dir config) "-config" #$(xorg-configuration->file config) "-configdir" #$(xorg-configuration-directory (xorg-configuration-modules config)) -- cgit v1.2.3 From 04724e59971b03f86a410285653d24005c62b924 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 25 Mar 2023 13:42:32 +0100 Subject: gnu: Add r-ctrialsgov. * gnu/packages/cran.scm (r-ctrialsgov): New variable. --- gnu/packages/cran.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index a36c845479..872e36483d 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5498,6 +5498,42 @@ (define-public r-circlize multi-dimensional data.") (license license:gpl2+))) +(define-public r-ctrialsgov + (package + (name "r-ctrialsgov") + (version "0.2.5") + (source (origin + (method url-fetch) + (uri (cran-uri "ctrialsgov" version)) + (sha256 + (base32 + "0hdh1fdfaja8amf7fkvk1c6yif703132bvacq0j9pk5jr97czgpw")))) + (properties `((upstream-name . "ctrialsgov"))) + (build-system r-build-system) + (propagated-inputs + (list r-dbi + r-dplyr + r-ggplot2 + r-htmlwidgets + r-lubridate + r-matrix + r-plotly + r-purrr + r-rlang + r-stringi + r-tibble)) + (native-inputs (list r-knitr)) + (home-page "https://cran.r-project.org/package=ctrialsgov") + (synopsis + "Query data from U.S. National Library of Medicine's Clinical Trials Database") + (description + "This package provides tools to query the U.S. National Library of +Medicine's Clinical Trials database. Functions are provided for a variety of +techniques for searching the data using range queries, categorical filtering, +and by searching for full-text keywords. Minimal graphical tools are also +provided for interactively exploring the constructed data.") + (license license:expat))) + (define-public r-powerlaw (package (name "r-powerlaw") -- cgit v1.2.3 From 23d4ee1bf55c7be179027c7100ceb61794b98809 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 25 Mar 2023 15:00:56 +0100 Subject: gnu: Add r-jsonify. * gnu/packages/cran.scm (r-jsonify): New variable. --- gnu/packages/cran.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 872e36483d..5a0062b2ed 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -3246,6 +3246,28 @@ (define-public r-httr2 of the problems that API wrapping packages face.") (license license:expat))) +(define-public r-jsonify + (package + (name "r-jsonify") + (version "1.2.2") + (source (origin + (method url-fetch) + (uri (cran-uri "jsonify" version)) + (sha256 + (base32 + "0bxgyj5b1hnijq5315g050giixy4k5mjz2zdx8yil0igb5ifji9p")))) + (properties `((upstream-name . "jsonify"))) + (build-system r-build-system) + (propagated-inputs (list r-rapidjsonr r-rcpp)) + (native-inputs (list r-knitr)) + (home-page "https://cran.r-project.org/package=jsonify") + (synopsis + "Convert between R objects and JavaScript Object Notation (JSON)") + (description + "This package enables conversions between R objects and JavaScript Object +Notation (JSON) using the rapidjsonr library.") + (license license:expat))) + (define-public r-jsonlite (package (name "r-jsonlite") -- cgit v1.2.3 From 1eef799e7dfae0d3d467c343dc35e547811ba694 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 25 Mar 2023 15:01:00 +0100 Subject: gnu: Add r-nodbi. * gnu/packages/cran.scm (r-nodbi): New variable. --- gnu/packages/cran.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index 5a0062b2ed..b7356ac9c9 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -12275,6 +12275,34 @@ (define-public r-sjmisc tidyverse workflow.") (license license:gpl3))) +(define-public r-nodbi + (package + (name "r-nodbi") + (version "0.9.1") + (source (origin + (method url-fetch) + (uri (cran-uri "nodbi" version)) + (sha256 + (base32 + "1hn0wy2ry9l3wwqrshmf82cxigkm16wycwprv458bcvb5k6ayy5m")))) + (properties `((upstream-name . "nodbi"))) + (build-system r-build-system) + (propagated-inputs + (list r-dbi + r-jqr + r-jsonify + r-jsonlite + r-stringi + r-uuid)) + (home-page "https://docs.ropensci.org/nodbi/") + (synopsis "NoSQL database connector") + (description + "This is a package for simplified document database access and +manipulation, providing a common API across supported NoSQL databases +Elasticsearch, CouchDB, MongoDB as well as SQLite/JSON1, PostgreSQL, and +DuckDB.") + (license license:expat))) + (define-public r-nortest (package (name "r-nortest") -- cgit v1.2.3 From 0e07bf3cbf9b16f16142775b8f9b4d9e1a20b7f0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 25 Mar 2023 15:01:05 +0100 Subject: gnu: Add r-ctrdata. * gnu/packages/cran.scm (r-ctrdata): New variable. --- gnu/packages/cran.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm index b7356ac9c9..e88d893517 100644 --- a/gnu/packages/cran.scm +++ b/gnu/packages/cran.scm @@ -5520,6 +5520,45 @@ (define-public r-circlize multi-dimensional data.") (license license:gpl2+))) +(define-public r-ctrdata + (package + (name "r-ctrdata") + (version "1.11.1") + (source (origin + (method url-fetch) + (uri (cran-uri "ctrdata" version)) + (sha256 + (base32 + "076v3bll8s6m61wcbwgrgrm34g0wa7gsc90mbwxwap1xfxyzjjsg")))) + (properties `((upstream-name . "ctrdata"))) + (build-system r-build-system) + (propagated-inputs + (list r-clipr + r-curl + r-dplyr + r-httr + r-jsonlite + r-lubridate + r-nodbi + r-rvest + r-stringi + r-xml2)) + (native-inputs (list r-r-rsp)) + (home-page "https://cran.r-project.org/package=ctrdata") + (synopsis "Retrieve and analyze clinical trials in public registers") + (description + "This package provides a system for querying, retrieving and analyzing +protocol- and results-related information on clinical trials from three public +registers, the European Union Clinical Trials Register (EUCTR), +ClinicalTrials.gov (CTGOV) and the ISRCTN. Trial information is downloaded, +converted and stored in a database. Functions are included to identify +deduplicated records, to easily find and extract variables (fields) of +interest even from complex nesting as used by the registers, and to update +previous queries. The package can be used for meta-analysis and +trend-analysis of the design and conduct as well as for results of clinical +trials.") + (license license:expat))) + (define-public r-ctrialsgov (package (name "r-ctrialsgov") -- cgit v1.2.3 From 9512fb83d2f9d5e0df60ed8a26d6905301b19e26 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 25 Mar 2023 23:37:14 +0100 Subject: gnu: Add python-hatchling. * gnu/packages/python-xyz.scm (python-hatchling): New variable. --- gnu/packages/python-xyz.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 10df74fc45..3f0005faa2 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -1755,6 +1755,51 @@ (define-public python-boolean.py Expressions are constructed from parsed strings or directly in Python.") (license license:bsd-2))) +(define-public python-hatchling + (package + (name "python-hatchling") + (version "1.13.0") + (source (origin + (method url-fetch) + (uri (pypi-uri "hatchling" version)) + (sha256 + (base32 + "1isk1kqra0sm2sj2yp39sgk62mx0bp1jnbkwdcl3a1vjrji7blpq")))) + (build-system pyproject-build-system) + (arguments + (list + #:tests? #false ;there are none + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-depend-on-hatchling + (lambda _ + ;; We don't use hatchling. + (delete-file "pyproject.toml") + (call-with-output-file "pyproject.toml" + (lambda (port) + (format port "\ +[build-system] +build-backend = 'setuptools.build_meta' +requires = ['setuptools'] +"))) + (call-with-output-file "setup.cfg" + (lambda (port) + (format port "\ +[metadata] +name = hatchling +version = '~a' " #$version)))))))) + (propagated-inputs + (list python-editables + python-importlib-metadata + python-packaging + python-pathspec + python-pluggy + python-tomli)) + (home-page "https://pypi.org/project/hatchling/") + (synopsis "Extensible Python build backend") + (description "Hatchling is an extensible Python build backend.") + (license license:expat))) + (define-public python-hdf4 (package (name "python-hdf4") -- cgit v1.2.3 From dde25af03e3d0ba5d94bdd814d03eee1e4907709 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Mon, 13 Mar 2023 22:03:12 +0100 Subject: gnu: gnome-desktop: Update to 43.2. * gnu/packages/gnome.scm (gnome-desktop): Update to 43.2. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 0efb98b97c..aaa498836d 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2255,7 +2255,7 @@ (define-public gnome-contacts (define-public gnome-desktop (package (name "gnome-desktop") - (version "42.4") + (version "43.2") (source (origin (method url-fetch) @@ -2264,7 +2264,7 @@ (define-public gnome-desktop name "-" version ".tar.xz")) (sha256 (base32 - "09ddr5fzhh02fcn7xl1wy18qfsdqryd5msl2nbhdnsbr0vawkqhw")))) + "0c6pa7aip5q4gjcsid92yl5n71mgwfssn7p9wxndyqwas8hapfd0")))) (build-system meson-build-system) (arguments '(#:phases -- cgit v1.2.3 From d58a804837760758b4389210711d170d65be2a53 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Mon, 13 Mar 2023 22:04:03 +0100 Subject: gnu: nautilus: Update to 43.2. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/gnome.scm (nautilus): Update to 43.2. [arguments]: Adjust ‘skip-gtk-update-icon-cache’ phase accordingly. [inputs]: Replace glib with glib-next, gtk+ with gtk and libhandy with libadwaita. * gnu/packages/patches/nautilus-extension-search-path.patch: Adjust accordingly. --- gnu/packages/gnome.scm | 16 +++--- .../patches/nautilus-extension-search-path.patch | 58 +++++++++++----------- 2 files changed, 38 insertions(+), 36 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index aaa498836d..828c16071e 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9908,7 +9908,7 @@ (define-public tracker-miners (define-public nautilus (package (name "nautilus") - (version "42.2") + (version "43.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9916,7 +9916,7 @@ (define-public nautilus name "-" version ".tar.xz")) (sha256 (base32 - "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr")) + "1q7dmwvyc3adpdh767fqnmaw7hsr8s5iv6p4kh11nlamljkrlsm8")) (patches (search-patches "nautilus-extension-search-path.patch")))) (build-system meson-build-system) @@ -9935,8 +9935,9 @@ (define-public nautilus (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "build-aux/meson/postinstall.py" - (("gtk-update-icon-cache") "true")))) + (substitute* "meson.build" + (("gtk_update_icon_cache: true") + "gtk_update_icon_cache: false")))) (delete 'check) (add-after 'install 'check (assoc-ref %standard-phases 'check)) @@ -9957,24 +9958,25 @@ (define-public nautilus (inputs (list dconf gexiv2 + glib-next gvfs exempi gnome-desktop gnome-autoar gst-plugins-base json-glib - libhandy + libadwaita libportal libseccomp libselinux tracker tracker-miners - ;; XXX: gtk+ is required by libnautilus-extension.pc + ;; XXX: gtk is required by libnautilus-extension.pc ;; ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta ;; package. See: ;; . - gtk+ + gtk libexif libxml2)) (native-search-paths diff --git a/gnu/packages/patches/nautilus-extension-search-path.patch b/gnu/packages/patches/nautilus-extension-search-path.patch index d5dc35b241..07170b12a4 100644 --- a/gnu/packages/patches/nautilus-extension-search-path.patch +++ b/gnu/packages/patches/nautilus-extension-search-path.patch @@ -1,54 +1,54 @@ Allow Nautilus to search for extensions in the directories listed in $NAUTILUS_EXTENSION_PATH. -diff --git a/src/nautilus-module.c b/src/nautilus-module.c -index bf474bd..42e2a4e 100644 ---- a/src/nautilus-module.c -+++ b/src/nautilus-module.c -@@ -211,6 +211,10 @@ static void +Index: nautilus-43.2/src/nautilus-module.c +=================================================================== +--- nautilus-43.2.orig/src/nautilus-module.c ++++ nautilus-43.2/src/nautilus-module.c +@@ -220,8 +220,13 @@ static void load_module_dir (const char *dirname) { GDir *dir; + static GHashTable *loaded = NULL; -+ ++ g_autoptr (GStrvBuilder) installed_module_name_builder = NULL; + +- g_autoptr (GStrvBuilder) installed_module_name_builder = g_strv_builder_new (); + if (loaded == NULL) + loaded = g_hash_table_new (g_str_hash, g_str_equal); - ++ ++ installed_module_name_builder = g_strv_builder_new (); dir = g_dir_open (dirname, 0, NULL); -@@ -221,15 +225,22 @@ load_module_dir (const char *dirname) - while ((name = g_dir_read_name (dir))) + if (dir) +@@ -232,13 +237,20 @@ load_module_dir (const char *dirname) { if (g_str_has_suffix (name, "." G_MODULE_SUFFIX)) -- { + { - char *filename; - - filename = g_build_filename (dirname, - name, - NULL); -- nautilus_module_load_file (filename); +- nautilus_module_load_file (filename, installed_module_name_builder); - g_free (filename); -- } -+ { -+ /* Make sure each module is loaded only twice or this could -+ lead to a crash. Double loading can occur if DIRNAME -+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ -+ if (!g_hash_table_contains (loaded, name)) -+ { -+ char *filename; ++ /* Make sure each module is loaded only twice or this could ++ lead to a crash. Double loading can ocur if DIRNAME ++ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ ++ if (!g_hash_table_contains (loaded, name)) ++ { ++ char *filename; + -+ filename = g_build_filename (dirname, -+ name, -+ NULL); -+ nautilus_module_load_file (filename); -+ g_hash_table_add (loaded, g_strdup (name)); -+ g_free (filename); -+ } -+ } ++ filename = g_build_filename (dirname, ++ name, ++ NULL); ++ nautilus_module_load_file (filename, installed_module_name_builder); ++ g_hash_table_add (loaded, g_strdup (name)); ++ g_free (filename); ++ } + } } - g_dir_close (dir); -@@ -257,10 +268,24 @@ nautilus_module_setup (void) +@@ -278,10 +290,24 @@ nautilus_module_setup (void) if (!initialized) { -- cgit v1.2.3 From 720568e60983f77f2575a2cf681f3b3ee43984de Mon Sep 17 00:00:00 2001 From: Sergey Trofimov Date: Sat, 18 Mar 2023 15:28:44 +0100 Subject: gnu: Add physlock. * gnu/packages/xdisorg.scm (physlock): New variable. Signed-off-by: Liliana Marie Prikler --- gnu/packages/xdisorg.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 29c99af878..5dbdb73fac 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2318,6 +2318,47 @@ (define-public xss-lock (home-page "https://bitbucket.org/raymonad/xss-lock") (license license:expat)))) +(define-public physlock + (package + (name "physlock") + (version "13") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/xyb3rt/physlock") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mz4xxjip5ldiw9jgfq9zvqb6w10bcjfx6939w1appqg8f521a7s")))) + (build-system gnu-build-system) + (arguments + (list #:tests? #f ;no tests + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + + (add-after 'unpack 'fix-makefile + (lambda _ + (substitute* "main.c" ; remove extra newline in the prompt + (("(fprintf.vt.ios, .%s.)\\n(., options->prompt)" all start end) + (string-append start end))) + (substitute* "Makefile" (("-m 4755 -o root -g root") ""))))) + + #:make-flags + #~(list "HAVE_SYSTEMD=0" "HAVE_ELOGIND=1" + (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)))) + (native-inputs (list linux-pam elogind)) + (synopsis "Screen lock utility") + (description + "@command{physlock} locks all virtual terminals at once, only allowing the +user of the active session (the user logged into the foreground virtual +terminal) to unlock the computer. It is an alternative to @command{vlock -an}, +written to overcome vlock's limitations regarding hibernate and suspend.") + (home-page "https://github.com/xyb3rt/physlock") + (license license:gpl2+))) + (define-public python-pyperclip (package (name "python-pyperclip") -- cgit v1.2.3 From 9b58148641262b014356353ebe418c68011be029 Mon Sep 17 00:00:00 2001 From: Jack Hill Date: Thu, 23 Mar 2023 23:17:17 -0400 Subject: gnu: dino: Update to 0.4.2 [fixes CVE-2023-28686]. * gnu/packages/messaging.scm (dino): Update to 0.4.2. Signed-off-by: Liliana Marie Prikler --- gnu/packages/messaging.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 5ba7d166c0..4b8071e728 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -1321,7 +1321,7 @@ (define-public gajim-openpgp (define-public dino (package (name "dino") - (version "0.4.0") + (version "0.4.2") (source (origin (method url-fetch) @@ -1329,7 +1329,7 @@ (define-public dino (string-append "https://github.com/dino/dino/releases/download/v" version "/dino-" version ".tar.gz")) (sha256 - (base32 "115p7mjk0q68nvv8asrm6hsv0dzsz7hy2bnvhwhxmcfbilr8fq68")))) + (base32 "1vbyrnivibsn4jzmfb6sfq5fxhb0xh1cnhgcmg1rafq751q55cg1")))) (build-system cmake-build-system) (outputs '("out" "debug")) (arguments -- cgit v1.2.3 From 310ed6453a2717a527c1a09df2397daed42de5cf Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sun, 26 Mar 2023 14:13:40 +0200 Subject: Revert "gnu: gnome-desktop: Update to 43.2." This reverts commit dde25af03e3d0ba5d94bdd814d03eee1e4907709, which broke the build of gnome-control-center. --- gnu/packages/gnome.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 828c16071e..880a9de477 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2255,7 +2255,7 @@ (define-public gnome-contacts (define-public gnome-desktop (package (name "gnome-desktop") - (version "43.2") + (version "42.4") (source (origin (method url-fetch) @@ -2264,7 +2264,7 @@ (define-public gnome-desktop name "-" version ".tar.xz")) (sha256 (base32 - "0c6pa7aip5q4gjcsid92yl5n71mgwfssn7p9wxndyqwas8hapfd0")))) + "09ddr5fzhh02fcn7xl1wy18qfsdqryd5msl2nbhdnsbr0vawkqhw")))) (build-system meson-build-system) (arguments '(#:phases -- cgit v1.2.3 From 36b22aa75aefd92c980fdfaafb8b6e440eab6505 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Sun, 26 Mar 2023 14:13:00 +0200 Subject: Revert "gnu: nautilus: Update to 43.2." This reverts commit d58a804837760758b4389210711d170d65be2a53, as nautilus 43.2 depends on gnome-desktop 43.2. --- gnu/packages/gnome.scm | 16 +++--- .../patches/nautilus-extension-search-path.patch | 58 +++++++++++----------- 2 files changed, 36 insertions(+), 38 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 880a9de477..0efb98b97c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -9908,7 +9908,7 @@ (define-public tracker-miners (define-public nautilus (package (name "nautilus") - (version "43.2") + (version "42.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" @@ -9916,7 +9916,7 @@ (define-public nautilus name "-" version ".tar.xz")) (sha256 (base32 - "1q7dmwvyc3adpdh767fqnmaw7hsr8s5iv6p4kh11nlamljkrlsm8")) + "1cncyiyh79w1id6a6s2f0rxmgwl65lp4ml4afa0z35jrnwp2s8cr")) (patches (search-patches "nautilus-extension-search-path.patch")))) (build-system meson-build-system) @@ -9935,9 +9935,8 @@ (define-public nautilus (add-after 'unpack 'skip-gtk-update-icon-cache ;; Don't create 'icon-theme.cache'. (lambda _ - (substitute* "meson.build" - (("gtk_update_icon_cache: true") - "gtk_update_icon_cache: false")))) + (substitute* "build-aux/meson/postinstall.py" + (("gtk-update-icon-cache") "true")))) (delete 'check) (add-after 'install 'check (assoc-ref %standard-phases 'check)) @@ -9958,25 +9957,24 @@ (define-public nautilus (inputs (list dconf gexiv2 - glib-next gvfs exempi gnome-desktop gnome-autoar gst-plugins-base json-glib - libadwaita + libhandy libportal libseccomp libselinux tracker tracker-miners - ;; XXX: gtk is required by libnautilus-extension.pc + ;; XXX: gtk+ is required by libnautilus-extension.pc ;; ;; Don't propagate it to reduces "profile pollution" of the 'gnome' meta ;; package. See: ;; . - gtk + gtk+ libexif libxml2)) (native-search-paths diff --git a/gnu/packages/patches/nautilus-extension-search-path.patch b/gnu/packages/patches/nautilus-extension-search-path.patch index 07170b12a4..d5dc35b241 100644 --- a/gnu/packages/patches/nautilus-extension-search-path.patch +++ b/gnu/packages/patches/nautilus-extension-search-path.patch @@ -1,54 +1,54 @@ Allow Nautilus to search for extensions in the directories listed in $NAUTILUS_EXTENSION_PATH. -Index: nautilus-43.2/src/nautilus-module.c -=================================================================== ---- nautilus-43.2.orig/src/nautilus-module.c -+++ nautilus-43.2/src/nautilus-module.c -@@ -220,8 +220,13 @@ static void +diff --git a/src/nautilus-module.c b/src/nautilus-module.c +index bf474bd..42e2a4e 100644 +--- a/src/nautilus-module.c ++++ b/src/nautilus-module.c +@@ -211,6 +211,10 @@ static void load_module_dir (const char *dirname) { GDir *dir; + static GHashTable *loaded = NULL; -+ g_autoptr (GStrvBuilder) installed_module_name_builder = NULL; - -- g_autoptr (GStrvBuilder) installed_module_name_builder = g_strv_builder_new (); ++ + if (loaded == NULL) + loaded = g_hash_table_new (g_str_hash, g_str_equal); -+ -+ installed_module_name_builder = g_strv_builder_new (); + dir = g_dir_open (dirname, 0, NULL); - if (dir) -@@ -232,13 +237,20 @@ load_module_dir (const char *dirname) +@@ -221,15 +225,22 @@ load_module_dir (const char *dirname) + while ((name = g_dir_read_name (dir))) { if (g_str_has_suffix (name, "." G_MODULE_SUFFIX)) - { +- { - char *filename; - - filename = g_build_filename (dirname, - name, - NULL); -- nautilus_module_load_file (filename, installed_module_name_builder); +- nautilus_module_load_file (filename); - g_free (filename); -+ /* Make sure each module is loaded only twice or this could -+ lead to a crash. Double loading can ocur if DIRNAME -+ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ -+ if (!g_hash_table_contains (loaded, name)) -+ { -+ char *filename; +- } ++ { ++ /* Make sure each module is loaded only twice or this could ++ lead to a crash. Double loading can occur if DIRNAME ++ occurs more than once in $NAUTILUS_EXTENSION_PATH. */ ++ if (!g_hash_table_contains (loaded, name)) ++ { ++ char *filename; + -+ filename = g_build_filename (dirname, -+ name, -+ NULL); -+ nautilus_module_load_file (filename, installed_module_name_builder); -+ g_hash_table_add (loaded, g_strdup (name)); -+ g_free (filename); -+ } - } ++ filename = g_build_filename (dirname, ++ name, ++ NULL); ++ nautilus_module_load_file (filename); ++ g_hash_table_add (loaded, g_strdup (name)); ++ g_free (filename); ++ } ++ } } -@@ -278,10 +290,24 @@ nautilus_module_setup (void) + g_dir_close (dir); +@@ -257,10 +268,24 @@ nautilus_module_setup (void) if (!initialized) { -- cgit v1.2.3 From 42fbe62d52a82d1003c3d7039d3c4a46806c5cee Mon Sep 17 00:00:00 2001 From: Pierre Langlois Date: Sun, 26 Mar 2023 13:55:14 +0100 Subject: linux-container: Remove hosts-service-type when network is shared. Fixes . * gnu/system/linux-container.scm (container-essential-services): When shared-network? is true, remove the hosts-service-type service kind. --- gnu/system/linux-container.scm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/system/linux-container.scm b/gnu/system/linux-container.scm index c2fd55d48e..409386a84f 100644 --- a/gnu/system/linux-container.scm +++ b/gnu/system/linux-container.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2020 Efraim Flashner ;;; Copyright © 2020 Google LLC ;;; Copyright © 2022 Ricardo Wurmus +;;; Copyright © 2023 Pierre Langlois ;;; ;;; This file is part of GNU Guix. ;;; @@ -49,9 +50,12 @@ (define* (container-essential-services os #:key shared-network?) (define base (remove (lambda (service) (memq (service-kind service) - (list (service-kind %linux-bare-metal-service) - firmware-service-type - system-service-type))) + (cons* (service-kind %linux-bare-metal-service) + firmware-service-type + system-service-type + (if shared-network? + (list hosts-service-type) + '())))) (operating-system-default-essential-services os))) (cons (service system-service-type -- cgit v1.2.3 From 8304634260bbedfca8a6ed87e5d84b619be1e3fd Mon Sep 17 00:00:00 2001 From: "Jan (janneke) Nieuwenhuizen" Date: Sun, 26 Mar 2023 19:54:19 +0200 Subject: home: services: Export home-xmodmap-service-type and configuration. This is a follow-up to commit 511ae8325db0dfc7803d7b98d7e4d8f76774e8c5 home: services: Add home-xmodmap-service-type. * gnu/home/services/desktop.scm (home-xmodmap-service-type, home-xmodmap-configuration): Export. --- gnu/home/services/desktop.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/home/services/desktop.scm b/gnu/home/services/desktop.scm index fb1cd44060..661fe7d283 100644 --- a/gnu/home/services/desktop.scm +++ b/gnu/home/services/desktop.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2022 Ludovic Courtès ;;; Copyright © 2022 ( ;;; Copyright © 2023 conses +;;; Copyright © 2023 Janneke Nieuwenhuizen ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,7 +38,10 @@ (define-module (gnu home services desktop) home-dbus-service-type home-unclutter-configuration - home-unclutter-service-type)) + home-unclutter-service-type + + home-xmodmap-configuration + home-xmodmap-service-type)) ;;; -- cgit v1.2.3 From d9ea98027952dd34f85a7fcce5eb2c10e33a1b4e Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 2 Feb 2023 12:16:13 +0100 Subject: gnu: Add a pinned-version variant of w3m. * gnu/packages/w3m.scm (w3m-for-tests): New variable. --- gnu/packages/w3m.scm | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/w3m.scm b/gnu/packages/w3m.scm index 39d5e3c37f..498bf0f111 100644 --- a/gnu/packages/w3m.scm +++ b/gnu/packages/w3m.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov -;;; Copyright © 2016, 2017, 2018 Leo Famulari +;;; Copyright © 2016, 2017, 2018, 2023 Leo Famulari ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2016, 2019 Efraim Flashner ;;; Copyright © 2018 Rutger Helling @@ -42,6 +42,9 @@ (define-module (gnu packages w3m) (define-public w3m (package (name "w3m") + ;; When updating, be careful not to change the derivation of w3m-for-tests, + ;; unless you mean to. Changing w3m-for-tests will cause thousands of + ;; rebuilds via the reverse dependency graph of xdg-utils. (version "0.5.3+git20230121") (source (origin (method git-fetch) @@ -86,3 +89,21 @@ (define-public w3m typesets HTML into plain text.") (license (x11-style "file://doc/README" "See 'doc/README' in the distribution.")))) + +;; Used in the test suite of xdg-utils +(define-public w3m-for-tests + (hidden-package + (package + (inherit w3m) + (name "w3m") + (version "0.5.3+git20230121") + (source (origin + (method git-fetch) + ;; Debian's fork of w3m is the only one that is still maintained. + (uri (git-reference + (url "https://salsa.debian.org/debian/w3m.git") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nvhxsqxgxjrr62mvxzhhfzvbvg56g19vlqcgb8mh2x1daazk5ms"))))))) -- cgit v1.2.3 From 9ec1af39e29d0fa95d4db4b5b8ef1cf3613c5956 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Sun, 26 Mar 2023 15:52:07 -0400 Subject: gnu: xdg-utils: Use a pinned version of w3m. * gnu/packages/freedesktop.scm (xdg-utils)[native-inputs]: Replace w3m with w3m-for-tests. --- gnu/packages/freedesktop.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 40edcfdab4..043d1ec92b 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -484,7 +484,7 @@ (define-public xdg-utils "1nai806smz3zcb2l5iny4x7li0fak0rzmjg6vlyhdqm8z25b166p")))) (build-system gnu-build-system) (native-inputs - (list docbook-xsl docbook-xml-4.1.2 libxslt w3m xmlto)) + (list docbook-xsl docbook-xml-4.1.2 libxslt w3m-for-tests xmlto)) (inputs `(("awk" ,gawk) ;; TODO(staging): Make this unconditional, to avoid canonical packages, -- cgit v1.2.3 From 547965aa27b6a09cadf42130b7ec7db3f1aee61f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 24 Mar 2023 19:22:39 +0100 Subject: services: herd: Remove workaround for Shepherd < 0.5.0. * gnu/services/herd.scm (load-services/safe): Remove workaround for Shepherd < 0.5.0, released in 2018. --- gnu/services/herd.scm | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) (limited to 'gnu') diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm index a7c845b4b0..e489ce2b9a 100644 --- a/gnu/services/herd.scm +++ b/gnu/services/herd.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2016-2019, 2022 Ludovic Courtès +;;; Copyright © 2016-2019, 2022-2023 Ludovic Courtès ;;; Copyright © 2017, 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. @@ -284,22 +284,12 @@ (define (load-services files) (define (load-services/safe files) "This is like 'load-services', but make sure only the subset of FILES that -can be safely reloaded is actually reloaded. - -This is done to accommodate the Shepherd < 0.15.0 where services lacked the -'replacement' slot, and where 'register-services' would throw an exception -when passed a service with an already-registered name." - (eval-there `(let* ((services (map primitive-load ',files)) - (slots (map slot-definition-name - (class-slots ))) - (can-replace? (memq 'replacement slots))) - (define (registered? service) - (not (null? (lookup-services (canonical-name service))))) - - (apply register-services - (if can-replace? - services - (remove registered? services)))))) +can be safely reloaded is actually reloaded." + (eval-there `(let ((services (map primitive-load ',files))) + ;; Since version 0.5.0 of the Shepherd, registering a service + ;; that has the same name as an already-registered service + ;; makes it a "replacement" of that previous service. + (apply register-services services)))) (define* (start-service name #:optional (arguments '())) (invoke-action name 'start arguments -- cgit v1.2.3 From b4fbeae3d90a5d0f8146441772436df2eb471491 Mon Sep 17 00:00:00 2001 From: Tim Johann Date: Fri, 24 Mar 2023 21:09:52 +0100 Subject: gnu: chez-scheme-for-racket-bootstrap-bootfiles: change for aarch64. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/chez.scm (chez-scheme-for-racket-bootstrap-bootfiles): Temporary change for build on aarch64, making racket available on aarch64. Architecture autodetect in rktboot only addresses x86 archs, so far. This work-around sets the architecture, looked up in translation table, explicitly. The long term solution should be to fix rktboot to include other natively supported architectures in the autodetect mechanism. cf. https://github.com/racket/racket/issues/3948 [arguments] use --machine even when architecture is supported by Racket's fork of ChezScheme. Signed-off-by: Ludovic Courtès --- gnu/packages/chez.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/chez.scm b/gnu/packages/chez.scm index c6420a980e..ab6eaba6bd 100644 --- a/gnu/packages/chez.scm +++ b/gnu/packages/chez.scm @@ -692,10 +692,12 @@ (define-public chez-scheme-for-racket-bootstrap-bootfiles (search-input-file (or native-inputs inputs) "/opt/racket-vm/bin/racket") "../rktboot/main.rkt" - #$@(if (racket-cs-native-supported-system?) - #~() - (let ((m (nix-system->pbarch-machine-type))) - #~("--machine" #$m))))))))))))) + ;; Temporary handling of builds on non-x86 architectures, + ;; see https://github.com/racket/racket/issues/3948 + ;; Autodetect in rktboot only addresses x86 archs, so far. + #$@(let ((m (or (racket-cs-native-supported-system?) + (nix-system->pbarch-machine-type)))) + #~("--machine" #$m)))))))))))) (supported-systems (package-supported-systems chez-scheme-for-racket)) (home-page "https://github.com/racket/ChezScheme") -- cgit v1.2.3 From fa715278bcb62874580d4b72ad3b0545e8a686e5 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 17 Mar 2023 22:03:56 +0000 Subject: gnu: haproxy: Update to 2.7.5. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (haproxy): Update to 2.7.4. [arguments]: Use Gexp. : Add extra build options 'USE_PCRE2_JIT' enables JIT for faster regex on libpcre2, 'USE_PROMEX' enables the Prometheus exporter. Set CC to use cc-for-target, point 'LUA_INC' and 'LUA_LIB' to corresponded '/include' and '/lib' outputs of Lua. Replace 'USE_PCRE_2' by correct option 'USE_PCRE2'. Signed-off-by: Ludovic Courtès --- gnu/packages/networking.scm | 50 +++++++++++++++++++++++++-------------------- 1 file changed, 28 insertions(+), 22 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ecb1d16615..7d4a928ad7 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -4239,30 +4239,36 @@ (define-public vde2 (define-public haproxy (package (name "haproxy") - (version "2.1.7") - (source (origin - (method url-fetch) - (uri (string-append "https://www.haproxy.org/download/" - (version-major+minor version) - "/src/haproxy-" version ".tar.gz")) - (sha256 - (base32 - "0fd3c1znid5a9w3gcf77b85hm2a2558w9s02c4b7xzkmivqnqbir")))) + (version "2.7.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.haproxy.org/download/" + (version-major+minor version) + "/src/haproxy-" version ".tar.gz")) + (sha256 + (base32 "00j5lwvrf8lgfid3108gclxbd46v3mnd4lh0lw4l0nn3f0rf9ip2")))) (build-system gnu-build-system) (arguments - `(#:make-flags - (let* ((out (assoc-ref %outputs "out"))) - (list (string-append "PREFIX=" out) - (string-append "DOCDIR=" out "/share/" ,name) - "TARGET=linux-glibc" - "USE_LUA=1" - "USE_OPENSSL=1" - "USE_ZLIB=1" - "USE_PCRE_2=1")) - #:tests? #f ; there are only regression tests, using varnishtest - #:phases - (modify-phases %standard-phases - (delete 'configure)))) + (list + #:tests? #f ; there are only regression tests, using varnishtest + #:make-flags + #~(list "LUA_LIB_NAME=lua" + "TARGET=linux-glibc" + "USE_LUA=1" + "USE_OPENSSL=1" + "USE_PCRE2=1" + "USE_PCRE2_JIT=1" + "USE_PROMEX=1" + "USE_ZLIB=1" + (string-append "CC=" #$(cc-for-target)) + (string-append "DOCDIR=" #$output "/share/" #$name) + (string-append "LUA_INC=" #$(this-package-input "lua") "/include") + (string-append "LUA_LIB=" #$(this-package-input "lua") "/lib") + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) (inputs (list lua openssl pcre2 zlib)) (home-page "https://www.haproxy.org/") -- cgit v1.2.3 From c06b6ce2572410eb6b904d5ade219b5023143517 Mon Sep 17 00:00:00 2001 From: Sharlatan Hellseher Date: Fri, 17 Mar 2023 22:03:57 +0000 Subject: gnu: haproxy: Move to (gnu packages high-availability). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copyright records were synchronized based on commit history. * gnu/packages/networking.scm (haproxy): Move this variable from here... * gnu/packages/high-availability.scm (haproxy): ...to here. Signed-off-by: Ludovic Courtès --- gnu/packages/high-availability.scm | 53 +++++++++++++++++++++++++++++++++++++- gnu/packages/networking.scm | 48 +--------------------------------- 2 files changed, 53 insertions(+), 48 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/high-availability.scm b/gnu/packages/high-availability.scm index 108ea553ef..ad6db537e5 100644 --- a/gnu/packages/high-availability.scm +++ b/gnu/packages/high-availability.scm @@ -1,4 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Brice Waegeneire +;;; Copyright © 2020, 2022 Tobias Geerinckx-Rice ;;; Copyright © 2022 Sharlatan Hellseher ;;; ;;; This file is part of GNU Guix. @@ -34,8 +36,10 @@ (define-module (gnu packages high-availability) #:use-module (gnu packages glib) #:use-module (gnu packages hardware) #:use-module (gnu packages linux) + #:use-module (gnu packages lua) #:use-module (gnu packages networking) #:use-module (gnu packages nss) + #:use-module (gnu packages pcre) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages rsync) @@ -45,13 +49,60 @@ (define-module (gnu packages high-availability) #:use-module (gnu packages xml) #:use-module (gnu packages) #:use-module (guix build-system gnu) - #:use-module (guix gexp) #:use-module (guix download) + #:use-module (guix gexp) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module ((guix licenses) #:prefix license:)) +(define-public haproxy + (package + (name "haproxy") + (version "2.7.5") + (source + (origin + (method url-fetch) + (uri (string-append "https://www.haproxy.org/download/" + (version-major+minor version) + "/src/haproxy-" version ".tar.gz")) + (sha256 + (base32 "00j5lwvrf8lgfid3108gclxbd46v3mnd4lh0lw4l0nn3f0rf9ip2")))) + (build-system gnu-build-system) + (arguments + (list + #:tests? #f ; there are only regression tests, using varnishtest + #:make-flags + #~(list "LUA_LIB_NAME=lua" + "TARGET=linux-glibc" + "USE_LUA=1" + "USE_OPENSSL=1" + "USE_PCRE2=1" + "USE_PCRE2_JIT=1" + "USE_PROMEX=1" + "USE_ZLIB=1" + (string-append "CC=" #$(cc-for-target)) + (string-append "DOCDIR=" #$output "/share/" #$name) + (string-append "LUA_INC=" #$(this-package-input "lua") "/include") + (string-append "LUA_LIB=" #$(this-package-input "lua") "/lib") + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (delete 'configure)))) + (inputs + (list lua openssl pcre2 zlib)) + (home-page "https://www.haproxy.org/") + (synopsis "Reliable, high performance TCP/HTTP load balancer") + (description "HAProxy offers @acronym{HA, high availability}, load +balancing, and proxying for TCP and HTTP-based applications. It is particularly +suited to Web sites crawling under very high loads while needing persistence or +Layer 7 processing. Supporting tens of thousands of connections is clearly +realistic with today's hardware.") + (license (list license:gpl2+ + license:lgpl2.1 + license:lgpl2.1+)))) + (define-public libqb (package (name "libqb") diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index 7d4a928ad7..ae26105c2c 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -30,7 +30,7 @@ ;;; Copyright © 2019 Vasile Dumitrascu ;;; Copyright © 2019 Julien Lepiller ;;; Copyright © 2019 Timotej Lazar -;;; Copyright © 2019, 2020, 2021 Brice Waegeneire +;;; Copyright © 2019, 2021 Brice Waegeneire ;;; Copyright © 2019, 2020 Alex Griffin ;;; Copyright © 2019, 2020 Jan Wielkiewicz ;;; Copyright © 2019 Daniel Schaefer @@ -4236,52 +4236,6 @@ (define-public vde2 "file://COPYING.slirpvde" "See COPYING.slirpvde in the distribution.")))))) -(define-public haproxy - (package - (name "haproxy") - (version "2.7.5") - (source - (origin - (method url-fetch) - (uri (string-append "https://www.haproxy.org/download/" - (version-major+minor version) - "/src/haproxy-" version ".tar.gz")) - (sha256 - (base32 "00j5lwvrf8lgfid3108gclxbd46v3mnd4lh0lw4l0nn3f0rf9ip2")))) - (build-system gnu-build-system) - (arguments - (list - #:tests? #f ; there are only regression tests, using varnishtest - #:make-flags - #~(list "LUA_LIB_NAME=lua" - "TARGET=linux-glibc" - "USE_LUA=1" - "USE_OPENSSL=1" - "USE_PCRE2=1" - "USE_PCRE2_JIT=1" - "USE_PROMEX=1" - "USE_ZLIB=1" - (string-append "CC=" #$(cc-for-target)) - (string-append "DOCDIR=" #$output "/share/" #$name) - (string-append "LUA_INC=" #$(this-package-input "lua") "/include") - (string-append "LUA_LIB=" #$(this-package-input "lua") "/lib") - (string-append "PREFIX=" #$output)) - #:phases - #~(modify-phases %standard-phases - (delete 'configure)))) - (inputs - (list lua openssl pcre2 zlib)) - (home-page "https://www.haproxy.org/") - (synopsis "Reliable, high performance TCP/HTTP load balancer") - (description "HAProxy offers @acronym{HA, high availability}, load -balancing, and proxying for TCP and HTTP-based applications. It is particularly -suited to Web sites crawling under very high loads while needing persistence or -Layer 7 processing. Supporting tens of thousands of connections is clearly -realistic with today's hardware.") - (license (list license:gpl2+ - license:lgpl2.1 - license:lgpl2.1+)))) - (define-public lldpd (package (name "lldpd") -- cgit v1.2.3 From 30b2a2ab9e2584100893834edcd9e95dec635421 Mon Sep 17 00:00:00 2001 From: Stefan Baums Date: Sun, 19 Mar 2023 16:29:19 -0700 Subject: gnu: font-sil-gentium: Update to 6.2.0. * gnu/packages/fonts.scm (font-sil-gentium): Update to 6.2.0. Signed-off-by: Leo Famulari --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 5d159208dd..879a3dadb1 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2072,7 +2072,7 @@ (define-public font-blackfoundry-inria (define-public font-sil-gentium (package (name "font-sil-gentium") - (version "5.000") + (version "6.200") (source (origin (method url-fetch) (uri (string-append @@ -2080,7 +2080,7 @@ (define-public font-sil-gentium version ".zip")) (sha256 (base32 - "0m7189870hha217n1vgpmf89mwggrxkh679ffi1lxpnjggqi2n9k")))) + "0wxhsxv7xqsfbrywax0lcbmyfbrvrcm5g4c7a2v4j4cng4xi08cv")))) ;; Note: The zip file provides TTF files only, but the developer release, ;; which contains additional files, has a 'SOURCES.txt' file that says ;; that "the primary source files for the fonts are the fonts themselves". -- cgit v1.2.3 From 2b54eca70e1bf637cb32a4aae4cd9d99f8689eb1 Mon Sep 17 00:00:00 2001 From: Stefan Baums Date: Sun, 19 Mar 2023 16:29:20 -0700 Subject: gnu: font-sil-andika: Update to 6.2.0. * gnu/packages/fonts.scm (font-sil-andika): Update to 6.2.0. Signed-off-by: Leo Famulari --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 879a3dadb1..60e86db638 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2098,7 +2098,7 @@ (define-public font-sil-gentium (define-public font-sil-andika (package (name "font-sil-andika") - (version "5.000") + (version "6.200") (source (origin (method url-fetch) (uri (string-append @@ -2106,7 +2106,7 @@ (define-public font-sil-andika version ".zip")) (sha256 (base32 - "01zm7p32gxfwmv7h3cfj2vx59846w2y6rxqy67grn2dyjh8pljv0")))) + "0z7qvjlidn3m2k40mwnm3azf3wd8pi1yvy2q30p5vkyyzhipb6nc")))) ;; As for Gentium (see above), the TTF files are considered source. (build-system font-build-system) (synopsis "Sans serif font designed especially for literacy use") -- cgit v1.2.3 From 89c8bba0a6cb164987c0e51037a106532e783aa9 Mon Sep 17 00:00:00 2001 From: Stefan Baums Date: Sun, 19 Mar 2023 16:29:21 -0700 Subject: gnu: font-sil-charis: Update to 6.2.0. * gnu/packages/fonts.scm (font-sil-charis): Update to 6.2.0. Signed-off-by: Leo Famulari --- gnu/packages/fonts.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 60e86db638..88d833d6c4 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2121,7 +2121,7 @@ (define-public font-sil-andika (define-public font-sil-charis (package (name "font-sil-charis") - (version "5.000") + (version "6.200") (source (origin (method url-fetch) (uri (string-append @@ -2129,7 +2129,7 @@ (define-public font-sil-charis version ".zip")) (sha256 (base32 - "1zcvw37f1a7gkml3yfm6hxh93844llm7xj4w52600qq3ndrm8gjy")))) + "1pksr5wc9grdj75md4phr1a0gpjxk7xlmhv2nybsd2hbfrssl2ab")))) ;; As for Gentium (see above), the TTF files are considered source. (build-system font-build-system) (synopsis "Serif font for the Cyrillic and Latin alphabets") -- cgit v1.2.3 From 18ec16560d6742d9827a0f692f2b858378005cc2 Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 22 Mar 2023 12:00:28 -0500 Subject: gnu: Add cl-tls. * gnu/packages/lisp-xyz.scm (cl-tls, ecl-cl-tls, sbcl-cl-tls): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 20ea82cd6f..2ae2b7bd05 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5739,6 +5739,40 @@ (define-public cl-chipz (define-public ecl-chipz (sbcl-package->ecl-package sbcl-chipz)) +(define-public sbcl-cl-tls + (let ((commit "2ab4fc3ae7e79e451126a9bb6bc38ca2cd2cb4ba") + (revision "0")) + (package + (name "sbcl-cl-tls") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/shrdlu68/cl-tls") + (commit commit))) + (file-name (git-file-name "cl-tls" version)) + (sha256 + (base32 "1j6gwv21ibkk6xd1xxm54wgwp09dzqg60b8z72hivpnq8gwm0ba7")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-babel + sbcl-cl-base64 + sbcl-fast-io + sbcl-ironclad)) + (home-page "https://github.com/shrdlu68/cl-tls") + (synopsis "Implementation of Transport Layer Security Protocols") + (description "This package provides prototype Common Lisp +implementations of TLS, RFC5246, ASN.1, x{501,509}, and PKCS{1,3,5,8}.") + (license license:bsd-3)))) + +(define-public cl-tls + (sbcl-package->cl-source-package sbcl-cl-tls)) + +(define-public ecl-cl-tls + (sbcl-package->ecl-package sbcl-cl-tls)) + (define-public sbcl-dns-client (let ((commit "9f252e9c2bb61c57a6cd367e21ad366b0d3e87e0") (revision "0")) -- cgit v1.2.3 From f51276f14817f868450102994ab579e4129ea97d Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 22 Mar 2023 12:00:29 -0500 Subject: gnu: Add cl-lisp-pay. * gnu/packages/lisp-xyz.scm (cl-lisp-pay, ecl-lisp-pay, sbcl-lisp-pay): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 2ae2b7bd05..de570360e0 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -5808,6 +5808,49 @@ (define-public ecl-dns-client (define-public cl-dns-client (sbcl-package->cl-source-package sbcl-dns-client)) +(define-public sbcl-lisp-pay + (let ((commit "c4de776f0a284709931ff3674160ced3b41bd000") + (revision "0")) + (package + (name "sbcl-lisp-pay") + (version (git-version "0.0.5" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/K1D77A/lisp-pay") + (commit commit))) + (file-name (git-file-name "cl-lisp-pay" version)) + (sha256 + (base32 "09r6qy4fipriqa0d6g9qm6dq992lr58vh24g5j0adm19i5fnjavh")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-alexandria + sbcl-babel + sbcl-cl-base64 + sbcl-cl-str + sbcl-cl-tls + sbcl-closer-mop + sbcl-dexador + sbcl-hu.dwim.defclass-star + sbcl-hunchentoot + sbcl-ironclad + sbcl-jonathan + sbcl-lack + sbcl-ningle + sbcl-shasht)) + (home-page "https://github.com/K1D77A/lisp-pay/") + (synopsis "Wrappers over multiple Payment Processor APIs") + (description "This library provides payment API wrappers over +BTCPay, Paypal, and Stripe.") + (license license:expat)))) + +(define-public cl-lisp-pay + (sbcl-package->cl-source-package sbcl-lisp-pay)) + +(define-public ecl-lisp-pay + (sbcl-package->ecl-package sbcl-lisp-pay)) + (define-public sbcl-drakma (package (name "sbcl-drakma") -- cgit v1.2.3 From 4b7c81c6b5a5e05fa93c2a44539f8c66d96b3c86 Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 22 Mar 2023 12:46:29 -0500 Subject: gnu: Add cl-hash-set. * gnu/packages/lisp-xyz.scm (cl-hash-set, ecl-hash-set, sbcl-hash-set): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index de570360e0..3a8efb4954 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -259,6 +259,37 @@ (define-public cl-langutils (define-public ecl-langutils (sbcl-package->ecl-package sbcl-langutils)) +(define-public sbcl-hash-set + (let ((commit "6feb20de457f14e24a83815be1097aa02cca5986") + (revision "0")) + (package + (name "sbcl-hash-set") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/samebchase/hash-set") + (commit commit))) + (file-name (git-file-name "cl-hash-set" version)) + (sha256 + (base32 "0a966y9yfarhmki4wwzg371ziaygnp13yc6r13w9zz327fkhz8na")))) + (build-system asdf-build-system/sbcl) + (native-inputs (list sbcl-fiveam)) + (inputs (list sbcl-alexandria)) + (home-page "https://github.com/samebchase/hash-set/") + (synopsis "Implementation of a hash-set") + (description "This package provides an implementation of the +hash-set data structure. It has constant time lookup, insertion and +deletion.") + (license license:unlicense)))) + +(define-public cl-hash-set + (sbcl-package->cl-source-package sbcl-hash-set)) + +(define-public ecl-hash-set + (sbcl-package->ecl-package sbcl-hash-set)) + (define-public sbcl-duologue (let ((commit "ea1ada244a81da65f85b548823c9a6d7c9c145e1") (revision "0")) -- cgit v1.2.3 From 76aab9a5868d3ceee4cb1014e1b3e0f8c2fd5a9f Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 22 Mar 2023 12:46:28 -0500 Subject: gnu: Add cl-reader. * gnu/packages/lisp-xyz.scm (cl-reader, ecl-reader, sbcl-reader): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 48 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index 3a8efb4954..b2bf4575d2 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -192,6 +192,54 @@ (define-public cl-alexandria (define-public ecl-alexandria (sbcl-package->ecl-package sbcl-alexandria)) +(define-public sbcl-reader + (package + (name "sbcl-reader") + (version "0.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/digikar99/reader") + (commit (string-append "v" version)))) + (sha256 + (base32 "0pbv6w0d8d4qmfkdsz2rk21bp1las9r7pyvpmd95qjz7kpxrirl7")) + (file-name (git-file-name "cl-reader" version)))) + (build-system asdf-build-system/sbcl) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'fix-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "reader.lisp" + (("echo") + (search-input-file inputs "/bin/echo")))))))) + (inputs + (list coreutils ; Needed for call to echo. + sbcl-alexandria + sbcl-fiveam ; Tests are written directly in the source files. + sbcl-hash-set + sbcl-iterate + sbcl-split-sequence + sbcl-trivial-types)) + (synopsis "Reader macros for common objects and data structures") + (description "This package provides a utility library intended +at providing configurable reader macros for common tasks such as +accessors, hash-tables, sets, uiop:run-program, arrays and a few others.") + (home-page "https://github.com/digikar99/reader/") + (license license:expat))) + +(define-public cl-reader + (sbcl-package->cl-source-package sbcl-reader)) + +(define-public ecl-reader + (package + (inherit (sbcl-package->ecl-package sbcl-reader)) + (arguments + ;; TODO: Tests fail on call to coreutils echo for ecl. + `(#:tests? #f)))) + (define-public sbcl-stdutils (let ((commit "4a4e5a4036b815318282da5dee2a22825369137b") (revision "0")) -- cgit v1.2.3 From 288bc147336e1b4080d66fa86d4ab3323f845cb5 Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 22 Mar 2023 12:46:30 -0500 Subject: gnu: Add cl-lunamech-matrix-api. * gnu/packages/lisp-xyz.scm (cl-lunamech-matrix-api, ecl-lunamech-matrix-api, sbcl-lunamech-matrix-api): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index b2bf4575d2..a2f56e06e9 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -6020,6 +6020,46 @@ (define-public ecl-hunchentoot ;; Tests fail on ECL with 'Socket error in "socket": EINVAL'. '(#:tests? #f)))) +(define-public sbcl-lunamech-matrix-api + (let ((commit "aa54a820149584c237b03d500ad83397fe25dc92") + (revision "0")) + (package + (name "sbcl-lunamech-matrix-api") + (version (git-version "0.0.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/K1D77A/lunamech-matrix-api") + (commit commit))) + (file-name (git-file-name "cl-lunamech-matrix-api" version)) + (sha256 + (base32 "0a664qq4m5gk4iv5ck63gmsl3218jhjsalawklj56wn2pw0cf8a0")))) + (build-system asdf-build-system/sbcl) + (inputs + (list sbcl-cl-json + sbcl-cl-str + sbcl-closer-mop + sbcl-dexador + sbcl-do-urlencode + sbcl-drakma + sbcl-jonathan + sbcl-plump + sbcl-quri + sbcl-reader + sbcl-shasht)) + (home-page "https://github.com/K1D77A/lunamech-matrix-api/") + (synopsis "Implementation of the Matrix API") + (description "This package provides an implementation of the Matrix +API for Common Lisp.") + (license license:expat)))) + +(define-public cl-lunamech-matrix-api + (sbcl-package->cl-source-package sbcl-lunamech-matrix-api)) + +(define-public ecl-lunamech-matrix-api + (sbcl-package->ecl-package sbcl-lunamech-matrix-api)) + (define-public sbcl-trivial-types (package (name "sbcl-trivial-types") -- cgit v1.2.3 From acbdaec070f39b723a1b964ffa7fbd4b640bbd8e Mon Sep 17 00:00:00 2001 From: jgart Date: Wed, 22 Mar 2023 16:57:36 -0500 Subject: gnu: Add cl-osc. * gnu/packages/lisp-xyz.scm (cl-osc, ecl-osc, sbcl-osc): New variables. Signed-off-by: Guillaume Le Vaillant --- gnu/packages/lisp-xyz.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index a2f56e06e9..e0025b784c 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -23959,6 +23959,37 @@ (define-public sbcl-vernacular (define-public cl-vernacular (sbcl-package->cl-source-package sbcl-vernacular)) +(define-public sbcl-osc + (let ((commit "9f0a9d3da310a3a0f654f48af0203816f3f371ad") + (revision "0")) + (package + (name "sbcl-osc") + (version (git-version "0.7" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/zzkt/osc") + (commit commit))) + (file-name (git-file-name "cl-osc" version)) + (sha256 + (base32 "0gh29zcl9pmy3xlmwzpf9www2z06ah6b4jk06sj2cvxbc15nblqa")))) + (build-system asdf-build-system/sbcl) + (inputs (list sbcl-usocket)) + (synopsis "Implementation of the Open Sound Control protocol") + (description "This package provides a common lisp implementation +of the Open Sound Control Protocol aka OSC. The code should be close +to the ansi standard, and does not rely on any external code/ffi/etc+ +to do the basic encoding and decoding of packets.") + (home-page "https://github.com/zzkt/osc/") + (license (list license:gpl3 license:llgpl))))) + +(define-public cl-osc + (sbcl-package->cl-source-package sbcl-osc)) + +(define-public ecl-osc + (sbcl-package->ecl-package sbcl-osc)) + (define-public sbcl-cmn (package (name "sbcl-cmn") -- cgit v1.2.3 From 79e31f7a7ac402fdff2d519ccd176dd173e0e625 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 21 Mar 2023 15:37:51 +0100 Subject: gnu: pari-gp: Update to 2.15.3. * gnu/packages/algebra.scm (pari-gp): Update to 2.15.3. --- gnu/packages/algebra.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 42384ecd82..830f967f1c 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -226,7 +226,7 @@ (define-public python-fpylll (define-public pari-gp (package (name "pari-gp") - (version "2.15.2") + (version "2.15.3") (source (origin (method url-fetch) (uri (string-append @@ -234,7 +234,7 @@ (define-public pari-gp version ".tar.gz")) (sha256 (base32 - "1pg0przhb3cgyn0rwkx2mx7a7fpy6bxxl72bk98pca723q8jhimh")))) + "0s4jasvb3ghvxp9s2ifmr0lk7ckj9529zg28icmdgbyd723abxdd")))) (build-system gnu-build-system) (native-inputs (list (texlive-updmap.cfg (list texlive-amsfonts)))) -- cgit v1.2.3 From b3f559886fb699ca68d9b31046ede493f26f38c7 Mon Sep 17 00:00:00 2001 From: Guillaume Le Vaillant Date: Mon, 27 Mar 2023 15:40:10 +0200 Subject: gnu: bitcoin-unlimited: Disable failing test. * gnu/packages/finance.scm (bitcoin-unlimited)[arguments]: Disable a test failing because of an expired SSL certificate. --- gnu/packages/finance.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 3f3fc078f0..2b18b0bb88 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -1782,7 +1782,12 @@ (define-public bitcoin-unlimited ;; exist. (substitute* "src/Makefile.test.include" (("test/utilprocess_tests.cpp") - "")))) + "")) + ;; Disable PaymentServer failing test because it's using + ;; an expired SSL certificate. + (substitute* "src/qt/test/test_main.cpp" + (("if \\(QTest::qExec\\(&test2\\) != 0\\)") + "if (QTest::qExec(&test2) == 0)")))) (add-before 'check 'set-home (lambda _ ;; Tests write to $HOME -- cgit v1.2.3 From 8a1fe39320bc6db61261d82a56d2c6e95e4b9887 Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Mon, 27 Mar 2023 16:34:49 +0100 Subject: gnu: guix-build-coordinator: Update to 0-76.3c9354e. * gnu/packages/package-management.scm (guix-build-coordinator): Update to 0-76.3c9354e [arguments]: Fix reference to guile-fibers. --- gnu/packages/package-management.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index bb7b0a95f3..b439f9326c 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1363,8 +1363,8 @@ (define-public gwl/next "0k9zkdyyzir3fvlbcfcqy17k28b51i20rpbjwlx2i1mwd2pw9cxc"))))))) (define-public guix-build-coordinator - (let ((commit "d6ae42f19691267d915cd66174436f33debabec0") - (revision "75")) + (let ((commit "3c9354e1c0b0767e0121ecbd03abfe37c895e34b") + (revision "76")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1375,7 +1375,7 @@ (define-public guix-build-coordinator (commit commit))) (sha256 (base32 - "0rd1bhlx7a78wd4c0zifwc8b4wm497y0z6dw19r7d47s4l63w35m")) + "19gc4ya56inxnjpf1br2sdva0k4jyc1jn5q84qdfpiwn1ryb0jjd")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1414,7 +1414,7 @@ (define-public guix-build-coordinator "guile-gnutls" ,@(if (hurd-target?) '() - '("guile-fibers"))))) + '("guile-fibers-next"))))) (wrap-program file `("PATH" ":" prefix (,bin -- cgit v1.2.3 From 8d5a4fe1460c7d628ec2854834dcfbef7784e30e Mon Sep 17 00:00:00 2001 From: Philippe SWARTVAGHER Date: Fri, 3 Mar 2023 21:44:26 +0100 Subject: gnu: gnuplot: Update to 5.4.6. * gnu/packages/maths.scm (gnuplot): Update to 5.4.6. Signed-off-by: Christopher Baines --- gnu/packages/maths.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 93afc6ed40..95bd5a6578 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -1235,14 +1235,14 @@ (define-public giza (define-public gnuplot (package (name "gnuplot") - (version "5.4.4") + (version "5.4.6") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/gnuplot/gnuplot/" version "/gnuplot-" version ".tar.gz")) (sha256 - (base32 "00h97y8njhvfjbdvc0njw0znxbrlfynd1iazn8w3anvzhsvh08rp")))) + (base32 "06bly8cpqjdf744jg7yrgba9rdcm3gl4zf63y3c69v80ha8jgz02")))) (build-system gnu-build-system) (native-inputs (list pkg-config texlive-tiny)) -- cgit v1.2.3 From d6c629088a9c3a920aea5638d61ed8d5a8690e9b Mon Sep 17 00:00:00 2001 From: Yovan Naumovski Date: Thu, 9 Mar 2023 21:52:13 +0200 Subject: gnu: arp-scan: Update to 1.10.0. * gnu/packages/networking.scm (arp-scan): Update to 1.10.0. Signed-off-by: Christopher Baines --- gnu/packages/networking.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index ae26105c2c..adf3f25bee 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -58,6 +58,7 @@ ;;; Copyright © 2023 Andreas Enge ;;; Copyright © 2023 Sharlatan Hellseher ;;; Copyright © 2023 Bruno Victal +;;; Copyright © 2023 Yovan Naumovski ;;; ;;; This file is part of GNU Guix. ;;; @@ -200,7 +201,7 @@ (define-public usrsctp (define-public arp-scan (package (name "arp-scan") - (version "1.9.8") + (version "1.10.0") (source (origin (method git-fetch) @@ -210,7 +211,7 @@ (define-public arp-scan (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "18pck3hi7caykpkry5ri16w4w8m11g8gvh3qx5rhwsc6d9xa2a6d")))) + (base32 "1d603by2v7gj6bdxn1d23l425q115dk5qfk3ywbj6wbsjysqhbq5")))) (build-system gnu-build-system) (inputs (list libpcap)) -- cgit v1.2.3 From 80969b15dcbce447f409049731916146696ed53b Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Tue, 21 Mar 2023 01:13:00 +0000 Subject: gnu: mympd: Update to 10.2.6. * gnu/packages/mpd.scm (mympd): Update to 10.2.6. Signed-off-by: Christopher Baines --- gnu/packages/mpd.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 6b7c78c71b..ef45511546 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -600,7 +600,7 @@ (define-public mpdevil (define-public mympd (package (name "mympd") - (version "10.2.4") + (version "10.2.6") (source (origin (method git-fetch) (uri (git-reference @@ -609,7 +609,7 @@ (define-public mympd (file-name (git-file-name name version)) (sha256 (base32 - "0544vx9x103394mz2x92ycfj5lh59xrzcvagi4q0jb9b1hh44s6p")))) + "1adi1pdygj7wlfi6k3978b6ny2cziai4f761a61j9vxa2ywf7wbb")))) (build-system cmake-build-system) (arguments (list #:tests? #f)) ; no test target -- cgit v1.2.3 From 6818843b2bab9f34f7dfe849cddb9a72c60fab9c Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Fri, 17 Mar 2023 00:07:52 -0700 Subject: gnu: icewm: Update to 3.3.2. * gnu/packages/wm.scm (icewm): Update to 3.3.2. Signed-off-by: Christopher Baines --- gnu/packages/wm.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index e6f593ec27..5e21d9bc62 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -744,7 +744,7 @@ (define-public i3lock-fancy (define-public icewm (package (name "icewm") - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (string-append @@ -752,7 +752,7 @@ (define-public icewm version "/icewm-" version ".tar.lz")) (sha256 (base32 - "1m0jl9d2ikwb1s2cpm3q7f73h84mai9y31k8bhsq8y47jbkc6slk")))) + "1mp1xl64sin3d4nkh19qmnic1c9qcwf9v7mkzji76pg3mzd823jg")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) (inputs (list fontconfig -- cgit v1.2.3 From dd41b226cf04b9347685655817df258194e93c89 Mon Sep 17 00:00:00 2001 From: Felix Gruber Date: Fri, 17 Mar 2023 18:30:57 +0000 Subject: gnu: oil: Update to 0.14.2. * gnu/packages/shells.scm (oil): Update to 0.14.2. Signed-off-by: Christopher Baines --- gnu/packages/shells.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index da2455e345..c2b08afbe9 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -849,7 +849,7 @@ (define-public mksh (define-public oil (package (name "oil") - (version "0.12.9") + (version "0.14.2") (source ;; oil's sources contain a modified version of CPython 2.7.13. ;; According to https://www.oilshell.org/blog/2017/05/05.html @@ -862,7 +862,7 @@ (define-public oil (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "047gjar5lkbms4gdp3063njnqc6fl6p0dcx8bbpi1cdn1956yh1s")))) + (base32 "0qsfkav6a70nvp27ilab7zilmihw4ygga48a0dkxa14q9giwlgwr")))) (build-system gnu-build-system) (arguments (list #:strip-binaries? #f ; strip breaks the binary -- cgit v1.2.3 From 56bea0f6b88bb70705845711e2d65edfce543110 Mon Sep 17 00:00:00 2001 From: Breno Brandão Date: Wed, 22 Mar 2023 23:42:57 -0300 Subject: gnu: Update waybar to 0.9.17. * gnu/packages/wm.scm (waybar): Update to 0.9.17. [inputs]: Add playerctl. Signed-off-by: Christopher Baines --- gnu/packages/wm.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 5e21d9bc62..bcc68fbad2 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -131,6 +131,7 @@ (define-module (gnu packages wm) #:use-module (gnu packages man) #:use-module (gnu packages maths) #:use-module (gnu packages mpd) + #:use-module (gnu packages music) #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -1777,7 +1778,7 @@ (define-public swaynotificationcenter (define-public waybar (package (name "waybar") - (version "0.9.16") + (version "0.9.17") (source (origin (method git-fetch) @@ -1786,7 +1787,7 @@ (define-public waybar (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "06vwsax8z6vvvav4c1d40nfiljc7h1cla57r43nv8dw86n539ic5")))) + (base32 "1709ck7931804mhirnki03cvx60c4dxg668fyz6jpzy8djg5xlxi")))) (build-system meson-build-system) (inputs (list date fmt @@ -1798,6 +1799,7 @@ (define-public waybar libmpdclient libnl libxml2 + playerctl pulseaudio spdlog wayland)) -- cgit v1.2.3 From 1564ae60deb26a734d8c42eeb8abe9bc27ec4d75 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 14:11:04 +0000 Subject: gnu: boxes: Update to 2.2.0. * gnu/packages/shellutils.scm (boxes): Update to 2.2.0. Signed-off-by: Christopher Baines --- gnu/packages/shellutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/shellutils.scm b/gnu/packages/shellutils.scm index 64cc818d65..277d2d2647 100644 --- a/gnu/packages/shellutils.scm +++ b/gnu/packages/shellutils.scm @@ -102,7 +102,7 @@ (define-public ascii (define-public boxes (package (name "boxes") - (version "2.1.1") + (version "2.2.0") (source (origin (method git-fetch) (uri (git-reference @@ -111,7 +111,7 @@ (define-public boxes (file-name (git-file-name name version)) (sha256 (base32 - "1bf5rnfiw04ffs1l17zhbg4wvq2vfn2qbz1xmd250xqj15lysw88")))) + "0vv2gaav1m4z2xdk0k3ragmv4kcnzv7p3v97lkjl1wbfmk5nhz07")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit v1.2.3 From efbfda0dac514f73585d85268b3c2248b34668e3 Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 14:11:27 +0000 Subject: gnu: colordiff: Update to 1.0.21. * gnu/packages/patchutils.scm (colordiff): Update to 1.0.21. Signed-off-by: Christopher Baines --- gnu/packages/patchutils.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/patchutils.scm b/gnu/packages/patchutils.scm index 05a9a62dbf..0d88a2d943 100644 --- a/gnu/packages/patchutils.scm +++ b/gnu/packages/patchutils.scm @@ -168,7 +168,7 @@ (define-public quilt (define-public colordiff (package (name "colordiff") - (version "1.0.20") + (version "1.0.21") (source (origin (method url-fetch) @@ -177,7 +177,7 @@ (define-public colordiff (string-append "http://www.colordiff.org/archive/colordiff-" version ".tar.gz"))) (sha256 - (base32 "1kbv3lsyzzrwca4v3ajpnv8q5j0h53r94lxiqgmikxmrxrxh3cp3")))) + (base32 "05g64z4ls1i70rpzznjxy2cpjgywisnwj9ssx9nq1w7hgqjz8c4v")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests -- cgit v1.2.3 From 4cf7aea2b9ae3a85b6de5eed43c4666c48cf786b Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Wed, 22 Mar 2023 14:12:32 +0000 Subject: gnu: ugrep: Update to 3.11.0. * gnu/packages/search.scm (ugrep): Update to 3.11.0. Signed-off-by: Christopher Baines --- gnu/packages/search.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index fe69fd3775..c8c3ff45d0 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -675,14 +675,14 @@ (define (purge-term-support input output) (define-public ugrep (package (name "ugrep") - (version "3.9.6") + (version "3.11.0") (source (origin (method git-fetch) (uri (git-reference (url "https://github.com/Genivia/ugrep") (commit (string-append "v" version)))) (sha256 - (base32 "1nlxmrw0w21iwcbnir04bccb3z8hj9i4hj6gd2bk0qhdbrk2adh7")) + (base32 "1sibd44ky7xqfmrfvi09h5ignn7i3v1fjxnfvybp3cjfm08yxacy")) (file-name (git-file-name name version)) (modules '((guix build utils))) (snippet -- cgit v1.2.3 From 7be5166ae8f70cf98f9b5aea396a7cf75425ef5d Mon Sep 17 00:00:00 2001 From: Yovan Naumovski Date: Wed, 22 Mar 2023 19:21:08 +0200 Subject: gnu: strace: Update to 6.2. * gnu/packages/linux.scm (strace): Update to 6.2. Signed-off-by: Christopher Baines --- gnu/packages/linux.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c16a79b231..f5b90e5341 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -70,6 +70,7 @@ ;;; Copyright © 2022 Stefan ;;; Copyright © 2022, 2023 Demis Balbach ;;; Copyright © 2023 Bruno Victal +;;; Copyright © 2023 Yovan Naumovski ;;; ;;; This file is part of GNU Guix. ;;; @@ -2615,7 +2616,7 @@ (define-public zerofree (define-public strace (package (name "strace") - (version "5.18") + (version "6.2") (home-page "https://strace.io") (source (origin (method url-fetch) @@ -2623,7 +2624,7 @@ (define-public strace "/strace-" version ".tar.xz")) (sha256 (base32 - "11qi7pdm0ldycsg9qhsa50icm219mmvy16yw1ih3s9f9kakkwab0")) + "1s3pj6a6xx1p1w98ik03d8hc4xssl4ha4aa0039nhqj196j3hz8c")) (patches (search-patches "strace-readlink-tests.patch")))) (build-system gnu-build-system) (arguments -- cgit v1.2.3 From 8e7b91946855d4e924cc71cb213402afcd734ecd Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Wed, 22 Mar 2023 21:23:02 -0700 Subject: gnu: parallel: Update to 20230322. * gnu/packages/parallel.scm (parallel): Update to 20230322. Signed-off-by: Christopher Baines --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index 58b78f27f6..3c638e4ff9 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -64,14 +64,14 @@ (define-module (gnu packages parallel) (define-public parallel (package (name "parallel") - (version "20230222") + (version "20230322") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/parallel/parallel-" version ".tar.bz2")) (sha256 - (base32 "03lqkhh9pa9kyrpfkcd4jlwidnjj0bq2ykp7h2vxss3n17maadkd")) + (base32 "1jkv5c0ddnwbmx7ay3zxn14sxibhi4ff58waqm6rvg0cdnxb3iz5")) (snippet '(begin (use-modules (guix build utils)) -- cgit v1.2.3 From 3547ecc3fa478d076faea79112758154c8bb8c9b Mon Sep 17 00:00:00 2001 From: Greg Hogan Date: Thu, 23 Mar 2023 17:23:11 +0000 Subject: gnu: python-isodate: Update to 0.6.1. * gnu/packages/time.scm (python-isodate): Update to 0.6.1. Signed-off-by: Christopher Baines --- gnu/packages/time.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 9128056f78..c0bcb848b3 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -319,14 +319,14 @@ (define-public python-tzlocal (define-public python-isodate (package (name "python-isodate") - (version "0.6.0") + (version "0.6.1") (source (origin (method url-fetch) (uri (pypi-uri "isodate" version)) (sha256 (base32 - "1n7jkz68kk5pwni540pr5zdh99bf6ywydk1p5pdrqisrawylldif")))) + "1sdx4z0x6kv1qxjfi0gd82wfg16wca04q0nb93ba1c78wwfqiia8")))) (build-system python-build-system) (native-inputs (list python-six)) -- cgit v1.2.3 From 5a8d9d2721e3e463c805eaa4c2c459c88570be6f Mon Sep 17 00:00:00 2001 From: Yovan Naumovski Date: Fri, 24 Mar 2023 20:28:30 +0200 Subject: gnu: mosquitto: Update to 2.0.15. * gnu/packages/messaging.scm (mosquitto): Update to 2.0.15. [inputs]: Add libxslt. Signed-off-by: Christopher Baines --- gnu/packages/messaging.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 4b8071e728..f6aa29fc8e 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -38,6 +38,7 @@ ;;; Copyright © 2022 Maxim Cournoyer ;;; Copyright © 2022 Giovanni Biscuolo ;;; Copyright © 2023 Giacomo Leidi +;;; Copyright © 2023 Yovan Naumovski ;;; ;;; This file is part of GNU Guix. ;;; @@ -2842,7 +2843,7 @@ (define-public chatty (define-public mosquitto (package (name "mosquitto") - (version "1.6.12") + (version "2.0.15") (source (origin (method url-fetch) @@ -2850,10 +2851,10 @@ (define-public mosquitto version ".tar.gz")) (sha256 (base32 - "1yq7y329baa1ly488rw125c3mvsnsa7kjkik602xv1xpkz8p73al")))) + "1ils0ckxz86gvr37k2gfl4q9gs12625dhhb7i6lcg49z5v9v2da7")))) (build-system cmake-build-system) (inputs - (list openssl)) + (list openssl libxslt)) (synopsis "Message broker") (description "This package provides Eclipse Mosquitto, a message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto -- cgit v1.2.3 From 28cca50a045eb8bcda6ca9ba1e64623fc40c01ae Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Fri, 24 Mar 2023 22:55:51 -0700 Subject: gnu: obs: Update to 29.0.2 * gnu/packages/video.scm (obs): Update to 29.0.2 Signed-off-by: Christopher Baines --- gnu/packages/video.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 73d0c1ca54..2559634c29 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -3405,7 +3405,7 @@ (define-public v4l-utils (define-public obs (package (name "obs") - (version "29.0.0") + (version "29.0.2") (source (origin (method git-fetch) (uri (git-reference @@ -3415,7 +3415,7 @@ (define-public obs (file-name (git-file-name name version)) (sha256 (base32 - "15nvvlpryvlbf76918jvygg1985glz38cndfgnc2c0009vdb9qbk")) + "1ijn19wy52fa7ahr29v1rzvh6j0qr7i5xl129m6s9c644f7i51ac")) (patches (search-patches "obs-modules-location.patch")))) (build-system cmake-build-system) -- cgit v1.2.3 From 5f9ae8904194f6d07e0b54e56df6ed03312da495 Mon Sep 17 00:00:00 2001 From: Sughosha Date: Sun, 26 Mar 2023 07:20:38 +0000 Subject: gnu: Update ardour to 7.3. * gnu/packages/audio.scm (ardour): Update to 7.3. Signed-off-by: Christopher Baines --- gnu/packages/audio.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6f3fa2a580..56df8c9869 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -734,7 +734,7 @@ (define (ardour-rpath-phase major-version) (define-public ardour (package (name "ardour") - (version "7.2") + (version "7.3") (source (origin (method git-fetch) (uri (git-reference @@ -751,7 +751,7 @@ (define-public ardour namespace ARDOUR { const char* revision = \"" version "\" ; const char* date = \"\"; }"))))) (sha256 (base32 - "1gv0wkzyx59lbnaf5iz9yva4akrd2zkhsmdk8wda3wz06zmk4w1r")) + "0bkhrgswhc9y1ly8nfg8hpwad77cgbr663dgj86h3aisljc4cdkw")) (file-name (string-append name "-" version)))) (build-system waf-build-system) (arguments -- cgit v1.2.3 From 8ced5fd4d671f4429ccdeb807e4d17342edfc6c0 Mon Sep 17 00:00:00 2001 From: Zhu Zihao Date: Sun, 26 Mar 2023 17:19:27 +0800 Subject: gnu: mu: Update to 1.10.0. * gnu/packages/mail.scm (mu): Update to 1.10.0. [source]: Use release tarball instead of git reference. Signed-off-by: Christopher Baines --- gnu/packages/mail.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 6ef4c6fdab..9f3dc2c97a 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -1168,16 +1168,15 @@ (define-public emacs-mew (define-public mu (package (name "mu") - (version "1.8.13") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/djcb/mu") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0y4f5p7pwmaj8733rjzg29038dw33057qlsbsq2wapvp24wcjymr")))) + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/djcb/mu/releases/download/v" + version "/mu-" version ".tar.xz")) + (sha256 + (base32 + "0fmcxypvl77k7si5g3c0pak13hy2ilz8a6567m7p2apjr33j223z")))) (build-system meson-build-system) (native-inputs (list pkg-config -- cgit v1.2.3 From da410b45a93c42b07c7ea6a514eafa5e7cf4e497 Mon Sep 17 00:00:00 2001 From: Andy Tai Date: Sun, 26 Mar 2023 21:18:49 -0700 Subject: gnu: texinfo: Update to 7.0.3 * gnu/packages/texinfo.scm (texinfo-7): Update to 7.0.3 Signed-off-by: Christopher Baines --- gnu/packages/texinfo.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 77fc3baaf7..b069c42ca7 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -104,14 +104,14 @@ (define-public texinfo (define-public texinfo-7 (package (inherit texinfo) - (version "7.0.2") + (version "7.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/texinfo/texinfo-" version ".tar.xz")) (sha256 (base32 - "1balvbkdlwa8zwnzp4irkixq1zhps2wr6njmwj4ilgiqc4rfq4gj")))) + "1gq7i01iblgfcwby1977adh8mab9vpq318vsz628wlkzkp821d3l")))) (inputs (modify-inputs (package-inputs texinfo) (append perl-archive-zip))) ;needed for 'tex2any --epub3' (arguments -- cgit v1.2.3 From 384856c9fbe76d107107f49a575fc5c26e4e332e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 27 Mar 2023 09:42:20 +0200 Subject: services: syslog: Add 'configuration' action. * gnu/services/base.scm (syslog-service-type): Add 'actions' field. --- gnu/services/base.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 2c984a0747..5b0b3bb0ab 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1554,14 +1554,17 @@ (define syslog-service-type (shepherd-service-type 'syslog (lambda (config) + (define config-file + (syslog-configuration-config-file config)) + (shepherd-service (documentation "Run the syslog daemon (syslogd).") (provision '(syslogd)) (requirement '(user-processes)) + (actions (list (shepherd-configuration-action config-file))) (start #~(let ((spawn (make-forkexec-constructor (list #$(syslog-configuration-syslogd config) - "--rcfile" - #$(syslog-configuration-config-file config)) + "--rcfile" #$config-file) #:pid-file "/var/run/syslog.pid"))) (lambda () ;; Set the umask such that file permissions are #o640. -- cgit v1.2.3 From 82607c442bb1e88c70f899af07f1bb66b86e83c8 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 27 Mar 2023 09:43:01 +0200 Subject: services: network-manager: Add 'configuration' action. * gnu/services/networking.scm (network-manager-shepherd-service): Add 'actions' field. --- gnu/services/networking.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 6ab313b97c..4d1d84788b 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013-2022 Ludovic Courtès +;;; Copyright © 2013-2023 Ludovic Courtès ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016, 2018, 2020 Efraim Flashner ;;; Copyright © 2016 John Darrington @@ -1235,6 +1235,7 @@ (define (network-manager-shepherd-service config) ;; TODO: iwd? is deprecated and should be passed ;; with shepherd-requirement, remove later. ,@(if iwd? '(iwd) '()))) + (actions (list (shepherd-configuration-action conf))) (start #~(lambda _ (let ((pid -- cgit v1.2.3 From 3b9738aeac3dc0d1d2d119abd6370f569da5a1a6 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 27 Mar 2023 09:43:43 +0200 Subject: services: ntpd: Add 'configuration' action. * gnu/services/networking.scm (ntp-shepherd-service): Add 'actions' field. --- gnu/services/networking.scm | 1 + 1 file changed, 1 insertion(+) (limited to 'gnu') diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 4d1d84788b..49f897d8cf 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -536,6 +536,7 @@ (define ntpd.conf (provision '(ntpd)) (documentation "Run the Network Time Protocol (NTP) daemon.") (requirement '(user-processes networking)) + (actions (list (shepherd-configuration-action ntpd.conf))) (start #~(make-forkexec-constructor (list (string-append #$ntp "/bin/ntpd") "-n" "-c" #$ntpd.conf "-u" "ntpd" -- cgit v1.2.3 From 30cc651fbad4ba3e63b5ec555230ea46318ca938 Mon Sep 17 00:00:00 2001 From: Philippe SWARTVAGHER Date: Wed, 15 Mar 2023 16:29:33 +0100 Subject: gnu: hevea: Update to 2.36. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/ocaml.scm (hevea): Update to 2.36. Signed-off-by: Ludovic Courtès --- gnu/packages/ocaml.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index f494d1112b..3b4fcf108b 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -1111,14 +1111,14 @@ (define-public camlp5 (define-public hevea (package (name "hevea") - (version "2.35") + (version "2.36") (source (origin (method url-fetch) (uri (string-append "http://hevea.inria.fr/old/" "hevea-" version ".tar.gz")) (sha256 (base32 - "1jwydkb9ldb1sx815c364dxgr569f2rbbzgxbn2kanrybpdbm2gi")))) + "0j06f8gb8f5is34kzmzy3znb0jkm2qd2l6rcl5v5qa9af3bmjrsx")))) (build-system gnu-build-system) (inputs (list ocaml)) -- cgit v1.2.3 From 38e7813c0358a829616c1748c975d1ebf709258d Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Mon, 20 Mar 2023 21:25:40 -0700 Subject: gnu: Add atftp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/networking.scm (atftp): New variable. Thanks to Josselin Poiret and Bruno Victal for their generous and detailed reviews of this item! Signed-off-by: Ludovic Courtès --- gnu/packages/networking.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index adf3f25bee..e7ad1c5599 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -2913,6 +2913,39 @@ (define-public speedtest-cli speedtest.net.") (license license:asl2.0))) +(define-public atftp + (package + (name "atftp") + (version "0.8.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://git.code.sf.net/p/atftp/code") + (commit (string-append "v" version)))) + (sha256 + (base32 + "019qrh2wpvr577ksvs3s82q6kiqm5i6869aj7qba326b59lhkxrc")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'autoreconf + (lambda _ + (invoke "autoreconf" "-vif")))))) + (native-inputs (list autoconf automake perl pkg-config)) + (inputs (list pcre2 procps readline tcp-wrappers)) + (home-page "https://sourceforge.net/projects/atftp/") + (synopsis "Advanced TFTP server and client") + (description + "This package provides a multi-threaded TFTP server that implements all +options, including all extensions, as specified in RFC 1350, RFC 2090, RFC +2347, RFC 2348, RFC 2349 and RFC7440. Atftpd also supports a multicast +protocol known as mtftp, which was defined in the PXE specification. + +The server is socket activated by default but supports being started from +@command{inetd} as well as in daemon mode.") + (license license:gpl2+))) + (define-public tftp-hpa (package (name "tftp-hpa") -- cgit v1.2.3 From e408677f33d9256bfada64605aa9eb179ee51a20 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 28 Mar 2023 17:00:12 +0200 Subject: gnu: Add guile-openai. * gnu/packages/guile-xyz.scm (guile-openai): New variable. --- gnu/packages/guile-xyz.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 315c9a7554..fd8fb25da1 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -310,6 +310,43 @@ (define-public guilescript currently does not do much, but it might in the future.") (license license:gpl3+))) +(define-public guile-openai + (let ((commit "252f2d5660bb546015d18c60be96d3cf60c4dcfa") + (revision "1")) + (package + (name "guile-openai") + (version (git-version "0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/flatwhatson/guile-openai") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1qv0kr30d1x7ap1b0h03gl5pzp20xw4qd6b3l5v4iz4ka8qna9gi")))) + (build-system guile-build-system) + (arguments + (list + #:scheme-file-regexp + #~(lambda (file info) + (let ((name (basename file))) + (and (string-suffix? ".scm" name) + (not (string=? (basename file) "guix.scm"))))))) + (inputs (list guile-3.0-latest)) + (propagated-inputs + (list guile-colorized + guile-gnutls + guile-json-4 + guile-picture-language)) + (home-page "https://gitlab.com/flatwhatson/guile-openai") + (synopsis "Guile implementation of the OpenAI API") + (description + "Guile OpenAI is an implementation of the OpenAI API in Guile Scheme, +providing a convenient interface for interactive programming with their AI +models.") + (license license:agpl3+)))) + ;; There are no releases yet of this package. (define-public guile-pipe (let ((commit "0746ec38d19d844dff0c6f62f209b2b6c8d8872e") -- cgit v1.2.3 From 37d9e96f66084875e8abe3df4c2e13aa9fdf4590 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 28 Mar 2023 17:56:27 +0200 Subject: gnu: Add python-zeroc-ice. * gnu/packages/python-xyz.scm (python-zeroc-ice): New variable. --- gnu/packages/python-xyz.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 3f0005faa2..54b414ab79 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -32044,6 +32044,26 @@ (define-public python-markdown-strings markdown-compliant strings.") (license license:expat))) +(define-public python-zeroc-ice + (package + (name "python-zeroc-ice") + (version "3.7.9") + (source (origin + (method url-fetch) + (uri (pypi-uri "zeroc-ice" version)) + (sha256 + (base32 + "0bqkrjxp2fbz34x3wxkxji39kxinypzg8q2994sibiay29mpipxb")))) + (build-system pyproject-build-system) + (inputs (list openssl)) + (home-page "https://zeroc.com") + (synopsis "RPC framework") + (description + "Ice is a comprehensive RPC framework. Ice helps you network your +software by taking care of all interactions with low-level network programming +interfaces.") + (license license:gpl2))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar -- cgit v1.2.3 From b52fe15dc78a6e118488d70444c22a8480734c83 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 28 Mar 2023 17:56:37 +0200 Subject: gnu: Add python-zeroc-ice-3.6. * gnu/packages/python-xyz.scm (python-zeroc-ice-3.6): New variable. --- gnu/packages/python-xyz.scm | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 54b414ab79..58c28b68a7 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -32064,6 +32064,17 @@ (define-public python-zeroc-ice interfaces.") (license license:gpl2))) +(define-public python-zeroc-ice-3.6 + (package + (inherit python-zeroc-ice) + (version "3.6.5") + (source (origin + (method url-fetch) + (uri (pypi-uri "zeroc-ice" version)) + (sha256 + (base32 + "0mikjfvq26kh8asnn9v55z41pap4c5ypymqnwwi4xkavc3mzyda2")))))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar -- cgit v1.2.3 From d7673b49c086c898a8e749fd042081dc9d4631b8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 28 Mar 2023 17:56:53 +0200 Subject: gnu: Add python-omero-py. * gnu/packages/python-xyz.scm (python-omero-py): New variable. --- gnu/packages/python-xyz.scm | 78 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index 58c28b68a7..615ee37537 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -2891,6 +2891,84 @@ (define-public python-et-xmlfile of @code{xmlfile}.") (license license:expat))) +(define-public python-omero-py + (package + (name "python-omero-py") + (version "5.13.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ome/omero-py") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0n94v5dpmh873hjqd9k9ky85iab4xh37ibmi13rqpclv01ibvvxa")))) + (build-system pyproject-build-system) + (arguments + (list + #:test-flags + '(list "-m" "not broken" "-rf" "test" "-s" + ;; TestImport tries to download Java things; TestSessions + ;; and TestBuildQuery require networking. + "-k" "not TestImport and not TestSessions and not TestBuildQuery") + #:modules '((guix build pyproject-build-system) + (guix build utils) + (ice-9 match) + (srfi srfi-1) + (srfi srfi-26)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'find-artifacts + (lambda* (#:key inputs #:allow-other-keys) + (let ((zip-file + (match inputs + (((labels . files) ...) + (find (cut string-suffix? "omero-blitz-5.5.5-python.zip" <>) + files))))) + (setenv "ZIP_FILE" + (or zip-file (error "failed to find artifact file")))))) + ;; Some tests need this, such as TestTempFileManager + (add-after 'build 'set-HOME + (lambda _ (setenv "HOME" "/tmp"))) + ;; The sanity check mistakes omero_model_TypeAnnotationI.py for a + ;; module to load. + (delete 'sanity-check) + ;; The argument parser is picky and interprets the "-real" part as + ;; the first argument. + (add-after 'wrap 'rename-executable + (lambda _ + (with-directory-excursion (string-append #$output "/bin") + (rename-file ".omero-real" ".omero") + (substitute* "omero" + (("bin/.omero-real") "bin/.omero")))))))) + (propagated-inputs + (list python-appdirs + python-future + python-numpy + python-pillow + python-pyyaml + python-requests + python-tables + python-zeroc-ice-3.6)) + (native-inputs + (list python-mox3 + python-pytest + python-pytest-rerunfailures + python-pytest-xdist + unzip + (origin + (method url-fetch) + (uri "https://artifacts.openmicroscopy.org/artifactory/\ +ome.releases/org/openmicroscopy/omero-blitz/5.5.5/omero-blitz-5.5.5-python.zip") + (sha256 + (base32 "0wyja1zv19c1r3m31gsp555jzj3cg2v2pl00zlybpw3qd36yffwc"))))) + (home-page "https://github.com/ome/omero-py") + (synopsis "Python bindings to the OMERO.blitz server") + (description "This package provides Python bindings to the OMERO.blitz +server.") + (license license:gpl2))) + (define-public python-openpyxl (package (name "python-openpyxl") -- cgit v1.2.3 From 87eb8473c1c562444bbd6f867bb12237a51f20b0 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:45 -0800 Subject: gnu: go-golang-org-x-sys: Update to 0.4.0. * gnu/packages/golang.scm (go-golang-org-x-sys): Update to 0.4.0. (go-golang-org-x-sys): Switch to gexp. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index ca78f7c229..6af4d8665f 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3218,11 +3218,11 @@ (define-public go-golang-org-x-sync (license license:bsd-3)))) (define-public go-golang-org-x-sys - (let ((commit "ed5796bab16455f104b6a384d51b7f9990cb9806") - (revision "8")) + (let ((commit "b60007cc4e6f966b1c542e343d026d06723e5653") + (revision "0")) (package (name "go-golang-org-x-sys") - (version (git-version "0.0.0" revision commit)) + (version (git-version "0.4.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -3231,15 +3231,17 @@ (define-public go-golang-org-x-sys (file-name (git-file-name name version)) (sha256 (base32 - "081vs5bg91mwg5bdmlcvy2qyrvg766aicj47smcwfk4bbh0nc0qa")))) + "0fr2d6fnpbqx6n89sg9lsinqkdaw49y068kqj2g0cxlhbh69hzii")))) (build-system go-build-system) (arguments - `(#:import-path "golang.org/x/sys" - ;; Source-only package - #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'build)))) + (list + #:import-path "golang.org/x/sys" + ;; Source-only package + #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; Source-only package + (delete 'build)))) (synopsis "Go support for low-level system interaction") (description "This package provides supplemental libraries offering Go support for low-level interaction with the operating system.") -- cgit v1.2.3 From 871a0fe5a38ac72a77a920d048770c2c51ab31c4 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:46 -0800 Subject: gnu: go-golang-org-x-net: Update to 0.5.0. * gnu/packages/golang.scm (go-golang-org-x-net): Update to 0.5.0. (go-golang-org-x-net): Switch to gexp. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6af4d8665f..22984436f2 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -3118,11 +3118,11 @@ (define-public go-github-com-protonmail-go-crypto (license license:bsd-3))) (define-public go-golang-org-x-net - (let ((commit "ba9fcec4b297b415637633c5a6e8fa592e4a16c3") - (revision "4")) + (let ((commit "8e0e7d8d38f2b6d21d742845570dde2902d06a1d") + (revision "0")) (package (name "go-golang-org-x-net") - (version (git-version "0.0.0" revision commit)) + (version (git-version "0.5.0" revision commit)) (source (origin (method git-fetch) (uri (git-reference @@ -3131,15 +3131,17 @@ (define-public go-golang-org-x-net (file-name (git-file-name name version)) (sha256 (base32 - "1hbqvy6r0s5h0dpdqw8fynl3cq0acin3iyqki9xvl5r8h33yb9bx")))) + "1fidlcn3vcz42v2lc0rpmqh3bz08bcklj6jvnmz2vvgc481ci5hy")))) (build-system go-build-system) (arguments - `(#:import-path "golang.org/x/net" - ; Source-only package - #:tests? #f - #:phases - (modify-phases %standard-phases - (delete 'build)))) + (list + #:import-path "golang.org/x/net" + ;; Source-only package + #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; Source-only package + (delete 'build)))) (synopsis "Go supplemental networking libraries") (description "This package provides supplemental Go networking libraries.") (home-page "https://go.googlesource.com/net") -- cgit v1.2.3 From 8810be06f2164fe93f5cb3ebee427f41c3512eed Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:47 -0800 Subject: gnu: Add go-github-com-hanwen-go-fuse-v2. * gnu/packages/golang.scm (go-github-com-hanwen-go-fuse-v2): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 22984436f2..39d40fe0b8 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1158,6 +1158,34 @@ (define-public go-github-com-operatorfoundation-shapeshifter-transports networks where it would otherwise be blocked or heavily throttled.") (license license:expat))) +(define-public go-github-com-hanwen-go-fuse-v2 + (let ((commit "915cf5413cdef5370ae3f953f8eb4cd9ac176d5c") + (revision "0")) + (package + (name "go-github-com-hanwen-go-fuse-v2") + (version (git-version "2.2.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hanwen/go-fuse") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1ik0yvs9m40vxccpb0rpxc22fyqmcgyysc7w0yl9kn3jyr6qa1d5")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/hanwen/go-fuse/v2")) + (native-inputs (list + go-golang-org-x-sys + go-golang-org-x-sync + go-github-com-kylelemons-godebug)) + (home-page "https://github.com/hanwen/go-fuse") + (synopsis "Go bindings for FUSE filesystems") + (description + "This is a repository containing Go bindings for writing FUSE file systems.") + (license license:bsd-3)))) + (define-public go-github-com-kataras-golog (package (name "go-github-com-kataras-golog") -- cgit v1.2.3 From bd89aed9367fd8a4541a6905f0d8403dca73277d Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:48 -0800 Subject: gnu: Add go-github-com-aperturerobotics-jacobsa-crypto. * gnu/packages/golang.scm (go-github-com-aperturerobotics-jacobsa-crypto): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 39d40fe0b8..dc46c96080 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1186,6 +1186,37 @@ (define-public go-github-com-hanwen-go-fuse-v2 "This is a repository containing Go bindings for writing FUSE file systems.") (license license:bsd-3)))) +(define-public go-github-com-aperturerobotics-jacobsa-crypto + (let ((commit "b1eb679742a8deed015a4406384eea6bd985d08a") + (revision "0")) + (package + (name "go-github-com-aperturerobotics-jacobsa-crypto") + (version (git-version "1.0.1" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/aperturerobotics/jacobsa-crypto") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16dxigj8m6q18xqsy72iq287rh4fw0y0b9yqlw0qkclb8379n1z2")))) + (build-system go-build-system) + (arguments + (list #:import-path "github.com/aperturerobotics/jacobsa-crypto" + ;; Source-only package. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + ;; Source-only package. + (delete 'build)))) + (home-page "https://github.com/aperturerobotics/jacobsa-crypto") + (synopsis "Cryptography missing from the Go standard library") + (description + "This repository contains Go packages related to cryptographic standards that are +not included in the Go standard library.") + (license license:asl2.0)))) + (define-public go-github-com-kataras-golog (package (name "go-github-com-kataras-golog") -- cgit v1.2.3 From e7a1ae9bf9a589d74931c5869e85f8dc3ac2c794 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:49 -0800 Subject: gnu: Add go-github-com-jacobsa-oglematchers. * gnu/packages/golang.scm (go-github-com-jacobsa-oglematchers): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index dc46c96080..2eb3a67fc5 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1217,6 +1217,34 @@ (define-public go-github-com-aperturerobotics-jacobsa-crypto not included in the Go standard library.") (license license:asl2.0)))) +(define-public go-github-com-jacobsa-oglematchers + (let ((commit "141901ea67cd4769c6800aa7bfdfc558fa22bda5") + (revision "0")) + (package + (name "go-github-com-jacobsa-oglematchers") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacobsa/oglematchers") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09ff5x6vbhd9zl1z4yzyk573ifh16rry38q1rx986kbz4hqkmniq")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/jacobsa/oglematchers" + ;; break loop with with go-github-com-jacobsa-ogletest + #:tests? #f)) + (home-page "https://github.com/jacobsa/oglematchers") + (synopsis "Matchers for Go testing framework") + (description + "Package oglematchers provides a set of matchers useful in a testing or mocking +framework. These matchers are inspired by and mostly compatible with Google +Test for C++ and Google JS Test.") + (license license:asl2.0)))) + (define-public go-github-com-kataras-golog (package (name "go-github-com-kataras-golog") -- cgit v1.2.3 From 6d9dbdffcbe695482bfb30a9e77261ccfa285b6e Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:50 -0800 Subject: gnu: Add go-github-com-jacobsa-oglemock. * gnu/packages/golang.scm (go-github-com-jacobsa-oglemock): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 2eb3a67fc5..b513b0d5b0 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1245,6 +1245,35 @@ (define-public go-github-com-jacobsa-oglematchers Test for C++ and Google JS Test.") (license license:asl2.0)))) +(define-public go-github-com-jacobsa-oglemock + (let ((commit "e94d794d06ffc6de42cb19d0dab3c219efdd6dcf") + (revision "0")) + (package + (name "go-github-com-jacobsa-oglemock") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacobsa/oglemock") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "14yxf8ykwdwkcccksl6741xgzcf8qykyi58kp4maxpgscqhdl8rq")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/jacobsa/oglemock" + ;; break loop with with go-github-com-jacobsa-ogletest + #:tests? #f)) + (native-inputs (list + go-github-com-jacobsa-oglematchers)) + (home-page "https://github.com/jacobsa/oglemock") + (synopsis "Mocking framework for unit tests") + (description + "Package oglemock provides a mocking framework for unit tests.") + (license license:asl2.0)))) + (define-public go-github-com-kataras-golog (package (name "go-github-com-kataras-golog") -- cgit v1.2.3 From bcec46eee260efe9bc6d41c30c4480ab82296158 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:51 -0800 Subject: gnu: Add go-github-com-jacobsa-ogletest. * gnu/packages/golang.scm (go-github-com-jacobsa-ogletest): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index b513b0d5b0..fdde6f7cae 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1274,6 +1274,41 @@ (define-public go-github-com-jacobsa-oglemock "Package oglemock provides a mocking framework for unit tests.") (license license:asl2.0)))) +(define-public go-github-com-jacobsa-ogletest + (let ((commit "80d50a735a1108a2aeb7abc4a988d183f20c5292") + (revision "0")) + (package + (name "go-github-com-jacobsa-ogletest") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacobsa/ogletest") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lbwbxzr75g65q07ry5k4kglxqs3ym7xkvqznzm55rm3qk76v83r")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/jacobsa/ogletest" + ;; These tests should be made working + #:tests? #f)) + (native-inputs (list + go-github-com-jacobsa-oglematchers + go-github-com-jacobsa-oglemock + go-github-com-jacobsa-reqtrace + go-golang-org-x-net)) + (home-page "https://github.com/jacobsa/ogletest") + (synopsis "Expressive unit tests") + (description + "Package ogletest provides a framework for writing expressive unit tests. It +integrates with the builtin testing package, so it works with the gotest +command. Unlike the testing package which offers only basic capabilities for +signalling failures, it offers ways to express expectations and get nice failure +messages automatically.") + (license license:asl2.0)))) + (define-public go-github-com-kataras-golog (package (name "go-github-com-kataras-golog") -- cgit v1.2.3 From 48f8f9048d6fb0058368923d407c216a2c0513ed Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:52 -0800 Subject: gnu: Add go-github-com-jacobsa-reqtrace. * gnu/packages/golang.scm (go-github-com-jacobsa-reqtrace): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index fdde6f7cae..8bab117224 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1309,6 +1309,32 @@ (define-public go-github-com-jacobsa-ogletest messages automatically.") (license license:asl2.0)))) +(define-public go-github-com-jacobsa-reqtrace + (let ((commit "245c9e0234cb2ad542483a336324e982f1a22934") + (revision "0")) + (package + (name "go-github-com-jacobsa-reqtrace") + (version (git-version "0.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jacobsa/reqtrace") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zfyijig10896v42rvxka1n4wn6lijqz40y2281187l7mq8vv5jn")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/jacobsa/reqtrace")) + (inputs (list + go-golang-org-x-net)) + (home-page "https://github.com/jacobsa/reqtrace") + (synopsis "Simple request tracing framework") + (description + "Package reqtrace contains a very simple request tracing framework.") + (license license:asl2.0)))) + (define-public go-github-com-kataras-golog (package (name "go-github-com-kataras-golog") -- cgit v1.2.3 From e64286d6e018c6f06fc4f790958626d07700a873 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:53 -0800 Subject: gnu: Add go-github-com-pkg-xattr. * gnu/packages/golang.scm (go-github-com-pkg-xattr): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 8bab117224..9fb2346783 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1406,6 +1406,36 @@ (define-public go-github-com-kortschak-utter aid data snapshotting.") (license license:isc))) +(define-public go-github-com-pkg-xattr + (package + (name "go-github-com-pkg-xattr") + (version "0.4.9") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pkg/xattr") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0qg4zh0d8m4adaiicsd0cpw0w6g8sk01f4jz7jyxgirh1wfcsqyz")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/pkg/xattr")) + (native-inputs (list go-golang-org-x-sys)) + (home-page "https://github.com/pkg/xattr") + (synopsis "Support for extended file system attributes") + (description + "Package xattr provides support for extended attributes on Linux, Darwin and +FreeBSD. Extended attributes are name:value pairs permanently associated with +files or directories. They are similar to the environment strings associated with +a process. An attribute may be defined or undefined. If defined, its value may +be empty or non-empty. You can find more details here: +@@url{https://en.wikipedia.org/wiki/Extended_file_attributes, +https://en.wikipedia.org/wiki/Extended_file_attributes} +.") + (license license:bsd-2))) + (define-public go-github-com-shadowsocks-go-shadowsocks2 (package (name "go-github-com-shadowsocks-go-shadowsocks2") -- cgit v1.2.3 From f6eb16ca3e20c6fa2a6fce9077c79e78aac39693 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:54 -0800 Subject: gnu: Add go-github-com-rfjakob-eme. * gnu/packages/golang.scm (go-github-com-rfjakob-eme): New variable. Signed-off-by: Leo Famulari --- gnu/packages/golang.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 9fb2346783..da0ae52a61 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -1436,6 +1436,29 @@ (define-public go-github-com-pkg-xattr .") (license license:bsd-2))) +(define-public go-github-com-rfjakob-eme + (package + (name "go-github-com-rfjakob-eme") + (version "1.1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rfjakob/eme") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yrbhvy0337mf12fp8p4sy8ry8r3w2qfdf8val5hj07p2lri0cqk")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/rfjakob/eme")) + (home-page "https://github.com/rfjakob/eme") + (synopsis "EME for Go") + (description + "EME (ECB-Mix-ECB or, clearer, Encrypt-Mix-Encrypt) is a wide-block encryption +mode developed by Halevi and Rogaway.") + (license license:expat))) + (define-public go-github-com-shadowsocks-go-shadowsocks2 (package (name "go-github-com-shadowsocks-go-shadowsocks2") -- cgit v1.2.3 From a14e6eae08198c1b8934b50f4bf4a6385254a903 Mon Sep 17 00:00:00 2001 From: Felix Lechner Date: Sun, 5 Mar 2023 12:54:55 -0800 Subject: gnu: Add gocryptfs. * gnu/packages/file-systems.scm (gocryptfs): New variable. Signed-off-by: Leo Famulari --- gnu/packages/file-systems.scm | 74 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index bc5bb41fb3..a62433c01c 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -435,6 +435,80 @@ (define-public fstransform (license (list license:gpl2 ; fsattr/src/e4attr.* → sbin/fsattr license:gpl3+)))) ; the rest +(define-public gocryptfs + (package + (name "gocryptfs") + (version "2.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rfjakob/gocryptfs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m0xk5imkx81i1l4wv1j1xh9ckp0gqssq4v46pkkcq2xlv2dvxlr")))) + (build-system go-build-system) + (arguments + (list + #:import-path "github.com/rfjakob/gocryptfs" + #:build-flags + #~(list + "-ldflags" (string-append + "-X main.GitVersion=" #$version + " -X main.GitVersionFuse=" #$(package-version + go-github-com-hanwen-go-fuse-v2) + " -X main.BuildDate=" "[reproducible]")) + #:phases + #~(modify-phases %standard-phases + ;; after 'check phase, should maybe unmount leftover mounts as in + ;; https://github.com/rfjakob/gocryptfs/blob/a55b3cc15a6d9bce116a90f33df4bc99d9dd6a10/test.bash#L28 + (replace 'build + (lambda arguments + (for-each + (lambda (directory) + (apply (assoc-ref %standard-phases 'build) + (append arguments (list #:import-path directory)))) + (list + "github.com/rfjakob/gocryptfs" + "github.com/rfjakob/gocryptfs/gocryptfs-xray" + "github.com/rfjakob/gocryptfs/contrib/statfs" + "github.com/rfjakob/gocryptfs/contrib/findholes" + "github.com/rfjakob/gocryptfs/contrib/atomicrename"))))))) + (native-inputs (list + go-github-com-hanwen-go-fuse-v2 + go-github-com-aperturerobotics-jacobsa-crypto + go-github-com-jacobsa-oglematchers + go-github-com-jacobsa-oglemock + go-github-com-jacobsa-ogletest + go-github-com-jacobsa-reqtrace + go-github-com-pkg-xattr + go-github-com-rfjakob-eme + go-github-com-sabhiram-go-gitignore + go-github-com-spf13-pflag + go-golang-org-x-crypto + go-golang-org-x-net + go-golang-org-x-sys + go-golang-org-x-term + openssl + pkg-config)) + (home-page "https://github.com/rfjakob/gocryptfs") + (synopsis "Encrypted overlay filesystem") + (description + "Gocryptfs is an encrypted overlay filesystem written in Go. It +features a file-based encryption that is implemented as a mountable +FUSE filesystem. + +Gocryptfs was inspired by EncFS and strives to fix its security issues +while providing good performance. Gocryptfs is as fast as EncFS in the +default mode and significantly faster than paranoia mode in EncFS, +which provides a security level comparable to Gocryptfs. + +On CPUs without AES-NI, gocryptfs uses OpenSSL through a thin wrapper +called stupidgcm. This provides a 4x speedup compared to Go's builtin +AES-GCM implementation.") + (license license:expat))) + (define-public gphotofs (package (name "gphotofs") -- cgit v1.2.3 From f47e47243bc7046c8d575681c4b295c0a4b8fc47 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Mar 2023 11:36:23 -0500 Subject: gnu: Go 1.19: Update to 1.19.7. * gnu/packages/golang.scm (go-1.19): Update to 1.19.7. --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index da0ae52a61..a6c1ba86e4 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -857,7 +857,7 @@ (define-public go-1.19 (package (inherit go-1.18) (name "go") - (version "1.19.5") + (version "1.19.7") (source (origin (method git-fetch) @@ -867,7 +867,7 @@ (define-public go-1.19 (file-name (git-file-name name version)) (sha256 (base32 - "0ah4l01h8qj0vj9668bdgr5m69fq16dz1fjlj332vhysxc6bkc27")))) + "0rrpfhv6vdwqs0jnld0iqsky5wlirir05czf34kvsf2db21nzdi9")))) (arguments (substitute-keyword-arguments (package-arguments go-1.18) ((#:phases phases) -- cgit v1.2.3 From c4cca9cb5d3e93ef146acb930a95da9d2da6fb06 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 6 Mar 2023 11:36:43 -0500 Subject: gnu: Go 1.20: Update to 1.20.2. * gnu/packages/golang.scm (go-1.20): Update to 1.20.2. --- gnu/packages/golang.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index a6c1ba86e4..daceaebb17 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -884,7 +884,7 @@ (define-public go-1.20 (package (inherit go-1.19) (name "go") - (version "1.20") + (version "1.20.2") (source (origin (method git-fetch) (uri (git-reference @@ -893,7 +893,7 @@ (define-public go-1.20 (file-name (git-file-name name version)) (sha256 (base32 - "0a7wjzv14kaqg5l7ambv5zj4rj7sgah9yhcg6k6da6ygm6bs4dv3")))) + "0ir0x17i9067i48ffskwlmbx1j4kfhch46zl8cwl88y23aw59qa2")))) (native-inputs ;; Go 1.20 and later requires Go 1.17 as the bootstrap toolchain. ;; See 'src/cmd/dist/notgo117.go' in the source code distribution, -- cgit v1.2.3 From 55f39fa6301aade356adf8cd70afd59a1b034ac5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 15:42:02 -0500 Subject: gnu: Add ruby-cabin. * gnu/packages/ruby.scm (ruby-cabin): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 44e2c7c0ca..2fdac01841 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10685,6 +10685,25 @@ (define-public ruby-parallel suited for map-reduce or e.g. parallel downloads/uploads.") (license license:expat))) +(define-public ruby-cabin + (package + (name "ruby-cabin") + (version "0.9.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "cabin" version)) + (sha256 + (base32 + "0b3b8j3iqnagjfn1261b9ncaac9g44zrx1kcg81yg4z9i513kici")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) ;no Rakefile in released gem + (synopsis "Structured and contextual logging experiments in Ruby") + (description "This Ruby library provides an experimental logging system +that tries to make logging more flexible and more consumable than plain-text +logging.") + (home-page "https://github.com/jordansissel/ruby-cabin") + (license license:asl2.0))) + (define-public ruby-cane (package (name "ruby-cane") -- cgit v1.2.3 From 166c88c97f76e0dd7a05a6c0f9fb735df004cecf Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 16:15:12 -0500 Subject: gnu: Add ruby-clamp. * gnu/packages/ruby.scm (ruby-clamp): New variable. --- gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2fdac01841..b55e1c7b7a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2088,6 +2088,34 @@ (define-public ruby-crack (home-page "https://github.com/jnunemaker/crack") (license license:expat))) +(define-public ruby-clamp + (package + (name "ruby-clamp") + (version "1.3.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "clamp" version)) + (sha256 + (base32 + "08m0syh06bhx8dqn560ivjg96l5cs5s3l9jh2szsnlcdcyl9jsjg")))) + (build-system ruby-build-system) + (arguments + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-require-rubocop + (lambda _ + (substitute* "Rakefile" + (("require \"rubocop/rake_task\"") + "") + (("RuboCop::RakeTask.new") + ""))))))) + (native-inputs (list ruby-rspec)) + (synopsis "Command-line parsing library for Ruby") + (description "Clamp provides an object-model for command-line utilities. +It handles parsing of command-line options, and generation of usage help.") + (home-page "https://github.com/mdub/clamp") + (license license:expat))) + (define-public ruby-cliver (package (name "ruby-cliver") -- cgit v1.2.3 From ffb44f2cbc4633682b72402957b671327b0a28e9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 16:30:43 -0500 Subject: gnu: Add ruby-stud. * gnu/packages/ruby.scm (ruby-stud): New variable. --- gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b55e1c7b7a..84ecdf14db 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1690,6 +1690,43 @@ (define-public ruby-gimme (home-page "https://github.com/searls/gimme") (license license:expat)))) +(define-public ruby-stud + (package + (name "ruby-stud") + (version "0.0.23") + (source (origin + (method url-fetch) + (uri (rubygems-uri "stud" version)) + (sha256 + (base32 + "0qpb57cbpm9rwgsygqxifca0zma87drnlacv49cqs2n5iyi6z8kb")))) + (build-system ruby-build-system) + (native-inputs (list ruby-rspec)) + (arguments + (list #:phases #~(modify-phases %standard-phases + ;; No Rakefile is included, so run rspec directly. + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (synopsis "Retries, worker supervision, resource pools and more for Ruby") + (description "The Stud Ruby library adds a few things missing from the +standard Ruby library such as: +@table @code +@item {Stud::Try} +Retry on failure, with back-off, where failure is any exception. +@item {Stud::Pool} +Generic resource pools. +@item {Stud::Task} +Tasks (threads that can return values, exceptions, etc.) +@item {Stud.interval} +Interval execution (do X every N seconds). +@item {Stud::Buffer} +Batch and flush behavior. +@end itemize") + (home-page "https://github.com/jordansissel/ruby-stud") + (license license:asl2.0))) + (define-public ruby-standard (package (name "ruby-standard") -- cgit v1.2.3 From 451e6de1131eae7a072af9e32ecff533c1a2bd89 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 16:42:45 -0500 Subject: gnu: Add ruby-insist. * gnu/packages/ruby.scm (ruby-insist): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 84ecdf14db..4ed760cfd6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4102,6 +4102,29 @@ (define-public ruby-idn-ruby (home-page "https://github.com/deepfryed/idn-ruby") (license license:asl2.0))) +(define-public ruby-insist + (package + (name "ruby-insist") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "insist" version)) + (sha256 + (base32 + "0bw3bdwns14mapbgb8cbjmr0amvwz8y72gyclq04xp43wpp5jrvg")))) + (build-system ruby-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "ruby" "test/testing.rb"))))))) + (synopsis "Testing tool for Ruby") + (description "This package provides a simple block-driven assertion +library for both testing and for production code that attempts to make test +definitions more readable.") + (home-page "https://github.com/jordansissel/ruby-insist/") + (license license:asl2.0))) + (define-public ruby-instantiator (package (name "ruby-instantiator") -- cgit v1.2.3 From b7325d9e3a1b598d15ddadc0ba6803b701133534 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 17:06:02 -0500 Subject: gnu: ruby-standard: Update to 1.25.3 * gnu/packages/ruby.scm (ruby-standard): Update to 1.25.3. [arguments]: Delete trailing #t. Update comment. --- gnu/packages/ruby.scm | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4ed760cfd6..754165be6e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1730,7 +1730,7 @@ (define-public ruby-stud (define-public ruby-standard (package (name "ruby-standard") - (version "0.4.7") + (version "1.25.3") (source (origin (method git-fetch) ;no test suite in distributed gem @@ -1740,22 +1740,20 @@ (define-public ruby-standard (file-name (git-file-name name version)) (sha256 (base32 - "0ylx0lm2pbbgr5h7fban592w96bl3wxmvfcpcdfrhkxnpg5kiwgv")))) + "0q42gv7wgrc818a5hm599sy07vjq69hbijzpkpgh6jws6x7wzyh3")))) (build-system ruby-build-system) (arguments - ;; TODO: the tests are currently broken due to using a newer Rubocop. + ;; TODO: the tests are currently broken due to using a different Rubocop + ;; version. `(#:tests? #f #:phases (modify-phases %standard-phases (add-after 'unpack 'relax-version-requiremens (lambda _ (delete-file "Gemfile") - (delete-file "Gemfile.lock") - #t))))) - (native-inputs - (list ruby-gimme ruby-pry ruby-simplecov)) - (propagated-inputs - (list ruby-rubocop ruby-rubocop-performance)) + (delete-file "Gemfile.lock")))))) + (native-inputs (list ruby-gimme ruby-pry ruby-simplecov)) + (propagated-inputs (list ruby-rubocop ruby-rubocop-performance)) (synopsis "Ruby Style Guide, with linter & automatic code fixer") (description "Standard is a port of StandardJS. Like StandardJS, it aims to save time in the following ways: -- cgit v1.2.3 From 9b863bbd74eeca1439a3c2e0c7d2fcca28bc9a20 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 17:16:15 -0500 Subject: gnu: ruby-oedipus-lex: Update to 2.6.0. * gnu/packages/ruby.scm (ruby-oedipus-lex): Update to 2.6.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 754165be6e..c88f98b3bb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5598,14 +5598,14 @@ (define-public ruby-single-cov (define-public ruby-oedipus-lex (package (name "ruby-oedipus-lex") - (version "2.5.2") + (version "2.6.0") (source (origin (method url-fetch) (uri (rubygems-uri "oedipus_lex" version)) (sha256 (base32 - "1v1rk78khwq87ar300lwll570zxpkq9rjnpgc9mgsyd6mm9qjz4w")))) + "094nd7jd3klv45mvprfn2ivcgw8cckq3jhlly77j903vlamfi0df")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe)) -- cgit v1.2.3 From b2ccd0dbf41ddae6d05f852d204342134dd4908e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 17:16:39 -0500 Subject: gnu: ruby-oedipus-lex: Fix indentation. * gnu/packages/ruby.scm (ruby-oedipus-lex): Fix indentation. --- gnu/packages/ruby.scm | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c88f98b3bb..9c45ca0c50 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5600,23 +5600,22 @@ (define-public ruby-oedipus-lex (name "ruby-oedipus-lex") (version "2.6.0") (source - (origin - (method url-fetch) - (uri (rubygems-uri "oedipus_lex" version)) - (sha256 - (base32 - "094nd7jd3klv45mvprfn2ivcgw8cckq3jhlly77j903vlamfi0df")))) + (origin + (method url-fetch) + (uri (rubygems-uri "oedipus_lex" version)) + (sha256 + (base32 + "094nd7jd3klv45mvprfn2ivcgw8cckq3jhlly77j903vlamfi0df")))) (build-system ruby-build-system) - (native-inputs - (list ruby-hoe)) + (native-inputs (list ruby-hoe)) (synopsis "Ruby lexer") (description "Oedipus Lex is a lexer generator in the same family as Rexical and Rex. It is based primarily on generating code much like you would a hand-written lexer. It uses StrScanner within a multi-level case statement. As such, Oedipus matches on the first match, not the longest.") - (home-page "https://github.com/seattlerb/oedipus_lex") - (license license:expat))) + (home-page "https://github.com/seattlerb/oedipus_lex") + (license license:expat))) (define-public ruby-guard (package -- cgit v1.2.3 From beaa6f9a6b3acb77dc48442701ffe735b6276751 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 17:18:50 -0500 Subject: gnu: ruby-parser: Update to 3.2.1.1. * gnu/packages/ruby.scm (ruby-parser): Update to 3.2.1.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9c45ca0c50..344402769c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5311,14 +5311,14 @@ (define-public ruby-parallel-tests (define-public ruby-parser (package (name "ruby-parser") - (version "3.0.0.0") + (version "3.2.1.1") (source (origin (method url-fetch) (uri (rubygems-uri "parser" version)) (sha256 (base32 - "1jixakyzmy0j5c1rb0fjrrdhgnyryvrr6vgcybs14jfw09akv5ml")))) + "1a2v5f8fw7nxm41xp422p1pbr41hafy62bp95m7vg42cqp5y4grc")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; tests not included in gem -- cgit v1.2.3 From 58b438a752adf1902d3ee3c807fdba237db99172 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 17:21:12 -0500 Subject: gnu: ruby-rubocop-ast: Update to 1.28.0. * gnu/packages/ruby.scm (ruby-rubocop-ast): Update to 1.28.0. [source]: Update URL. [arguments]: Delete trailing #t. --- gnu/packages/ruby.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 344402769c..4615c78c67 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7059,17 +7059,17 @@ (define-public ruby-rest-client (define-public ruby-rubocop-ast (package (name "ruby-rubocop-ast") - (version "1.4.1") + (version "1.28.0") (source (origin (method git-fetch) ;no test suite in distributed gem (uri (git-reference - (url "https://github.com/rubocop-hq/rubocop-ast") + (url "https://github.com/rubocop/rubocop-ast") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1x2m7k4bn4zvvwmj7imzmv0dav6xnrbcvssad1m5lkprx7h5lzkq")))) + "1dp09gcmahmdfi3s6xsksr3ka9dddjpy9ymhr9wjwv67y1falffr")))) (build-system ruby-build-system) (arguments `(#:test-target "spec" @@ -7082,8 +7082,7 @@ (define-public ruby-rubocop-ast (lambda _ (substitute* "rubocop-ast.gemspec" (("`git ls-files(.*)`" _ files) - (format #f "`find ~a -type f| sort`" files))) - #t))))) + (format #f "`find ~a -type f| sort`" files)))))))) (native-inputs (list ruby-bump ruby-oedipus-lex -- cgit v1.2.3 From be99981d62fec43814545273bb9a82617dd44568 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 19:55:28 -0500 Subject: gnu: Add ruby-rubocop-rake-minimal. * gnu/packages/ruby.scm (ruby-rubocop-rake-minimal): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4615c78c67..bf8b5e19d8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1537,6 +1537,26 @@ (define-public ruby-typhoeus (home-page "https://github.com/typhoeus/typhoeus") (license license:expat))) +(define ruby-rubocop-rake-minimal + (package + (name "ruby-rubocop-rake") + (version "0.6.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/rubocop/rubocop-rake") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1r53szwglikbir1fvpz4i51p915khrrkl6rp61zcx3dcrclkr3ld")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) ;avoid extra dependencies + (synopsis "RuboCop plugin for Rake") + (description "This package provides a RuboCop plugin for Rake.") + (home-page "https://github.com/rubocop/rubocop-rake") + (license license:expat))) + (define-public ruby-rubocop-rspec (package (name "ruby-rubocop-rspec") -- cgit v1.2.3 From 3db7f6318ea702936ad920730a06f362db3c762a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 19:56:36 -0500 Subject: gnu: ruby-unicode-display-width: Update to 2.4.2. * gnu/packages/ruby.scm (ruby-unicode-display-width): Update to 2.4.2. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bf8b5e19d8..fbc64ea443 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9122,14 +9122,14 @@ (define-public ruby-webmock-2 (define-public ruby-unicode-display-width (package (name "ruby-unicode-display-width") - (version "1.6.0") + (version "2.4.2") (source (origin (method url-fetch) (uri (rubygems-uri "unicode-display_width" version)) (sha256 (base32 - "08kfiniak1pvg3gn5k6snpigzvhvhyg7slmm0s2qx5zkj62c1z2w")))) + "1gi82k102q7bkmfi7ggn9ciypn897ylln1jk9q67kjhr39fj043a")))) (build-system ruby-build-system) (arguments '(;; Test data not included. -- cgit v1.2.3 From 204443a927261f3ee68c3d03f3fda53026a63db2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:03:15 -0500 Subject: gnu: Add ruby-rubocop-capybara-minimal. * gnu/packages/ruby.scm (ruby-rubocop-capybara-minimal): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index fbc64ea443..cc53a26182 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1537,6 +1537,28 @@ (define-public ruby-typhoeus (home-page "https://github.com/typhoeus/typhoeus") (license license:expat))) +;;; A minimal variant used to build ruby-rubocop itself. +(define ruby-rubocop-capybara-minimal + (package + (name "ruby-rubocop-capybara") + (version "2.17.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/rubocop/rubocop-capybara") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "137y21b6g0kj1001zp95gwchx2cvgz8pglw2ik1cw647lh77qdsp")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) + (synopsis "Capybara plugin for RuboCop") + (description "This package provides a RuboCop plugin that can be used for +code style checking of Capybara test files (RSpec, Cucumber, Minitest).") + (home-page "https://github.com/rubocop/rubocop-capybara") + (license license:expat))) + (define ruby-rubocop-rake-minimal (package (name "ruby-rubocop-rake") -- cgit v1.2.3 From 958d882e4a6a6cdb9903314307b95c23e48d2bb3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:36:21 -0500 Subject: gnu: ruby-rspec: Update to 3.12.0. * gnu/packages/ruby.scm (ruby-rspec): Update to 3.12.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cc53a26182..6f1e13efd1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -892,13 +892,13 @@ (define-public ruby-rspec-wait (define-public ruby-rspec (package (name "ruby-rspec") - (version "3.8.0") + (version "3.12.0") (source (origin (method url-fetch) (uri (rubygems-uri "rspec" version)) (sha256 (base32 - "15ppasvb9qrscwlyjz67ppw1lnxiqnkzx5vkx1bd8x5n3dhikxc3")))) + "171rc90vcgjl8p1bdrqa92ymrj8a87qf6w20x05xq29mljcigi6c")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles -- cgit v1.2.3 From 05e8e1405ace2f2a0815c8da8df787f32ae62ab4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:38:20 -0500 Subject: gnu: ruby-rspec-core: Update to 3.12.1. * gnu/packages/ruby.scm (ruby-rspec-core): Update to 3.12.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6f1e13efd1..b68d4fb03b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -569,13 +569,13 @@ (define-public ruby-rspec-support (define-public ruby-rspec-core (package (name "ruby-rspec-core") - (version "3.8.0") + (version "3.12.1") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-core" version)) (sha256 (base32 - "1p1s5bnbqp3sxk67y0fh0x884jjym527r0vgmhbm81w7aq6b7l4p")))) + "0da45cvllbv39sdbsl65vp5djb2xf5m10mxc9jm7rsqyyxjw4h1f")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles -- cgit v1.2.3 From 31469c55c39e8924dc5032e64fb6b2c4dca5f3d2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:39:06 -0500 Subject: gnu: ruby-rspec-support: Update to 3.12.0. * gnu/packages/ruby.scm (ruby-rspec-support): Update to 3.12.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b68d4fb03b..65084b73f5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -551,13 +551,13 @@ (define-public ruby-iruby (define-public ruby-rspec-support (package (name "ruby-rspec-support") - (version "3.8.0") + (version "3.12.0") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-support" version)) (sha256 (base32 - "0p3m7drixrlhvj2zpc38b11x145bvm311x6f33jjcxmvcm0wq609")))) + "12y52zwwb3xr7h91dy9k3ndmyyhr3mjcayk0nnarnrzz8yr48kfx")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles -- cgit v1.2.3 From 216659087e261f1a8f35e604dfcd27003993ca6a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:39:51 -0500 Subject: gnu: ruby-given-core: Update to 3.8.2. * gnu/packages/ruby.scm (ruby-given-core): Update to 3.8.2. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 65084b73f5..69c10d38ba 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -675,14 +675,14 @@ (define-public ruby-sorcerer (define-public ruby-given-core (package (name "ruby-given-core") - (version "3.8.0") + (version "3.8.2") (source (origin (method url-fetch) (uri (rubygems-uri "given_core" version)) (sha256 (base32 - "1lzyqllbbv6as3qgwz2007mvy7wy247bgkch9adnmh1zfa73bkrg")))) + "0w1pyhgb2am7c267s8v06dpd9qhmsk2x4hfr2aq8l8lh49ma227s")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ;no test suite for the core package (propagated-inputs -- cgit v1.2.3 From 632ee1862a4ca701abf51f23b60a2dfdc735a055 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:41:12 -0500 Subject: gnu: ruby-rspec-mocks: Update to 3.12.4. * gnu/packages/ruby.scm (ruby-rspec-mocks): Update to 3.12.4. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 69c10d38ba..3cee0a7fb2 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -807,13 +807,13 @@ (define-public ruby-rspec-its-minimal (define-public ruby-rspec-mocks (package (name "ruby-rspec-mocks") - (version "3.8.0") + (version "3.12.4") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-mocks" version)) (sha256 (base32 - "06y508cjqycb4yfhxmb3nxn0v9xqf17qbd46l1dh4xhncinr4fyp")))) + "1dcfh85m3ksir6n8gydsal4d85chpww1b2nahb05nl8xhgh0r2ij")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles -- cgit v1.2.3 From 9718a98b65410ea7e9b8fa6ac1ce0fbdeb6c5e8f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:45:30 -0500 Subject: gnu: ruby-rspec-expectations: Update to 3.12.2. * gnu/packages/ruby.scm (ruby-rspec-expectations): Update to 3.12.2. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3cee0a7fb2..d38cd4aea4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -622,13 +622,13 @@ (define-public ruby-diff-lcs (define-public ruby-rspec-expectations (package (name "ruby-rspec-expectations") - (version "3.8.2") + (version "3.12.2") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-expectations" version)) (sha256 (base32 - "18l21hy1zdc2pgc2yb17k3n2al1khpfr0z6pijlm852iz6vj0dkm")))) + "03ba3lfdsj9zl00v1yvwgcx87lbadf87livlfa5kgqssn9qdnll6")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles -- cgit v1.2.3 From fd01c6c1dfefb770d7869733f718bac71084d1ea Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 20:46:51 -0500 Subject: gnu: ruby-rspec-given: Update to 3.8.2. * gnu/packages/ruby.scm (ruby-rspec-given): Update to 3.8.2. [arguments]: Delete trailing #t. --- gnu/packages/ruby.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d38cd4aea4..88f22cc5e5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -697,14 +697,14 @@ (define-public ruby-given-core (define-public ruby-rspec-given (package (name "ruby-rspec-given") - (version "3.8.0") + (version "3.8.2") (source (origin (method url-fetch) (uri (rubygems-uri "rspec-given" version)) (sha256 (base32 - "1783bazja10kbha8hk15khvybsq88siyax02cpkk688604h54nji")))) + "0xzzxjjzwrsp84p12sd6ab3jbm9kh7sbnqpxgc9mlfq3s3ll0fdj")))) (build-system ruby-build-system) (arguments `(#:test-target "rs" @@ -717,8 +717,7 @@ (define-public ruby-rspec-given (("Given::VERSION") (format #f "~s" ,version)) ;; Fix the error: "cannot load such file -- example_helper" (("sh \"rspec") - "sh \"rspec -Ilib:examples")) - #t)) + "sh \"rspec -Ilib:examples")))) (add-after 'extract-gemspec 'delete-failing-tests ;; See: https://github.com/jimweirich/rspec-given/issues/57. (lambda _ @@ -728,8 +727,7 @@ (define-public ruby-rspec-given (("\"examples/integration/failing_messages_spec.rb\".freeze, ") "")) (delete-file "spec/lib/given/natural_assertion_spec.rb") - (delete-file "examples/integration/failing_messages_spec.rb") - #t))))) + (delete-file "examples/integration/failing_messages_spec.rb")))))) (native-inputs (list ruby-rspec ruby-minitest)) (propagated-inputs -- cgit v1.2.3 From 6047e3ba7e2dfda155796408cd8fe86dd48304d3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 21:00:38 -0500 Subject: gnu: ruby-rubocop-performance: Update to 1.16.0. * gnu/packages/ruby.scm (ruby-rubocop-performance): Update to 1.16.0. [source]: Update URL. [arguments]: Delete trailing #t. --- gnu/packages/ruby.scm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 88f22cc5e5..75b18e9075 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1624,17 +1624,17 @@ (define-public ruby-rubocop-rspec-minimal (define-public ruby-rubocop-performance (package (name "ruby-rubocop-performance") - (version "1.9.2") + (version "1.16.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rubocop-hq/rubocop-performance") + (url "https://github.com/rubocop/rubocop-performance") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "04lmkmz6c0ccs5miikrww7lakp7y6xz00g7b47ay7rn7sx5j6qyf")))) + "1axafki2mpdz38y7i0afmnxcan5wj54l8crp8pbs7h1cip7y4s49")))) (build-system ruby-build-system) (arguments `(#:tests? #f ; tests require a git checkout of rubocop's source code. @@ -1644,12 +1644,11 @@ (define-public ruby-rubocop-performance (lambda _ (substitute* "rubocop-performance.gemspec" (("`git ls-files -z config lib LICENSE.txt README.md`") - "`find config lib LICENSE.txt README.md -type f -print0 |sort -z`")) - #t)) + "`find config lib LICENSE.txt README.md \ +-type f -print0 |sort -z`")))) (add-before 'check 'set-HOME (lambda _ - (setenv "HOME" "/tmp") - #t))))) + (setenv "HOME" "/tmp")))))) (propagated-inputs (list ruby-rubocop ruby-rubocop-ast)) (native-inputs -- cgit v1.2.3 From 547af94eeb08d7260d6284b6d617c612f0630c5e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 21:26:04 -0500 Subject: gnu: Add ruby-simplecov-json-formatter. * gnu/packages/ruby.scm (ruby-simplecov-json-formatter): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 75b18e9075..da3184c66b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3382,6 +3382,27 @@ (define-public ruby-simplecov-html (home-page "https://github.com/colszowka/simplecov-html") (license license:expat))) +(define-public ruby-simplecov-json-formatter + (package + (name "ruby-simplecov-json-formatter") + (version "0.1.4") + (source (origin + (method url-fetch) + (uri (rubygems-uri "simplecov_json_formatter" version)) + (sha256 + (base32 + "0a5l0733hj7sk51j81ykfmlk2vd5vaijlq9d5fn165yyx3xii52j")))) + (build-system ruby-build-system) + ;; The test suite is disabled because it requires simplecov, which + ;; requires this, introducing a dependency cycle. + (arguments (list #:tests? #f)) + (synopsis "JSON formatter for SimpleCov") + (description "This package provides a JSON formatter for SimpleCov, the +Ruby code coverage tool.") + (home-page + "https://github.com/codeclimate-community/simplecov_json_formatter") + (license license:expat))) + (define-public ruby-simplecov (package (name "ruby-simplecov") -- cgit v1.2.3 From 4e5cdaefa72058e1af25b2d50deb41d55d02bba5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 21:29:44 -0500 Subject: gnu: ruby-simplecov-html: Update to 0.12.3. * gnu/packages/ruby.scm (ruby-simplecov-html): Update to 0.12.3. [home-page]: Update URL. --- gnu/packages/ruby.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index da3184c66b..bc67fa5bd9 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3365,13 +3365,13 @@ (define-public ruby-rubyzip (define-public ruby-simplecov-html (package (name "ruby-simplecov-html") - (version "0.10.2") + (version "0.12.3") (source (origin (method url-fetch) (uri (rubygems-uri "simplecov-html" version)) (sha256 (base32 - "1lihraa4rgxk8wbfl77fy9sf0ypk31iivly8vl3w04srd7i0clzn")))) + "0yx01bxa8pbf9ip4hagqkp5m0mqfnwnw2xk8kjraiywz4lrss6jb")))) (build-system ruby-build-system) (arguments `(#:tests? #f)) ; there are no tests (native-inputs @@ -3379,7 +3379,7 @@ (define-public ruby-simplecov-html (synopsis "Default HTML formatter for SimpleCov code coverage tool") (description "This package provides the default HTML formatter for the SimpleCov code coverage tool for Ruby version 1.9 and above.") - (home-page "https://github.com/colszowka/simplecov-html") + (home-page "https://github.com/simplecov-ruby/simplecov-html") (license license:expat))) (define-public ruby-simplecov-json-formatter -- cgit v1.2.3 From 59c10293005e3487335ce0dc1a624171c243c5a6 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 21:10:41 -0500 Subject: gnu: ruby-simplecov: Update to 0.22.0. * gnu/packages/ruby.scm (ruby-simplecov): Update to 0.22.0. [native-inputs]: Delete field. [propagated-inputs]: Add ruby-simplecov-json-formatter. (ruby-rubycop-ast) [phases]: Add a relax-dependencies phase. [home-page]: Update URL. --- gnu/packages/ruby.scm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bc67fa5bd9..bad0301ea3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3406,26 +3406,27 @@ (define-public ruby-simplecov-json-formatter (define-public ruby-simplecov (package (name "ruby-simplecov") - (version "0.17.1") + (version "0.22.0") (source (origin (method url-fetch) (uri (rubygems-uri "simplecov" version)) (sha256 (base32 - "1135k46nik05sdab30yxb8264lqiz01c8v000g16cl9pjc4mxrdw")))) + "198kcbrjxhhzca19yrdcd6jjj9sb51aaic3b0sc3pwjghg3j49py")))) (build-system ruby-build-system) ;; Simplecov depends on rubocop for code style checking at build time. ;; Rubocop needs simplecov at build time. (arguments `(#:tests? #f)) (propagated-inputs - (list ruby-json ruby-docile ruby-simplecov-html)) - (native-inputs - (list bundler)) + (list ruby-json + ruby-docile + ruby-simplecov-html + ruby-simplecov-json-formatter)) (synopsis "Code coverage framework for Ruby") (description "SimpleCov is a code coverage framework for Ruby with a powerful configuration library and automatic merging of coverage across test suites.") - (home-page "https://github.com/colszowka/simplecov") + (home-page "https://github.com/simplecov-ruby/simplecov") (license license:expat))) (define-public ruby-useragent @@ -7134,6 +7135,11 @@ (define-public ruby-rubocop-ast (arguments `(#:test-target "spec" #:phases (modify-phases %standard-phases + (add-after 'unpack 'relax-dependencies + (lambda _ + (substitute* "Gemfile" + (("gem 'simplecov', '~> 0.10', '< 0.18'") + "gem 'simplecov', '~> 0.10'")))) (add-before 'build 'generate-lexer (lambda _ (setenv "RUBOCOP_VERSION" "none") -- cgit v1.2.3 From 64a03377241bf19410ab468989575c4c3da85378 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 22:07:38 -0500 Subject: gnu: Add ruby-rubocop-capybara. * gnu/packages/ruby.scm (ruby-rubocop-capybara): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bad0301ea3..b588b434dc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1557,6 +1557,31 @@ (define ruby-rubocop-capybara-minimal (home-page "https://github.com/rubocop/rubocop-capybara") (license license:expat))) +(define-public ruby-rubocop-capybara + (package + (inherit ruby-rubocop-capybara-minimal) + (arguments + (list #:tests? #t + #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Gemfile" + (("gem 'rubocop-rspec', '~> 2.16.0'") + "gem 'rubocop-rspec', '>= 2.16.0'"))))))) + (native-inputs + (list ruby-bump + ruby-rack + ruby-rake + ruby-rspec + ruby-rubocop + ruby-rubocop-performance-minimal + ruby-rubocop-rake-minimal + ruby-rubocop-rspec-minimal + ruby-simplecov + ruby-yard)))) + +;;; A minimal variant used to build ruby-rubocop itself. (define ruby-rubocop-rake-minimal (package (name "ruby-rubocop-rake") -- cgit v1.2.3 From 538e1dfaf7059344b24322aad20bba928ae50839 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 22:10:02 -0500 Subject: gnu: ruby-rubocop-rspec: Update to 2.19.0 and inverse inheritance relationship. * gnu/packages/ruby.scm (ruby-rubocop-rspec): Update to 2.18.1. [arguments]: Delete trailing #t. Change TEST-TARGET to "spec". Remove phases. [native-inputs]: Replace ruby-rubocop-performance with ruby-rubocop-performance-minimal. Add ruby-bump and ruby-rubocop-rake-minimal. (ruby-rubocop-rspec-minimal): Reverse inheritance relationship; this package is now the base package. --- gnu/packages/ruby.scm | 62 ++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 33 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b588b434dc..225057b43d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1602,49 +1602,45 @@ (define ruby-rubocop-rake-minimal (home-page "https://github.com/rubocop/rubocop-rake") (license license:expat))) -(define-public ruby-rubocop-rspec +;;; A minimal variant used to build ruby-rubocop itself. +(define ruby-rubocop-rspec-minimal (package (name "ruby-rubocop-rspec") - (version "2.2.0") + (version "2.19.0") (source - (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/rubocop-hq/rubocop-rspec") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0gdpjpympb6qc77bang759z7z6lckf14ghkx8v6614agxg8l3g5y")))) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rubocop-hq/rubocop-rspec") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0mgjyrzi8r44v3gb8xscdwspirz9kqkaf7zlsjhhlxr0di0rlj2r")))) (build-system ruby-build-system) - (arguments - '(#:test-target "internal_investigation" - #:phases - (modify-phases %standard-phases - (add-before 'check 'set-HOME - (lambda _ - (setenv "HOME" "/tmp") - #t))))) - (propagated-inputs - (list ruby-rubocop ruby-rubocop-ast)) - (native-inputs - (list ruby-rack ruby-rspec ruby-rubocop-performance ruby-simplecov - ruby-yard)) + (arguments (list #:tests? #f)) ;avoid extra dependencies (synopsis "Code style checking for RSpec files") (description "This package provides a plugin for the RuboCop code style enforcing & linting tool.") (home-page "https://github.com/rubocop-hq/rubocop-rspec") (license license:expat))) -(define-public ruby-rubocop-rspec-minimal - (hidden-package - (package - (inherit ruby-rubocop-rspec) - (arguments - (substitute-keyword-arguments (package-arguments ruby-rubocop-rspec) - ((#:tests? _ #f) #f))) - (propagated-inputs '()) - (native-inputs '())))) +(define-public ruby-rubocop-rspec + (package + (inherit ruby-rubocop-rspec-minimal) + (arguments '(#:test-target "spec")) + (native-inputs + (list ruby-bump + ruby-rack + ruby-rspec + ruby-rubocop-performance-minimal + ruby-rubocop-rake-minimal + ruby-simplecov + ruby-yard)) + (propagated-inputs + (list ruby-rubocop + ruby-rubocop-ast + ruby-rubocop-capybara)))) (define-public ruby-rubocop-performance (package -- cgit v1.2.3 From 9f955b1e200a5de863ed06ac6949e86b8b1a3d06 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 22:41:36 -0500 Subject: gnu: Add ruby-rubocop-rake. * gnu/packages/ruby.scm (ruby-rubocop-rake): New variable. --- gnu/packages/ruby.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 225057b43d..9306d6dbe5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1602,6 +1602,19 @@ (define ruby-rubocop-rake-minimal (home-page "https://github.com/rubocop/rubocop-rake") (license license:expat))) +(define-public ruby-rubocop-rake + (package + (inherit ruby-rubocop-rake-minimal) + (arguments + (list #:test-target "spec")) + (native-inputs + (list ruby-rake + ruby-rspec + ruby-rubocop + ruby-rubocop-rspec)) + (propagated-inputs + (list ruby-rubocop)))) + ;;; A minimal variant used to build ruby-rubocop itself. (define ruby-rubocop-rspec-minimal (package -- cgit v1.2.3 From a9173e626e7a5eed55adc5cc00f597d614b595ce Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 22:45:12 -0500 Subject: gnu: ruby-rubocop: Update to 1.48.1 * gnu/packages/ruby.scm (ruby-rubocop): Update to 1.48.1. [phases]: Delete trailing #t. Remove make-adoc-files-writable phase. [native-inputs]: Delete labels. Remove ruby-bump. Add ruby-rubocop-ast, ruby-rubocop-capybara-minimal and ruby-rubocop-rake-minimal. Sort. [inputs]: Add ruby-json and ruby-rexml. Sort. --- gnu/packages/ruby.scm | 52 ++++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 28 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9306d6dbe5..c332bd83b3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7391,17 +7391,17 @@ (define-public ruby-test-queue (define-public ruby-rubocop (package (name "ruby-rubocop") - (version "1.10.0") + (version "1.48.1") (source (origin (method git-fetch) ;no tests in distributed gem (uri (git-reference - (url "https://github.com/rubocop-hq/rubocop") + (url "https://github.com/rubocop/rubocop") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0wjw9vpzr4f3nf1zf010bag71w4hdi0haybdn7r5rlmw45pmim29")))) + "1l4j99mbrdjy2bzcnky30pjgjv8sxjr187jzliyqmldvpf7dizbp")))) (build-system ruby-build-system) (arguments `(#:test-target "default" @@ -7412,8 +7412,7 @@ (define-public ruby-rubocop (modify-phases %standard-phases (add-before 'check 'set-home (lambda _ - (setenv "HOME" (getcwd)) - #t)) + (setenv "HOME" (getcwd)))) ;; Rubocop depends on itself for tests, directly and indirectly. By ;; regenerating the TODO list we test rubocop against itself and ;; forgo adjusting the test suite to our environment each release. @@ -7421,40 +7420,37 @@ (define-public ruby-rubocop (lambda* (#:key tests? #:allow-other-keys) (when tests? (make-file-writable ".rubocop_todo.yml") - (invoke "./exe/rubocop" "--auto-gen-config")) - #t)) - (add-before 'check 'make-adoc-files-writable - (lambda _ - (let ((adoc-files (find-files "docs/modules/ROOT/pages" - "\\.adoc$"))) - (for-each make-file-writable adoc-files)) - #t))))) + (invoke "./exe/rubocop" "--auto-gen-config"))))))) (native-inputs - `(("ruby-bump" ,ruby-bump) - ("ruby-pry" ,ruby-pry) - ("ruby-rake" ,ruby-rake) - ("ruby-rspec" ,ruby-rspec) - ("ruby-rubocop-minimal" ,ruby-rubocop-minimal) - ("ruby-rubocop-performance-minimal" ,ruby-rubocop-performance-minimal) - ("ruby-rubocop-rspec-minimal" ,ruby-rubocop-rspec-minimal) - ("ruby-simplecov" ,ruby-simplecov) - ("ruby-stackprof" ,ruby-stackprof) - ("ruby-test-queue" ,ruby-test-queue) - ("ruby-webmock" ,ruby-webmock) - ("ruby-yard" ,ruby-yard))) + (list ruby-pry + ruby-rake + ruby-rspec + ruby-rubocop-ast + ruby-rubocop-capybara-minimal + ruby-rubocop-minimal + ruby-rubocop-performance-minimal + ruby-rubocop-rake-minimal + ruby-rubocop-rspec-minimal + ruby-simplecov + ruby-stackprof + ruby-test-queue + ruby-webmock + ruby-yard)) (propagated-inputs - (list ruby-parallel + (list ruby-json + ruby-parallel ruby-parser + ruby-progressbar ruby-rainbow ruby-regexp-parser + ruby-rexml ruby-rubocop-ast - ruby-progressbar ruby-unicode-display-width)) (synopsis "Ruby code style checking tool") (description "@code{rubocop} is a Ruby code style checking tool. It aims to enforce the community-driven Ruby Style Guide.") - (home-page "https://github.com/rubocop-hq/rubocop") + (home-page "https://github.com/rubocop/rubocop") (license license:expat))) (define-public ruby-rubocop-minimal -- cgit v1.2.3 From f1b06254280af7bbfb43ae140ecc6cbdd48eb907 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 1 Mar 2023 23:17:26 -0500 Subject: gnu: ruby-thor: Update to 1.2.1. * gnu/packages/ruby.scm (ruby-thor): Update to 1.2.1. [source]: Update URI. [arguments]: Use gexps. Delete trailing #t. [phases] {fix-readline-tests, disable-network-tests} {make-files-writable}: Delete phases. {remove-coveralls-dependency}: Do not remove webmock requires. {disable-quality-tests}: Rename to... {disable-problematic-tests}: ... this. Disable a new failing test. {check}: Honor TESTS?. --- gnu/packages/ruby.scm | 83 +++++++++++++++++++-------------------------------- 1 file changed, 30 insertions(+), 53 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c332bd83b3..4b914a95c1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2737,69 +2737,46 @@ (define-public ruby-xml-simple (define-public ruby-thor (package (name "ruby-thor") - (version "1.0.1") + (version "1.2.1") (source (origin ;; Pull from git because the gem has no tests. (method git-fetch) (uri (git-reference - (url "https://github.com/erikhuda/thor") + (url "https://github.com/rails/thor") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1anrx5vynk57hn5c8ig5pgkmcsbj9q5mvckd5rviw1jid7n89k57")))) + "1vjm628ks5kw8q6dskh38dqyz2j8c3n694wsqkj4jb4jrn6rkfzx")))) (build-system ruby-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'fix-readline-tests - (lambda _ - ;; Ensure Readline is initialized before running the - ;; test to avoid a type clash with the mock ::Readline. - ;; See . - (substitute* "spec/line_editor/readline_spec.rb" - (("unless defined\\? ::Readline" all) - (string-append "Thor::LineEditor::Readline.available?\n" - all))) - #t)) - (add-after 'unpack 'remove-coveralls-dependency - (lambda _ - ;; Do not hook the test suite into the online - ;; coveralls service. - (substitute* "Gemfile" - ((".*coveralls.*") "")) - (substitute* "spec/helper.rb" - (("require \"coveralls\"") "") - (("Coveralls::SimpleCov::Formatter") "") - ;; Also drop the WebMock dependency which is only - ;; present to allow a coveralls.io connection, and - ;; would otherwise introduce a circular dependency. - (("require \"webmock/rspec\"") "") - (("WebMock\\.disable_net_connect.*") "")) - #t)) - (add-after 'unpack 'disable-network-tests - (lambda _ - ;; These tests attempt to look up example.com. - (substitute* "spec/actions/file_manipulation_spec.rb" - (("it \"accepts (https?) remote sources" _ proto) - (string-append "xit \"accepts " proto " remote sources"))) - #t)) - (add-after 'unpack 'disable-quality-tests - (lambda _ - ;; These tests attempt to check the git repository for - ;; tabs vs spaces, double vs single quotes, etc, and - ;; depend on the git checkout. - (delete-file "spec/quality_spec.rb") - #t)) - (add-before 'check 'make-files-writable - (lambda _ - ;; The tests needs rw access to the test suite. - (for-each make-file-writable (find-files "spec")) - #t)) - (replace 'check - (lambda _ - (invoke "rspec" "spec")))))) - (native-inputs - (list ruby-rspec ruby-simplecov)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'remove-coveralls-dependency + (lambda _ + ;; Do not hook the test suite into the online coveralls service. + (substitute* "Gemfile" + ((".*coveralls.*") "")) + (substitute* "spec/helper.rb" + (("require \"coveralls\"") "") + (("Coveralls::SimpleCov::Formatter") "")))) + (add-after 'unpack 'disable-problematic-tests + (lambda _ + ;; These tests attempt to check the git repository for + ;; tabs vs spaces, double vs single quotes, etc, and + ;; depend on the git checkout. + (delete-file "spec/quality_spec.rb") + (substitute* "spec/parser/options_spec.rb" + ;; This test fails for unknown reasons (see: + ;; https://github.com/rails/thor/issues/814). + (("it \"raises an error for unknown switches" all) + (string-append "x" all))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec" "spec" ))))))) + (native-inputs (list ruby-rspec ruby-simplecov ruby-webmock)) (synopsis "Ruby toolkit for building command-line interfaces") (description "Thor is a toolkit for building powerful command-line interfaces.") -- cgit v1.2.3 From ddbf1c90a818673f60c0cd20656287e11f8e9461 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 11:43:04 -0500 Subject: gnu: Add ruby-minitest-power-assert. * gnu/packages/ruby.scm (ruby-minitest-power-assert): New variable. --- gnu/packages/ruby.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4b914a95c1..7f72946695 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4625,6 +4625,24 @@ (define-public ruby-minitest-focus (home-page "https://github.com/seattlerb/minitest-focus") (license license:expat))) +(define-public ruby-minitest-power-assert + (package + (name "ruby-minitest-power-assert") + (version "0.3.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "minitest-power_assert" version)) + (sha256 + (base32 + "1dazl6nbxjvvmi5jamrsygkz396s29b7cd841ni6qy4izk8jd9b7")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-minitest ruby-power-assert)) + (synopsis "Power Assert implementation for Minitest") + (description "This gem provides a Power Assert implementation for +Minitest. It is inspired by the @code{test-unit-power_assert} gem.") + (home-page "https://github.com/hsbt/minitest-power_assert") + (license license:bsd-2))) + (define-public ruby-minitest-pretty-diff ;; Use git reference because gem is out of date and does not contain testing ;; script. There are no releases on GitHub. -- cgit v1.2.3 From 99edfc3995e570977c71826effc047b7ca7bfa36 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 12:55:30 -0500 Subject: gnu: Add ruby-m. * gnu/packages/ruby.scm (ruby-m): New variable. --- gnu/packages/ruby.scm | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7f72946695..c7c8c5733f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -11397,6 +11397,68 @@ (define-public ruby-matrix (home-page "https://github.com/ruby/matrix") (license license:bsd-2))) +(define-public ruby-m + (package + (name "ruby-m") + (version "1.6.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/qrush/m") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1aycfc8l1bsln1y300fv75fknn4amjcvc4rm2kd8hb6cqivjq5rg")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'sanitize-dependencies + (lambda _ + (delete-file "Gemfile") + (delete-file "Gemfile.lock") + ;; Rocco is unmaintained as of 2023/01/08; avoid depending on + ;; it. + (substitute* "m.gemspec" + ;; The rdiscount and rocco dependencies are used for + ;; generating the documentation. + ((".*rdiscount.*") "") + ((".*rocco.*") "") + ((".*appraisal.*") "") + ((".*coveralls.*") "")) + (substitute* "Rakefile" + ;; ruby-appraisal is not packaged, and is used to test against + ;; various dependencies; circumvent its use. + ((".*require 'appraisal'.*") "") + ((".*require 'coveralls'.*") "") + (("appraisal [:graphic:]+ rake") + "rake") + (("Coveralls.push!") "")))) + (add-before 'replace-git-ls-files 'pre-replace-git-ls-files + (lambda _ + (substitute* "m.gemspec" + (("git ls-files -- bin/\\*") + "find bin -type f -not -regex '.*\\.gem$' | sort") + (("git ls-files -- \\{test,spec,features}/\\*") + "find test -type f -not -regex '.*\\.gem$' | sort")))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")) + (when tests? + (invoke "rake" "test"))))))) + (native-inputs (list ruby-activesupport)) + (propagated-inputs (list ruby-method-source ruby-rake)) + (synopsis "Ruby test runner that can run tests by line number") + (description "@code{m} stands for metal, a better test/unit and +@code{minitest} test runner that can run tests by line number.") + (home-page "https://github.com/qrush/m") + (license license:expat))) + (define-public ruby-mercenary (package (name "ruby-mercenary") -- cgit v1.2.3 From c6e298ba676dbadfdcfde8a1f1dd5a0d01b619c4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 20:29:54 -0500 Subject: gnu: Add ruby-language-server-protocol. * gnu/packages/ruby.scm (ruby-language-server-protocol): New variable. --- gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c7c8c5733f..6be813ec8d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -11758,6 +11758,44 @@ (define-public ruby-sprockets (home-page "https://github.com/rails/sprockets") (license license:expat))) +(define-public ruby-language-server-protocol + (package + (name "ruby-language-server-protocol") + (version "3.17.0.3") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/mtsmfm/language_server-protocol-ruby") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0f2g301fz99c6nkca39s9227brlycznv8a9r4b4i99rg25m91lc6")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'replace-git-ls-files + (lambda _ + (substitute* "language_server-protocol.gemspec" + (("git ls-files -z([^`]*)" _ files) + (string-append "find " files + " -type f -not -regex '.*\\.gem$'" + " -print0 | sort -z")))))))) + (native-inputs + (list ruby-activesupport + ruby-benchmark-ips + ruby-m + ruby-minitest + ruby-minitest-power-assert + ruby-pry-byebug)) + (synopsis "Language Server Protocol (LSP) development kit for Ruby") + (description "This package provides a Language Server Protocol (LSP) +development kit for Ruby.") + (home-page "https://github.com/mtsmfm/language_server-protocol-ruby") + (license license:expat))) + (define-public ruby-mustache (package (name "ruby-mustache") -- cgit v1.2.3 From 0198bf5a793b4de1bd9b6015b16fd4a4921acfa4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 08:30:37 -0500 Subject: gnu: ruby-standard: Enable test suite. * gnu/packages/ruby.scm (ruby-standard) [arguments]: Delete #:tests? argument. Delete relax-version-requiremens phase. Add set-HOME and delete-problematic-tests phases. [propagated-inputs]: Add ruby-language-server-protocol. --- gnu/packages/ruby.scm | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6be813ec8d..7e21ab043a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1816,17 +1816,28 @@ (define-public ruby-standard "0q42gv7wgrc818a5hm599sy07vjq69hbijzpkpgh6jws6x7wzyh3")))) (build-system ruby-build-system) (arguments - ;; TODO: the tests are currently broken due to using a different Rubocop - ;; version. - `(#:tests? #f - #:phases + `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'relax-version-requiremens + (add-after 'unpack 'set-HOME (lambda _ - (delete-file "Gemfile") - (delete-file "Gemfile.lock")))))) - (native-inputs (list ruby-gimme ruby-pry ruby-simplecov)) - (propagated-inputs (list ruby-rubocop ruby-rubocop-performance)) + ;; Some tests fail otherwise. + (setenv "HOME" "/tmp"))) + (add-after 'unpack 'delete-problematic-tests + ;; These tests fail for unknown reasons (see: + ;; https://github.com/testdouble/standard/issues/532). + (lambda _ + (for-each + delete-file + '("test/standard_test.rb" + "test/standard/cop/block_single_line_braces_test.rb"))))))) + (native-inputs + (list ruby-gimme + ruby-pry + ruby-simplecov)) + (propagated-inputs + (list ruby-language-server-protocol + ruby-rubocop + ruby-rubocop-performance)) (synopsis "Ruby Style Guide, with linter & automatic code fixer") (description "Standard is a port of StandardJS. Like StandardJS, it aims to save time in the following ways: -- cgit v1.2.3 From 1b497bd6c65d5f3accbfa354406133da8551e097 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 09:03:09 -0500 Subject: gnu: ruby-standard: Relax requirements. * gnu/packages/ruby.scm (ruby-standard) [arguments]: Add relax-requirements phase. --- gnu/packages/ruby.scm | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7e21ab043a..381a009959 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1822,6 +1822,13 @@ (define-public ruby-standard (lambda _ ;; Some tests fail otherwise. (setenv "HOME" "/tmp"))) + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "standard.gemspec" + (("\"rubocop\", \"1.44.1\"") + "\"rubocop\", \">= 1.44.1\"") + (("\"rubocop-performance\", \"1.15.2\"") + "\"rubocop-performance\", \">= 1.15.2\"")))) (add-after 'unpack 'delete-problematic-tests ;; These tests fail for unknown reasons (see: ;; https://github.com/testdouble/standard/issues/532). -- cgit v1.2.3 From 1bba95f5c40d48ea82c329f06c00d9e0cf67a42e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 09:41:57 -0500 Subject: gnu: Add ruby-dotenv. * gnu/packages/ruby.scm (ruby-dotenv): New variable. --- gnu/packages/ruby.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 381a009959..d5b5f8a69d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9352,6 +9352,51 @@ (define-public ruby-domain-name (home-page "https://github.com/knu/ruby-domain_name") (license license:bsd-2))) +(define-public ruby-dotenv + (package + (name "ruby-dotenv") + (version "2.8.1") + (source (origin + (method git-fetch) ;for the tests + (uri (git-reference + (url "https://github.com/bkeepers/dotenv") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0s1a71jxppa20fsm2rd1vym099ib48m039rmhggmz99hc3z1fvvr")))) + (build-system ruby-build-system) + (arguments + (list + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-build-dotenv-rails + (lambda _ + ;; The repository includes the definitions of two packages, + ;; 'dotenv' and 'dotenv-rails'. Since we want to package them + ;; separately, remove the dotenv-rails and associated Rake + ;; tasks. + (delete-file "dotenv-rails.gemspec") + (delete-file "spec/dotenv/rails_spec.rb") + (substitute* "Rakefile" + (("DotenvRailsGemHelper.install_tasks name: \"dotenv-rails\"") + "") + ((", \"dotenv-rails:.*\"") + "")))) + (replace 'replace-git-ls-files + (lambda _ + (substitute* "dotenv.gemspec" + (("`git ls-files README.md LICENSE lib bin \\| grep -v rails`") + "`find README.md LICENSE lib bin -type f | sort | \ +grep -v rails`"))))))) + (native-inputs (list ruby-standard ruby-rspec)) + (synopsis "Ruby library for setting environment variables") + (description "Dotenv is a Ruby library for setting environment variables +defined in a @file{.env} file.") + (home-page "https://github.com/bkeepers/dotenv") + (license license:expat))) + (define-public ruby-http-cookie (package (name "ruby-http-cookie") -- cgit v1.2.3 From 65996e28172e1ea1392fd2ab2732f2c3e616f2a7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 10:48:33 -0500 Subject: gnu: Add ruby-minitest-retry. * gnu/packages/ruby.scm (ruby-minitest-retry): New variable. --- gnu/packages/ruby.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d5b5f8a69d..1237c41319 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4578,6 +4578,24 @@ (define-public ruby-minitest-around (home-page "https://github.com/splattael/minitest-around") (license license:expat))) +(define-public ruby-minitest-retry + (package + (name "ruby-minitest-retry") + (version "0.2.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "minitest-retry" version)) + (sha256 + (base32 + "1c1zq0b1a9y0hbqphq4ybijnjldlis1g6kyhx92q2ynnqfmzhfga")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-minitest)) + (synopsis "Minitest extension to re-run failing tests") + (description "This package provides the @code{Minitest::Retry} class, +which extends Minitest to allow retrying tests when they fail.") + (home-page "https://github.com/y-yagi/minitest-retry") + (license license:expat))) + (define-public ruby-minitest-sprint (package (name "ruby-minitest-sprint") -- cgit v1.2.3 From 4fda0fbda2aea6971b4cf1c7697f7062cbcdbceb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 11:46:17 -0500 Subject: gnu: Add ruby-dalli. * gnu/packages/ruby.scm (ruby-dalli): New variable. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1237c41319..e914bd35e1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4918,6 +4918,41 @@ (define-public ruby-daemons (home-page "https://github.com/thuehlinger/daemons") (license license:expat))) +(define-public ruby-dalli + (package + (name "ruby-dalli") + (version "3.2.4") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/petergoldstein/dalli") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1hhqqv1j3zd2y0vr6maaabsflrvkf1x0i6z8n725mhqydp3f9gwp")))) + (build-system ruby-build-system) + ;; Disable tests to avoid a dependency cycle with ruby-activesupport, + ;; through ruby-ruby-prof. + (arguments (list #:tests? #f)) + (synopsis "High performance memcached client for Ruby") + (description "Dalli is a high performance pure Ruby client for accessing +memcached servers. Dalli supports: + +@itemize +@item Simple and complex memcached configurations +@item Fail-over between memcached instances +@item Fine-grained control of data serialization and compression +@item Thread-safe operation +@item SSL/TLS connections to memcached +@item SASL authentication. +@end itemize + +The name is a variant of Salvador Dali for his famous painting The Persistence +of Memory.") + (home-page "https://github.com/petergoldstein/dalli") + (license license:expat))) + (define-public ruby-data_uri (package (name "ruby-data_uri") -- cgit v1.2.3 From 6a5fb9bf195acfd07b6142ab122050ea691584a1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 13:09:25 -0500 Subject: gnu: Add ruby-hiredis. * gnu/packages/databases.scm (ruby-hiredis): New variable. * gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/databases.scm | 62 +++++++++++++++++++++- .../patches/ruby-hiredis-use-system-hiredis.patch | 52 ++++++++++++++++++ 3 files changed, 114 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 64a1268fbe..52be2b1bab 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1821,6 +1821,7 @@ dist_patch_DATA = \ %D%/packages/patches/rocm-opencl-runtime-4.3-noclinfo.patch \ %D%/packages/patches/rocm-opencl-runtime-4.3-noopencl.patch \ %D%/packages/patches/rottlog-direntry.patch \ + %D%/packages/patches/ruby-hiredis-use-system-hiredis.patch \ %D%/packages/patches/ruby-hydra-minimal-no-byebug.patch \ %D%/packages/patches/ruby-anystyle-data-immutable-install.patch \ %D%/packages/patches/ruby-anystyle-fix-dictionary-populate.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index e51ddd5bf2..a4560d40e3 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -32,7 +32,7 @@ ;;; Copyright © 2017 Kristofer Buffington ;;; Copyright © 2018 Amirouche Boubekki ;;; Copyright © 2018 Joshua Sierles, Nextjournal -;;; Copyright © 2018, 2021, 2022 Maxim Cournoyer +;;; Copyright © 2018, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2019 Jack Hill ;;; Copyright © 2019 Alex Griffin ;;; Copyright © 2019 Gábor Boskovits @@ -2520,6 +2520,66 @@ (define-public hiredis (home-page "https://github.com/redis/hiredis") (license license:bsd-3))) +(define-public ruby-hiredis + (package + (name "ruby-hiredis") + (version "0.6.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/redis/hiredis-rb") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05y4g7frhym59m9x208zpvg2qvqvfjlgqmygxj8sqgl07n0ww1ks")) + (patches (search-patches + "ruby-hiredis-use-system-hiredis.patch")))) + (build-system ruby-build-system) + (arguments + (list + #:tests? #f ;require native extension + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-hiredis-include-directory + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "ext/hiredis_ext/extconf.rb" + ;; Adjust the hiredis include directory. + (("\\$CFLAGS << \" -I/usr/include/hiredis\"") + (format #f "$CFLAGS << \" -I~a\"" + (search-input-directory inputs "include/hiredis")))))) + (add-after 'unpack 'disable-building-c-extension + (lambda _ + ;; FIXME: The produced native extension appears to segfault when + ;; run; disable building it until a solution is found (see: + ;; https://github.com/redis/hiredis-rb/issues/93). + (substitute* "ext/hiredis_ext/extconf.rb" + (("build_hiredis = true") + "build_hiredis = false")))) + ;; FIXME: Un-comment phase after the extension can be made to run + ;; without crashing (see above). + ;; (add-after 'build 'build-ext + ;; (lambda _ + ;; (setenv "CC" #$(cc-for-target)) + ;; (invoke "rake" "compile"))) + (add-before 'check 'start-redis + (lambda _ + (invoke "redis-server" "--daemonize" "yes"))) + (add-after 'install 'delete-mkmf.log + (lambda _ + ;; This build log captures non-deterministic file names (see: + ;; https://github.com/rubygems/rubygems/issues/6259). + (for-each delete-file (find-files #$output "^mkmf\\.log$"))))))) + (native-inputs (list redis ruby-rake-compiler)) + (inputs (list hiredis)) + (synopsis "Ruby wrapper for hiredis") + (description "@code{hiredis-rb} is a Ruby extension that wraps +@code{hiredis}, a minimalist C client for Redis. Both the synchronous +connection API and a separate protocol reader are supported. It is primarily +intended to speed up parsing multi bulk replies.") + (home-page "https://github.com/redis/hiredis-rb") + (license license:bsd-3))) + (define-public ruby-redis (package (name "ruby-redis") diff --git a/gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch b/gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch new file mode 100644 index 0000000000..1b238f5099 --- /dev/null +++ b/gnu/packages/patches/ruby-hiredis-use-system-hiredis.patch @@ -0,0 +1,52 @@ +Retrieved 2023-03-05 from +https://sources.debian.org/data/main/r/ruby-hiredis/0.6.3-2/debian/patches/use_system_libhiredis.patch. + +From: Apollon Oikonomopoulos +Date: Mon, 20 Jan 2020 09:28:45 -0300 +Subject: Use system libhiredis + +Last-Update: 2013-04-10 +Forwarded: no + +Use Debian's libhiredis version instead of downloading one and statically +linking against it. +--- + ext/hiredis_ext/extconf.rb | 18 +++--------------- + 1 file changed, 3 insertions(+), 15 deletions(-) + +diff --git a/ext/hiredis_ext/extconf.rb b/ext/hiredis_ext/extconf.rb +index da39eb5..ffa3abf 100644 +--- a/ext/hiredis_ext/extconf.rb ++++ b/ext/hiredis_ext/extconf.rb +@@ -9,12 +9,6 @@ end + + RbConfig::MAKEFILE_CONFIG['CC'] = ENV['CC'] if ENV['CC'] + +-hiredis_dir = File.join(File.dirname(__FILE__), %w{.. .. vendor hiredis}) +-unless File.directory?(hiredis_dir) +- STDERR.puts "vendor/hiredis missing, please checkout its submodule..." +- exit 1 +-end +- + RbConfig::CONFIG['configure_args'] =~ /with-make-prog\=(\w+)/ + make_program = $1 || ENV['make'] + make_program ||= case RUBY_PLATFORM +@@ -27,15 +21,9 @@ else + end + + if build_hiredis +- # Make sure hiredis is built... +- Dir.chdir(hiredis_dir) do +- success = system("#{make_program} static") +- raise "Building hiredis failed" if !success +- end +- +- # Statically link to hiredis (mkmf can't do this for us) +- $CFLAGS << " -I#{hiredis_dir}" +- $LDFLAGS << " #{hiredis_dir}/libhiredis.a" ++ # Debian: use system hiredis ++ $CFLAGS << " -I/usr/include/hiredis" ++ $LDFLAGS << " -lhiredis" + + have_func("rb_thread_fd_select") + create_makefile('hiredis/ext/hiredis_ext') -- cgit v1.2.3 From f3ea8c453da8d392a16c9675e39f73874b7f75cd Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 5 Mar 2023 21:54:26 -0500 Subject: gnu: ruby-minitest-5.14: Update to 5.15.0. * gnu/packages/ruby.scm (ruby-minitest-5.14): Update to 5.15.0, rename to... (ruby-minitest-5.15): ... this. [name]: Delete override. [version]: Set to 5.15.0. * gnu/packages/ruby.scm (ruby-byebug) [native-inputs]: Replace ruby-minitest-5.14 with ruby-minitest-5.15. --- gnu/packages/ruby.scm | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e914bd35e1..2732008a34 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4511,17 +4511,16 @@ (define-public ruby-minitest facilities supporting TDD, BDD, mocking, and benchmarking.") (license license:expat))) -(define-public ruby-minitest-5.14 +(define-public ruby-minitest-5.15 (package (inherit ruby-minitest) - (name "ruby-minitest-5.14") - (version "") + (version "5.15.0") (source (origin (method url-fetch) (uri (rubygems-uri "minitest" version)) (sha256 (base32 - "19z7wkhg59y8abginfrm2wzplz7py3va8fyngiigngqvsws6cwgl")))))) + "06xf558gid4w8lwx13jwfdafsch9maz8m0g85wnfymqj63x5nbbd")))))) ;; This is the last release of Minitest 4, which is used by some packages. (define-public ruby-minitest-4 @@ -6846,8 +6845,8 @@ (define-public ruby-byebug ;; Using minitest 5.17 would cause 5 new bug failures. This is ;; probably related to ;; https://github.com/deivid-rodriguez/byebug/pull/837. Use - ;; minitest 5.14 until this is resolved and released. - ruby-minitest-5.14 + ;; minitest 5.15 until this is resolved and released. + ruby-minitest-5.15 ruby-pry ruby-rake-compiler ruby-rubocop -- cgit v1.2.3 From 660f9729a695b2ff581279a9a1b3ab8120748245 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 14:53:25 -0500 Subject: gnu: ruby-rake: Update to 13.0.6. * gnu/packages/ruby.scm (ruby-rake): Update to 13.0.6. [source]: Use git-fetch. --- gnu/packages/ruby.scm | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2732008a34..61cfd52a12 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10383,14 +10383,17 @@ (define-public ruby-org-ruby (define-public ruby-rake (package (name "ruby-rake") - (version "13.0.1") + (version "13.0.6") (source (origin - (method url-fetch) - (uri (rubygems-uri "rake" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/rake") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0w6qza25bq1s825faaglkx1k6d59aiyjjk3yw3ip5sb463mhhai9")))) + "0c77xyl677s966f8yvk8yv7l31c1ffa1yl4kcwiram219h0s76in")))) (build-system ruby-build-system) (native-inputs (list bundler)) -- cgit v1.2.3 From 6c9a9e823e2e8bde3d967b24e9b0bc1df27c86e7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 15:11:48 -0500 Subject: gnu: Add ruby-cucumber-compatibility-kit. * gnu/packages/ruby.scm (ruby-cucumber-compatibility-kit): New variable. (ruby-cucumber-compatibility-kit-bootstrap): Likewise. --- gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 61cfd52a12..d6bd371bfb 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7958,6 +7958,37 @@ (define-public ruby-memory-profiler (home-page "https://github.com/SamSaffron/memory_profiler") (license license:expat))) +(define-public ruby-cucumber-compatibility-kit + (package + (name "ruby-cucumber-compatibility-kit") + (version "11.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "cucumber-compatibility-kit" version)) + (sha256 + (base32 + "17c8zx0yn68rcpfbw4nb1gzvh9fzpwsi1y0qivb99ahdlgzcdp8q")))) + (build-system ruby-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (propagated-inputs (list ruby-cucumber-messages ruby-rake ruby-rspec)) + (synopsis "Cucumber compatibility verification utility") + (description "The Cucumber Compatibility Kit (CCK) aims to validate a +Cucumber implementation's support for the Cucumber Messages protocol.") + (home-page "https://github.com/cucumber/compatibility-kit") + (license license:expat))) + +;;; Variant package to break a cycle with ruby-cucumber-messages. +(define ruby-cucumber-compatibility-kit-bootstrap + (package/inherit ruby-cucumber-compatibility-kit + (arguments (list #:tests? #f)) + (propagated-inputs (modify-inputs (package-propagated-inputs + ruby-cucumber-compatibility-kit) + (delete "ruby-cucumber-messages"))))) + (define-public ruby-cucumber-messages (package (name "ruby-cucumber-messages") -- cgit v1.2.3 From 860fc8b895a64278547053ad08c56110f59cec3c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 15:12:27 -0500 Subject: gnu: ruby-cucumber-messages: Update to 21.0.1. * gnu/packages/ruby.scm (ruby-cucumber-messages): Update to 21.0.1. [source]: Adjust to upstream URI change and use url-fetch. [phases]: Delete patch-protobuf.rb and compile phases. Move check phase after install phase, and augment GEM_PATH in check phase. [propagated-inputs]: Delete field. [native-inputs]: Add ruby-cucumber-compatibility-kit-bootstrap. [home-page]: Update URL. --- gnu/packages/ruby.scm | 48 +++++++++++++++++++----------------------------- 1 file changed, 19 insertions(+), 29 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d6bd371bfb..de9583aa6b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7992,40 +7992,30 @@ (define ruby-cucumber-compatibility-kit-bootstrap (define-public ruby-cucumber-messages (package (name "ruby-cucumber-messages") - (version "12.2.0") + (version "21.0.1") (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/cucumber/messages-ruby") - (commit "12cd07eac87bce7843fd1bb0bf64bc4da09f097c"))) - (file-name (git-file-name name version)) + (method url-fetch) + (uri (rubygems-uri "cucumber-messages" version)) (sha256 (base32 - "16wwqfpsq7crvxc3q08lphgyh12cl2d83p1c79p312q4jmy9cn5a")))) + "0482a63y7my0arn2bv208g401dq8525f0gwhnwaa11mhv6ph0q5i")))) (build-system ruby-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'patch-protobuf.rb - (lambda _ - (substitute* "rake/protobuf.rb" - (("load 'protobuf/tasks/compile.rake'") - "require 'protobuf/tasks'")) - #t)) - (add-before 'build 'compile - (lambda _ - (substitute* "Makefile" - (("bundle exec ") "") - (("include default.mk.*" all) - (string-append "#" all))) - (invoke "make"))) - (replace 'check - (lambda _ - (invoke "rspec")))))) - (propagated-inputs - `(("ruby-protobuf" ,ruby-protobuf-cucumber))) - (native-inputs - (list ruby-rspec)) - (home-page "https://github.com/cucumber/messages-ruby") + (list #:phases + #~(modify-phases %standard-phases + ;; The test suite requires the gem to be installed, so move it + ;; after the install phase. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")) + (when tests? + (invoke "rspec"))))))) + (native-inputs + (list ruby-cucumber-compatibility-kit-bootstrap ruby-rspec)) + (home-page "https://github.com/cucumber/messages/") (synopsis "Cucumber Messages for Ruby (Protocol Buffers)") (description "Cucumber Messages for Ruby is a library which allows serialization and deserialization of the protocol buffer messages used in -- cgit v1.2.3 From a133212daf882335fc41b0cdfd775bb28f4a1228 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 15:15:37 -0500 Subject: gnu: Remove ruby-protobuf-cucumber. The package is no longer used by ruby-cucumber-messages, its sole user. It is unmaintained. * gnu/packages/protobuf.scm (ruby-protobuf-cucumber): Delete variable. --- gnu/packages/protobuf.scm | 17 ----------------- 1 file changed, 17 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index b580f8b2a7..82c5b7b5f8 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -589,20 +589,3 @@ (define-public ruby-protobuf (description "Protobuf is an implementation of Google's Protocol Buffers in pure Ruby.") (license license:expat))) - -;;; This is a modified ruby-protobuf package used by ruby-cucumber-messages -;;; until https://github.com/ruby-protobuf/protobuf/pull/411 and -;;; https://github.com/ruby-protobuf/protobuf/pull/415 are merged upstream. -(define-public ruby-protobuf-cucumber - (hidden-package - (package - (inherit ruby-protobuf) - (name "ruby-protobuf-cucumber") - (version "3.10.8") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "protobuf-cucumber" version)) - (sha256 - (base32 - "1rd6naabhpfb1i5dr6fp5mqwaawsx0mqm73h5ycwkgbm1n2si872"))))))) -- cgit v1.2.3 From ca2255df1b3cf6727dc870689a01c68e4a818d86 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 15:41:14 -0500 Subject: gnu: ruby-cucumber-tag-expressions: Update to 5.0.1, fixing build. * gnu/packages/ruby.scm (ruby-cucumber-tag-expressions): Update to 5.0.1. [source]: Update URI. [arguments]: Add a #:phases argument. [home-page]: Update URL. --- gnu/packages/ruby.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index de9583aa6b..2b7b4340e9 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8454,26 +8454,29 @@ (define-public ruby-cucumber-wire (define-public ruby-cucumber-tag-expressions (package (name "ruby-cucumber-tag-expressions") - (version "3.0.0") + (version "5.0.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/cucumber/tag-expressions-ruby") + (url "https://github.com/cucumber/tag-expressions") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "15dw4w0npd4m6aw7zhqkjxxzngp42kswrkwfygxkxcxnhy5zl1vx")))) + "1ziq30szn8m5y29hsdpx4dn1a8sy29h01nvcldm8nr1mx4b7dj1w")))) (build-system ruby-build-system) (arguments - `(#:test-target "spec")) - (native-inputs - (list ruby-rspec)) + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "ruby")))))) + (native-inputs (list ruby-rspec)) (synopsis "Cucumber tag expressions for Ruby") (description "Cucumber tag expression parser for Ruby. A tag expression is an infix boolean expression used by Cucumber.") - (home-page "https://github.com/cucumber/tag-expressions-ruby") + (home-page "https://github.com/cucumber/tag-expressions") (license license:expat))) (define-public ruby-bindex -- cgit v1.2.3 From a2525335866fbb8181e24e25b5e7f984cd117f99 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 15:48:55 -0500 Subject: gnu: ruby-cucumber-core: Update to 11.1.0. * gnu/packages/ruby.scm (ruby-cucumber-core): Update to 11.1.0. [arguments]: Adjust relax-version-requirements phase. --- gnu/packages/ruby.scm | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2b7b4340e9..4e236b2240 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8358,7 +8358,7 @@ (define-public ruby-unindent (define-public ruby-cucumber-core (package (name "ruby-cucumber-core") - (version "7.1.0") + (version "11.1.0") (source (origin (method git-fetch) @@ -8368,18 +8368,16 @@ (define-public ruby-cucumber-core (file-name (git-file-name name version)) (sha256 (base32 - "1p5wb6wbggbw37ariyag4kxpiczznvgm3c8cnz1744dmbj79q1rn")))) + "0lf2inlam0951djc2qz81x0nkffmw2dpj44iadw1fw31m7r8wqvh")))) (build-system ruby-build-system) - (arguments - `(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-after 'extract-gemspec 'relax-version-requirements - (lambda _ - (substitute* "cucumber-core.gemspec" - (("'cucumber-tag-expressions',.*") - "'cucumber-tag-expressions', '>=2.0.0'\n")) - #t))))) + (arguments (list #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-version-requirements + (lambda _ + (substitute* "cucumber-core.gemspec" + (("'cucumber-tag-expressions',.*") + "'cucumber-tag-expressions', '>=4.1.0'\n"))))))) (native-inputs (list ruby-rspec ruby-coveralls ruby-rubocop ruby-simplecov ruby-unindent)) -- cgit v1.2.3 From 5022ba9ea823934210b620cfcb021da1366269e5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 15:51:47 -0500 Subject: gnu: ruby-cucumber-wire: Update to 6.2.1. * gnu/packages/ruby.scm (ruby-cucumber-wire): Update to 6.2.1. [arguments]: Delete #:phases argument. --- gnu/packages/ruby.scm | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4e236b2240..c35991b337 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8422,24 +8422,17 @@ (define-public ruby-cucumber-expressions (define-public ruby-cucumber-wire (package (name "ruby-cucumber-wire") - (version "3.1.0") + (version "6.2.1") (source (origin (method url-fetch) (uri (rubygems-uri "cucumber-wire" version)) (sha256 (base32 - "0z1n13lqv70zb2lcrvs2263lm0gsb3gz8gbv890kxzwp8cvd433k")))) + "1pmydrh9lcckj7p0cn67jw7msxdkgr9zir86cs19h3mf2zlcv7b9")))) (build-system ruby-build-system) (arguments - '(#:tests? #f ;tests use cucumber, causing a cycle - #:phases - (modify-phases %standard-phases - (add-after 'extract-gemspec 'relax-version-requirements - (lambda _ - (substitute* ".gemspec" - ((" 10\\.1") " 10.2")) - #t))))) + (list #:tests? #f)) ;tests use cucumber, causing a cycle (propagated-inputs (list ruby-cucumber-core ruby-cucumber-expressions ruby-cucumber-messages)) -- cgit v1.2.3 From 2ccb9e002d9f97412be3c9c0cd80f5990e5ec3e9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 16:10:03 -0500 Subject: gnu: ruby-cucumber-html-formatter: Update to 20.2.1. * gnu/packages/ruby.scm (ruby-cucumber-html-formatter): Update to 20.2.1. [arguments]: Use gexps. Add a relax-requirements phase. [native-inputs]: Add ruby-cucumber-compatibility-kit. [home-page]: Update URL. --- gnu/packages/ruby.scm | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c35991b337..9657c3f83e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8204,31 +8204,32 @@ (define-public ruby-cucumber-create-meta (define-public ruby-cucumber-html-formatter (package (name "ruby-cucumber-html-formatter") - (version "7.0.0") + (version "20.2.1") (source (origin (method url-fetch) (uri (rubygems-uri "cucumber-html-formatter" version)) (sha256 (base32 - "0lshj4sw9jw7687wrhknyb9kffblai3l843zgrznyqij3ga0bc62")))) + "0c7r9mfmph4c6yzc7y3dkr92rhwvpyksr0mdhpqp67xmmr8z1br4")))) (build-system ruby-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (replace 'check - (lambda _ - (invoke "rspec")))))) - (native-inputs - (list ruby-rspec)) - (propagated-inputs - (list ruby-cucumber-messages)) + (list #:phases #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* ".gemspec" + (("~> 18.0") "~> 21.0")))) ;cucumber-messages + (replace 'check + (lambda _ + (invoke "rspec")))))) + (native-inputs (list ruby-cucumber-compatibility-kit ruby-rspec)) + (propagated-inputs (list ruby-cucumber-messages)) (synopsis "HTML formatter for Cucumber") (description "Cucumber HTML Formatter produces a HTML report for Cucumber runs. It is built on top of cucumber-react and works with any Cucumber implementation with a protocol buffer formatter that outputs Cucumber messages.") - (home-page "https://github.com/cucumber/cucumber/tree/\ -master/html-formatter/ruby") + (home-page "https://github.com/cucumber/html-formatter") (license license:expat))) (define-public ruby-cucumber -- cgit v1.2.3 From 1cb558d9810bf6ab460ef3eba75a855c505a4c38 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 17:00:22 -0400 Subject: gnu: ruby-cucumber-html-formatter: Honor #:tests? argument. * gnu/packages/ruby.scm (ruby-cucumber-html-formatter) [arguments]: Honor #:tests? in check phase override. --- gnu/packages/ruby.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9657c3f83e..6bd5b84185 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8220,8 +8220,9 @@ (define-public ruby-cucumber-html-formatter (substitute* ".gemspec" (("~> 18.0") "~> 21.0")))) ;cucumber-messages (replace 'check - (lambda _ - (invoke "rspec")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) (native-inputs (list ruby-cucumber-compatibility-kit ruby-rspec)) (propagated-inputs (list ruby-cucumber-messages)) (synopsis "HTML formatter for Cucumber") -- cgit v1.2.3 From 519878b51d4c20768447cb077f46c1f5e3b7ddfd Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 16:27:59 -0500 Subject: gnu: Add ruby-cucumber-ci-environment. * gnu/packages/ruby.scm (ruby-cucumber-ci-environment): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6bd5b84185..5bd499d7ec 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8233,6 +8233,29 @@ (define-public ruby-cucumber-html-formatter (home-page "https://github.com/cucumber/html-formatter") (license license:expat))) +(define-public ruby-cucumber-ci-environment + (package + (name "ruby-cucumber-ci-environment") + (version "9.1.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "cucumber-ci-environment" version)) + (sha256 + (base32 + "1nmn2hfrjlbazgcryr3hwvsa5v4csfbjqxb4q7wbjhaxl9xxn0k7")))) + (build-system ruby-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs (list ruby-rspec)) + (synopsis "Detect CI Environment from environment variables") + (description "This is a Ruby utility library for Cucumber that detects a +CI environment from environment variables.") + (home-page "https://github.com/cucumber/ci-environment") + (license license:expat))) + (define-public ruby-cucumber (package (name "ruby-cucumber") -- cgit v1.2.3 From b3a5f534d508184860b95839f0dd26aa416583ee Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 7 Mar 2023 16:49:02 -0500 Subject: gnu: ruby-cucumber-expressions: Update to 16.1.2. * gnu/packages/ruby.scm (ruby-cucumber-expressions): Update to 16.1.2. [source]: Update URL. [arguments]: Add a #:phases argument. [home-page]: Update URL. --- gnu/packages/ruby.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5bd499d7ec..8e5eeaaa0a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8421,27 +8421,30 @@ (define-public ruby-cucumber-core (define-public ruby-cucumber-expressions (package (name "ruby-cucumber-expressions") - (version "10.2.0") + (version "16.1.2") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/cucumber/cucumber-expressions-ruby") + (url "https://github.com/cucumber/cucumber-expressions") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1aivhcpjrmbvp9bg0y7g6zxh2swfvylvg0sapq5jc4i1y74k8npd")))) + "1dhq88k9x2x8svam5bc7rrcd166fqymda8wxryqkbkffhnzla0id")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec")) - (native-inputs - (list ruby-rspec ruby-simplecov)) + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "ruby")))))) + (native-inputs (list ruby-rspec ruby-simplecov)) (synopsis "Simpler alternative to Regular Expressions") (description "Cucumber Expressions offer similar functionality to Regular Expressions, with a syntax that is easier to read and write. Cucumber Expressions are extensible with parameter types.") - (home-page "https://github.com/cucumber/cucumber-expressions-ruby") + (home-page "https://github.com/cucumber/cucumber-expressions/") (license license:expat))) (define-public ruby-cucumber-wire -- cgit v1.2.3 From 1e1c726cdc6a442b836d39cfbf7bc688f9073abb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 15:27:22 -0500 Subject: gnu: ruby-gherkin: Update to 26.1.0, fixing build. * gnu/packages/ruby.scm (ruby-gherkin): Update to 26.1.0. [source]: Adjust URL. [arguments]: Add a #:phases argument. [home-page]: Adjust URL. [native-inputs]: Move ruby-cucumber-messages to... [propagated-inputs]: ... here. --- gnu/packages/ruby.scm | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8e5eeaaa0a..d38d2fed1e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8025,26 +8025,29 @@ (define-public ruby-cucumber-messages (define-public ruby-gherkin (package (name "ruby-gherkin") - (version "14.0.1") + (version "26.1.0") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/cucumber/gherkin-ruby") + (url "https://github.com/cucumber/gherkin") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1dwa8632nc6kijv8p257jl64rsjmc0fimlaqvxlkdi2h9n1nympb")))) + "1rsannfcg5rqh5a3d3paw10kf6mmqjrgbq3k235px4swbyqysmgn")))) (build-system ruby-build-system) - (native-inputs - (list ruby-cucumber-messages ruby-rspec)) - (arguments - `(#:test-target "spec")) + (arguments (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'chdir + (lambda _ + (chdir "ruby")))))) + (native-inputs (list ruby-rspec)) + (propagated-inputs (list ruby-cucumber-messages)) (synopsis "Gherkin parser for Ruby") (description "Gherkin is a parser and compiler for the Gherkin language. It is intended be used by all Cucumber implementations to parse @file{.feature} files.") - (home-page "https://github.com/cucumber/gherkin-ruby") + (home-page "https://github.com/cucumber/gherkin") (license license:expat))) (define-public ruby-gherkin-ruby -- cgit v1.2.3 From 1a7cc53fc82e715fbd9e0f02112cd5ac210f372f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 16:33:15 -0500 Subject: gnu: ruby-gherkin: Rename to ruby-cucumber-gherkin. To reflect the same change upstream. * gnu/packages/ruby.scm (ruby-gherkin): Rename to... (ruby-cucumber-gherkin): ... this. (ruby-cucumber) [propagated-inputs]: Adjust accordingly. (ruby-cucumber-core): Likewise (and adjust indentation). (ruby-gherkin): Define as a deprecated package. --- gnu/packages/ruby.scm | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d38d2fed1e..97d280f704 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -84,6 +84,7 @@ (define-module (gnu packages ruby) #:use-module (gnu packages version-control) #:use-module (gnu packages serialization) #:use-module (guix packages) + #:use-module (guix deprecation) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix gexp) @@ -5391,7 +5392,7 @@ (define-public ruby-cuke-modeler (build-system ruby-build-system) (arguments `(#:tests? #f)) ;no test suite in gem (propagated-inputs - (list ruby-gherkin)) + (list ruby-cucumber-gherkin)) (synopsis "Gherkin test suite analysis tool") (description "CukeModeler facilitates modeling a test suite that is written in Gherkin (e.g. Cucumber, SpecFlow, Lettuce, etc.). It does this by @@ -8022,9 +8023,9 @@ (define-public ruby-cucumber-messages Cucumber.") (license license:expat))) -(define-public ruby-gherkin +(define-public ruby-cucumber-gherkin (package - (name "ruby-gherkin") + (name "ruby-cucumber-gherkin") (version "26.1.0") (source (origin (method git-fetch) @@ -8050,6 +8051,8 @@ (define-public ruby-gherkin (home-page "https://github.com/cucumber/gherkin") (license license:expat))) +(define-deprecated ruby-gherkin ruby-cucumber-gherkin) + (define-public ruby-gherkin-ruby (package (name "ruby-gherkin-ruby") @@ -8300,11 +8303,11 @@ (define-public ruby-cucumber (list ruby-builder ruby-cucumber-core ruby-cucumber-create-meta + ruby-cucumber-gherkin ruby-cucumber-html-formatter ruby-cucumber-messages ruby-cucumber-wire ruby-diff-lcs - ruby-gherkin ruby-multi-json ruby-multi-test)) (native-inputs @@ -8407,10 +8410,14 @@ (define-public ruby-cucumber-core (("'cucumber-tag-expressions',.*") "'cucumber-tag-expressions', '>=4.1.0'\n"))))))) (native-inputs - (list ruby-rspec ruby-coveralls ruby-rubocop ruby-simplecov + (list ruby-rspec + ruby-coveralls + ruby-rubocop + ruby-simplecov ruby-unindent)) (propagated-inputs - (list ruby-cucumber-messages ruby-gherkin + (list ruby-cucumber-gherkin + ruby-cucumber-messages ruby-cucumber-tag-expressions)) (synopsis "Core library for the Cucumber BDD app") (description "Cucumber is a tool for running automated tests -- cgit v1.2.3 From f356b973e8bd9932e381165026518b4f039bef56 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 17:44:52 -0500 Subject: gnu: ruby-cucumber: Update to 8.0.0. * gnu/packages/ruby.scm (ruby-cucumber): Update to 8.0.0. [arguments]: Delete trailing #t. Adjust disable-rubocop phase. Refine the strip-version-requirements phase. Set #:test-target to "spec". [propagated-inputs]: Add ruby-cucumber-ci-environment, ruby-mime-types and ruby-sys-uname. Remove ruby-cucumber-create-meta and ruby-multi-json. [native-inputs]: Remove ruby-aruba-without-tests and ruby-rubocop. Add ruby-cucumber-compatibility-kit. (ruby-aruba-without-tests): Delete variable. --- gnu/packages/ruby.scm | 77 ++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 44 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 97d280f704..8b4aab4231 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8139,18 +8139,6 @@ (define-public ruby-aruba (home-page "https://github.com/cucumber/aruba") (license license:expat))) -;; A version of ruby-aruba without tests run so that circular dependencies can -;; be avoided. -(define ruby-aruba-without-tests - (package - (inherit ruby-aruba) - (arguments '(#:tests? #f)) - (propagated-inputs - `(("ruby-cucumber" ,ruby-cucumber-without-tests) - ,@(alist-delete "ruby-cucumber" - (package-propagated-inputs ruby-aruba)))) - (native-inputs '()))) - (define-public ruby-sys-uname (package (name "ruby-sys-uname") @@ -8265,7 +8253,7 @@ (define-public ruby-cucumber-ci-environment (define-public ruby-cucumber (package (name "ruby-cucumber") - (version "4.1.0") + (version "8.0.0") (source (origin (method git-fetch) @@ -8275,49 +8263,50 @@ (define-public ruby-cucumber (file-name (git-file-name name version)) (sha256 (base32 - "0g9rqfslbzkkrq2kvl14fgknrhfbji3bjjpjxff5nc9wzd3hd549")))) + "1dz880fdz6rfbh1nwwcq21v65byik46jnf9gppnrqf3p5k61i55r")))) (build-system ruby-build-system) (arguments - '(#:test-target "default" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'disable-rubocop - ;; Rubocop lint check fails with our more recent version. - (lambda _ - (substitute* "Rakefile" - (("spec cucumber rubocop") - "spec cucumber")) - #t)) - (add-after 'extract-gemspec 'strip-version-requirements - (lambda _ - (delete-file "Gemfile") ;do not use Bundler - (substitute* "cucumber.gemspec" - (("(.*add_.*dependency '[_A-Za-z0-9-]+').*" _ stripped) - (string-append stripped "\n"))) - #t)) - (add-before 'check 'set-home - (lambda _ - (setenv "HOME" (getcwd)) - #t))))) + (list #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-rubocop + ;; Remove extraneous Lint checks. + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") + "") + (("RuboCop::RakeTask.new") + "")))) + (add-after 'extract-gemspec 'strip-version-requirements + (lambda _ + (delete-file "Gemfile") ;do not use Bundler + (substitute* "cucumber.gemspec" + ;; The dependency specifications are often trailing + ;; behind and appear stricter than necessary, since the + ;; test suite passes with the newer component versions. + (("(.*add_.*dependency '[_A-Za-z0-9-]+')(.*)" + _ stripped rest) + (string-append stripped " # " rest "\n"))))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" (getcwd))))))) (propagated-inputs (list ruby-builder + ruby-cucumber-ci-environment ruby-cucumber-core - ruby-cucumber-create-meta ruby-cucumber-gherkin ruby-cucumber-html-formatter ruby-cucumber-messages ruby-cucumber-wire ruby-diff-lcs - ruby-multi-json - ruby-multi-test)) + ruby-mime-types + ruby-multi-test + ruby-sys-uname)) (native-inputs - (list ;; Use a untested version of aruba, to avoid a circular dependency, as - ;; ruby-aruba depends on ruby-cucumber. - ruby-aruba-without-tests - ruby-rspec - ruby-pry + (list ruby-cucumber-compatibility-kit ruby-nokogiri - ruby-rubocop)) + ruby-pry + ruby-rspec)) (synopsis "Describe automated tests in plain language") (description "Cucumber is a tool for running automated tests written in plain language. It's designed to support a Behaviour Driven Development (BDD) -- cgit v1.2.3 From aed6e3939bb824174754e319a343aa4b06ab727d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 6 Mar 2023 17:48:49 -0500 Subject: gnu: Remove ruby-cucumber-create-meta. * gnu/packages/ruby.scm (ruby-cucumber-create-meta): Delete variable. --- gnu/packages/ruby.scm | 33 --------------------------------- 1 file changed, 33 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8b4aab4231..f240c95ef0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8162,39 +8162,6 @@ (define-public ruby-sys-uname (home-page "https://github.com/djberg96/sys-uname") (license license:asl2.0))) -(define-public ruby-cucumber-create-meta - (package - (name "ruby-cucumber-create-meta") - (version "1.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "cucumber-create-meta" version)) - (sha256 - (base32 - "0i0i3arymjrnjk72mg79w1a11607x4d0lrqafm9sz2gq9l52zasw")))) - (build-system ruby-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'extract-gemspec 'relax-version-requirements - (lambda _ - (substitute* ".gemspec" - ((" 12\\.2") - " 12.1")) - #t)) - (replace 'check - (lambda _ - (invoke "rspec")))))) - (native-inputs - (list ruby-rspec)) - (propagated-inputs - (list ruby-cucumber-messages ruby-sys-uname)) - (synopsis "Function to create @code{Meta} messages for Cucumber Ruby") - (description "The @code{createMeta} utility function allows generating -system-specific @code{Meta} messages for Cucumber Ruby.") - (home-page "https://github.com/cucumber/cucumber/tree/master/create-meta/ruby") - (license license:expat))) - (define-public ruby-cucumber-html-formatter (package (name "ruby-cucumber-html-formatter") -- cgit v1.2.3 From 42c99214114b4ebad205cfeb13d8dcdf293b8329 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 7 Mar 2023 20:43:11 -0500 Subject: gnu: Add ruby-rake-manifest. * gnu/packages/ruby.scm (ruby-rake-manifest): New variable. --- gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f240c95ef0..85b6a737b6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10413,6 +10413,40 @@ (define-public ruby-rake (home-page "https://github.com/ruby/rake") (license license:expat))) +(define-public ruby-rake-manifest + (package + (name "ruby-rake-manifest") + (version "0.2.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/mvz/rake-manifest") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "16k2yvg773c25kp2vhzhp01rhf53k0nhrcmpv34k1fridw90r2k8")))) + (build-system ruby-build-system) + (arguments + (list + #:test-target "default" + #:phases + #~(modify-phases %standard-phases + (delete 'check) ;moved after the install phase + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-before 'check 'set-GEM_PATH + (lambda _ + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby"))))))) + (native-inputs (list ruby-rspec ruby-simplecov)) + (synopsis "Rake tasks to generate and check a manifest file") + (description "This package provides Rake tasks to generate and check a +manifest file.") + (home-page "https://github.com/mvz/rake-manifest") + (license license:expat))) + (define-public ruby-childprocess (package (name "ruby-childprocess") -- cgit v1.2.3 From 7d325537ed9c3b6cee5a4dfacd61c4292c566217 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 7 Mar 2023 20:59:58 -0500 Subject: gnu: ruby-aruba: Update to 2.1.0. * gnu/packages/ruby.scm (ruby-aruba): Update to 2.1.0. [source]: Use git. [arguments]: Use gexps. Rename patch phase to 'patch-paths, and update. Rename remove-unnecessary-dependencies phase to relax-requirements and update. Move the check phase after the install phase, and add a new set-GEM_PATH phase. [native-inputs]: Remove ruby-fuubar. Add ruby-rake-manifest. Move bundler to... [propagated-inputs]: ... here. Remove ruby-ffi and ruby-yard. --- gnu/packages/ruby.scm | 107 +++++++++++++++++++++++++++----------------------- 1 file changed, 58 insertions(+), 49 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 85b6a737b6..fe93ec53e6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8075,62 +8075,71 @@ (define-public ruby-gherkin-ruby (define-public ruby-aruba (package (name "ruby-aruba") - (version "0.14.14") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "aruba" version)) - (sha256 - (base32 - "0l2mfpdxc03gdrbwc2hv4vdhjhqhfcdp6d02j05j64ncpi9srlqn")))) + (version "2.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cucumber/aruba") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mmlgqhi6yww3z34hmrrnha2rygkv6kx0q962z31dqxjkcv23yfd")))) (build-system ruby-build-system) (arguments - '(#:test-target "spec" - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'patch - (lambda _ - (substitute* "spec/aruba/api_spec.rb" - ;; This resolves some errors in the specs - ;; - ;; undefined method `parse' for Time:Class - (("require 'spec_helper'") - "require 'spec_helper'\nrequire 'time'")) - ;; Avoid shebang issues in this spec file - (substitute* "spec/aruba/matchers/command_spec.rb" - (("/usr/bin/env bash") - (which "bash"))) - #t)) - (add-before 'check 'remove-unnecessary-dependencies - (lambda _ - (substitute* "Gemfile" - ((".*byebug.*") "\n") - ((".*pry.*") "\n") - ((".*yaml.*") "\n") - ((".*bcat.*") "\n") - ((".*kramdown.*") "\n") - ((".*rubocop.*") "\n") - ((".*cucumber-pro.*") "\n") - ((".*cucumber.*") "\n") - ((".*license_finder.*") "\n") - ((".*rake.*") "gem 'rake'\n") - ((".*relish.*") "\n")) - (substitute* "aruba.gemspec" - (("spec\\.add\\_runtime\\_dependency 'cucumber'.*") - "spec.add_runtime_dependency 'cucumber'")) - #t)) - (add-before 'check 'set-home - (lambda _ (setenv "HOME" "/tmp") #t))))) + (list + ;; XXX: Only run the "spec" target and not the "cucumber" one, as it is + ;; slow and has multiple unexplained test failures. + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda _ + ;; This test file relies on a dynamically generated script; + ;; patch its #!/bin/bash shebang. + (substitute* "spec/aruba/api/commands_spec.rb" + (("/bin/bash") + (which "bash"))))) + (add-before 'check 'relax-requirements + ;; Many development requirements are not actually needed. + (lambda _ + (substitute* "aruba.gemspec" + (("\\[\">= 0.18.0\", \"< 0.22.0\"]") ;simplecov + "\">= 0.18.0\"") + ((".*appraisal.*") "") + ((".*pry.*") "") + ((".*kramdown.*") "") + ((".*rubocop.*") "") + ((".*yard-junk.*") "")) + (substitute* "Rakefile" + ((".*require \"rubocop/rake_task\".*") "") + ((".*require \"yard-junk/rake\".*") "") + ((".*RuboCop::RakeTask.new.*") "") + ((".*YardJunk::Rake.define_task.*") "")))) + ;; The tests rely on the Gem being installed, so move the check + ;; phase after the install phase. + (delete 'check) + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-before 'check 'set-GEM_PATH + (lambda _ + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")))) + (add-before 'check 'set-home + (lambda _ + (setenv "HOME" "/tmp")))))) (native-inputs - (list bundler ruby-rspec ruby-fuubar ruby-simplecov)) + (list ruby-rake-manifest + ruby-rspec + ruby-simplecov)) (propagated-inputs - (list ruby-childprocess + (list bundler + ruby-childprocess ruby-contracts ruby-cucumber - ruby-ffi ruby-rspec-expectations - ruby-thor - ruby-yard)) + ruby-thor)) (synopsis "Test command-line applications with Cucumber, RSpec or Minitest") (description "Aruba is an extension for Cucumber, RSpec and Minitest for testing -- cgit v1.2.3 From 365de8cfd2de433b111b2e14e36c07c3c0b4c9f2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 2 Mar 2023 11:04:35 -0500 Subject: gnu: ruby-activesupport: Update to 7.0.4.3. * gnu/packages/ruby.scm (ruby-activesupport): Move to... * gnu/packages/rails.scm (ruby-activesupport): ... here. (%ruby-rails-version, ruby-rails-monorepo): New variables. (ruby-activesupport): Update to 7.0.4.3. [arguments]: Use gexps. Add the delete-gemfiles, chdir, check-setup and delete-problematic-tests phases. Delete check phase override. [native-inputs]: New field. [propagated-inputs]: Remove ruby-zeitwerk. Replace ruby-minitest with ruby-minitest-5.15. [home-page]: Update URL. --- gnu/packages/protobuf.scm | 1 + gnu/packages/rails.scm | 84 +++++++++++++++++++++++++++++++++++++++++++++++ gnu/packages/ruby.scm | 33 ------------------- 3 files changed, 85 insertions(+), 33 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index 82c5b7b5f8..a746b7de9c 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -49,6 +49,7 @@ (define-module (gnu packages protobuf) #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages rpc) + #:use-module (gnu packages rails) #:use-module (gnu packages ruby) #:use-module (srfi srfi-1)) diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 8f5bda4638..3af90bc913 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2021, 2022 Efraim Flashner +;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,10 +25,93 @@ (define-module (gnu packages rails) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (gnu packages base) + #:use-module (gnu packages databases) #:use-module (gnu packages node) #:use-module (gnu packages ruby) #:use-module (guix build-system ruby)) +(define %ruby-rails-version "7.0.4.3") + +(define ruby-rails-monorepo + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rails/rails") + (commit (string-append "v" %ruby-rails-version)))) + (file-name (git-file-name "ruby-rails" %ruby-rails-version)) + (sha256 + (base32 + "0f5f8r8wdmdmbyl07b0z555arai4ys2j8dj3fy0mq63y9bfhcqqk")))) + +(define-public ruby-activesupport + (package + (name "ruby-activesupport") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-gemfiles + (lambda _ + (delete-file "Gemfile") + (delete-file "Gemfile.lock"))) + (add-after 'delete-gemfiles 'chdir + (lambda _ + (chdir "activesupport"))) + (add-before 'check 'check-setup + (lambda* (#:key native-inputs inputs #:allow-other-keys) + ;; Multiple tests require to set the timezone. + (setenv "TZDIR" (search-input-directory (or native-inputs inputs) + "share/zoneinfo")) + ;; The test suite requires a memcached and a redis server. + (invoke "memcached" "-d") + (invoke "redis-server" "--daemonize" "yes"))) + (add-before 'check 'delete-problematic-tests + (lambda _ + ;; These tests fail non-deterministically. + (substitute* "test/cache/behaviors.rb" + ((".*behaviors/cache_store_behavior.*") + "") + ((".*behaviors/encoded_key_cache_behavior.*") + "")) + (delete-file "test/evented_file_update_checker_test.rb") + ;; These tests require cache_store_behavior, disabled above. + (delete-file "test/cache/stores/file_store_test.rb") + (delete-file "test/cache/stores/mem_cache_store_test.rb") + (delete-file "test/cache/stores/memory_store_test.rb") + (delete-file "test/cache/stores/redis_cache_store_test.rb")))))) + (native-inputs + (list memcached + redis + ruby-builder + ruby-connection-pool + ruby-dalli + ruby-hiredis + ruby-libxml + ruby-listen + ruby-rack + ruby-redis + ruby-rexml + tzdata-for-tests)) + (propagated-inputs + (list ruby-concurrent + ruby-i18n + ;; This is sub-optimal, but apparently necessary (see: + ;; https://github.com/rails/rails/commit/ + ;; 9766eb4a833c26c64012230b96dd1157ebb8e8a2). + ruby-minitest-5.15 + ruby-tzinfo + ruby-tzinfo-data)) + (synopsis "Ruby on Rails utility library") + (description "ActiveSupport is a toolkit of support libraries and Ruby +core extensions extracted from the Rails framework. It includes support for +multibyte strings, internationalization, time zones, and testing.") + (home-page "https://rubyonrails.org/") + (license license:expat))) + (define-public ruby-spring (package (name "ruby-spring") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index fe93ec53e6..e600e84cfe 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6547,39 +6547,6 @@ (define-public ruby-loofah documents and fragments. It's built on top of Nokogiri and libxml2.") (license license:expat))) -(define-public ruby-activesupport - (package - (name "ruby-activesupport") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "activesupport" version)) - (sha256 - (base32 - "00a4db64g8w5yyk6hzak2nqrmdfvyh5zc9cvnm9gglwbi87ss28h")))) - (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (replace 'check - (lambda _ - ;; There are no tests, instead attempt to load the library. - (invoke "ruby" "-Ilib" "-r" "active_support")))))) - (propagated-inputs - (list ruby-concurrent - ruby-i18n - ruby-minitest - ruby-tzinfo - ruby-tzinfo-data - ruby-zeitwerk)) - (synopsis "Ruby on Rails utility library") - (description "ActiveSupport is a toolkit of support libraries and Ruby -core extensions extracted from the Rails framework. It includes support for -multibyte strings, internationalization, time zones, and testing.") - (home-page "https://www.rubyonrails.org") - (license license:expat))) - (define-public ruby-crass (package (name "ruby-crass") -- cgit v1.2.3 From 599ceb95109c491daaeccd76daba99351e347526 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 5 Mar 2023 21:26:10 -0500 Subject: gnu: ruby-railties: Update to 7.0.4.3. * gnu/packages/rails.scm (ruby-railties): Update to 7.0.4.3. [version]: Use %ruby-rails-version. [source]: Use ruby-rails-monorepo. [arguments]: Add #:phases. [propagated-inputs]: Add ruby-zeitwerk. --- gnu/packages/rails.scm | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 3af90bc913..9fa0f23ad8 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -609,28 +609,27 @@ (define-public ruby-actionmailer (define-public ruby-railties (package - (name "ruby-railties") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "railties" version)) - (sha256 - (base32 - "1685y5dcfgcq0b38j13vrpkhiiblmrl64wa9w065669bkgmkw4ra")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-actionpack ruby-activesupport ruby-method-source ruby-rake - ruby-thor)) - (synopsis "Rails internals, including application bootup and generators") - (description - "@code{railties} provides the core Rails internals including handling -application bootup, plugins, generators, and Rake tasks.") - (home-page "https://rubyonrails.org/") - (license license:expat))) + (name "ruby-railties") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list #:tests? #f ;requires rails to be installed + #:phases #~(modify-phases %standard-phases + (add-after 'delete-gemfiles 'chdir + (lambda _ + (chdir "railties")))))) + (propagated-inputs (list ruby-actionpack + ruby-activesupport + ruby-method-source + ruby-rake + ruby-thor + ruby-zeitwerk)) + (synopsis "Rails internals, including application bootup and generators") + (description "@code{railties} provides the core Rails internals including +handling application bootup, plugins, generators, and Rake tasks.") + (home-page "https://rubyonrails.org") + (license license:expat))) (define-public ruby-sprockets-rails (package -- cgit v1.2.3 From 10411b3549ba530a165ebffff4053f64824f4b5d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 7 Mar 2023 23:39:00 -0500 Subject: gnu: Add ruby-bcrypt. * gnu/packages/ruby.scm (ruby-bcrypt): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e600e84cfe..7911630702 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9593,6 +9593,26 @@ (define-public ruby-systemu (home-page "https://github.com/ahoward/systemu") (license license:ruby))) +(define-public ruby-bcrypt + (package + (name "ruby-bcrypt") + (version "3.1.18") + ;; FIXME: Unbundle the bcrypt library used. + (source (origin + (method url-fetch) + (uri (rubygems-uri "bcrypt" version)) + (sha256 + (base32 + "048z3fvcknqx7ikkhrcrykxlqmf9bzc7l0y5h1cnvrc9n2qf0k8m")))) + (build-system ruby-build-system) + (arguments (list #:test-target "default")) ;compile + spec + (native-inputs (list ruby-rake-compiler ruby-rspec)) + (synopsis "Ruby bcrypt wrapper") + (description "This Ruby library provides a simple wrapper to bcrypt, a +secure hash algorithm for hashing passwords.") + (home-page "https://github.com/bcrypt-ruby/bcrypt-ruby") + (license license:expat))) + (define-public ruby-bio-commandeer (package (name "ruby-bio-commandeer") -- cgit v1.2.3 From 7c461b2ee9ddecf53944de6623fb1458b08e1c7f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 7 Mar 2023 23:42:13 -0500 Subject: gnu: ruby-activemodel: Update to 7.0.4.3 and enable tests. * gnu/packages/rails.scm (ruby-activemodel): Update to 7.0.4.3. Fix indentation. [source]: Use ruby-rails-monorepo. [arguments]: Remove #:tests? argument. Add #:phases argument. [native-inputs]: New field. --- gnu/packages/rails.scm | 42 ++++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 20 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 9fa0f23ad8..329bacdaef 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -260,28 +260,30 @@ (define-public ruby-autoprefixer-rails (define-public ruby-activemodel (package - (name "ruby-activemodel") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "activemodel" version)) - (sha256 - (base32 - "07m85r00cd1dzxg65zr9wjrdqppw51b5ka9c5mrz92vnw18kfb70")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-activesupport)) - (synopsis "Toolkit for building modeling frameworks like Active Record") - (description - "This package provides a toolkit for building modeling frameworks like + (name "ruby-activemodel") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "activemodel"))) + (add-after 'chdir 'delete-problematic-tests + (lambda _ + ;; We do not want to depend on ruby-railties at this stage. + (delete-file "test/cases/railtie_test.rb")))))) + (native-inputs (list ruby-bcrypt)) + (propagated-inputs (list ruby-activesupport)) + (synopsis "Toolkit for building modeling frameworks like Active Record") + (description + "This package provides a toolkit for building modeling frameworks like Active Record. ActiveSupport handles attributes, callbacks, validations, serialization, internationalization, and testing.") - (home-page "https://rubyonrails.org/") - (license license:expat))) + (home-page "https://rubyonrails.org/") + (license license:expat))) (define-public ruby-activerecord (package -- cgit v1.2.3 From 39f41cf93a87a94695f83372e590efab3b712230 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 00:09:21 -0500 Subject: gnu: ruby-activerecord: Update to 7.0.4.3 and enable tests. * gnu/packages/rails.scm (ruby-activerecord): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Remove #:tests? argument. Add #:phases argument. [native-inputs]: New field. [propagated-inputs]: Remove ruby-arel. Add ruby-sqlite3. --- gnu/packages/rails.scm | 55 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 20 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 329bacdaef..4dc9392201 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -287,27 +287,42 @@ (define-public ruby-activemodel (define-public ruby-activerecord (package - (name "ruby-activerecord") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "activerecord" version)) - (sha256 - (base32 - "03kr6vslwd9iw89jidjpjlp7prr2rf7kpsfa4fz03g9by0kliivs")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-activemodel ruby-activesupport ruby-arel)) - (synopsis "Ruby library to connect to relational databases") - (description - "Active Record connects classes to relational database table to establish + (name "ruby-activerecord") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "activerecord"))) + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Avoid running the database tests, which require railties + ;; and/or database servers. + (invoke "ruby" "-Itest" "test/cases/base_test.rb")))) + (add-before 'check 'set-GEM_PATH + (lambda _ + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")))) + (add-before 'check 'check-setup + (lambda* (#:key native-inputs inputs #:allow-other-keys) + ;; A few tests require to set the timezone. + (setenv "TZDIR" (search-input-directory (or native-inputs inputs) + "share/zoneinfo"))))))) + (native-inputs (list tzdata-for-tests)) + (propagated-inputs (list ruby-activemodel ruby-activesupport ruby-sqlite3)) + (synopsis "Ruby library to connect to relational databases") + (description + "Active Record connects classes to relational database table to establish an almost zero-configuration persistence layer for applications.") - (home-page "https://rubyonrails.org") - (license license:expat))) + (home-page "https://rubyonrails.org") + (license license:expat))) (define-public ruby-rspec-rails (package -- cgit v1.2.3 From 1614217e9125905864995370eb5180de0358d166 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 08:37:50 -0500 Subject: gnu: Add ruby-simplecov-lcov. * gnu/packages/ruby.scm (ruby-simplecov-lcov): New variable. --- gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7911630702..ee3e5da702 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3459,6 +3459,33 @@ (define-public ruby-simplecov (home-page "https://github.com/simplecov-ruby/simplecov") (license license:expat))) +(define-public ruby-simplecov-lcov + (package + (name "ruby-simplecov-lcov") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "simplecov-lcov" version)) + (sha256 + (base32 + "1h8kswnshgb9zidvc88f4zjy4gflgz3854sx9wrw8ppgnwfg6581")))) + (build-system ruby-build-system) + ;; The test suite fails half of its tests; it seems to rely on older + ;; versions of simplecov, rspec, possibly others (see: + ;; https://github.com/fortissimo1997/simplecov-lcov/issues/29). + (arguments (list #:tests? #f + #:test-target "spec")) + (native-inputs + (list ruby-activesupport + ruby-coveralls + ruby-rspec + ruby-simplecov)) + (synopsis "SimpleCov formatter to generate a lcov style coverage") + (description "This package provides a SimpleCov formatter to generate a +lcov-style coverage report.") + (home-page "https://github.com/fortissimo1997/simplecov-lcov") + (license license:expat))) + (define-public ruby-useragent (package (name "ruby-useragent") -- cgit v1.2.3 From db0b6e23f2029ca36aae23e0c127d82f0abd863b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 08:57:51 -0500 Subject: gnu: ruby-actionview: Update to 7.0.4.3. * gnu/packages/rails.scm (ruby-actionview): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Add explanatory comment w.r.t. disabling tests. Add the #:phases and #:test-target arguments. [propagated-inputs]: Re-indent. --- gnu/packages/rails.scm | 34 ++++++++++++++++++++-------------- 1 file changed, 20 insertions(+), 14 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 4dc9392201..338c92ddaa 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -438,21 +438,27 @@ (define-public ruby-actiontext (define-public ruby-actionview (package (name "ruby-actionview") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "actionview" version)) - (sha256 - (base32 - "1s5kc1abi7id1g54lz1npgc42zl7pbz172wp8pi7j3s7qljafzw5")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + ;; XXX: This gem appears to load action_controller, provided by + ;; ruby-actionpack, but actionpack propagates ruby-actionview, + ;; introducing a circular dependency. + #:tests? #f + #:test-target "test:template" + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "actionview")))))) (propagated-inputs - (list ruby-activesupport ruby-builder ruby-erubi - ruby-rails-dom-testing ruby-rails-html-sanitizer)) + (list ruby-activesupport + ruby-builder + ruby-erubi + ruby-rails-dom-testing + ruby-rails-html-sanitizer)) (synopsis "Conventions and helpers for building web pages") (description "ActionView provides conventions and helpers for building web pages in -- cgit v1.2.3 From 00bfae29008a0deccb4f5ce8de876dda2cbc3a25 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 09:28:07 -0500 Subject: gnu: Add ruby-delayed-job. * gnu/packages/ruby.scm (ruby-delayed-job): New variable. --- gnu/packages/ruby.scm | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ee3e5da702..5432cf3d87 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5022,6 +5022,53 @@ (define-public ruby-deep-merge you to merge elements inside a hash together recursively.") (license license:expat))) +(define-public ruby-delayed-job + (package + (name "ruby-delayed-job") + (version "4.1.11") + (source (origin + (method url-fetch) + (uri (rubygems-uri "delayed_job" version)) + (sha256 + (base32 + "0s2xg72ljg4cwmr05zi67vcyz8zib46gvvf7rmrdhsyq387m2qcq")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-bundler + (lambda _ + (substitute* "Rakefile" + (("require 'bundler/setup'") "") + (("Bundler::GemHelper\\.install_tasks") "")))) + (add-after 'unpack 'disable-rubocop + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") "")))) + (add-after 'extract-gemspec 'remove-dependency-on-actionmailer + (lambda _ + (substitute* "spec/helper.rb" + (("require 'action_mailer'") "")) + (substitute* "delayed_job.gemspec" + (("\"spec/performable_mailer_spec.rb\".freeze, ") "")) + (delete-file "spec/performable_mailer_spec.rb")))))) + (native-inputs + (list ruby-activerecord + ruby-rspec + ruby-simplecov + ruby-simplecov-lcov + ruby-zeitwerk)) + (propagated-inputs + (list ruby-activesupport)) + (synopsis "Asynchronous background tasks execution library") + (description "Delayed_job (or DJ) encapsulates the common pattern of +asynchronously executing longer tasks in the background. It is a direct +extraction from Shopify where the job table is responsible for a multitude of +core tasks.") + (home-page "https://github.com/collectiveidea/delayed_job") + (license license:expat))) + (define-public ruby-git (package (name "ruby-git") -- cgit v1.2.3 From c1cfce3abd9138e58581534cf746e6bb833363de Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 11:13:05 -0500 Subject: gnu: Add ruby-minitest-proveit. * gnu/packages/ruby.scm (ruby-minitest-proveit): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5432cf3d87..de04cb554d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4740,6 +4740,26 @@ (define-public ruby-minitest-pretty-diff (home-page "https://github.com/adammck/minitest-pretty_diff") (license license:expat)))) +(define-public ruby-minitest-proveit + (package + (name "ruby-minitest-proveit") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "minitest-proveit" version)) + (sha256 + (base32 + "0k1hpr8lgkgygfivgcsnnib7xjlf9ribgpn7yidvb4q0l0q2yfmr")))) + (build-system ruby-build-system) + (native-inputs (list ruby-hoe)) + (propagated-inputs (list ruby-minitest)) + (synopsis "Assertion-based tests extension for MiniTest") + (description "The @code{minitest-proveit} MiniTest extension ensures all +tests to prove success (via at least one assertion) rather than rely on the +absence of failure.") + (home-page "https://github.com/seattlerb/minitest-proveit") + (license license:expat))) + (define-public ruby-minitest-moar (package (name "ruby-minitest-moar") -- cgit v1.2.3 From e7900d398046d31212738f3a83ea2c25a805b838 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 11:13:47 -0500 Subject: gnu: ruby-zeitwerk: Update to 2.6.7. * gnu/packages/ruby.scm (ruby-zeitwerk): Update to 2.6.7. [native-inputs]: Add ruby-minitest-proveit. --- gnu/packages/ruby.scm | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index de04cb554d..1d7479f171 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12564,21 +12564,23 @@ (define-public ruby-wayback-machine-downloader (define-public ruby-zeitwerk (package (name "ruby-zeitwerk") - (version "2.4.2") + (version "2.6.7") (source (origin - (method git-fetch) + (method git-fetch) ;for tests (uri (git-reference - ;; No tests in the released gem. (url "https://github.com/fxn/zeitwerk") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "119fgdyb57gmss2yvfwfr47wcy8nny38sai72446krpihyavpizw")))) + "10p1ycv72yas1fdqrmdyz1aiqf8axj6q1kyllni2wknhk059jvi0")))) (build-system ruby-build-system) (native-inputs - (list ruby-minitest ruby-minitest-focus ruby-minitest-reporters)) + (list ruby-minitest + ruby-minitest-focus + ruby-minitest-proveit + ruby-minitest-reporters)) (synopsis "Efficient and thread-safe code loader for Ruby") (description "Zeitwerk implements constant autoloading with Ruby semantics. Each gem -- cgit v1.2.3 From 64132f16dc66f42a2036dd7223255774ca26d180 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 10:59:33 -0500 Subject: gnu: Add ruby-queue-classic. * gnu/packages/ruby.scm (ruby-queue-classic): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1d7479f171..f5867f8cd6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9853,6 +9853,28 @@ (define-public ruby-que (home-page "https://github.com/chanks/que") (license license:expat))) +(define-public ruby-queue-classic + (package + (name "ruby-queue-classic") + (version "4.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "queue_classic" version)) + (sha256 + (base32 + "0npyhajf2fc80apkw9s2kj0n254w5lcl4xpjidg5d5w1fb19abh6")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) ;tests require a postgresql server + (native-inputs (list ruby-activerecord ruby-minitest-reporters)) + (propagated-inputs (list ruby-pg)) + (synopsis "Queuing library for Ruby") + (description "@code{queue_classic} is a queuing library for Ruby +applications (Rails, Sinatra, etc.) @code{queue_classic} features +asynchronous job polling, database maintained locks and has a single +dependency, @code{pg}.") + (home-page "https://github.com/QueueClassic/queue_classic") + (license license:expat))) + (define-public ruby-ae (package (name "ruby-ae") -- cgit v1.2.3 From eb3257222cc5bb6857da7dd5802744143bf30892 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 11:15:14 -0500 Subject: gnu: ruby-activejob: Update to 7.0.4.3 and enable tests. * gnu/packages/rails.scm (ruby-activejob): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Remove #:tests? argument. Add #:phases argument. [native-inputs]: New field. --- gnu/packages/rails.scm | 57 +++++++++++++++++++++++++++++++------------------- 1 file changed, 36 insertions(+), 21 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 338c92ddaa..bff4e09264 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -522,27 +522,42 @@ (define-public ruby-actioncable (define-public ruby-activejob (package - (name "ruby-activejob") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "activejob" version)) - (sha256 - (base32 - "175d8q0achdlsxjsvq0w9znvfqfkgbj75kbmdrvg4fb277wwplmf")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-activesupport ruby-globalid)) - (synopsis "Declare job classes for multiple backends") - (description - "ActiveJob allows declaring job classes in a common way across Rails -applications.") - (home-page "https://rubyonrails.org/") - (license license:expat))) + (name "ruby-activejob") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "activejob"))) + (add-after 'chdir 'delete-problematic-tests + (lambda _ + (substitute* "Rakefile" + ;; Remove the adapters that aren't yet packaged or would + ;; introduce cyclic dependencies. + (("backburner ") "") + (("resque ") "") + (("sidekiq ") "") + (("sneakers ") "") + (("sucker_punch ") "")) + (substitute* "test/cases/exceptions_test.rb" + (("ActiveJob::QueueAdapters::SneakersAdapter") ""))))))) + (native-inputs + (list ruby-queue-classic + ruby-delayed-job + ruby-que + ruby-zeitwerk)) + (propagated-inputs + (list ruby-activesupport + ruby-globalid)) + (synopsis "Declare job classes for multiple backends") + (description "ActiveJob allows declaring job classes in a common way +across Rails applications.") + (home-page "https://rubyonrails.org/") + (license license:expat))) (define-public ruby-activestorage (package -- cgit v1.2.3 From ab46c2cc0ba200dba9c2556581e66542601eb4e1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 13:34:14 -0500 Subject: gnu: Add ruby-xpath. * gnu/packages/ruby.scm (ruby-xpath): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f5867f8cd6..71afa1f76a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2753,6 +2753,30 @@ (define-public ruby-xml-simple (home-page "https://github.com/maik/xml-simple") (license license:ruby))) +(define-public ruby-xpath + (package + (name "ruby-xpath") + (version "3.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "xpath" version)) + (sha256 + (base32 + "0bh8lk9hvlpn7vmi6h4hkcwjzvs2y0cmkk3yjjdr8fxvj6fsgzbd")))) + (build-system ruby-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec" "spec" ))))))) + (native-inputs (list ruby-pry ruby-rspec)) + (propagated-inputs (list ruby-nokogiri)) + (synopsis "Ruby DSL for generating XPath expressions") + (description "XPath is a Ruby domain-specific language (DSL) for +generating XPath expressions.") + (home-page "https://github.com/teamcapybara/xpath") + (license license:expat))) + (define-public ruby-thor (package (name "ruby-thor") -- cgit v1.2.3 From 983ff32ad565c6c60bddc71aa15cdd5a6d1203cc Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 14:36:10 -0500 Subject: gnu: ruby-addressable: Update to 2.8.1. * gnu/packages/ruby.scm (ruby-addressable): Update to 2.8.1. [arguments]: Delete trailing #t. Add disable-bundler phase. [native-inputs]: Sort. --- gnu/packages/ruby.scm | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 71afa1f76a..57e646a65a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10644,38 +10644,40 @@ (define-public ruby-public-suffix (define-public ruby-addressable (package (name "ruby-addressable") - (version "2.7.0") + (version "2.8.1") (source (origin (method url-fetch) (uri (rubygems-uri "addressable" version)) (sha256 (base32 - "1fvchp2rhp2rmigx7qglf69xvjqvzq7x0g49naliw29r2bz656sy")))) + "1ypdmpdn20hxp5vwxz3zc04r5xcwqc25qszdlg41h8ghdqbllwmw")))) (build-system ruby-build-system) (arguments '(#:test-target "spec" #:phases (modify-phases %standard-phases + (add-after 'unpack 'disable-bundler + (lambda _ + (substitute* "spec/spec_helper.rb" + (("require 'bundler/setup'") "")))) (add-after 'unpack 'remove-unnecessary-dependencies-from-Gemfile - (lambda _ - (substitute* "Gemfile" - (("git: 'https://github.com/sporkmonger/rack-mount.git',") "") - ((".*launchy.*") "") - ((".*rake.*") "gem 'rake'\n") - ((".*redcarpet.*") "")) - #t)) + (lambda _ + (substitute* "Gemfile" + (("git: 'https://github.com/sporkmonger/rack-mount.git',") "") + ((".*launchy.*") "") + ((".*rake.*") "gem 'rake'\n") + ((".*redcarpet.*") "")))) (add-before 'check 'delete-network-dependent-test (lambda _ - (delete-file "spec/addressable/net_http_compat_spec.rb") - #t))))) + (delete-file "spec/addressable/net_http_compat_spec.rb")))))) (native-inputs - (list ruby-rspec - bundler + (list bundler ruby-idn-ruby - ruby-sporkmonger-rack-mount + ruby-rspec ruby-rspec-its-minimal - ruby-yard - ruby-simplecov)) + ruby-simplecov + ruby-sporkmonger-rack-mount + ruby-yard)) (propagated-inputs (list ruby-public-suffix)) (home-page "https://github.com/sporkmonger/addressable") -- cgit v1.2.3 From 46ae64560bf917eea4434a12e3ae961ee824d28e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 14:47:01 -0500 Subject: gnu: Add ruby-launchy. * gnu/packages/ruby.scm (ruby-launchy): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 57e646a65a..3a757582dd 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -82,6 +82,7 @@ (define-module (gnu packages ruby) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) + #:use-module (gnu packages web-browsers) #:use-module (gnu packages serialization) #:use-module (guix packages) #:use-module (guix deprecation) @@ -11778,6 +11779,27 @@ (define-public ruby-mercenary command-line apps in Ruby.") (license license:expat))) +(define-public ruby-launchy + (package + (name "ruby-launchy") + (version "2.5.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "launchy" version)) + (sha256 + (base32 + "06r43899384das2bkbrpsdxsafyyqa94il7111053idfalb4984a")))) + (build-system ruby-build-system) + (native-inputs (list curl links ruby-simplecov)) + (propagated-inputs (list ruby-addressable)) + (synopsis "Ruby helper class for launching applications") + (description + "Launchy is helper class for launching applications in a fire and forget +manner. The aim of Launchy is to provide a common approach to launching +external applications from within Ruby programs.") + (home-page "https://github.com/copiousfreetime/launchy") + (license license:isc))) + (define-public ruby-liquid (package (name "ruby-liquid") -- cgit v1.2.3 From 5acb5fcccd24361f9d953a0c291cb1d1982b3540 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 15:40:52 -0500 Subject: gnu: Add ruby-websocket. * gnu/packages/ruby.scm (ruby-websocket): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3a757582dd..64d6e9de16 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13556,6 +13556,31 @@ (define-public ruby-webrick HTTPS server, a proxy server, and a virtual-host server.") (license license:bsd-2))) +(define-public ruby-websocket + (package + (name "ruby-websocket") + (version "1.2.9") + (source (origin + (method url-fetch) + (uri (rubygems-uri "websocket" version)) + (sha256 + (base32 + "0dib6p55sl606qb4vpwrvj5wh881kk4aqn2zpfapf8ckx7g14jw8")))) + (build-system ruby-build-system) + (arguments (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'disable-rubocop + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") ""))))))) + (native-inputs (list ruby-rspec)) + (synopsis "WebSocket protocol Ruby library") + (description "This package provides a Ruby library to handle the WebSocket +protocol.") + (home-page "https://github.com/imanel/websocket-ruby") + (license license:expat))) + (define-public ruby-interception (package (name "ruby-interception") -- cgit v1.2.3 From efa5230acf5612c8523474a7eb1f9f005bd5a668 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 16:14:21 -0500 Subject: gnu: Add ruby-selenium-webdriver. * gnu/packages/ruby.scm (ruby-selenium-webdriver): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 64d6e9de16..9ddfcc2ba0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13492,6 +13492,31 @@ (define-public ruby-bandwidth-iris Dashboard. It is a Ruby Client library for IRIS / BBS API.") (license license:expat))) +(define-public ruby-selenium-webdriver + (package + (name "ruby-selenium-webdriver") + (version "4.8.5") + (source (origin + (method url-fetch) + (uri (rubygems-uri "selenium-webdriver" version)) + (sha256 + (base32 + "0wh44vpsyz4mgyq4h482prgiv7hqa5jsj4i7i5hnvv39jb0rfiwm")))) + (build-system ruby-build-system) + ;; FIXME: The gem release lacks test files, and the git checkout lacks + ;; JavaScript source that is generated using Bazel, which isn't available + ;; in Guix yet, so disable the test suite for now. + (arguments (list #:tests? #f)) + (propagated-inputs (list ruby-rexml ruby-rubyzip ruby-websocket)) + (synopsis "Selenium browser automation bindings for Ruby") + (description "Selenium implements the W3C WebDriver protocol to automate +popular browsers. It aims to mimic the behaviour of a real user as it +interacts with the application's HTML. It's primarily intended for web +application testing, but any web-based task can be automated. This package +provides the Ruby bindings of Selenium.") + (home-page "https://www.selenium.dev/") + (license license:asl2.0))) + (define-public ruby-sentry-core (package (name "ruby-sentry-core") -- cgit v1.2.3 From 671556e15d68f24772d684c5e8f19e1fdc6c596d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 16:18:54 -0500 Subject: gnu: ruby-puma: Build with SSL support. * gnu/packages/ruby.scm (ruby-puma) [arguments]: Delete trailing #t. [inputs]: Add openssl. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9ddfcc2ba0..d5a0aef786 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10155,8 +10155,8 @@ (define-public ruby-puma (add-before 'build 'fix-gemspec (lambda _ (substitute* "puma.gemspec" - (("git ls-files") "find * |sort")) - #t))))) + (("git ls-files") "find * |sort"))))))) + (inputs (list openssl)) (synopsis "Simple, concurrent HTTP server for Ruby/Rack") (description "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server -- cgit v1.2.3 From 01ca99e7089b5231a23d66264c00b449339c85f8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 16:39:51 -0500 Subject: gnu: Add ruby-minitest-stub-const. * gnu/packages/ruby.scm (ruby-minitest-stub-const): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d5a0aef786..751c698699 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4667,6 +4667,26 @@ (define-public ruby-minitest-sprint (home-page "https://github.com/seattlerb/minitest-sprint") (license license:expat))) +(define-public ruby-minitest-stub-const + (package + (name "ruby-minitest-stub-const") + (version "0.6") ;for Rakefile + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/adammck/minitest-stub-const") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cz4r9fxplx94c7wakx0998n2gv7l21prn8pfpw6z2c33k3g2xar")))) + (build-system ruby-build-system) + (synopsis "Stub constants for the duration of a block in MiniTest") + (description "This package provides a MiniTest extension to stub constants +for the duration of a block in MiniTest.") + (home-page "https://github.com/adammck/minitest-stub-const") + (license license:expat))) + (define-public ruby-minitest-bacon (package (name "ruby-minitest-bacon") -- cgit v1.2.3 From e5dbe4cc0094008734b8c78349e54f67400fd03b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 16:58:15 -0500 Subject: gnu: ruby-rack: Update to 2.2.6.3. * gnu/packages/ruby.scm (ruby-rack): Update to 2.2.6.3. [source]: Move snippet to... [arguments]: ... the fix-test phase. Use gexps and delete trailing #t. --- gnu/packages/ruby.scm | 68 ++++++++++++++++++++++++--------------------------- 1 file changed, 32 insertions(+), 36 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 751c698699..c6db3615be 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7115,50 +7115,46 @@ (define-public ruby-racc (define-public ruby-rack (package (name "ruby-rack") - (version "2.2.3") + ;; Do not upgrade to version 3, as Rails doesn't support it yet. + (version "2.2.6.3") (source (origin - (method git-fetch) - ;; Download from GitHub so that the snippet can be applied and tests run. + (method git-fetch) ;for tests (uri (git-reference - (url "https://github.com/rack/rack") - (commit version))) + (url "https://github.com/rack/rack") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1qrm5z5v586738bnkr9188dvz0s25nryw6sgvx18jjlkizayw1g4")) - ;; Ignore test which fails inside the build environment but works - ;; outside. - (modules '((guix build utils))) - (snippet - '(begin (substitute* "test/spec_files.rb" - (("res.body.must_equal expected_body") "")) - #t)))) + "19n33q0v15qjh7kbp2painyzyqg16kkf0mp68vcnlswghmmjcyzq")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'fix-tests - (lambda _ - ;; A few of the tests use the length of a file on disk for - ;; Content-Length and Content-Range headers. However, this file - ;; has a shebang in it which an earlier phase patches, growing - ;; the file size from 193 to 239 bytes when the store prefix is - ;; "/gnu/store". - (let ((size-diff (- (string-length (which "ruby")) - (string-length "/usr/bin/env ruby")))) - (substitute* '("test/spec_files.rb") - (("208" bytes) - (number->string (+ (string->number bytes) size-diff))) - (("bytes(.)22-33" all delimiter) - (string-append "bytes" - delimiter - (number->string (+ 22 size-diff)) - "-" - (number->string (+ 33 size-diff)))))) - #t))))) - (native-inputs - (list ruby-minitest ruby-minitest-global-expectations)) + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'fix-tests + (lambda _ + ;; This test fails in the build environment (and passes outside + ;; of it). + (substitute* "test/spec_files.rb" + (("res.body.must_equal expected_body") "")) + ;; A few of the tests use the length of a file on disk for + ;; Content-Length and Content-Range headers. However, this file + ;; has a shebang in it which an earlier phase patches, growing + ;; the file size from 193 to 239 bytes when the store prefix is + ;; "/gnu/store". + (let ((size-diff (- (string-length (which "ruby")) + (string-length "/usr/bin/env ruby")))) + (substitute* '("test/spec_files.rb") + (("208" bytes) + (number->string (+ (string->number bytes) size-diff))) + (("bytes(.)22-33" all delimiter) + (string-append "bytes" + delimiter + (number->string (+ 22 size-diff)) + "-" + (number->string (+ 33 size-diff))))))))))) + (native-inputs (list ruby-minitest ruby-minitest-global-expectations)) (synopsis "Unified web application interface for Ruby") (description "Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses, -- cgit v1.2.3 From 2fdd8c14be1ad86ac0ff0d4044f4ca6383c04aa7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 16:50:30 -0400 Subject: gnu: ruby-rack: Update home page URL. * gnu/packages/ruby.scm (ruby-rack) [home-page]: Update URL. --- gnu/packages/ruby.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c6db3615be..044a24fc8f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7160,7 +7160,7 @@ (define-public ruby-rack developing web applications in Ruby. By wrapping HTTP requests and responses, it unifies the API for web servers, web frameworks, and software in between into a single method call.") - (home-page "https://rack.github.io/") + (home-page "https://github.com/rack/rack") (license license:expat))) (define-public ruby-rack-test -- cgit v1.2.3 From 6cfc5524777a2fd5f2cf45a25695cf7061ca2db0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 20:41:29 -0500 Subject: gnu: Add ruby-rack-next. * gnu/packages/ruby.scm (ruby-rack-next): New variable. --- gnu/packages/ruby.scm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 044a24fc8f..0c9e6030dd 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7163,6 +7163,22 @@ (define-public ruby-rack (home-page "https://github.com/rack/rack") (license license:expat))) +(define-public ruby-rack-next + (package + (inherit ruby-rack) + (name "ruby-rack") + (version "3.0.7") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/rack/rack") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0msf14655nfcq1kgmib6932lgzm9nw3nb0m3c7nh6nj4sx30yxfr")))) + (arguments '()))) + (define-public ruby-rack-test (package (name "ruby-rack-test") -- cgit v1.2.3 From 4d29594933e223503beedddc20456d2eb1b66603 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 20:41:13 -0500 Subject: gnu: Add ruby-rack-cache. * gnu/packages/ruby.scm (ruby-rack-cache): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0c9e6030dd..c54e83f428 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7179,6 +7179,30 @@ (define-public ruby-rack-next "0msf14655nfcq1kgmib6932lgzm9nw3nb0m3c7nh6nj4sx30yxfr")))) (arguments '()))) +(define-public ruby-rack-cache + (package + (name "ruby-rack-cache") + (version "1.13.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rack-cache" version)) + (sha256 + (base32 + "1cqpax628h2mhnsjfg91c3klxwx2pkvaj061cisb0saqa99b0jgm")))) + (build-system ruby-build-system) + (arguments + (list + ;; The test suite depends on ruby-memcached, which is not available in + ;; Guix and bundles a very dated copy of memcached (undesirable). + #:tests? #f)) + (propagated-inputs (list ruby-rack)) + (synopsis "Component to enable HTTP caching for Rack-based applications") + (description "Rack::Cache is suitable as a drop-in component to enable +HTTP caching for Rack-based applications that produce freshness (Expires, +Cache-Control) and/or validation (Last-Modified, ETag) information.") + (home-page "https://github.com/rtomayko/rack-cache") + (license license:expat))) + (define-public ruby-rack-test (package (name "ruby-rack-test") -- cgit v1.2.3 From 082516de4c96d25812a72d236a800fa07340c798 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 10:21:59 -0500 Subject: gnu: ruby-rack-test: Update to 2.1.0. * gnu/packages/ruby.scm (ruby-rack-test): Update to 2.1.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c54e83f428..349acd98e6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7206,14 +7206,14 @@ (define-public ruby-rack-cache (define-public ruby-rack-test (package (name "ruby-rack-test") - (version "0.8.3") + (version "2.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "rack-test" version)) (sha256 (base32 - "14ij39zywvr1i9f6jsixfg4zxi2q1m1n1nydvf47f0b6sfc9mv1g")))) + "1ysx29gk9k14a14zsp5a8czys140wacvp91fja8xcja0j1hzqq8c")))) (build-system ruby-build-system) (arguments ;; Disable tests because of circular dependencies: requires sinatra, -- cgit v1.2.3 From 2552d39e92432fec9e70ef24c78d29902a642eab Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 16:45:18 -0400 Subject: gnu: ruby-rack-test: Update home page. * gnu/packages/ruby.scm (ruby-rack-test) [home-page]: Update URL. --- gnu/packages/ruby.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 349acd98e6..209f1dc86a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7231,7 +7231,7 @@ (define-public ruby-rack-test "Rack::Test is a small, simple testing API for Rack applications. It can be used on its own or as a reusable starting point for Web frameworks and testing libraries to build on.") - (home-page "https://github.com/rack-test/rack-test") + (home-page "https://github.com/rack/rack-test") (license license:expat))) (define-public ruby-rack-protection -- cgit v1.2.3 From ba5f5158a0a1fe6fa57da7cfa0d3357f1dcce53b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 16:41:28 -0400 Subject: gnu: ruby-rack-test: Honor #:tests? argument. * gnu/packages/ruby.scm (ruby-rack-test) [arguments]: Honor #:tests? argument in check phase override. --- gnu/packages/ruby.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 209f1dc86a..3b04aa193f 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7222,8 +7222,9 @@ (define-public ruby-rack-test `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - (invoke "ruby" "-Ilib" "-r" "rack/test")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "ruby" "-Ilib" "-r" "rack/test"))))))) (propagated-inputs (list ruby-rack)) (synopsis "Testing API for Rack applications") -- cgit v1.2.3 From eaa1170031459b14e02268da4050b40d90d75afa Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 10:24:40 -0500 Subject: gnu: ruby-sinatra: Update to 3.0.5. * gnu/packages/ruby.scm (ruby-sinatra): Update to 3.0.5. Delete trailing #t. Delete arguments field. --- gnu/packages/ruby.scm | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3b04aa193f..d050614c04 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12310,28 +12310,20 @@ (define-public ruby-htmlentities (home-page "https://github.com/threedaymonk/htmlentities") (license license:expat))) +;;; FIXME: Currently broken with rack 3, awaiting the merge for +;;; https://github.com/sinatra/sinatra/pull/1857 and a new release. (define-public ruby-sinatra (package (name "ruby-sinatra") - (version "2.0.8.1") + (version "3.0.5") (source (origin (method url-fetch) (uri (rubygems-uri "sinatra" version)) (sha256 (base32 - "0riy3hwjab1mr73jcqx3brmbmwspnw3d193j06a5f0fy1w35z15q")))) + "1ryfja9yd3fq8n1p5yi3qnd0pjk7bkycmxxmbb1bj0axlr1pdv20")))) (build-system ruby-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - ;; See: https://github.com/sinatra/sinatra/issues/1578. - (add-after 'extract-gemspec 'fix-slow-doc-generation - (lambda _ - (substitute* "sinatra.gemspec" - (("\"README.rdoc\"\\.freeze," all) - (string-append all " \"--exclude=.*\\.md\".freeze,"))) - #t))))) (propagated-inputs (list ruby-mustermann ruby-rack ruby-rack-protection ruby-tilt)) (synopsis "DSL for quick web applications creation in Ruby") -- cgit v1.2.3 From 06a5e22f66ce4364c3c5c3bbb4e1eae92ee820c2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 17:21:01 -0500 Subject: gnu: ruby-webrick: Update to 1.8.1. * gnu/packages/ruby.scm (ruby-webrick): Update to 1.8.1. [source]: Use git. [arguments]: New field. --- gnu/packages/ruby.scm | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d050614c04..82cbfbdeb1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13616,14 +13616,26 @@ (define-public ruby-sentry (define-public ruby-webrick (package (name "ruby-webrick") - (version "1.7.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "webrick" version)) - (sha256 - (base32 "1d4cvgmxhfczxiq5fr534lmizkhigd15bsx5719r5ds7k7ivisc7")))) + (version "1.8.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/webrick") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1xb0mk3cghdir65nmj0mblprbf21blli7267b6yyvxclh307yp6s")))) (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'delete-problematic-tests + (lambda _ + ;; The httresponse tests fail for + ;; unknown reasons (see: + ;; https://github.com/ruby/webrick/issues/112). + (delete-file "test/webrick/test_httpresponse.rb")))))) (home-page "https://github.com/ruby/webrick") (synopsis "HTTP server toolkit") (description "WEBrick is an HTTP server toolkit that can be configured as an -- cgit v1.2.3 From 12053e11363af04236e07f26dae1ce0bb6a53c8b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 19:46:54 -0500 Subject: gnu: Add ruby-rackup. * gnu/packages/ruby.scm (ruby-rackup): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 82cbfbdeb1..50c5f9320b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7179,6 +7179,28 @@ (define-public ruby-rack-next "0msf14655nfcq1kgmib6932lgzm9nw3nb0m3c7nh6nj4sx30yxfr")))) (arguments '()))) +(define-public ruby-rackup + (package + (name "ruby-rackup") + (version "2.1.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rack/rackup") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19b7sy700zjwaw7x47qpxvhnnz5hrp5bhrxfyljgagrli824dajy")))) + (build-system ruby-build-system) + (native-inputs (list ruby-minitest-global-expectations)) + (inputs (list ruby-rack-next ruby-webrick)) + (synopsis "Command line interface (CLI) for running for Rack applications") + (description "This package provides a command line interface for running +for Rack applications.") + (home-page "https://github.com/rack/rackup") + (license license:expat))) + (define-public ruby-rack-cache (package (name "ruby-rack-cache") -- cgit v1.2.3 From 37bb9a07387fdd9bb6c753d01f5538ad13cd5273 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 6 Jan 2023 21:52:33 -0500 Subject: gnu: Add ruby-vcr-expat. * gnu/packages/ruby.scm (ruby-vcr-expat): New variable. --- gnu/packages/ruby.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 50c5f9320b..4a6eb14d6d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8057,6 +8057,36 @@ (define-public ruby-varint (home-page "https://github.com/liquidm/varint") (license license:bsd-3))) +;;; Note: Do NOT update to a newer version; this is the last commit that is +;;; still licensed as free software, the project having switched to the +;;; Hippocratic license afterward (see: +;;; https://github.com/vcr/vcr/issues/959). +(define-public ruby-vcr-expat + (let ((revision "0") + (commit-dont-touch "842b2bf89099dc91f2c643d0d85d1abd54eb7e85")) ; + (package + (name "ruby-vcr-expat") + (version (git-version "5.0.0" revision commit-dont-touch)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/vcr/vcr") + (commit commit-dont-touch))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "02mzifd2655kjh35bbry01n66jjcjrsw6ncqlybfkjcaqrw2zalv")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) ;avoid all dependencies + (home-page "https://github.com/vcr/vcr") + (synopsis "HTTP interaction recorder [old version]") + (description "Record your test suite's HTTP interactions and replay them +during future test runs for fast, deterministic, accurate tests. This is an +older version of VCR that is free software under the Expat license. The +project later switched to the Hippocratic license, which is non-free. +@emph{Do not use it in new free software projects}.") + (license license:expat)))) + (define-public ruby-ruby-prof (package (name "ruby-ruby-prof") -- cgit v1.2.3 From 01f2e9ed41ab12c39b75e2f09e1d53db9e02596a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 6 Jan 2023 22:17:30 -0500 Subject: gnu: Add ruby-prettier-print. * gnu/packages/ruby.scm (ruby-prettier-print): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4a6eb14d6d..e654d5ebbd 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12280,6 +12280,27 @@ (define-public ruby-mustermann (home-page "https://github.com/sinatra/mustermann") (license license:expat))) +(define-public ruby-prettier-print + (package + (name "ruby-prettier-print") + (version "1.2.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby-syntax-tree/prettier_print") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "00cg40jc0il1hpsrpsrqwhsxmx7day9lxp1ksrm08zxzsrz9ykqz")))) + (build-system ruby-build-system) + (native-inputs (list ruby-simplecov)) + (synopsis "Compatible and featureful implementation of @code{prettyprint}") + (description "This package provides a drop-in replacement for the +@code{prettyprint} gem, with more functionality.") + (home-page "https://github.com/ruby-syntax-tree/prettier_print") + (license license:expat))) + (define-public ruby-html-proofer (package (name "ruby-html-proofer") -- cgit v1.2.3 From d64d4ee2957d5b550675a7393e4d310fcc5091ca Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 6 Jan 2023 22:28:45 -0500 Subject: gnu: Add ruby-syntax-tree. * gnu/packages/ruby.scm (ruby-syntax-tree): New variable. --- gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e654d5ebbd..a6de41b4d6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12226,6 +12226,44 @@ (define-public ruby-language-server-protocol (home-page "https://github.com/mtsmfm/language_server-protocol-ruby") (license license:expat))) +(define-public ruby-syntax-tree + (package + (name "ruby-syntax-tree") + (version "6.1.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby-syntax-tree/syntax_tree") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0356lgvqp22nkqlrgszf7myfdg4arclg278awh34zyby1cx6hb2k")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + ;; The tests rely on the Gem being installed, so move the check + ;; phase after the install phase. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (setenv "GEM_PATH" (string-append + #$output "/lib/ruby/vendor_ruby:" + (getenv "GEM_PATH"))) + (when tests? + (invoke "rake" "test"))))))) + (native-inputs (list ruby-rubocop-ast ruby-simplecov)) + (propagated-inputs (list ruby-prettier-print)) + (synopsis "Fast Ruby parser and formatter") + (description "Syntax Tree is a suite of tools built on top of the internal +CRuby parser. It provides the ability to generate a syntax tree from source, +as well as the tools necessary to inspect and manipulate that syntax tree. It +can be used to build formatters, linters, language servers, and more.") + (home-page "https://github.com/ruby-syntax-tree/syntax_tree") + (license license:expat))) + (define-public ruby-mustache (package (name "ruby-mustache") -- cgit v1.2.3 From cd7fedb2bf541c8bea805bf88026f252ef924315 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 6 Jan 2023 23:13:04 -0500 Subject: gnu: Add ruby-subprocess. * gnu/packages/ruby.scm (ruby-subprocess): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a6de41b4d6..2934808169 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12226,6 +12226,27 @@ (define-public ruby-language-server-protocol (home-page "https://github.com/mtsmfm/language_server-protocol-ruby") (license license:expat))) +(define-public ruby-subprocess + (package + (name "ruby-subprocess") + (version "1.5.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "subprocess" version)) + (sha256 + (base32 + "0v49ahfx9b75qg42sl8a3l367g2vihc16g8z5f2raxpxjl1wh2s2")))) + (build-system ruby-build-system) + ;; Do not run the test suite, as there its test dependency ruby-sord would + ;; introduce a cycle with ruby-sorbet-runtime. + (arguments (list #:tests? #f)) + (native-inputs (list ruby-minitest ruby-pry)) + (synopsis "Ruby library to control and communicate with spawned processes") + (description "This Ruby library is controlling and communicating with +spawned processes. It is designed after Python's @code{subprocess} module.") + (home-page "https://github.com/stripe/subprocess") + (license license:expat))) + (define-public ruby-syntax-tree (package (name "ruby-syntax-tree") -- cgit v1.2.3 From d030239c655ec43f289ef58b7af674fb05e3880a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 00:39:52 -0500 Subject: gnu: Add ruby-rake-compiler-dock. * gnu/packages/ruby.scm (ruby-rake-compiler-dock): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2934808169..7ac94b6578 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -435,6 +435,25 @@ (define-public ruby-rake-compiler (home-page "https://github.com/rake-compiler/rake-compiler") (license license:expat))) +(define-public ruby-rake-compiler-dock + (package + (name "ruby-rake-compiler-dock") + (version "1.3.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "rake-compiler-dock" version)) + (sha256 + (base32 + "0yr5f72irvhmnk12q7bbr4qw0xwy7diqkbcvb4lygjbg7rvk3k8k")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) ;test suite requires docker + (synopsis "Cross compiler environment for building Ruby gems") + (description "The code{rake-compiler-dock} gem provides a cross compiler +environment for building gems on a variety of platforms (GNU/Linux, JRuby, +Windows and Mac).") + (home-page "https://github.com/rake-compiler/rake-compiler-dock") + (license license:expat))) + (define-public ruby-rsync (package (name "ruby-rsync") -- cgit v1.2.3 From 6414c5a139c57b9bdde12e51e36b40050eb77e45 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 01:45:30 -0500 Subject: gnu: Add ruby-concurrent-ruby. * gnu/packages/ruby.scm (ruby-concurrent-ruby): New variable. --- gnu/packages/ruby.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 7ac94b6578..2d40609d7d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10474,6 +10474,44 @@ (define-public ruby-concurrent (home-page "http://www.concurrent-ruby.com") (license license:expat))) +(define-public ruby-concurrent-ruby + (package + (name "ruby-concurrent-ruby") + (version "1.2.2") + (source (origin + (method git-fetch) + (uri (git-reference ;for tests + (url "https://github.com/ruby-concurrency/concurrent-ruby") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vz4rl0nplq14dk9nx45g59i1sk2h53w1mjlrdiyjf780q4a1i38")))) + (build-system ruby-build-system) + (arguments + (list + #:tests? #f ;the test suite is run in ruby-concurrent-ruby-edge + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'delete-unwanted-gemspecs + (lambda _ + (for-each delete-file + '("concurrent-ruby-ext.gemspec" + "concurrent-ruby-edge.gemspec")))) + (add-after 'unpack 'do-not-install-concurrent_ruby.jar + (lambda _ + ;; This file is only built when building the Java + ;; extension. + (substitute* "concurrent-ruby.gemspec" + (("'lib/concurrent-ruby/concurrent/concurrent_ruby.jar'") + ""))))))) + (synopsis "Concurrency library for Ruby") + (description "Concurrent Ruby includes concurrency tools such as agents, +futures, promises, thread pools, actors, supervisors, and more. It is +inspired by Erlang, Clojure, Go, JavaScript, actors, and classic concurrency +patterns.") + (home-page "https://github.com/ruby-concurrency/concurrent-ruby") + (license license:expat))) + (define-public ruby-pkg-config (package (name "ruby-pkg-config") -- cgit v1.2.3 From 2f7c92e247c85fdf0d7957c22464e4a50248f5d8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 15:26:58 -0500 Subject: gnu: ruby-concurrent: Replace with ruby-concurrent-ruby. * gnu/packages/ruby.scm (ruby-concurrent): Delete package, and define it as a deprecated alias to ruby-concurrent-ruby instead. --- gnu/packages/ruby.scm | 77 ++++----------------------------------------------- 1 file changed, 6 insertions(+), 71 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2d40609d7d..ffb87cd0c5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10403,77 +10403,6 @@ (define-public ruby-timecop (home-page "https://github.com/travisjeffery/timecop") (license license:expat))) -(define-public ruby-concurrent - (package - (name "ruby-concurrent") - (version "1.1.5") - (source - (origin - (method git-fetch) - ;; Download from GitHub because the rubygems version does not contain - ;; Rakefile. - (uri (git-reference - (url "https://github.com/ruby-concurrency/concurrent-ruby") - (commit (string-append "v" version)))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "193q2k47vk7qdvv9hlhmmdxgy91xl4imapyk1ijdg9vgf46knyzj")))) - (build-system ruby-build-system) - (arguments - `(#:test-target "ci" - #:phases - (modify-phases %standard-phases - (add-before 'replace-git-ls-files 'remove-extra-gemspecs - (lambda _ - ;; Delete extra gemspec files so 'first-gemspec' chooses the - ;; correct one. - (delete-file "concurrent-ruby-edge.gemspec") - (delete-file "concurrent-ruby-ext.gemspec") - #t)) - (replace 'replace-git-ls-files - (lambda _ - ;; XXX: The default substitution made by this phase is not fully - ;; compatible with "git ls-files". The latter produces file names - ;; such as "lib/foo", whereas ruby-build-system uses "find . [...]" - ;; which gives "./lib/foo". That difference in turn breaks the - ;; comparison against a glob pattern in this script. - (substitute* "concurrent-ruby.gemspec" - (("git ls-files") "find * -type f | sort")) - #t)) - (add-before 'build 'remove-jar-from-gemspec - (lambda _ - ;; The gemspec wants to include a JAR file that we do not build - ;; nor need. - (substitute* "concurrent-ruby.gemspec" - (("'lib/concurrent/concurrent_ruby.jar'") - "")) - #t)) - (add-before 'build 'remove-rake_compiler_dock-dependency - (lambda _ - ;; This library is only used when building for non-MRI targets. - (substitute* "Rakefile" - (("require 'rake_compiler_dock'") - "")) - #t)) - (add-before 'check 'remove-timecop-dependency - ;; Remove timecop-dependent tests as having timecop as a depedency - ;; causes circular depedencies. - (lambda _ - (delete-file "spec/concurrent/executor/timer_set_spec.rb") - (delete-file "spec/concurrent/scheduled_task_spec.rb") - #t))))) - (native-inputs - (list ruby-rake-compiler ruby-rspec)) - (synopsis "Concurrency tools for Ruby") - (description - "This library provides modern concurrency tools including agents, -futures, promises, thread pools, actors, supervisors, and more. It is -inspired by Erlang, Clojure, Go, JavaScript, actors and classic concurrency -patterns.") - (home-page "http://www.concurrent-ruby.com") - (license license:expat))) - (define-public ruby-concurrent-ruby (package (name "ruby-concurrent-ruby") @@ -10512,6 +10441,12 @@ (define-public ruby-concurrent-ruby (home-page "https://github.com/ruby-concurrency/concurrent-ruby") (license license:expat))) +;;; The 'gem' is called 'concurrent-ruby'; reversing its name was confusing +;;; and failed to be picked by the gem importer (which led to this newer +;;; package). +(define-public ruby-concurrent + (deprecated-package "ruby-concurrent" ruby-concurrent-ruby)) + (define-public ruby-pkg-config (package (name "ruby-pkg-config") -- cgit v1.2.3 From 8911d65ae7ac26ea65246aea29882cf443f71dff Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 15:19:34 -0500 Subject: gnu: Add ruby-concurrent-ruby-ext. * gnu/packages/ruby.scm (ruby-concurrent-ruby-ext): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ffb87cd0c5..ff02238af5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10447,6 +10447,27 @@ (define-public ruby-concurrent-ruby (define-public ruby-concurrent (deprecated-package "ruby-concurrent" ruby-concurrent-ruby)) +(define-public ruby-concurrent-ruby-ext + (package + (inherit ruby-concurrent-ruby) + (name "ruby-concurrent-ruby-ext") + (arguments + (list + #:tests? #f ;tested as part of concurrent-ruby-edge + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-unwanted-gemspecs + (lambda _ + (for-each delete-file + '("concurrent-ruby.gemspec" + "concurrent-ruby-edge.gemspec"))))))) + (native-inputs (list ruby-rake-compiler)) + (propagated-inputs (list ruby-concurrent-ruby)) + (synopsis "C extensions for concurrent-ruby") + (description "This package provides C extensions to optimize the +concurrent-ruby gem when running under the Matz's Ruby Interpreter (MRI, also +known as CRuby)."))) + (define-public ruby-pkg-config (package (name "ruby-pkg-config") -- cgit v1.2.3 From 193a459d288f4a939b4b6173c7a773bc6966cfef Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 01:45:41 -0500 Subject: gnu: Add ruby-concurrent-ruby-edge. * gnu/packages/ruby.scm (ruby-concurrent-ruby-edge): New variable. --- gnu/packages/ruby.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ff02238af5..c3edbfa988 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10468,6 +10468,45 @@ (define-public ruby-concurrent-ruby-ext concurrent-ruby gem when running under the Matz's Ruby Interpreter (MRI, also known as CRuby)."))) +(define-public ruby-concurrent-ruby-edge + (package + (inherit ruby-concurrent-ruby) + (name "ruby-concurrent-ruby-edge") + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-unwanted-gemspecs + (lambda _ + (for-each delete-file + '("concurrent-ruby.gemspec" + "concurrent-ruby-ext.gemspec")))) + ;; The tests rely on the Gem being installed, so move the check + ;; phase after the install phase. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")) + (when tests? + (invoke "rake" "ci"))))))) + (native-inputs + (list ruby-rake-compiler + ruby-rake-compiler-dock + ruby-rspec + ruby-timecop + ruby-yard)) + (propagated-inputs + (list ruby-concurrent-ruby ruby-concurrent-ruby-ext)) + (synopsis "Edge features and additions to the @code{concurrent-ruby} gem") + (description "The @code{concurrent-ruby-edge} gem includes +@code{concurrent-ruby} features that are under active development and may +change frequently. They are expected not to keep backward +compatibility (there may also lack tests and documentation), although semantic +versions are obeyed though. Features developed in @code{concurrent-ruby-edge} +are expected to move to @code{concurrent-ruby} when final."))) + (define-public ruby-pkg-config (package (name "ruby-pkg-config") -- cgit v1.2.3 From 7405e0c83f8f4eee5c4c40e809a40f2e4407a38c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 02:07:40 -0500 Subject: gnu: Add ruby-sorbet-runtime. * gnu/packages/ruby.scm (ruby-sorbet-runtime): New variable. (sorbet-version): New variable. (sorbet-monorepo): New variable. (make-sorbet-gem-source): New procedure. --- gnu/packages/ruby.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c3edbfa988..ead64b98ea 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -89,6 +89,7 @@ (define-module (gnu packages ruby) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix gexp) + #:use-module (guix modules) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages xml) @@ -12337,6 +12338,56 @@ (define-public ruby-syntax-tree (home-page "https://github.com/ruby-syntax-tree/syntax_tree") (license license:expat))) +(define sorbet-version "0.5.10610.20230106174520-1fa668010") + +(define sorbet-monorepo + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sorbet/sorbet") + (commit sorbet-version))) + (file-name (string-append "sorbet-" sorbet-version "-checkout")) + (sha256 + (base32 + "0f21dl06alxwn6xgdxyrkd58plmmsv04z2bcls9ld4cfzsrs5537")))) + +(define (make-sorbet-gem-source gem) + "Return the source of GEM, a sub-directory." + (computed-file + (string-append "ruby-sorbet-" gem "-" sorbet-version "-checkout") + (with-imported-modules (source-module-closure '((guix build utils))) + #~(begin + (use-modules (guix build utils)) + (copy-recursively (string-append #$sorbet-monorepo + "/gems/sorbet-" #$gem) + #$output))))) + +(define-public ruby-sorbet-runtime + (package + (name "ruby-sorbet-runtime") + (version sorbet-version) + (source (make-sorbet-gem-source "runtime")) + (build-system ruby-build-system) + ;; 25 out of 841 tests currently fail, seemingly due to invalid + ;; assumptions about file names in the build environment (see: + ;; https://github.com/sorbet/sorbet/issues/6650). + (arguments (list #:tests? #f)) + (native-inputs + (list ruby-minitest + ruby-mocha + ruby-rubocop + ruby-rubocop-performance + ruby-concurrent-ruby + ruby-pry + ruby-pry-byebug + ruby-parser + ruby-subprocess)) + (synopsis "Runtime type checking component for Sorbet") + (description "Sorbet's runtime type checking component. Sorbet is a +powerful type checker for Ruby.") + (home-page "https://sorbet.org") + (license license:asl2.0))) + (define-public ruby-mustache (package (name "ruby-mustache") -- cgit v1.2.3 From ccddc7c19fe83206ff7916902349d335bbdc744f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 12:31:59 -0500 Subject: gnu: Add ruby-rdiscount. * gnu/packages/ruby.scm (ruby-rdiscount): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ead64b98ea..5b3e8fa4fe 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -74,6 +74,7 @@ (define-module (gnu packages ruby) #:use-module (gnu packages ncurses) #:use-module (gnu packages networking) #:use-module (gnu packages node) + #:use-module (gnu packages perl) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) @@ -14302,6 +14303,28 @@ (define-public ruby-rdf-vocab Resource Description Framework} vocabularies.") (license license:unlicense))) +(define-public ruby-rdiscount + (package + (name "ruby-rdiscount") + (version "2.2.7") + (source (origin + (method git-fetch) ;for the full test suite + (uri (git-reference + (url "https://github.com/davidfstr/rdiscount") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1lpfxq3gv0dgmnki9jgfnc8n9k4x9vyq9miqdxv6g4kp90qyfifc")))) + (build-system ruby-build-system) + (native-inputs (list perl)) + (synopsis "Discount Markdown Processor for Ruby") + (description "Discount is an implementation of John Gruber's Markdown +markup language in C. It implements all of the language described in the +markdown syntax document and passes the Markdown 1.0 test suite.") + (home-page "https://dafoster.net/projects/rdiscount/") + (license license:bsd-3))) + (define-public ruby-bibtex-ruby (package (name "ruby-bibtex-ruby") -- cgit v1.2.3 From 5c35c65bde03da32a6203530b9456c50aa19d02c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 21:10:46 -0500 Subject: gnu: Add ruby-ruby2-keywords. * gnu/packages/ruby.scm (ruby-ruby2-keywords): New variable. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5b3e8fa4fe..210a456432 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10644,6 +10644,41 @@ (define-public ruby-code-statistics (home-page "https://github.com/danmayer/code_statistics") (license license:expat))) +(define-public ruby-ruby2-keywords + (package + (name "ruby-ruby2-keywords") + (version "0.0.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruby/ruby2_keywords") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jhqb152zfr2yrxj6j8rzakkwdkg5viggwnnqrrfxwwy63msdi97")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-extraneous-rake-files + (lambda _ + (for-each delete-file '("rakelib/changelogs.rake" + "rakelib/epoch.rake" + "rakelib/version.rake")))) + (add-after 'extract-gemspec 'adjust-files + (lambda _ + (substitute* "ruby2_keywords.gemspec" + ;; This file is not present in the git checkout. + ((".*\"ChangeLog\",.*") ""))))))) + (synopsis "Shim library for Module#ruby2_keywords") + (description "Provides empty @code{Module#ruby2_keywords} method, for the +forward source-level compatibility against @command{ruby2.7} and +@command{ruby3}.") + (home-page "https://github.com/ruby/ruby2_keywords") + (license license:bsd-2))) + (define-public ruby-rubypants (package (name "ruby-rubypants") -- cgit v1.2.3 From 0eac35350cb91621e2b3555cb9d90916892e4bc0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 21:21:34 -0500 Subject: gnu: Add ruby-faraday-net-http. * gnu/packages/ruby.scm (ruby-faraday-net-http): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 210a456432..ebe88a46cd 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12160,6 +12160,27 @@ (define-public ruby-jekyll-paginate-v2 logic in Jekyll. It calculates and generates the pagination pages.") (license license:expat))) +(define-public ruby-faraday-net-http + (package + (name "ruby-faraday-net-http") + (version "3.0.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "faraday-net_http" version)) + (sha256 + (base32 + "13byv3mp1gsjyv8k0ih4612y6vw5kqva6i03wcg4w2fqpsd950k8")))) + (build-system ruby-build-system) + ;; Do not run the test suite here as it would introduce a dependency cycle + ;; with ruby-faraday, which uses it as part of its test suite. + (arguments (list #:tests? #f)) + (synopsis "Faraday adapter for Net::HTTP") + (description "This gem is a Faraday adapter for the @code{Net::HTTP} +library. Faraday is an HTTP client library that provides a common interface +over many adapters.") + (home-page "https://github.com/lostisland/faraday-net_http") + (license license:expat))) + (define-public ruby-faraday (package (name "ruby-faraday") -- cgit v1.2.3 From 9bbe9c406bfaf1d0f945569ffeaf3a8dac193f2a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 21:23:42 -0500 Subject: gnu: ruby-faraday: Update to 2.7.4 and enable test suite. * gnu/packages/ruby.scm (ruby-faraday): Update to 2.7.4. [source]: Fetch from git. [arguments]: Delete #:tests? argument. Add #:test-target argument. [native-inputs]: New field. [propagated-inputs]: Delete ruby-multipart-post. Add ruby-ruby2-keywords. --- gnu/packages/ruby.scm | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ebe88a46cd..9f9a5ea60c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12184,23 +12184,30 @@ (define-public ruby-faraday-net-http (define-public ruby-faraday (package (name "ruby-faraday") - (version "0.15.4") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "faraday" version)) - (sha256 - (base32 - "0s72m05jvzc1pd6cw1i289chas399q0a14xrwg4rvkdwy7bgzrh0")))) + (version "2.7.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lostisland/faraday") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ya6jqa7ryr4i62mmzjjxzd8i8y0pyw0cbhifd758rs6lvkzmxa3")))) (build-system ruby-build-system) - (arguments - '(#:tests? #f)) - (propagated-inputs - (list ruby-multipart-post)) + (arguments (list #:test-target "spec")) + (native-inputs + (list ruby-coveralls + ruby-faraday-net-http + ruby-pry + ruby-rack + ruby-rspec + ruby-simplecov + ruby-webmock)) + (propagated-inputs (list ruby-ruby2-keywords)) (synopsis "Ruby HTTP/REST API client library") - (description - "Faraday is a HTTP/REST API client library which provides a common -interface over different adapters.") + (description "Faraday is a HTTP/REST API client library which provides a +common interface over different adapters.") (home-page "https://github.com/lostisland/faraday") (license license:expat))) -- cgit v1.2.3 From 6dd38a75271fe920e74ab0b0d9acda5f797bb3a4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 22:06:09 -0500 Subject: gnu: ruby-octokit: Update to 6.1.0. * gnu/packages/ruby.scm (ruby-octokit): Update to 6.1.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9f9a5ea60c..ba54621aec 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7905,14 +7905,14 @@ (define-public ruby-sawyer (define-public ruby-octokit (package (name "ruby-octokit") - (version "4.18.0") + (version "6.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "octokit" version)) (sha256 (base32 - "0zvfr9njmj5svi39fcsi2b0g7pcxb0vamw9dlyas8bg814jlzhi6")))) + "03i37mdhwlm5y6piqaby0izrhda9m5ggbrmm62ww3ln2l86h78l2")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ;no test suite in the gem release (propagated-inputs -- cgit v1.2.3 From 28ffbbfe5820f1772c411b6f46946c499cfacbd0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 22:14:43 -0500 Subject: gnu: ruby-faraday: Propagate ruby-faraday-net-http. * gnu/packages/ruby.scm (ruby-faraday-net-http) [propagated-inputs]: Add ruby-faraday-net-http. [native-inputs]: Delete ruby-faraday-net-http. --- gnu/packages/ruby.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ba54621aec..9ef57471f9 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12198,13 +12198,14 @@ (define-public ruby-faraday (arguments (list #:test-target "spec")) (native-inputs (list ruby-coveralls - ruby-faraday-net-http ruby-pry ruby-rack ruby-rspec ruby-simplecov ruby-webmock)) - (propagated-inputs (list ruby-ruby2-keywords)) + ;; Propagate faraday-net-http as this is the default adapter used, and + ;; many Ruby projects assumes it is available. + (propagated-inputs (list ruby-ruby2-keywords ruby-faraday-net-http)) (synopsis "Ruby HTTP/REST API client library") (description "Faraday is a HTTP/REST API client library which provides a common interface over different adapters.") -- cgit v1.2.3 From a63d75b1048e4ba63f8f7bc29c08087aa581d00c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 22:17:51 -0500 Subject: gnu: ruby-sawyer: Update to 0.9.2. * gnu/packages/ruby.scm (ruby-sawyer): Update to 0.9.2. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9ef57471f9..3286ca1731 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7885,14 +7885,14 @@ (define-public ruby-ffi-rzmq (define-public ruby-sawyer (package (name "ruby-sawyer") - (version "0.8.2") + (version "0.9.2") (source (origin (method url-fetch) (uri (rubygems-uri "sawyer" version)) (sha256 (base32 - "0yrdchs3psh583rjapkv33mljdivggqn99wkydkjdckcjn43j3cz")))) + "1jks1qjbmqm8f9kvwa81vqj39avaj9wdnzc531xm29a55bb74fps")))) (build-system ruby-build-system) (propagated-inputs (list ruby-addressable ruby-faraday)) -- cgit v1.2.3 From 2eea8aa751dec0e7ed6055f7107e54d879083ad4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 22:32:35 -0500 Subject: gnu: ruby-pry-byebug: Avoid depending on ruby-chandler. * gnu/packages/ruby.scm (ruby-pry-byebug) [phases]: Add sanitize-dependencies phase. [native-inputs]: Remove ruby-chandler, an unmaintained library. --- gnu/packages/ruby.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3286ca1731..83cae539c8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7963,14 +7963,15 @@ (define-public ruby-pry-byebug (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'sanitize-dependencies + (lambda _ + (substitute* "Rakefile" + ((".*chandler/tasks.*") "")))) (add-before 'check 'set-home (lambda _ - (setenv "HOME" (getcwd)) - #t))))) - (native-inputs - (list ruby-chandler ruby-rubocop ruby-simplecov)) - (propagated-inputs - (list ruby-byebug ruby-pry)) + (setenv "HOME" (getcwd))))))) + (native-inputs (list ruby-rubocop ruby-simplecov)) + (propagated-inputs (list ruby-byebug ruby-pry)) (synopsis "Step-by-step debugging and stack navigation in Pry") (description "This package adds step-by-step debugging and stack navigation capabilities to @code{pry}, using @code{byebug}.") -- cgit v1.2.3 From dbc904f242b231d175977c1adc5c38653e7c3755 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 22:33:39 -0500 Subject: gnu: ruby-pry-byebug: Update to 3.10.1. * gnu/packages/ruby.scm (ruby-pry-byebug): Update to 3.10.1. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 83cae539c8..4d27a2369d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7949,7 +7949,7 @@ (define-public ruby-chandler (define-public ruby-pry-byebug (package (name "ruby-pry-byebug") - (version "3.9.0") + (version "3.10.1") (source (origin (method git-fetch) @@ -7959,7 +7959,7 @@ (define-public ruby-pry-byebug (file-name (git-file-name name version)) (sha256 (base32 - "1kchrwccai92068p50zyd6mh524ywqnm0jw5g3lks7iwmf0xkmgc")))) + "0z8rhvmr9qmlbk8c8h6jbig5qd5xbdg9qihvx3g0cv1whqzbfikq")))) (build-system ruby-build-system) (arguments `(#:phases (modify-phases %standard-phases -- cgit v1.2.3 From 9fcc85f1a28d084e0c3c0c3858a15e0a5974f3c3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 22:42:24 -0500 Subject: gnu: ruby-byebug: Do not depend on ruby-chandler. * gnu/packages/ruby.scm (ruby-byebug) [phases] {sanitize-dependencies}: New phase. [native-inputs]: Delete ruby-chandler. --- gnu/packages/ruby.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4d27a2369d..4a7db0d7f2 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6950,6 +6950,10 @@ (define-public ruby-byebug (arguments `(#:phases (modify-phases %standard-phases + (add-after 'unpack 'sanitize-dependencies + (lambda _ + (substitute* "Rakefile" + ((".*chandler/tasks.*") "")))) (add-after 'unpack 'skip-tmp-path-sensitive-test (lambda _ (substitute* "test/commands/where_test.rb" @@ -6969,7 +6973,6 @@ (define-public ruby-byebug (setenv "HOME" (getcwd))))))) (native-inputs (list bundler - ruby-chandler ;; Using minitest 5.17 would cause 5 new bug failures. This is ;; probably related to ;; https://github.com/deivid-rodriguez/byebug/pull/837. Use -- cgit v1.2.3 From 1cae7b8ede725eeb128ee677757d153899d84bad Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 22:43:52 -0500 Subject: gnu: Remove ruby-chandler. * gnu/packages/ruby.scm (ruby-chandler): Delete variable. --- gnu/packages/ruby.scm | 23 ----------------------- 1 file changed, 23 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4a7db0d7f2..0177e073c6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7926,29 +7926,6 @@ (define-public ruby-octokit (home-page "https://github.com/octokit/octokit.rb") (license license:expat))) -(define-public ruby-chandler - (package - (name "ruby-chandler") - (version "0.9.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "chandler" version)) - (sha256 - (base32 - "1n8a4mr2jkcz5vaaps45g2rxa2pzy1wb7cylgw85xmmyyp14lnrr")))) - (build-system ruby-build-system) - (native-inputs - (list ruby-rubocop)) - (propagated-inputs - (list ruby-netrc ruby-octokit)) - (synopsis "Sync CHANGELOG entries to GitHub's release notes") - (description "Chandler syncs a project's CHANGELOG file entries to -GitHub's release notes to remove the need of manually entering release -notes.") - (home-page "https://github.com/mattbrictson/chandler") - (license license:expat))) - (define-public ruby-pry-byebug (package (name "ruby-pry-byebug") -- cgit v1.2.3 From db91976e716cd1b077594ea53f32d298f498d79d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 23:16:24 -0500 Subject: gnu: Add ruby-multipart-parser. * gnu/packages/ruby.scm (ruby-multipart-parser): New variable. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0177e073c6..0f3f6be06c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5271,6 +5271,41 @@ (define-public ruby-multi-xml (home-page "https://github.com/sferik/multi_xml") (license license:expat))) +(define-public ruby-multipart-parser + (package + (name "ruby-multipart-parser") + (version "0.1.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "multipart-parser" version)) + (sha256 + (base32 + "0xb4p475yrfm883h9kn80a021myn17dvs50wpa1djzcmlq7p0882")))) + (build-system ruby-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'skip-failing-test + ;; One test fails for unknown reasons (see: + ;; https://github.com/danabr/multipart-parser/issues/7). + (lambda _ + (substitute* "test/multipart_parser/reader_test.rb" + (("def test_long" all) + (string-append all "\n return true")))))))) + (synopsis "Parser for multipart MIME messages") + (description "@code{multipart-parser} is a simple parser for multipart +MIME messages, written in Ruby, based on felixge/node-formidable's parser. It +has the following characteristics: +@itemize +@item Pure Ruby +@item Event-driven API +@item Only supports one level of multipart parsing +@item Does not perform I/O +@item Does not depend on any other library. +@end itemize") + (home-page "https://github.com/danabr/multipart-parser") + (license license:expat))) + (define-public ruby-multipart-post (package (name "ruby-multipart-post") -- cgit v1.2.3 From 03be7a36120c1652219aa740ffb53b6c1795c00e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 23:21:53 -0500 Subject: gnu: Add ruby-faraday-multipart. * gnu/packages/ruby.scm (ruby-faraday-multipart): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0f3f6be06c..748ff2a15d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13828,6 +13828,29 @@ (define-public ruby-faraday-middleware Faraday-based API wrappers.") (license license:expat))) +(define-public ruby-faraday-multipart + (package + (name "ruby-faraday-multipart") + (version "1.0.4") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/lostisland/faraday-multipart") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ywxhff40a688n50lxrn4d8y096l8sbrwp1jfz4zd3kdiiygclka")))) + (build-system ruby-build-system) + (arguments (list #:test-target "spec")) + (native-inputs (list ruby-faraday ruby-multipart-parser ruby-rspec)) + (propagated-inputs (list ruby-multipart-post)) + (synopsis "Multipart-post requests extension for Faraday") + (description "This Ruby gem extends Faraday to perform multipart-post +requests.") + (home-page "https://github.com/lostisland/faraday-multipart") + (license license:expat))) + (define-public ruby-bandwidth-iris (package (name "ruby-bandwidth-iris") -- cgit v1.2.3 From 45c9d6937dbe6be3994e12385c28a442a52e1f49 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 8 Jan 2023 23:30:17 -0500 Subject: gnu: ruby-maxitest: Update to 4.4.1. * gnu/packages/ruby.scm (ruby-maxitest): Update to 4.4.1. [arguments]: Delete trailing #t. [native-inputs]: Delete labels. --- gnu/packages/ruby.scm | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 748ff2a15d..ceb44d2ebc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4416,7 +4416,7 @@ (define-public ruby-rerun (define-public ruby-maxitest (package (name "ruby-maxitest") - (version "3.6.0") + (version "4.4.1") (home-page "https://github.com/grosser/maxitest") (source (origin ;; Pull from git because the gem does not contain tests. @@ -4427,7 +4427,7 @@ (define-public ruby-maxitest (file-name (git-file-name name version)) (sha256 (base32 - "07b3j0bv3dx5j42jlvpvl07aaxplyi6wq688y3jl8y528ww2hjz8")))) + "0l646lgrgsfgg9qh05b8a3jd43kgrmr6xzbdvyspmdlhchk1qszg")))) (build-system ruby-build-system) (arguments '(#:test-target "default" @@ -4436,27 +4436,24 @@ (define-public ruby-maxitest (lambda _ (substitute* "maxitest.gemspec" (("`git ls-files lib/ bin/ MIT-LICENSE Readme.md`") - "`find lib/ bin/ MIT-LICENSE Readme.md -type f | sort`")) - #t)) + "`find lib/ bin/ MIT-LICENSE Readme.md -type f | sort`")))) (add-before 'check 'remove-version-constraints (lambda _ ;; Don't use specific versions of dependencies, instead ;; take whatever is available in Guix. - (delete-file "Gemfile.lock") - #t)) + (delete-file "Gemfile.lock"))) (add-before 'check 'add-mtest-on-PATH (lambda _ ;; Tests use 'mtest' which is not automatically added on ;; PATH. (setenv "PATH" (string-append (getcwd) "/bin:" - (getenv "PATH"))) - #t))))) + (getenv "PATH")))))))) (native-inputs - `(("ps" ,procps) - ("ruby-bump" ,ruby-bump) - ("ruby-byebug" ,ruby-byebug) - ("ruby-rspec" ,ruby-rspec) - ("ruby-wwtd" ,ruby-wwtd))) + (list procps + ruby-bump + ruby-byebug + ruby-rspec + ruby-wwtd)) (propagated-inputs (list ruby-minitest)) (synopsis "Minitest with extra features") -- cgit v1.2.3 From 641c7e251c854a00ba7a4030b713f0013a9505d7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 00:35:17 -0500 Subject: gnu: Add ruby-fileutils. * gnu/packages/ruby.scm (ruby-fileutils): New variable. --- gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ceb44d2ebc..02582094ee 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9217,6 +9217,42 @@ (define-public ruby-mini-mime (home-page "https://github.com/discourse/mini_mime") (license license:expat))) +(define-public ruby-fileutils + (package + (name "ruby-fileutils") + (version "1.7.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/fileutils") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0m68gaqclnc2wflilmrnr19kky2gr6fjf6k3yq02sf9scs281kid")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'disable-problematic-tests + (lambda _ + (substitute* "test/fileutils/test_fileutils.rb" + ;; The 'test_chown' tests depends on /etc/groups, which + ;; doesn't exist in the build environment. + (("def test_chown.*" all) + (string-append all " return true\n")) + ;; The 'test_cp_r_dev' expects a RuntimeError to be raised + ;; when copying a char device to a directory, but this is not + ;; triggered in the build environment, for reasons unknown. + (("def test_cp_r_dev.*" all) + (string-append all " return true\n")))))))) + (synopsis "Ruby utility libray to manipulate files") + (description "The FileUtils Ruby library includes Several file utility +methods for copying, moving, removing, etc.") + (home-page "https://github.com/ruby/fileutils") + (license license:bsd-2))) + (define-public ruby-fivemat (package (name "ruby-fivemat") -- cgit v1.2.3 From 92970e7c345e1a6c2a4bf9a805d9fb8c8fa3e9c9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 00:56:17 -0500 Subject: gnu: ruby-faraday-middleware: Add a deprecation comment and re-indent. * gnu/packages/ruby.scm (ruby-faraday-middleware): Add comment. Re-indent package. --- gnu/packages/ruby.scm | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 02582094ee..cb46849e50 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13839,22 +13839,20 @@ (define-public ruby-nori Nokogiri implementations.") (license license:expat))) +;; This package is deprecated per upstream and should be phased out. (define-public ruby-faraday-middleware (package (name "ruby-faraday-middleware") (version "1.2.0") (source - (origin - (method url-fetch) - (uri (rubygems-uri "faraday_middleware" version)) - (sha256 - (base32 "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy")))) + (origin + (method url-fetch) + (uri (rubygems-uri "faraday_middleware" version)) + (sha256 + (base32 "1bw8mfh4yin2xk7138rg3fhb2p5g2dlmdma88k82psah9mbmvlfy")))) (build-system ruby-build-system) - (arguments - ;; No rakefile - `(#:tests? #f)) - (propagated-inputs - (list ruby-faraday)) + (arguments `(#:tests? #f)) + (propagated-inputs (list ruby-faraday)) (home-page "https://github.com/lostisland/faraday_middleware") (synopsis "Various middleware for Faraday") (description "Faraday_Middleware is a collection of middleware for the -- cgit v1.2.3 From 3a0c066096497018e861fc2ef252320a58afd2e3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 00:57:05 -0500 Subject: gnu: ruby-bandwidth-iris: Fix indentation. * gnu/packages/ruby.scm (ruby-bandwidth-iris): Fix indentation. --- gnu/packages/ruby.scm | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cb46849e50..e2b08dd1ee 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13887,24 +13887,24 @@ (define-public ruby-bandwidth-iris (name "ruby-bandwidth-iris") (version "5.1.0") (source - (origin - (method url-fetch) - (uri (rubygems-uri "ruby-bandwidth-iris" version)) - (sha256 - (base32 "1hmrxs0dif6fw5npyzcshk4nq9qr2kbmnx7mdjr5v1nhzlfr0678")))) + (origin + (method url-fetch) + (uri (rubygems-uri "ruby-bandwidth-iris" version)) + (sha256 + (base32 "1hmrxs0dif6fw5npyzcshk4nq9qr2kbmnx7mdjr5v1nhzlfr0678")))) (build-system ruby-build-system) (arguments ;; XXX: Tests don't require helper for some reason, so all fail. `(#:tests? #f)) (native-inputs (list ruby-rspec - ruby-yard)) + ruby-yard)) (propagated-inputs (list ruby-activesupport - ruby-builder - ruby-faraday - ruby-faraday-middleware - ruby-nori)) + ruby-builder + ruby-faraday + ruby-faraday-middleware + ruby-nori)) (home-page "https://github.com/Bandwidth/ruby-bandwidth-iris") (synopsis "Gem for integrating to Bandwidth's Iris API") (description "Bandwidth IRIS is a Ruby SDK for Bandwidth Phone Number -- cgit v1.2.3 From b6942012e2f0f69c2dce9fa75f7b3fcc9120beed Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 15:17:29 -0400 Subject: gnu: ruby-bandwidth-iris: Update to 7.0.0. * gnu/packages/ruby.scm (ruby-bandwidth-iris): Update to 7.0.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e2b08dd1ee..343eab221a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13885,13 +13885,13 @@ (define-public ruby-faraday-multipart (define-public ruby-bandwidth-iris (package (name "ruby-bandwidth-iris") - (version "5.1.0") + (version "7.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "ruby-bandwidth-iris" version)) (sha256 - (base32 "1hmrxs0dif6fw5npyzcshk4nq9qr2kbmnx7mdjr5v1nhzlfr0678")))) + (base32 "131c4jhyvnrwbhizkks17fi9g85cwsq5f1p8zi408zyf63n7230d")))) (build-system ruby-build-system) (arguments ;; XXX: Tests don't require helper for some reason, so all fail. -- cgit v1.2.3 From 73d8e27822b1aa70c6d6edda4d18f78866ee7fc9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 09:44:11 -0500 Subject: gnu: ruby-octokit: Enable tests. * gnu/packages/ruby.scm (ruby-octokit) [source]: Fetch from git. [arguments]: Delete field. [native-inputs]: New field. --- gnu/packages/ruby.scm | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 343eab221a..8230324b6c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7941,17 +7941,29 @@ (define-public ruby-octokit (package (name "ruby-octokit") (version "6.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "octokit" version)) - (sha256 - (base32 - "03i37mdhwlm5y6piqaby0izrhda9m5ggbrmm62ww3ln2l86h78l2")))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/octokit/octokit.rb") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01njrd17bz28mlsa8hi9gad7s6d1d0vpyn0g66p3d42zgplr9qkq")))) (build-system ruby-build-system) - (arguments '(#:tests? #f)) ;no test suite in the gem release - (propagated-inputs - (list ruby-faraday ruby-sawyer)) + (native-inputs + (list ruby-faraday-multipart + ruby-jwt + ruby-mime-types + ruby-multi-json + ruby-netrc + ruby-pry-byebug + ruby-rbnacl + ruby-rspec + ruby-simplecov + ruby-webmock + ruby-vcr-expat)) + (propagated-inputs (list ruby-faraday ruby-sawyer)) (synopsis "Ruby toolkit for the GitHub API") (description "Octokit wraps the GitHub API in a flat API client that follows Ruby conventions and requires little knowledge of REST.") -- cgit v1.2.3 From dcb46eebeead02bd5c176ccd257565d4c767fe53 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 10:30:34 -0500 Subject: gnu: Add ruby-mapping. * gnu/packages/ruby.scm (ruby-mapping): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8230324b6c..adf96dffe3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3940,6 +3940,30 @@ (define-public ruby-test-unit (home-page "https://test-unit.github.io/") (license (list license:psfl license:ruby)))) +(define-public ruby-mapping + (package + (name "ruby-mapping") + (version "1.1.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ioquatix/mapping") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0yhmqp8mprjqf9m7wzc4hhi50qbfax86r89w852csns0ijaffjjs")))) + (build-system ruby-build-system) + (arguments (list #:test-target "spec")) + (native-inputs (list ruby-rspec)) + (synopsis "Map model objects based on their class to a given output model") + (description "The @code{mapping} gem maps model objects based on their +class to a given output model. It is useful for versioning external +interfaces (e.g. JSON APIs) or processing structured data from one format to +another.") + (home-page "https://github.com/ioquatix/mapping") + (license license:expat))) + (define-public ruby-markaby (package (name "ruby-markaby") -- cgit v1.2.3 From 3049564bc3107648841d69ea156c8f27e000ae77 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 11:01:53 -0500 Subject: gnu: Add ruby-fiber-local. * gnu/packages/ruby.scm (ruby-fiber-local): New variable. --- gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index adf96dffe3..6d67d47344 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3718,6 +3718,43 @@ (define-public ruby-fast-gettext ;; Some parts are covered by the Ruby license, see file headers. (license (list license:expat license:ruby)))) +(define-public ruby-fiber-local + (package + (name "ruby-fiber-local") + (version "1.0.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/socketry/fiber-local") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0pp5b81h0lysdnphgprkixh1az0fkrgir5sbcp0mm8arxf3f8m90")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'sanitize-dependencies + (lambda _ + ;; This pulls in extraneous maintenance dependencies. + (delete-file "gems.rb") + ;; Depending on ruby-covered would introduce a dependency + ;; cycle with it. + (substitute* '("fiber-local.gemspec" "spec/spec_helper.rb") + ((".*covered.*") "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs (list ruby-rspec)) + (synopsis "Ruby module to simplify fiber-local state management") + (description "This package provides a class-level mixin to make managing +fiber-local state easy. It provides easy access to a fiber-local state from a +fiber, and defaults to a shared thread-local state.") + (home-page "https://github.com/socketry/fiber-local") + (license license:expat))) + (define-public ruby-net-http-persistent (package (name "ruby-net-http-persistent") -- cgit v1.2.3 From 4319f564a7163c0cb14a6c3dde1e58049387ffc4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 11:06:34 -0500 Subject: gnu: Add ruby-console. * gnu/packages/ruby.scm (ruby-console): New variable. --- gnu/packages/ruby.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6d67d47344..d091776159 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2173,6 +2173,34 @@ (define-public ruby-ci-reporter (home-page "https://github.com/nicksieger/ci_reporter") (license license:expat))) +(define-public ruby-console + (package + (name "ruby-console") + (version "1.16.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "console" version)) + (sha256 + (base32 + "0y1bv3kd1l9p0k5n3anvvjxdrcq113pyngz2g29i9mvdgbbx7kq2")))) + (build-system ruby-build-system) + ;; XXX: Disable test suite to avoid dependency cycles with ruby-samovar. + (arguments (list #:tests? #f)) + (propagated-inputs (list ruby-fiber-local)) + (synopsis "Console logging library for Ruby") + (description "This gem provides beautiful console logging for Ruby +applications. It implements fast, buffered log output and has the following +features: +@itemize +@item Thread safe global logger with per-fiber context +@item Carry along context with nested loggers +@item Enable/disable log levels per class +@item Detailed logging of exceptions +@item Beautiful logging to the terminal or structured logging using JSON. +@end itemize") + (home-page "https://github.com/socketry/console") + (license license:expat))) + (define-public ruby-contracts (package (name "ruby-contracts") -- cgit v1.2.3 From 97096c268ce3d485306a3e21d6358429a37508b8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 14:37:25 -0400 Subject: gnu: Add ruby-ruby-memcheck. * gnu/packages/ruby.scm (ruby-ruby-memcheck): New variable. --- gnu/packages/ruby.scm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d091776159..a2ca791068 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -82,6 +82,7 @@ (define-module (gnu packages ruby) #:use-module (gnu packages rsync) #:use-module (gnu packages sqlite) #:use-module (gnu packages tls) + #:use-module (gnu packages valgrind) #:use-module (gnu packages version-control) #:use-module (gnu packages web-browsers) #:use-module (gnu packages serialization) @@ -8268,6 +8269,46 @@ (define-public ruby-ruby-prof (home-page "https://github.com/ruby-prof/ruby-prof") (license license:bsd-2))) +(define-public ruby-ruby-memcheck + (package + (name "ruby-ruby-memcheck") + (version "1.2.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/Shopify/ruby_memcheck") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1sx8nhx7w4z5s5vj6kq6caqsfznswqzwca372j82cd80hf9iznra")))) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-valgrind-path + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "lib/ruby_memcheck/configuration.rb" + (("DEFAULT_VALGRIND = \"valgrind\"") + (format #f "DEFAULT_VALGRIND = ~s" + (search-input-file inputs "bin/valgrind")))))) + (add-before 'replace-git-ls-files 'standardize-git-ls-files + (lambda _ + (substitute* "ruby_memcheck.gemspec" + (("%x\\(git ls-files -z)") + "`git ls-files -z`"))))))) + (native-inputs (list ruby-rake-compiler ruby-rspec)) + (inputs (list valgrind/interactive)) + (propagated-inputs (list ruby-nokogiri)) + (synopsis "Valgrind memcheck tool for Ruby") + (description "The @code{ruby_memcheck} gem provides a sane way to use +Valgrind's memcheck on your native extension gem, that filters out all the +false positives caused by Ruby not freeing all of the memory it allocates +during shutdown.") + (home-page "https://github.com/Shopify/ruby_memcheck") + (license license:expat))) + (define-public ruby-memory-profiler (package (name "ruby-memory-profiler") -- cgit v1.2.3 From c0a5b181a76fada2fbfcc2078d20b6a8198cf84a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 11:15:59 -0500 Subject: gnu: Add ruby-msgpack. * gnu/packages/ruby.scm (ruby-msgpack): New variable. --- gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a2ca791068..a266dd27f3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4153,6 +4153,33 @@ (define-public ruby-mkmf-lite (home-page "https://github.com/djberg96/mkmf-lite") (license license:asl2.0))) +(define-public ruby-msgpack + (package + (name "ruby-msgpack") + (version "1.6.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/msgpack/msgpack-ruby") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "08wi853nv02clrdwx8s6dg9lmcyzq5fk84l4rb94pglps76rlvz7")))) + (build-system ruby-build-system) + (arguments (list #:test-target "spec")) + (native-inputs + (list ruby-rake-compiler + ruby-ruby-memcheck + ruby-rspec + ruby-yard)) + (synopsis "Efficient object serialization library for Ruby") + (description "MessagePack is a binary-based efficient object serialization +library. It enables to exchange structured objects between many languages +like JSON. Unlike JSON, it is very fast and small.") + (home-page "https://msgpack.org/") + (license license:asl2.0))) + (define-public ruby-mspec (package (name "ruby-mspec") -- cgit v1.2.3 From 159c9ee0efd5732621fd8596f5b413d6ca54578c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 11:24:19 -0500 Subject: gnu: Add ruby-covered. * gnu/packages/ruby.scm (ruby-covered): New variable. --- gnu/packages/ruby.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a266dd27f3..0d89a47ec0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8695,6 +8695,48 @@ (define ruby-cucumber-without-tests (native-inputs '()))) +(define-public ruby-covered + (package + (name "ruby-covered") + (version "0.20.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "covered" version)) + (sha256 + (base32 + "04fpj493jn23ah5fq93956a5h2xj3z0hrckvc26fxcfsg5pbwypa")))) + (build-system ruby-build-system) + (arguments + ;; XXX: The test suite is disabled to avoid dependency cycles with + ;; ruby-samovar, through ruby-bake. + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* ".gemspec" + (("\">= 3.2\"") + "\">= 2.7\""))))))) + (propagated-inputs (list ruby-console ruby-msgpack)) + (synopsis "Modern approach to code coverage in Ruby") + (description "Covered uses modern Ruby features to generate comprehensive +coverage, including support for templates which are compiled into Ruby. It +has the following features: +@itemize +@item +Incremental coverage -- if you run your full test suite, and the run a subset, +it will still report the correct coverage - so you can incrementally work on +improving coverage. +@item +Integration with RSpec, Minitest, Travis & Coveralls - no need to configure +anything - out of the box support for these platforms. +@item +It supports coverage of views -- templates compiled to Ruby code can be +tracked for coverage reporting. +@end itemize") + (home-page "https://github.com/ioquatix/covered") + (license license:expat))) + (define-public ruby-coveralls (package (name "ruby-coveralls") -- cgit v1.2.3 From c665ec7a23eed9a07deefb24e5f3aca0e8fe789a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 11:53:11 -0500 Subject: gnu: Add ruby-samovar. * gnu/packages/ruby.scm (ruby-samovar): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0d89a47ec0..eb71b344f8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6881,6 +6881,30 @@ (define-public ruby-crass (define-public ruby-nokogumbo (deprecated-package "ruby-nokogumbo" ruby-nokogiri)) +(define-public ruby-samovar + (package + (name "ruby-samovar") + (version "2.1.4") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ioquatix/samovar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05pc5xlbv44anx0sfqssh0xhxg297bvl5slsl7k1vnka4k5fhax6")))) + (build-system ruby-build-system) + (native-inputs (list ruby-covered ruby-rspec)) + (propagated-inputs (list ruby-console ruby-mapping)) + (synopsis "Flexible option parser for Ruby") + (description "Samovar is a modern framework for building command-line +tools and applications. It provides a declarative class-based DSL for +building command-line parsers that include automatic documentation generation. +It helps you keep your functionality clean and isolated where possible.") + (home-page "https://github.com/ioquatix/samovar") + (license license:expat))) + (define-public ruby-sanitize (package (name "ruby-sanitize") -- cgit v1.2.3 From c784aefb4669af77309f6b42ec950c7354bdc7b8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 13:58:42 -0500 Subject: gnu: Add ruby-io-console. * gnu/packages/ruby.scm (ruby-io-console): New variable. --- gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index eb71b344f8..46bdaa38d1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -513,6 +513,33 @@ (define-public ruby-i18n (home-page "https://github.com/ruby-i18n/i18n") (license license:expat))) +(define-public ruby-io-console + (package + (name "ruby-io-console") + (version "0.6.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/io-console/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gwxrp29b6awkid1sf85sbh529mnq6hb86m8c2443cm6nc4vr8qb")))) + (build-system ruby-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'delete-rakelib-files + (lambda _ + ;; These depend on git and other extraneous + ;; dependencies, and are loaded by rake. + (delete-file-recursively "rakelib")))))) + (native-inputs (list ruby-rake-compiler)) + (synopsis "Console capabilities library for IO instances") + (description "IO.console adds console capabilities to Ruby IO instances.") + (home-page "https://github.com/ruby/io-console") + (license license:bsd-2))) + (define-public ruby-iruby (package (name "ruby-iruby") -- cgit v1.2.3 From 2081bc48a326de4d259e703ee5c093160d94f4f8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 14:04:49 -0500 Subject: gnu: Add ruby-reline. * gnu/packages/ruby.scm (ruby-reline): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 46bdaa38d1..f633ee1131 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4533,6 +4533,27 @@ (define-public ruby-redcarpet (home-page "https://github.com/vmg/redcarpet") (license license:expat))) +(define-public ruby-reline + (package + (name "ruby-reline") + (version "0.3.3") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/reline") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1papa4f4prjml9qk6yydi4k5a4zgbzmxmbhd8fz9kfg1i34s35cw")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-io-console)) + (synopsis "GNU Readline or Editline implementation in Ruby") + (description "Reline is a pure Ruby alternative GNU Readline or Editline +implementation.") + (home-page "https://github.com/ruby/reline") + (license (list license:bsd-2 license:ruby)))) ;dual license + (define-public ruby-rerun (package (name "ruby-rerun") -- cgit v1.2.3 From 067c4df6f3a4359b40043006975c7534411e2fce Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 14:14:08 -0500 Subject: gnu: Add ruby-irb. * gnu/packages/ruby.scm (ruby-irb): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f633ee1131..4d638cc3f7 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -540,6 +540,27 @@ (define-public ruby-io-console (home-page "https://github.com/ruby/io-console") (license license:bsd-2))) +(define-public ruby-irb + (package + (name "ruby-irb") + (version "1.6.3") + (source (origin + (method url-fetch) + (uri (rubygems-uri "irb" version)) + (sha256 + (base32 + "1h9s07n5v3z029v18924ws9vdkdc80n6llp9ccx77yg1krv2g0f3")))) + (build-system ruby-build-system) + ;; XXX: Disable the test suite, as it requires debug, which requires this + ;; package (dependency cycle). + (arguments (list #:tests? #f)) + (propagated-inputs (list ruby-reline)) + (synopsis "Ruby command-line tool for REPL (Read Eval Print Loop)") + (description "IRB is an interactive Ruby command-line tool for REPL (Read +Eval Print Loop).") + (home-page "https://github.com/ruby/irb") + (license license:bsd-2))) + (define-public ruby-iruby (package (name "ruby-iruby") -- cgit v1.2.3 From d4cd510db71b3235b5a43b15f5eff609d654199d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 14:19:24 -0500 Subject: gnu: Add ruby-debug. * gnu/packages/ruby.scm (ruby-debug): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 4d638cc3f7..6141a69429 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5269,6 +5269,27 @@ (define-public ruby-data_uri (home-page "https://github.com/dball/data_uri") (license license:expat))) +(define-public ruby-debug + (package + (name "ruby-debug") + (version "1.7.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "debug" version)) + (sha256 + (base32 + "0x59508j69w9p275gabysv521n210pd3n060gqfgsiqjms1h0ldf")))) + (build-system ruby-build-system) + (arguments (list #:test-target "test_all")) + (propagated-inputs (list ruby-irb ruby-reline)) + (synopsis "Debugging functionality for Ruby") + (description "Debugging functionality for Ruby. This is completely +rewritten debug.rb which was contained by the ancient Ruby versions. It is +included with Ruby itself, but this package is made available so that the +latest version can be made available independently from Ruby.") + (home-page "https://github.com/ruby/debug") + (license license:bsd-2))) + (define-public ruby-deep-merge (package (name "ruby-deep-merge") -- cgit v1.2.3 From 62247577bd301b066ccbce11d9a570397841e1bd Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 14:39:25 -0500 Subject: gnu: Add ruby-rspec-debug. * gnu/packages/ruby.scm (ruby-rspec-debug): New variable. --- gnu/packages/ruby.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6141a69429..c6cabf313a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -993,6 +993,37 @@ (define-public ruby-rspec-2 (propagated-inputs (list ruby-rspec-core-2 ruby-rspec-mocks-2 ruby-rspec-expectations-2)))) +(define-public ruby-rspec-debug + (package + (name "ruby-rspec-debug") + (version "0.2.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ko1/rspec-debug") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "125p1zxjznkk765nyqvkksw8x1nbm7xk4sjc1wza2fyp5hvyiddn")))) + (build-system ruby-build-system) + (arguments + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-dependencies + (lambda _ + (substitute* "Gemfile" + (("~>") ">="))))))) + (native-inputs (list ruby-rspec)) + (propagated-inputs (list ruby-debug)) + (synopsis "Invoke Ruby debugger when spec fails") + (description "This package can be used to have the execution stopped for +inspection in the Ruby debugger upon encountering a failure. To use it, set +the @env{RSPEC_DEBUG} environment variable to @samp{true} then invoke the +@command{rspec} command as usual.") + (home-page "https://github.com/ko1/rspec-debug") + (license license:expat))) + ;; Bundler is yet another source of circular dependencies, so we must disable ;; its test suite as well. (define-public bundler -- cgit v1.2.3 From 1536bfe970a46b50c88ec897c700d4cc2d82613c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 20:56:48 -0500 Subject: gnu: Add ruby-bake. * gnu/packages/ruby.scm (ruby-bake): New variable. --- gnu/packages/ruby.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c6cabf313a..a2ecc16713 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3748,6 +3748,50 @@ (define-public ruby-bacon-colored-output (home-page "https://github.com/whitequark/bacon-colored_output") (license license:expat))) +(define-public ruby-bake + (package + (name "ruby-bake") + (version "0.18.2") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ioquatix/bake") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "19yi1fxzz9n580gig3p3j6nxbgcfcassa6b0q07jkqrzxdqn7xhn")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'sanitize-dependencies + (lambda _ + ;; These dependencies are not needed to build and run tests + ;; and contain circular dependencies. + (substitute* "gems.rb" + ((".*'bake-modernize'.*") "") + ((".*'bake-gem'.*") "") + ((".*'bake-github-pages'.*") "") + ((".*'utopia-project'.*") "")))) + (add-before 'build 'drop-signing-key-requirement + (lambda _ + (substitute* "bake.gemspec" + (("spec.signing_key =.*") + "spec.signing_key = nil")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs (list ruby-covered ruby-rspec)) + (propagated-inputs (list ruby-samovar)) + (synopsis "Replacement for rake with a simpler syntax") + (description "Bake is a task execution tool, inspired by Rake, but +codifying many of the use cases which are typically implemented in an ad-hoc +manner.") + (home-page "https://github.com/ioquatix/bake") + (license license:expat))) + (define-public ruby-connection-pool (package (name "ruby-connection-pool") -- cgit v1.2.3 From 53cbf59923c8aa13c154d491f472523bed05bf0d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 9 Jan 2023 21:52:50 -0500 Subject: gnu: Add ruby-bake-test. * gnu/packages/ruby.scm (ruby-bake-test): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a2ecc16713..304fa815c8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3792,6 +3792,28 @@ (define-public ruby-bake (home-page "https://github.com/ioquatix/bake") (license license:expat))) +(define-public ruby-bake-test + (package + (name "ruby-bake-test") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "bake-test" version)) + (sha256 + (base32 + "1p6kfpncj0s4zyynrrq6c735jvh0dnwyv7kfqym4rpyka4f85qdp")))) + (build-system ruby-build-system) + ;; XXX: Disable the test suite to avoid a circular dependency with + ;; ruby-sus. + (arguments (list #:tests? #f)) + (propagated-inputs (list ruby-bake)) + (synopsis "Test suite automatic runner for Ruby") + (description "@command{bake-test} automatically discovers how to run local +test suites for Ruby projects. It supports @command{rspec}, @command{sus}, as +well as @samp{rake}.") + (home-page "https://github.com/ioquatix/bake-test") + (license license:expat))) + (define-public ruby-connection-pool (package (name "ruby-connection-pool") -- cgit v1.2.3 From f059d35323a176d71dfe290a67317dcbec61f19c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 21:20:29 -0500 Subject: gnu: Add ruby-bake-test-external. * gnu/packages/ruby.scm (ruby-bake-test-external): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 304fa815c8..fb44385dc3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3814,6 +3814,28 @@ (define-public ruby-bake-test (home-page "https://github.com/ioquatix/bake-test") (license license:expat))) +(define-public ruby-bake-test-external + (package + (name "ruby-bake-test-external") + (version "0.3.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "bake-test-external" version)) + (sha256 + (base32 + "0749xc7jkz1c5gsq1giwhrqy6s6xqm48bdvs414372881wki2jmh")))) + (build-system ruby-build-system) + ;; The test suite relies on git and network access to clone external + ;; repositories. + (arguments (list #:tests? #f)) + (propagated-inputs (list ruby-bake)) + (synopsis "Continuous integration extension for Bake") + (description "Bake Test External adds a @samp{test:external} action to the +@command{bake} command to run the test suites of dependent projects to check +for breakage.") + (home-page "https://github.com/ioquatix/bake-test-external") + (license license:expat))) + (define-public ruby-connection-pool (package (name "ruby-connection-pool") -- cgit v1.2.3 From 4a14b2504ca5da1b6ff6dffbbeacaf4074550916 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 22:02:47 -0500 Subject: gnu: Add ruby-sus. * gnu/packages/ruby.scm (ruby-sus): New variable. --- gnu/packages/ruby.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index fb44385dc3..40b82b8a43 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12858,6 +12858,57 @@ (define-public ruby-subprocess (home-page "https://github.com/stripe/subprocess") (license license:expat))) +(define-public ruby-sus + (package + (name "ruby-sus") + (version "0.20.3") + (source (origin + (method git-fetch) ;for gems.rb + (uri (git-reference + (url "https://github.com/ioquatix/sus") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j4rkh9li79674h3lfkxlcdygscmb22l77i7hwhxl3gw103gkpdr")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'prune-gems.rb + (lambda _ + (substitute* "gems.rb" + (("gem \"bake-modernize\"") "") + (("gem \"bake-gem\"") "") + (("gem \"utopia-project\"") "")))) + (add-before 'build 'remove-missing-signing-key + (lambda _ + ;; Otherwise, the build fails with ENOENT. + (substitute* "sus.gemspec" + ((".*spec.signing_key.*") "")))) + (delete 'check) ;moved after install + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (setenv "CONSOLE_LEVEL" "debug") + (setenv "HOME" "/tmp") + ;; 'bundle exec' must be used to workaround a problem + ;; when using bake test and GEM_PATH (see: + ;; https://github.com/ioquatix/bake/issues/11). + (invoke "bundle" "exec" "bake" "test")))) + (add-before 'check 'set-paths + (lambda _ + (setenv "PATH" (string-append (getenv "PATH") ":" + #$output "/bin")) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby"))))))) + (native-inputs (list ruby-bake-test ruby-bake-test-external ruby-covered)) + (synopsis "Fast and scalable test runner for Ruby") + (description "This package provides a fast and scalable test runner for Ruby.") + (home-page "https://github.com/ioquatix/sus") + (license license:expat))) + (define-public ruby-syntax-tree (package (name "ruby-syntax-tree") -- cgit v1.2.3 From 0baa92e9e4a08c053f1c79da503a1bfdecc4e087 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 22:27:16 -0500 Subject: gnu: Add ruby-timers. * gnu/packages/ruby.scm (ruby-timers): New variable. --- gnu/packages/ruby.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 40b82b8a43..3ff7a773c3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6370,6 +6370,52 @@ (define-public ruby-spinach define executable specifications of your code.") (license license:expat))) +(define-public ruby-timers + (package + (name "ruby-timers") + (version "4.3.5") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/socketry/timers") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1vvahlhk6i1xks1bsha6s64pjjxhagmzvvf1q9h6z3lpcba43rpx")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-before 'build 'prune-gems.rb + (lambda _ + (substitute* "gems.rb" + ;; These are only required for maintenance. + ((".*gem \"bake-modernize\".*") "") + ((".*gem \"bake-gem\".*") "") + ;; Not actually required by the tests. + ((".*gem 'benchmark-ips'.*") "") + ((".*gem \"ruby-prof\".*") "")))) + (add-before 'build 'remove-missing-signing-key + (lambda _ + ;; Otherwise, the build fails with ENOENT. + (substitute* "timers.gemspec" + ((".*spec.signing_key.*") "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "bake" "test"))))))) + (native-inputs + (list ruby-covered + ruby-bake-test + ruby-bake-test-external + ruby-sus)) + (synopsis "Collection of Ruby timer classes") + (description "Timers offers a collections of one-shot and periodic timers, +intended for use with event loops such as async.") + (home-page "https://github.com/socketry/timers") + (license license:expat))) + (define-public ruby-tilt (package (name "ruby-tilt") -- cgit v1.2.3 From cca22c0b0f2bbb14974eda12c955c76b492342c3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 8 Mar 2023 23:27:52 -0500 Subject: gnu: Add ruby-localhost. * gnu/packages/ruby.scm (ruby-localhost): New variable. --- gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3ff7a773c3..cd56cf7cd6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -12555,6 +12555,38 @@ (define-public ruby-liquid to load dynamic content on storefronts.") (license license:expat))) +(define-public ruby-localhost + (package + (name "ruby-localhost") + (version "1.1.10") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/socketry/localhost") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1yp70w15wpfk613ap5f4y15yx4n2qqwa67vqc2f4lv7npf3llcz0")))) + (build-system ruby-build-system) + (arguments + ;; XXX: The test suite requires sus-fixtures-async, which requires async, + ;; only available for Ruby 3.0. + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'remove-missing-signing-key + (lambda _ + ;; Otherwise, the build fails with ENOENT. + (substitute* "localhost.gemspec" + ((".*spec.signing_key.*") ""))))))) + (synopsis "API for generating per-user self-signed root certificates") + (description "This package provides @code{localhost}, a Ruby library for +Managing a local certificate authority for self-signed, localhost development +servers.") + (home-page "https://github.com/socketry/localhost") + (license license:expat))) + (define-public ruby-forwardable-extended (package (name "ruby-forwardable-extended") -- cgit v1.2.3 From c1e551bfe45490923539f3517b35a23fba94cc52 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 00:03:55 -0500 Subject: gnu: bundler: Update to 2.4.10. * gnu/packages/ruby.scm (bundler): Update to 2.4.10. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cd56cf7cd6..c82ce017e0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1029,13 +1029,13 @@ (define-public ruby-rspec-debug (define-public bundler (package (name "bundler") - (version "2.1.4") + (version "2.4.10") (source (origin (method url-fetch) (uri (rubygems-uri "bundler" version)) (sha256 (base32 - "12glbb1357x91fvd004jgkw7ihlkpc9dwr349pd7j83isqhls0ah")))) + "08d1nj2h4yl6c1bnrwl2pk1kcskpgi6fvyd8fs36lfh68jlnz05r")))) (build-system ruby-build-system) (arguments '(#:tests? #f)) ; avoid dependency cycles -- cgit v1.2.3 From 24a058af1b39ed70d45db45c1a6e959d4d20f494 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 09:34:28 -0500 Subject: gnu: ruby-puma: Update to 6.1.1 and enable test suite. * gnu/packages/ruby.scm (ruby-puma): Update to 6.1.1. [source]: Use git. [arguments]: Remove #:tests? argument. Adjust fix-gemspec phase. Add the disable-rubocop, use-rack-2, increase-resource-limits, disable-problematic-tests, relax-test-case-timeout, set-home and set-paths phases. Override the check phase. [native-inputs]: New field. [inputs]: Add ruby-nio4r. --- gnu/packages/ruby.scm | 109 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 95 insertions(+), 14 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c82ce017e0..20285c9f64 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10804,28 +10804,109 @@ (define-public ruby-ttfunk (define-public ruby-puma (package (name "ruby-puma") - (version "3.9.1") + (version "6.1.1") (source (origin - (method git-fetch) - ;; Fetch from GitHub because distributed gem does not contain tests. + (method git-fetch) ;for tests (uri (git-reference - (url "https://github.com/puma/puma") - (commit (string-append "v" version)))) + (url "https://github.com/puma/puma") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1kj75k81iik3aj73pkc9ixj9rwf95ipkyma65n28m64dgw02qi1f")))) + "0v4nn3z0bj0ry0gpx1hsf5mzkinsx9sv716j4jf2nb1x6hcwv993")))) (build-system ruby-build-system) (arguments - `(#:tests? #f ; Tests require an out-dated version of minitest. - #:phases - (modify-phases %standard-phases - (add-before 'build 'fix-gemspec - (lambda _ - (substitute* "puma.gemspec" - (("git ls-files") "find * |sort"))))))) - (inputs (list openssl)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'disable-rubocop + (lambda _ + (setenv "PUMA_NO_RUBOCOP" "1"))) + (add-after 'unpack 'use-rack-2 + (lambda _ + (setenv "PUMA_CI_RACK_2" "1"))) + (add-before 'build 'increase-resource-limits + (lambda _ + ;; The test suite requires a higher number of open files. Try + ;; increasing the soft resource limit of max open files to 2048, + ;; or equal to the hard limit, whichever is lower. + (call-with-values (lambda () (getrlimit 'nofile)) + (lambda (soft hard) + (when (and soft (< soft 2048)) + (if hard + (setrlimit 'nofile (min hard 2048) hard) + (setrlimit 'nofile 2048 #f)) + (format + #t "increased maximum number of open files from ~d to ~d~%" + soft (if hard (min hard 2048) 2048))))))) + (add-before 'build 'fix-gemspec + (lambda _ + (substitute* "puma.gemspec" + (("`git ls-files -- bin docs ext lib tools`") + "`find bin docs ext lib tools -type f |sort`")))) + (delete 'check) ;moved after install + (add-after 'install 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "bundle" "exec" "rake" "test")))) + (add-before 'check 'disable-problematic-tests + (lambda _ + (let-syntax ((skip-tests + (syntax-rules () + ((_ file test ...) + (substitute* file + (((string-append "def " test ".*") all) + (string-append + all " skip('fails on guix')\n")) ...))))) + ;; The test failures were reported at: + ;; https://github.com/puma/puma/issues/3093, but appear to be + ;; caused by the Guix build container, perhaps the lack of + ;; zombie process reaping (see: + ;; https://issues.guix.gnu.org/30948). + ;; All the tests in the 'test_worker_gem_independence.rb' + ;; module fail with "Expected false to be truthy.". + (delete-file "test/test_worker_gem_independence.rb") + (skip-tests "test/test_integration_ssl_session.rb" + ;; The TLS 1.2 test fails for unknown reasons. + "test_off_tls1_2") + (skip-tests "test/test_integration_cluster.rb" + "test_fork_worker_on_refork" + "test_culling_strategy_oldest_fork_worker" + "test_usr1_fork_worker") + (skip-tests "test/test_integration_pumactl.rb" + "test_refork_cluster")))) + (add-before 'check 'relax-test-case-timeout + (lambda _ + ;; The default value is 45 s and easily causes timeouts. + (setenv "TEST_CASE_TIMEOUT" "600"))) + (add-before 'check 'set-home + (lambda _ + ;; Some tests fail if the cannot write to HOME. + (setenv "HOME" "/tmp"))) + (add-before 'check 'set-paths + (lambda _ + ;; The test suite requires the 'puma' command to be on PATH. + (setenv "PATH" (string-append (getenv "PATH") ":" + #$output "/bin")) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby"))))))) + (native-inputs + (list bundler + curl + ruby-json + ruby-localhost + ruby-m + ruby-minitest-proveit + ruby-minitest-retry + ruby-minitest-stub-const + ruby-rack + ruby-rake-compiler + ruby-webrick)) + (inputs + (list openssl + ruby-nio4r)) (synopsis "Simple, concurrent HTTP server for Ruby/Rack") (description "Puma is a simple, fast, threaded, and highly concurrent HTTP 1.1 server -- cgit v1.2.3 From 7ea341b9b8c0c028476dc09173efefd10e2b5d35 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 10:41:36 -0500 Subject: gnu: Add ruby-capybara. * gnu/packages/ruby.scm (ruby-capybara): New variable. --- gnu/packages/ruby.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 46 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 20285c9f64..9af570b8aa 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1664,8 +1664,7 @@ (define-public ruby-rubocop-capybara (package (inherit ruby-rubocop-capybara-minimal) (arguments - (list #:tests? #t - #:test-target "spec" + (list #:test-target "spec" #:phases #~(modify-phases %standard-phases (add-after 'unpack 'relax-requirements (lambda _ @@ -11997,6 +11996,51 @@ (define-public ruby-cabin (home-page "https://github.com/jordansissel/ruby-cabin") (license license:asl2.0))) +(define-public ruby-capybara + (package + (name "ruby-capybara") + (version "3.38.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "capybara" version)) + (sha256 + (base32 + "123198zk2ak8mziwa5jc3ckgpmsg08zn064n3aywnqm9s1bwjv3v")))) + (build-system ruby-build-system) + (arguments + (list #:tests? #f ;sinatra is currently broken with rack 3 + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'remove-extraneous-requirements + (lambda _ + (substitute* "spec/spec_helper.rb" + ((".*require 'selenium_statistics'.*") "") + ((".*SeleniumStatistics.print_results.*") "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec" "spec"))))))) + (native-inputs + (list ruby-puma + ruby-rspec + ruby-selenium-webdriver + ruby-sinatra)) + (propagated-inputs + (list ruby-addressable + ruby-launchy + ruby-matrix + ruby-mini-mime + ruby-nokogiri + ruby-rack + ruby-rack-test + ruby-regexp-parser + ruby-xpath)) + (synopsis "Integration testing tool for rack-based web applications") + (description "Capybara is an integration testing tool for rack based web +applications. It simulates how a user would interact with a website.") + (home-page "https://github.com/teamcapybara/capybara") + (license license:expat))) + (define-public ruby-cane (package (name "ruby-cane") -- cgit v1.2.3 From 8324d39a8642cc812a361286af596368bebc9312 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 10:49:33 -0500 Subject: gnu: Add ruby-rack-session. * gnu/packages/ruby.scm (ruby-rack-session): New variable. --- gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 9af570b8aa..e3255a6de3 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7708,6 +7708,33 @@ (define-public ruby-rack-test (home-page "https://github.com/rack/rack-test") (license license:expat))) +(define-public ruby-rack-session + (package + (name "ruby-rack-session") + ;; Stay on version 1 until all the rack users such as Rails can use rack 3 + ;; (rack-session 2 requires rack 3). + (version "1.0.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/rack/rack-session") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rv955wd7ckp5jgy5c229wmajh48jpcy8s0iv5i8ma61wf7qw0i1")))) + (build-system ruby-build-system) + (native-inputs + (list ruby-minitest-global-expectations + ruby-minitest-sprint)) + (propagated-inputs + (list ruby-rack)) + (synopsis "Session management for Rack") + (description "This package provides a session management implementation +for Rack.") + (home-page "https://github.com/rack/rack-session") + (license license:expat))) + (define-public ruby-rack-protection (package (name "ruby-rack-protection") -- cgit v1.2.3 From 087b0dcb7b33d6ce428a9da91d025ec9444a3249 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 11:04:33 -0500 Subject: gnu: ruby-rubyzip: Update to 2.3.2. * gnu/packages/ruby.scm (ruby-rubyzip): Update to 2.3.2. [arguments]: Streamline patch-tests phase. Add disable-rubocop and disable-problematic-tests phases. --- gnu/packages/ruby.scm | 82 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 53 insertions(+), 29 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e3255a6de3..c5678d8487 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3515,35 +3515,59 @@ (define-public ruby-rubygems-tasks (define-public ruby-rubyzip (package - (name "ruby-rubyzip") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rubyzip" version)) - (sha256 - (base32 - "06js4gznzgh8ac2ldvmjcmg9v1vg9llm357yckkpylaj6z456zqz")))) - (build-system ruby-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-before 'check 'patch-tests - (lambda* (#:key inputs #:allow-other-keys) - (substitute* "test/gentestfiles.rb" - (("/usr/bin/zip") - (string-append - (assoc-ref inputs "zip") "/bin/zip"))) - (substitute* "test/input_stream_test.rb" - (("/usr/bin/env ruby") (which "ruby"))) - #t))))) - (native-inputs - (list bundler ruby-simplecov zip unzip)) - (synopsis "Ruby module is for reading and writing zip files") - (description - "The rubyzip module provides ways to read from and create zip files.") - (home-page "https://github.com/rubyzip/rubyzip") - (license license:bsd-2))) + (name "ruby-rubyzip") + (version "2.3.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rubyzip/rubyzip") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "03p8c990n6c1r4g64w0vv7z2iaswisl07l2f1lbh1s78cvmlmfxx")))) + (build-system ruby-build-system) + (arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'disable-rubocop + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") "")))) + (add-before 'check 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (substitute* "test/gentestfiles.rb" + (("/usr/bin/zip") (which "zip"))) + (substitute* "test/input_stream_test.rb" + (("/usr/bin/env ruby") (which "ruby"))))) + (add-before 'check 'disable-problematic-tests + (lambda _ + (let-syntax ((skip-tests + (syntax-rules () + ((_ file test ...) + (substitute* file + (((string-append "def " test ".*") all) + (string-append + all " skip('fails on guix')\n")) ...))))) + ;; The test failures were reported here: + ;; https://github.com/rubyzip/rubyzip/issues/552. + (skip-tests "test/stored_support_test.rb" + "test_read") + (skip-tests "test/stored_support_test.rb" + "test_encrypted_read") + (skip-tests "test/output_stream_test.rb" + "test_put_next_entry_using_zip_entry_creates_\ +entries_with_correct_timestamps") + (skip-tests "test/file_options_test.rb" + "test_restore_times_true"))))))) + (native-inputs + (list bundler ruby-simplecov zip unzip)) + (synopsis "Ruby module is for reading and writing zip files") + (description + "The rubyzip module provides ways to read from and create zip files.") + (home-page "https://github.com/rubyzip/rubyzip") + (license license:bsd-2))) (define-public ruby-simplecov-html (package -- cgit v1.2.3 From cb837029a08e4e63f3e6a1b0a20876f43f8d72b2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 11:58:41 -0500 Subject: gnu: ruby-actionpack: Update to 7.0.4.3 and enable test suite. * gnu/packages/rails.scm (ruby-actionpack): Update to 7.0.4.3. [source]: Use ruby-rails-monorepo. [arguments]: Delete #:tests? argument. Add #:phases argument. [native-inputs]: New field. [propagated-inputs]: Add ruby-rack-cache and ruby-rack-session. --- gnu/packages/rails.scm | 106 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 81 insertions(+), 25 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index bff4e09264..d3712a93c9 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -468,32 +468,88 @@ (define-public ruby-actionview (define-public ruby-actionpack (package - (name "ruby-actionpack") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "actionpack" version)) - (sha256 - (base32 - "030yyaskzlic5cp4d9zbwwr3rhf4k6hsls44a7ihsfd6r8mlivq5")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-actionview - ruby-activesupport - ruby-rack - ruby-rack-test - ruby-rails-dom-testing - ruby-rails-html-sanitizer)) - (synopsis "Conventions for building and testing MVC web applications") - (description - "ActionPack provides conventions for building and testing MVC web + (name "ruby-actionpack") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "actionpack"))) + (add-before 'check 'delete-problematic-tests + (lambda _ + (let-syntax ((skip-tests + (syntax-rules () + ((_ file test ...) + (substitute* file + ;; ActiveSupport test case. + (((string-append "test \"" test "\".*") all) + (string-append + all " skip 'fails on guix'\n")) ... + ;; MiniTest test case. + (((string-append "def " test ".*") all) + (string-append + all " skip('fails on guix')\n")) ...))))) + + (with-directory-excursion "test" + (for-each delete-file + ;; These tests depend on rails, which depends on + ;; this package. + '("dispatch/mount_test.rb" + "dispatch/prefix_generation_test.rb" + "dispatch/routing_assertions_test.rb" + "dispatch/routing/inspector_test.rb" + "controller/live_stream_test.rb" + "controller/integration_test.rb" + "controller/test_case_test.rb")) + + ;; The following test failures have been reported upstream + ;; (see: https://github.com/rails/rails/issues/47615). + (skip-tests "controller/new_base/render_streaming_test.rb" + ;; These tests fail due to white space + ;; characters in the compared strings. + "rendering with streaming no layout" + "rendering with streaming enabled at the \ +class level" + "rendering with streaming given to render" + "rendering with layout exception" + "rendering with template exception" + "rendering with streaming do not override \ +explicit cache control given to render") + + (skip-tests "dispatch/system_testing/driver_test.rb" + ;; These tests require Firefox. + "define extra capabilities using headless_firefox" + "define extra capabilities using firefox") + + (skip-tests "dispatch/session/cache_store_test.rb" + ;; This test fails with: "NoMethodError: + ;; undefined method `hash_for' for + ;; #". + "test_getting_session_value_after_session_reset")))))))) + (native-inputs + (list ruby-activemodel + ruby-capybara + ruby-selenium-webdriver + ruby-zeitwerk)) + (propagated-inputs + (list ruby-actionview + ruby-activesupport + ruby-rack + ruby-rack-cache + ruby-rack-session + ruby-rack-test + ruby-rails-dom-testing + ruby-rails-html-sanitizer)) + (synopsis "Conventions for building and testing MVC web applications") + (description + "ActionPack provides conventions for building and testing MVC web applications. These work with any Rack-compatible server.") - (home-page "https://rubyonrails.org/") - (license license:expat))) + (home-page "https://rubyonrails.org/") + (license license:expat))) (define-public ruby-actioncable (package -- cgit v1.2.3 From 34ada4a7a536b32750fb262332f8725678ac3b34 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 14:09:26 -0500 Subject: gnu: Add ruby-event-emitter. * gnu/packages/ruby.scm (ruby-event-emitter): New variable. --- gnu/packages/ruby.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c5678d8487..57e5e3d575 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9552,6 +9552,29 @@ (define-public ruby-pygmentize (home-page "https://github.com/djanowski/pygmentize") (license license:expat))) +(define-public ruby-event-emitter + (package + (name "ruby-event-emitter") + (version "0.2.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "event_emitter" version)) + (sha256 + (base32 + "148k9qv8102l3m6klc24dwip79f9y4bjr5z19dckd7ffbjyrf9n7")))) + (build-system ruby-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "event_emitter.gemspec" + (("~> 1.15") ">= 1.15"))))))) + (synopsis "Ruby port of EventEmitter from Node.js") + (description + "This package provides a Ruby port of EventEmitter from Node.js.") + (home-page "https://shokai.github.io/event_emitter/") + (license license:expat))) + (define-public ruby-eventmachine (package (name "ruby-eventmachine") -- cgit v1.2.3 From 486cbf33785159b132a0e6693b061e790fb42648 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 14:30:51 -0500 Subject: gnu: Add ruby-websocket-native. * gnu/packages/ruby.scm (ruby-websocket-native): New variable. --- gnu/packages/ruby.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 57e5e3d575..943c31e4c5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10169,6 +10169,35 @@ (define-public ruby_version (home-page "https://github.com/janlelis/ruby_version") (license license:expat))) +(define-public ruby-websocket-native + (package + (name "ruby-websocket-native") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "websocket-native" version)) + (sha256 + (base32 + "1kgvd3gyzh7hk0ddzn85jrs4csxm54qnvla95ldyn6rzgfbjchdn")))) + (build-system ruby-build-system) + (arguments + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-before 'check 'disable-problematic-tests + (lambda _ + (substitute* "spec/websocket_spec.rb" + (("it \"should have mask_native defined\"" all) + (string-append "x" all))))) + (add-after 'build 'compile + (lambda _ + (invoke "rake" "compile")))))) + (native-inputs (list ruby-rake-compiler ruby-rspec)) + (synopsis "Native Ruby extension for the WebSocket gem") + (description "This package provides a native extension that can increase +performance by about 25% compared to the pure Ruby WebSocket implementation.") + (home-page "https://github.com/imanel/websocket-ruby-native") + (license license:expat))) + (define-public ruby-websocket-driver (package (name "ruby-websocket-driver") -- cgit v1.2.3 From 0e74687ba4f950911eabb5de2f202e5a0902e297 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 14:35:00 -0500 Subject: gnu: Add ruby-websocket-eventmachine-base. * gnu/packages/ruby.scm (ruby-websocket-eventmachine-base): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 943c31e4c5..f34ec9cda0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10169,6 +10169,27 @@ (define-public ruby_version (home-page "https://github.com/janlelis/ruby_version") (license license:expat))) +(define-public ruby-websocket-eventmachine-base + (package + (name "ruby-websocket-eventmachine-base") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "websocket-eventmachine-base" version)) + (sha256 + (base32 + "0wiz61mcwgs3k21cdr5l9b4jpg29gl6mflfampww2v525yc3hr1r")))) + (build-system ruby-build-system) + (arguments + (list #:tests? #f)) ;no test suite + (propagated-inputs (list ruby-eventmachine ruby-websocket + ruby-websocket-native)) + (synopsis "WebSocket base for Ruby client and server") + (description "This package provides a WebSocket base for a Ruby client and +server.") + (home-page "https://github.com/imanel/websocket-eventmachine-base") + (license license:expat))) + (define-public ruby-websocket-native (package (name "ruby-websocket-native") -- cgit v1.2.3 From 7577fca3c09804d888094d709c82ecd1cc07bbee Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 14:39:47 -0500 Subject: gnu: Add ruby-websocket-eventmachine-server. * gnu/packages/ruby.scm (ruby-websocket-eventmachine-server): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f34ec9cda0..5a3f4cf252 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10190,6 +10190,25 @@ (define-public ruby-websocket-eventmachine-base (home-page "https://github.com/imanel/websocket-eventmachine-base") (license license:expat))) +(define-public ruby-websocket-eventmachine-server + (package + (name "ruby-websocket-eventmachine-server") + (version "1.0.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "websocket-eventmachine-server" version)) + (sha256 + (base32 + "0iqpzc8s028nck1flqaj784gvyn64wy1h3svpa4y2847wklg8sms")))) + (build-system ruby-build-system) + ;; TODO: The test suite requires Autobahn, not yet packaged in Guix. + (arguments (list #:tests? #f)) + (propagated-inputs (list ruby-websocket-eventmachine-base)) + (synopsis "WebSocket server for Ruby") + (description "This package provides a WebSocket server for Ruby.") + (home-page "https://github.com/imanel/websocket-eventmachine-server") + (license license:expat))) + (define-public ruby-websocket-native (package (name "ruby-websocket-native") -- cgit v1.2.3 From 2be67a5824a94b9612c7f436346c6ede40827703 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 14:41:36 -0500 Subject: gnu: Add ruby-websocket-client-simple. * gnu/packages/ruby.scm (ruby-websocket-client-simple): New variable. --- gnu/packages/ruby.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5a3f4cf252..d5563fe246 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10169,6 +10169,25 @@ (define-public ruby_version (home-page "https://github.com/janlelis/ruby_version") (license license:expat))) +(define-public ruby-websocket-client-simple + (package + (name "ruby-websocket-client-simple") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "websocket-client-simple" version)) + (sha256 + (base32 + "1ypl4xvlh5c99zbn20sifv7gv04zi20ly464vsgikfrpn5f37bid")))) + (build-system ruby-build-system) + (arguments (list #:test-target "default")) + (native-inputs (list ruby-eventmachine ruby-websocket-eventmachine-server)) + (propagated-inputs (list ruby-event-emitter ruby-websocket)) + (synopsis "Simple WebSocket client for Ruby") + (description "This package provides a simple WebSocket client for Ruby.") + (home-page "https://github.com/ruby-jp/websocket-client-simple") + (license license:expat))) + (define-public ruby-websocket-eventmachine-base (package (name "ruby-websocket-eventmachine-base") -- cgit v1.2.3 From 70cc03a855b4eb69f6fbfc34c6620c062e6807dd Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 14:55:41 -0500 Subject: gnu: ruby-actioncable: Update to 7.0.4.3 and enable tests. * gnu/packages/rails.scm (ruby-actioncable): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Drop #:tests?. Add #:phases argument. [native-inputs]: New field. --- gnu/packages/rails.scm | 66 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 45 insertions(+), 21 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index d3712a93c9..43db167671 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -553,28 +553,52 @@ (define-public ruby-actionpack (define-public ruby-actioncable (package - (name "ruby-actioncable") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "actioncable" version)) - (sha256 - (base32 - "1cgb1l0gml1vklxka2djpi5q5b4bgzgm5pahzfjvvgm5vzvrvi9v")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-actionpack ruby-activesupport ruby-nio4r - ruby-websocket-driver)) - (synopsis "Integrate integrates WebSockets with Rails applications") - (description - "Action Cable integrates WebSockets with Rails applications. Through + (name "ruby-actioncable") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "actioncable"))) + (delete 'check) ;moved after install phase + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-before 'check 'set-GEM_PATH + (lambda _ + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")))) + (add-before 'check 'disable-problematic-tests + (lambda _ + ;; There are multiple client test failures (see: + ;; https://github.com/rails/rails/issues/47617). + (delete-file "test/client_test.rb"))) + (add-before 'check 'start-redis + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "redis-server" "--daemonize" "yes"))))))) + (native-inputs + (list redis + ruby-activerecord + ruby-pg + ruby-puma + ruby-redis + ruby-websocket-client-simple)) + (propagated-inputs + (list ruby-actionpack + ruby-activesupport + ruby-nio4r + ruby-websocket-driver)) + (synopsis "Integrate integrates WebSockets with Rails applications") + (description + "Action Cable integrates WebSockets with Rails applications. Through WebSockets it allows for real-time features in web applications.") - (home-page "https://rubyonrails.org/") - (license license:expat))) + (home-page "https://rubyonrails.org/") + (license license:expat))) (define-public ruby-activejob (package -- cgit v1.2.3 From 01e3d51c7794ffa7ec7da85f417e11602009b5f4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:01:33 -0500 Subject: gnu: ruby-mini-mime: Update to 1.1.2. * gnu/packages/ruby.scm (ruby-mini-mime): Update to 1.1.2. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d5563fe246..2df3f5adf6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9766,14 +9766,14 @@ (define-public ruby-mime-types (define-public ruby-mini-mime (package (name "ruby-mini-mime") - (version "1.0.2") + (version "1.1.2") (source (origin (method url-fetch) (uri (rubygems-uri "mini_mime" version)) (sha256 (base32 - "1axm0rxyx3ss93wbmfkm78a6x03l8y4qy60rhkkiq0aza0vwq3ha")))) + "0lbim375gw2dk6383qirz13hgdmxlan0vc5da2l072j3qw6fqjm5")))) (build-system ruby-build-system) (synopsis "Lightweight mime type lookup toy") (description "This package provides a lightweight mime type lookup toy.") -- cgit v1.2.3 From 90e38a14a34d300b51899bd20e9dcb3d64a55c91 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:04:47 -0500 Subject: gnu: ruby-marcel: Update to 1.0.2. * gnu/packages/ruby.scm (ruby-marcel): Update to 1.0.2. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2df3f5adf6..379d03daf1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5753,14 +5753,14 @@ (define-public ruby-arel (define-public ruby-marcel (package (name "ruby-marcel") - (version "0.3.3") + (version "1.0.2") (source (origin (method url-fetch) (uri (rubygems-uri "marcel" version)) (sha256 (base32 - "1nxbjmcyg8vlw6zwagf17l9y2mwkagmmkg95xybpn4bmf3rfnksx")))) + "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0")))) (build-system ruby-build-system) (arguments '(;; No included tests -- cgit v1.2.3 From e7747e79c69e7c2b2e2ff9b3279b3d594c5deb68 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:05:47 -0500 Subject: gnu: ruby-marcel: Relocate to (gnu packages rails). * gnu/packages/ruby.scm (ruby-marcel): Move to... * gnu/packages/rails.scm (ruby-marcel): ... here. [home-page]: Update URL. --- gnu/packages/rails.scm | 25 +++++++++++++++++++++++++ gnu/packages/ruby.scm | 24 ------------------------ 2 files changed, 25 insertions(+), 24 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 43db167671..9638aee3ae 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2016 Matthew Jordan ;;; Copyright © 2018 Tobias Geerinckx-Rice ;;; Copyright © 2019, 2021, 2022 Efraim Flashner +;;; Copyright © 2019 Christopher Baines ;;; Copyright © 2023 Maxim Cournoyer ;;; ;;; This file is part of GNU Guix. @@ -725,6 +726,30 @@ (define-public ruby-actionmailer (home-page "https://rubyonrails.org/") (license license:expat))) +(define-public ruby-marcel + (package + (name "ruby-marcel") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "marcel" version)) + (sha256 + (base32 + "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + (list ruby-mimemagic)) + (synopsis "MIME type detection using magic numbers, filenames and extensions") + (description + "@code{marcel} provides @acronym{MIME, Multipurpose Internet Mail +Extensions} type detection using magic numbers, filenames, and extensions") + (home-page "https://github.com/rails/marcel") + (license license:expat))) + (define-public ruby-railties (package (name "ruby-railties") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 379d03daf1..26888c620a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5750,30 +5750,6 @@ (define-public ruby-arel various relational database implementations.") (license license:expat))) -(define-public ruby-marcel - (package - (name "ruby-marcel") - (version "1.0.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "marcel" version)) - (sha256 - (base32 - "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-mimemagic)) - (synopsis "MIME type detection using magic numbers, filenames and extensions") - (description - "@code{marcel} provides @acronym{MIME, Multipurpose Internet Mail -Extensions} type detection using magic numbers, filenames, and extensions") - (home-page "https://github.com/basecamp/marcel") - (license license:expat))) - (define-public ruby-minitar ;; We package from the GitHub source to fix the security issue reported at ;; https://github.com/halostatue/minitar/issues/16. -- cgit v1.2.3 From bb3bbb727294715b0b7c0d21b1c8e63e6d98329a Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:22:13 -0500 Subject: gnu: ruby-marcel: Enable tests. * gnu/packages/rails.scm (ruby-marcel) [source]: Fetch from git. [arguments]: Drop #:tests?. Add #:phases. [native-inputs]: New field. --- gnu/packages/rails.scm | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 9638aee3ae..540c69ec2f 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -730,19 +730,30 @@ (define-public ruby-marcel (package (name "ruby-marcel") (version "1.0.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "marcel" version)) - (sha256 - (base32 - "0kky3yiwagsk8gfbzn3mvl2fxlh3b39v6nawzm4wpjs6xxvvc4x0")))) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rails/marcel") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i1x24afmn09n48fj4yz2pdm6vlfnq14gism0cgxsyqmlrvsxajn")))) (build-system ruby-build-system) (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-mimemagic)) + (list #:test-target "default" + #:phases #~(modify-phases %standard-phases + (add-before 'check 'disable-problematic-tests + (lambda _ + (substitute* "test/mime_type_test.rb" + ;; One test fails because of the newer rack + ;; version used (see: + ;; https://github.com/rails/marcel/issues/91). + (("test \"gets content type.*" all) + (string-append + all " skip('fails on guix')\n")))))))) + (native-inputs (list ruby-byebug ruby-nokogiri ruby-rack)) + (propagated-inputs (list ruby-mimemagic)) (synopsis "MIME type detection using magic numbers, filenames and extensions") (description "@code{marcel} provides @acronym{MIME, Multipurpose Internet Mail -- cgit v1.2.3 From c22dbc65f530d473a8a3a25be9be460c2e7ef8ab Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:38:28 -0500 Subject: gnu: ruby-activestorage: Update to 7.0.4.3. * gnu/packages/rails.scm (ruby-activestorage): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. [propagated-inputs]: replace ruby-mimemagic with ruby-mini-mime. --- gnu/packages/rails.scm | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 540c69ec2f..6c41466ac3 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -643,25 +643,26 @@ (define-public ruby-activejob (define-public ruby-activestorage (package (name "ruby-activestorage") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "activestorage" version)) - (sha256 - (base32 - "0gkxvbi5w8zmdxpiyz3b10kzz8cxqqh9bj81sjl3fp8wa3v2ld4i")))) + (version %ruby-rails-version) + (source ruby-rails-monorepo) (build-system ruby-build-system) (arguments - '(;; No included tests - #:tests? #f)) + (list + ;; The test suite is disabled, because it activestorage requires + ;; 'rails', which would introduce a dependency cycle. + #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "activestorage")))))) (propagated-inputs (list ruby-actionpack ruby-activejob ruby-activerecord ruby-activesupport ruby-marcel - ruby-mimemagic)) + ruby-mini-mime)) (synopsis "Integrate file storage services in to Rails applications") (description "ActiveStorage integrates file storage services with Rails applications, -- cgit v1.2.3 From 1d211e237d218ddcf0e51495627a34d61f9bf93f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:44:30 -0500 Subject: gnu: ruby-actiontext: Update to 7.0.4.3. * gnu/packages/rails.scm (ruby-actiontext): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. --- gnu/packages/rails.scm | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 6c41466ac3..6e26c8966a 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -415,21 +415,23 @@ (define-public ruby-rails-dom-testing (define-public ruby-actiontext (package (name "ruby-actiontext") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "actiontext" version)) - (sha256 - (base32 - "04k4z4xj40sbzbgx0x9m6i8k0nc22jb6dkrlslj16p2z2dfnwhqg")))) + (version %ruby-rails-version) + (source ruby-rails-monorepo) (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) + (arguments + (list + #:tests? #f ;avoid a cycle with ruby-rails + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "actiontext")))))) (propagated-inputs - (list ruby-actionpack ruby-activerecord ruby-activestorage - ruby-activesupport ruby-nokogiri)) + (list ruby-actionpack + ruby-activerecord + ruby-activestorage + ruby-activesupport + ruby-nokogiri)) (synopsis "Edit and display rich text in Rails applications") (description "ActionText edits and displays rich text in Rails applications.") -- cgit v1.2.3 From 93d038c82760e55c135289021f427eca67d484dc Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 14:11:55 -0500 Subject: gnu: Add ruby-timeout. * gnu/packages/ruby.scm (ruby-timeout): New variable. --- gnu/packages/ruby.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 26888c620a..46e2b1c791 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13518,6 +13518,26 @@ (define-public ruby-sinatra (home-page "https://sinatrarb.com/") (license license:expat))) +(define-public ruby-timeout + (package + (name "ruby-timeout") + (version "0.3.2") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/timeout") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lzhs2c4znzg781w146dhvczhbx7h3wkb90i4v6h68zvm2zfylgj")))) + (build-system ruby-build-system) + (synopsis "Timeout library for Ruby") + (description "Timeout provides a way to auto-terminate a potentially +long-running operation if it hasn't finished in a fixed amount of time.") + (home-page "https://github.com/ruby/timeout") + (license (list license:bsd-2)))) + (define-public ruby-thin (package (name "ruby-thin") -- cgit v1.2.3 From 2b64afab7674cf8a7a6c0fd0f89e509328642d5d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 14:21:22 -0500 Subject: gnu: Add ruby-net-protocol. * gnu/packages/ruby.scm (ruby-net-protocol): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 46e2b1c791..eb98024ef6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -11340,6 +11340,27 @@ (define-public ruby-mail (home-page "https://github.com/mikel/mail") (license license:expat))) +(define-public ruby-net-protocol + (package + (name "ruby-net-protocol") + (version "0.2.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruby/net-protocol") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0niivmjx7bc6vsylc1ag17mw6mnvjxw02s7cin1f0422xyr8msq9")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-timeout)) + (synopsis "Abstract interface for Ruby network clients") + (description "This Ruby library provides an abstract interface for network +clients.") + (home-page "https://github.com/ruby/net-protocol") + (license (list license:bsd-2)))) + (define-public ruby-email-reply-trimmer (package (name "ruby-email-reply-trimmer") -- cgit v1.2.3 From 050ac8fc590b5466a0d9c2d3d43cca8dc9d36683 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 14:28:07 -0500 Subject: gnu: Add ruby-date. * gnu/packages/ruby.scm (ruby-date): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index eb98024ef6..bac3e75cae 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -670,6 +670,28 @@ (define-public ruby-rspec-core-2 "0psjy5kdlz3ph39br0m01w65i1ikagnqlg39f8p65jh5q7dz8hwc")))) (propagated-inputs `()))) +(define-public ruby-date + (package + (name "ruby-date") + (version "3.3.3") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruby/date") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1jiqjnaap1jk1r8z37iicnzqha1rhc713qmcir17f4vnz8ac8v75")))) + (build-system ruby-build-system) + (arguments (list #:test-target "default")) + (native-inputs (list ruby-rake-compiler)) + (synopsis "Ruby @code{Object} subclass with date comparison capability") + (description "This package provides a subclass of @code{Object} that +includes the @code{Comparable} module for handling dates.") + (home-page "https://github.com/ruby/date") + (license license:bsd-2))) + (define-public ruby-diff-lcs (package (name "ruby-diff-lcs") -- cgit v1.2.3 From 9ba7446afae9d793413b07c10c2a7a1394274af3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 14:45:16 -0500 Subject: gnu: Add ruby-net-imap. * gnu/packages/ruby.scm (ruby-net-imap): New variable. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index bac3e75cae..15ad4001e6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4015,6 +4015,41 @@ (define-public ruby-net-http-persistent (home-page "https://github.com/drbrain/net-http-persistent") (license license:expat))) +(define-public ruby-net-imap + (package + (name "ruby-net-imap") + (version "0.3.4") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/net-imap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0nx49i1n9q1wpancqaac2srrpb8mb43mc8wryyqyhpgki2grwyxw")))) + (build-system ruby-build-system) + (arguments + ;; The test suite appears to rely on RFCs it tries fetching from the + ;; network (see: https://github.com/ruby/net-imap/issues/136). + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-before 'replace-git-ls-files 'adjust-for-git-ls-files + (lambda _ + ;; Adjust the git ls-files invocation so that it matches + ;; the expected pattern. + (substitute* "net-imap.gemspec" + (("`git ls-files -z 2>/dev/null`") + "`git ls-files -z`"))))))) + (propagated-inputs (list ruby-date ruby-net-protocol)) + (synopsis "Ruby client api for Internet Message Access Protocol") + (description "@code{Net::IMAP} implements Internet Message Access +Protocol (IMAP) client functionality. The protocol is described in +@url{https://tools.ietf.org/html/rfc3501, IMAP}.") + (home-page "https://github.com/ruby/net-imap") + (license license:bsd-2))) + (define-public ruby-power-assert (package (name "ruby-power-assert") -- cgit v1.2.3 From abe4921a8dc019c76e2f11ec7fe86fb070ffd96b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 14:52:20 -0500 Subject: gnu: Add ruby-net-pop. * gnu/packages/ruby.scm (ruby-net-pop): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 15ad4001e6..34a2788a7c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4050,6 +4050,28 @@ (define-public ruby-net-imap (home-page "https://github.com/ruby/net-imap") (license license:bsd-2))) +(define-public ruby-net-pop + (package + (name "ruby-net-pop") + (version "0.1.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ruby/net-pop") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "05vz6a56va2rbr7ld78gdzwy1j5mzs98cz82ax5aqa83pzzk6jld")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-net-protocol)) + (synopsis "Ruby client library for POP3") + (description "This library provides functionality for retrieving email via +POP3, the Post Office Protocol version 3, as specified by +@url{http://www.ietf.org/rfc/rfc1939.txt, RFC1939}.") + (home-page "https://github.com/ruby/net-pop") + (license license:bsd-2))) + (define-public ruby-power-assert (package (name "ruby-power-assert") -- cgit v1.2.3 From 296ad7b87631ad91d40ddf85c7f43414dd43f847 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 15:00:36 -0500 Subject: gnu: Add ruby-net-smtp. * gnu/packages/ruby.scm (ruby-net-smtp): New variable. --- gnu/packages/ruby.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 34a2788a7c..c11545f544 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4072,6 +4072,28 @@ (define-public ruby-net-pop (home-page "https://github.com/ruby/net-pop") (license license:bsd-2))) +(define-public ruby-net-smtp + (package + (name "ruby-net-smtp") + (version "0.3.3") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ruby/net-smtp") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0ca2wh45xvc09rv6v6sz3vbnkzrjzk5c4l6dk50zk4dwxvghma8r")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-net-protocol)) + (synopsis "Simple Mail Transfer Protocol client library for Ruby") + (description "This library provides functionality to send Internet mail +via SMTP, the Simple Mail Transfer Protocol. The SMTP protocol specification +is known as @url{http://www.ietf.org/rfc/rfc2821.txt, RFC2821}.") + (home-page "https://github.com/ruby/net-smtp") + (license license:bsd-2))) + (define-public ruby-power-assert (package (name "ruby-power-assert") -- cgit v1.2.3 From bfb935ff3cc8e7885441331eb97f9a3846b12d71 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:48:26 -0500 Subject: gnu: ruby-actionmailbox: Update to 7.0.4.3. * gnu/packages/rails.scm (ruby-actionmailbox): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. [propagated-inputs]: Add ruby-net-imap, ruby-net-pop and ruby-net-smtp. --- gnu/packages/rails.scm | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 6e26c8966a..86ef853ca9 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -675,25 +675,27 @@ (define-public ruby-activestorage (define-public ruby-actionmailbox (package (name "ruby-actionmailbox") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "actionmailbox" version)) - (sha256 - (base32 - "0wv2p24xn4f0kj8kiyagkn934hzrcp98vzjqxwd4r75qq0cijadp")))) + (version %ruby-rails-version) + (source ruby-rails-monorepo) (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) + (arguments + (list + #:tests? #f ;avoid a cycle with ruby-rails + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "actionmailbox")))))) (propagated-inputs (list ruby-actionpack ruby-activejob ruby-activerecord ruby-activestorage ruby-activesupport - ruby-mail)) + ruby-mail + ruby-net-imap + ruby-net-pop + ruby-net-smtp)) (synopsis "Receive and process incoming emails in Rails applications") (description "ActionMailbox receives and processes incoming emails in Rails applications.") -- cgit v1.2.3 From bae30f5fddab3e63d74d5c96e18e566e61a577c9 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:52:01 -0500 Subject: gnu: ruby-actionmailer: Update to 7.0.4.3. * gnu/packages/rails.scm (ruby-actionmailer): Update to 7.0.4.3. [source]: Use ruby-rail-monorepo. [arguments]: Add #:phases argument. [propagated-inputs]: Add ruby-net-imap, ruby-net-pop and ruby-net-smtp. --- gnu/packages/rails.scm | 52 ++++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 25 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 86ef853ca9..26a1ffc121 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -704,32 +704,34 @@ (define-public ruby-actionmailbox (define-public ruby-actionmailer (package - (name "ruby-actionmailer") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "actionmailer" version)) - (sha256 - (base32 - "0lic4mc6wqi3p9ipdqljl64vd9ndabm0k8hww0m07sfdhwsl5ba9")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-actionpack - ruby-actionview - ruby-activejob - ruby-activesupport - ruby-mail - ruby-rails-dom-testing)) - (synopsis "Work with emails using the controller/view pattern") - (description - "Compose, deliver, receive, and test emails using the controller/view + (name "ruby-actionmailer") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:tests? #f ;avoid a cycle with ruby-rails + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "actionmailer")))))) + (propagated-inputs + (list ruby-actionpack + ruby-actionview + ruby-activejob + ruby-activesupport + ruby-mail + ruby-net-imap + ruby-net-pop + ruby-net-smtp + ruby-rails-dom-testing)) + (synopsis "Work with emails using the controller/view pattern") + (description + "Compose, deliver, receive, and test emails using the controller/view pattern. Including support for multipart email and attachments.") - (home-page "https://rubyonrails.org/") - (license license:expat))) + (home-page "https://rubyonrails.org/") + (license license:expat))) (define-public ruby-marcel (package -- cgit v1.2.3 From f96d37c1798b9e49a48dd8cfcd1bca36a595d873 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:58:04 -0500 Subject: gnu: ruby-sprockets: Update to 4.2.0. * gnu/packages/ruby.scm (ruby-sprockets): Update to 4.2.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c11545f544..6490a42c68 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13241,14 +13241,14 @@ (define-public ruby-globalid (define-public ruby-sprockets (package (name "ruby-sprockets") - (version "3.7.2") + (version "4.2.0") (source (origin (method url-fetch) (uri (rubygems-uri "sprockets" version)) (sha256 (base32 - "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay")))) + "0k0236g4h3ax7v6vp9k0l2fa0w6f1wqp7dn060zm4isw4n3k89sw")))) (build-system ruby-build-system) (arguments '(;; No included tests -- cgit v1.2.3 From bce7ad5ce1ee51bb81081b5d948ce9059fa0a9eb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 15:59:31 -0500 Subject: gnu: ruby-sprockets: Move to (gnu packages rails). * gnu/packages/ruby.scm (ruby-sprockets): Move to... * gnu/packages/rails.scm (ruby-sprockets): ... here. --- gnu/packages/rails.scm | 24 ++++++++++++++++++++++++ gnu/packages/ruby.scm | 24 ------------------------ 2 files changed, 24 insertions(+), 24 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 26a1ffc121..efe4a57f31 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -792,6 +792,30 @@ (define-public ruby-railties (home-page "https://rubyonrails.org") (license license:expat))) +(define-public ruby-sprockets + (package + (name "ruby-sprockets") + (version "4.2.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "sprockets" version)) + (sha256 + (base32 + "0k0236g4h3ax7v6vp9k0l2fa0w6f1wqp7dn060zm4isw4n3k89sw")))) + (build-system ruby-build-system) + (arguments + '(;; No included tests + #:tests? #f)) + (propagated-inputs + (list ruby-concurrent ruby-rack)) + (synopsis "Sprockets is a Rack-based asset packaging system") + (description + "Sprockets is a Rack-based asset packaging system that concatenates and +serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.") + (home-page "https://github.com/rails/sprockets") + (license license:expat))) + (define-public ruby-sprockets-rails (package (name "ruby-sprockets-rails") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6490a42c68..b2d05a6d8e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13238,30 +13238,6 @@ (define-public ruby-globalid (home-page "https://rubyonrails.org/") (license license:expat))) -(define-public ruby-sprockets - (package - (name "ruby-sprockets") - (version "4.2.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "sprockets" version)) - (sha256 - (base32 - "0k0236g4h3ax7v6vp9k0l2fa0w6f1wqp7dn060zm4isw4n3k89sw")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-concurrent ruby-rack)) - (synopsis "Sprockets is a Rack-based asset packaging system") - (description - "Sprockets is a Rack-based asset packaging system that concatenates and -serves JavaScript, CoffeeScript, CSS, LESS, Sass, and SCSS.") - (home-page "https://github.com/rails/sprockets") - (license license:expat))) - (define-public ruby-language-server-protocol (package (name "ruby-language-server-protocol") -- cgit v1.2.3 From 1e36d75d5ad80efd6a9374e8b098bfc895344ea2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 9 Mar 2023 16:01:18 -0500 Subject: gnu: ruby-sprockets-rails: Update to 3.4.2. * gnu/packages/rails.scm (ruby-sprockets-rails): Update to 3.4.2. --- gnu/packages/rails.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index efe4a57f31..9b789e13bd 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -819,14 +819,14 @@ (define-public ruby-sprockets (define-public ruby-sprockets-rails (package (name "ruby-sprockets-rails") - (version "3.2.1") + (version "3.4.2") (source (origin (method url-fetch) (uri (rubygems-uri "sprockets-rails" version)) (sha256 (base32 - "0ab42pm8p5zxpv3sfraq45b9lj39cz9mrpdirm30vywzrwwkm5p1")))) + "1b9i14qb27zs56hlcc2hf139l0ghbqnjpmfi0054dxycaxvk5min")))) (build-system ruby-build-system) (arguments '(;; No included tests -- cgit v1.2.3 From 52c1d3f9ce664ea4907cfd39ff4773124dc14976 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 12:44:16 -0500 Subject: gnu: Add ruby-bootsnap. * gnu/packages/rails.scm (ruby-bootsnap): New variable. --- gnu/packages/rails.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 9b789e13bd..33c0af70b2 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -733,6 +733,45 @@ (define-public ruby-actionmailer (home-page "https://rubyonrails.org/") (license license:expat))) +(define-public ruby-bootsnap + (package + (name "ruby-bootsnap") + (version "1.16.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/Shopify/bootsnap") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1gaih5v4jjndrkn0crrr5mxnwc3cd0f3i955n62ghk29zabvd7wf")))) + (build-system ruby-build-system) + (arguments + (list + #:test-target "default" + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "Gemfile" + ;; Rubocop and byebug are not actually needed to run the + ;; tests. + ((".*rubocop.*") "") + ((".*byebug.*") "")))) + (replace 'replace-git-ls-files + (lambda _ + (substitute* "bootsnap.gemspec" + (("`git ls-files -z ext lib`") + "`find ext lib -type f -print0 | sort -z`"))))))) + (native-inputs (list ruby-mocha ruby-rake-compiler)) + (propagated-inputs (list ruby-msgpack)) + (synopsis "Accelerator for large Ruby/Rails application") + (description "Bootsnap is a library that plugs into Ruby, with optional +support for YAML, to optimize and cache expensive computations.") + (home-page "https://github.com/Shopify/bootsnap") + (license license:expat))) + (define-public ruby-marcel (package (name "ruby-marcel") -- cgit v1.2.3 From 064b6b4e1a4297df742b3222c1e4032dc40f6ae3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 13:52:18 -0500 Subject: gnu: ruby-globalid: Update to 1.1.0. * gnu/packages/ruby.scm (ruby-globalid): Update to 1.1.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index b2d05a6d8e..74192c27cc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13217,14 +13217,14 @@ (define-public ruby-nio4r (define-public ruby-globalid (package (name "ruby-globalid") - (version "0.4.2") + (version "1.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "globalid" version)) (sha256 (base32 - "1zkxndvck72bfw235bd9nl2ii0lvs5z88q14706cmn702ww2mxv1")))) + "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk")))) (build-system ruby-build-system) (arguments '(;; No included tests -- cgit v1.2.3 From 167e69ccdc740dc280b54a982dc3a93e61faa615 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 13:54:11 -0500 Subject: gnu: ruby-globalid: Move to (gnu packages rails). * gnu/packages/ruby.scm (ruby-globalid): Move to... * gnu/packages/rails.scm (ruby-globalid): ... here, with minor cosmetic adjustments. --- gnu/packages/rails.scm | 23 +++++++++++++++++++++++ gnu/packages/ruby.scm | 24 ------------------------ 2 files changed, 23 insertions(+), 24 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 33c0af70b2..802c4b9dec 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -113,6 +113,29 @@ (define-public ruby-activesupport (home-page "https://rubyonrails.org/") (license license:expat))) +(define-public ruby-globalid + (package + (name "ruby-globalid") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (rubygems-uri "globalid" version)) + (sha256 + (base32 + "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk")))) + (build-system ruby-build-system) + (arguments + '(#:tests? #f)) ;no included tests + (propagated-inputs + (list ruby-activesupport)) + (synopsis "Generate URIs idenfitying model instances in Ruby") + (description + "@code{GlobalID} provides a way to generate URIs from a model in Ruby that +uniquely identify it.") + (home-page "https://rubyonrails.org/") + (license license:expat))) + (define-public ruby-spring (package (name "ruby-spring") diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 74192c27cc..ab384a6a72 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13214,30 +13214,6 @@ (define-public ruby-nio4r (home-page "https://github.com/socketry/nio4r") (license license:expat))) -(define-public ruby-globalid - (package - (name "ruby-globalid") - (version "1.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "globalid" version)) - (sha256 - (base32 - "0kqm5ndzaybpnpxqiqkc41k4ksyxl41ln8qqr6kb130cdxsf2dxk")))) - (build-system ruby-build-system) - (arguments - '(;; No included tests - #:tests? #f)) - (propagated-inputs - (list ruby-activesupport)) - (synopsis "Generate URIs idenfitying model instances in Ruby") - (description - "@code{GlobalID} provides a way to generate URIs from a model in Ruby that -uniquely identify it.") - (home-page "https://rubyonrails.org/") - (license license:expat))) - (define-public ruby-language-server-protocol (package (name "ruby-language-server-protocol") -- cgit v1.2.3 From 2a70f3030a8034e2c637ba90c1555211ed1f77f5 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 15:44:10 -0500 Subject: gnu: Add ruby-importmap-rails. * gnu/packages/rails.scm (ruby-importmap-rails-bootstrap): New private variable. (ruby-importmap-rails): New variable. --- gnu/packages/rails.scm | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 802c4b9dec..4abecb8409 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -26,6 +26,7 @@ (define-module (gnu packages rails) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (gnu packages base) #:use-module (gnu packages databases) #:use-module (gnu packages node) @@ -795,6 +796,78 @@ (define-public ruby-bootsnap (home-page "https://github.com/Shopify/bootsnap") (license license:expat))) +;;; A private variant used to bootstrap railties. +(define ruby-importmap-rails-bootstrap + (package + (name "ruby-importmap-rails-bootstrap") + (version "1.1.5") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/rails/importmap-rails") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1d8pqqqrvsnm8rpr7qkpcxpscif61xymi509v1c62laadvhcmklg")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) ;avoid all extra dependencies + ;; Leave out ruby-railties, for bootstrapping purposes. + (propagated-inputs (list ruby-actionpack)) + (synopsis "Tool to manage modern JavaScript in Rails") + (description "Import maps can import JavaScript modules using logical +names that map to versioned/digested files -- directly from the browser. It +makes it possible to build modern JavaScript applications using JavaScript +libraries made for ES modules (ESM) without the need for transpiling or +bundling, which removes the need for Webpack, Yarn, npm, or any other part of +the JavaScript toolchain. All that is needed is the asset pipeline that is +already included in Rails.") + (home-page "https://github.com/rails/importmap-rails") + (license license:expat))) + +(define-public ruby-importmap-rails + (package/inherit ruby-importmap-rails-bootstrap + (name "ruby-importmap-rails") + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (delete-file "gemfiles/rails_7_propshaft.gemfile.lock") + (substitute* "gemfiles/rails_7_propshaft.gemfile" + ;; Remove appraisal, and add tzinfo-data, which needs to + ;; be in the Gemfile to become available. + ((".*appraisal.*") + "gem 'tzinfo-data'\n") + ;; This gem is for managing *installation* of + ;; webdrivers... we do not want that. + ((".*gem \"webdrivers\".*") "")))) + (add-before 'check 'set-BUNDLE_GEMFILE + (lambda _ + ;; The default Gemfile is for Rails 6. + (setenv "BUNDLE_GEMFILE" + "gemfiles/rails_7_propshaft.gemfile"))) + (add-before 'check 'disable-problematic-tests + (lambda _ + ;; The integration tests require networking; disable them. + (delete-file "test/npm_integration_test.rb") + (delete-file "test/packager_integration_test.rb")))))) + (native-inputs + (list ruby-byebug + ruby-capybara + ruby-propshaft + ruby-rails + ruby-rexml + ruby-selenium-webdriver + ruby-sqlite3 + ruby-stimulus-rails + ruby-turbo-rails + ruby-tzinfo + ruby-tzinfo-data)) + (propagated-inputs + (list ruby-actionpack + ruby-railties)))) + (define-public ruby-marcel (package (name "ruby-marcel") -- cgit v1.2.3 From 7cb3ca626020cca1e3e372fe82837d774397440d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 10 Mar 2023 15:35:29 -0500 Subject: gnu: ruby-railties: Enable test suite. * gnu/packages/rails.scm (ruby-railties): Add a tip as comment about reviewing test suite failures. [arguments]: Delete #:tests? argument. Add delete-gemfiles, disable-bundler, do-not-load-other-gems-from-source, patch-paths, prepare-for-tests, disable-problematic-tests and set-paths phases. Move check phase after install phase. --- gnu/packages/rails.scm | 249 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 238 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 4abecb8409..fbb85f271d 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -31,6 +31,8 @@ (define-module (gnu packages rails) #:use-module (gnu packages databases) #:use-module (gnu packages node) #:use-module (gnu packages ruby) + #:use-module (gnu packages sqlite) + #:use-module (gnu packages version-control) #:use-module (guix build-system ruby)) (define %ruby-rails-version "7.0.4.3") @@ -903,6 +905,8 @@ (define-public ruby-marcel (home-page "https://github.com/rails/marcel") (license license:expat))) +;;; Pro-tip: to get a summary of the failures, run +;;; 'M-x occur [1-9][0-9]* \(failures\|errors\)' on the build log. (define-public ruby-railties (package (name "ruby-railties") @@ -910,17 +914,240 @@ (define-public ruby-railties (source ruby-rails-monorepo) (build-system ruby-build-system) (arguments - (list #:tests? #f ;requires rails to be installed - #:phases #~(modify-phases %standard-phases - (add-after 'delete-gemfiles 'chdir - (lambda _ - (chdir "railties")))))) - (propagated-inputs (list ruby-actionpack - ruby-activesupport - ruby-method-source - ruby-rake - ruby-thor - ruby-zeitwerk)) + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-gemfiles + (lambda _ + ;; Delete Gemfile and Gemfile.lock, as they contains too many + ;; dependencies not actually useful here. + (delete-file "Gemfile") + (delete-file "Gemfile.lock"))) + (add-after 'extract-gemspec 'chdir + (lambda _ + (chdir "railties"))) + (add-after 'chdir 'disable-bundler + (lambda _ + (substitute* (append (list "Rakefile") + (find-files "test" "\\.rb$") + (find-files "lib" "\\.tt$")) + ;; Do not use Bundler, which causes errors such as not finding + ;; the gem of this package (railties), or preferring the other + ;; in-source gems. + (("`bundle exec") "`") + ((".*require \"bundler/setup\".*") "") + ((".*Bundler.require.*") "")) + ;; Adjust a runtime substitution that uses a removed + ;; Bundler.require in its pattern; instead of matching + ;; "Bundler.require", it now appends to the 'require + ;; "rails/all"' line in the generated 'application.rb' template + ;; generated from + ;; "lib/rails/generators/rails/app/templates/config/application.rb.tt". + (substitute* "test/isolation/abstract_unit.rb" + (("contents.sub!\\(/\\^Bundler\\\\.require\\.\\*/, \"([^\"]*)" + _ replacement) + (format #f "contents.sub!('require \"rails/all\"', \"\\\\0\\n~a" + replacement))))) + (add-after 'chdir 'do-not-load-other-gems-from-source + (lambda _ + ;; The Rakefile adds '-I' Ruby options so that the other Rails + ;; libraries are loaded from source; since they are already + ;; packaged separately, use these instead. + (substitute* "Rakefile" + ((".*\"\\.\\./activesupport/lib\",.*") "") + ((".*\"\\.\\./actionpack/lib\",.*") "") + ((".*\"\\.\\./actionview/lib\",.*") "") + ((".*\"\\.\\./activemodel/lib\".*") "")))) + (add-after 'chdir 'patch-paths + (lambda _ + (substitute* "lib/rails/generators/base.rb" + (("/usr/bin/env") (which "env"))))) + (delete 'check) ;moved after install phase + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-before 'check 'prepare-for-tests + (lambda _ + (define (touch file-name) + (call-with-output-file file-name (const #t))) + ;; Otherwise, the test suite attempts to use yarn to fetch + ;; NodeJS modules. + (mkdir-p "../actionview/lib/assets/compiled") + (touch "../actionview/lib/assets/compiled/rails-ujs.js") + (mkdir-p "test/isolation/assets/node_modules") + ;; Git requires to be able to write to HOME. + (setenv "HOME" "/tmp"))) + (add-before 'check 'disable-problematic-tests + (lambda _ + (let-syntax ((skip-tests + (syntax-rules () + ((_ file test ...) + (substitute* file + ;; ActiveSupport test case. + (((string-append "test \"" test "\".*") all) + (string-append + all " skip 'fails on guix'\n")) ... + ;; MiniTest test case. + (((string-append "def " test ".*") all) + (string-append + all " skip('fails on guix')\n")) ...))))) + (with-directory-excursion "test" + ;; This test requires 'rails' and Bundler. + (delete-file "application/server_test.rb") + ;; These tests are incompatible with MiniTest 5.17 (see: + ;; https://github.com/rails/rails/issues/47657). + (skip-tests "generators_test.rb" + "test_invoke_with_config_values" + "test_simple_invoke" + "test_should_give_higher_preference_to_rails_generators" + "test_nested_fallbacks_for_generators" + "test_fallbacks_for_generators_on_invoke" + "test_invoke_with_default_values" + "test_invoke_with_nested_namespaces") + ;; These tests requires the assets which we lack. + (delete-file "application/assets_test.rb") + (delete-file "railties/generators_test.rb") + (skip-tests "generators/shared_generator_tests.rb" + ;; This test checks that bin/rails has /usr/bin/env has a + ;; shebang and fails. + "test_shebang_when_is_the_same_as_default_use_env") + (skip-tests "generators/app_generator_test.rb" + ;; This test requires networking. + "test_template_from_url" + ;; This test requires Bundler. + "test_generation_use_original_bundle_environment" + ;; This test requires assets. + "test_css_option_with_cssbundling_gem" + ;; These tests require the rails/command + ;; namespace provided by the 'ruby-rails' + ;; package, which depends on this one. + "test_css_option_with_asset_pipeline_tailwind" + "test_hotwire") + (skip-tests + "generators/plugin_generator_test.rb" + ;; These tests require assets. + "test_model_with_existent_application_record_in_mountable_engine" + "test_dummy_application_loads_plugin" + "test_generate_application_mailer_when_does_not_exist_in_\ +mountable_engine" + "test_generate_mailer_layouts_when_does_not_exist_in_mountable_engine" + "test_ensure_that_migration_tasks_work_with_mountable_option" + "test_generating_controller_inside_mountable_engine" + "test_generate_application_job_when_does_not_exist_in_mountable_engine" + "test_run_default" + ;; This test expects a /usr/bin/env shebang. + "test_shebang") + ;; The following generator tests require assets. + (skip-tests "generators/plugin_test_runner_test.rb" + "test_run_default") + (skip-tests + "generators/scaffold_controller_generator_test.rb" + "test_controller_tests_pass_by_default_inside_full_engine" + "test_controller_tests_pass_by_default_inside_mountable_engine") + (skip-tests + "generators/scaffold_generator_test.rb" + "test_scaffold_tests_pass_by_default_inside_mountable_engine" + "test_scaffold_tests_pass_by_default_inside_api_mountable_engine" + "test_scaffold_tests_pass_by_default_inside_api_full_engine" + "test_scaffold_on_invoke_inside_mountable_engine" + "test_scaffold_tests_pass_by_default_inside_full_engine" + "test_scaffold_tests_pass_by_default_inside_namespaced_\ +mountable_engine") + (skip-tests "generators/test_runner_in_engine_test.rb" + "test_run_default" + "test_rerun_snippet_is_relative_path") + ;; The actions_test tests depend on assets or the rails gem. + (delete-file "generators/actions_test.rb") + (skip-tests "engine/commands_test.rb" + "test_server_command_work_inside_engine" + "test_runner_command_work_inside_engine") + ;; These tests fails because of cleanup code + ;; when the environment lacks a PTY device (see: + ;; https://github.com/rails/rails/issues/47656). + (delete-file "engine/commands_test.rb") + ;; The following tests require the 'rails' gem. + (skip-tests "application/test_runner_test.rb" + "test_run_app_without_rails_loaded" + "test_generated_scaffold_works_with_rails_test" + "test_load_fixtures_when_running_test_suites" + "test_run_in_parallel_with_unmarshable_exception" + "test_run_in_parallel_with_unknown_object") + (skip-tests + "application/test_test.rb" + "automatically synchronizes test schema after rollback" + "hooks for plugins" + "sql structure migrations when adding column to existing table" + "sql structure migrations" + "ruby schema migrations") + ;; These tests require a PostgreSQL server accepting + ;; connections under /var/run/postgresql. + (skip-tests + "application/rake_test.rb" + "test_not_protected_when_previous_migration_was_not_production") + (delete-file "application/rake/dbs_test.rb") + (delete-file "application/rake/migrations_test.rb") + (delete-file "application/rake/multi_dbs_test.rb") + (skip-tests "engine/test_test.rb" + "automatically synchronize test schema") + (skip-tests "isolation/abstract_unit.rb" "use_postgresql") + (skip-tests "railties/engine_test.rb" + "active_storage:install task works within engine" + "active_storage:update task works within engine" + "rake environment can be called in the engine" + "mountable engine should copy migrations within engine_path" + ;; This test fails because we do not use the + ;; in-source active/action gems. + "i18n files have lower priority than application ones" + ;; This test fails when not using Bundler. + "setting priority for engines with config.railties_order") + ;; This test requires a database server or networking. + (delete-file "application/bin_setup_test.rb") + (skip-tests "application/middleware/cache_test.rb" + ;; This test produces "miss, store" instead of + ;; "fresh". + "test_cache_works_with_expires" + ;; This one produces "miss" instead of "stale, + ;; valid, store". + "test_cache_works_with_etags" + ;; Likewise. + "test_cache_works_with_last_modified"))))) + (add-before 'check 'set-paths + (lambda _ + (setenv "PATH" (string-append (getenv "PATH") ":" + #$output "/bin")) + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby"))))))) + (native-inputs + (list git-minimal/pinned + ruby-actioncable + ruby-actionmailbox + ruby-actionmailer + ruby-actiontext + ruby-actionview + ruby-activejob + ruby-activemodel + ruby-activerecord + ruby-activestorage + ruby-bcrypt + ruby-bootsnap + ruby-capybara + ruby-dalli + ruby-importmap-rails-bootstrap + ruby-listen + ruby-minitest-retry + ruby-mysql2 + ruby-pg + ruby-selenium-webdriver + ruby-sprockets-rails + ruby-webrick + sqlite)) + (propagated-inputs + (list ruby-actionpack + ruby-activesupport + ruby-method-source + ruby-rake + ruby-thor + ruby-zeitwerk)) (synopsis "Rails internals, including application bootup and generators") (description "@code{railties} provides the core Rails internals including handling application bootup, plugins, generators, and Rake tasks.") -- cgit v1.2.3 From efbdb3452b25d6f130dfff40f95598e4107c1344 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 11:31:11 -0400 Subject: gnu: Add ruby-propshaft. * gnu/packages/rails.scm (ruby-propshaft): New variable. --- gnu/packages/rails.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index fbb85f271d..8f174920ec 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -905,6 +905,30 @@ (define-public ruby-marcel (home-page "https://github.com/rails/marcel") (license license:expat))) +(define-public ruby-propshaft + (package + (name "ruby-propshaft") + (version "0.7.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "propshaft" version)) + (sha256 + (base32 + "19s5qvfady49b9b6dcvz6nsna1lvckw509ddh3ihmdz0w4qrjy49")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-actionpack ruby-activesupport ruby-rack + ruby-railties)) + (synopsis "Asset pipeline library for Rails") + (description "Propshaft is an asset pipeline library for Rails. It's +built for an era where bundling assets to save on HTTP connections is no +longer urgent, where JavaScript and CSS are either compiled by dedicated +Node.js bundlers or served directly to the browsers, and where increases in +bandwidth have made the need for minification less pressing. These factors +allow for a dramatically simpler and faster asset pipeline compared to +previous options, like Sprockets.") + (home-page "https://github.com/rails/propshaft") + (license license:expat))) + ;;; Pro-tip: to get a summary of the failures, run ;;; 'M-x occur [1-9][0-9]* \(failures\|errors\)' on the build log. (define-public ruby-railties -- cgit v1.2.3 From 0ee681728902c01db4233f10bea40a15e03453bd Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 11:32:13 -0400 Subject: gnu: Add ruby-stimulus-rails. * gnu/packages/rails.scm (ruby-stimulus-rails): New variable. --- gnu/packages/rails.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 8f174920ec..925b95c3b2 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -1226,6 +1226,24 @@ (define-public ruby-sprockets-rails "https://github.com/rails/sprockets-rails") (license license:expat))) +(define-public ruby-stimulus-rails + (package + (name "ruby-stimulus-rails") + (version "1.2.1") + (source (origin + (method url-fetch) + (uri (rubygems-uri "stimulus-rails" version)) + (sha256 + (base32 + "12hfdzh6cwahbd6p4r0r0d14n3laj3cqasx9w18wga9fq70bq6w3")))) + (build-system ruby-build-system) + (propagated-inputs (list ruby-railties)) + (synopsis "Modest JavaScript framework for Rails") + (description "This package provides a modest JavaScript framework for the +HTML you already have.") + (home-page "https://stimulus.hotwired.dev") + (license license:expat))) + (define-public ruby-web-console (package (name "ruby-web-console") -- cgit v1.2.3 From 7e1e75055b67d75795c1cc0aa462165d17948a9c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 11:58:31 -0400 Subject: gnu: Add ruby-turbo-rails. * gnu/packages/rails.scm (ruby-turbo-rails): New variable. --- gnu/packages/rails.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 925b95c3b2..04aa2d3f89 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -1244,6 +1244,34 @@ (define-public ruby-stimulus-rails (home-page "https://stimulus.hotwired.dev") (license license:expat))) +(define-public ruby-turbo-rails + (package + (name "ruby-turbo-rails") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "turbo-rails" version)) + (sha256 + (base32 + "0vm3iqgr3kxyyz5i09lhvfszp4pw1gw5j5rhhv1gmasv4kq2p3qh")))) + (build-system ruby-build-system) + ;; The test suite depends on JavaScript modules fetched via 'yarn'. + (arguments (list #:tests? #f)) + (propagated-inputs (list ruby-actionpack ruby-activejob ruby-railties)) + (synopsis "High performance web application framework") + (description + "Turbo aims to be as fast as single-page web application without having +to write any JavaScript. Turbo accelerates links and form submissions without +requiring server-side changes to the generated HTML. It allows carving up a +page into independent frames, which can be lazy-loaded and operated as +independent components. Finally, it helps making partial page updates using +just HTML and a set of CRUD-like container tags. These three techniques +reduce the amount of custom JavaScript that many web applications need to +write by an order of magnitude. And for the few dynamic bits that are left, +Stimulus can be used.") + (home-page "https://github.com/hotwired/turbo-rails") + (license license:expat))) + (define-public ruby-web-console (package (name "ruby-web-console") -- cgit v1.2.3 From bb44a9f6cc38eca81f4680c48b35cd0c69569a3e Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 12:31:06 -0400 Subject: gnu: ruby-rails: Update to 7.0.4.3. * gnu/packages/rails.scm (ruby-rails): Update to 7.0.4.3. [source]: use ruby-rails-monorepo. [arguments]: Add delete-extraneous-gemspec-files phase. Delete trailing #t. --- gnu/packages/rails.scm | 102 +++++++++++++++++++++++++------------------------ 1 file changed, 52 insertions(+), 50 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 04aa2d3f89..ddb27a1d77 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -1342,57 +1342,59 @@ (define-public ruby-with-advisory-lock (home-page "https://closuretree.github.io/with_advisory_lock/") (license license:expat))) +;;; This is a meta-package which propagates all the individual Rails +;;; components. (define-public ruby-rails (package - (name "ruby-rails") - (version "6.1.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rails" version)) - (sha256 - (base32 - "0hdancysa617lzyy5gmrcmnpgyb1mz1lawy0l34ycz2wary7y2bz")))) - (build-system ruby-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - ;; This gem acts as glue between the gems that actually make up - ;; Rails. The important thing to check is that the gemspec matches up - ;; with the Guix packages and Rubygems can successfully activate the - ;; Rails gem. - ;; - ;; The following check phase tests this. - (delete 'check) - (add-after 'install 'check - (lambda* (#:key tests? outputs #:allow-other-keys) - (setenv "GEM_PATH" - (string-append - (getenv "GEM_PATH") - ":" - (assoc-ref outputs "out") "/lib/ruby/vendor_ruby")) - (when tests? - (invoke "ruby" "-e" "gem 'rails'")) - #t))))) - (propagated-inputs - (list ruby-actioncable - ruby-actionmailbox - ruby-actionmailer - ruby-actionpack - ruby-actiontext - ruby-actionview - ruby-activejob - ruby-activemodel - ruby-activerecord - ruby-activestorage - ruby-activesupport - bundler - ruby-railties - ruby-sprockets-rails)) - (synopsis "Full-stack web framework optimized for programmer happiness") - (description - "Ruby on Rails is a full-stack web framework optimized for programmer + (name "ruby-rails") + (version %ruby-rails-version) + (source ruby-rails-monorepo) + (build-system ruby-build-system) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'delete-extraneous-gemspec-files + (lambda _ + ;; They would otherwise be picked up instead of rails.gemspec at + ;; the root of the repository. + (for-each (lambda (f) + (unless (string-suffix? "rails.gemspec" f) + (delete-file f))) + (find-files "." "\\.gemspec")))) + ;; This gem acts as glue between the gems that actually make up + ;; Rails. The important thing to check is that the gemspec matches + ;; up with the Guix packages and Rubygems can successfully activate + ;; the Rails gem. + ;; + ;; The following check phase tests this. + (delete 'check) + (add-after 'install 'check + (lambda* (#:key tests? outputs #:allow-other-keys) + (when tests? + (setenv "GEM_PATH" + (string-append (getenv "GEM_PATH") ":" #$output + "/lib/ruby/vendor_ruby")) + (invoke "ruby" "-e" "gem 'rails'"))))))) + (propagated-inputs + (list bundler + ruby-actioncable + ruby-actionmailbox + ruby-actionmailer + ruby-actionpack + ruby-actiontext + ruby-actionview + ruby-activejob + ruby-activemodel + ruby-activerecord + ruby-activestorage + ruby-activesupport + ruby-railties + ruby-sprockets-rails)) + (synopsis "Full-stack web framework optimized for programmer happiness") + (description + "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.") - (home-page "https://rubyonrails.org/") - (license license:expat))) + (home-page "https://rubyonrails.org/") + (license license:expat))) -- cgit v1.2.3 From f372d3f2e2b300d39a3c0c6e7aa967938e7852be Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 14:56:34 -0400 Subject: gnu: ruby-spring: Update to 4.1.1. * gnu/packages/rails.scm (ruby-spring): Update to 4.1.1. [arguments]: Use gexps. Delete trailing #t. Preserve activesupport dependency spec. --- gnu/packages/rails.scm | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index ddb27a1d77..5cbb063456 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -142,33 +142,29 @@ (define-public ruby-globalid (define-public ruby-spring (package (name "ruby-spring") - (version "1.7.2") + (version "4.1.1") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rails/spring") - (commit (string-append "v" version)))) + (url "https://github.com/rails/spring") + (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "0smwrndjmnr7g7jjskw05zin3gh6kx5db6yrkiqi6i9wl5mrn9n5")))) + "0p8hidxqnk8s1gfm1s1xb06gbbahdxjmzy6x3ybi25nkmdp0anb6")))) (build-system ruby-build-system) (arguments - `(#:test-target "test:unit" - #:phases - (modify-phases %standard-phases - (add-before 'check 'remove-bump - (lambda _ - (substitute* "spring.gemspec" - (("gem.add_development_dependency 'bump'") "") - (("gem.add_development_dependency 'activesupport'.*") - "gem.add_development_dependency 'activesupport'\n")) - (substitute* "Rakefile" - (("require \\\"bump/tasks\\\"") "")) - #t))))) - (native-inputs - (list bundler ruby-activesupport)) + (list #:test-target "test:unit" + #:phases + #~(modify-phases %standard-phases + (add-before 'check 'remove-bump + (lambda _ + (substitute* "spring.gemspec" + (("gem.add_development_dependency 'bump'") "")) + (substitute* "Rakefile" + (("require \\\"bump/tasks\\\"") ""))))))) + (native-inputs (list bundler ruby-activesupport)) (synopsis "Ruby on Rails application preloader") (description "Spring is a Ruby on Rails application preloader. It speeds up -- cgit v1.2.3 From ac633a7acb449d75bce12560f4c3586a400eeb33 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 5 Mar 2023 23:30:41 -0500 Subject: gnu: Add ruby-dotenv-rails. * gnu/packages/ruby.scm (ruby-dotenv-rails): New variable. --- gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ab384a6a72..6093273bc8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10460,6 +10460,42 @@ (define-public ruby-dotenv (home-page "https://github.com/bkeepers/dotenv") (license license:expat))) +(define-public ruby-dotenv-rails + (package + (inherit ruby-dotenv) + (name "ruby-dotenv-rails") + (arguments + (substitute-keyword-arguments (package-arguments ruby-dotenv) + ((#:phases phases '%standard-phases) + #~(modify-phases #$phases + (delete 'do-not-build-dotenv-rails) + (add-after 'unpack 'delete-Gemfile + (lambda _ + ;; It defines extraneous dependencies; remove it. + (delete-file "Gemfile"))) + (add-after 'unpack 'remove-extraneous-gemspec + (lambda _ + (delete-file "dotenv.gemspec") + (substitute* "Gemfile" + ((".*\"dotenv\".*") "")) + (substitute* "Rakefile" + ;; Remove the dotenv-related Rake tasks. + (("Bundler::GemHelper.install_tasks name: \"dotenv\"") + "") + (("\"dotenv:[^\"]*\", ") + "")))) + (replace 'replace-git-ls-files + (lambda _ + (substitute* "dotenv-rails.gemspec" + (("`git ls-files lib \\| grep rails`") + "`find lib -type f | sort | grep rails`")))))))) + (native-inputs (list ruby-rspec ruby-spring ruby-standard)) + (propagated-inputs (list ruby-dotenv ruby-railties)) + (synopsis "Ruby library for setting environment variables in Rails project") + (description "Dotenv is a Ruby library for setting environment variables +defined in a @file{.env} file. This is the Rails variant, adapted for use +with Ruby on Rails projects."))) + (define-public ruby-http-cookie (package (name "ruby-http-cookie") -- cgit v1.2.3 From f00552b1b17fe8840c70e4058241ea7149b4c236 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 16:25:49 -0400 Subject: gnu: Add ruby-flores. * gnu/packages/ruby.scm (ruby-flores): New variable. --- gnu/packages/ruby.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6093273bc8..07be7d7755 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3996,6 +3996,31 @@ (define-public ruby-fiber-local (home-page "https://github.com/socketry/fiber-local") (license license:expat))) +(define-public ruby-flores + (package + (name "ruby-flores") + (version "0.0.8") + (source (origin + (method url-fetch) + (uri (rubygems-uri "flores" version)) + (sha256 + (base32 + "0pd8gqgy67rp1baq5r7himl0r9jzv5kqlhdmqh8wngynv548w2ai")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs (list ruby-rspec ruby-simplecov)) + (synopsis "Fuzzing, randomization, and stress testing library") + (description "Flores is a fuzzing, randomization, and stress library to +help tests uncover more bugs.") + (home-page "https://github.com/jordansissel/ruby-flores") + (license license:asl2.0))) + (define-public ruby-net-http-persistent (package (name "ruby-net-http-persistent") -- cgit v1.2.3 From 23a3ab5e760281031eaee0e4214a3a0b1f1f3dc8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 16:30:07 -0400 Subject: gnu: Add ruby-pleaserun. * gnu/packages/ruby.scm (ruby-pleaserun): New variable. --- gnu/packages/ruby.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 07be7d7755..f6d328c56d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4119,6 +4119,48 @@ (define-public ruby-net-smtp (home-page "https://github.com/ruby/net-smtp") (license license:bsd-2))) +(define-public ruby-pleaserun + (package + (name "ruby-pleaserun") + (version "0.0.32") + (source (origin + (method url-fetch) + (uri (rubygems-uri "pleaserun" version)) + (sha256 + (base32 + "1aykf0l8327bqkkf5xd9jcglsib973zpy37cfnlf4j0vp0cdpn2d")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "pleaserun.gemspec" + ;; Mustache is pinned at 0.99.8, for portability with + ;; older Rubies. + (("dependency\\(%q.freeze.*") + "dependency(%q.freeze)\n")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; The cli_spec.rb test fails non-deterministically with + ;; a Errno::EISDIR error (see: + ;; https://github.com/jordansissel/pleaserun/issues/155) + (invoke "rspec" "--exclude-pattern" "cli_spec.rb"))))))) + (native-inputs (list ruby-flores ruby-rspec)) + (propagated-inputs (list ruby-cabin + ruby-clamp + ruby-dotenv + ruby-insist + ruby-mustache + ruby-stud)) + (synopsis "Init scripts and service definitions generation tool") + (description "Pleaserun is a tool to generate startup scripts and service +definitions. It targets service managers such as systemd, Upstart, launchd, +sysv init, and runit.") + (home-page "https://github.com/jordansissel/pleaserun") + (license license:asl2.0))) + (define-public ruby-power-assert (package (name "ruby-power-assert") -- cgit v1.2.3 From 7ff1f703b690a62029a82fa0ea6cdc11c9d56875 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 16:39:23 -0400 Subject: gnu: Add ruby-arr-pm. * gnu/packages/ruby.scm (ruby-arr-pm): New variable. --- gnu/packages/ruby.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f6d328c56d..e2880a983a 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5899,6 +5899,33 @@ (define-public ruby-multi-test (home-page "https://github.com/cucumber/multi_test") (license license:expat))) +(define-public ruby-arr-pm + (package + (name "ruby-arr-pm") + (version "0.0.12") + (source (origin + (method url-fetch) + (uri (rubygems-uri "arr-pm" version)) + (sha256 + (base32 + "0fddw0vwdrr7v3a0lfqbmnd664j48a9psrjd3wh3k4i3flplizzx")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs (list ruby-flores ruby-insist ruby-rspec ruby-stud)) + (synopsis "RPM reader/writer library written in Ruby") + (description "This library allows reading and writing RPM packages. It is +used by the @command{fpm} tool. It is written in pure Ruby because +@code{librpm} is not available on all systems and requires many +dependencies.") + (home-page "https://github.com/jordansissel/ruby-arr-pm") + (license license:asl2.0))) + (define-public ruby-arel (package (name "ruby-arel") -- cgit v1.2.3 From a10ed614cc2ecb3e5dc99f356e63665e2a74f8d4 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 17:21:02 -0400 Subject: gnu: Add perl-app-cpanminus. * gnu/packages/perl.scm (perl-app-cpanminus): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 3d9fa5ac83..cc92b7af80 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -552,6 +552,27 @@ (define-public perl-any-moose variable ANY_MOOSE to be Moose or Mouse.") (license (package-license perl)))) +(define-public perl-app-cpanminus + (package + (name "perl-app-cpanminus") + (version "1.7046") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-" + version ".tar.gz")) + (sha256 + (base32 + "0qpq1x24dcrm7bm2qj814nkmxg8mzkdn6wcirjd8yd578jdrv31y")))) + (build-system perl-build-system) + (home-page "https://metacpan.org/release/App-cpanminus") + (synopsis "CPAN package manager") + (description "App::cpanminus is a script to get, unpack, build and install +modules from CPAN and does nothing else. It's dependency free (can bootstrap +itself), requires zero configuration, and stands alone. When running, it +requires only 10MB of RAM.") + (license (package-license perl)))) + (define-public perl-app-xml-docbook-builder (package (name "perl-app-xml-docbook-builder") -- cgit v1.2.3 From c55c9f5fb5861bf0ac753130c9765a49ec09f8bb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 17:02:40 -0400 Subject: gnu: ruby-minitest: Update home page URL. * gnu/packages/ruby.scm (ruby-minitest) [home-page]: Update URL. --- gnu/packages/ruby.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e2880a983a..2612727402 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5072,7 +5072,7 @@ (define-public ruby-minitest "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe)) - (home-page "https://github.com/seattlerb/minitest") + (home-page "https://github.com/minitest/minitest") (synopsis "Small test suite library for Ruby") (description "Minitest provides a complete suite of Ruby testing facilities supporting TDD, BDD, mocking, and benchmarking.") -- cgit v1.2.3 From fb0bee3fcd372fd51fcf55856c305dab5ed688b1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 17:06:24 -0400 Subject: gnu: ruby-minitest: Update to 5.18.0. * gnu/packages/ruby.scm (ruby-minitest): Update to 5.18.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 2612727402..d6f10abadd 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5063,13 +5063,13 @@ (define-public ruby-net-scp (define-public ruby-minitest (package (name "ruby-minitest") - (version "5.17.0") + (version "5.18.0") (source (origin (method url-fetch) (uri (rubygems-uri "minitest" version)) (sha256 (base32 - "1kjy67qajw4rnkbjs5jyk7kc3lyhz5613fwj1i8f6ppdk4zampy0")))) + "0ic7i5z88zcaqnpzprf7saimq2f6sad57g5mkkqsrqrcd6h3mx06")))) (build-system ruby-build-system) (native-inputs (list ruby-hoe)) (home-page "https://github.com/minitest/minitest") -- cgit v1.2.3 From 5a693a3235a01e8ce6258ec57d31a36856858a45 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 14 Mar 2023 21:25:06 -0400 Subject: gnu: ruby-rubocop-rspec-minimal: Update source and home page URL. * gnu/packages/ruby.scm (ruby-rubocop-rspec-minimal): Update source and home page URL. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d6f10abadd..6d22846917 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1748,7 +1748,7 @@ (define ruby-rubocop-rspec-minimal (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rubocop-hq/rubocop-rspec") + (url "https://github.com/rubocop/rubocop-rspec") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -1759,7 +1759,7 @@ (define ruby-rubocop-rspec-minimal (synopsis "Code style checking for RSpec files") (description "This package provides a plugin for the RuboCop code style enforcing & linting tool.") - (home-page "https://github.com/rubocop-hq/rubocop-rspec") + (home-page "https://github.com/rubocop/rubocop-rspec") (license license:expat))) (define-public ruby-rubocop-rspec -- cgit v1.2.3 From 7e5c0dc8746c673a31266394987ec026cd99bb24 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Mon, 13 Mar 2023 22:28:36 -0400 Subject: gnu: Add fpm. * gnu/packages/package-management.scm (fpm): New variable. * gnu/packages/patches/fpm-newer-clamp-fix.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/package-management.scm | 86 ++++++++++++++++++++++++++ gnu/packages/patches/fpm-newer-clamp-fix.patch | 33 ++++++++++ 3 files changed, 120 insertions(+) create mode 100644 gnu/packages/patches/fpm-newer-clamp-fix.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 52be2b1bab..74114a2ba4 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1136,6 +1136,7 @@ dist_patch_DATA = \ %D%/packages/patches/fp16-implicit-double.patch \ %D%/packages/patches/fp16-system-libraries.patch \ %D%/packages/patches/fpc-reproducibility.patch \ + %D%/packages/patches/fpm-newer-clamp-fix.patch \ %D%/packages/patches/freedink-engine-fix-sdl-hints.patch \ %D%/packages/patches/freeimage-unbundle.patch \ %D%/packages/patches/fuse-glibc-2.34.patch \ diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index b439f9326c..537d01e164 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -59,6 +59,7 @@ (define-module (gnu packages package-management) #:use-module (gnu packages crypto) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages debian) #:use-module (gnu packages dejagnu) #:use-module (gnu packages dbm) #:use-module (gnu packages docbook) @@ -87,6 +88,7 @@ (define-module (gnu packages package-management) #:use-module (gnu packages nettle) #:use-module (gnu packages networking) #:use-module (gnu packages ninja) + #:use-module (gnu packages node) #:use-module (gnu packages nss) #:use-module (gnu packages patchutils) #:use-module (gnu packages perl) @@ -98,6 +100,7 @@ (define-module (gnu packages package-management) #:use-module (gnu packages python-check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) + #:use-module (gnu packages ruby) #:use-module (gnu packages serialization) #:use-module (gnu packages sqlite) #:use-module (gnu packages ssh) @@ -117,6 +120,7 @@ (define-module (gnu packages package-management) #:use-module (guix build-system guile) #:use-module (guix build-system meson) #:use-module (guix build-system python) + #:use-module (guix build-system ruby) #:use-module (guix build-system trivial) #:use-module (guix download) #:use-module (guix gexp) @@ -2005,6 +2009,88 @@ (define-public flatpak sandboxed desktop applications on GNU/Linux.") (license license:lgpl2.1+))) +(define-public fpm + (package + (name "fpm") + (version "1.15.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/jordansissel/fpm") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1m2zxf7wyk7psvm611yxs68hnwm0pyqilsmcq3x791hz7rvbg68w")) + (patches (search-patches "fpm-newer-clamp-fix.patch")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'patch-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("lib/fpm/util.rb" + "spec/fpm/util_spec.rb" + "spec/fpm/package/rpm_spec.rb") + (("\"/bin/sh\"") + (string-append "\"" (search-input-file inputs "bin/sh") + "\""))))) + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "fpm.gemspec" + (("\"clamp\", \"~> 1.0.0\"") + "\"clamp\", \">= 1.0.0\"")))) + (add-after 'extract-gemspec 'disable-problematic-tests + ;; Disable some tests which are failing (see: + ;; https://github.com/jordansissel/fpm/issues/2000). + (lambda _ + ;; There are 4 'NoMethodError' test failures in the + ;; command_spec suite, for unknown reasons. + (delete-file "spec/fpm/command_spec.rb") + (substitute* "spec/fpm/package_spec.rb" + (("@oldtmp = ENV\\[\"TMP\"]" all) + "skip('fails with guix')")) + (substitute* "spec/fpm/package/cpan_spec.rb" + ;; This test is marked as expected to fail (pending) when + ;; TRAVIS_OS_NAME is set, but passes with Guix; skip it. + (("it \"should unpack tarball containing" all) + (string-append "x" all))) + (substitute* "spec/fpm/package/gem_spec.rb" + ;; This test fails for unknown reason; perhaps a patched + ;; shebang. + (("it 'should not change the shebang'" all) + (string-append "x" all))))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Set TRAVIS_OS_NAME to skip tests known to cause + ;; problems in minimal environments. + (setenv "TRAVIS_OS_NAME" "GNU Guix") + (invoke "rspec"))))))) + (native-inputs + (list dpkg + libarchive + node + perl-app-cpanminus + python + ruby-rspec + squashfs-tools + zstd)) + (inputs + (list bash-minimal + ruby-arr-pm + ruby-backports + ruby-cabin + ruby-clamp + ruby-pleaserun + ruby-rexml + ruby-stud)) + (home-page "https://github.com/jordansissel/fpm/") + (synopsis "Package building and mangling tool") + (description "@command{fpm} is a command to convert directories, RPMs, +Python eggs, Ruby gems, and more to RPMs, debs, Solaris packages and more.") + (license license:expat))) + (define-public akku (package (name "akku") diff --git a/gnu/packages/patches/fpm-newer-clamp-fix.patch b/gnu/packages/patches/fpm-newer-clamp-fix.patch new file mode 100644 index 0000000000..9fbb15ee29 --- /dev/null +++ b/gnu/packages/patches/fpm-newer-clamp-fix.patch @@ -0,0 +1,33 @@ +Retrieved from: https://github.com/jordansissel/fpm/pull/1561.patch + +From 956a218a7b35de08ea35da3b702ffdc716656b68 Mon Sep 17 00:00:00 2001 +From: Jordan Sissel +Date: Mon, 15 Oct 2018 21:05:47 -0700 +Subject: [PATCH] Check if an option has a default value before we try to look + it up. + +This fixes fpm when used with clamp 1.3.0 or above. + +Fixes #1543 +--- + lib/fpm/command.rb | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/lib/fpm/command.rb b/lib/fpm/command.rb +index a204001e1..a99ddb627 100644 +--- a/lib/fpm/command.rb ++++ b/lib/fpm/command.rb +@@ -394,7 +394,12 @@ def execute + set = proc do |object, attribute| + # if the package's attribute is currently nil *or* the flag setting for this + # attribute is non-default, use the value. +- if object.send(attribute).nil? || send(attribute) != send("default_#{attribute}") ++ ++ # Not all options have a default value, so we assume `nil` if there's no default. (#1543) ++ # In clamp >= 1.3.0, options without `:default => ..` will not have any # `default_xyz` ++ # methods generated, so we need to check for the presence of this method first. ++ default = respond_to?("default_#{attribute}") ? send("default_#{attribute}") : nil ++ if object.send(attribute).nil? || send(attribute) != default + logger.info("Setting from flags: #{attribute}=#{send(attribute)}") + object.send("#{attribute}=", send(attribute)) + end -- cgit v1.2.3 From a6f56be1031624aa15781224a3161bd44e1862c0 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 10:11:11 -0400 Subject: gnu: ruby-braintree: Update to 4.10.0. * gnu/packages/ruby.scm (ruby-braintree): Update to 4.10.0. [source]: Streamline comment. [arguments]: Add disable-rubocop phase. Rename the less-strict-dependencies phase to relax-requirements, and update the substitutions. [native-inputs]: Remove ruby-rubocop. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 6d22846917..d3c9ab9c7e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -15149,42 +15149,45 @@ (define-public ruby-pry-rescue (define-public ruby-braintree (package (name "ruby-braintree") - (version "4.7.0") + (version "4.10.0") (source (origin - (method git-fetch) - ;; Download from GitHub because the rubygems version does not contain - ;; Rakefile. + (method git-fetch) ;for tests (uri (git-reference (url "https://github.com/braintree/braintree_ruby") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "1gixqf9vsjsyrk45lf9xcz0ggdydpgsk8ahknd27bbigz1j4pdf6")))) + (base32 "01b5bp8q038ray5wwg3qhg4hj3r5a48vnfzs3gxkdjm5ky6bmn4p")))) (build-system ruby-build-system) (arguments `(#:test-target "test:unit" #:phases (modify-phases %standard-phases - (add-after 'unpack 'less-strict-dependencies + (add-after 'unpack 'disable-rubocop + (lambda _ + (substitute* "Rakefile" + (("sh \"rubocop\"") "")))) + (add-after 'unpack 'relax-requirements (lambda _ (substitute* "Gemfile" - (("gem \"libxml-ruby\", \"3.2.0\"") + (("gem \"libxml-ruby\", \"3.2.0\"") "gem \"libxml-ruby\", \"~> 3.0.0\"") (("gem \"rspec\", \"3.9.0\"") - "gem \"rspec\", \"~> 3.8.0\"") - (("gem \"rubocop\", \"~>1.12.0\"") - "gem \"rubocop\", \"~> 1.10.0\""))))))) + "gem \"rspec\", \">= 3.9.0\"") + (("gem \"webrick\", \"~>1.7.0\"") + "gem \"webrick\", \">=1.7.0\"") + ((".*gem \"rubocop\".*") "") + ((".*gem \"rspec_junit_formatter\".*") ""))))))) (native-inputs (list ruby-libxml - ruby-pry - ruby-rake - ruby-rspec - ruby-rubocop - ruby-webrick)) + ruby-pry + ruby-rake + ruby-rspec + ruby-webrick)) (propagated-inputs (list ruby-builder - ruby-rexml)) + ruby-rexml)) (home-page "https://www.braintreepayments.com/") (synopsis "Integration access to the Braintree Gateway") (description "Braintree provides resources and tools for developers to -- cgit v1.2.3 From 9b0c794d2cd2969a0949fde6cc1011c44d54a79f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 11:09:23 -0400 Subject: gnu: ruby-protobuf: Update to 3.10.3. * gnu/packages/protobuf.scm (ruby-protobuf): Update to 3.10.3. Delete trailing #t. [arguments]: Use search-input-file in patch-protoc phase. Honor #:tests? in check phase. --- gnu/packages/protobuf.scm | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/protobuf.scm b/gnu/packages/protobuf.scm index a746b7de9c..82cf8f452d 100644 --- a/gnu/packages/protobuf.scm +++ b/gnu/packages/protobuf.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2016 Leo Famulari ;;; Copyright © 2017, 2018, 2019, 2022 Ricardo Wurmus ;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice -;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer +;;; Copyright © 2020, 2021, 2022, 2023 Maxim Cournoyer ;;; Copyright © 2020 Vinicius Monego ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2021 Felix Gruber @@ -513,7 +513,7 @@ (define-public emacs-protobuf-mode (define-public ruby-protobuf (package (name "ruby-protobuf") - (version "3.10.3") + (version "3.10.7") (source (origin (method git-fetch) (uri (git-reference @@ -522,7 +522,7 @@ (define-public ruby-protobuf (file-name (git-file-name name version)) (sha256 (base32 - "1yzz7jgpp6qip5d6qhzbkf5gqaydfk3z3c1ngccwzp6w6wa75g8a")))) + "12hp1clg83jfl35x1h2ymzpj5w83wrnqw7hjfc6mqa8lsvpw535r")))) (build-system ruby-build-system) (arguments `(#:phases @@ -530,8 +530,7 @@ (define-public ruby-protobuf (add-after 'unpack 'do-not-use-bundler-for-tests (lambda _ (substitute* "spec/spec_helper.rb" - (("Bundler\\.setup.*") "")) - #t)) + (("Bundler\\.setup.*") "")))) (add-after 'unpack 'relax-version-requirements (lambda _ (substitute* ((@@ (guix build ruby-build-system) first-gemspec)) @@ -540,33 +539,30 @@ (define-public ruby-protobuf (("\"rubocop\",.*") "'rubocop'\n") (("\"parser\",.*") - "'parser'\n")) - #t)) + "'parser'\n")))) (add-after 'unpack 'patch-protoc (lambda* (#:key inputs #:allow-other-keys) - (let ((protoc (assoc-ref inputs "protobuf"))) - (substitute* "lib/protobuf/tasks/compile.rake" - (("\"protoc\"") - (string-append "\"" protoc "/bin/protoc" "\""))) - #t))) + (substitute* "lib/protobuf/tasks/compile.rake" + (("\"protoc\"") + (string-append "\"" (search-input-file inputs "bin/protoc") + "\""))))) (add-after 'unpack 'skip-failing-test ;; See: https://github.com/ruby-protobuf/protobuf/issues/419 (lambda _ (substitute* "spec/lib/protobuf/rpc/connectors/ping_spec.rb" (("expect\\(::IO\\)\\.to receive\\(:select\\).*" all) - (string-append " pending\n" all))) - #t)) + (string-append " pending\n" all))))) (add-after 'replace-git-ls-files 'replace-more-git-ls-files (lambda _ (substitute* ((@@ (guix build ruby-build-system) first-gemspec)) (("`git ls-files -- \\{test,spec,features\\}/*`") "`find test spec features -type f | sort`") (("`git ls-files -- bin/*`") - "`find bin -type f | sort`")) - #t)) + "`find bin -type f | sort`")))) (replace 'check - (lambda _ - (invoke "rspec")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) (native-inputs (list ruby-benchmark-ips ruby-ffi-rzmq @@ -584,7 +580,10 @@ (define-public ruby-protobuf (inputs (list protobuf)) (propagated-inputs - (list ruby-activesupport ruby-middleware ruby-thor ruby-thread-safe)) + (list ruby-activesupport + ruby-middleware + ruby-thor + ruby-thread-safe)) (home-page "https://github.com/ruby-protobuf/protobuf") (synopsis "Implementation of Google's Protocol Buffers in Ruby") (description "Protobuf is an implementation of Google's Protocol Buffers -- cgit v1.2.3 From 513718fbd2128c2d1a63fb1d28a011598c64b740 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 13:13:17 -0400 Subject: gnu: ruby-temple: Update to 0.10.0. * gnu/packages/ruby.scm (ruby-temple): Update to 0.10.0. [source]: Fetch via git. [arguments]: New field. [native-inputs]: Replace ruby-erubis with ruby-erubi. Add ruby-rspec. --- gnu/packages/ruby.scm | 43 ++++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index d3c9ab9c7e..510df2a4c5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -4233,21 +4233,38 @@ (define-public ruby-locale (define-public ruby-temple (package (name "ruby-temple") - (version "0.8.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "temple" version)) - (sha256 - (base32 - "060zzj7c2kicdfk6cpnn40n9yjnhfrr13d0rsbdhdij68chp2861")))) + (version "0.10.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/judofyr/temple") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0rr9fnlcgj9nm3b6hzzjsvcw8x3y7z48j7slk7xxff2mh8s7y3y0")))) (build-system ruby-build-system) - (native-inputs - (list ruby-tilt ruby-bacon ruby-erubis)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'replace-git-ls-files 'replace-more-git-ls-files + (lambda _ + (substitute* "temple.gemspec" + ;; There no longer are test, spec or features + ;; directories. + ((".*`git ls-files -- \\{test,spec,features}/\\*`.*") + "") + ;; There isn't any bin directory either. + ((".*`git ls-files -- bin/\\*`.*") + "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "rspec"))))))) + (native-inputs (list ruby-bacon ruby-erubi ruby-rspec ruby-tilt)) (synopsis "Template compilation framework in Ruby") - (description - "Temple is an abstraction and framework for compiling templates to pure -Ruby.") + (description "Temple is an abstraction and framework for compiling +templates to pure Ruby.") (home-page "https://github.com/judofyr/temple") (license license:expat))) -- cgit v1.2.3 From 0ef4d1af3394f180086f004e89f3de6e7b6e0c7b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 13:18:11 -0400 Subject: gnu: ruby-slim: Update to 5.1.0. * gnu/packages/ruby.scm (ruby-slim): Update to 5.1.0. [arguments]: Delete trailing #t. [native-inputs]: Add ruby-rspec-core. --- gnu/packages/ruby.scm | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 510df2a4c5..febd1e80ce 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1337,14 +1337,14 @@ (define-public ruby-patron (define-public ruby-slim (package (name "ruby-slim") - (version "4.1.0") + (version "5.1.0") (source (origin (method url-fetch) (uri (rubygems-uri "slim" version)) (sha256 (base32 - "0gjx30g84c82qzg32bd7giscvb4206v7mvg56kc839w9wjagn36n")))) + "1rp437r8hr9kdgabb7c96yw4z2wyrajl4cxiij038y10f8i6hbn4")))) (build-system ruby-build-system) (arguments `(#:phases @@ -1358,18 +1358,16 @@ (define-public ruby-slim "def skipped_test_render_with_markdown")) (substitute* "test/translator/test_translator.rb" (("raise (\"Missing test for.*)" _ tail) - (string-append "print " tail))) - #t)) + (string-append "print " tail))))) ;; See: https://salsa.debian.org/ruby-team/ruby-slim/-/commit/ ;; 824862bd99d1675bc699d8fc71ba965a785c1f44. (add-after 'unpack 'prevent-bundler-interference (lambda _ (substitute* "Rakefile" (("require 'bundler/setup'") "nil") - (("Bundler::GemHelper\\.install_tasks") "nil")) - #t))))) + (("Bundler::GemHelper\\.install_tasks") "nil"))))))) (native-inputs - (list ruby-rack-test ruby-sinatra)) + (list ruby-rack-test ruby-rspec-core ruby-sinatra)) (propagated-inputs (list ruby-temple ruby-tilt)) (synopsis "Minimalist template language for Ruby") -- cgit v1.2.3 From 602635d3739aa1527f92b8fda5f53a8e0685e9cb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 13:45:17 -0400 Subject: gnu: ruby-prawn-svg: Fix build. The test suite fails two tests when using a newer rspec version. * gnu/packages/ruby.scm (ruby-prawn-svg) [arguments]: Delete the interface_spec.rb test suite in the check phase. --- gnu/packages/ruby.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index febd1e80ce..3f90febc43 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1529,15 +1529,19 @@ (define-public ruby-prawn-svg "0mbxzw7r7hv43db9422flc24ib9d8bdy1nasbni2h998jc5a5lb6")))) (build-system ruby-build-system) (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'do-not-use-bundler - (lambda _ - (substitute* "spec/spec_helper.rb" - ((".*[Bb]undler.*") "")))) - (replace 'check - (lambda* (#:key tests? #:allow-other-keys) - (when tests? - (invoke "rspec" "-Ilib" "-rprawn-svg"))))))) + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'do-not-use-bundler + (lambda _ + (substitute* "spec/spec_helper.rb" + ((".*[Bb]undler.*") "")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; This test fails due to the recent rspec 3.12 used + ;; (see: https://github.com/mogest/prawn-svg/issues/151). + (delete-file "spec/prawn/svg/interface_spec.rb") + (invoke "rspec" "-Ilib" "-rprawn-svg"))))))) (native-inputs (list ruby-rspec)) (propagated-inputs (list ruby-css-parser ruby-prawn)) (synopsis "SVG renderer for the Prawn PDF library") -- cgit v1.2.3 From 8a6707866a315c10de9d22ec417529e4368e61fe Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 14:35:41 -0400 Subject: gnu: ruby-web-console: Update to 4.2.0. * gnu/packages/rails.scm (ruby-web-console): Update to 4.2.0. [arguments]: Delete trailing #t. [propagated-inputs]: Add ruby-arel. --- gnu/packages/rails.scm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 5cbb063456..15f10f9181 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -1271,7 +1271,7 @@ (define-public ruby-turbo-rails (define-public ruby-web-console (package (name "ruby-web-console") - (version "4.1.0") + (version "4.2.0") (source (origin ;; Download from GitHub as test files are not provided in the gem. @@ -1282,7 +1282,7 @@ (define-public ruby-web-console (file-name (git-file-name name version)) (sha256 (base32 - "0azk8nmimnjbh74vxgwcj9jr588rj7kb5rrlclcjfjsw9jqjzckc")))) + "07mg9nq7h48n01hps1m0g2nk94zknab6mrcxsv8x2vaf2xfgjilg")))) (build-system ruby-build-system) (arguments '(#:phases @@ -1298,10 +1298,9 @@ (define-public ruby-web-console (("group :development") "[].each") ;; tzinfo-data is propagated by ruby-activesupport, but it ;; needs to be in the Gemfile to become available. - (("group :test do") "group :test do\n gem 'tzinfo-data'")) - #t))))) + (("group :test do") "group :test do\n gem 'tzinfo-data'"))))))) (propagated-inputs - (list ruby-actionview ruby-activemodel ruby-bindex ruby-railties)) + (list ruby-actionview ruby-activemodel ruby-arel ruby-bindex ruby-railties)) (native-inputs (list bundler ruby-rails ruby-mocha ruby-simplecov)) (synopsis "Debugging tool for your Ruby on Rails applications") -- cgit v1.2.3 From 28078fb5059f6df7ed227856c9756712cd2888c1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 15:30:35 -0400 Subject: gnu: Add ruby-minitest-profile. * gnu/packages/ruby.scm (ruby-minitest-profile): New variable. --- gnu/packages/ruby.scm | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3f90febc43..0527e65970 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5284,6 +5284,23 @@ (define-public ruby-minitest-power-assert (home-page "https://github.com/hsbt/minitest-power_assert") (license license:bsd-2))) +(define-public ruby-minitest-profile + (package + (name "ruby-minitest-profile") + (version "0.0.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "minitest-profile" version)) + (sha256 + (base32 + "13h4nwbq6yv7hsaa7dpj90lry4rc5qqnpzvm9n2s57mm2xi31xfa")))) + (build-system ruby-build-system) + (synopsis "Display the slowest tests in a MiniTest suite") + (description "This package provides a MiniTest plugin for displaying the +slowest tests in a minitest suite.") + (home-page "https://github.com/nmeans/minitest-profile") + (license license:expat))) + (define-public ruby-minitest-pretty-diff ;; Use git reference because gem is out of date and does not contain testing ;; script. There are no releases on GitHub. -- cgit v1.2.3 From 60ea0da654bb9fa42cda89dae84cc67e0a73647c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 16:31:40 -0400 Subject: gnu: ruby-terminal-table: Update to 3.0.2. * gnu/packages/ruby.scm (ruby-terminal-table): Update to 3.0.2. [source]: Fetch via git. [arguments]: Delete remove-gemfile-lock phase. [native-inputs]: Add ruby-term-ansicolor. --- gnu/packages/ruby.scm | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0527e65970..aa1e6210e0 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13183,20 +13183,19 @@ (define-public ruby-pathutil (define-public ruby-terminal-table (package (name "ruby-terminal-table") - (version "2.0.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "terminal-table" version)) - (sha256 - (base32 - "18rbrh464ysqbdv53iwj0r8frshn65566kyj044cp3x9c2754jwh")))) + (version "3.0.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tj/terminal-table") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1c3f7ng3lxq962n8sbmlsvjx6srh5i801wzsyhxmfz2g880f5jps")))) (arguments '(#:phases (modify-phases %standard-phases - (add-before 'check 'remove-gemfile-lock - (lambda _ - (delete-file "Gemfile.lock"))) (add-before 'check 'remove-unnecessary-dependencies (lambda _ (substitute* "terminal-table.gemspec" @@ -13212,7 +13211,7 @@ (define-public ruby-terminal-table (propagated-inputs (list ruby-unicode-display-width)) (native-inputs - (list ruby-rspec)) + (list ruby-rspec ruby-term-ansicolor)) (home-page "https://github.com/tj/terminal-table") (synopsis "Simple, feature rich ASCII table generation library") (description -- cgit v1.2.3 From 4140757450792e698d3f8bdbc9fe11dd7fa6800f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 21:46:20 -0400 Subject: gnu: ruby-liquid: Update to 4.0.3. * gnu/packages/ruby.scm (ruby-liquid): Update to 4.0.3. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index aa1e6210e0..626c6ea4d4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13091,13 +13091,13 @@ (define-public ruby-launchy (define-public ruby-liquid (package (name "ruby-liquid") - (version "4.0.0") + (version "4.0.3") (source (origin (method url-fetch) (uri (rubygems-uri "liquid" version)) (sha256 (base32 - "17fa0jgwm9a935fyvzy8bysz7j5n1vf1x2wzqkdfd5k08dbw3x2y")))) + "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by")))) (build-system ruby-build-system) (arguments `(#:tests? #f)); No rakefile (home-page "https://shopify.github.io/liquid/") -- cgit v1.2.3 From 05d00e585efe55665f5daed068724ad4eef1cf65 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 21:51:35 -0400 Subject: gnu: ruby-shoulda-context: Update to 2.0.0. * gnu/packages/ruby.scm (ruby-shoulda-context): Update to 2.0.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 626c6ea4d4..100df594e7 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10078,14 +10078,14 @@ (define-public ruby-sqlite3 (define-public ruby-shoulda-context (package (name "ruby-shoulda-context") - (version "1.2.2") + (version "2.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "shoulda-context" version)) (sha256 (base32 - "1l0ncsxycb4s8n47dml97kdnixw4mizljbkwqc3rh05r70csq9bc")))) + "0d1clcp92jv8756h09kbc55qiqncn666alx0s83za06q5hs4bpvs")))) (build-system ruby-build-system) (arguments `(#:phases -- cgit v1.2.3 From d2b8af9b827d6a67ff999a5f672ba190dfa97e44 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 17 Mar 2023 22:06:10 -0400 Subject: gnu: ruby-shoulda-context: Honor #:tests?. * gnu/packages/ruby.scm (ruby-shoulda-context) [arguments]: Honor #:tests? in check phase. --- gnu/packages/ruby.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 100df594e7..e2093161d7 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10091,10 +10091,11 @@ (define-public ruby-shoulda-context `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - ;; Do not run tests to avoid circular dependence with rails. - ;; Instead just import the library to test. - (invoke "ruby" "-Ilib" "-r" "shoulda-context")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Do not run tests to avoid circular dependence with rails. + ;; Instead just import the library to test. + (invoke "ruby" "-Ilib" "-r" "shoulda-context"))))))) (synopsis "Test::Unit context framework extracted from Shoulda") (description "@code{shoulda-context} is the context framework extracted from Shoulda. -- cgit v1.2.3 From 253f51dcbb110644842becc2fb91adf599dc8d83 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 21:51:54 -0400 Subject: gnu: ruby-shoulda-matchers: Update to 5.3.0. * gnu/packages/ruby.scm (ruby-shoulda-matchers): Update to 5.3.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e2093161d7..0c7dc39d50 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10108,14 +10108,14 @@ (define-public ruby-shoulda-context (define-public ruby-shoulda-matchers (package (name "ruby-shoulda-matchers") - (version "3.1.2") + (version "5.3.0") (source (origin (method url-fetch) (uri (rubygems-uri "shoulda-matchers" version)) (sha256 (base32 - "1zvv94pqk5b5my3w1shdz7h34xf2ldhg5k4qfdpbwi2iy0j9zw2a")))) + "11igjgh16dl5pwqizdmclzlzpv7mbmnh8fx7m9b5kfsjhwxqdfpn")))) (build-system ruby-build-system) (arguments `(#:phases -- cgit v1.2.3 From 7800103c8189cde3eebdc1c083fb104ced63ba59 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 17 Mar 2023 22:06:43 -0400 Subject: gnu: ruby-shoulda-matchers: Honor #:tests?. * gnu/packages/ruby.scm (ruby-shoulda-matchers) [arguments]: Honor #:tests? in check phase. --- gnu/packages/ruby.scm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 0c7dc39d50..faf3dafdda 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10121,10 +10121,11 @@ (define-public ruby-shoulda-matchers `(#:phases (modify-phases %standard-phases (replace 'check - (lambda _ - ;; Do not run tests to avoid circular dependence with rails. Instead - ;; just import the library to test. - (invoke "ruby" "-Ilib" "-r" "shoulda-matchers")))))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Do not run tests to avoid circular dependence with rails. Instead + ;; just import the library to test. + (invoke "ruby" "-Ilib" "-r" "shoulda-matchers"))))))) (propagated-inputs (list ruby-activesupport)) (synopsis "Collection of testing matchers extracted from Shoulda") -- cgit v1.2.3 From 208cf6916e7a9708c1ae6cc49c129719ca0089a7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 21:52:14 -0400 Subject: gnu: ruby-shoulda: Update to 4.0.0. * gnu/packages/ruby.scm (ruby-shoulda): Update to 4.0.0. [arguments]: Add relax-requirements phase. [propagated-inputs]: Replace ruby-shoulda-matchers-2 with ruby-shoulda-matchers. (ruby-shoulda-matchers-2): Delete variable. --- gnu/packages/ruby.scm | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index faf3dafdda..24b5546ecf 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10136,28 +10136,17 @@ (define-public ruby-shoulda-matchers (home-page "https://github.com/thoughtbot/shoulda-matchers") (license license:expat))) -(define-public ruby-shoulda-matchers-2 - (package - (inherit ruby-shoulda-matchers) - (version "2.8.0") - (source (origin - (method url-fetch) - (uri (rubygems-uri "shoulda-matchers" version)) - (sha256 - (base32 - "0d3ryqcsk1n9y35bx5wxnqbgw4m8b3c79isazdjnnbg8crdp72d0")))))) - (define-public ruby-shoulda (package (name "ruby-shoulda") - (version "3.5.0") + (version "4.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "shoulda" version)) (sha256 (base32 - "0csmf15a7mcinfq54lfa4arp0f4b2jmwva55m0p94hdf3pxnjymy")))) + "02lww34kn1g6lidp4rx4rs6bqvirrzxlfw1y2wm11aif8f622xz6")))) (build-system ruby-build-system) (arguments `(#:phases @@ -10165,9 +10154,17 @@ (define-public ruby-shoulda (replace 'check ;; Don't run tests to avoid circular dependence with rails. Instead ;; just import the library to test. - (lambda _ (invoke "ruby" "-Ilib" "-r" "shoulda")))))) - (propagated-inputs - (list ruby-shoulda-context ruby-shoulda-matchers-2)) + (lambda _ (invoke "ruby" "-Ilib" "-r" "shoulda"))) + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "shoulda.gemspec" + ;; An older version of shoulda-matchers (4.0) is used, out of + ;; little maintenance rather than because of an real + ;; incompatibility (see: + ;; https://github.com/thoughtbot/shoulda/issues/275). + ((", \\[\"~> 4.0\"]") ""))))))) + (propagated-inputs + (list ruby-shoulda-context ruby-shoulda-matchers)) (synopsis "Context framework and matchers for testing") (description "@code{shoulda} is a meta-package combining @code{shoulda-context} and -- cgit v1.2.3 From 2a34881356ae60ea2426a4008bbae8a24f9a3468 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 17 Mar 2023 22:07:34 -0400 Subject: gnu: ruby-shoulda: Honor #:tests?. * gnu/packages/ruby.scm (ruby-shoulda) [arguments]: Honor #:tests? in check phase. --- gnu/packages/ruby.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 24b5546ecf..f02ed79588 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -10152,9 +10152,11 @@ (define-public ruby-shoulda `(#:phases (modify-phases %standard-phases (replace 'check - ;; Don't run tests to avoid circular dependence with rails. Instead - ;; just import the library to test. - (lambda _ (invoke "ruby" "-Ilib" "-r" "shoulda"))) + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Don't run tests to avoid circular dependence with rails. + ;; Instead just import the library to test. + (invoke "ruby" "-Ilib" "-r" "shoulda")))) (add-after 'extract-gemspec 'relax-requirements (lambda _ (substitute* "shoulda.gemspec" -- cgit v1.2.3 From 7885580b77a5d3ca88e4e0a8f59a104006b6e5d8 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 22:13:47 -0400 Subject: gnu: ruby-unf-ext: Update to 0.0.8.2. * gnu/packages/ruby.scm (ruby-unf-ext): Update to 0.0.8.2. --- gnu/packages/ruby.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f02ed79588..e8f6aaacea 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -7686,13 +7686,13 @@ (define-public ruby-netrc (define-public ruby-unf-ext (package (name "ruby-unf-ext") - (version "0.0.7.6") + (version "0.0.8.2") (source (origin (method url-fetch) (uri (rubygems-uri "unf_ext" version)) (sha256 (base32 - "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf")))) + "1yj2nz2l101vr1x9w2k83a0fag1xgnmjwp8w8rw4ik2rwcz65fch")))) (build-system ruby-build-system) (arguments `(#:phases @@ -7704,8 +7704,7 @@ (define-public ruby-unf-ext ;; rake-compiler-dock is listed in the gemspec, but only ;; required when cross-compiling. (substitute* "unf_ext.gemspec" - ((".*rake-compiler-dock.*") "")) - #t))))) + ((".*rake-compiler-dock.*") ""))))))) (native-inputs (list bundler ruby-rake-compiler ruby-test-unit)) (synopsis "Unicode normalization form support library") -- cgit v1.2.3 From 67c80dfe4e40eec2b136de79be02b6526b06dae2 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 14:48:30 -0400 Subject: gnu: jekyll: Use gexps and remove input labels. * gnu/packages/ruby.scm (jekyll) [arguments]: Use gexps, remove trailing #t. [propagated-inputs]: Remove labels. --- gnu/packages/ruby.scm | 46 ++++++++++++++++++++++------------------------ 1 file changed, 22 insertions(+), 24 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e8f6aaacea..ff757cd5f5 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13232,31 +13232,29 @@ (define-public jekyll "0cqkh78jw8scrajyx5nla0vwm9fvp2qql3kdcvvplcq9mazy8snq")))) (build-system ruby-build-system) (arguments - ;; No rakefile, but a test subdirectory. - `(#:tests? #f - #:phases - (modify-phases %standard-phases - (add-before 'build 'fix-i18n - (lambda _ - (substitute* ".gemspec" - (("~> 0.7") ">= 0.7") - (("~> 1.14") ">= 1.14")) - #t))))) + (list #:tests? #f ;no rakefile, but a test subdirectory + #:phases + #~(modify-phases %standard-phases + (add-before 'build 'fix-i18n + (lambda _ + (substitute* ".gemspec" + (("~> 0.7") ">= 0.7") + (("~> 1.14") ">= 1.14"))))))) (propagated-inputs - `(("ruby-addressable" ,ruby-addressable) - ("ruby-colorator" ,ruby-colorator) - ("ruby-em-websocket" ,ruby-em-websocket) - ("ruby-i18n" ,ruby-i18n) - ("ruby-jekyll-sass-converter" ,ruby-jekyll-sass-converter) - ("ruby-jekyll-watch" ,ruby-jekyll-watch) - ("ruby-kramdown" ,ruby-kramdown-parser-gfm) - ("ruby-liquid" ,ruby-liquid) - ("ruby-mercenary" ,ruby-mercenary) - ("ruby-pathutil" ,ruby-pathutil) - ("ruby-rouge" ,ruby-rouge) - ("ruby-safe-yaml" ,ruby-safe-yaml) - ("ruby-sassc" ,ruby-sassc) - ("ruby-terminal-table" ,ruby-terminal-table))) + (list ruby-addressable + ruby-colorator + ruby-em-websocket + ruby-i18n + ruby-jekyll-sass-converter + ruby-jekyll-watch + ruby-kramdown-parser-gfm + ruby-liquid + ruby-mercenary + ruby-pathutil + ruby-rouge + ruby-safe-yaml + ruby-sassc + ruby-terminal-table)) (home-page "https://jekyllrb.com/") (synopsis "Static site generator") (description "Jekyll is a simple, blog aware, static site generator.") -- cgit v1.2.3 From 30d4a49372f3acf730a916d5d46b5321c697fb56 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Wed, 15 Mar 2023 23:28:12 -0400 Subject: gnu: jekyll: Update to 4.3.2 and enable tests. * gnu/packages/ruby.scm (jekyll): Update to 4.3.2. [arguments]: Enable tests. Add #:modules and #:test-target arguments. Delete fix-i18n phase. Add disable-problematic-tests and check override phases. [native-inputs]: New field. [propagated-inputs]: Add ruby-webrick. --- gnu/packages/ruby.scm | 92 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 82 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ff757cd5f5..53a5c8a0ec 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13223,23 +13223,94 @@ (define-public ruby-terminal-table (define-public jekyll (package (name "jekyll") - (version "4.2.0") + (version "4.3.2") (source (origin - (method url-fetch) - (uri (rubygems-uri "jekyll" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/jekyll/jekyll") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0cqkh78jw8scrajyx5nla0vwm9fvp2qql3kdcvvplcq9mazy8snq")))) + "1d588d7zhp526r21f9mnm204m8qy0c8h3lq3ghyg6qp8mj6hnwj4")))) (build-system ruby-build-system) (arguments - (list #:tests? #f ;no rakefile, but a test subdirectory + (list #:modules '((guix build ruby-build-system) + (guix build utils) + (ice-9 ftw) + (srfi srfi-26)) + ;; The cucumber acceptance suite is not run as it depends on an old + ;; version (5). + #:test-target "spec" #:phases #~(modify-phases %standard-phases - (add-before 'build 'fix-i18n + (add-before 'check 'disable-problematic-tests + ;; TODO: Package the missing test inputs. (lambda _ - (substitute* ".gemspec" - (("~> 0.7") ">= 0.7") - (("~> 1.14") ">= 1.14"))))))) + (with-directory-excursion "test" + ;; Requires 'jekyll-coffeescript'. + (delete-file "test_coffeescript.rb") + ;; Requires 'tomlrb'. + (delete-file "test_configuration.rb") + (substitute* "test_filters.rb" + ;; The sassify tests fail due to white space + ;; differences (see: + ;; https://github.com/jekyll/jekyll/issues/9322). + ((".*s?ssify with simple string.*" all) + (string-append all + " skip('fails on guix')\n"))) + ;; Requires kramdown-syntax-coderay. + (delete-file "test_kramdown.rb") + ;; Requires 'test-theme', usually made available from the + ;; local checkout via Bundler (not used here). + (delete-file "test_layout_reader.rb") + ;; Requires a large amount of un-packaged dependencies. + (delete-file "test_plugin_manager.rb") + ;; Requires 'classifier-reborn'. + (delete-file "test_related_posts.rb") + ;; This one causes a test failure similar to the ones for + ;; sassify above. + (delete-file "test_sass.rb") + ;; This would require running the tests via 'bundle + ;; exec', but the Gemfile contains too many (extraneous) + ;; dependencies. + (delete-file "test_site.rb") + ;; Delete the theme tests, as they require 'test-theme', + ;; usually made available from the local checkout via the + ;; Gemfile/bundler (not used here). + (for-each delete-file + (scandir + "." (cut string-prefix? "test_theme" <>))) + ;; This one also relies on 'test-theme'. + (delete-file "test_liquid_renderer.rb") + ;; This test assumes internet connectivity, negate it, as + ;; there's no Internet in the build container. + (substitute* "test_utils.rb" + (("assert Utils::Internet\\.connected\\?") + "refute Utils::Internet.connected?")) + ;; These tests fail non-deterministically (see: + ;; https://github.com/jekyll/jekyll/issues/9323). + (delete-file "test_new_command.rb") + (delete-file "test_collections.rb")))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; Invoke the test scripts manually, as 'rake test' + ;; doesn't show any failure details, making debugging + ;; needlessly difficult. + (for-each (lambda (f) + (invoke "ruby" "-I" "test" f)) + (find-files "test" "^test_.*\\.rb$")))))))) + (native-inputs + (list bundler + ruby-httpclient + ruby-minitest-profile + ruby-minitest-reporters + ruby-nokogiri + ruby-rspec + ruby-rspec-mocks + ruby-shoulda + ruby-simplecov)) (propagated-inputs (list ruby-addressable ruby-colorator @@ -13254,7 +13325,8 @@ (define-public jekyll ruby-rouge ruby-safe-yaml ruby-sassc - ruby-terminal-table)) + ruby-terminal-table + ruby-webrick)) (home-page "https://jekyllrb.com/") (synopsis "Static site generator") (description "Jekyll is a simple, blog aware, static site generator.") -- cgit v1.2.3 From 3c8c36f5435f6223b409425cac5838cefc5601ff Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 00:16:01 -0400 Subject: gnu: Add ruby-rspec-stubbed-env. * gnu/packages/ruby.scm (ruby-rspec-stubbed-env): New variable. --- gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 53a5c8a0ec..78a2fd07c4 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -952,6 +952,42 @@ (define-public ruby-rspec-rerun (home-page "https://github.com/dblock/rspec-rerun") (license license:expat))) +(define-public ruby-rspec-stubbed-env + ;; There is no release nor tag (see: + ;; https://github.com/pboling/rspec-stubbed_env/issues/7). + (let ((revision "0") + (commit "9d767dec77a6d130f6ad83c48a00a5c81b14b9fa")) + (package + (name "ruby-rspec-stubbed-env") + (version (git-version "1.0.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pboling/rspec-stubbed_env") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dy4m04h613dp0s59rknjd6h4lqs1h17mffc5kd8kh046mk8nr1p")))) + (build-system ruby-build-system) + (arguments + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'streamline-requirements + (lambda _ + ;; Remove extraneous development dependencies. + (substitute* "rspec-stubbed_env.gemspec" + ((".*bundler.*") "") + ((".*rubocop.*") ""))))))) + (native-inputs (list ruby-simplecov)) + (propagated-inputs (list ruby-rspec)) + (synopsis "RSpec plugin to stub environment variables") + (description + "This RSpec plugin can be used to stub environment variables in a scoped +context for testing.") + (home-page "https://github.com/pboling/rspec-stubbed_env") + (license license:expat)))) + (define-public ruby-rspec-wait (package (name "ruby-rspec-wait") -- cgit v1.2.3 From 6574d0e1d11deb88fef6870d30e7c4b9adb1f106 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 00:20:34 -0400 Subject: gnu: Add ruby-silent-stream. * gnu/packages/ruby.scm (ruby-silent-stream): New variable. --- gnu/packages/ruby.scm | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 78a2fd07c4..1e8778b328 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3629,6 +3629,24 @@ (define-public ruby-rubyzip (home-page "https://github.com/rubyzip/rubyzip") (license license:bsd-2))) +(define-public ruby-silent-stream + (package + (name "ruby-silent-stream") + (version "1.0.6") + (source (origin + (method url-fetch) + (uri (rubygems-uri "silent_stream" version)) + (sha256 + (base32 + "10381fpvjzfjvhgfyv700607fpa29firgf52w5w5536m4fh6x63m")))) + (build-system ruby-build-system) + (synopsis "ActiveSupport stream silencing without ActiveSupport") + (description "SilentStream is an extraction of some parts of +ActiveSupport's Kernel Reporting Core Extentions around silencing IO +streams.") + (home-page "https://github.com/pboling/silent_stream") + (license license:expat))) + (define-public ruby-simplecov-html (package (name "ruby-simplecov-html") -- cgit v1.2.3 From 7f99aec065b520485a9964d16e6bdfc32dc73cb1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 08:50:26 -0400 Subject: gnu: Add ruby-ruby-version. * gnu/packages/ruby.scm (ruby-ruby-version): New variable. --- gnu/packages/ruby.scm | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 1e8778b328..aa15f7278e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6343,6 +6343,46 @@ (define-public ruby-ruby-parser back to Ruby via the @code{ruby2ruby} library.") (license license:expat))) +(define-public ruby-ruby-version + (package + (name "ruby-ruby-version") + (version "1.0.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "ruby_version" version)) + (sha256 + (base32 + "0lvc7bd5ps3w2vq2wb02i0pi3vfcx2rnckx2ix4rjym1qf52kb2j")))) + (build-system ruby-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'delete-gem-files + ;; There are some pre-built files in the source, and + ;; registered in the .gemspec (see: + ;; https://github.com/janlelis/ruby_version/issues/1). + (lambda _ + (delete-file-recursively "pkg") + (substitute* "ruby_version.gemspec" + (("\"pkg/ruby_version-1.0.0.gem\".freeze, ") + "") + (("\"pkg/ruby_version-1.0.1.gem\".freeze, ") + "")))) + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (delete-file "Gemfile.lock") + (substitute* "ruby_version.gemspec" + (("\"Gemfile.lock\".freeze, ") "") + ;; Allow a newers versions of development dependencies. + (("~>") ">="))))))) + (native-inputs (list ruby-rdoc ruby-rubygems-tasks ruby-rspec)) + (synopsis "Ruby class for checking the Ruby version") + (description "This package provides a @code{RubyVersion} class which +offers a convenient Domain Specific Language (DSL) for checking for the right +Ruby version.") + (home-page "https://github.com/janlelis/ruby_version") + (license license:expat))) + (define-public ruby-prawn-manual-builder (package (name "ruby-prawn-manual-builder") -- cgit v1.2.3 From e936bd2b75d1951de1e6ec191365c16c41e19091 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 08:58:22 -0400 Subject: gnu: Add ruby-rspec-pending-for. * gnu/packages/ruby.scm (ruby-rspec-pending-for): New variable. --- gnu/packages/ruby.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index aa15f7278e..ee81d96a2e 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -929,6 +929,30 @@ (define-public ruby-rspec-mocks-2 (propagated-inputs (list ruby-diff-lcs)))) +(define-public ruby-rspec-pending-for + (package + (name "ruby-rspec-pending-for") + (version "0.1.16") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/pboling/rspec-pending_for") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "107l560vm0kx25w5iy5rsk9ly8dxzr81b31284j514f4hkd0qv3m")))) + (build-system ruby-build-system) + (native-inputs (list ruby-rspec ruby-simplecov)) + (propagated-inputs (list ruby-rspec-core ruby-ruby-engine + ruby-ruby-version)) + (synopsis "Skip RSpec tests for specific Ruby engines or versions") + (description "This RSpec plugin makes it easy to mark test cases as +pending or skipped for a specific Ruby engine (e.g. MRI or JRuby) or version +combinations.") + (home-page "https://github.com/pboling/rspec-pending_for") + (license license:expat))) + (define-public ruby-rspec-rerun (package (name "ruby-rspec-rerun") -- cgit v1.2.3 From 435220a4a26edb2833431114136b5dc95309c8ee Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 09:47:09 -0400 Subject: gnu: Add ruby-rspec-block-is-expected. * gnu/packages/ruby.scm (ruby-rspec-block-is-expected): New variable. --- gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ee81d96a2e..ef0f6de47d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -929,6 +929,39 @@ (define-public ruby-rspec-mocks-2 (propagated-inputs (list ruby-diff-lcs)))) +(define-public ruby-rspec-block-is-expected + (package + (name "ruby-rspec-block-is-expected") + (version "1.0.2") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/pboling/rspec-block_is_expected") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1w8mj00k8am24yw7lbhg616m111p7h7bbfxaw7np4i7wnlwzm8fk")))) + (build-system ruby-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") "")) + ;; Contains extraneous requirements not actually + ;; needed for the test suite. + (delete-file "Gemfile")))))) + (native-inputs (list ruby-rspec-pending-for ruby-rspec-expectations)) + (propagated-inputs (list ruby-rspec-core)) + (synopsis "Simplify testing of blocks in RSpec") + (description "This RSpec plugin allows you to use @code{block_is_expected} +similarly to how you would use @code{is_expected} if a block was wrapping the +subject.") + (home-page "https://github.com/pboling/rspec-block_is_expected") + (license license:expat))) + (define-public ruby-rspec-pending-for (package (name "ruby-rspec-pending-for") -- cgit v1.2.3 From 21abde896b4213c1bfcae5362687d590a3dbf8e7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 10:10:00 -0400 Subject: gnu: Add ruby-version-gem. * gnu/packages/ruby.scm (ruby-version-gem): New variable. --- gnu/packages/ruby.scm | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ef0f6de47d..c44f84dd7b 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8906,6 +8906,59 @@ (define-public ruby-varint (home-page "https://github.com/liquidm/varint") (license license:bsd-3))) +(define-public ruby-version-gem + (package + (name "ruby-version-gem") + (version "1.1.2") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://gitlab.com/oauth-xx/version_gem") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "17y4dydlczd5xvvwfy94x63d5wi14cdkfhi6g94fm1sgsxxzzmq0")))) + (build-system ruby-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Gemfile" + (("^linting = .*") + "linting = false\n") + (("^coverage = .*") + "coverage = false\n") + (("^debug = .*") + "debug = false\n")) + (substitute* "spec/spec_helper.rb" + (("^RUN_COVERAGE = .*") + "RUN_COVERAGE = false\n") + (("^ALL_FORMATTERS = .*") + "ALL_FORMATTERS = false\n")))) + (add-before 'build 'drop-signing-key-requirement + (lambda _ + (substitute* "version_gem.gemspec" + (("spec.signing_key =.*") + "spec.signing_key = nil")))) + (add-before 'check 'disable-problematic-tests + (lambda _ + (substitute* "spec/version_gem/ruby_spec.rb" + ;; The test validates the minimum version of + ;; Ruby to be 2.7.7, but because our Ruby is + ;; 2.7.4 grafted with 2.7.7, the version seen is + ;; 2.7.4 and it fails. + (("it 'returns true when current ruby greater \ +than minimum'" all) + (string-append "x" all)))))))) + (native-inputs (list ruby-rspec ruby-rspec-block-is-expected)) + (synopsis "Improved @code{Version} module for Ruby") + (description "VersionGem aims to provide introspection of a @code{Version} +module based on a @code{Version::VERSION} constant string wile not interfering +with gemspec parsing where the @code{VERSION} string is traditionally used.") + (home-page "https://gitlab.com/oauth-xx/version_gem") + (license license:expat))) + ;;; Note: Do NOT update to a newer version; this is the last commit that is ;;; still licensed as free software, the project having switched to the ;;; Hippocratic license afterward (see: -- cgit v1.2.3 From 379dfc4a7d11b1427e1a9f7027d7d5c433a18541 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 10:49:15 -0400 Subject: gnu: ruby-hashie: Update to 5.0.0 and enable tests. * gnu/packages/ruby.scm (ruby-hashie): Update to 5.0.0. [arguments]: Enable tests. Add #:test-target and #:phases arguments. [native-inputs]: New field. --- gnu/packages/ruby.scm | 35 +++++++++++++++++++++++++++-------- 1 file changed, 27 insertions(+), 8 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c44f84dd7b..368919f631 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13054,18 +13054,37 @@ (define-public ruby-rouge (define-public ruby-hashie (package (name "ruby-hashie") - (version "3.6.0") + (version "5.0.0") (source (origin - (method url-fetch) - (uri (rubygems-uri "hashie" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/hashie/hashie") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "13bdzfp25c8k51ayzxqkbzag3wj5gc1jd8h7d985nsq6pn57g5xh")))) + "0ihami0cdn71cvwzwgr3vxqvqi0ifqsna0vlyqiqlhsnf93w0cm8")))) (build-system ruby-build-system) - (native-inputs - (list bundler)) - (arguments `(#:tests? #f)); FIXME: Could not locate Gemfile or .bundle/ directory - (home-page "https://github.com/intridea/hashie") + (arguments + (list #:test-target "spec" + #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'disable-bundler + (lambda _ + (substitute* "Rakefile" + ((".*require 'bundler'.*") "") + ((".*Bundler.setup.*") "") + (("Bundler::GemHelper\\.install_tasks") "")))) + (add-after 'unpack 'disable-rubocop + (lambda _ + (substitute* "Rakefile" + (("require 'rubocop/rake_task'") "") + (("RuboCop::RakeTask.new") "")))) + (add-after 'unpack 'relax-requirements + (lambda _ + ;; Contains multiple extraneous dependencies. + (delete-file "Gemfile")))))) + (native-inputs (list ruby-json ruby-pry ruby-rspec ruby-rspec-pending-for)) + (home-page "https://github.com/hashie/hashie") (synopsis "Extensions to Ruby Hashes") (description "Hashie is a collection of classes and mixins that make Ruby hashes more powerful.") -- cgit v1.2.3 From d0b3e8984271ba3852a5a26e16b54e72d807f2e3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 10:50:48 -0400 Subject: gnu: Add ruby-snaky-hash. * gnu/packages/ruby.scm (ruby-snaky-hash): New variable. --- gnu/packages/ruby.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 368919f631..cfa0e9b1fc 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -3798,6 +3798,49 @@ (define-public ruby-simplecov-lcov (home-page "https://github.com/fortissimo1997/simplecov-lcov") (license license:expat))) +(define-public ruby-snaky-hash + (package + (name "ruby-snaky-hash") + (version "2.0.1") + (source (origin + (method git-fetch) + (uri (git-reference ;for tests + (url "https://gitlab.com/oauth-xx/snaky_hash") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0zmixxzi2g2d75zii65bq037j4g67p25l6aqddbmmwizspsp5az6")))) + (build-system ruby-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Gemfile" + (("^linting = .*") + "linting = false\n") + (("^coverage = .*") + "coverage = false\n") + (("^debug = .*") + "debug = false\n")) + (substitute* "spec/spec_helper.rb" + (("^RUN_COVERAGE = .*") + "RUN_COVERAGE = false\n") + (("^ALL_FORMATTERS = .*") + "ALL_FORMATTERS = false\n")))) + (add-before 'build 'drop-signing-key-requirement + (lambda _ + (substitute* "snaky_hash.gemspec" + (("spec.signing_key =.*") + "spec.signing_key = nil"))))))) + (native-inputs (list ruby-rspec ruby-rspec-block-is-expected)) + (propagated-inputs (list ruby-hashie ruby-version-gem)) + (synopsis "Hash keys and look-ups normalization Ruby library") + (description "The SnakyHash Ruby library provides classes for normalizing +hash keys and look-ups, and a pseudo-object interface.") + (home-page "https://gitlab.com/oauth-xx/snaky_hash") + (license license:expat))) + (define-public ruby-useragent (package (name "ruby-useragent") -- cgit v1.2.3 From 29d008a2577ef75d5f20ac13b22b5b0dec913edc Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 10:52:04 -0400 Subject: gnu: ruby-oauth2: Update to 2.0.9 and enable tests. * gnu/packages/ruby.scm (ruby-oauth2): Update to 2.0.9. [arguments]: Enable tests. Add #:phases. [native-inputs]: New field. [propagated-inputs]: Add ruby-snaky-hash. --- gnu/packages/ruby.scm | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 39 insertions(+), 10 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index cfa0e9b1fc..ddaa20040d 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2626,19 +2626,48 @@ (define-public ruby-saikuro-treemap (define-public ruby-oauth2 (package (name "ruby-oauth2") - (version "1.4.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "oauth2" version)) - (sha256 - (base32 "15i9z4j5pcjkr30lkcd79xzbr4kpmy0bqgwa436fqyqk646fv036")))) + (version "2.0.9") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://gitlab.com/oauth-xx/oauth2") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "191j1f4gjw8wij1jy2fvddgi8cv1mm0ki7v0b0795clix1avnj29")))) (build-system ruby-build-system) (arguments - '(#:tests? #f)) ; no included tests + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Gemfile" + (("^linting = .*") + "linting = false\n") + (("^coverage = .*") + "coverage = false\n") + (("^debug = .*") + "debug = false\n")) + (substitute* "spec/spec_helper.rb" + (("^RUN_COVERAGE = .*") + "RUN_COVERAGE = false\n") + (("^ALL_FORMATTERS = .*") + "ALL_FORMATTERS = false\n"))))))) + (native-inputs + (list ruby-addressable + ruby-backports + ruby-rexml + ruby-rspec-block-is-expected + ruby-rspec-pending-for + ruby-rspec-stubbed-env + ruby-silent-stream)) (propagated-inputs - (list ruby-faraday ruby-jwt ruby-multi-json ruby-multi-xml - ruby-rack)) + (list ruby-faraday + ruby-jwt + ruby-multi-json + ruby-multi-xml + ruby-rack + ruby-snaky-hash)) (synopsis "Ruby wrapper for the OAuth 2.0") (description "This package provides a Ruby wrapper for the OAuth 2.0 protocol built -- cgit v1.2.3 From 9bb320b9c64db6513c324702fc110ad71c38aa9c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 11:07:13 -0400 Subject: gnu: ruby-omniauth: Update to 2.1.1. * gnu/packages/ruby.scm (ruby-omniauth): Update to 2.1.1. [arguments]: New field. [propagated-inputs]: Add ruby-rack-test. --- gnu/packages/ruby.scm | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index ddaa20040d..c6c76dc5ff 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2678,18 +2678,32 @@ (define-public ruby-oauth2 (define-public ruby-omniauth (package (name "ruby-omniauth") - (version "2.0.3") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "omniauth" version)) - (sha256 - (base32 "105mzgvmn2kjaacxw01h4wqv33r7hfn5z8fxlkk3jcjar14j71bh")))) + (version "2.1.1") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/omniauth/omniauth") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1mm7a4ll7ymamrbsl63yi6i34qpwmh2nh5a9kj961gja1iz2gyd1")))) (build-system ruby-build-system) - (propagated-inputs - (list ruby-hashie ruby-rack ruby-rack-protection)) - (native-inputs - (list ruby-rspec)) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "spec/helper.rb" + ;; This condition is used to require coveralls and + ;; simplecov; override it to avoid these extraneous + ;; requirements. + (("RUBY_VERSION >= '1.9'") + "false") + (("require 'rack/freeze'") ""))))))) + (native-inputs (list ruby-rspec)) + (propagated-inputs (list ruby-hashie ruby-rack ruby-rack-test + ruby-rack-protection)) (synopsis "Generalized Rack framework for multiple-provider authentication") (description "This package provides a generalized Rack framework for multiple-provider -- cgit v1.2.3 From c2753cc2740306b042ff60bafe8c59f2651f7054 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 11:18:03 -0400 Subject: gnu: ruby-omniauth-oauth2: Update to 1.8.0. * gnu/packages/ruby.scm (ruby-omniauth-oauth2): Update to 1.8.0. [arguments]: Rename remove-unnecessary-dependencies phase to relax-requirements, and simplify it. [native-inputs]: Remove bundler and ruby-simplecov. --- gnu/packages/ruby.scm | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index c6c76dc5ff..8c3c9f04a8 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -2714,32 +2714,28 @@ (define-public ruby-omniauth (define-public ruby-omniauth-oauth2 (package (name "ruby-omniauth-oauth2") - (version "1.7.1") + (version "1.8.0") (source (origin (method url-fetch) (uri (rubygems-uri "omniauth-oauth2" version)) (sha256 (base32 - "10fr2b58sp7l6nfdvxpbi67374hkrvsf507cvda89jjs0jacy319")))) + "0y4y122xm8zgrxn5nnzwg6w39dnjss8pcq2ppbpx9qn7kiayky5j")))) (build-system ruby-build-system) (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'remove-unnecessary-dependencies - (lambda _ - ;; The coveralls gem submits coverage information to an online - ;; service, and is unnecessary when running the tests - (substitute* "Gemfile" - ((".*coveralls\"") "")) - (substitute* "spec/helper.rb" - (("require \"coveralls\"") "") - (("Coveralls::SimpleCov::Formatter") "")) - #t))))) - (propagated-inputs - (list ruby-oauth2 ruby-omniauth)) - (native-inputs - (list bundler ruby-rspec ruby-simplecov ruby-rack-test ruby-webmock)) + (list #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "spec/helper.rb" + ;; This condition is used to require coveralls and + ;; simplecov; override it to avoid these extraneous + ;; requirements. + (("RUBY_VERSION >= \"1.9\"") + "false"))))))) + (propagated-inputs (list ruby-oauth2 ruby-omniauth)) + (native-inputs (list ruby-rspec ruby-rack-test ruby-webmock)) (synopsis "Abstract OAuth2 strategy for OmniAuth") (description "This library provides a generic OAuth2 strategy for OmniAuth. It -- cgit v1.2.3 From e58e1e63704b20421f695023b09617486d30ea9d Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 13:47:03 -0400 Subject: gnu: ruby-cuke-modeler: Update to 3.19.0 and enable tests. * gnu/packages/ruby.scm (ruby-cuke-modeler): Update to 3.19.0. [source]: Fetch via git. [arguments]: Enable tests. Set the #:test-target argument. Add #:phases. [native-inputs]: New field. --- gnu/packages/ruby.scm | 56 +++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 45 insertions(+), 11 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 8c3c9f04a8..f193bfbec6 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6322,18 +6322,52 @@ (define-public ruby-coderay (define-public ruby-cuke-modeler (package (name "ruby-cuke-modeler") - (version "3.1.0") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "cuke_modeler" version)) - (sha256 - (base32 - "19smj3g3wvz0203l549sadpcxgh0ir350a6k78gq0bmlv9cchmjb")))) + (version "3.19.0") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/enkessler/cuke_modeler") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0bizla3k124lj4r7f2k5cdfm2sawzd6rdmb6rgbkbng2fygxsjib")))) (build-system ruby-build-system) - (arguments `(#:tests? #f)) ;no test suite in gem - (propagated-inputs - (list ruby-cucumber-gherkin)) + (arguments + (list #:test-target "default" + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'relax-requirements + (lambda _ + (substitute* "Gemfile" + ;; Cucumber appears pinned to an older version for no + ;; particular reason (see: + ;; https://github.com/enkessler/cuke_modeler/issues/14). + (("'cucumber', '2.2.0'") + "'cucumber', '>= 2.2.0'")) + ;; Disable Bundler. + (substitute* "bin/console" + (("require 'bundler/setup'") "")) + (substitute* "rakefiles/testing_tasks.rb" + (("'bundle', 'exec', ") "")) + ;; Remove extraneous dependencies. + (substitute* "cuke_modeler.gemspec" + ((".*bundler.*") "") + ((".*rubocop.*") "") + ((".*yard.*") "")) + (substitute* "Rakefile" + (("Rainbow.enabled = true") "") + (("require_relative 'rakefiles/documentation_tasks'") "") + (("require_relative 'rakefiles/other_tasks'") "") + (("require_relative 'rakefiles/release_tasks'") ""))))))) + (native-inputs + (list ruby-childprocess + ruby-cucumber + ruby-rainbow + ruby-rspec + ruby-simplecov + ruby-simplecov-lcov)) + (propagated-inputs (list ruby-cucumber-gherkin)) (synopsis "Gherkin test suite analysis tool") (description "CukeModeler facilitates modeling a test suite that is written in Gherkin (e.g. Cucumber, SpecFlow, Lettuce, etc.). It does this by -- cgit v1.2.3 From 22eeb2d86bc1c57392d882c679d4183dde091545 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 14:16:44 -0400 Subject: gnu: ruby-single-cov: Update to 1.9.1. * gnu/packages/ruby.scm (ruby-single-cov): Update to 1.9.1. [arguments]: Use "spec" as #:test-target. Strip trailing #t in phases. Adjust replacement in replace-git-ls-files phase. Remove make-files-writable phase. Add relax-requirements phase. [native-inputs]: Remove ruby-bump. --- gnu/packages/ruby.scm | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f193bfbec6..e078e278af 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6722,7 +6722,7 @@ (define-public ruby-pry-doc (define-public ruby-single-cov (package (name "ruby-single-cov") - (version "1.3.2") + (version "1.9.1") (home-page "https://github.com/grosser/single_cov") (source (origin (method git-fetch) @@ -6731,28 +6731,29 @@ (define-public ruby-single-cov (file-name (git-file-name name version)) (sha256 (base32 - "05qdzpcai1p23a120gb9bxkfl4y73k9hicx34ch2lsk31lgi9bl7")))) + "1w4k81f2mdg620m6pwkrqayddnz9mr8qx0myqn33mw8k6imfip05")))) (build-system ruby-build-system) (arguments - '(#:test-target "default" + '(#:test-target "spec" ;to avoid rubocop requirement #:phases (modify-phases %standard-phases (replace 'replace-git-ls-files (lambda _ (substitute* "single_cov.gemspec" (("`git ls-files lib/ bin/ MIT-LICENSE`") - "`find lib/ bin/ MIT-LICENSE -type f | sort`")) - #t)) + ;; There no longer appear to be a 'bin' + ;; sub-directory. + "`find lib/ MIT-LICENSE -type f | sort`")))) (add-before 'check 'remove-version-constraints (lambda _ - (delete-file "Gemfile.lock") - #t)) - (add-before 'check 'make-files-writable + (delete-file "Gemfile.lock"))) + (add-before 'check 'relax-requirements (lambda _ - ;; Tests need to create local directories and open files - ;; with write permissions. - (for-each make-file-writable - (find-files "specs" #:directories? #t)) - #t)) + ;; Remove extraneous requirements. + (substitute* "Rakefile" + ((".*require.*bump.*") "")) + (substitute* "Gemfile" + ((".*gem \"bump\".*") "") + ((".*gem \"rubocop\".*") "")))) (add-before 'check 'disable-failing-test (lambda _ ;; XXX: This test copies assets from minitest, but can @@ -6760,10 +6761,8 @@ (define-public ruby-single-cov ;; it for now. (substitute* "specs/single_cov_spec.rb" (("it \"complains when coverage is bad\"") - "xit \"complains when coverage is bad\"")) - #t))))) - (native-inputs - (list ruby-bump ruby-minitest ruby-rspec ruby-simplecov)) + "xit \"complains when coverage is bad\""))))))) + (native-inputs (list ruby-minitest ruby-rspec ruby-simplecov)) (synopsis "Code coverage reporting tool") (description "This package provides actionable code coverage reports for Ruby -- cgit v1.2.3 From ddb3eb03e40b28f14979f71254970bf53a7f82b7 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 14:52:31 -0400 Subject: gnu: ruby-parallel-tests: Update to 4.2.0. * gnu/packages/ruby.scm (ruby-parallel-tests): Update to 4.2.0. [arguments]: Delete trailing #t. Use "spec" as the #:test-target. Rename remove-version-constraints phase to relax-requirements, and update it. Add disable-problematic-tests phase. --- gnu/packages/ruby.scm | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e078e278af..e6d1ca4490 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -6382,7 +6382,7 @@ (define-public ruby-cuke-modeler (define-public ruby-parallel-tests (package (name "ruby-parallel-tests") - (version "3.0.0") + (version "4.2.0") (home-page "https://github.com/grosser/parallel_tests") (source (origin (method git-fetch) @@ -6392,19 +6392,18 @@ (define-public ruby-parallel-tests (file-name (string-append name version)) (sha256 (base32 - "08a6ndqn2dqacmc7yg48k0dh2rfrynvhkd5hiay16dl9m1r9q8pz")))) + "00gbg5q36ayspkzd6r0kg4gk46lsw9s6misx14rczxaf9kqcdrmv")))) (build-system ruby-build-system) (arguments - '(#:test-target "default" + '(#:test-target "spec" ;avoid rubocop dependency #:phases (modify-phases %standard-phases (add-after 'patch-source-shebangs 'patch-shell-invokations (lambda _ (substitute* '("lib/parallel_tests/tasks.rb" "spec/parallel_tests/tasks_spec.rb") (("/bin/sh") (which "sh")) - (("/bin/bash") (which "bash"))) - #t)) - (add-before 'check 'remove-version-constraints + (("/bin/bash") (which "bash"))))) + (add-before 'check 'relax-requirements (lambda _ ;; Remove hard coded version constraints, instead just ;; use whatever versions are available in Guix. @@ -6413,20 +6412,27 @@ (define-public ruby-parallel-tests (("'minitest',.*") "'minitest'\n") (("'cucumber',.*") - "'cucumber'\n")) - #t)) + "'cucumber'\n") + ;; Do not depend on a git-fetched spinach version. + (("gem 'spinach',.*") + "gem 'spinach'\n") + ((".*rubocop.*") "")))) (add-before 'check 'disable-rails-test (lambda _ ;; XXX: This test attempts to download and run the test ;; suites of multiple Rails versions(!) directly. - (delete-file "spec/rails_spec.rb") - #t)) + (delete-file "spec/rails_spec.rb"))) + (add-before 'check 'disable-problematic-tests + (lambda _ + ;; This test fails, probably because of the newer + ;; Cucumber version used here. + (delete-file "spec/parallel_tests/cucumber/\ +failure_logger_spec.rb") )) (add-before 'check 'set-HOME (lambda _ ;; Some tests check the output of Bundler, and fail when ;; Bundler warns that /homeless-shelter does not exist. - (setenv "HOME" "/tmp") - #t))))) + (setenv "HOME" "/tmp")))))) (native-inputs (list ruby-bump ruby-cucumber -- cgit v1.2.3 From 6f0483964ce04ff54e8d02f0e3af5284528c5595 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 15:48:13 -0400 Subject: gnu: Add ruby-sassc-rails. * gnu/packages/rails.scm (ruby-sassc-rails): New variable. --- gnu/packages/rails.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 15f10f9181..34db6825be 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -1174,6 +1174,35 @@ (define (touch file-name) (home-page "https://rubyonrails.org") (license license:expat))) +(define-public ruby-sassc-rails + (package + (name "ruby-sassc-rails") + (version "2.1.2") + (source (origin + (method url-fetch) + (uri (rubygems-uri "sassc-rails" version)) + (sha256 + (base32 + "1d9djmwn36a5m8a83bpycs48g8kh1n2xkyvghn7dr6zwh4wdyksz")))) + (build-system ruby-build-system) + ;; The test suite currently fails with multiple "FrozenError: can't modify + ;; frozen Array: []" errors, apparently caused by Rails 7 (see: + ;; https://github.com/sass/sassc-rails/pull/178/files). + (arguments (list #:tests? #f + #:phases #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "sassc-rails.gemspec" + (("%q.freeze, \\[\"~> 10.0\"]") + "%q.freeze, [\">= 10.0\"]"))))))) + (native-inputs (list ruby-mocha ruby-pry ruby-tzinfo-data)) + (propagated-inputs (list ruby-railties ruby-sassc ruby-sprockets + ruby-sprockets-rails ruby-tilt)) + (synopsis "SassC-Ruby integration with Rails") + (description "This Ruby library integrates SassC-Ruby into Rails.") + (home-page "https://github.com/sass/sassc-rails") + (license license:expat))) + (define-public ruby-sprockets (package (name "ruby-sprockets") -- cgit v1.2.3 From 6041709564c6c759455091de5bc03d31f6089a0b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 16:59:57 -0400 Subject: gnu: Add ruby-ammeter-bootstrap. * gnu/packages/rails.scm (ruby-ammeter-bootstrap): New variable. --- gnu/packages/rails.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 34db6825be..4d13615f68 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -755,6 +755,38 @@ (define-public ruby-actionmailer (home-page "https://rubyonrails.org/") (license license:expat))) +;; A variant where the ruby-rspec-rails dependency purposefully omitted to +;; avoid a dependency cycle with that same package. +(define ruby-ammeter-bootstrap + (package + (name "ruby-ammeter-bootstrap") + (version "1.1.5") + (source (origin + (method url-fetch) + (uri (rubygems-uri "ammeter" version)) + (sha256 + (base32 + "1bcslj6y3lgaknd9fpj32m1r4is7blyxygxzmwidq9cjwkrn4msh")))) + (build-system ruby-build-system) + (arguments + (list #:tests? #f + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'remove-rails-requirement + (lambda _ + (substitute* "Gemfile" + (("gem 'rspec-rails', rspec_version") + "") + (("gem 'rails', rails_version") + ""))))))) + (propagated-inputs (list ruby-activesupport ruby-railties)) + (synopsis "Write specs for your Rails 3+ generators") + (description "The @code{ammeter} gem makes it easy to write specs for +Rails generators. An existing user is @code{rspec-rails}, which uses +@code{ammeter} to spec its own generators.") + (home-page "https://github.com/alexrothenberg/ammeter") + (license license:expat))) + (define-public ruby-bootsnap (package (name "ruby-bootsnap") -- cgit v1.2.3 From 183904fef7dd508a652b1fd8d006ef405d02ab70 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 19:52:18 -0400 Subject: gnu: ruby-rspec-rails: Update to 6.0.1 and enable tests. * gnu/packages/rails.scm (ruby-rspec-rails): Update to 6.0.1. [source]: Fetch via git. [arguments]: Enable tests. Add #:phases. [native-inputs]: New field. --- gnu/packages/rails.scm | 67 +++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 58 insertions(+), 9 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 4d13615f68..8ca4ac2997 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -350,17 +350,66 @@ (define-public ruby-activerecord (define-public ruby-rspec-rails (package (name "ruby-rspec-rails") - (version "3.8.2") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "rspec-rails" version)) - (sha256 - (base32 - "1pf6n9l4sw1arlax1bdbm1znsvl8cgna2n6k6yk1bi8vz2n73ls1")))) + (version "6.0.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/rspec/rspec-rails") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0wmrpwv2vgrwmby01pld6r6sdfa265lb6pd3fp2kifs40nn7ff6b")))) (build-system ruby-build-system) (arguments - '(#:tests? #f)) ; No included tests + (list + ;; Run the 'spec' instead of the 'default' Rake target to avoid running + ;; the acceptance test suite, which doesn't seem to allow being run + ;; offline (see: https://github.com/rspec/rspec-rails/issues/2660). + #:test-target "spec" + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "Gemfile" + ;; Remove a few extraneous requirements. + ((".*yard.*") "") + ((".*github-markup.*") "") + ((".*redcarpet.*") "") + ((".*relish.*") "") + ((".*rubocop.*") "")) + (substitute* "Gemfile-rspec-dependencies" + ((", :git => \"https://github.com/rspec.*") + "\n")) + (substitute* "Gemfile-rails-dependencies" + (("gem 'puma', '< 6.0.0'") + "gem 'puma', '>= 6.0.0'")) + (substitute* "rspec-rails.gemspec" + (("'aruba', '~> 0.14.12'") + "'aruba', '>= 0.14.12'") + (("'cucumber', '~> 7.0'") + "'cucumber', '>= 7.0'")))) + (replace 'replace-git-ls-files + (lambda _ + (substitute* "rspec-rails.gemspec" + (("`git ls-files -- lib/\\*`") + "`find lib -type f |sort`")))) + (add-before 'check 'patch-tests + (lambda _ + (substitute* "spec/rspec/rails_spec.rb" + (("`git ls-files -z`") + "`find . -type f -not -regex '.*\\.gem$' -print0 | \ +sort -z | cut -zc3-`"))))))) + (native-inputs + (list ruby-ammeter-bootstrap + ruby-aruba + ruby-capybara + ruby-cucumber + ruby-puma + ruby-rails + ruby-rspec + ruby-selenium-webdriver + ruby-sqlite3)) (propagated-inputs (list ruby-actionpack ruby-activesupport -- cgit v1.2.3 From 7a07d96c1bfcf86b12afdd54b2a510955322c2bb Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 20:25:56 -0400 Subject: gnu: Add ruby-ammeter. * gnu/packages/rails.scm (ruby-ammeter): New variable. --- gnu/packages/rails.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 8ca4ac2997..0f8d3a7613 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -836,6 +836,16 @@ (define ruby-ammeter-bootstrap (home-page "https://github.com/alexrothenberg/ammeter") (license license:expat))) +(define-public ruby-ammeter + (package/inherit ruby-ammeter-bootstrap + (name "ruby-ammeter") + ;; TODO: The test suite requires multiple packages which are not packaged + ;; yet. + (arguments (list #:tests? #f)) + (propagated-inputs + (modify-inputs (package-propagated-inputs ruby-ammeter-bootstrap) + (append ruby-rspec-rails))))) + (define-public ruby-bootsnap (package (name "ruby-bootsnap") -- cgit v1.2.3 From 4688809ab4f68fe0423b18b922ca33418d832b0f Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Thu, 16 Mar 2023 20:35:23 -0400 Subject: gnu: ruby-autoprefixer-rails: Update to 10.4.13.0. * gnu/packages/rails.scm (ruby-autoprefixer-rails): Update to 10.4.13.0. [source]: Fetch via git. [phases]: Rename remove-unnecessary-dependencies to relax-requirements and update phase. [native-inputs]: Remove ruby-sass. Add ruby-sassc-rails, ruby-sprockets and ruby-standard. --- gnu/packages/rails.scm | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/rails.scm b/gnu/packages/rails.scm index 0f8d3a7613..c830620b82 100644 --- a/gnu/packages/rails.scm +++ b/gnu/packages/rails.scm @@ -231,45 +231,42 @@ (define-public ruby-debug-inspector (define-public ruby-autoprefixer-rails (package (name "ruby-autoprefixer-rails") - (version "9.4.7") - (source - (origin - (method url-fetch) - (uri (rubygems-uri "autoprefixer-rails" version)) - (sha256 - (base32 - "0fxbfl3xrrjj84n98x24yzxbz4nvm6c492dxj41kkrl9z97ga13i")))) + (version "10.4.13.0") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/ai/autoprefixer-rails") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1i34apjlav1qz8mdg2fyf0hvs5z32inv1snycdkhmqpkfj2ri2hh")))) (build-system ruby-build-system) (arguments '(#:test-target "spec" #:phases (modify-phases %standard-phases - (add-after 'extract-gemspec 'remove-unnecessary-dependencies + (add-after 'extract-gemspec 'relax-requirements (lambda _ - ;; Remove the testing of compass, as its use is deprecated, and - ;; it's unpackaged for Guix. - (substitute* "autoprefixer-rails.gemspec" - ((".*%q.*") "\n") - (("\"spec/compass_spec\\.rb\"\\.freeze, ") "")) - (delete-file "spec/compass_spec.rb") - (substitute* "Gemfile" ;; Remove overly strict requirement on sprockets ((", '>= 4\\.0\\.0\\.beta1'") "") ;; The mini_racer gem isn't packaged yet, and it's not directly ;; required, as other backends for ruby-execjs can be used. - (("gem 'mini_racer'") "") - ;; For some reason, this is required for the gems to be picked - ;; up - (("gemspec") "gemspec\ngem 'tzinfo-data'\ngem 'sass'")) - #t))))) + (("gem \"mini_racer\"") "") + ;; For some reason, this is required for the tzinfo-data gem to + ;; be picked up. + (("gemspec") "gemspec\ngem 'tzinfo-data'\n")) + (substitute* "autoprefixer-rails.gemspec" + ((".*rubocop.*") ""))))))) ;provided by 'standard' (native-inputs (list bundler ruby-rails ruby-rspec-rails - ;; This is needed for a test, but I'm unsure why - ruby-sass - ;; This is used as the ruby-execjs runtime + ruby-sassc-rails + ruby-sprockets + ruby-standard + ;; This is used at runtime by ruby-execjs. node)) (propagated-inputs (list ruby-execjs)) -- cgit v1.2.3 From a911dbbdc7896153fc87093465690e54011d78c1 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 17 Mar 2023 23:34:18 -0400 Subject: gnu: Add ruby-truthy. * gnu/packages/ruby.scm (ruby-truthy): New variable. --- gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e6d1ca4490..60be5c4932 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -14219,6 +14219,32 @@ (define-public ruby-thin (home-page "https://github.com/macournoyer/thin") (license license:ruby))) +(define-public ruby-truthy + (package + (name "ruby-truthy") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "truthy" version)) + (sha256 + (base32 + "19silgd65j3qwfk5w891p9wcmzdmi9ddm2kg5zbvvqn2h9lkfzmd")))) + (build-system ruby-build-system) + (arguments (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (substitute* "spec/spec_helper.rb" + (("require 'spec'") + "require 'rspec'")) + (invoke "rspec"))))))) + (native-inputs (list ruby-rspec)) + (synopsis "Object truthiness-related Ruby library") + (description "This library makes it easier to discover the truth values of +various Ruby objects.") + (home-page "https://github.com/ymendel/truthy") + (license license:expat))) + (define-public ruby-skinny (package (name "ruby-skinny") -- cgit v1.2.3 From 2be4b3c59bd2658c192a6d103a3639cacdb6853b Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Fri, 17 Mar 2023 23:57:16 -0400 Subject: gnu: ruby-coveralls: Propagate ruby-simplecov and enable tests. * gnu/packages/ruby.scm (ruby-coveralls) [arguments]: Enable tests. Add disable-problematic-tests phase. Replace strip-version-requirements with relax-requirements. [native-inputs]: New field. [propagated-inputs]: Add ruby-simplecov. --- gnu/packages/ruby.scm | 47 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 60be5c4932..5db81fbba7 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -9609,23 +9609,40 @@ (define-public ruby-coveralls (base32 "1mv4fn5lfxhy7bc2f1lpnc5yp9mvv97az77j4r7jgrxcqwn8fqxc")))) (build-system ruby-build-system) - ;; The test suite depends on ruby-vcr, which cannot be included in Guix - ;; because of its nonfree, Hippocratic-derived license. (arguments - `(#:tests? #f - #:phases (modify-phases %standard-phases - (add-after 'extract-gemspec 'strip-version-requirements - ;; Keeping strict version requirements can cause problems - ;; to users of the library, such as: Gem::ConflictError: - ;; Unable to activate coveralls-0.8.23, because - ;; simplecov-0.17.1 conflicts with simplecov (~> 0.16.1). - (lambda _ - (substitute* "coveralls-ruby.gemspec" - (("(.*add_.*dependency\\([^,]+), .*" _ stripped) - (string-append stripped ")\n"))) - #t))))) + (list #:test-target "default" + #:phases #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'disable-problematic-tests + (lambda _ + (substitute* "spec/coveralls/coveralls_spec.rb" + ;; This test fails for unknown reasons (perhaps + ;; networking); skip it. + (("it \"sends existing test results\"" all) + (string-append "x" all))) + ;; 3 simplecov tests fail, perhaps due to using a + ;; newer simplecov version. + (delete-file "spec/coveralls/simplecov_spec.rb") + (substitute* "coveralls-ruby.gemspec" + (("\"spec/coveralls/simplecov_spec.rb\".freeze, ") + "")))) + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "coveralls-ruby.gemspec" + (("%q.freeze, \\[\"~> 0.16.1\"]") + "%q.freeze"))))))) + (native-inputs + (list git-minimal/pinned + ruby-pry + ruby-rspec + ruby-truthy + ruby-vcr-expat + ruby-webmock)) (propagated-inputs - (list ruby-json ruby-term-ansicolor ruby-thor ruby-tins)) + (list ruby-json + ruby-term-ansicolor + ruby-thor + ruby-tins + ruby-simplecov)) (synopsis "Ruby implementation of the Coveralls API") (description "This package provides a Ruby implementation of the Coveralls API.") -- cgit v1.2.3 From 464aa1def741d87e0b42f4a5dd68278d2a18ba50 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 18 Mar 2023 00:03:40 -0400 Subject: gnu: Add ruby-spy. * gnu/packages/ruby.scm (ruby-spy): New variable. --- gnu/packages/ruby.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 5db81fbba7..a06ae4f5c1 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13848,6 +13848,38 @@ (define-public ruby-language-server-protocol (home-page "https://github.com/mtsmfm/language_server-protocol-ruby") (license license:expat))) +(define-public ruby-spy + (package + (name "ruby-spy") + (version "1.0.5") + (source (origin + (method url-fetch) + (uri (rubygems-uri "spy" version)) + (sha256 + (base32 + "0g2mma8q17m26k5s864ndlvvqllhcivwg2wdigjvb7z06iw17gds")))) + (build-system ruby-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "Gemfile" + ((".*redcarpet.*") "") + ((".*yard.*") ""))))))) + (native-inputs + (list ruby-coveralls + ruby-minitest-reporters + ruby-pry + ruby-pry-byebug + ruby-rspec-core + ruby-rspec-expectations)) + (synopsis "Mocking library for Ruby") + (description "Spy is a mocking library. By default, it will raise an +error if you attempt to stub a method that doesn't exist or call the stubbed +method with the wrong arity.") + (home-page "https://github.com/ryanong/spy") + (license license:expat))) + (define-public ruby-subprocess (package (name "ruby-subprocess") -- cgit v1.2.3 From 8b8d8d8fd9bbac8b8137f6816346f28f009ae8af Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 18 Mar 2023 00:05:59 -0400 Subject: gnu: Add ruby-liquid-c-bootstrap. * gnu/packages/ruby.scm (ruby-liquid-c-bootstrap): New variable. --- gnu/packages/ruby.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index a06ae4f5c1..657d47ab86 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13467,6 +13467,27 @@ (define-public ruby-liquid to load dynamic content on storefronts.") (license license:expat))) +;;; This variant is purposefully incomplete, lacking ruby-liquid so that it +;;; can be used for ruby-liquid's test suite. +(define ruby-liquid-c-bootstrap + (package + (name "ruby-liquid-c-bootstrap") + (version "4.1.0") + (source (origin + (method url-fetch) + (uri (rubygems-uri "liquid-c" version)) + (sha256 + (base32 + "0jl37jz9hbfbhknryx4myxqx4n1f5dzyzmf1sapkcbw93xyrmkch")))) + (build-system ruby-build-system) + (arguments (list #:tests? #f)) + (native-inputs (list ruby-rake-compiler)) + (synopsis "Liquid performance extension in C") + (description "This package provides a Partial native implementation of the +liquid ruby gem in C that makes it operate about three times faster.") + (home-page "https://github.com/shopify/liquid-c") + (license license:expat))) + (define-public ruby-localhost (package (name "ruby-localhost") -- cgit v1.2.3 From 958f1ff68da05205ab54227a55b6b636889379b3 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 18 Mar 2023 00:06:46 -0400 Subject: gnu: ruby-liquid: Update to 5.4.0 and enable tests. * gnu/packages/ruby.scm (ruby-liquid): Update to 5.4.0. [arguments]: Enable tests. Add #:phases. [native-inputs]: New field. (ruby-liquid-4): New variable. (jekyll) [propagated-inputs]: Replace ruby-liquid with ruby-liquid-4. --- gnu/packages/ruby.scm | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 657d47ab86..f759def4d9 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13452,21 +13452,57 @@ (define-public ruby-launchy (define-public ruby-liquid (package (name "ruby-liquid") - (version "4.0.3") + (version "5.4.0") (source (origin - (method url-fetch) - (uri (rubygems-uri "liquid" version)) + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/Shopify/liquid") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "0zhg5ha8zy8zw9qr3fl4wgk4r5940n4128xm2pn4shpbzdbsj5by")))) + "1qdnvd1f9zs6wyilcgxyh93wis7ikbpimjxfpbkpk2ngr1m2c8la")))) (build-system ruby-build-system) - (arguments `(#:tests? #f)); No rakefile + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (delete 'check) ;moved after the install phase + (add-after 'install 'check + (assoc-ref %standard-phases 'check)) + (add-before 'check 'set-GEM_PATH + (lambda _ + (setenv "GEM_PATH" (string-append + (getenv "GEM_PATH") ":" + #$output "/lib/ruby/vendor_ruby")))) + (add-before 'check 'delete-problematic-tests + (lambda _ + ;; The following test fails with 'Unknown tag' errors (see: + ;; https://github.com/Shopify/liquid/issues/1699). + (delete-file "test/integration/tags/inline_comment_test.rb")))))) + (native-inputs (list ruby-liquid-c-bootstrap ruby-rspec ruby-stackprof)) (home-page "https://shopify.github.io/liquid/") (synopsis "Template language") (description "Liquid is a template language written in Ruby. It is used to load dynamic content on storefronts.") (license license:expat))) +(define-public ruby-liquid-4 + (package + (inherit ruby-liquid) + (name "ruby-liquid") + (version "4.0.4") + (source (origin + (method git-fetch) ;for tests + (uri (git-reference + (url "https://github.com/Shopify/liquid") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0cr321nd0zkbxirgdfmz37xx7j26zfnicjh585fi20vx60frry83")))) + (arguments (list #:tests? #f)))) ;avoid required an older ruby-liquid-c + ;;; This variant is purposefully incomplete, lacking ruby-liquid so that it ;;; can be used for ruby-liquid's test suite. (define ruby-liquid-c-bootstrap @@ -13701,7 +13737,7 @@ (define-public jekyll ruby-jekyll-sass-converter ruby-jekyll-watch ruby-kramdown-parser-gfm - ruby-liquid + ruby-liquid-4 ruby-mercenary ruby-pathutil ruby-rouge -- cgit v1.2.3 From 1ca89c7f520995f98bf0f5ce744ab969985cf42c Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sat, 18 Mar 2023 00:07:38 -0400 Subject: gnu: Add ruby-liquid-c. * gnu/packages/ruby.scm (ruby-liquid-c): New variable. --- gnu/packages/ruby.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f759def4d9..99a1975674 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -13524,6 +13524,40 @@ (define ruby-liquid-c-bootstrap (home-page "https://github.com/shopify/liquid-c") (license license:expat))) +(define-public ruby-liquid-c + (package/inherit ruby-liquid-c-bootstrap + (name "ruby-liquid-c") + (arguments + (list + ;; Only run the unit tests, because the test:integration target fails + ;; with "File does not exist: test_helper" (see: + ;; https://github.com/Shopify/liquid-c/issues/188). + #:test-target "test:unit" + #:phases + #~(modify-phases %standard-phases + (add-after 'extract-gemspec 'relax-requirements + (lambda _ + (substitute* "Gemfile" + ;; Do not attempt to fetch a gem from git. + (("git_source\\(:github) do \\|repo_name\\|") + "if false") + ((", github: \"Shopify/liquid\", ref: \"master\"") + "") + ;; Remove extraneous dependencies. + ((".*byebug.*") "") + ((".*rubocop.*") "") + ;; Relax spy version specification. + (("gem \"spy\", \"0.4.1\"") + "gem \"spy\", \">= 0.4.1\""))))))) + (native-inputs + (list ruby-benchmark-ips + ruby-rake-compiler + ruby-ruby-memcheck + ruby-spy + ruby-stackprof)) + (propagated-inputs + (list ruby-liquid)))) + (define-public ruby-localhost (package (name "ruby-localhost") -- cgit v1.2.3 From d2aa65fc672aace78ab5541b9e05694a956ca283 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Sun, 19 Mar 2023 23:35:28 -0400 Subject: gnu: ruby-net-scp: Update to 4.0.0. * gnu/packages/ruby.scm (ruby-net-scp): Update to 4.0.0. --- gnu/packages/ruby.scm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 99a1975674..e05ec7ad52 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -5250,8 +5250,7 @@ (define-public ruby-net-ssh (define-public ruby-net-scp (package (name "ruby-net-scp") - ;; The 1.2.1 release would be incompatible with ruby-net-ssh >= 4. - (version "1.2.2.rc2") + (version "4.0.0") (source (origin (method git-fetch) @@ -5260,7 +5259,7 @@ (define-public ruby-net-scp (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1nyn17sy71fn7zs3y6wbgcn35318c10flqgc0582409095x4h0sx")))) + (base32 "1mdxh81z2hkcc359g6z96fywbr57azlv2yj4zq76adn5lyqq4hgw")))) (build-system ruby-build-system) (native-inputs (list bundler ruby-test-unit ruby-mocha)) -- cgit v1.2.3 From 7280d36783550c77240d691a69877e6d4a2d82d8 Mon Sep 17 00:00:00 2001 From: Yovan Naumovski Date: Wed, 1 Mar 2023 23:14:01 +0200 Subject: gnu: ruby-mustermann: Update to 3.0.0. * gnu/packages/ruby.scm (ruby-mustermann): Update to 3.0.0. Signed-off-by: Maxim Cournoyer --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index e05ec7ad52..3b5f21e207 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -14165,14 +14165,14 @@ (define-public ruby-mustache (define-public ruby-mustermann (package (name "ruby-mustermann") - (version "1.0.3") + (version "3.0.0") (source (origin (method url-fetch) (uri (rubygems-uri "mustermann" version)) (sha256 (base32 - "0lycgkmnyy0bf29nnd2zql5a6pcf8sp69g9v4xw0gcfcxgpwp7i1")))) + "0rwbq20s2gdh8dljjsgj5s6wqqfmnbclhvv2c2608brv7jm6jdbd")))) (build-system ruby-build-system) (arguments ;; No tests. -- cgit v1.2.3 From 21f35d2832ffe99b7bb86a05b138c266cebe7f65 Mon Sep 17 00:00:00 2001 From: Yovan Naumovski Date: Wed, 1 Mar 2023 23:19:30 +0200 Subject: gnu: ruby-rack-protection: Update to 3.0.5. * gnu/packages/ruby.scm (ruby-rack-protection): Update to 3.0.5. Signed-off-by: Maxim Cournoyer --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 3b5f21e207..3bf0f0f534 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -8239,14 +8239,14 @@ (define-public ruby-rack-session (define-public ruby-rack-protection (package (name "ruby-rack-protection") - (version "2.0.8.1") + (version "3.0.5") (source (origin (method url-fetch) (uri (rubygems-uri "rack-protection" version)) (sha256 (base32 - "1zyj97bfr1shfgwk4ddmdbw0mdkm4qdyh9s1hl0k7accf3kxx1yi")))) + "1a12m1mv8dc0g90fs1myvis8vsgr427k1arg1q4a9qlfw6fqyhis")))) (build-system ruby-build-system) (arguments '(;; Tests missing from the gem. -- cgit v1.2.3 From f215d801277a60cc1d862ed59c179cb8a482ced5 Mon Sep 17 00:00:00 2001 From: Bruno Victal Date: Sun, 26 Mar 2023 16:17:22 +0100 Subject: services: fstrim: Fix schedule ungexp. Previously, only the first level of the list would be quoted, resulting in a schedule of the sort: '(next-second (range 0 60 30)) being incorrectly ungexp'd into: (list next-second (0 30)) * gnu/services/linux.scm (fstrim-mcron-job): Fix schedule ungexp. Signed-off-by: Maxim Cournoyer --- gnu/services/linux.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu') diff --git a/gnu/services/linux.scm b/gnu/services/linux.scm index d085b375a2..439848919d 100644 --- a/gnu/services/linux.scm +++ b/gnu/services/linux.scm @@ -234,7 +234,7 @@ (define (fstrim-mcron-job config) ;; lists are ungexp'd correctly since @var{schedule} ;; can be either a procedure, a string or a list. #$(if (list? schedule) - `(list ,@schedule) + #~'(#$@schedule) schedule) (lambda () (system* #$(file-append package "/sbin/fstrim") -- cgit v1.2.3 From e05de22479ddc0775377464bd0ef4f1e946c75ce Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 21 Mar 2023 23:35:12 -0400 Subject: gnu: geeqie: Update to 2.0.1. * gnu/packages/image-viewers.scm (geeqie): Update to 2.0.1. [build-system]: Switch to meson. [arguments]: Delete field. [inputs]: Remove clutter. [native-inputs]: Add xxd. Remove autoconf and automake. * gnu/packages/patches/geeqie-clutter.patch: Delete file. * gnu/local.mk (dist_patch_DATA): De-register it. --- gnu/local.mk | 1 - gnu/packages/image-viewers.scm | 48 +++++++++---------------------- gnu/packages/patches/geeqie-clutter.patch | 35 ---------------------- 3 files changed, 13 insertions(+), 71 deletions(-) delete mode 100644 gnu/packages/patches/geeqie-clutter.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index 74114a2ba4..aee0b8a645 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1202,7 +1202,6 @@ dist_patch_DATA = \ %D%/packages/patches/gdm-remove-hardcoded-xwayland-path.patch \ %D%/packages/patches/gdm-wayland-session-wrapper-from-env.patch \ %D%/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch \ - %D%/packages/patches/geeqie-clutter.patch \ %D%/packages/patches/gemmi-fix-pegtl-usage.patch \ %D%/packages/patches/gemmi-fix-sajson-types.patch \ %D%/packages/patches/genimage-mke2fs-test.patch \ diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 0758cf5b27..470ae08a9b 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -24,7 +24,7 @@ ;;; Copyright © 2021 Zheng Junjie <873216071@qq.com> ;;; Copyright © 2021 dissent ;;; Copyright © 2022 Michael Rohleder -;;; Copyright © 2022 Maxim Cournoyer +;;; Copyright © 2022, 2023 Maxim Cournoyer ;;; Copyright © 2022 Tomasz Jeneralczyk ;;; Copyright © 2022 Cairn ;;; @@ -101,6 +101,7 @@ (define-module (gnu packages image-viewers) #:use-module (gnu packages upnp) #:use-module (gnu packages version-control) #:use-module (gnu packages video) + #:use-module (gnu packages vim) #:use-module (gnu packages web) #:use-module (gnu packages xdisorg) #:use-module (gnu packages xml) @@ -231,7 +232,7 @@ (define-public feh (define-public geeqie (package (name "geeqie") - (version "1.6") + (version "2.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -239,43 +240,20 @@ (define-public geeqie (commit (string-append "v" version)))) (sha256 (base32 - "1i9yd8lddp6b9s9vjjjzbpqj4bvwidxc6kiba6vdrk7dda5akyky")) - (file-name (git-file-name name version)) - (patches (search-patches "geeqie-clutter.patch")))) - (build-system gnu-build-system) - (arguments - ;; Enable support for a "map" pane using GPS data. - `(#:configure-flags '("CFLAGS=-O2 -g -fcommon" - "--enable-map" - "--enable-gtk3") - #:phases (modify-phases %standard-phases - (add-after 'unpack 'correctly-locate-aux-scripts - ;; The git checkout has symlinks under the auxdir - ;; directory pointing to /usr/share/automake-1.16/depcomp - ;; and /usr/share/automake-1.16/install-sh, which causes - ;; the configure phase to fail (see: - ;; https://github.com/BestImageViewer/geeqie/issues/936). - (lambda* (#:key inputs #:allow-other-keys) - (let ((automake (assoc-ref inputs "automake"))) - (delete-file "auxdir/depcomp") - (symlink (car (find-files automake "depcomp")) - "auxdir/depcomp") - (delete-file "auxdir/install-sh") - (symlink (car (find-files automake "install-sh")) - "auxdir/install-sh"))))))) + "199s0f3khnycr5vhk2ww3xnnasz7dzwxdl89pxjadq6rpgprfqyh")) + (file-name (git-file-name name version)))) + (build-system meson-build-system) (inputs - (list clutter - libchamplain + (list exiv2 + gtk+ lcms - exiv2 - libpng - gtk+)) + libchamplain + libpng)) (native-inputs - (list autoconf - automake - `(,glib "bin") ; glib-gettextize + (list `(,glib "bin") ; glib-gettextize intltool - pkg-config)) + pkg-config + xxd)) (home-page "https://www.geeqie.org/") (synopsis "Lightweight GTK+ based image viewer") (description diff --git a/gnu/packages/patches/geeqie-clutter.patch b/gnu/packages/patches/geeqie-clutter.patch deleted file mode 100644 index ab7cc957d8..0000000000 --- a/gnu/packages/patches/geeqie-clutter.patch +++ /dev/null @@ -1,35 +0,0 @@ -From c99084ac5fc2fb854ff8e8abd4bd3298fb08fb43 Mon Sep 17 00:00:00 2001 -From: Colin Clark -Date: Sat, 9 Jan 2021 11:35:41 +0000 -Subject: [PATCH] Fix #829: segfault with clutter-gtk - -https://github.com/BestImageViewer/geeqie/issues/829 - -This fix might cause other problems which might be cured by calling: -LIBGL_ALWAYS_INDIRECT=1 geeqie - -or, worst case: -geeqie --disable-clutter ---- - src/main.c | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/src/main.c b/src/main.c -index f497240d..4af654fe 100644 ---- a/src/main.c -+++ b/src/main.c -@@ -904,11 +904,6 @@ gint main(gint argc, gchar *argv[]) - #ifdef HAVE_GTHREAD - #if !GLIB_CHECK_VERSION(2,32,0) - g_thread_init(NULL); --#endif --#ifdef HAVE_CLUTTER --/* FIXME: see below */ -- putenv("LIBGL_ALWAYS_INDIRECT=1"); -- XInitThreads(); - #endif - gdk_threads_init(); - gdk_threads_enter(); --- -2.34.0 - -- cgit v1.2.3 From d00f1075077e55a3c2c750b3dd41be2a09eff530 Mon Sep 17 00:00:00 2001 From: Maxim Cournoyer Date: Tue, 21 Mar 2023 23:57:46 -0400 Subject: gnu: geeqie: Enable most features, add doc. This change enables most of the features of Geeqie, at a cost of about 10% size increase (from 1428 to 1596 MiB). * gnu/packages/image-viewers.scm (geeqie) [inputs]: Add djvulibre, ffmpegthumbnailer, gspell, libarchive, libheif, libjpeg, libraw, libtiff, poppler and libwebp. [native-inputs]: Add yelp-tools. Series-to: 62367@debbugs.gnu.org --- gnu/packages/image-viewers.scm | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'gnu') diff --git a/gnu/packages/image-viewers.scm b/gnu/packages/image-viewers.scm index 470ae08a9b..f7719600a7 100644 --- a/gnu/packages/image-viewers.scm +++ b/gnu/packages/image-viewers.scm @@ -67,6 +67,7 @@ (define-module (gnu packages image-viewers) #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages documentation) + #:use-module (gnu packages djvu) #:use-module (gnu packages fontutils) #:use-module (gnu packages freedesktop) #:use-module (gnu packages gawk) @@ -244,16 +245,27 @@ (define-public geeqie (file-name (git-file-name name version)))) (build-system meson-build-system) (inputs - (list exiv2 + (list djvulibre + exiv2 + ffmpegthumbnailer gtk+ + gspell lcms + libarchive libchamplain - libpng)) + libheif + libjpeg + libpng + libraw + libtiff + poppler + libwebp)) (native-inputs (list `(,glib "bin") ; glib-gettextize intltool pkg-config - xxd)) + xxd + yelp-tools)) (home-page "https://www.geeqie.org/") (synopsis "Lightweight GTK+ based image viewer") (description -- cgit v1.2.3