On Wed, Mar 18, 2009 at 04:22:33PM +0100, Thomas Klausner wrote: > On Thu, Mar 12, 2009 at 02:33:35PM +0100, Quentin Garnier wrote: > > On Thu, Mar 12, 2009 at 11:40:57AM +0100, Joerg Sonnenberger wrote: > > > I have a tested conversion script around, just need to sort out the edge > > > case of x11-links. > > > > Is it still the one where you abuse BUILDLINK_PACKAGES? Because I still > > oppose that. I'm tired of people not even looking at those parts of > > pkgsrc and making the code harder to understand will not make that > > better. > > Was this "abuse" talked about on tech-pkg? Was the script posted? The abuse is adding things to BUILDLINK_PACKAGES, using it to protect from multiple inclusions, and removing them deep inside buildlink3 logic. > What is the solution you suggest? Can it be plugged into the script? Well, the solution I'm promoting is the following one, and the script I am attaching seems to be successful on all but a 5 bl3.mk files. I'm currently doing partial bulk builds to have an increased confidence that it doesn't make the tree explode and then I intend to commit. Please don't comment my Perl skills :-) I'm also attaching a random (well, I chose a complex one) bl3 files, before and after the transformation. -- Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost "See the look on my face from staying too long in one place [...] every time the morning breaks I know I'm closer to falling" KT Tunstall, Saving My Face, Drastic Fantastic, 2007.
Attachment:
bl3-transform.pl
Description: Perl program
# $NetBSD: buildlink3.mk,v 1.29 2008/05/06 06:36:44 bjs Exp $
# buildlink3.mk file version 20090316
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
.if !empty(BUILDLINK_DEPTH:M+)
BUILDLINK_DEPENDS+= SDL
.endif
.if make(show-buildlink3)
BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}SDL
.endif
.if !defined(SDL_BUILDLINK3_MK)
SDL_BUILDLINK3_MK= # defined
BUILDLINK_PACKAGES+= SDL
BUILDLINK_API_DEPENDS.SDL+= SDL>=1.2.5nb5
BUILDLINK_ABI_DEPENDS.SDL+= SDL>=1.2.10
BUILDLINK_PKGSRCDIR.SDL?= ../../devel/SDL
PTHREAD_OPTS+= require
.include "../../mk/bsd.fast.prefs.mk"
.if ${OPSYS} != "IRIX" && ${OPSYS} != "Darwin"
.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../graphics/glu/buildlink3.mk"
.endif
.include "../../converters/libiconv/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
pkgbase := SDL
.include "../../mk/pkg-build-options.mk"
.if !empty(PKG_BUILD_OPTIONS.SDL:Maalib)
.include "../../graphics/aalib/buildlink3.mk"
.endif
.if !empty(PKG_BUILD_OPTIONS.SDL:Mnas)
.include "../../audio/nas/buildlink3.mk"
.endif
.include "../../x11/libXrandr/buildlink3.mk"
.include "../../x11/libXt/buildlink3.mk"
.include "../../x11/libXext/buildlink3.mk"
.endif # SDL_BUILDLINK3_MK
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
# $NetBSD: buildlink3.mk,v 1.29 2008/05/06 06:36:44 bjs Exp $
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
SDL_BUILDLINK3_MK:= ${SDL_BUILDLINK3_MK}+
.if !empty(BUILDLINK_DEPTH:M+)
BUILDLINK_DEPENDS+= SDL
.endif
BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:NSDL}
BUILDLINK_PACKAGES+= SDL
BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}SDL
.if !empty(SDL_BUILDLINK3_MK:M+)
BUILDLINK_API_DEPENDS.SDL+= SDL>=1.2.5nb5
BUILDLINK_ABI_DEPENDS.SDL+= SDL>=1.2.10
BUILDLINK_PKGSRCDIR.SDL?= ../../devel/SDL
.endif # SDL_BUILDLINK3_MK
PTHREAD_OPTS+= require
.include "../../mk/bsd.fast.prefs.mk"
.if ${OPSYS} != "IRIX" && ${OPSYS} != "Darwin"
.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../graphics/glu/buildlink3.mk"
.endif
.include "../../converters/libiconv/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
pkgbase := SDL
.include "../../mk/pkg-build-options.mk"
.if !empty(PKG_BUILD_OPTIONS.SDL:Maalib)
.include "../../graphics/aalib/buildlink3.mk"
.endif
.if !empty(PKG_BUILD_OPTIONS.SDL:Mnas)
.include "../../audio/nas/buildlink3.mk"
.endif
.include "../../x11/libXrandr/buildlink3.mk"
.include "../../x11/libXt/buildlink3.mk"
.include "../../x11/libXext/buildlink3.mk"
BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}
Attachment:
pgp9TpZMfQERH.pgp
Description: PGP signature