Subject: Re: [bug#32370] [PATCH 2/4] gnu: Add ruby-oj.

From: Christopher Baines <[email-masked]>
Date: Tue, 28 Aug 2018 21:38:25 +0100

Björn Höfling <[email-masked]> writes:

> On Sun,  5 Aug 2018 15:43:20 +0100
> Christopher Baines <[email-masked]> wrote:
>
>> From: Ben Woodcroft <[email-masked]>
>>
>> * gnu/packages/ruby.scm (ruby-oj): New variable.
>>
>> Signed-off-by: Christopher Baines <[email-masked]>
>> ---
>>  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.