guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Update Ruby to 2.3.0


From: Ludovic Courtès
Subject: [PATCH] Update Ruby to 2.3.0
Date: Fri, 08 Jan 2016 17:52:00 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Ben Woodcroft <address@hidden> skribis:

> From 28dee96b0de99adf8657457660b9e3733434d2b4 Mon Sep 17 00:00:00 2001
> From: Ben Woodcroft <address@hidden>
> 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.

> (ruby-2.2): New variable.

[...]

> +             (substitute* "ext/fiddle/libffi-3.2.1/configure"
> +               (("SHELL = /bin/sh")
> +                (string-append "SHELL = " (which "sh"))))

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!

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

Could you send an updated patch, hopefully the last one?  :-)

Thanks,
Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]