unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#32370] [PATCH 0/4] A few Ruby related patches.
@ 2018-08-05 14:39 Christopher Baines
  2018-08-05 14:43 ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Christopher Baines
  2018-08-28 20:33 ` Christopher Baines
  0 siblings, 2 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-05 14:39 UTC (permalink / raw)
  To: 32370

[-- Attachment #1: Type: text/plain, Size: 317 bytes --]

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(-)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
  2018-08-05 14:39 [bug#32370] [PATCH 0/4] A few Ruby related patches Christopher Baines
@ 2018-08-05 14:43 ` Christopher Baines
  2018-08-05 14:43   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
                     ` (3 more replies)
  2018-08-28 20:33 ` Christopher Baines
  1 sibling, 4 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-05 14:43 UTC (permalink / raw)
  To: 32370

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")
+    (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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 2/4] gnu: Add ruby-oj.
  2018-08-05 14:43 ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Christopher Baines
@ 2018-08-05 14:43   ` Christopher Baines
  2018-08-06 22:30     ` Björn Höfling
  2018-08-05 14:43   ` [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json Christopher Baines
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 20+ messages in thread
From: Christopher Baines @ 2018-08-05 14:43 UTC (permalink / raw)
  To: 32370

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")
+    (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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json.
  2018-08-05 14:43 ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Christopher Baines
  2018-08-05 14:43   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
@ 2018-08-05 14:43   ` Christopher Baines
  2018-08-06 22:31     ` Björn Höfling
  2018-08-05 14:43   ` [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test Christopher Baines
  2018-08-06 22:28   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
  3 siblings, 1 reply; 20+ messages in thread
From: Christopher Baines @ 2018-08-05 14:43 UTC (permalink / raw)
  To: 32370

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(-)

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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
  2018-08-05 14:43 ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Christopher Baines
  2018-08-05 14:43   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
  2018-08-05 14:43   ` [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json Christopher Baines
@ 2018-08-05 14:43   ` Christopher Baines
  2018-08-06 22:30     ` Björn Höfling
  2018-08-06 22:28   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
  3 siblings, 1 reply; 20+ messages in thread
From: Christopher Baines @ 2018-08-05 14:43 UTC (permalink / raw)
  To: 32370

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")
+    (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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
  2018-08-05 14:43 ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Christopher Baines
                     ` (2 preceding siblings ...)
  2018-08-05 14:43   ` [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test Christopher Baines
@ 2018-08-06 22:28   ` Björn Höfling
  2018-08-28 20:47     ` Christopher Baines
  3 siblings, 1 reply; 20+ messages in thread
From: Björn Höfling @ 2018-08-06 22:28 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 2765 bytes --]

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).


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
homepage: https://lloyd.github.io/yajl/
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:
https://github.com/lloyd/yajl/commit/de81b1fcd22b29b152f921f23faab759c79da7e1#diff-7116ef0705885343c9e1b2171a06be0e



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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 2/4] gnu: Add ruby-oj.
  2018-08-05 14:43   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
@ 2018-08-06 22:30     ` Björn Höfling
  2018-08-28 20:38       ` Christopher Baines
  0 siblings, 1 reply; 20+ messages in thread
From: Björn Höfling @ 2018-08-06 22:30 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 2598 bytes --]

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.

> +    (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?

> +    (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.


> +    (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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
  2018-08-05 14:43   ` [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test Christopher Baines
@ 2018-08-06 22:30     ` Björn Höfling
  2018-08-28 20:30       ` Christopher Baines
  0 siblings, 1 reply; 20+ messages in thread
From: Björn Höfling @ 2018-08-06 22:30 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 1088 bytes --]

On Sun,  5 Aug 2018 15:43:22 +0100
Christopher Baines <mail@cbaines.net> wrote:

> 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



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json.
  2018-08-05 14:43   ` [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json Christopher Baines
@ 2018-08-06 22:31     ` Björn Höfling
  2018-08-28 20:25       ` Christopher Baines
  0 siblings, 1 reply; 20+ messages in thread
From: Björn Höfling @ 2018-08-06 22:31 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 549 bytes --]

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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json.
  2018-08-06 22:31     ` Björn Höfling
@ 2018-08-28 20:25       ` Christopher Baines
  0 siblings, 0 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:25 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 726 bytes --]


Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

> 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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
  2018-08-06 22:30     ` Björn Höfling
@ 2018-08-28 20:30       ` Christopher Baines
  2018-08-29  4:53         ` Leo Famulari
  0 siblings, 1 reply; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:30 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 686 bytes --]


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).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
  2018-08-05 14:39 [bug#32370] [PATCH 0/4] A few Ruby related patches Christopher Baines
  2018-08-05 14:43 ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Christopher Baines
@ 2018-08-28 20:33 ` Christopher Baines
  2018-08-28 20:33   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
                     ` (3 more replies)
  1 sibling, 4 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:33 UTC (permalink / raw)
  To: 32370

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")
-- 
2.18.0

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 2/4] gnu: Add ruby-oj.
  2018-08-28 20:33 ` Christopher Baines
@ 2018-08-28 20:33   ` Christopher Baines
  2018-08-28 20:34   ` [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json Christopher Baines
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:33 UTC (permalink / raw)
  To: 32370

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(+)

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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json.
  2018-08-28 20:33 ` Christopher Baines
  2018-08-28 20:33   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
@ 2018-08-28 20:34   ` Christopher Baines
  2018-08-28 20:34   ` [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test Christopher Baines
  2018-09-11  6:26   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
  3 siblings, 0 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:34 UTC (permalink / raw)
  To: 32370

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(-)

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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
  2018-08-28 20:33 ` Christopher Baines
  2018-08-28 20:33   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
  2018-08-28 20:34   ` [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json Christopher Baines
@ 2018-08-28 20:34   ` Christopher Baines
  2018-09-11  6:26   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
  3 siblings, 0 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:34 UTC (permalink / raw)
  To: 32370

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 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

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 2/4] gnu: Add ruby-oj.
  2018-08-06 22:30     ` Björn Höfling
@ 2018-08-28 20:38       ` Christopher Baines
  0 siblings, 0 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:38 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 3048 bytes --]


Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

> 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.

>> +    (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.

>> +    (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.

>> +    (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.

> 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.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
  2018-08-06 22:28   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
@ 2018-08-28 20:47     ` Christopher Baines
  0 siblings, 0 replies; 20+ messages in thread
From: Christopher Baines @ 2018-08-28 20:47 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 2784 bytes --]


Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

> 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.

> 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.

> 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 :)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test.
  2018-08-28 20:30       ` Christopher Baines
@ 2018-08-29  4:53         ` Leo Famulari
  0 siblings, 0 replies; 20+ messages in thread
From: Leo Famulari @ 2018-08-29  4:53 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 903 bytes --]

On Tue, Aug 28, 2018 at 09:30:57PM +0100, Christopher Baines wrote:
> 
> 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).

There are some guidelines here:

https://www.gnu.org/software/guix/manual/en/html_node/Package-Naming.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby.
  2018-08-28 20:33 ` Christopher Baines
                     ` (2 preceding siblings ...)
  2018-08-28 20:34   ` [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test Christopher Baines
@ 2018-09-11  6:26   ` Björn Höfling
  2018-09-16 17:33     ` bug#32370: " Christopher Baines
  3 siblings, 1 reply; 20+ messages in thread
From: Björn Höfling @ 2018-09-11  6:26 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 32370

[-- Attachment #1: Type: text/plain, Size: 2356 bytes --]

On Tue, 28 Aug 2018 21:33:58 +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 | 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

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* bug#32370: [PATCH 1/4] gnu: Add ruby-yajl-ruby.
  2018-09-11  6:26   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
@ 2018-09-16 17:33     ` Christopher Baines
  0 siblings, 0 replies; 20+ messages in thread
From: Christopher Baines @ 2018-09-16 17:33 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 32370-done

[-- Attachment #1: Type: text/plain, Size: 195 bytes --]


Björn Höfling <bjoern.hoefling@bjoernhoefling.de> writes:

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

Great, I've got around to merging these now :)

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 962 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2018-09-16 17:48 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-05 14:39 [bug#32370] [PATCH 0/4] A few Ruby related patches Christopher Baines
2018-08-05 14:43 ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Christopher Baines
2018-08-05 14:43   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
2018-08-06 22:30     ` Björn Höfling
2018-08-28 20:38       ` Christopher Baines
2018-08-05 14:43   ` [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json Christopher Baines
2018-08-06 22:31     ` Björn Höfling
2018-08-28 20:25       ` Christopher Baines
2018-08-05 14:43   ` [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test Christopher Baines
2018-08-06 22:30     ` Björn Höfling
2018-08-28 20:30       ` Christopher Baines
2018-08-29  4:53         ` Leo Famulari
2018-08-06 22:28   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
2018-08-28 20:47     ` Christopher Baines
2018-08-28 20:33 ` Christopher Baines
2018-08-28 20:33   ` [bug#32370] [PATCH 2/4] gnu: Add ruby-oj Christopher Baines
2018-08-28 20:34   ` [bug#32370] [PATCH 3/4] gnu: Enable tests for ruby-multi-json Christopher Baines
2018-08-28 20:34   ` [bug#32370] [PATCH 4/4] gnu: Add ruby-multi-test Christopher Baines
2018-09-11  6:26   ` [bug#32370] [PATCH 1/4] gnu: Add ruby-yajl-ruby Björn Höfling
2018-09-16 17:33     ` bug#32370: " Christopher Baines

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).