unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ben Woodcroft <b.woodcroft@uq.edu.au>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: Guix-devel <Guix-devel@gnu.org>
Subject: Re: [PATCH] Update Ruby to 2.3.0
Date: Sun, 10 Jan 2016 22:53:23 +1000	[thread overview]
Message-ID: <56925443.6070608@uq.edu.au> (raw)
In-Reply-To: <87wprkggjz.fsf_-_@gnu.org>



On 09/01/16 02:52, Ludovic Courtès wrote:
> Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:
>
>>  From 28dee96b0de99adf8657457660b9e3733434d2b4 Mon Sep 17 00:00:00 2001
>> From: Ben Woodcroft <donttrustben@gmail.com>
>> Date: Mon, 4 Jan 2016 09:38:42 +1000
>> Subject: [PATCH 4/4] gnu: ruby: Update to 2.3.0.
>>
>> * gnu/packages/ruby.scm (ruby): Update to 2.3.0.
> Please mention the switch to ‘modify-phases’ here.
I even made it a separate commit.

[..]
> I overlooked this part before but: (1) this looks weird (the spaces
> around ‘=’ suggest it’s Makefile syntax, not shell syntax), and (2) we
> shouldn’t use the bundled libffi.
>
> How much work would it be to fix #2?  It would be awesome if you could
> do that.  Sorry for the extra work!
All good, was easy to fix. I also removed it from ruby-2.2 which bundles 
the same libffi version.

However, it seems 11 rubygems are also bundled. To unbundle these and 
deal with the circular dependencies, I reckon we should create a new 
ruby-base package that removes the bundled gems, then we package the 11 
gems and their dependencies using ruby-base, and the 'ruby' package then 
inherits from ruby-base but also propagates the 11 gems. However I don't 
think I have time to implement this right now, especially since most of 
the 11 haven't been packaged by us yet and core-updates is to be merged 
soon.

So do we merge this update as-is or wait for a more perfect solution?
>> +(define-public ruby-2.2
>> +  (package (inherit ruby)
>> +    (version "2.2.4")
>> +    (source
>> +     (origin
>> +       (method url-fetch)
>> +       (uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
>> +                           (version-major+minor version)
>> +                           "/ruby-" version ".tar.bz2"))
>> +       (sha256
>> +        (base32
>> +         "0g3ps4q3iz7wj9m45n8xyxzw8nh29ljdqb87b0f6i0p3853gz2yj"))))
>> +    (arguments
>> +     `(#:test-target "test"
>> +       #:parallel-tests? #f
>> +       #:phases
>> +       (alist-cons-before
>> +        'configure 'replace-bin-sh
>> +        (lambda _
>> +          (substitute* '("Makefile.in"
>> +                         "ext/pty/pty.c"
>> +                         "io.c"
>> +                         "lib/mkmf.rb"
>> +                         "process.c"
>> +                         "test/rubygems/test_gem_ext_configure_builder.rb"
>> +                         "test/rdoc/test_rdoc_parser.rb"
>> +                         "test/ruby/test_rubyoptions.rb"
>> +                         "test/ruby/test_process.rb"
>> +                         "test/ruby/test_system.rb"
>> +                         "tool/rbinstall.rb")
>> +            (("/bin/sh") (which "sh"))))
>> +        %standard-phases)))))
> AFAICS all of ‘arguments’ can be omitted once the above libffi
> substitution is removed.
>
> (If it there’s still a need for different phases, it should use
> ‘substitute-keyword-arguments’ to modify only #:phases, and then
> ‘modify-phases’ rather than ‘alist-cons-before’.)
Thanks for the tip, but ruby-2.2 is a now simple inherit.

> Could you send an updated patch, hopefully the last one?  :-)
Please feel free to suggest further changes if you spot anything further.

Thanks for the review,
ben

  reply	other threads:[~2016-01-10 12:53 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-03 14:35 Freezing core-updates soon Ludovic Courtès
2016-01-03 16:25 ` Ricardo Wurmus
2016-01-03 22:27   ` Ludovic Courtès
2016-01-04 14:20     ` Mark H Weaver
2016-01-04 21:16       ` Mark H Weaver
2016-01-04 22:49         ` Ludovic Courtès
2016-01-04  0:59 ` Thompson, David
2016-01-04  1:17   ` Ben Woodcroft
2016-01-04 10:46     ` [PATCH] Update Ruby to 2.3.0 (was Re: Freezing core-updates soon) Ben Woodcroft
2016-01-05 22:24       ` Ludovic Courtès
2016-01-08 11:16         ` Ben Woodcroft
2016-01-08 16:52           ` [PATCH] Update Ruby to 2.3.0 Ludovic Courtès
2016-01-10 12:53             ` Ben Woodcroft [this message]
2016-01-10 12:56               ` Ben Woodcroft
2016-01-10 21:14                 ` Ludovic Courtès
2016-01-11 12:52                   ` Ben Woodcroft
2016-01-04 11:02 ` Freezing core-updates soon Efraim Flashner
2016-01-04 15:13   ` Ludovic Courtès
2016-01-04 15:21     ` Efraim Flashner
2016-01-13 17:48 ` Ludovic Courtès
2016-01-14 20:10   ` Mark H Weaver
2016-01-15 16:13     ` Ludovic Courtès
2016-01-19 10:34   ` util-linux test failure Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56925443.6070608@uq.edu.au \
    --to=b.woodcroft@uq.edu.au \
    --cc=Guix-devel@gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).