On 02/11/15 23:38, William Hubbs wrote:
> On Mon, Nov 02, 2015 at 09:12:30PM +0100, Justin Lecher (jlec) wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA512
>>
>> How about a virtual here?
> 
> I don't see that working out to well because the compilers are
> completely different from each other. As I said, the reference
> implementation of the go language is dev-lang/go and the other one, that
> is part of gcc, as I understand it, is not quite as fully developed as
> dev-lang/go.
> 
> Thanks,
> 
> William
> 

Hi William,

but instead of adding

DEPEND="||ยท(
        >=dev-lang/go-1.4
        >=sys-devel/gcc-5.1.0:=[go]

to ebuilds, you could create a virtual/go with that dependency and make all
packages depend on that instead of this || (). Maybe in future clang gets also
support for go, then you would need to edit again all ebuilds. Having a virtual
for that case is much simpler. This is how we are doing it for fortran.

Another problem which you have with these split deps is the following. Imagine
the user has gcc-5[go] installed, which fullfills the dependency requirement.
But she selected gcc-4.9 as the active compiler, which doesn't have go support.
The build will fail. For fortran we test in pkg_setup if we have a working
fortran compiler present. You would need to do the same for go compiler.

Justin

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to