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 -0000      1.24
+++ perl.port.mk        8 Mar 2016 04:34:26 -0000
@@ -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: 

Reply via email to