From: Ben Woodcroft <b.woodcroft@uq.edu.au>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: "guix-devel@gnu.org" <guix-devel@gnu.org>
Subject: Re: [PATCH] Add rubygems updater.
Date: Tue, 5 Jan 2016 23:57:47 +1000 [thread overview]
Message-ID: <568BCBDB.1010308@uq.edu.au> (raw)
In-Reply-To: <87y4c6vjty.fsf@gnu.org>
On 04/01/16 00:06, Ludovic Courtès wrote:
> Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:
>
>> On 03/01/16 06:54, Ludovic Courtès wrote:
>>> Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:
>>>
>>>> On 02/01/16 04:17, Ludovic Courtès wrote:
>>>>> Ben Woodcroft <b.woodcroft@uq.edu.au> skribis:
> [...]
>
>>>>>> + `(#:phases
>>>>>> + (modify-phases %standard-phases
>>>>>> + (replace 'check
>>>>>> + (lambda _
>>>>>> + (zero? (system* "ruby" "-Ilib" "-r" "ansi")))))))
>>>>> The only case where this would make a difference is for leaf packages,
>>>>> no? In all the other cases, building dependent packages will ensure
>>>>> that the package at hand works as expected.
>>>> Sure, but even in the case where they aren't leaf packages at least
>>>> the build error gets thrown when building the package at
>>>> fault. There's also the important difference that it makes the
>>>> packager feel less bad about the disappointing lack of tests or the
>>>> necessity of disabling them because of circular dependencies.
>>> Right. The only downside I can think of is if packagers have to copy
>>> the above 4 lines in each and every package. Can you think of a way
>>> that would avoid that?
>> I have only been adding these in cases where testing is impossible,
>> but we could make it a wider policy.
>>
>> We could bake it into the build system, by adding an optional argument
>> #:import so that you could do
>>
>> (build-system ruby-build-system)
>> (arguments
>> `(#:import "ansi"
>> #:tests? #f)) ; tests require circular dependencies
> The problem is that the “-Ilib” in the command above cannot be guessed,
> can it?
My understanding is that the the "-Ilib" is almost invariant because
putting imported code in the lib subdirectory is a convention that most
gems adhere to. In those cases where it fails, the 'check-import phase
can be replaced or removed.
[..]
>> We could even default this to the expected name of the library guessed
>> from the name of the package when #:import is not given. However, this
>> would unfortunately break packages that have been written outside of
>> Guix, so I imagine you don't feel this is a good idea.
> We could choose the package name as a default value, but often that’s
> not going to work, notably because of the “ruby-” prefix.
>
> WDYT?
Removing the "ruby-" from the package name sounds like a reasonable
default, but won't work every time because some imports use underscores
where some use dashes e.g. "minitest-pretty_diff".
I'm keen to make sure you understand what I'm attempting to say though.
By "default" I mean when the #:import flag is missing from arguments,
"ruby -Ilib -r <guessed_package_name>" will be run. So if I have
previously packaged a rubygem outside Guix and it is working fine,
implementing the default might break my package making me unhappy. If
you instead interpreted "default" as the guessed value that "guix
import" generates, then that is less likely to end in unhappiness.
WDYT?
Thanks,
ben
next prev parent reply other threads:[~2016-01-05 13:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-01 8:27 [PATCH] Add rubygems updater Ben Woodcroft
2016-01-01 9:28 ` Pjotr Prins
2016-01-01 11:18 ` Ben Woodcroft
2016-01-01 11:42 ` Pjotr Prins
2016-01-01 18:17 ` Ludovic Courtès
2016-01-02 0:11 ` Ben Woodcroft
2016-01-02 20:54 ` Ludovic Courtès
2016-01-03 0:50 ` Ben Woodcroft
2016-01-03 14:06 ` Ludovic Courtès
2016-01-05 13:57 ` Ben Woodcroft [this message]
2016-01-05 14:56 ` Ricardo Wurmus
2016-01-08 18:18 ` Ludovic Courtès
2016-01-02 3:43 ` Pjotr Prins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=568BCBDB.1010308@uq.edu.au \
--to=b.woodcroft@uq.edu.au \
--cc=guix-devel@gnu.org \
--cc=ludo@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.