Subject: Re: set default X11_TYPE in mk/platform/${OPSYS}.mk?
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 10/31/2005 13:01:22
On Fri, 28 Oct 2005, Jeremy C. Reed wrote:

> And then add:
> X11_TYPE?=	xorg
> to pkgsrc/mk/platform/DragonFly.mk?

I realize due to the order of using mk/bsd.prefs.mk and 
mk/defaults/mk.conf, that the setting of X11ROOT_PREFIX and X11BASE should 
probably be done in mk/bsd.prefs.mk (instead of mk/defaults/mk.conf).

Please let me know if the patch at end of this email is okay.

> Any other platforms need this also?

To reword this: do any platforms have X packages that do not build because 
no X is found? If so, what is the preferred X11: XFree86-libs from pkgsrc 
or xorg-libs from pkgsrc?

  Jeremy C. Reed

Index: mk/platform/DragonFly.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/platform/DragonFly.mk,v
retrieving revision 1.19
diff -b -u -r1.19 DragonFly.mk
--- mk/platform/DragonFly.mk	21 Sep 2005 20:37:01 -0000	1.19
+++ mk/platform/DragonFly.mk	31 Oct 2005 20:59:22 -0000
@@ -29,6 +29,9 @@
  ULIMIT_CMD_stacksize?=	ulimit -s `ulimit -H -s`
  ULIMIT_CMD_memorysize?=	ulimit -m `ulimit -H -m`

+# DragonFly does not provide an X11, so default to X.org's X11
+X11_TYPE?=		xorg
+
  # imake installs manpages in weird places
  IMAKE_MAN_SOURCE_PATH=	man/man
  IMAKE_MAN_SUFFIX=	1
Index: mk/defaults/mk.conf
===================================================================
RCS file: /cvsroot/pkgsrc/mk/defaults/mk.conf,v
retrieving revision 1.83
diff -b -u -r1.83 mk.conf
--- mk/defaults/mk.conf	26 Oct 2005 10:31:55 -0000	1.83
+++ mk/defaults/mk.conf	31 Oct 2005 20:59:26 -0000
@@ -189,21 +189,6 @@
  # native (uses pkgtools/x11-links to use the native, non-pkgsrc-managed X11).
  # Default: native

-# Default installation prefix for meta-pkgs/XFree86 and
-# meta-pkgs/xorg.
-.if defined(X11_TYPE) && !empty(X11_TYPE:MXFree86)
-X11ROOT_PREFIX?=	XFree86
-.elif defined(X11_TYPE) && !empty(X11_TYPE:Mxorg)
-X11ROOT_PREFIX?=	xorg
-.else
-X11ROOT_PREFIX?=	# empty
-.endif
-
-.if ((defined(X11_TYPE) && !empty(X11_TYPE:MXFree86) || \
-     defined(X11_TYPE) && !empty(X11_TYPE:Mxorg)) && \
-     defined(X11_TYPE) && empty(X11_TYPE:Mnative))
-X11BASE?=		${LOCALBASE}/${X11ROOT_PREFIX}
-.endif
  #X11BASE?=	/usr/X11R6
  # Where X11 is installed on the system.
  # (and the default install path of X11 pkgs)
Index: mk/bsd.prefs.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/bsd.prefs.mk,v
retrieving revision 1.200
diff -b -u -r1.200 bsd.prefs.mk
--- mk/bsd.prefs.mk	16 Aug 2005 19:55:38 -0000	1.200
+++ mk/bsd.prefs.mk	31 Oct 2005 20:59:27 -0000
@@ -389,6 +389,22 @@
  USE_XPKGWEDGE=		yes
  .endif

+# Default installation prefix for meta-pkgs/XFree86 and
+# meta-pkgs/xorg.
+.if defined(X11_TYPE) && !empty(X11_TYPE:MXFree86)
+X11ROOT_PREFIX?=	XFree86
+.elif defined(X11_TYPE) && !empty(X11_TYPE:Mxorg)
+X11ROOT_PREFIX?=	xorg
+.else
+X11ROOT_PREFIX?=	# empty
+.endif
+
+.if ((defined(X11_TYPE) && !empty(X11_TYPE:MXFree86) || \
+     defined(X11_TYPE) && !empty(X11_TYPE:Mxorg)) && \
+     defined(X11_TYPE) && empty(X11_TYPE:Mnative))
+X11BASE?=		${LOCALBASE}/${X11ROOT_PREFIX}
+.endif
+
  # Set X11PREFIX to reflect the install directory of X11 packages.
  # Set XMKMF_CMD properly if xpkgwedge is installed.
  #
Index: mk/x11.version.mk
===================================================================
RCS file: /cvsroot/pkgsrc/mk/x11.version.mk,v
retrieving revision 1.2
diff -b -u -r1.2 x11.version.mk
--- mk/x11.version.mk	20 Jun 2005 20:59:45 -0000	1.2
+++ mk/x11.version.mk	31 Oct 2005 20:59:27 -0000
@@ -5,7 +5,8 @@
  #    X11_TYPE sets the X11 distribution used when building X11 packages.
  #	Possible values are "xorg" (use x11/xorg-libs), "XFree86" (use
  #	x11/XFree86-libs), or "native" (use the native X11 distribution).
-#	The default X11_TYPE is "native".
+#	The default X11_TYPE is "native" unless defined for a specific
+#	operating system in mk/platform/${OPSYS}.mk.
  #
  # The following variables are provided by this file:
  #