Report forwarded
to guix-patches@gnu.org: bug#32370; Package guix-patches.
(Sun, 05 Aug 2018 14:40:01 GMT) (full text, mbox, link).
Acknowledgement sent
to Christopher Baines <mail@cbaines.net>:
New bug report received and forwarded. Copy sent to guix-patches@gnu.org.
(Sun, 05 Aug 2018 14:40:02 GMT) (full text, mbox, link).
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
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
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
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.
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).
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.
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 :)
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
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 :)
Added indication that bug 32370 blocks30689
Request was from Christopher Baines <mail@cbaines.net>
to control@debbugs.gnu.org.
(Fri, 12 Oct 2018 07:23:01 GMT) (full text, mbox, link).
bug archived.
Request was from Debbugs Internal Request <help-debbugs@gnu.org>
to internal_control@debbugs.gnu.org.
(Fri, 09 Nov 2018 12:24:08 GMT) (full text, mbox, link).
Debbugs is free software and licensed under the terms of the
GNU Public License version 2. The current version can be
obtained from https://bugs.debian.org/debbugs-source/.