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>