patch: perl.port.mk to support Module::Build::Tiny
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. Index: perl.port.mk === RCS file: /cvs/ports/infrastructure/mk/perl.port.mk,v retrieving revision 1.24 diff -u -p -r1.24 perl.port.mk --- perl.port.mk10 Aug 2014 08:59:48 - 1.24 +++ perl.port.mk8 Mar 2016 04:34:26 - @@ -25,12 +25,12 @@ MODPERL_configure = \ arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ cd ${WRKSRC}; ${_SYSTRACE_CMD} ${SETENV} ${CONFIGURE_ENV} \ perl Build.PL \ - install_path=lib="${PREFIX}/libdata/perl5/site_perl" \ - install_path=arch="${PREFIX}/libdata/perl5/site_perl/$$arch" \ - install_path=libdoc="${PREFIX}/man/man3p" \ - install_path=bindoc="${PREFIX}/man/man1" \ - install_path=bin="${PREFIX}/bin" \ - install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} + --install_path=lib="${PREFIX}/libdata/perl5/site_perl" \ + --install_path=arch="${PREFIX}/libdata/perl5/site_perl/$$arch" \ + --install_path=libdoc="${PREFIX}/man/man3p" \ + --install_path=bindoc="${PREFIX}/man/man1" \ + --install_path=bin="${PREFIX}/bin" \ + --install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} .else MODPERL_configure = ${_MODPERL_preconfig}; \ arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ @@ -73,7 +73,7 @@ MODPERL_TEST_TARGET = \ ${MODPERL_BUILD} ${TEST_TARGET} MODPERL_INSTALL_TARGET = \ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} perl \ - ${MODPERL_BUILD} destdir=${WRKINST} ${FAKE_TARGET} + ${MODPERL_BUILD} ${FAKE_TARGET} --destdir=${WRKINST} . if !target(do-build) do-build:
Re: patch: perl.port.mk to support Module::Build::Tiny
I'll put this in a bulk build. On 2016/03/07 22: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. > Index: perl.port.mk > === > RCS file: /cvs/ports/infrastructure/mk/perl.port.mk,v > retrieving revision 1.24 > diff -u -p -r1.24 perl.port.mk > --- perl.port.mk 10 Aug 2014 08:59:48 - 1.24 > +++ perl.port.mk 8 Mar 2016 04:34:26 - > @@ -25,12 +25,12 @@ MODPERL_configure = \ > arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ > cd ${WRKSRC}; ${_SYSTRACE_CMD} ${SETENV} ${CONFIGURE_ENV} \ > perl Build.PL \ > - install_path=lib="${PREFIX}/libdata/perl5/site_perl" \ > - install_path=arch="${PREFIX}/libdata/perl5/site_perl/$$arch" \ > - install_path=libdoc="${PREFIX}/man/man3p" \ > - install_path=bindoc="${PREFIX}/man/man1" \ > - install_path=bin="${PREFIX}/bin" \ > - install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} > + --install_path=lib="${PREFIX}/libdata/perl5/site_perl" \ > + --install_path=arch="${PREFIX}/libdata/perl5/site_perl/$$arch" \ > + --install_path=libdoc="${PREFIX}/man/man3p" \ > + --install_path=bindoc="${PREFIX}/man/man1" \ > + --install_path=bin="${PREFIX}/bin" \ > + --install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} > .else > MODPERL_configure = ${_MODPERL_preconfig}; \ > arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ > @@ -73,7 +73,7 @@ MODPERL_TEST_TARGET = \ > ${MODPERL_BUILD} ${TEST_TARGET} > MODPERL_INSTALL_TARGET = \ > cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} perl \ > - ${MODPERL_BUILD} destdir=${WRKINST} ${FAKE_TARGET} > + ${MODPERL_BUILD} ${FAKE_TARGET} --destdir=${WRKINST} > > . if !target(do-build) > do-build:
Re: patch: perl.port.mk to support Module::Build::Tiny
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?
Re: patch: perl.port.mk to support Module::Build::Tiny
On Tue, Mar 8, 2016 at 4:18 AM, Nigel Taylor 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
Re: patch: perl.port.mk to support Module::Build::Tiny
On 2016/03/08 09:58, Abel Abraham Camarillo Ojeda wrote: > 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 :) I think it probably could, as long as the test build works out.
Re: patch: perl.port.mk to support Module::Build::Tiny
On 03/08/16 10:18, Nigel Taylor 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? > > > Had a better look, depending on how the distribution is generated a Makefile.PL may or may not exist. If Makefile.PL doesn't exist Build.PL has to be used. These generate a Makefile. Dist::Zilla::Plugin::MakeMaker::Awesome is used to generate the Makefile.PL using the dist.ini Dist::Zilla::Plugin::ModuleBuildTiny is used to generate the Build.PL from dist.ini for Module::Build::Tiny. Dist::Zilla::Plugin::ModuleBuild is used to generate the Build.PL for Module::Build from dist.ini There are no Dist::Zilla. / Dist::Milla in ports currently to try, used to send distribution to CPAN. modbuild shouldn't be used but maybe a modtiny style adding an extra style doesn't impact existing modbuild ports. modbuild will add the p5-Module-Build port to BUILD_DEPENDS for perl 5.22 (or you can edit every modbuild port for perl 5.22). modtiny should add p5-Module-Build-Tiny to BUILD_DEPENDS, as with modinst adding p5-Module-Install, then Module::Install depends on Module::Build, is a run depends for perl 5.22 Attached, diff revised p5-Starman port. My perl.port.mk include some extras as building other ports at this time, can't remove mid dpb build. modinst - removes all bundled perl, needs some additional ports / dependency changes to build. modbuild - adds p5-Module-Build to BDEP. revised p5-Geo-UK-Postcode-Regex below, and also p5-CGI-Compile $ cat Makefile # $OpenBSD: Makefile,v 1.2 2016/01/11 10:34:21 sthen Exp $ COMMENT=regular expressions for handling British postcodes MODULES=cpan DISTNAME= Geo-UK-Postcode-Regex-0.015 CATEGORIES= geo # Perl PERMIT_PACKAGE_CDROM= Yes MAINTAINER= Stuart Henderson BUILD_DEPENDS= devel/p5-File-ShareDir-Install TEST_DEPENDS= devel/p5-Test-Exception \ devel/p5-Clone CONFIGURE_STYLE= modtiny .include $ make show=BUILD_DEPENDS devel/p5-File-ShareDir-Install devel/p5-Module-Build-Tiny devel/ccache If modbuild had been used would of had p5-Module-Build included in BDEP, when only p5-Module-Build-Tiny is required. Also works switching from Makefile.PL to Build.PL - only tried the one (should have remov
Re: patch: perl.port.mk to support Module::Build::Tiny
On Tue, Mar 8, 2016 at 10:41 AM, Nigel Taylor wrote: > > Had a better look, depending on how the distribution is generated a > Makefile.PL may or may not exist. If Makefile.PL doesn't exist Build.PL > has to be used. These generate a Makefile. > > > Dist::Zilla::Plugin::MakeMaker::Awesome is used to generate the > Makefile.PL using the dist.ini > > Dist::Zilla::Plugin::ModuleBuildTiny is used to generate the Build.PL > from dist.ini for Module::Build::Tiny. > > Dist::Zilla::Plugin::ModuleBuild is used to generate the Build.PL for > Module::Build from dist.ini > > There are no Dist::Zilla. / Dist::Milla in ports currently to > try, used to send distribution to CPAN. > > > modbuild shouldn't be used but maybe a modtiny style adding an extra > style doesn't impact existing modbuild ports. > > > modbuild will add the p5-Module-Build port to BUILD_DEPENDS for perl > 5.22 (or you can edit every modbuild port for perl 5.22). > > modtiny should add p5-Module-Build-Tiny to BUILD_DEPENDS, as with > modinst adding p5-Module-Install, then Module::Install depends on > Module::Build, is a run depends for perl 5.22 this seems like an strong enough argument to add a separate modtiny conf style. > > Attached, diff revised p5-Starman port. looks ok to me > My perl.port.mk include some > extras as building other ports at this time, can't remove mid dpb build. > > modinst - removes all bundled perl, needs some additional ports / > dependency changes to build. can't comment on that right now > modbuild - adds p5-Module-Build to BDEP. looks good to me > > revised p5-Geo-UK-Postcode-Regex below, and also p5-CGI-Compile > > $ cat Makefile > # $OpenBSD: Makefile,v 1.2 2016/01/11 10:34:21 sthen Exp $ > > COMMENT=regular expressions for handling British postcodes > > MODULES=cpan > DISTNAME= Geo-UK-Postcode-Regex-0.015 > CATEGORIES= geo > > # Perl > PERMIT_PACKAGE_CDROM= Yes > > MAINTAINER= Stuart Henderson > > BUILD_DEPENDS= devel/p5-File-ShareDir-Install > TEST_DEPENDS= devel/p5-Test-Exception \ > devel/p5-Clone > > CONFIGURE_STYLE= modtiny > > .include > $ make show=BUILD_DEPENDS > devel/p5-File-ShareDir-Install devel/p5-Module-Build-Tiny devel/ccache > > If modbuild had been used would of had p5-Module-Build included in BDEP, > when only p5-Module-Build-Tiny is required. > > > Also works switching from Makefile.PL to Build.PL - only tried the one > (should have removed \ ok for checking the change over). > > $ cvs -R -q diff -uNp > Index: Makefile > === > RCS file: /home/cvs/ports/devel/p5-MooseX-Types/Makefile,v > retrieving revision 1.12 > diff -u -p -r1.12 Makefile > --- Makefile12 Jun 2015 13:46:08 - 1.12 > +++ Makefile8 Mar 2016 15:12:07 - > @@ -17,9 +17,10 @@ RUN_DEPENDS =devel/p5-Carp-Clan \ > devel/p5-Sub-Name \ > devel/p5-namespace-autoclean > BUILD_DEPENDS = ${RUN_DEPENDS} \ > - devel/p5-Module-Build-Tiny > > TEST_DEPENDS = devel/p5-Test-Fatal \ > devel/p5-Test-Requires > + > +CONFIGURE_STYLE = modtiny > > .include > > > > > > > about your perl.port.mk, isn't this duplicated: +. if !target(do-build) +do-build: + @${MODPERL_BUILD_TARGET} +. endif +. if !target(do-test) +do-test: + @${MODPERL_TEST_TARGET} +. endif +. if !target(do-install) +do-install: + @${MODPERL_INSTALL_TARGET} +. endif +.endif [...] . if !target(do-build) do-build: @${MODPERL_BUILD_TARGET} . endif . if !target(do-test) do-test: @${MODPERL_TEST_TARGET} . endif . if !target(do-install) do-install: @${MODPERL_INSTALL_TARGET} . endif .endif or I'm reading it wrong? thanks for interest/help!
Re: patch: perl.port.mk to support Module::Build::Tiny
On 03/08/16 15:58, Abel Abraham Camarillo Ojeda wrote: > On Tue, Mar 8, 2016 at 4:18 AM, Nigel Taylor > 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 # 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
Re: patch: perl.port.mk to support Module::Build::Tiny
On Tue, Mar 8, 2016 at 12:29 PM, Nigel Taylor wrote: > On 03/08/16 17:01, Abel Abraham Camarillo Ojeda wrote: >> On Tue, Mar 8, 2016 at 10:41 AM, Nigel Taylor >> wrote: >> >>> >>> Had a better look, depending on how the distribution is generated a >>> Makefile.PL may or may not exist. If Makefile.PL doesn't exist Build.PL >>> has to be used. These generate a Makefile. >>> >>> >>> Dist::Zilla::Plugin::MakeMaker::Awesome is used to generate the >>> Makefile.PL using the dist.ini >>> >>> Dist::Zilla::Plugin::ModuleBuildTiny is used to generate the Build.PL >>> from dist.ini for Module::Build::Tiny. >>> >>> Dist::Zilla::Plugin::ModuleBuild is used to generate the Build.PL for >>> Module::Build from dist.ini >>> >>> There are no Dist::Zilla. / Dist::Milla in ports currently to >>> try, used to send distribution to CPAN. >>> >>> >>> modbuild shouldn't be used but maybe a modtiny style adding an extra >>> style doesn't impact existing modbuild ports. >>> >>> >>> modbuild will add the p5-Module-Build port to BUILD_DEPENDS for perl >>> 5.22 (or you can edit every modbuild port for perl 5.22). >>> >>> modtiny should add p5-Module-Build-Tiny to BUILD_DEPENDS, as with >>> modinst adding p5-Module-Install, then Module::Install depends on >>> Module::Build, is a run depends for perl 5.22 >> >> this seems like an strong enough argument to add a separate modtiny conf >> style. >> >> >>> >>> Attached, diff revised p5-Starman port. >> >> looks ok to me >> >>> My perl.port.mk include some >>> extras as building other ports at this time, can't remove mid dpb build. >>> >>> modinst - removes all bundled perl, needs some additional ports / >>> dependency changes to build. >> >> can't comment on that right now >> >>> modbuild - adds p5-Module-Build to BDEP. >> >> looks good to me >> >>> >>> revised p5-Geo-UK-Postcode-Regex below, and also p5-CGI-Compile >>> >>> $ cat Makefile >>> # $OpenBSD: Makefile,v 1.2 2016/01/11 10:34:21 sthen Exp $ >>> >>> COMMENT=regular expressions for handling British postcodes >>> >>> MODULES=cpan >>> DISTNAME= Geo-UK-Postcode-Regex-0.015 >>> CATEGORIES= geo >>> >>> # Perl >>> PERMIT_PACKAGE_CDROM= Yes >>> >>> MAINTAINER= Stuart Henderson >>> >>> BUILD_DEPENDS= devel/p5-File-ShareDir-Install >>> TEST_DEPENDS= devel/p5-Test-Exception \ >>> devel/p5-Clone >>> >>> CONFIGURE_STYLE= modtiny >>> >>> .include >>> $ make show=BUILD_DEPENDS >>> devel/p5-File-ShareDir-Install devel/p5-Module-Build-Tiny devel/ccache >>> >>> If modbuild had been used would of had p5-Module-Build included in BDEP, >>> when only p5-Module-Build-Tiny is required. >>> >>> >>> Also works switching from Makefile.PL to Build.PL - only tried the one >>> (should have removed \ ok for checking the change over). >>> >>> $ cvs -R -q diff -uNp >>> Index: Makefile >>> === >>> RCS file: /home/cvs/ports/devel/p5-MooseX-Types/Makefile,v >>> retrieving revision 1.12 >>> diff -u -p -r1.12 Makefile >>> --- Makefile12 Jun 2015 13:46:08 - 1.12 >>> +++ Makefile8 Mar 2016 15:12:07 - >>> @@ -17,9 +17,10 @@ RUN_DEPENDS =devel/p5-Carp-Clan \ >>> devel/p5-Sub-Name \ >>> devel/p5-namespace-autoclean >>> BUILD_DEPENDS = ${RUN_DEPENDS} \ >>> - devel/p5-Module-Build-Tiny >>> >>> TEST_DEPENDS = devel/p5-Test-Fatal \ >>> devel/p5-Test-Requires >>> + >>> +CONFIGURE_STYLE = modtiny >>> >>> .include >>> >>> >>> >>> >>> >>> >>> >> >> about your perl.port.mk, >> >> isn't this duplicated: >> >> +. if !target(do-build) >> +do-build: >> + @${MODPERL_BUILD_TARGET} >> +. endif >> +. if !target(do-test) >> +do-test: >> + @${MODPERL_TEST_TARGET} >> +. endif >> +. if !target(do-install) >> +do-install: >> + @${MODPERL_INSTALL_TARGET} >> +. endif >> +.endif >> >> >> [...] >> >> . if !target(do-build) >> do-build: >> @${MODPERL_BUILD_TARGET} >> . endif >> . if !target(do-test) >> do-test: >> @${MODPERL_TEST_TARGET} >> . endif >> . if !target(do-install) >> do-install: >> @${MODPERL_INSTALL_TARGET} >> . endif >> .endif >> >> >> or I'm reading it wrong? >> > it's > > .if ...modbuild > . if > > . endif > .endif > > .if ...modtiny > . if > > . endif > .endif > > Yes it's duplicated a lot of what inside the .if .endif > But found it easier than adding, > > .if modbuild modtiny > > .endif > > and leaves the original modbuild, even if the diff doesn't quite show > that in a nice way, > >> thanks for interest/help! >> >> > Yes, I got fooled by the diff, sorry
Re: patch: perl.port.mk to support Module::Build::Tiny
On 03/08/16 17:01, Abel Abraham Camarillo Ojeda wrote: > On Tue, Mar 8, 2016 at 10:41 AM, Nigel Taylor > wrote: > >> >> Had a better look, depending on how the distribution is generated a >> Makefile.PL may or may not exist. If Makefile.PL doesn't exist Build.PL >> has to be used. These generate a Makefile. >> >> >> Dist::Zilla::Plugin::MakeMaker::Awesome is used to generate the >> Makefile.PL using the dist.ini >> >> Dist::Zilla::Plugin::ModuleBuildTiny is used to generate the Build.PL >> from dist.ini for Module::Build::Tiny. >> >> Dist::Zilla::Plugin::ModuleBuild is used to generate the Build.PL for >> Module::Build from dist.ini >> >> There are no Dist::Zilla. / Dist::Milla in ports currently to >> try, used to send distribution to CPAN. >> >> >> modbuild shouldn't be used but maybe a modtiny style adding an extra >> style doesn't impact existing modbuild ports. >> >> >> modbuild will add the p5-Module-Build port to BUILD_DEPENDS for perl >> 5.22 (or you can edit every modbuild port for perl 5.22). >> >> modtiny should add p5-Module-Build-Tiny to BUILD_DEPENDS, as with >> modinst adding p5-Module-Install, then Module::Install depends on >> Module::Build, is a run depends for perl 5.22 > > this seems like an strong enough argument to add a separate modtiny conf > style. > > >> >> Attached, diff revised p5-Starman port. > > looks ok to me > >> My perl.port.mk include some >> extras as building other ports at this time, can't remove mid dpb build. >> >> modinst - removes all bundled perl, needs some additional ports / >> dependency changes to build. > > can't comment on that right now > >> modbuild - adds p5-Module-Build to BDEP. > > looks good to me > >> >> revised p5-Geo-UK-Postcode-Regex below, and also p5-CGI-Compile >> >> $ cat Makefile >> # $OpenBSD: Makefile,v 1.2 2016/01/11 10:34:21 sthen Exp $ >> >> COMMENT=regular expressions for handling British postcodes >> >> MODULES=cpan >> DISTNAME= Geo-UK-Postcode-Regex-0.015 >> CATEGORIES= geo >> >> # Perl >> PERMIT_PACKAGE_CDROM= Yes >> >> MAINTAINER= Stuart Henderson >> >> BUILD_DEPENDS= devel/p5-File-ShareDir-Install >> TEST_DEPENDS= devel/p5-Test-Exception \ >> devel/p5-Clone >> >> CONFIGURE_STYLE= modtiny >> >> .include >> $ make show=BUILD_DEPENDS >> devel/p5-File-ShareDir-Install devel/p5-Module-Build-Tiny devel/ccache >> >> If modbuild had been used would of had p5-Module-Build included in BDEP, >> when only p5-Module-Build-Tiny is required. >> >> >> Also works switching from Makefile.PL to Build.PL - only tried the one >> (should have removed \ ok for checking the change over). >> >> $ cvs -R -q diff -uNp >> Index: Makefile >> === >> RCS file: /home/cvs/ports/devel/p5-MooseX-Types/Makefile,v >> retrieving revision 1.12 >> diff -u -p -r1.12 Makefile >> --- Makefile12 Jun 2015 13:46:08 - 1.12 >> +++ Makefile8 Mar 2016 15:12:07 - >> @@ -17,9 +17,10 @@ RUN_DEPENDS =devel/p5-Carp-Clan \ >> devel/p5-Sub-Name \ >> devel/p5-namespace-autoclean >> BUILD_DEPENDS = ${RUN_DEPENDS} \ >> - devel/p5-Module-Build-Tiny >> >> TEST_DEPENDS = devel/p5-Test-Fatal \ >> devel/p5-Test-Requires >> + >> +CONFIGURE_STYLE = modtiny >> >> .include >> >> >> >> >> >> >> > > about your perl.port.mk, > > isn't this duplicated: > > +. if !target(do-build) > +do-build: > + @${MODPERL_BUILD_TARGET} > +. endif > +. if !target(do-test) > +do-test: > + @${MODPERL_TEST_TARGET} > +. endif > +. if !target(do-install) > +do-install: > + @${MODPERL_INSTALL_TARGET} > +. endif > +.endif > > > [...] > > . if !target(do-build) > do-build: > @${MODPERL_BUILD_TARGET} > . endif > . if !target(do-test) > do-test: > @${MODPERL_TEST_TARGET} > . endif > . if !target(do-install) > do-install: > @${MODPERL_INSTALL_TARGET} > . endif > .endif > > > or I'm reading it wrong? > it's .if ...modbuild . if . endif .endif .if ...modtiny . if . endif .endif Yes it's duplicated a lot of what inside the .if .endif But found it easier than adding, .if modbuild modtiny .endif and leaves the original modbuild, even if the diff doesn't quite show that in a nice way, > thanks for interest/help! > >
Re: patch: perl.port.mk to support Module::Build::Tiny
On 2016/03/08 16:41, Nigel Taylor wrote: > modbuild shouldn't be used but maybe a modtiny style adding an extra > style doesn't impact existing modbuild ports. My build is still running, but no problems to report yet. If nothing shows up as a problem I don't see why we couldn't use the same "MODPERL_configure" for both. And actually we could do something like this, it would be quite intuitive: set CONFIGURE_STYLE to either just "modbuild" or to "modbuild tiny". .if ${CONFIGURE_STYLE:L:Mmodbuild} . if ${CONFIGURE_STYLE:L:Mtiny} BUILD_DEPENDS +=devel/p5-Module-Build-Tiny . else BUILD_DEPENDS +=devel/p5-Module-Build . fi MODPERL_configure = \ arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ cd ${WRKSRC}; ${_SYSTRACE_CMD} ${SETENV} ${CONFIGURE_ENV} \ perl Build.PL \ --install_path=lib="${PREFIX}/libdata/perl5/site_perl" \ --install_path=arch="${PREFIX}/libdata/perl5/site_perl/$$arch" \ --install_path=libdoc="${PREFIX}/man/man3p" \ --install_path=bindoc="${PREFIX}/man/man1" \ --install_path=bin="${PREFIX}/bin" \ --install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} .else [...] If ::Tiny diverges further in future we could do something different but this seems a cleaner approach for now. > diff -u -p -r1.12 Makefile > --- Makefile12 Jun 2015 13:46:08 - 1.12 > +++ Makefile8 Mar 2016 15:12:07 - > @@ -17,9 +17,10 @@ RUN_DEPENDS =devel/p5-Carp-Clan \ > devel/p5-Sub-Name \ > devel/p5-namespace-autoclean > BUILD_DEPENDS = ${RUN_DEPENDS} \ > - devel/p5-Module-Build-Tiny > this leaves a dangerous trailing \ > . if ${CONFIGURE_STYLE:L:Mmodinst} > BUILD_DEPENDS += devel/p5-Module-Install > CONFIGURE_ARGS +=--skipdeps > -_MODPERL_preconfig = rm -rf ${WRKSRC}/inc/Module/*Install* > +_MODPERL_preconfig = rm -rf ${WRKSRC}/inc/* > . else > _MODPERL_preconfig = : > . endif this looks like part of a different diff
Re: patch: perl.port.mk to support Module::Build::Tiny
On 03/08/16 22:29, Stuart Henderson wrote: > On 2016/03/08 16:41, Nigel Taylor wrote: >> modbuild shouldn't be used but maybe a modtiny style adding an extra >> style doesn't impact existing modbuild ports. > > My build is still running, but no problems to report yet. If nothing > shows up as a problem I don't see why we couldn't use the same > "MODPERL_configure" for both. And actually we could do something > like this, it would be quite intuitive: set CONFIGURE_STYLE to > either just "modbuild" or to "modbuild tiny". Happy with modbuild tiny, didn't think of that. > > .if ${CONFIGURE_STYLE:L:Mmodbuild} > . if ${CONFIGURE_STYLE:L:Mtiny} > BUILD_DEPENDS += devel/p5-Module-Build-Tiny > . else > BUILD_DEPENDS += devel/p5-Module-Build This is for later there is no p5-Module-Build yet in the tree, I have one locally in my openbsd-wip. > . fi > MODPERL_configure = \ > arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ > cd ${WRKSRC}; ${_SYSTRACE_CMD} ${SETENV} ${CONFIGURE_ENV} \ > perl Build.PL \ > --install_path=lib="${PREFIX}/libdata/perl5/site_perl" \ > > --install_path=arch="${PREFIX}/libdata/perl5/site_perl/$$arch" \ > --install_path=libdoc="${PREFIX}/man/man3p" \ > --install_path=bindoc="${PREFIX}/man/man1" \ > --install_path=bin="${PREFIX}/bin" \ > --install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} > .else > [...] > > If ::Tiny diverges further in future we could do something different > but this seems a cleaner approach for now. Agree it's cleaner for now. Ok with me. > >> diff -u -p -r1.12 Makefile >> --- Makefile12 Jun 2015 13:46:08 - 1.12 >> +++ Makefile8 Mar 2016 15:12:07 - >> @@ -17,9 +17,10 @@ RUN_DEPENDS =devel/p5-Carp-Clan \ >> devel/p5-Sub-Name \ >> devel/p5-namespace-autoclean >> BUILD_DEPENDS = ${RUN_DEPENDS} \ >> - devel/p5-Module-Build-Tiny >> > > this leaves a dangerous trailing \ Did say forgot to remove this, checked and had gone back and removed. > >> . if ${CONFIGURE_STYLE:L:Mmodinst} >> BUILD_DEPENDS +=devel/p5-Module-Install >> CONFIGURE_ARGS += --skipdeps >> -_MODPERL_preconfig = rm -rf ${WRKSRC}/inc/Module/*Install* >> +_MODPERL_preconfig = rm -rf ${WRKSRC}/inc/* >> . else >> _MODPERL_preconfig = : >> . endif > > this looks like part of a different diff Did explain this is for modinst, it's what I'm using on my builds, it removes all the bundled modules rather than just Module::Install, so have to use the built and tested ports, patches included. Have all the extras / changes to make this work not that many few extra BDEP's, a few new ports. Then to switch some ports to modinst some extra Module::Install extensions. Changed perl.port.mk to modbuild tiny, and ports. Of coarse start my dpb build with changes and see perl port fall over straight away... converters/p5-JSON-XS - needs BDEP on devel/p5-Canary-Stability wasn't required for 3.01 new in 3.02 $ cvs -R -q diff -uNp Index: Makefile === RCS file: /home/cvs/ports/converters/p5-JSON-XS/Makefile,v retrieving revision 1.22 diff -u -p -r1.22 Makefile --- Makefile8 Mar 2016 14:20:18 - 1.22 +++ Makefile9 Mar 2016 01:14:05 - @@ -14,6 +14,8 @@ PERMIT_PACKAGE_CDROM =Yes WANTLIB += c +BUILD_DEPENDS= devel/p5-Canary-Stability + RUN_DEPENDS= converters/p5-Types-Serialiser \ devel/p5-common-sense
Re: patch: perl.port.mk to support Module::Build::Tiny
On 2016/03/09 01:34, Nigel Taylor wrote: > This is for later there is no p5-Module-Build yet in the tree, I > have one locally in my openbsd-wip. Me too. We could do with getting that committed actually, I'd like to do a test build with 5.22 and it's much easier not to have diffs stacked in the ports tree. > > If ::Tiny diverges further in future we could do something different > > but this seems a cleaner approach for now. > Agree it's cleaner for now. Ok with me. Aww, so close... p5-GD fails with this. > Changed perl.port.mk to modbuild tiny, and ports. > > Of coarse start my dpb build with changes and see perl port fall over > straight away... > > converters/p5-JSON-XS - needs BDEP on devel/p5-Canary-Stability wasn't > required for 3.01 new in 3.02 Thanks, fixed (sorry to steal your commit I didn't page down that far in the mail until after committing ;)
Re: patch: perl.port.mk to support Module::Build::Tiny
On 03/09/16 09:28, Stuart Henderson wrote: > On 2016/03/09 01:34, Nigel Taylor wrote: >> This is for later there is no p5-Module-Build yet in the tree, I >> have one locally in my openbsd-wip. > > Me too. We could do with getting that committed actually, I'd like to > do a test build with 5.22 and it's much easier not to have diffs stacked > in the ports tree. > I need to clear my diffs, various updates. for modinst have extensions required to switch ports which should use modinst, plus additional ports to support. Then there are fixes for ports when Module Build is removed / p5-Module-Build is available. I do this to ensure not used core versions. doas rm -r /usr/libdata/perl5/CGI /usr/libdata/perl5/Module/Build doas rm /usr/libdata/perl5/CGI.pm /usr/libdata/perl5/Module/Build.pm >>> If ::Tiny diverges further in future we could do something different >>> but this seems a cleaner approach for now. >> Agree it's cleaner for now. Ok with me. > > Aww, so close... p5-GD fails with this. > Attached revised perl.port.mk diff (couple white space end of line removals as well) p5-GD does build now with perl.port.mk attached, I reverted modbuild to old form without --, only added -- to args if tiny during configure. The fake can use -- for both. perl.port.mk.diff_p522 - extras diffs I am using. also attached diff with ports changed to use modbuild tiny (incomplete few ports to do they build as is) >> Changed perl.port.mk to modbuild tiny, and ports. >> >> Of coarse start my dpb build with changes and see perl port fall over >> straight away... >> >> converters/p5-JSON-XS - needs BDEP on devel/p5-Canary-Stability wasn't >> required for 3.01 new in 3.02 > > Thanks, fixed (sorry to steal your commit I didn't page down that > far in the mail until after committing ;) > as long as fixed. A little extra ... stop duplicate perl in CONFIGURE_STYLE, MODULES causing configure to run twice Noticed on p5-GD, if CONFIGURE_STYLE = modbuild is used adds extra perl. Each perl found in CONFIGURE_STYLE runs MODPERL_configure. Might be a better way to stop this. bsd.port.mk adds perl for modbuild to CONFIGURE_STYLE, which then adds to MODULES, then cpan.port.mk adds another of each. Can see duplicates with make show="MODULES CONFIGURE_STYLE" $ cvs -R -q diff -uNp cpan.port.mk Index: cpan.port.mk === RCS file: /home/cvs/ports/infrastructure/mk/cpan.port.mk,v retrieving revision 1.18 diff -u -p -r1.18 cpan.port.mk --- cpan.port.mk11 Mar 2013 11:50:17 - 1.18 +++ cpan.port.mk9 Mar 2016 12:17:21 - @@ -10,8 +10,12 @@ MASTER_SITES ?= ${MASTER_SITE_PERL_CPAN: HOMEPAGE ?=http://search.cpan.org/dist/${DISTNAME:C/-[^-]*$//}/ CATEGORIES += perl5 +.if ! ${CONFIGURE_STYLE:L:Mperl} CONFIGURE_STYLE += perl +.endif +.if ! ${MODULES:L:Mperl} MODULES += perl +.endif TEST_DEPENDS +=${RUN_DEPENDS} Index: perl.port.mk === RCS file: /home/cvs/ports/infrastructure/mk/perl.port.mk,v retrieving revision 1.24 diff -u -p -r1.24 perl.port.mk --- perl.port.mk 10 Aug 2014 08:59:48 - 1.24 +++ perl.port.mk 9 Mar 2016 10:11:53 - @@ -21,6 +21,18 @@ MODPERL_pre-configure = for f in ${MODPE .endif .if ${CONFIGURE_STYLE:L:Mmodbuild} +. if ${CONFIGURE_STYLE:L:Mtiny} +MODPERL_configure = \ + arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ +cd ${WRKSRC}; ${_SYSTRACE_CMD} ${SETENV} ${CONFIGURE_ENV} \ + perl Build.PL \ + --install_path=lib="${PREFIX}/libdata/perl5/site_perl" \ + --install_path=arch="${PREFIX}/libdata/perl5/site_perl/$$arch" \ + --install_path=libdoc="${PREFIX}/man/man3p" \ + --install_path=bindoc="${PREFIX}/man/man1" \ + --install_path=bin="${PREFIX}/bin" \ + --install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} +. else MODPERL_configure = \ arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ cd ${WRKSRC}; ${_SYSTRACE_CMD} ${SETENV} ${CONFIGURE_ENV} \ @@ -30,7 +42,8 @@ MODPERL_configure = \ install_path=libdoc="${PREFIX}/man/man3p" \ install_path=bindoc="${PREFIX}/man/man1" \ install_path=bin="${PREFIX}/bin" \ - install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} + install_path=script="${PREFIX}/bin" ${CONFIGURE_ARGS} +. endif .else MODPERL_configure = ${_MODPERL_preconfig}; \ arch=`perl -e 'use Config; print $$Config{archname}, "\n";'`; \ @@ -64,6 +77,9 @@ MODPERL_pre-fake = \ ${_FAKESUDO} mkdir -p ${WRKINST}`perl -e 'use Config; print $$Config{installarchlib}, "\n";'` .if ${CONFIGURE_STYLE:L:Mmodbuild} +. if ${CONFIGURE_STYLE:L:Mtiny} +BUILD_DEPENDS += devel/p5-Module-Build-Tiny +. endif MODPERL_BUILD_TARGET = \ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} perl \ ${MODPERL_BUILD} build @@ -73,10 +89,10 @@ MODPERL_TEST_TARGET = \ ${MODPERL_BUILD} ${TEST_TARGET} MODPERL_INSTALL_TARGET = \ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} perl \ - ${MODPERL_BU
Re: patch: perl.port.mk to support Module::Build::Tiny
On Wed, Mar 9, 2016 at 9:26 AM, Nigel Taylor wrote: > On 03/09/16 09:28, Stuart Henderson wrote: >> On 2016/03/09 01:34, Nigel Taylor wrote: >>> This is for later there is no p5-Module-Build yet in the tree, I >>> have one locally in my openbsd-wip. >> >> Me too. We could do with getting that committed actually, I'd like to >> do a test build with 5.22 and it's much easier not to have diffs stacked >> in the ports tree. >> > I need to clear my diffs, various updates. > > for modinst have extensions required to switch ports which should use > modinst, plus additional ports to support. > > Then there are fixes for ports when Module Build is removed / > p5-Module-Build is available. I do this to ensure not used core versions. > > doas rm -r /usr/libdata/perl5/CGI /usr/libdata/perl5/Module/Build > doas rm /usr/libdata/perl5/CGI.pm /usr/libdata/perl5/Module/Build.pm > > If ::Tiny diverges further in future we could do something different but this seems a cleaner approach for now. >>> Agree it's cleaner for now. Ok with me. >> >> Aww, so close... p5-GD fails with this. >> > Attached revised perl.port.mk diff > > (couple white space end of line removals as well) > > p5-GD does build now with perl.port.mk attached, I reverted modbuild to > old form without --, only added -- to args if tiny during configure. The > fake can use -- for both. > > perl.port.mk.diff_p522 - extras diffs I am using. > > > also attached diff with ports changed to use modbuild tiny (incomplete > few ports to do they build as is) > >>> Changed perl.port.mk to modbuild tiny, and ports. >>> >>> Of coarse start my dpb build with changes and see perl port fall over >>> straight away... >>> >>> converters/p5-JSON-XS - needs BDEP on devel/p5-Canary-Stability wasn't >>> required for 3.01 new in 3.02 >> >> Thanks, fixed (sorry to steal your commit I didn't page down that >> far in the mail until after committing ;) >> > as long as fixed. > > > A little extra ... stop duplicate perl in CONFIGURE_STYLE, MODULES > causing configure to run twice Noticed on p5-GD, > if CONFIGURE_STYLE = modbuild is used adds extra perl. Each perl found > in CONFIGURE_STYLE runs MODPERL_configure. Might be a better way to stop > this. bsd.port.mk adds perl for modbuild to CONFIGURE_STYLE, which then > adds to MODULES, then cpan.port.mk adds another of each. > I did reproduced this. > Can see duplicates with make show="MODULES CONFIGURE_STYLE" > > $ cvs -R -q diff -uNp cpan.port.mk > Index: cpan.port.mk > === > RCS file: /home/cvs/ports/infrastructure/mk/cpan.port.mk,v > retrieving revision 1.18 > diff -u -p -r1.18 cpan.port.mk > --- cpan.port.mk11 Mar 2013 11:50:17 - 1.18 > +++ cpan.port.mk9 Mar 2016 12:17:21 - > @@ -10,8 +10,12 @@ MASTER_SITES ?= ${MASTER_SITE_PERL_CPAN: > HOMEPAGE ?=http://search.cpan.org/dist/${DISTNAME:C/-[^-]*$//}/ > > CATEGORIES += perl5 > +.if ! ${CONFIGURE_STYLE:L:Mperl} > CONFIGURE_STYLE += perl > +.endif > +.if ! ${MODULES:L:Mperl} > MODULES += perl > +.endif > > TEST_DEPENDS +=${RUN_DEPENDS} > > > > will try diffs, thanks
Re: patch: perl.port.mk to support Module::Build::Tiny
On 2016/03/09 15:26, Nigel Taylor wrote: > Attached revised perl.port.mk diff Looks sane, testing this (and cpan.port.mk diff) in a full build now. > perl.port.mk.diff_p522 - extras diffs I am using. Let's clear Module::Build (which already triggers warnings and breaks with 5.22) before we look at Module::Install (which iirc does still run with 5.22?) I've attached my version of this as a port. > also attached diff with ports changed to use modbuild tiny (incomplete > few ports to do they build as is) Looks sane. (side-note, it would be a lot easier to apply a diff generated from /usr/ports, rather than have to split up the patch file and apply each part manually to the relevant directory) I'll reply again when the build is done. p5-Module-Build.tgz Description: application/tar-gz
Re: patch: perl.port.mk to support Module::Build::Tiny
On 03/10/16 01:39, Stuart Henderson wrote: > On 2016/03/09 15:26, Nigel Taylor wrote: >> Attached revised perl.port.mk diff > > Looks sane, testing this (and cpan.port.mk diff) in a full build now. > >> perl.port.mk.diff_p522 - extras diffs I am using. > > Let's clear Module::Build (which already triggers warnings and breaks > with 5.22) before we look at Module::Install (which iirc does still > run with 5.22?) Looked at Module::Build, distinfo, pkg/PLIST are the same. pkg/DESCR I used only the first two lines either way is ok. Makefile is where we differ, mines a little messy I thought, what I had was this see later try. # $OpenBSD:$ COMMENT = Module build DISTNAME = Module-Build-0.4208 PKGNAME = p5-Module-Build-0.42.08 CATEGORIES =devel # Perl PERMIT_PACKAGE_CDROM = Yes MODULES = cpan TEST_DEPENDS += devel/p5-PAR-Dist>=0.17 # TODO this works but messy... do-install: cd ${WRKSRC} && \ ./Build \ --install_path lib="${TRUEPREFIX}/${P5SITE}" \ --install_path arch="${TRUEPREFIX}/${P5ARCH}" \ --install_path libdoc="${TRUEPREFIX}/man/man3p" \ --install_path bindoc="${TRUEPREFIX}/man/man1" \ --install_path bin="${TRUEPREFIX}/bin" \ --install_path script="${TRUEPREFIX}/bin" \ --destdir=${WRKINST} \ install .include Difference is Makefile.PL is used, which uses Module::Build::Compatable, converts args and runs Build.PL, results in same Build/Makefile, the convert args converts to --config rather than --install_path, so install stage is messed up. Best effort I've come up with this slightly neater one # $OpenBSD:$ COMMENT = Module build DISTNAME = Module-Build-0.4208 PKGNAME = p5-Module-Build-0.42.08 CATEGORIES =devel # Perl PERMIT_PACKAGE_CDROM = Yes MODULES = cpan TEST_DEPENDS += devel/p5-PAR-Dist>=0.17 CONFIGURE_STYLE = modbuild none .include Needs this in perl.port.mk - "none" doesn't add a build depends .if ${CONFIGURE_STYLE:L:Mmodbuild} +. if ${CONFIGURE_STYLE:L:Mtiny} +BUILD_DEPENDS += devel/p5-Module-Build-Tiny +. elif ${CONFIGURE_STYLE:L:Mnone} + # for building Module Build... +. else +BUILD_DEPENDS += devel/p5-Module-Build +. endif Currently this shouldn't be needed, as it's for when Module::Build is removed from core perl with 5.22 and want modbuild to add the dependency. Tried current perl.port.mk and the one above, both work. Will need to work out ordering, the changed perl.port.mk can go in before perl 5.22. Followed the version numbering upstream used major.minor.sub, either way is ok, but no to using epochs later, keep 4digits or 2's. $ doas -u _pbuild make ===> Enabling ccache for p5-Module-Build-0.42.08 ===> p5-Module-Build-0.42.08 depends on: ccache-* -> ccache-3.2.4 ===> Checking files for p5-Module-Build-0.42.08 `/usr/ports/distfiles/Module-Build-0.4208.tar.gz' is up to date. >> (SHA256) Module-Build-0.4208.tar.gz: OK ===> Extracting for p5-Module-Build-0.42.08 ===> Patching for p5-Module-Build-0.42.08 ===> Configuring for p5-Module-Build-0.42.08 Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Module-Build' version '0.4208' ===> Building for p5-Module-Build-0.42.08 Building Module-Build $ doas -u _pbuild make fake ===> Faking installation for p5-Module-Build-0.42.08 install -d -m 755 /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64 Building Module-Build Installing /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/man/man1/config_data.1 Installing /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/libdata/perl5/site_perl/inc/latest.pm Installing /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/libdata/perl5/site_perl/inc/latest/private.pm Installing /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/libdata/perl5/site_perl/Module/Build.pm Installing /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/libdata/perl5/site_perl/Module/Build/PodParser.pm $ doas -u _pbuild make test ===> p5-Module-Build-0.42.08 depends on: p5-PAR-Dist->=0.17 -> p5-PAR-Dist-0.49 ===> Regression tests for p5-Module-Build-0.42.08 /usr/bin/perl Build --makefile_env_macros 1 test t/00-compile.t . ok t/PL_files.t ... ok t/actions/installdeps.t ok ... t/unit_run_test_harness.t .. ok t/use_tap_harness.t ok t/versions.t ... ok t/write_default_maniskip.t . ok t/xs.t . ok All tests successful. Files=53, Tests=1134, 182 wallclock secs ( 0.41 usr 0.56 sys + 48.54 cusr 43.36 csys = 92.87 CPU) Result: PASS Extra in TEST_DEPENDS, PAR::Dist is optional if pardist is used in Build.PL then required, we aren't creating a distribution just building, optional if included at runtime. $ grep
Re: patch: perl.port.mk to support Module::Build::Tiny
On Thu, Mar 10, 2016 at 2:13 PM, Nigel Taylor wrote: > On 03/10/16 01:39, Stuart Henderson wrote: >> On 2016/03/09 15:26, Nigel Taylor wrote: >>> Attached revised perl.port.mk diff >> >> Looks sane, testing this (and cpan.port.mk diff) in a full build now. >> >>> perl.port.mk.diff_p522 - extras diffs I am using. >> >> Let's clear Module::Build (which already triggers warnings and breaks >> with 5.22) before we look at Module::Install (which iirc does still >> run with 5.22?) > > Looked at Module::Build, distinfo, pkg/PLIST are the same. > pkg/DESCR I used only the first two lines either way is ok. > > > Makefile is where we differ, mines a little messy I thought, > what I had was this see later try. > > # $OpenBSD:$ > > COMMENT = Module build > > DISTNAME = Module-Build-0.4208 > PKGNAME = p5-Module-Build-0.42.08 > CATEGORIES =devel > > # Perl > PERMIT_PACKAGE_CDROM = Yes > > MODULES = cpan > > TEST_DEPENDS += devel/p5-PAR-Dist>=0.17 > > # TODO this works but messy... > do-install: > cd ${WRKSRC} && \ > ./Build \ > --install_path lib="${TRUEPREFIX}/${P5SITE}" \ > --install_path arch="${TRUEPREFIX}/${P5ARCH}" \ > --install_path libdoc="${TRUEPREFIX}/man/man3p" \ > --install_path bindoc="${TRUEPREFIX}/man/man1" \ > --install_path bin="${TRUEPREFIX}/bin" \ > --install_path script="${TRUEPREFIX}/bin" \ > --destdir=${WRKINST} \ > install > > .include > > Difference is Makefile.PL is used, which uses Module::Build::Compatable, > converts args and runs Build.PL, results in same Build/Makefile, the convert > args converts to --config rather than --install_path, so install stage > is messed up. > > > > Best effort I've come up with this slightly neater one > > # $OpenBSD:$ > > COMMENT = Module build > > DISTNAME = Module-Build-0.4208 > PKGNAME = p5-Module-Build-0.42.08 > CATEGORIES =devel > > # Perl > PERMIT_PACKAGE_CDROM = Yes > > MODULES = cpan > > TEST_DEPENDS += devel/p5-PAR-Dist>=0.17 > CONFIGURE_STYLE = modbuild none > > .include > > > > Needs this in perl.port.mk - "none" doesn't add a build depends > > .if ${CONFIGURE_STYLE:L:Mmodbuild} > +. if ${CONFIGURE_STYLE:L:Mtiny} > +BUILD_DEPENDS += devel/p5-Module-Build-Tiny > +. elif ${CONFIGURE_STYLE:L:Mnone} > + # for building Module Build... > +. else > +BUILD_DEPENDS += devel/p5-Module-Build > +. endif > > Currently this shouldn't be needed, as it's for when Module::Build is > removed from core perl with 5.22 and want modbuild to add the dependency. > Tried current perl.port.mk and the one above, both work. Will need to work > out ordering, the changed perl.port.mk can go in before perl 5.22. This means that port of p5-Module-Build can be included right now and ports could me moved to use it (before perl 5.22)? I see that perl ports install its files, as you show, in: /usr/local/libdata/perl5/site_perl/ while base Module::Build is installed in: /usr/libdata/perl5/Module/Build.pm and default module ordering is: $ perl -le 'print join("\n", @INC)' /usr/local/libdata/perl5/site_perl/amd64-openbsd /usr/libdata/perl5/site_perl/amd64-openbsd /usr/local/libdata/perl5/site_perl /usr/libdata/perl5/site_perl /usr/libdata/perl5/amd64-openbsd/5.20.2 /usr/local/libdata/perl5/amd64-openbsd/5.20.2 /usr/libdata/perl5 /usr/local/libdata/perl5 . $ so right now we can use your provided Module::Build port, then what is required now is to do some bulk building/testing and see if anything breaks? I'd like to help some more. Thanks. > > > Followed the version numbering upstream used major.minor.sub, > either way is ok, but no to using epochs later, keep 4digits or 2's. > > > > > > $ doas -u _pbuild make > ===> Enabling ccache for p5-Module-Build-0.42.08 > ===> p5-Module-Build-0.42.08 depends on: ccache-* -> ccache-3.2.4 > ===> Checking files for p5-Module-Build-0.42.08 > `/usr/ports/distfiles/Module-Build-0.4208.tar.gz' is up to date. >>> (SHA256) Module-Build-0.4208.tar.gz: OK > ===> Extracting for p5-Module-Build-0.42.08 > ===> Patching for p5-Module-Build-0.42.08 > ===> Configuring for p5-Module-Build-0.42.08 > Created MYMETA.yml and MYMETA.json > Creating new 'Build' script for 'Module-Build' version '0.4208' > ===> Building for p5-Module-Build-0.42.08 > Building Module-Build > $ doas -u _pbuild make fake > ===> Faking installation for p5-Module-Build-0.42.08 > install -d -m 755 /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64 > Building Module-Build > Installing > /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/man/man1/config_data.1 > Installing > /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/libdata/perl5/site_perl/inc/latest.pm > Installing > /usr/ports/pobj/p5-Module-Build-0.42.08/fake-amd64/usr/local/libdata/perl5/site_perl/inc/lates
Re: patch: perl.port.mk to support Module::Build::Tiny
On 2016/03/11 12:14, Abel Abraham Camarillo Ojeda wrote: > so right now we can use your provided Module::Build port, then > what is required now is to do some bulk building/testing and see > if anything breaks? I already did a bulk build with Module::Build moved back to ports a few months ago, there was no breakage, if we run into anything it will be minimal and I can fix it on the fly. Only real noticable change was it stopped the whining about the deprecated module.
Re: patch: perl.port.mk to support Module::Build::Tiny
Here's an updated Module::Build port based on both of ours, plus the other diffs. I've done it all as an inline diff because the directory was present previously so it's easier to just cvs add it than import and fix conflicts. We have to keep 4 digits or set EPOCH from the start (the port was previously 0.2808). > Currently this shouldn't be needed, as it's for when Module::Build is > removed from core perl with 5.22 and want modbuild to add the dependency. We want the dependency anyway, to make sure ports are built using a consistent version of Module::Build. (Also from my earlier notes I see we should be setting install_path=sbin in perl.port.mk, but that's a separate diff). OK? Index: devel/Makefile === RCS file: /cvs/ports/devel/Makefile,v retrieving revision 1.1470 diff -u -p -r1.1470 Makefile --- devel/Makefile 7 Mar 2016 20:45:41 - 1.1470 +++ devel/Makefile 11 Mar 2016 21:00:48 - @@ -823,6 +823,7 @@ SUBDIR += p5-Math-Base-Convert SUBDIR += p5-Memoize-ExpireLRU SUBDIR += p5-Modern-Perl + SUBDIR += p5-Module-Build SUBDIR += p5-Module-Build-Tiny SUBDIR += p5-Module-Build-XSUtil SUBDIR += p5-Module-Find Index: infrastructure/mk/perl.port.mk === RCS file: /cvs/ports/infrastructure/mk/perl.port.mk,v retrieving revision 1.25 diff -u -p -r1.25 perl.port.mk --- infrastructure/mk/perl.port.mk 11 Mar 2016 13:06:22 - 1.25 +++ infrastructure/mk/perl.port.mk 11 Mar 2016 21:00:48 - @@ -79,6 +79,10 @@ MODPERL_pre-fake = \ .if ${CONFIGURE_STYLE:L:Mmodbuild} . if ${CONFIGURE_STYLE:L:Mtiny} BUILD_DEPENDS += devel/p5-Module-Build-Tiny +. elif ${CONFIGURE_STYLE:L:Mnone} +# for building Module::Build +. else +BUILD_DEPENDS += devel/p5-Module-Build . endif MODPERL_BUILD_TARGET = \ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} perl \ Index: devel/p5-Module-Build/Makefile === RCS file: devel/p5-Module-Build/Makefile diff -N devel/p5-Module-Build/Makefile --- /dev/null 1 Jan 1970 00:00:00 - +++ devel/p5-Module-Build/Makefile 11 Mar 2016 21:00:48 - @@ -0,0 +1,17 @@ +# $OpenBSD$ + +COMMENT = build and install Perl modules + +# XXX newer versions require CPAN::Meta 2.142060; revisit after perl updates +DISTNAME = Module-Build-0.4208 +CATEGORIES = devel + +# Perl +PERMIT_PACKAGE_CDROM = Yes + +MODULES = cpan + +TEST_DEPENDS +=devel/p5-PAR-Dist>=0.17 +CONFIGURE_STYLE = modbuild none + +.include Index: devel/p5-Module-Build/distinfo === RCS file: devel/p5-Module-Build/distinfo diff -N devel/p5-Module-Build/distinfo --- /dev/null 1 Jan 1970 00:00:00 - +++ devel/p5-Module-Build/distinfo 11 Mar 2016 21:00:48 - @@ -0,0 +1,2 @@ +SHA256 (Module-Build-0.4208.tar.gz) = MuykfElKXSqCbDBhYnCw/HRDFbc2MiO1T96i3O9jU3g= +SIZE (Module-Build-0.4208.tar.gz) = 308883 Index: devel/p5-Module-Build/pkg/DESCR === RCS file: devel/p5-Module-Build/pkg/DESCR diff -N devel/p5-Module-Build/pkg/DESCR --- /dev/null 1 Jan 1970 00:00:00 - +++ devel/p5-Module-Build/pkg/DESCR 11 Mar 2016 21:00:48 - @@ -0,0 +1,6 @@ +"Module::Build" is a system for building, testing, and installing Perl +modules. It is meant to be an alternative to "ExtUtils::MakeMaker". +Developers may alter the behavior of the module through subclassing in a +much more straightforward way than with "MakeMaker". It also does not +require a "make" on your system - most of the "Module::Build" code is +pure-perl and written in a very cross-platform way. Index: devel/p5-Module-Build/pkg/PLIST === RCS file: devel/p5-Module-Build/pkg/PLIST diff -N devel/p5-Module-Build/pkg/PLIST --- /dev/null 1 Jan 1970 00:00:00 - +++ devel/p5-Module-Build/pkg/PLIST 11 Mar 2016 21:00:48 - @@ -0,0 +1,54 @@ +@comment $OpenBSD$ +bin/config_data +${P5SITE}/Module/ +${P5SITE}/Module/Build/ +${P5SITE}/Module/Build.pm +${P5SITE}/Module/Build/API.pod +${P5SITE}/Module/Build/Authoring.pod +${P5SITE}/Module/Build/Base.pm +${P5SITE}/Module/Build/Bundling.pod +${P5SITE}/Module/Build/Compat.pm +${P5SITE}/Module/Build/Config.pm +${P5SITE}/Module/Build/ConfigData.pm +${P5SITE}/Module/Build/Cookbook.pm +${P5SITE}/Module/Build/Dumper.pm +${P5SITE}/Module/Build/Notes.pm +${P5SITE}/Module/Build/PPMMaker.pm +${P5SITE}/Module/Build/Platform/ +${P5SITE}/Module/Build/Platform/Default.pm +${P5SITE}/Module/Build/Platform/MacOS.pm +${P5SITE}/Module/Build/Platform/Unix.pm +${P5SITE}/Module/Build/Platform/VMS.pm +${P5SITE}/Module/Build/Platform/VOS.pm +${P5SITE}/Module/Build/Platform/Windows.pm +${P5SITE}/Module/Build/Platform/aix.
Re: patch: perl.port.mk to support Module::Build::Tiny
On 03/11/16 21:01, Stuart Henderson wrote: > Here's an updated Module::Build port based on both of ours, plus the > other diffs. I've done it all as an inline diff because the directory > was present previously so it's easier to just cvs add it than import > and fix conflicts. > > We have to keep 4 digits or set EPOCH from the start (the port was > previously 0.2808). Unless it's more than two or three releases since sent to attic because there is no previous package with a version to compare against for pkg_add, 4 digits is fine. This might confuse from outdated-perl-ports Out of date: p5-Module-Build-0.42.08 vs 0.4216. The OpenBSD ports mailing-list 4 digits vs 4 digits looks better. > >> Currently this shouldn't be needed, as it's for when Module::Build is >> removed from core perl with 5.22 and want modbuild to add the dependency. > > We want the dependency anyway, to make sure ports are built using a > consistent version of Module::Build. Will cover later, and send updates - if you don't have already. e.g net/munin missing BDEP on devel/p5-Module-Build, it's build script embeds using a Module::Build Build.PL Without BDEP could build using core version instead. > > (Also from my earlier notes I see we should be setting install_path=sbin > in perl.port.mk, but that's a separate diff). Probably need something for modbuild tiny as well, if supported arg. > > OK? Scanned only, dpb build still running so can't try out, close to same as using only # XXX comment line extra agree with that. Ok from me. > > > Index: devel/Makefile > === > RCS file: /cvs/ports/devel/Makefile,v > retrieving revision 1.1470 > diff -u -p -r1.1470 Makefile > --- devel/Makefile7 Mar 2016 20:45:41 - 1.1470 > +++ devel/Makefile11 Mar 2016 21:00:48 - > @@ -823,6 +823,7 @@ > SUBDIR += p5-Math-Base-Convert > SUBDIR += p5-Memoize-ExpireLRU > SUBDIR += p5-Modern-Perl > + SUBDIR += p5-Module-Build > SUBDIR += p5-Module-Build-Tiny > SUBDIR += p5-Module-Build-XSUtil > SUBDIR += p5-Module-Find > Index: infrastructure/mk/perl.port.mk > === > RCS file: /cvs/ports/infrastructure/mk/perl.port.mk,v > retrieving revision 1.25 > diff -u -p -r1.25 perl.port.mk > --- infrastructure/mk/perl.port.mk11 Mar 2016 13:06:22 - 1.25 > +++ infrastructure/mk/perl.port.mk11 Mar 2016 21:00:48 - > @@ -79,6 +79,10 @@ MODPERL_pre-fake = \ > .if ${CONFIGURE_STYLE:L:Mmodbuild} > . if ${CONFIGURE_STYLE:L:Mtiny} > BUILD_DEPENDS += devel/p5-Module-Build-Tiny > +. elif ${CONFIGURE_STYLE:L:Mnone} > +# for building Module::Build > +. else > +BUILD_DEPENDS += devel/p5-Module-Build > . endif > MODPERL_BUILD_TARGET = \ > cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} perl \ > Index: devel/p5-Module-Build/Makefile > === > RCS file: devel/p5-Module-Build/Makefile > diff -N devel/p5-Module-Build/Makefile > --- /dev/null 1 Jan 1970 00:00:00 - > +++ devel/p5-Module-Build/Makefile11 Mar 2016 21:00:48 - > @@ -0,0 +1,17 @@ > +# $OpenBSD$ > + > +COMMENT =build and install Perl modules > + > +# XXX newer versions require CPAN::Meta 2.142060; revisit after perl updates > +DISTNAME = Module-Build-0.4208 > +CATEGORIES = devel > + > +# Perl > +PERMIT_PACKAGE_CDROM = Yes > + > +MODULES =cpan > + > +TEST_DEPENDS += devel/p5-PAR-Dist>=0.17 > +CONFIGURE_STYLE =modbuild none > + > +.include > Index: devel/p5-Module-Build/distinfo > === > RCS file: devel/p5-Module-Build/distinfo > diff -N devel/p5-Module-Build/distinfo > --- /dev/null 1 Jan 1970 00:00:00 - > +++ devel/p5-Module-Build/distinfo11 Mar 2016 21:00:48 - > @@ -0,0 +1,2 @@ > +SHA256 (Module-Build-0.4208.tar.gz) = > MuykfElKXSqCbDBhYnCw/HRDFbc2MiO1T96i3O9jU3g= > +SIZE (Module-Build-0.4208.tar.gz) = 308883 > Index: devel/p5-Module-Build/pkg/DESCR > === > RCS file: devel/p5-Module-Build/pkg/DESCR > diff -N devel/p5-Module-Build/pkg/DESCR > --- /dev/null 1 Jan 1970 00:00:00 - > +++ devel/p5-Module-Build/pkg/DESCR 11 Mar 2016 21:00:48 - > @@ -0,0 +1,6 @@ > +"Module::Build" is a system for building, testing, and installing Perl > +modules. It is meant to be an alternative to "ExtUtils::MakeMaker". > +Developers may alter the behavior of the module through subclassing in a > +much more straightforward way than with "MakeMaker". It also does not > +require a "make" on your system - most of the "Module::Build" code is > +pure-perl and written in a very cross-platform way. > Index: devel/p5-Module-Build/pkg/PLIST > === > RCS file: devel/p5-Module-Build/pkg/PLIST >