On 03/08/16 15:58, Abel Abraham Camarillo Ojeda wrote:
> On Tue, Mar 8, 2016 at 4:18 AM, Nigel Taylor
> <njtaylor0...@btinternet.com> wrote:
>> On 03/08/16 04:52, Abel Abraham Camarillo Ojeda wrote:
>>> Module::Build::Tiny according to its docs:
>>>
>>>    Incompatibilities
>>>        •   Argument parsing
>>>
>>>            Module::Build has an extremely permissive way of argument 
>>> handling,
>>>            Module::Build::Tiny only supports a (sane) subset of that. In
>>>            particular, "./Build destdir=/foo" does not work, you will need 
>>> to
>>>            pass it as "./Build --destdir=/foo".
>>>
>>> also, after a discussion on #toolchain on irc.perl.org it seems that
>>> Module::Build::Tiny requires options to be after actions.
>>>
>>> this patch enables instalation of packages that use Module::Build::Tiny
>>> and don't have Module::Build compatibility - like my following port
>>> of Mojo::JSON::MaybeXS.
>>>
>>> patch attached - gmail.
>>>
>>> comments, ideas?
>>>
>>> thanks.
>>>
>> Changes to perl.port.mk requires testing of a large number of perl ports.
>>
>> There are at least two perl ports that build using Module::Build::Tiny,
>> without any such modifications. The reason is modbuild is for ports
>> using Module::Build, not ports using Module::Build::Tiny. That is two
>> ports that doesn't use do-install to supply the Module::Build::Tiny CLI
>> parameters.
>>
>> So it's true using something meant specifically for Module::Build may
>> not work for Module::Build::Tiny.
>>
>> I need to look, at all ports using Module::Build::Tiny, but maybe the
>> wrong build method is being used in the first place. Those that work and
>> don't require changes do not use modbuild, so never use the modbuild
>> supplied CLI parameters and require no change to perl.port.mk.
>>
>> Module::Build is removed from core perl after version 5.21, and this
>> requires changes to the same section in perl.port.mk, while tests might
>> work now, changes might hamper moving to perl 5.22, and need to be
>> tested against a p5-Module-Build 0.42.08 not just the the core 0.42.05
>> version.
>>
>> $ grep Module-Build-Tiny INDEX | cut -d\| -f2 | sed -e 's%$%/Makefile%'
>> | xargs grep do-install
>> devel/p5-Module-Build-Tiny/Makefile:do-install:
>> geo/p5-Geo-UK-Postcode-Regex/Makefile:do-install:
>> www/p5-CGI-Compile/Makefile:do-install:
>> www/p5-Starman/Makefile:do-install:
>>
>> (ignore devel/p5-Module-Build-Tiny itself as likely to be a special case).
>>
>> The majority ports don't use do-install or modbuild
>>
>> $ grep Module-Build-Tiny INDEX | cut -d\| -f2 | sed -e 's%$%/Makefile%'
>> | xargs egrep -L "do-install|modbuild"
>> devel/p5-Class-C3-Adopt-NEXT/Makefile
>> devel/p5-Hook-LexWrap/Makefile
>> devel/p5-MooseX-AttributeHelpers/Makefile
>> devel/p5-MooseX-LazyRequire/Makefile
>> devel/p5-MooseX-Types/Makefile
>> devel/p5-MooseX-Types-LoadableClass/Makefile
>> devel/p5-Test-DistManifest/Makefile
>>
>>
>> Does anything say modbuild can be used for Module::Build::Tiny ports?
>>
> 
> As far as I know modbuild should work with options supplied in modbuildtiny
> fashion (as the last only supports a subset of the former), anyway,
> maybe we could also make a new CONFIGURE_STYLE = modbuildtiny,
> is we don't want to affect anything previous...
> 
> New authoring tools appear to generate this gigantic warnings (+ sleep 10), 
> when
> using modbuild but not modbuildtiny but anyway falling back:
> 
> https://github.com/Grinnz/Mojo-JSON-MaybeXS/blob/master/Build.PL
> 
> I don't particularly think the changes I sent could be pushed as-is, but
> wanted to discuss about it with a diff in hand :)
> 
> Will also try to test all dependent modules.
> 
> thanks
> 
> 
The sleep is caused by this generating the distribution, seen in other
ports.

Dist::Zilla::Plugin::ModuleBuildTiny::Fallback

Module::Build was updated as part of perl core, Module::Build::Tiny is
not an actual replacement for the removed Module::Build in perl >= 5.21.
Module::Build was used to build core perl will revert back to using only
MakeMaker in latest perl versions.

It's only an opinion by the Module::Build::Tiny /
Dist::Zilla::Plugin::ModuleBuildTiny::Fallback that Module::Build is an
old toolkit, and as far as I know Module::Build::Tiny is never going to
become part of core perl and the current recommended toolkit is not
Module::Build::Tiny. Module::Build is still being updated, and used by
considerably more perl modules in CPAN.

This works, doesn't do the sleep as p5-Module-Build-Tiny is present.

$ cat Makefile
# $OpenBSD$

COMMENT =       use JSON::MaybeXS as the JSON encoder for Mojolicious

MODULES =       cpan
DISTNAME =      Mojo-JSON-MaybeXS-0.010
CATEGORIES =    devel
MAINTAINER =    Abel Abraham Camarillo Ojeda <acam...@verlet.org>

# Perl
PERMIT_PACKAGE_CDROM =  Yes

CPAN_AUTHOR =           DBOOK
CONFIGURE_STYLE +=      modtiny

RUN_DEPENDS =   converters/p5-JSON-MaybeXS>=1.001 \
                www/p5-Mojo>=5.66

.include <bsd.port.mk>




Reply via email to