From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: [PATCH] Update Ruby to 2.3.0 Date: Fri, 08 Jan 2016 17:52:00 +0100 Message-ID: <87wprkggjz.fsf_-_@gnu.org> References: <87wprqspc3.fsf@gnu.org> <5689C833.3050608@uq.edu.au> <568A4D9E.3030504@uq.edu.au> <87a8ojk6kp.fsf@gnu.org> <568F9AA9.7040605@uq.edu.au> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41212) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aHaGk-0002UR-1T for Guix-devel@gnu.org; Fri, 08 Jan 2016 11:52:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aHaGh-0007jH-9P for Guix-devel@gnu.org; Fri, 08 Jan 2016 11:52:05 -0500 In-Reply-To: <568F9AA9.7040605@uq.edu.au> (Ben Woodcroft's message of "Fri, 8 Jan 2016 21:16:57 +1000") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ben Woodcroft Cc: Guix-devel Ben Woodcroft skribis: > From 28dee96b0de99adf8657457660b9e3733434d2b4 Mon Sep 17 00:00:00 2001 > From: Ben Woodcroft > 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 =E2=80=98modify-phases=E2=80=99 here. > (ruby-2.2): New variable. [...] > + (substitute* "ext/fiddle/libffi-3.2.1/configure" > + (("SHELL =3D /bin/sh") > + (string-append "SHELL =3D " (which "sh")))) I overlooked this part before but: (1) this looks weird (the spaces around =E2=80=98=3D=E2=80=99 suggest it=E2=80=99s Makefile syntax, not shel= l syntax), and (2) we shouldn=E2=80=99t 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.r= b" > + "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 =E2=80=98arguments=E2=80=99 can be omitted once the above lib= ffi substitution is removed. (If it there=E2=80=99s still a need for different phases, it should use =E2=80=98substitute-keyword-arguments=E2=80=99 to modify only #:phases, and= then =E2=80=98modify-phases=E2=80=99 rather than =E2=80=98alist-cons-before=E2= =80=99.) Could you send an updated patch, hopefully the last one? :-) Thanks, Ludo=E2=80=99.