Subject: Re: x11-links for native X.org?
To: Johnny C. Lam <jlam@NetBSD.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 07/07/2005 13:57:04
On Thu, 7 Jul 2005, Johnny C. Lam wrote:

> Please create a separate x11-links/xorg.mk file and include the bits for 
> X.org.

Okay. I have new files:

  pkgtools/x11-links/files/xorg
  pkgtools/x11-links/files/xorg.Xcomposite
  pkgtools/x11-links/files/xorg.Xfixes
  pkgtools/x11-links/files/xorg.compositeext
  pkgtools/x11-links/files/xorg.fixesext
  pkgtools/x11-links/files/xorg.xextensions

The xorg file is a copy of xfree with various /extensions/ (but not all) 
entries removed, plus it adds around 20 extra entries as saw on my X.org 
system.

My diff for Makefile is:

--- pkgtools/x11-links/Makefile	10 Jun 2005 03:44:07 -0000	1.71
+++ pkgtools/x11-links/Makefile	7 Jul 2005 20:44:27 -0000
@@ -4,7 +4,7 @@
  #	the x11-links dependency in buildlink3.mk to the correct version,
  #	usually the most recent.

-DISTNAME=	x11-links-0.25
+DISTNAME=	x11-links-0.26
  CATEGORIES=	pkgtools x11
  MASTER_SITES=	# empty
  DISTFILES=	# empty
@@ -37,6 +37,8 @@
  .  include "xdec.mk"
  .elif !empty(X11BASE:M*openwin)
  .  include "openwin.mk"
+.elif exists(${X11BASE}/lib/X11/config/xorgversion.def)
+.  include "xorg.mk"
  .else
  .  include "xfree.mk"
  .endif

Is that okay?

And my xorg.mk follows. Notice how it uses some xfree.* files. Also I have 
a few questions in there.

# $NetBSD$
#
# This is for X.org, but use "xfree" files also.

FILES_LIST=	${FILESDIR}/xorg

# libXdamage and damageext only in pkgsrc-wip so not used here
# XXX: what about xaw?

.include "../../fonts/Xft2/buildlink3.mk"
.include "../../fonts/fontconfig/buildlink3.mk"
.include "../../graphics/MesaLib/buildlink3.mk"
.include "../../graphics/freetype2/buildlink3.mk"
.include "../../graphics/glu/buildlink3.mk"
.include "../../graphics/xpm/buildlink3.mk"
.include "../../textproc/expat/buildlink3.mk"
.include "../../x11/compositeext/buildlink3.mk"
.include "../../x11/fixesext/buildlink3.mk"
.include "../../x11/xextensions/buildlink3.mk"
.include "../../x11/Xcomposite/buildlink3.mk"
.include "../../x11/Xfixes/buildlink3.mk"
.include "../../x11/Xrandr/buildlink3.mk"
.include "../../x11/Xrender/buildlink3.mk"
.include "../../x11/render/buildlink3.mk"
.include "../../x11/randrext/buildlink3.mk"
.include "../../x11/xcursor/buildlink3.mk"

# XXX  what is ${X11_MODULES} ?

# Check if any headers and libraries for ${X11_MODULES} found in
# ${X11BASE} actually belong to the base Xorg or not.
#
# XXX: maybe skip iconv and zlib too?
.for _pkg_ in ${BUILDLINK_PACKAGES:Nx11-links}
CHECK_BUILTIN.${_pkg_}:=	yes
USE_BUILTIN.${_pkg_}=		yes
.  sinclude "${BUILDLINK_PKGSRCDIR.${_pkg_}}/builtin.mk"
CHECK_BUILTIN.${_pkg_}:=	no
.endfor

.for _pkg_ in ${BUILDLINK_PACKAGES:Nx11-links}
IGNORE_PKG.${_pkg_}=	yes
.  if !empty(IS_BUILTIN.${_pkg_}:M[yY][eE][sS])
.    if exists(${FILESDIR}/xorg.${_pkg_})
FILES_LIST+=	${FILESDIR}/xorg.${_pkg_}
.    elif exists(${FILESDIR}/xfree.${_pkg_})
FILES_LIST+=	${FILESDIR}/xfree.${_pkg_}
.    endif
.  endif
.endfor

I have not tested this with XFree86, only native Xorg.

> In any case, all of this should just be trashed, and native XFree86 and X.org 
> installations should eventually be made to use the buildlink3.mk files from 
> XFree86-libs and xorg-libs.

pkgtools/x11-links/files/xfree says "The files listed below are the union 
of the sets of files installed by the supported XFree distributions ...".

Does this mean that this list includes some files from older XFree 
distributions? (I didn't notice though.)

If that is the case, maybe using buildlink3.mk files from XFree86-libs may 
be too strict for native XFree86. But probably those old files would not 
matter anyways.

  Jeremy C. Reed

  	  	 	 BSD News, BSD tutorials, BSD links
 	  	 	 http://www.bsdnewsletter.com/