|
From: | Ben Woodcroft |
Subject: | [bug#27438] [PATCH] Specify native search path for all ruby packages |
Date: | Sun, 6 Aug 2017 17:17:41 +1000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
Hi, [..]
For most compiled gems, I think it should be possible to write some procedure so that this would provide you with what you want: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 address@hidden -- 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 address@hidden 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...
guix environment --ad-hoc address@hidden --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.
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.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?
ben
[Prev in Thread] | Current Thread | [Next in Thread] |