From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38135) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1deFp6-0001hq-RY for guix-patches@gnu.org; Sun, 06 Aug 2017 03:18:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1deFp5-00041s-LM for guix-patches@gnu.org; Sun, 06 Aug 2017 03:18:04 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:41393) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1deFp5-00041d-H1 for guix-patches@gnu.org; Sun, 06 Aug 2017 03:18:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1deFp4-00047R-2C for guix-patches@gnu.org; Sun, 06 Aug 2017 03:18:03 -0400 Subject: [bug#27438] [PATCH] Specify native search path for all ruby packages Resent-Message-ID: References: <0c3c92c6-05ca-bb36-2f24-69077033e91f@cbaines.net> <878tkliix9.fsf@gnu.org> <6a666d6f-f2c2-d786-8fda-422ab28867ca@cbaines.net> <20170716183705.18b5025e@cbaines.net> <20170722110630.19b5fce0@cbaines.net> <794765de-67a1-040b-3877-a19bfe83183f@uq.edu.au> <20170805225552.19c95c6d@cbaines.net> From: Ben Woodcroft Message-ID: <41bc2718-29ea-cf3c-e409-b1f7705b11f1@uq.edu.au> Date: Sun, 6 Aug 2017 17:17:41 +1000 MIME-Version: 1.0 In-Reply-To: <20170805225552.19c95c6d@cbaines.net> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Christopher Baines Cc: 27438@debbugs.gnu.org Hi, [..] >>>> In general, except for some special circumstances, we don't support >>>> old versions of software. To fix the issue that you are >>>> encountering properly with nokogiri probably requires new package >>>> definitions using "package-with-ruby-2.3" or similar to be made, I >>>> suppose. Ludo did some nice work making this easier (see >>>> https://lists.gnu.org/archive/html/guix-patches/2017-04/msg00126.html), >>>> but I worry in general about the resources required to support >>>> older Ruby versions. WDYT? >>> I'm not aware of any particular problems if you are working with the >>> package definitions in Guile, as it should be possible to make them >>> use the single ruby version that you want. >>> >>> With the guix environment command I posted: >>> >>> guix environment --pure --ad-hoc ruby-nokogiri ruby@2.1 -- ruby >>> -e "puts require 'nokogiri'" >>> >>> It would be ideal if there was some way of telling guix environment >>> to rewrite the package definitions of all packages to use ruby@2.1 >>> in place of whatever ruby they might be using. >> Is "package-mapping" sufficient? > I don't think so. The ruby used is in the case of the ruby-build-system > is an argument to the build system, so you need to traverse part of the > dependency graph, altering the arguments of packages using the > ruby-build-system. > > Or, perhaps do the transformation at a lower level abstraction than the > package record... For most compiled gems, I think it should be possible to write some procedure so that this would provide you with what you want: guix environment --ad-hoc ruby@2.1 --environment='(package-with-explicit-ruby ruby-2.1 ruby-nokogiri)' For this specific case though, ruby-2.1 might not be the best example, since it is explicitly not supported any more. >> If all Ruby dependencies build with this change, then the change >> seems reasonable to me, details aside. > Ok, does anyone know a good process for testing if lots of packages > build? I think I've heard of Hydra building branches? I believe we can go by the old standby "guix refresh -l ruby", so 659 packages are rebuilt. Given this it would be appropriate for the staging branch, due to be merged after core-updates. ben