From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thompson, David" Subject: Re: [PATCH] build: ruby: Rewrite build system to use gem archives. Date: Tue, 18 Aug 2015 08:34:44 -0400 Message-ID: References: <87d1zcfmyn.fsf@izanagi.i-did-not-set--mail-host-address--so-tickle-me> <87lhd9nlpk.fsf@elephly.net> 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]:34291) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZRg6L-0005pw-Kz for guix-devel@gnu.org; Tue, 18 Aug 2015 08:34:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZRg6H-0007FE-Kd for guix-devel@gnu.org; Tue, 18 Aug 2015 08:34:49 -0400 Received: from mail-yk0-f170.google.com ([209.85.160.170]:35136) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZRg6H-0007En-GI for guix-devel@gnu.org; Tue, 18 Aug 2015 08:34:45 -0400 Received: by ykbi184 with SMTP id i184so91792733ykb.2 for ; Tue, 18 Aug 2015 05:34:45 -0700 (PDT) In-Reply-To: <87lhd9nlpk.fsf@elephly.net> 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: Ricardo Wurmus Cc: guix-devel On Tue, Aug 18, 2015 at 2:40 AM, Ricardo Wurmus wrote: > > Thompson, David writes: > >>> The major change from the previous version of this patch is that I >>> figured how to unpack the source gem, allow the package build script >>> to make any necessary dynamic patches, and then install a repacked gem >>> as opposed to the source gem. >> >> I found a problem with this system when it came to running certain >> test suites that used Bundler to read the gemspec. A lot of upstream >> gemspec include things like shell commands to run 'git ls-files' and >> things. In the former build system, the 'gitify' phase took care of >> this. Now, we can more easily deal with it by asking the 'gem' >> utility to generate a gemspec for us based on the source gem archive. >> Hope that wasn't too confusing for the non-Rubyists. > > I just read through the patch set. Looks good! (Note: I haven=E2=80=99t > actually tested this yet.) > > It seems that you had to disable tests for =E2=80=9Cuseragent=E2=80=9D, = =E2=80=9Carel=E2=80=9D, =E2=80=9Cgit=E2=80=9D; I > assume that=E2=80=99s because the gems do not come with the necessary tes= t > files. I remember a link to a discussion you once shared, in which it > was said that the declaration of test files in gemspec manifests is > deprecated. Do you think the absence of tests in the published gems is > going to be a problem for many more packages? It's hit and miss. Some have them, some don't. I imported a bunch of gems to mess around with last night and a good number of them had runnable test suites, but not all. Pjotr showed me that the official RubyGems guide recommends including test files: http://guides.rubygems.org/what-is-a-gem/ I had a conversation with Mark about this in the context of dealing with Node packages, which are definitely more of a pain than gems, and he convinced me that we cannot let the perfect get in the way of the good. Making it really easy to use the gem archives that Ruby developers are releasing with Guix is an important first step to making packaging better for everyone. So, if we have to disable some test suites to get our Ruby support off the ground, so be it. Thanks for the review, - Dave