[PATCH 0/4] A few Ruby related patches.

  • Done
  • quality assurance status badge
Details
3 participants
  • Björn Höfling
  • Leo Famulari
  • Christopher Baines
Owner
unassigned
Submitted by
Christopher Baines
Severity
normal
C
C
Christopher Baines wrote on 5 Aug 2018 16:39
(address . guix-patches@gnu.org)
871sbczxm8.fsf@cbaines.net
These 4 patches are roughly from Ben's wip-rails branch.

Ben Woodcroft (4):
gnu: Add ruby-yajl-ruby.
gnu: Add ruby-oj.
gnu: Enable tests for ruby-multi-json.
gnu: Add ruby-multi-test.

gnu/packages/ruby.scm | 122 ++++++++++++++++++++++++++++++++++++++++--
1 file changed, 117 insertions(+), 5 deletions(-)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAltnDA9fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9Xd8yg/+Paosk4WF2sK6Ut4o24Dh8kHf4MsalzlKRAU0N69h2oKgAl7dDsI3m4XI
7l6I8mGL+o0eZ4kF5uENGLrlTcEcsLlTaSI8voJ5Ny1z/0UpNjjp6/uiZghP7Kdn
U0hw1jTvfK1x2cRJ7xgsSMcOv+Dd4dLy6wvphuzfICKTdc4HfBTgJ3NDPP4CCyGd
jZdp3hhjiRg9JONJrvURF5csGE8jPV/UXF4mn1Afh46IY26W2+QBimZPAEJNKoUx
Op72phBTG5ecliwV5+SRIwDnUGCbat5B/wF96PfNcBOCUMCoiOvSCVXXstSb8ocw
6xms9seA4emfA2eAef+M2k9gEgmDI96AyCrqWGQS4jSysR0StmaLlvKwXRL0b5KK
ORukt1b0oZSRFYOMoAFhc2gQ2dDMM53FFkPsPIxvSdFGaByfQEt/Yu4WfZG1lDVi
2Ddj2uQu+PtBB747W7xZLaP3UomZ50fCU3iWF12qDiSJt14oT1Go37UC4wyWBynW
4UCvDDPE0lXixY8yVAjEZriZ/upisCjvWaUiVgrRTDxlHNSldBj0vQzwhiVxdxcU
pBkB4Z0GOWa+7ungMYjHdh80552VkgSWVk5FwwSKUtgGTpe3ZEkjPPxzPMa4bm10
kFSgM3gnezEA6dIb2USDB7lw5OZ/x7+9mPfXGOPDi6jukkrVqZs=
=3u3t
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 5 Aug 2018 16:43
[PATCH 4/4] gnu: Add ruby-multi-test.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180805144322.4705-4-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-multi-test): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 888a31e89..e199d2b92 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2304,6 +2304,32 @@ NSJSONSerialization, gson.rb, JrJackson, and OkJson.")
(home-page "https://github.com/intridea/multi_json")
(license license:expat)))
+(define-public ruby-multi-test
+ (package
+ (name "ruby-multi-test")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "multi_test" version))
+ (sha256
+ (base32
+ "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; Tests require different sets of specific gem versions to be available,
+ ;; and there is no gemfile that specifies the newest versions of
+ ;; dependencies to be tested.
+ #:tests? #f))
+ (synopsis
+ "Interface to testing libraries loaded into a running Ruby process")
+ (description
+ "@code{multi_test} provides a uniform interface onto whatever testing
+libraries that have been loaded into a running Ruby process to help control
+rogue test/unit/autorun requires.")
+ (home-page "https://github.com/cucumber/multi_test")
+ (license license:expat)))
+
(define-public ruby-arel
(package
(name "ruby-arel")
--
2.18.0
C
C
Christopher Baines wrote on 5 Aug 2018 16:43
[PATCH 3/4] gnu: Enable tests for ruby-multi-json.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180805144322.4705-3-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-multi-json)[version]: Update to 1.13.1.
[source]: Switch to GitHub, so that the tests can be run.
[arguments]: Enable running the tests, and add a patch to fix an issue running
the tests.
[native-inputs]: Add native-inputs required for running the tests.
[home-page]: Use HTTPS.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 27 ++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)

Toggle diff (52 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 508bbe8c3..888a31e89 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2268,23 +2268,40 @@ net/http library.")
(define-public ruby-multi-json
(package
(name "ruby-multi-json")
- (version "1.12.2")
+ (version "1.13.1")
(source
(origin
(method url-fetch)
- (uri (rubygems-uri "multi_json" version))
+ ;; Tests are not distributed at rubygems.org so download from GitHub
+ ;; instead.
+ (uri (string-append "https://github.com/intridea/multi_json/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x"))))
+ "1s64xqvrnrxmb59v6b2kchnisawg5ai9ky1w60dy6z6ws9la1xv4"))))
(build-system ruby-build-system)
(arguments
- '(#:tests? #f)) ;; No testsuite included in the gem.
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-signing-key-reference
+ (lambda _
+ (substitute* "multi_json.gemspec"
+ ((".*spec.signing_key.*") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-json-pure" ,ruby-json-pure)
+ ("ruby-oj" ,ruby-oj)
+ ("ruby-yajl-ruby" ,ruby-yajl-ruby)))
(synopsis "Common interface to multiple JSON libraries for Ruby")
(description
"This package provides a common interface to multiple JSON libraries,
including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem,
NSJSONSerialization, gson.rb, JrJackson, and OkJson.")
- (home-page "http://github.com/intridea/multi_json")
+ (home-page "https://github.com/intridea/multi_json")
(license license:expat)))
(define-public ruby-arel
--
2.18.0
C
C
Christopher Baines wrote on 5 Aug 2018 16:43
[PATCH 1/4] gnu: Add ruby-yajl-ruby.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180805144322.4705-1-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-yajl-ruby): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)

Toggle diff (46 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 908dfd575..a06be3e26 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3626,6 +3626,39 @@ features such as filtering and fine grained logging.")
(home-page "https://github.com/pjotrp/bioruby-logger-plugin")
(license license:expat)))
+(define-public ruby-yajl-ruby
+ (package
+ (name "ruby-yajl-ruby")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "yajl-ruby" version))
+ (sha256
+ (base32
+ "01bk8pi6h9wdm0ikjqvl1nxlkrxv3q74m3yfg64va9wvk9sqjvvw"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'patch-test-to-update-load-path
+ (lambda _
+ (substitute* "spec/parsing/large_number_spec.rb"
+ (("require \"yajl\"")
+ "$LOAD_PATH << 'lib'; require 'yajl'"))
+ #t)))))
+ (native-inputs
+ `(("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Streaming JSON parsing and encoding library for Ruby")
+ (description
+ "Ruby C bindings to the Yajl JSON stream-based parser library. The API
+is compatible with the JSON gem, so yajl-ruby can act as a drop in
+replacement.")
+ (home-page "https://github.com/brianmario/yajl-ruby")
+ (license license:expat)))
+
(define-public ruby-yard
(package
(name "ruby-yard")
--
2.18.0
C
C
Christopher Baines wrote on 5 Aug 2018 16:43
[PATCH 2/4] gnu: Add ruby-oj.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180805144322.4705-2-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-oj): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index a06be3e26..508bbe8c3 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3161,6 +3161,42 @@ unacceptable HTML and/or CSS from a string.")
(home-page "https://github.com/rgrove/sanitize/")
(license license:expat)))
+(define-public ruby-oj
+ (package
+ (name "ruby-oj")
+ (version "3.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Version on rubygems.org does not contain Rakefile, so download from
+ ;; GitHub instead.
+ (uri (string-append "https://github.com/ohler55/oj/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1vhjkmnyllkiwpwqh6swbam826ch2vhrjqmbys2ki6wh48vzknlb"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "test_all"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'disable-bundler
+ (lambda _
+ (substitute* "Rakefile"
+ (("Bundler\\.with_clean_env") "1.times")
+ (("bundle exec ") "")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis "JSON parser for Ruby optimized for speed")
+ (description
+ "Oj is a JSON parser and generator for Ruby, where the encoding and
+decoding of JSON is implemented as a C extension to Ruby.")
+ (home-page "https://www.ohler.com/oj")
+ (license license:expat)))
+
(define-public ruby-ox
(package
(name "ruby-ox")
--
2.18.0
B
B
Björn Höfling wrote on 7 Aug 2018 00:28
Re: [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 32370@debbugs.gnu.org)
20180807002840.5df9b494@alma-ubu
On Sun, 5 Aug 2018 15:43:19 +0100
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (22 lines)
> From: Ben Woodcroft <donttrustben@gmail.com>
>
> * gnu/packages/ruby.scm (ruby-yajl-ruby): New variable.
>
> Signed-off-by: Christopher Baines <mail@cbaines.net>
> ---
> gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 908dfd575..a06be3e26 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -3626,6 +3626,39 @@ features such as filtering and fine grained
> logging.") (home-page
> "https://github.com/pjotrp/bioruby-logger-plugin") (license
> license:expat)))
> +(define-public ruby-yajl-ruby
> + (package
> + (name "ruby-yajl-ruby")
> + (version "1.4.0")

1.4.1 is availabe. Do we have a specific reason for 1.4.0? Either
update or explain in a comment (Well, that would be at least my comment
for a 'normal' package. I'm unsure how to handle this one right: It's
part of the Rails-branch and I noticed there are some outdated
packages. They could be outdated just because Ben started in 2016 with
that (and still, there is no Rails in Guix) or there could be a
specific reason for that (i.e Rails or a sub-dependency needs exactly
this version). Or we just say: hey, let's just get these patches in as
they were in 2016 to no longer prolonge this. We can update later).


License:

./ext/yajl/yajl_encode.h: BSD (3 clause)
./ext/yajl/yajl_ext.c: MIT/X11 (BSD like)
./ext/yajl/yajl_ext.h: MIT/X11 (BSD like)
./ext/yajl/yajl_gen.c: BSD (3 clause)

We already have yajl. Is it possible to use that instead of the "ext"
path? Does that make sense? Should we at least add a TODO-Comment?

name: libyajl
version: 2.1.0
outputs: out
systems: x86_64-linux i686-linux armhf-linux aarch64-linux
mips64el-linux dependencies:
location: gnu/packages/web.scm:750:2
license: ISC
synopsis: C library for parsing JSON
description: Yet Another JSON Library (YAJL) is a small event-driven
+ (SAX-style) JSON parser written in ANSI C and a small validating JSON
+ generator.
relevance: 6

BTW, libyajl changed license to ISC on April 20, 2011:



When I add --check -K --no-grafts, it says it is not deterministic. But:

diffoscope /gnu/store/88dhpv16b5l55xf4dh090a6n93sh2akn-ruby-yajl-ruby-1.4.0 /gnu/store/88dhpv16b5l55xf4dh090a6n93sh2akn-ruby-yajl-ruby-1.4.0-check
| less

is empty. Is this a general Ruby problem?

I checked that randomly with ruby-unf-ext-0.0.7.1 but that is
deterministic. Hm.


Björn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAltoy5kACgkQvyhstlk+X/2DnwCgphC6gr1IXP436p6iqb5Gt+vS
bWgAn1sd1SXe1ME190O1NYjYO8/s2TSU
=uVSC
-----END PGP SIGNATURE-----


B
B
Björn Höfling wrote on 7 Aug 2018 00:30
Re: [bug#32370] [PATCH 2/4] gnu: Add ruby-oj.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 32370@debbugs.gnu.org)
20180807003007.0b3769ef@alma-ubu
On Sun, 5 Aug 2018 15:43:20 +0100
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (22 lines)
> From: Ben Woodcroft <donttrustben@gmail.com>
>
> * gnu/packages/ruby.scm (ruby-oj): New variable.
>
> Signed-off-by: Christopher Baines <mail@cbaines.net>
> ---
> gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index a06be3e26..508bbe8c3 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -3161,6 +3161,42 @@ unacceptable HTML and/or CSS from a string.")
> (home-page "https://github.com/rgrove/sanitize/")
> (license license:expat)))
>
> +(define-public ruby-oj
> + (package
> + (name "ruby-oj")
> + (version "3.6.0")

3.6.5 is already available.

Toggle quote (13 lines)
> + (source
> + (origin
> + (method url-fetch)
> + ;; Version on rubygems.org does not contain Rakefile, so
> download from
> + ;; GitHub instead.
> + (uri (string-append "https://github.com/ohler55/oj/archive/v"
> + version ".tar.gz"))
> + (file-name (string-append name "-" version ".tar.gz"))
> + (sha256
> + (base32
> + "1vhjkmnyllkiwpwqh6swbam826ch2vhrjqmbys2ki6wh48vzknlb"))))

I forgot: Is this checksum-stable or should we switch to
git-fetch here?

Toggle quote (20 lines)
> + (build-system ruby-build-system)
> + (arguments
> + '(#:test-target "test_all"
> + #:phases
> + (modify-phases %standard-phases
> + (add-before 'check 'disable-bundler
> + (lambda _
> + (substitute* "Rakefile"
> + (("Bundler\\.with_clean_env") "1.times")
> + (("bundle exec ") "")))))))
> + (native-inputs
> + `(("bundler" ,bundler)
> + ("ruby-rspec" ,ruby-rspec)
> + ("ruby-rake-compiler" ,ruby-rake-compiler)))
> + (synopsis "JSON parser for Ruby optimized for speed")
> + (description
> + "Oj is a JSON parser and generator for Ruby, where the encoding
> and +decoding of JSON is implemented as a C extension to Ruby.")
> + (home-page "https://www.ohler.com/oj")

I had trouble reaching that site over httpS. http was fine.
Is this permanent or temporary?
rubygems also has http as homepage.


Toggle quote (2 lines)
> + (license license:expat)))

./ext/oj/fast.c: BSD (3 clause)
./ext/oj/hash.c: BSD (3 clause)
./ext/oj/hash.h: BSD (3 clause)
./ext/oj/hash_test.c: BSD (3 clause)
and others

As above, guix build --rounds=2 -K complained, but diffoscope showed no dfference.

Björn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAltoy/AACgkQvyhstlk+X/2BuQCgrIQ1Kd8jd/KKpzjeeFa90QZ6
HUYAoJDGViTIdNNjVwB4yayjYNFzNbvf
=hPC9
-----END PGP SIGNATURE-----


B
B
Björn Höfling wrote on 7 Aug 2018 00:30
Re: [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 32370@debbugs.gnu.org)
20180807003015.7467dd90@alma-ubu
On Sun, 5 Aug 2018 15:43:22 +0100
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (21 lines)
> From: Ben Woodcroft <donttrustben@gmail.com>
>
> * gnu/packages/ruby.scm (ruby-multi-test): New variable.
>
> Signed-off-by: Christopher Baines <mail@cbaines.net>
> ---
> gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 888a31e89..e199d2b92 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -2304,6 +2304,32 @@ NSJSONSerialization, gson.rb, JrJackson, and
> OkJson.") (home-page "https://github.com/intridea/multi_json")
> (license license:expat)))
>
> +(define-public ruby-multi-test
> + (package
> + (name "ruby-multi-test")

Do we have name conventions for Ruby? The original name is with
underscore: multi_test, here it is written with hyphen: multi-test.


Compare: ruby-data_uri is with underscore.


It also has this strange reproducibility-problem with diffoscope
showing nothing.

Otherwise, LGTM.

Björn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAltoy/gACgkQvyhstlk+X/0eQgCeK9Z6B8tlToPaNoWJ41FngkV6
GWAAoKZP4q/ruPyxXbvgoYTII7pDzUYS
=+KZ0
-----END PGP SIGNATURE-----


B
B
Björn Höfling wrote on 7 Aug 2018 00:31
Re: [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 32370@debbugs.gnu.org)
20180807003121.769d3e9a@alma-ubu
On Sun, 5 Aug 2018 15:43:21 +0100
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (12 lines)
> From: Ben Woodcroft <donttrustben@gmail.com>
>
> * gnu/packages/ruby.scm (ruby-multi-json)[version]: Update to 1.13.1.
> [source]: Switch to GitHub, so that the tests can be run.
> [arguments]: Enable running the tests, and add a patch to fix an
> issue running the tests.
> [native-inputs]: Add native-inputs required for running the tests.
> [home-page]: Use HTTPS.
>
> Signed-off-by: Christopher Baines <mail@cbaines.net>
> ---

LGTM.

Björn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAltozDoACgkQvyhstlk+X/1XdACgmv8LnFJ6dfEJBrAAdxyzJ1DL
GNkAoKE6g2TJQc0GuVDMDYg4HXni0OSR
=K5RH
-----END PGP SIGNATURE-----


C
C
Christopher Baines wrote on 28 Aug 2018 22:25
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 32370@debbugs.gnu.org)
87efeib5ni.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (19 lines)
> On Sun, 5 Aug 2018 15:43:21 +0100
> Christopher Baines <mail@cbaines.net> wrote:
>
>> From: Ben Woodcroft <donttrustben@gmail.com>
>>
>> * gnu/packages/ruby.scm (ruby-multi-json)[version]: Update to 1.13.1.
>> [source]: Switch to GitHub, so that the tests can be run.
>> [arguments]: Enable running the tests, and add a patch to fix an
>> issue running the tests.
>> [native-inputs]: Add native-inputs required for running the tests.
>> [home-page]: Use HTTPS.
>>
>> Signed-off-by: Christopher Baines <mail@cbaines.net>
>> ---
>
> LGTM.
>
> Björn

Thanks for taking a look Björn :) I've finally got around to looking at
Rails again.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAluFr6FfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XeVHA//XeImAAy//cL6rn9T/ADQpHleHtQC46H4fmYz7nOwjGZRpTlpa/EkaAoF
TSmahbspWU/ByrHkZQ/Fqzd5ABXB32bNS6ALkIMAs2L6wLvhnmArApdhSQn17I+n
jxUxtmjjVgoa+YyGz/NiJf1JGQk1VnG134ZgKkKQjWJWoeKmBmcLoPQUW33WBswN
PE0nOa8SeyTjf51N84bBa5826jJPiSr4EapHqyoJRmtGaDhxGZGe3AohxYs2WtKv
S2E4mOv/cFUofwMf1S8CxVtoqdHkXjr4UC85TCv7vJbLxShXpJW03ddeUcEbA0y0
GnX5m5WBccGEjl+AaHSgh4vZgRpH/svYN0LJBid/uwayywYlaBNAryWWedJYEOHk
rVOS8LTf8EtU34XMq70kE9lFvju1NOz0Yp8ZAJDdoK12Ky/lMKvK1QQICz8oZ+do
zT25SaqoudF3Dkzf5+Xj/XCoiQkLqQS4GsrwoqzvqFqTE/hrwv0/cSYQEafqtbkm
9gSYX1gb229eSpXF5XGJPplpVr0mkL/W8wbkM3zlWhWeAECxQHrg/mibC99uf+tP
EPkc2nPZFWlhYIDOcnvPtj2ubK3bi+heys8AgZKSozTP6ZUQFlmmQGxEZYK0Ma6P
P6tjsFQJk1IX/A+lmgPb9jOanYuJ0fvSwkKxvNsfgl+B1VVDc9Y=
=jCjr
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 28 Aug 2018 22:30
Re: [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 32370@debbugs.gnu.org)
87d0u2b5dq.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (10 lines)
>> +(define-public ruby-multi-test
>> + (package
>> + (name "ruby-multi-test")
>
> Do we have name conventions for Ruby? The original name is with
> underscore: multi_test, here it is written with hyphen: multi-test.
>
>
> Compare: ruby-data_uri is with underscore.

Personally, I've been using dashes rather than underscores. I've only
looked to use underscores where the name with dashes is already in use.

I'm not sure if there's a standard though, however, if you use the gem
importer for a package dependant on multi_test, it'll generate the
package name ruby-multi-test (cucumber for example).
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAluFsQFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XffFBAAtB6fRAifHU/t9UT1Viic1q3lalDxMfrOid/e+lSDvabpCrs9UU0GHAKz
JtzUebCUe0ViR9kAYVIbaeNS+IfFGJH4WA1aC7km9NxIf/GLrZpEtcpYBRT9VMMO
0Qln18eaJkbkeivu4gRDLlK1bvE+HmbtYg2KlHb69gpKPw8XZ4zeIg0rd18i4kXR
8LVT26pGxjWNbCyGQJyqo2nv6+BaGBglf63g74diIiUb7TbxB3X2pj3fv93icOJ7
iTvwHguNQI/IiwGHR5lOKskNe9uJE2ezBlenG2Rt8Lq2lyTRdKvMx0mMLK/t2ffK
/3Iiy5sJ0jyrqPdy6Hup3aqVphBcJrtNG3boyUbZZ8MO6GKGEfht/JyWLfiwUN8F
dpBh8fUPy87F9fbMr4LgcF/TDav2nNG6qBicrqt+qyT1iFrvvlqVeXD+2j2J/CUb
fUsY4xKUpjiDtURVff2EaWNFHG1vq405XQzO43n8HiKwIcj2ZqvtSvpU/oqgTrbx
QT9YfK6srVi/2spuNeWWsQUfMJuDpJSHS7652qTOYYRAeu7OQ45uEaEViMEmeAd9
uDUIb6wfYPZdxER2RJ8bIF/aq/dOt3uwAY6f5J1sBcjMkdL6JWSatRQ5PsTe9p2i
d4Jr0h7E48dXPpaMCdzn6+dz9K4HnSAocm6E3/9oE3NlikrdA7c=
=iYEW
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 28 Aug 2018 22:33
[PATCH 1/4] gnu: Add ruby-yajl-ruby.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180828203401.14685-1-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-yajl-ruby): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (49 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 908dfd5751..dabfc6511c 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3626,6 +3626,42 @@ features such as filtering and fine grained logging.")
(home-page "https://github.com/pjotrp/bioruby-logger-plugin")
(license license:expat)))
+(define-public ruby-yajl-ruby
+ (package
+ (name "ruby-yajl-ruby")
+ (version "1.4.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "yajl-ruby" version))
+ (sha256
+ (base32
+ "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "spec"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'patch-test-to-update-load-path
+ (lambda _
+ (substitute* "spec/parsing/large_number_spec.rb"
+ (("require \"yajl\"")
+ "$LOAD_PATH << 'lib'; require 'yajl'"))
+ #t)))))
+ (native-inputs
+ `(("ruby-rake-compiler" ,ruby-rake-compiler)
+ ("ruby-rspec" ,ruby-rspec)))
+ (synopsis "Streaming JSON parsing and encoding library for Ruby")
+ (description
+ "Ruby C bindings to the Yajl JSON stream-based parser library. The API
+is compatible with the JSON gem, so yajl-ruby can act as a drop in
+replacement.
+
+A modified copy of yajl is used, and included in the package.")
+ (home-page "https://github.com/brianmario/yajl-ruby")
+ (license (list license:expat ; Ruby code, yajl_ext.c and yajl_ext.h
+ license:bsd-3)))) ; Included, modified copy of yajl
+
(define-public ruby-yard
(package
(name "ruby-yard")
--
2.18.0
C
C
Christopher Baines wrote on 28 Aug 2018 22:33
[PATCH 2/4] gnu: Add ruby-oj.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180828203401.14685-2-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-oj): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index dabfc6511c..30b8cd1ba9 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -3161,6 +3161,43 @@ unacceptable HTML and/or CSS from a string.")
(home-page "https://github.com/rgrove/sanitize/")
(license license:expat)))
+(define-public ruby-oj
+ (package
+ (name "ruby-oj")
+ (version "3.6.7")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Version on rubygems.org does not contain Rakefile, so download from
+ ;; GitHub instead.
+ (uri (string-append "https://github.com/ohler55/oj/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1x28ga72jxlnmsd8g8c0fw81vlh54r0qgagw2lxsd3x3la091g2h"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(#:test-target "test_all"
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'check 'disable-bundler
+ (lambda _
+ (substitute* "Rakefile"
+ (("Bundler\\.with_clean_env") "1.times")
+ (("bundle exec ") "")))))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-rake-compiler" ,ruby-rake-compiler)))
+ (synopsis "JSON parser for Ruby optimized for speed")
+ (description
+ "Oj is a JSON parser and generator for Ruby, where the encoding and
+decoding of JSON is implemented as a C extension to Ruby.")
+ (home-page "http://www.ohler.com/oj")
+ (license (list license:expat ; Ruby code
+ license:bsd-3)))) ; extension code
+
(define-public ruby-ox
(package
(name "ruby-ox")
--
2.18.0
C
C
Christopher Baines wrote on 28 Aug 2018 22:34
[PATCH 4/4] gnu: Add ruby-multi-test.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180828203401.14685-4-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-multi-test): New variable.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 34854d6bb4..ed5b984c8e 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2304,6 +2304,32 @@ NSJSONSerialization, gson.rb, JrJackson, and OkJson.")
(home-page "https://github.com/intridea/multi_json")
(license license:expat)))
+(define-public ruby-multi-test
+ (package
+ (name "ruby-multi-test")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (rubygems-uri "multi_test" version))
+ (sha256
+ (base32
+ "1sx356q81plr67hg16jfwz9hcqvnk03bd9n75pmdw8pfxjfy1yxd"))))
+ (build-system ruby-build-system)
+ (arguments
+ '(;; Tests require different sets of specific gem versions to be available,
+ ;; and there is no gemfile that specifies the newest versions of
+ ;; dependencies to be tested.
+ #:tests? #f))
+ (synopsis
+ "Interface to testing libraries loaded into a running Ruby process")
+ (description
+ "@code{multi_test} provides a uniform interface onto whatever testing
+libraries that have been loaded into a running Ruby process to help control
+rogue test/unit/autorun requires.")
+ (home-page "https://github.com/cucumber/multi_test")
+ (license license:expat)))
+
(define-public ruby-arel
(package
(name "ruby-arel")
--
2.18.0
C
C
Christopher Baines wrote on 28 Aug 2018 22:34
[PATCH 3/4] gnu: Enable tests for ruby-multi-json.
(address . 32370@debbugs.gnu.org)(name . Christopher Baines)(address . mail@cbaines.net)
20180828203401.14685-3-mail@cbaines.net
From: Ben Woodcroft <donttrustben@gmail.com>

* gnu/packages/ruby.scm (ruby-multi-json)[version]: Update to 1.13.1.
[source]: Switch to GitHub, so that the tests can be run.
[arguments]: Enable running the tests, and add a patch to fix an issue running
the tests.
[native-inputs]: Add native-inputs required for running the tests.
[home-page]: Use HTTPS.

Signed-off-by: Christopher Baines <mail@cbaines.net>
---
gnu/packages/ruby.scm | 27 ++++++++++++++++++++++-----
1 file changed, 22 insertions(+), 5 deletions(-)

Toggle diff (52 lines)
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 30b8cd1ba9..34854d6bb4 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -2268,23 +2268,40 @@ net/http library.")
(define-public ruby-multi-json
(package
(name "ruby-multi-json")
- (version "1.12.2")
+ (version "1.13.1")
(source
(origin
(method url-fetch)
- (uri (rubygems-uri "multi_json" version))
+ ;; Tests are not distributed at rubygems.org so download from GitHub
+ ;; instead.
+ (uri (string-append "https://github.com/intridea/multi_json/archive/v"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
- "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x"))))
+ "1s64xqvrnrxmb59v6b2kchnisawg5ai9ky1w60dy6z6ws9la1xv4"))))
(build-system ruby-build-system)
(arguments
- '(#:tests? #f)) ;; No testsuite included in the gem.
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'remove-signing-key-reference
+ (lambda _
+ (substitute* "multi_json.gemspec"
+ ((".*spec.signing_key.*") ""))
+ #t)))))
+ (native-inputs
+ `(("bundler" ,bundler)
+ ("ruby-rspec" ,ruby-rspec)
+ ("ruby-yard" ,ruby-yard)
+ ("ruby-json-pure" ,ruby-json-pure)
+ ("ruby-oj" ,ruby-oj)
+ ("ruby-yajl-ruby" ,ruby-yajl-ruby)))
(synopsis "Common interface to multiple JSON libraries for Ruby")
(description
"This package provides a common interface to multiple JSON libraries,
including Oj, Yajl, the JSON gem (with C-extensions), the pure-Ruby JSON gem,
NSJSONSerialization, gson.rb, JrJackson, and OkJson.")
- (home-page "http://github.com/intridea/multi_json")
+ (home-page "https://github.com/intridea/multi_json")
(license license:expat)))
(define-public ruby-arel
--
2.18.0
C
C
Christopher Baines wrote on 28 Aug 2018 22:38
Re: [bug#32370] [PATCH 2/4] gnu: Add ruby-oj.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 32370@debbugs.gnu.org)
87bm9mb51a.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (27 lines)
> On Sun, 5 Aug 2018 15:43:20 +0100
> Christopher Baines <mail@cbaines.net> wrote:
>
>> From: Ben Woodcroft <donttrustben@gmail.com>
>>
>> * gnu/packages/ruby.scm (ruby-oj): New variable.
>>
>> Signed-off-by: Christopher Baines <mail@cbaines.net>
>> ---
>> gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
>> 1 file changed, 36 insertions(+)
>>
>> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
>> index a06be3e26..508bbe8c3 100644
>> --- a/gnu/packages/ruby.scm
>> +++ b/gnu/packages/ruby.scm
>> @@ -3161,6 +3161,42 @@ unacceptable HTML and/or CSS from a string.")
>> (home-page "https://github.com/rgrove/sanitize/")
>> (license license:expat)))
>>
>> +(define-public ruby-oj
>> + (package
>> + (name "ruby-oj")
>> + (version "3.6.0")
>
> 3.6.5 is already available.

I've sent some updated patches now, and I've updated to the latest version.

Toggle quote (16 lines)
>> + (source
>> + (origin
>> + (method url-fetch)
>> + ;; Version on rubygems.org does not contain Rakefile, so
>> download from
>> + ;; GitHub instead.
>> + (uri (string-append "https://github.com/ohler55/oj/archive/v"
>> + version ".tar.gz"))
>> + (file-name (string-append name "-" version ".tar.gz"))
>> + (sha256
>> + (base32
>> + "1vhjkmnyllkiwpwqh6swbam826ch2vhrjqmbys2ki6wh48vzknlb"))))
>
> I forgot: Is this checksum-stable or should we switch to
> git-fetch here?

I'm not sure either.

Toggle quote (24 lines)
>> + (build-system ruby-build-system)
>> + (arguments
>> + '(#:test-target "test_all"
>> + #:phases
>> + (modify-phases %standard-phases
>> + (add-before 'check 'disable-bundler
>> + (lambda _
>> + (substitute* "Rakefile"
>> + (("Bundler\\.with_clean_env") "1.times")
>> + (("bundle exec ") "")))))))
>> + (native-inputs
>> + `(("bundler" ,bundler)
>> + ("ruby-rspec" ,ruby-rspec)
>> + ("ruby-rake-compiler" ,ruby-rake-compiler)))
>> + (synopsis "JSON parser for Ruby optimized for speed")
>> + (description
>> + "Oj is a JSON parser and generator for Ruby, where the encoding
>> and +decoding of JSON is implemented as a C extension to Ruby.")
>> + (home-page "https://www.ohler.com/oj")
>
> I had trouble reaching that site over httpS. http was fine.
> Is this permanent or temporary?
> rubygems also has http as homepage.

Yeah, my bad, I think I followed the linter without thinking.

Toggle quote (8 lines)
>> + (license license:expat)))
>
> ./ext/oj/fast.c: BSD (3 clause)
> ./ext/oj/hash.c: BSD (3 clause)
> ./ext/oj/hash.h: BSD (3 clause)
> ./ext/oj/hash_test.c: BSD (3 clause)
> and others

Good spot, I've tried to improve the license information now.

Toggle quote (2 lines)
> As above, guix build --rounds=2 -K complained, but diffoscope showed no dfference.

I do see some differences with diffoscope, but I haven't looked in to
them yet.
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAluFssFfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcjLRAAqEXgVDadJkHPL9IqZE4XRCKw5/yTbF3U+xil5zGBYnYfCayF1bgABK1m
NkySnz0zYhspdzngahzGFR/nNeYu9zHJeutdV2lXCy+S/X0UZPr/E9JAWFByZd8F
hT0mY9A687zBJ4a3IeOK7iQhZxZInwiCieBlPS7don7mESifnp5gq0Ht0SUB/Ces
sTOOj/xB2nPDeorhFJIx7Ssg7HVnRspeAH16/CJHeAgXGGryT99pdzOfId73Essc
aUD9EhEjGmB2y5f6zStn2HrrGvsd5msK8pwiU8FCuCz4YdmkoVoaHsraEyf2CGv/
5sP6oY1wNJoDCOdE3uF8LPoUwYhEhAFSu+zj3kgQ4k1qIns0KbEdi8hwBRk3gweG
b8TlyygVva5gAe5uQYIEVTfj7HJjveEiage3il7LH86XEy5YRXG6uqFYw70XeRJM
/+BvcxevkUL0PD3W/Kw4hsvpm8mzZKHW97qaz110CgqW94vnDG53zteMF4ANpTFM
vYpXJgnTpVXDWttwzlkAtdwlFkT+7fmp67nNMV8o3xCUmx1k90UgcoT2FO0lMk4L
IAAu6NMbC0+vTqiCTcIMJhyMzroRhrIXMztYon9NpyoHrpFTxLgrtCmvq5yRFssu
aq9UDj1duDNDm2OtaB5gM/slXL1sdwkWaL/6X9QCNLTM22p2m+o=
=+BHN
-----END PGP SIGNATURE-----

C
C
Christopher Baines wrote on 28 Aug 2018 22:47
Re: [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 32370@debbugs.gnu.org)
87a7p6b4lp.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (35 lines)
> On Sun, 5 Aug 2018 15:43:19 +0100
> Christopher Baines <mail@cbaines.net> wrote:
>
>> From: Ben Woodcroft <donttrustben@gmail.com>
>>
>> * gnu/packages/ruby.scm (ruby-yajl-ruby): New variable.
>>
>> Signed-off-by: Christopher Baines <mail@cbaines.net>
>> ---
>> gnu/packages/ruby.scm | 33 +++++++++++++++++++++++++++++++++
>> 1 file changed, 33 insertions(+)
>>
>> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
>> index 908dfd575..a06be3e26 100644
>> --- a/gnu/packages/ruby.scm
>> +++ b/gnu/packages/ruby.scm
>> @@ -3626,6 +3626,39 @@ features such as filtering and fine grained
>> logging.") (home-page
>> "https://github.com/pjotrp/bioruby-logger-plugin") (license
>> license:expat)))
>> +(define-public ruby-yajl-ruby
>> + (package
>> + (name "ruby-yajl-ruby")
>> + (version "1.4.0")
>
> 1.4.1 is availabe. Do we have a specific reason for 1.4.0? Either
> update or explain in a comment (Well, that would be at least my comment
> for a 'normal' package. I'm unsure how to handle this one right: It's
> part of the Rails-branch and I noticed there are some outdated
> packages. They could be outdated just because Ben started in 2016 with
> that (and still, there is no Rails in Guix) or there could be a
> specific reason for that (i.e Rails or a sub-dependency needs exactly
> this version). Or we just say: hey, let's just get these patches in as
> they were in 2016 to no longer prolonge this. We can update later).

I've updated the version for this package, but yes, in general, I've not
been looking too closely at versions, and just been trying to improve
the packages in other ways.

Toggle quote (10 lines)
> License:
>
> ./ext/yajl/yajl_encode.h: BSD (3 clause)
> ./ext/yajl/yajl_ext.c: MIT/X11 (BSD like)
> ./ext/yajl/yajl_ext.h: MIT/X11 (BSD like)
> ./ext/yajl/yajl_gen.c: BSD (3 clause)
>
> We already have yajl. Is it possible to use that instead of the "ext"
> path? Does that make sense? Should we at least add a TODO-Comment?

I've had a look, but there seems to be some differences between the
two. So I think for the moment we can't, unless we go to the effort of
separating out the differences somehow.

I've tried to improve the license information.

Toggle quote (7 lines)
> When I add --check -K --no-grafts, it says it is not deterministic. But:
>
> diffoscope /gnu/store/88dhpv16b5l55xf4dh090a6n93sh2akn-ruby-yajl-ruby-1.4.0 /gnu/store/88dhpv16b5l55xf4dh090a6n93sh2akn-ruby-yajl-ruby-1.4.0-check
> | less
>
> is empty. Is this a general Ruby problem?

I do see some differences with diffoscope, but I'm unsure what the
source is. I think it could be related to these packages having native
extensions.

Thanks again for taking a look Björn :)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAluFtPJfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcDSxAApZm4z8jMhJZ0gYF38EceLG5HU8HmIi47TkLfxgF0DB4Hy7Zjwe4CnGSe
pPeVqQVzXEvUEbA1aLtA3Kt7RITVItEtwkTtlhn89vyZbYTXteuz71Ua4N0Vf0dl
c3RhdHyqT5rMwoDuOp0azE3MhJ5blrCpAKPyrfBOs1heJVriTkpjhJlcmuyWuoGR
cCYdU+yIraU5oLZK6a6n90rOH/l2ujFgxkJFWvccjkjXn9S5eEDCDxMk6VKUdXDu
zOLAvweGLl6hrN454OupZPSK4tK6Dng0RPIy8fP4bTgDrm99jk09ygtxe1r57omG
M4eWsF8NNNbjMv1J3IsQd4TgI0YjgeH2aKjdA16lNRHbekftrxV/wtM2IzWit6B5
ENf+SEge4QkXCZsBuz6LNzZKDsxuKt2Nm60PZMlZAKMr7NxzBTYzwSRsSu5ttmIg
G1v5jnKJoNiDYIjluwjZiFdJEjOT+drwqNuHOBbSMgKho4CwSzk2rVO/hR6HV4mS
N2DZ139mHmeDooOHWvb9x8qN5SVUPuDzaZKektyHMpJ0KdoG+Ny0hLTnmBVxgV/1
MRp8oKO7OL7p4aldqBC3XUzTpC7PQRwatQ7s1q2UzppmR0Qzv/m99127XC3djbtP
Kww5Xdxt+Ev2LXDZCJc7amc5pFIAgqJbWQ2uGsj4x9FCYotdKe4=
=v5jN
-----END PGP SIGNATURE-----

L
L
Leo Famulari wrote on 29 Aug 2018 06:53
Re: [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
(name . Christopher Baines)(address . mail@cbaines.net)
20180829045305.GA15876@jasmine.lan
On Tue, Aug 28, 2018 at 09:30:57PM +0100, Christopher Baines wrote:
Toggle quote (20 lines)
>
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:
>
> >> +(define-public ruby-multi-test
> >> + (package
> >> + (name "ruby-multi-test")
> >
> > Do we have name conventions for Ruby? The original name is with
> > underscore: multi_test, here it is written with hyphen: multi-test.
> >
> >
> > Compare: ruby-data_uri is with underscore.
>
> Personally, I've been using dashes rather than underscores. I've only
> looked to use underscores where the name with dashes is already in use.
>
> I'm not sure if there's a standard though, however, if you use the gem
> importer for a package dependant on multi_test, it'll generate the
> package name ruby-multi-test (cucumber for example).

-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAluGJq4ACgkQJkb6MLrK
fwgnyA/+Opyy9Ztx3LYMOL0nRT6oO+7aWMQkfYF+Cmdjz7w/n8gTq7zE+fHDw/XZ
Lfkg9iQcQHgiLPmLSdiNulUGa8d8ZtB8KD/Cl50bCpbF6b34DHTNlDu4fE2MHCPo
Ey5oHoKVelUs0a3IclMbFNJMeDod++zlmjP9JB89KI0cj1MDNMv2WigDiEXq9bYW
/xwb9Ou3P39z+jm+6/R7SHP6Ycdv3Abbx52GgYMxSnHuk4P37TH5UK6ekcuWKOkW
Fl9vmBHl19/c3rGP8GRn25dX/QIebd+QHahOH/bqONhYBYwCkFU3JPas6Me4OlVF
3FjhFYRZV9jkf4wCr9O1483xkmoT9wfJA151g8dJh7KMSXNdU0K1DCniXnmXrIDm
JgardGyAHm+JIcnuh/4mwOuYtQVGaDioROw0jkQskuiusXjihiZO1YPKeIDFOLol
XYINdOfpyFaEA+8Z8YusXBu7xc7YD7tEVySqlezAiqqtNFiy8t2BEZoWN29FfkYO
JkNq1dwbagYgCxlxI/kJPVBJoDKDcZ/fUsOuEbYqs1lJrgrnYdGDrzefiXQAq/Zs
AD5XFywyWVbUK7loj2VqOt26uw4JrXuxObWpk/1deLZGBSdAXlvvBIc4zKZWkLGc
e4VCcYjTihz6nzwyuwRcaqUgmdCGFkStyj8QW0hR8mZBwTB23Rc=
=MHpg
-----END PGP SIGNATURE-----


B
B
Björn Höfling wrote on 11 Sep 2018 08:26
Re: [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
(name . Christopher Baines)(address . mail@cbaines.net)(address . 32370@debbugs.gnu.org)
20180911082631.52ae2d70@alma-ubu
On Tue, 28 Aug 2018 21:33:58 +0100
Christopher Baines <mail@cbaines.net> wrote:

Toggle quote (59 lines)
> From: Ben Woodcroft <donttrustben@gmail.com>
>
> * gnu/packages/ruby.scm (ruby-yajl-ruby): New variable.
>
> Signed-off-by: Christopher Baines <mail@cbaines.net>
> ---
> gnu/packages/ruby.scm | 36 ++++++++++++++++++++++++++++++++++++
> 1 file changed, 36 insertions(+)
>
> diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
> index 908dfd5751..dabfc6511c 100644
> --- a/gnu/packages/ruby.scm
> +++ b/gnu/packages/ruby.scm
> @@ -3626,6 +3626,42 @@ features such as filtering and fine grained
> logging.") (home-page
> "https://github.com/pjotrp/bioruby-logger-plugin") (license
> license:expat)))
> +(define-public ruby-yajl-ruby
> + (package
> + (name "ruby-yajl-ruby")
> + (version "1.4.1")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (rubygems-uri "yajl-ruby" version))
> + (sha256
> + (base32
> + "16v0w5749qjp13xhjgr2gcsvjv6mf35br7iqwycix1n2h7kfcckf"))))
> + (build-system ruby-build-system)
> + (arguments
> + '(#:test-target "spec"
> + #:phases
> + (modify-phases %standard-phases
> + (add-before 'check 'patch-test-to-update-load-path
> + (lambda _
> + (substitute* "spec/parsing/large_number_spec.rb"
> + (("require \"yajl\"")
> + "$LOAD_PATH << 'lib'; require 'yajl'"))
> + #t)))))
> + (native-inputs
> + `(("ruby-rake-compiler" ,ruby-rake-compiler)
> + ("ruby-rspec" ,ruby-rspec)))
> + (synopsis "Streaming JSON parsing and encoding library for
> Ruby")
> + (description
> + "Ruby C bindings to the Yajl JSON stream-based parser
> library. The API +is compatible with the JSON gem, so yajl-ruby can
> act as a drop in +replacement.
> +
> +A modified copy of yajl is used, and included in the package.")
> + (home-page "https://github.com/brianmario/yajl-ruby")
> + (license (list license:expat ; Ruby code, yajl_ext.c and
> yajl_ext.h
> + license:bsd-3)))) ; Included, modified copy of
> yajl +
> (define-public ruby-yard
> (package
> (name "ruby-yard")

Hi Chris,

I haven't applied the patches again, but from reading the mails, it
LGTM.

Thanks,

Björn
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iEYEARECAAYFAluXYBgACgkQvyhstlk+X/1YIwCeMRtabiev7IV3NBIfBqlkPDC8
CxgAnAvdUsZlp4zLbbL7nBFtAVHMERkE
=cz8l
-----END PGP SIGNATURE-----


C
C
Christopher Baines wrote on 16 Sep 2018 19:33
(name . Björn Höfling)(address . bjoern.hoefling@bjoernhoefling.de)(address . 32370-done@debbugs.gnu.org)
87va75ibyx.fsf@cbaines.net
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

Toggle quote (3 lines)
> I haven't applied the patches again, but from reading the mails, it
> LGTM.

Great, I've got around to merging these now :)
-----BEGIN PGP SIGNATURE-----

iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAluek+ZfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE
9XcacQ//cRJWWZJKL8k+UrHK8rDaX2NQNH0eOOkm2SBdp4rTtH9TH0w1EUHBd/10
HzjlZTv9Vks/IezHehWbjYLa293VPZeUOoVUMF2eEXX1an49pMeh22kcKSiNZL8U
hbIlgjQJEvJecA6fTam1NC+yrtrsTQaLhh+VPXgjJNXiwbrBnufIJ+Q73S7+Zbg2
F9Nwqf60k0ntkYl4iBa8MaQC7h77gEhI1nUI3WysGsRulKtqlctu0KIfhQ9t2J6S
GgHw3r5dDlfUdbdLIPK6wIjvusgEnt3EDcPmz5PTBQk8kkqhGRleMs2UxPAQkgAM
AP9AXoCCn5aZegOO3DD6D0eZ9q03EQqzBC0W0aOiJFqElBjyO4Vn9pk0G5o96n/d
naHGxV7rKBAOEoMYbHUz5iN/KM9EPArHuQ7zh2PIdwMtkGFAdKSExuTxr9atuYoR
ide5M4B870c19qsJYFSz+Kz0GTRpFXknMbMRIh0EMruvLrw6mNkrPrN4GD/l1vFx
BzpsfwI0JfkArN9sW9I7JSAW9N9Jkk923c79ZbaghZ0mCiwDyEyIvSWCb4BPYM2r
aTnYcpDFBgYh+lHdUfKCPWm29DA+qvIJe+2kqD2EHLWKI5H+7U8tBJr1j/QDDxbW
eWlEE/C0crD2PSbIQ5X6Wt2DKDnf/r05eq84mxmoMWi0tJhQNmI=
=ZlGR
-----END PGP SIGNATURE-----

Closed
C
C
Christopher Baines wrote on 12 Oct 2018 09:22
control message for bug #30689
(address . control@debbugs.gnu.org)
87ftxb6349.fsf@cbaines.net
block 30689 by 32370
?