Index: Mk/Uses/perl5.mk =================================================================== --- Mk/Uses/perl5.mk +++ Mk/Uses/perl5.mk @@ -42,13 +42,13 @@ USE_PERL5?= run build +.include "${PORTSDIR}/Mk/bsd.default-versions.mk" .if exists(${LOCALBASE}/bin/perl5) .sinclude "${LOCALBASE}/etc/perl5_version" .if !defined(PERL_VERSION) PERL_VERSION!= perl -e 'printf "%vd\n", $$^V;' .endif .else -.include "${PORTSDIR}/Mk/bsd.default-versions.mk" .if ${PERL5_DEFAULT} == 5.16 PERL_VERSION= 5.16.3 .elif ${PERL5_DEFAULT} == 5.18 @@ -80,14 +80,23 @@ PERL_ARCH?= mach -# there must always be a default to prevent dependency failures such -# as "ports/lang: not found" .if ${PERL_LEVEL} >= 502000 PERL_PORT?= perl5.20 +_MIN_PERL_VERSION= 5.20.1_10 +_MAX_PERL_VERSION= 5.22 .elif ${PERL_LEVEL} >= 501800 PERL_PORT?= perl5.18 -.else # ${PERL_LEVEL} < 501800 +_MIN_PERL_VERSION= 5.18.1_11 +_MAX_PERL_VERSION= 5.20 +.elif ${PERL_LEVEL} >= 501600 PERL_PORT?= perl5.16 +_MIN_PERL_VERSION= 5.16.1_18 +_MAX_PERL_VERSION= 5.18 +.else +IGNORE= Unsupported perl5 version ${PERL_VERSION} +# there must always be a default to prevent dependency failures such +# as "ports/lang: not found" +PERL_PORT?= perl${PERL5_DEFAULT} .endif SITE_PERL_REL?= lib/perl5/site_perl @@ -208,20 +217,23 @@ .endif # defined(BATCH) && !defined(IS_INTERACTIVE) .endif # configure +_PERL_DEPENDS= perl5>=${_MIN_PERL_VERSION}:${PORTSDIR}/lang/${PERL_PORT} \ + perl5<${_MAX_PERL_VERSION}:${PORTSDIR}/lang/${PERL_PORT} + .if ${_USE_PERL5:Mextract} -EXTRACT_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +EXTRACT_DEPENDS+= ${_PERL_DEPENDS} .endif .if ${_USE_PERL5:Mpatch} -PATCH_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +PATCH_DEPENDS+= ${_PERL_DEPENDS} .endif .if ${_USE_PERL5:Mbuild} -BUILD_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +BUILD_DEPENDS+= ${_PERL_DEPENDS} .endif .if ${_USE_PERL5:Mrun} -RUN_DEPENDS+= ${PERL5}:${PORTSDIR}/lang/${PERL_PORT} +RUN_DEPENDS+= ${_PERL_DEPENDS} .endif .if ${_USE_PERL5:Mconfigure} Index: lang/perl5.16/Makefile =================================================================== --- lang/perl5.16/Makefile +++ lang/perl5.16/Makefile @@ -101,12 +101,16 @@ # change PKGNAME to reflect this .if ${PERL_VER} == ${PERL5_DEFAULT} PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} -.else +.elif defined(PACKAGE_BUILDING) # make PKGNAME unique among other lang/perl5.x PKGNAMESUFFIX= ${PERL_VER} # always add default perl5 pkgname to conflicts CONFLICTS_INSTALL+= perl5-* -.endif +.else +# If not building packages, keep PKGNAME=perl5 to help with upgrading +PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} +CONFLICTS_INSTALL+= perl5-5.{18,20}.* +.endif # PACKAGE_BUILDING .if defined(PERL_VENDOR_PREFIX) CONFIGURE_ARGS+= \ Index: lang/perl5.18/Makefile =================================================================== --- lang/perl5.18/Makefile +++ lang/perl5.18/Makefile @@ -118,12 +118,16 @@ # change PKGNAME to reflect this .if ${PERL_VER} == ${PERL5_DEFAULT} PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} -.else +.elif defined(PACKAGE_BUILDING) # make PKGNAME unique among other lang/perl5.x PKGNAMESUFFIX= ${PERL_VER} # always add default perl5 pkgname to conflicts CONFLICTS_INSTALL+= perl5-* -.endif +.else +# If not building packages, keep PKGNAME=perl5 to help with upgrading +PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} +CONFLICTS_INSTALL+= perl5-5.{16,20}.* +.endif # PACKAGE_BUILDING .if defined(PERL_VENDOR_PREFIX) CONFIGURE_ARGS+= \ Index: lang/perl5.20/Makefile =================================================================== --- lang/perl5.20/Makefile +++ lang/perl5.20/Makefile @@ -122,12 +122,16 @@ # change PKGNAME to reflect this .if ${PERL_VER} == ${PERL5_DEFAULT} PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} -.else +.elif defined(PACKAGE_BUILDING) # make PKGNAME unique among other lang/perl5.x PKGNAMESUFFIX= ${PERL_VER} # always add default perl5 pkgname to conflicts CONFLICTS_INSTALL+= perl5-* -.endif +.else +# If not building packages, keep PKGNAME=perl5 to help with upgrading +PKGNAMESUFFIX= ${PERL_VERSION:C/\.[0-9]+\.[0-9]+$//} +CONFLICTS_INSTALL+= perl5-5.1{6,8}.* +.endif # PACKAGE_BUILDING .if defined(PERL_VENDOR_PREFIX) CONFIGURE_ARGS+= \