Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jul 2008 02:16:14 -0700
From:      "Yen-Ming Lee" <leeym@leeym.com>
To:        "Mathieu Arnold" <mat@freebsd.org>
Cc:        perl@freebsd.org, FreeBSD-gnats-submit@freebsd.org
Subject:   Re: ports/125351: [PATCH] devel/p5-DateTime-Locale: add missing dependency for old perl
Message-ID:  <759236930807070216q580c59c3td36e0d865075b44d@mail.gmail.com>
In-Reply-To: <7ED5E306EE71EFA894148B28@atuin.in.mat.cc>
References:  <200807070146.m671kGV0047110@cn1.leeym.com> <7ED5E306EE71EFA894148B28@atuin.in.mat.cc>

next in thread | previous in thread | raw e-mail | index | archive | help
[Copy to perl@ for more feedbacks, see the end of this mail]

2008/7/7 Mathieu Arnold <mat@freebsd.org>:
> +-Le 06/07/08 18:46 -0700, Yen-Ming Lee a dit :
> | -DISTVERSION= ${PORTVERSION:C/\.(..)$/\1/}
> | +DISTNAME=    ${PORTNAME}-${PORTVERSION:C/\.(..)$/\1/}
>
> You don't like DISTVERSION ? Or is there something I'm missing ?

portlint doesn't like that, so I just follow.

$ portlint -C
FATAL: Makefile: either PORTVERSION or DISTVERSION must be specified, not both.

> | -BUILD_DEPENDS=       ${RUN_DEPENDS}
>
> Module::Build may complain very loudly that modules are not installed, are
> you sure ?

Some developers don't like the long dependencies needed for tests, for
example des@ asked perl@ to remove unnecessary build dependencies in
February 2008.
(thread subject: "Port dependencies on p5-Test-*")

Yes, Module::Build will complain, but it still builds, installs, and
works well, since these dependencies are listed in RUN_DEPENDS.

Originally, I tried to fulfill everything Module::Build asks for,
including the dependencies needed for tests, say Test::*, but it
brought a lot of dependencies.
Later, I put only runtime dependencies, and Module::Build complains
about the missing ones needed for tests (if any).
Now, since Module::Build complains anyway, I will only set
BUILD_DEPENDS if it's really needed for build.

> | -RUN_DEPENDS=
>        ${SITE_PERL}/${PERL_ARCH}/Params/Validate.pm:${PORTSDIR}/devel/p5-Params-Validate
> \
> | -
> ${SITE_PERL}/${PERL_ARCH}/List/MoreUtils.pm:${PORTSDIR}/lang/p5-List-MoreUtils
> | +RUN_DEPENDS= p5-List-MoreUtils>=0:${PORTSDIR}/lang/p5-List-MoreUtils \
> | +     p5-Params-Validate>=0:${PORTSDIR}/devel/p5-Params-Validate
>
>
> What's the point of changing the way depends are written ? Just for style ?

For this case, they are just for style, but for other cases, they may
have minimum required versions.
Since the versions matter sometimes, I prefer to use package
dependencies instead.

If you don't like that, you can keep the current settings.

> | -.include <bsd.port.mk>
> | +.include <bsd.port.pre.mk>
> | +
> | +.if ${PERL_LEVEL} < 500703
> | +RUN_DEPENDS+=        p5-Class-ISA>=0:${PORTSDIR}/devel/p5-Class-ISA
> | +.endif
> | +
> | +.include <bsd.port.post.mk>
>
> Well, we don't really support older perls as people still not using 5.8 are
> really looking for trouble, but that part of the patch may be acceptable :-)
>
> --
> Mathieu Arnold

I asked tobez@ last time about the supports of perl-5.6.2, and he
suggested to keep them to make some modules work under perl-5.6.2

Some unclear questions about this PR:
Q1. Should we keep the prerequisites needed only for tests ?
Q2. Should we set BUILD_DEPENDS=RUN_DEPENDS to make Module::Build a
little bit happier ? (it will complain anyway if the answer of Q1 is
NO)
Q3. Should we keep supporting perl-5.6.2 ?

After the discussions in February, I prefer to ignore the
prerequisites needed only for tests, and ignore the complaints of
Module::Build..... to keep the minimum dependencies.
But for perl-5.6.2, since it's still in our ports tree, I prefer to
keep supporting them until we remove it.

Not sure if it's a correct way. Maybe the ultimate answer is
PERL_DEPENDS proposed by tobez@ ... :)

Regards,
-- 
Yen-Ming Lee <leeym@leeym.com>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?759236930807070216q580c59c3td36e0d865075b44d>