Perl and Module::Install

Tom Hukins tom at FreeBSD.org
Wed Nov 10 16:35:38 GMT 2004


On Tue, Nov 09, 2004 at 10:24:35AM -0700, Aaron Dalton wrote:
> 
> The Makefile I have is as follows.  I double checked and I indeed have 
> tabs and not just spaces between everything.  Thanks for the help!

Thanks.  Your Makefile mostly looks fine.  I've investigated your
problem - it's due to a combination of bsd.port.mk doing something
unusual which Email::Obfuscate's Makefile.PL isn't intelligent enough
to deal with.

> .include <bsd.port.pre.mk>
> 
> .include <bsd.port.post.mk>

You don't need to do this.  Instead:
.include <bsd.port.mk>

As for the problem, line 14 of Email::Obfuscate's Makefile.PL calls:
  &Makefile->write if lc($0) eq 'makefile.pl';

In line 3112 of bsd.port.mk we see:
  .if defined(PERL_CONFIGURE)
     @cd ${CONFIGURE_WRKSRC} && \
	 ${SETENV} ${CONFIGURE_ENV} \
	 ${PERL5} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}

So Makefile.PL (${CONFIGURE_SCRIPT}) is called with a trailing './',
causing lc($0) to match './makefile.pl' as opposed to 'makefile.pl'.

You will need to patch Email::Obfuscate to understand how it gets
called more intelligently, and arguably bsd.port.mk should call
Makefile.PL in its more typical 'Makefile.PL' guise instead of
'./Makefile.PL'.

Tom


More information about the freebsd-ports mailing list