ports/85704: Add WITH_GL user variable to bsd.port.mk
Jean-Yves Lefort
jylefort at FreeBSD.org
Sun Sep 4 01:50:14 UTC 2005
>Number: 85704
>Category: ports
>Synopsis: Add WITH_GL user variable to bsd.port.mk
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Sep 04 01:50:10 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Jean-Yves Lefort
>Release: FreeBSD 5.4-RELEASE i386
>Organization:
>Environment:
System: FreeBSD jsite.lefort.net 5.4-RELEASE FreeBSD 5.4-RELEASE #0: Wed Jul 27 11:27:58 CEST 2005 jylefort at jsite.lefort.net:/usr/obj/usr/src/sys/JSITE i386
>Description:
The following patch adds a WITH_GL user variable (meant to be set in
/etc/make.conf), and makes USE_GL pull in the appropriate dependency
based on the value of WITH_GL. It supports USE_LINUX in the same way
USE_X_PREFIX does.
Caveats:
- nvidia-driver conditionally provides the linux libGL using a port
option; a linux-nvidia-driver slave port should be created instead.
- graphics/linux_mesa3 has an expiration date (2005-10-01)
>How-To-Repeat:
>Fix:
--- bsd.port.mk.orig Sun Sep 4 03:02:15 2005
+++ bsd.port.mk Sun Sep 4 03:31:20 2005
@@ -284,8 +284,16 @@
# case the linux X libraries are referenced.
#
# USE_FREETYPE - If set, this port uses the freetype print libraries.
-# USE_GL - If set, this port uses libGL (not needed with XFree86 4.x
-# which already includes this functionality).
+##
+# USE_GL - If set, this port uses libGL. In the USE_LINUX case the
+# linux GL libraries are referenced.
+# WITH_GL - Specify the libGL implementation to use.
+# Legal values for X_WINDOW_SYSTEM=xfree86-3 are:
+# glx (default), mesa
+# Legal values for other values of X_WINDOW_SYSTEM are:
+# dri (default), nvidia
+# If set to an unknown value, the port is marked BROKEN.
+##
# USE_MESA - If set, this port uses libGL/libglut (deprecated).
# USE_MOTIF - If set, this port uses a Motif toolkit. Implies USE_XPM.
# NO_OPENMOTIF - If set, this port uses a custom Motif toolkit
@@ -1364,6 +1372,12 @@
X_WINDOW_SYSTEM ?= xfree86-3
.endif
+.if ${X_WINDOW_SYSTEM:L} == xfree86-3
+WITH_GL?= glx
+.else
+WITH_GL?= dri
+.endif
+
# Location of mounted CDROM(s) to search for files
CD_MOUNTPTS?= /cdrom ${CD_MOUNTPT}
@@ -1645,21 +1659,53 @@
BUILD_DEPENDS+= imake:${X_IMAKE_PORT}
.endif
+.if defined(USE_GL)
+. if ${X_WINDOW_SYSTEM:L} == xfree86-3
+. if ${WITH_GL} == glx
+. if defined(USE_LINUX)
+RUN_DEPENDS+= ${LINUXBASE}/lib/libGL.so.1:${PORTSDIR}/graphics/linux_glx
+. else
+LIB_DEPENDS+= GL.14:${PORTSDIR}/graphics/utah-glx
+. endif
+. elif ${WITH_GL} == mesa
+. if defined(USE_LINUX)
+RUN_DEPENDS+= ${LINUXBASE}/usr/lib/libGL.so.1:${PORTSDIR}/graphics/linux_mesa3
+. else
+LIB_DEPENDS+= GL.14:${PORTSDIR}/graphics/mesagl
+. endif
+. else
+BROKEN= "unknown GL implementation for X_WINDOW_SYSTEM=${X_WINDOW_SYSTEM}: ${WITH_GL}"
+. endif
+. else
+. if ${WITH_GL} == dri
+. if defined(USE_LINUX)
+RUN_DEPENDS+= ${LINUXBASE}/usr/X11R6/lib/libGL.so.1:${PORTSDIR}/graphics/linux_dri
+. else
+USE_XLIB= yes
+. endif
+. elif ${WITH_GL} == nvidia
+. if defined(USE_LINUX)
+RUN_DEPENDS+= ${LINUXBASE}/usr/lib/libGL.so.1:${PORTSDIR}/x11/nvidia-driver
+. else
+LIB_DEPENDS+= GL.1:${PORTSDIR}/x11/nvidia-driver
+. endif
+. else
+BROKEN= "unknown GL implementation for X_WINDOW_SYSTEM=${X_WINDOW_SYSTEM}: ${WITH_GL}"
+. endif
+.endif
+
.if ${X_WINDOW_SYSTEM:L} == xfree86-3
.if defined(USE_XPM)
LIB_DEPENDS+= Xpm.4:${PORTSDIR}/graphics/xpm
.endif
-.if defined(USE_GL)
-LIB_DEPENDS+= GL.14:${PORTSDIR}/graphics/mesagl
-.endif
XAWVER= 6
PKG_IGNORE_DEPENDS?= '^XFree86-3\.'
.else
-.if defined(USE_XPM) || defined(USE_GL)
+.if defined(USE_XPM)
USE_XLIB= yes
.endif
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list