Subject: Re: BUILDLINK_DEPENDS.expat
To: Jeremy C. Reed <reed@reedmedia.net>
From: Johnny Lam <jlam@pkgsrc.org>
List: pkgsrc-users
Date: 03/22/2006 17:16:51
Jeremy C. Reed wrote:
> 
> I use IGNORE_RECOMMENDED=yes.
> 
> This fix should not change any bulk builds (since they do not use 
> IGNORE_RECOMMENDED=yes by default), but I can wait until after freeze if 
> needed.
> 
> diff -b -u -r1.15 buildlink3.mk
> --- textproc/expat/buildlink3.mk	5 Feb 2006 23:11:01 -0000	
> 1.15
> +++ textproc/expat/buildlink3.mk	22 Mar 2006 20:28:08 -0000
> @@ -11,7 +11,7 @@
>  BUILDLINK_PACKAGES+=	expat
>  
>  .if !empty(EXPAT_BUILDLINK3_MK:M+)
> -BUILDLINK_DEPENDS.expat+=	expat>=1.95.7
> +BUILDLINK_DEPENDS.expat+=	expat>=2.0.0
>  BUILDLINK_RECOMMENDED.expat+=	expat>=2.0.0nb1
>  BUILDLINK_PKGSRCDIR.expat?=	../../textproc/expat
>  .endif	# EXPAT_BUILDLINK3_MK

No, this patch is not correct.  This is, IIRC, exactly what 
BUILDLINK_RECOMMENDED was originally put into pkgsrc for -- the handle 
the case where a lot of software can continue to build with the old 
version of a library even though the latest version in pkgsrc has had a 
shlib major bump.  What you are running into is basically the problems 
with running with IGNORE_RECOMMENDED=yes, which is why that default to "no".

You can just directly add the following directly into your /etc/mk.conf 
to force a newer expat:

	BUILDLINK_DEPENDS.expat+=	expat>=2.0.0

This setting will be picked up and used by all packages that include 
expat/buildlink3.mk.  In case anyone is wondering, this is precisely why 
buildlink3.mk files set BUILDLINK_DEPENDS.* with += instead of =.

	Cheers,

	-- Johnny Lam <jlam@pkgsrc.org>