develooper Front page | perl.perl5.porters | Postings from August 2009

Re: The plan for ext/ and dual-life modules

Thread Previous | Thread Next
From:
Rafael Garcia-Suarez
Date:
August 29, 2009 04:54
Subject:
Re: The plan for ext/ and dual-life modules
Message ID:
b77c1dce0908290454r7a850236occ0b9d88061719cf@mail.gmail.com
2009/8/29 David E. Wheeler <david@kineticode.com>:
> On Aug 28, 2009, at 1:55 PM, Nicholas Clark wrote:
>
>>  As of last night, this is in.
>>  http://perl5.git.perl.org/perl.git/commit/2adbc9b6919cad1240a83432
>
> Yay! Nicholas++
>
>>  It's a bit rough, and there are currently exceptions in place for
>> specific
>>  directories in ext/, some to disable setting $ENV{PERL_CORE},
>
> Should such changes be pushed back upstream?

Sure, since we don't want to diverge from upstream.

>> 1: Clean up the existing tests to ext, feeding changes back upstream to
>> their
>>  owners
>
> Yeah, excellent.
>
>> 2: Migrate as many dual modules as possible from lib/ to ext/, giving them
>> the
>>  exact same layout as their CPAN distributions.
>
> 1 and 2 needed be done in sequence, correct? One can be moving stuff around
> in ext while also cleaning things up as described in 1, yes?
>
>>  (As a module gets moved from lib/$somewhere to ext/$name the directory
>> its
>>   tests are run from changes from t to ext/$name, so there may be some
>>   fixing needed, but as this is all 1 module at a time, it's manageable)
>>
>>  This also means fixing the MAP field in Porting/Maintainers.pl to reflect
>>  the new, untangled layout. (Hopefully removing the MAP field completely)
>
> If things are going to have the same layout as on CPAN, will you even need
> Maintainers.pl? All that data should be in META.yml files for each
> "distribution".

That's a good idea, provided that the Porting/Maintainers script still
works.

>> 3: I think, but I've not checked the code, let alone tried it, that it
>> might be
>>  possible to have more than 1 "ext" directory. In which case, we can split
>>  ext into "ext" and "dual". All the core-only modules can stay in ext/
>>  All the dual life modules can go in dual/
>
> +1.

+1 too. That might need fixes in Configure and the build systems.
(notably -Dnoextesions/-Donlyextensions, and the ability to drop CPAN
distributions in ext/ to have them built with perl)

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About