Re: patch: perl.port.mk to support Module::Build::Tiny

2016-03-11 Thread Nigel Taylor
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: 

Re: patch: perl.port.mk to support Module::Build::Tiny

2016-03-11 Thread Stuart Henderson
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

Re: patch: perl.port.mk to support Module::Build::Tiny

2016-03-11 Thread Stuart Henderson
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

2016-03-11 Thread Abel Abraham Camarillo Ojeda
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 
> 

Re: patch: perl.port.mk to support Module::Build::Tiny

2016-03-10 Thread Nigel Taylor
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

2016-03-09 Thread Stuart Henderson
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

2016-03-09 Thread Abel Abraham Camarillo Ojeda
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

2016-03-09 Thread Nigel Taylor
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 \
-		

Re: patch: perl.port.mk to support Module::Build::Tiny

2016-03-09 Thread Stuart Henderson
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

2016-03-08 Thread Nigel Taylor
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

2016-03-08 Thread Stuart Henderson
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

2016-03-08 Thread Nigel Taylor
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

2016-03-08 Thread Abel Abraham Camarillo Ojeda
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

2016-03-08 Thread Nigel Taylor
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

2016-03-08 Thread Abel Abraham Camarillo Ojeda
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

2016-03-08 Thread Nigel Taylor
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 

Re: patch: perl.port.mk to support Module::Build::Tiny

2016-03-08 Thread Stuart Henderson
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

2016-03-08 Thread Abel Abraham Camarillo Ojeda
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

2016-03-08 Thread Nigel Taylor
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?