Subject: pkg/19302: Mesa, MesaLib, glu and glut update to version 5.0 needs work
To: None <gnats-bugs@gnats.netbsd.org>
From: Jan Schaumann <jschauma@netmeister.org>
List: netbsd-bugs
Date: 12/06/2002 12:26:13
>Number:         19302
>Category:       pkg
>Synopsis:       Mesa and friends should be updated to 5.0, but need to pay attention to XF4.x
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Dec 06 09:27:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Jan Schaumann
>Release:        NetBSD 1.6
>Organization:
	
>Environment:
	
	
System: NetBSD becasse.cs.stevens-tech.edu 1.6 NetBSD 1.6 (BOCK) #15: Tue Nov 12 15:35:50 EST 2002 jschauma@amstel.cs.stevens-tech.edu:/usr/src/sys/arch/i386/compile/BOCK i386
Architecture: i386
Machine: i386
>Description:
	As discussed, the update of Mesa and friends to 5.0 is at least sub-optimal:
	Through the use of:
		MESA_REQD=      ${MESA_VERSION}
	in pkgsrc/graphics/Mesa, even on xpkgwedge's systems MesaLib and glu are
	pulled in, since XF4.x can only fake 3.4.2 libraries.  When these are installed,
	applications that require libGLU* will create a depenency on glu, but actually
	link against ${X11BASE}/lib/libGLU*.  This can cause various problems, since the
	libraries linked with are of a different version than the one the application may
	expect.
>How-To-Repeat:
	Apply patches below to update to 5.0 on an xpkgwedge'd system with XF4.x, then
	built, for example, net/xtraceroute.  Then 'ldd xtraceroute' and observe that it
	was linked against ${X11BASE}/lib/libGLU*.
>Fix:
	Possibility:
	Adjust the logic in the affected buildinks to first check for xpkgwedge, and only after
	that for XF4.x's GL existence.  Build and link accordingly.

	Workaround:
	Remove support for xpkwedge from buildlink, and conditionally set MESA_REQ (based on
	the existence of xpkwedge) so that XF3.x users can use Mesa-5.0, while XF4.x users continue
	to use 3.4.2.

patches below:


Index: Mesa/Makefile.common
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/Mesa/Makefile.common,v
retrieving revision 1.5
diff -b -u -r1.5 Makefile.common
--- Mesa/Makefile.common	2002/12/06 17:03:23	1.5
+++ Mesa/Makefile.common	2002/12/06 17:05:33
@@ -1,6 +1,6 @@
 # $NetBSD: Makefile.common,v 1.5 2002/12/06 17:03:23 jschauma Exp $
 
-MESA_VERSION=		3.4.2
+MESA_VERSION=		5.0
 DISTNAME?=		MesaLib-${MESA_VERSION}
 CATEGORIES?=		graphics
 MASTER_SITES?= 		${MASTER_SITE_SOURCEFORGE:=mesa3d/}
Index: MesaLib/PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/MesaLib/PLIST,v
retrieving revision 1.5
diff -b -u -r1.5 PLIST
--- MesaLib/PLIST	2002/12/06 17:03:24	1.5
+++ MesaLib/PLIST	2002/12/06 17:05:33
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.5 2002/12/06 17:03:24 jschauma Exp $
+@comment $NetBSD: PLIST,v 1.4 2002/12/05 15:11:49 jschauma Exp $
 etc/mesa.conf
 include/GL/gl.h
 include/GL/gl_mangle.h
@@ -9,9 +9,14 @@
 include/GL/xmesa.h
 include/GL/xmesa_x.h
 include/GL/xmesa_xf86.h
-lib/libGL.so
-lib/libGL.so.3
-lib/libGL.so.3.4
 lib/libGL.a
 lib/libGL.la
+lib/libGL.so
+lib/libGL.so.5
+lib/libGL.so.5.500
+lib/libOSMesa.a
+lib/libOSMesa.la
+lib/libOSMesa.so
+lib/libOSMesa.so.4
+lib/libOSMesa.so.4.500
 @unexec ${RMDIR} %D/include/GL >/dev/null 2>&1 || ${TRUE}
Index: MesaLib/distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/MesaLib/distinfo,v
retrieving revision 1.6
diff -b -u -r1.6 distinfo
--- MesaLib/distinfo	2002/12/06 17:03:24	1.6
+++ MesaLib/distinfo	2002/12/06 17:05:33
@@ -1,6 +1,6 @@
 $NetBSD: distinfo,v 1.6 2002/12/06 17:03:24 jschauma Exp $
 
-SHA1 (MesaLib-3.4.2.tar.bz2) = 1a41b61a29538127dbb0ab2882ac69554a0e9e37
-Size (MesaLib-3.4.2.tar.bz2) = 1380805 bytes
-SHA1 (patch-aa) = f8e311944bbd80bf3939196dbbe993f78b2f8c50
-SHA1 (patch-ab) = 8cf672d645f9681b0987e94d3692903a5314173e
+SHA1 (MesaLib-5.0.tar.bz2) = 098260c89c4109a8823c76a2c4d75cef8484819d
+Size (MesaLib-5.0.tar.bz2) = 1645037 bytes
+SHA1 (patch-aa) = 7fa63dca0edfc41812b5432cbabd861ec52cec33
+SHA1 (patch-ab) = 17d8f0508710fc03a75e736a3298ede72b953af7
Index: MesaLib/patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/MesaLib/patches/patch-aa,v
retrieving revision 1.4
diff -b -u -r1.4 patch-aa
--- MesaLib/patches/patch-aa	2002/12/06 17:03:24	1.4
+++ MesaLib/patches/patch-aa	2002/12/06 17:05:33
@@ -1,14 +1,14 @@
-$NetBSD: patch-aa,v 1.4 2002/12/06 17:03:24 jschauma Exp $
+$NetBSD: patch-aa,v 1.3 2002/12/05 15:11:50 jschauma Exp $
 
---- src/X86/assyntax.h.orig	Mon Sep 25 17:12:01 2000
-+++ src/X86/assyntax.h	Sun Dec 10 23:45:34 2000
-@@ -954,7 +954,8 @@
+--- src/X86/assyntax.h.orig	Tue Nov 19 15:17:48 2002
++++ src/X86/assyntax.h	Tue Nov 19 15:18:34 2002
+@@ -965,7 +965,8 @@
  
  #if defined(Lynx) || (defined(SYSV) || defined(SVR4)) \
-  || (defined(linux) || defined(__OS2ELF__)) && defined(__ELF__) \
+  || (defined(__linux__) || defined(__OS2ELF__)) && defined(__ELF__) \
 - || defined(__FreeBSD__) && __FreeBSD__ >= 3
 + || defined(__FreeBSD__) && __FreeBSD__ >= 3 \
 + || defined(__NetBSD__) && defined(__ELF__)
  #define GLNAME(a)	a
  #else
- #define GLNAME(a)	_ ## a
+ #define GLNAME(a)	CONCAT(_, a)
Index: MesaLib/patches/patch-ab
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/MesaLib/patches/patch-ab,v
retrieving revision 1.6
diff -b -u -r1.6 patch-ab
--- MesaLib/patches/patch-ab	2002/12/06 17:03:24	1.6
+++ MesaLib/patches/patch-ab	2002/12/06 17:05:33
@@ -1,33 +1,13 @@
-$NetBSD: patch-ab,v 1.6 2002/12/06 17:03:24 jschauma Exp $
+$NetBSD: patch-ab,v 1.5 2002/12/05 15:11:50 jschauma Exp $
 
---- configure.orig	Thu May 17 00:28:58 2001
-+++ configure	Fri May 18 14:16:44 2001
-@@ -823,8 +823,8 @@
- MESA_MAJOR=3
- MESA_MINOR=4
- MESA_TINY=2
--LIBGL_VERSION=1:2:0${MESA_MAJOR}0${MESA_MINOR}0${MESA_TINY}
--LIBGLU_VERSION=1:1:0${MESA_MAJOR}0${MESA_MINOR}0${MESA_TINY}
-+LIBGL_VERSION=${MESA_MAJOR}:${MESA_MINOR}:${MESA_TINY}
-+LIBGLU_VERSION=${MESA_MAJOR}:${MESA_MINOR}:${MESA_TINY}
- LIBGLUT_VERSION=3:7:0
- 
- 
-@@ -4635,7 +4635,7 @@
- if test -d $srcdir/src-glut; then
-   have_glut_source=yes
- else
--  { echo "configure: error: GLUT sources missing; that is not supported at this point." 1>&2; exit 1; }
-+  { echo "configure: error: GLUT sources missing; that is not supported at this point." 1>&2; }
- fi
- echo "$ac_t""$have_glut_source" 1>&6
- need_glut=no
-@@ -4673,7 +4673,7 @@
- done
- echo "$ac_t""$have_demo_source" 1>&6
- if test "x$have_demo_source" != xyes; then
--  { echo "configure: error: Demo sources missing; that is not supported at this point." 1>&2; exit 1; }
-+  { echo "configure: error: Demo sources missing; that is not supported at this point." 1>&2; }
+--- configure.orig	Wed Nov 13 22:18:19 2002
++++ configure	Tue Nov 19 15:52:05 2002
+@@ -1532,7 +1532,7 @@
  fi
+   MAINT=$MAINTAINER_MODE_TRUE
  
+-ac_config_files="$ac_config_files Makefile include/Makefile include/GL/Makefile src/Makefile src/array_cache/Makefile src/math/Makefile src/swrast/Makefile src/swrast_setup/Makefile src/tnl/Makefile src/Trace/Makefile src/FX/Makefile src/FX/X86/Makefile src/GGI/Makefile src/GGI/include/Makefile src/GGI/include/ggi/Makefile src/GGI/include/ggi/mesa/Makefile src/GGI/ggimesa.conf src/GGI/default/Makefile src/GGI/default/genkgi.conf src/GGI/display/Makefile src/GGI/display/fbdev.conf src/OSmesa/Makefile src/SVGA/Makefile src/X/Makefile src/X86/Makefile src/SPARC/Makefile util/Makefile ggi/demos/Makefile ggi/ggiglut/Makefile src-glu/Makefile si-glu/Makefile si-glu/include/Makefile si-glu/libnurbs/Makefile si-glu/libnurbs/interface/Makefile si-glu/libnurbs/internals/Makefile si-glu/libnurbs/nurbtess/Makefile si-glu/libtess/Makefile si-glu/libutil/Makefile"
++ac_config_files="$ac_config_files Makefile include/Makefile include/GL/Makefile src/Makefile src/array_cache/Makefile src/math/Makefile src/swrast/Makefile src/swrast_setup/Makefile src/tnl/Makefile src/Trace/Makefile src/FX/Makefile src/FX/X86/Makefile src/GGI/Makefile src/GGI/include/Makefile src/GGI/include/ggi/Makefile src/GGI/include/ggi/mesa/Makefile src/GGI/ggimesa.conf src/GGI/default/Makefile src/GGI/default/genkgi.conf src/GGI/display/Makefile src/GGI/display/fbdev.conf src/OSmesa/Makefile src/SVGA/Makefile src/X/Makefile src/X86/Makefile src/SPARC/Makefile util/Makefile src-glu/Makefile si-glu/Makefile si-glu/include/Makefile si-glu/libnurbs/Makefile si-glu/libnurbs/interface/Makefile si-glu/libnurbs/internals/Makefile si-glu/libnurbs/nurbtess/Makefile si-glu/libtess/Makefile si-glu/libutil/Makefile"
  
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
Index: glu/PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/glu/PLIST,v
retrieving revision 1.5
diff -b -u -r1.5 PLIST
--- glu/PLIST	2002/12/06 17:03:24	1.5
+++ glu/PLIST	2002/12/06 17:05:34
@@ -2,8 +2,8 @@
 include/GL/glu.h
 include/GL/glu_mangle.h
 lib/libGLU.so
-lib/libGLU.so.3
-lib/libGLU.so.3.4
+lib/libGLU.so.2
+lib/libGLU.so.2.500
 lib/libGLU.a
 lib/libGLU.la
 @unexec ${RMDIR} %D/include/GL >/dev/null 2>&1 || ${TRUE}
Index: glu/distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/glu/distinfo,v
retrieving revision 1.6
diff -b -u -r1.6 distinfo
--- glu/distinfo	2002/12/06 17:03:24	1.6
+++ glu/distinfo	2002/12/06 17:05:34
@@ -1,5 +1,5 @@
 $NetBSD: distinfo,v 1.6 2002/12/06 17:03:24 jschauma Exp $
 
-SHA1 (MesaLib-3.4.2.tar.bz2) = 1a41b61a29538127dbb0ab2882ac69554a0e9e37
-Size (MesaLib-3.4.2.tar.bz2) = 1380805 bytes
-SHA1 (patch-aa) = 8cf672d645f9681b0987e94d3692903a5314173e
+SHA1 (MesaLib-5.0.tar.bz2) = 098260c89c4109a8823c76a2c4d75cef8484819d
+Size (MesaLib-5.0.tar.bz2) = 1645037 bytes
+SHA1 (patch-aa) = 3006b3f1fece24ded6edc046d7bff439f181cd47
Index: glu/patches/patch-aa
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/glu/patches/patch-aa,v
retrieving revision 1.6
diff -b -u -r1.6 patch-aa
--- glu/patches/patch-aa	2002/12/06 17:03:24	1.6
+++ glu/patches/patch-aa	2002/12/06 17:05:34
@@ -1,33 +1,11 @@
-$NetBSD: patch-aa,v 1.6 2002/12/06 17:03:24 jschauma Exp $
-
---- configure.orig	Thu May 17 00:28:58 2001
-+++ configure	Fri May 18 14:16:44 2001
-@@ -823,8 +823,8 @@
- MESA_MAJOR=3
- MESA_MINOR=4
- MESA_TINY=2
--LIBGL_VERSION=1:2:0${MESA_MAJOR}0${MESA_MINOR}0${MESA_TINY}
--LIBGLU_VERSION=1:1:0${MESA_MAJOR}0${MESA_MINOR}0${MESA_TINY}
-+LIBGL_VERSION=${MESA_MAJOR}:${MESA_MINOR}:${MESA_TINY}
-+LIBGLU_VERSION=${MESA_MAJOR}:${MESA_MINOR}:${MESA_TINY}
- LIBGLUT_VERSION=3:7:0
- 
- 
-@@ -4635,7 +4635,7 @@
- if test -d $srcdir/src-glut; then
-   have_glut_source=yes
- else
--  { echo "configure: error: GLUT sources missing; that is not supported at this point." 1>&2; exit 1; }
-+  { echo "configure: error: GLUT sources missing; that is not supported at this point." 1>&2; }
- fi
- echo "$ac_t""$have_glut_source" 1>&6
- need_glut=no
-@@ -4673,7 +4673,7 @@
- done
- echo "$ac_t""$have_demo_source" 1>&6
- if test "x$have_demo_source" != xyes; then
--  { echo "configure: error: Demo sources missing; that is not supported at this point." 1>&2; exit 1; }
-+  { echo "configure: error: Demo sources missing; that is not supported at this point." 1>&2; }
+--- configure.orig	Wed Nov 20 17:45:32 2002
++++ configure	Wed Nov 20 17:45:43 2002
+@@ -1532,7 +1532,7 @@
  fi
+   MAINT=$MAINTAINER_MODE_TRUE
  
+-ac_config_files="$ac_config_files Makefile include/Makefile include/GL/Makefile src/Makefile src/array_cache/Makefile src/math/Makefile src/swrast/Makefile src/swrast_setup/Makefile src/tnl/Makefile src/Trace/Makefile src/FX/Makefile src/FX/X86/Makefile src/GGI/Makefile src/GGI/include/Makefile src/GGI/include/ggi/Makefile src/GGI/include/ggi/mesa/Makefile src/GGI/ggimesa.conf src/GGI/default/Makefile src/GGI/default/genkgi.conf src/GGI/display/Makefile src/GGI/display/fbdev.conf src/OSmesa/Makefile src/SVGA/Makefile src/X/Makefile src/X86/Makefile src/SPARC/Makefile util/Makefile ggi/demos/Makefile ggi/ggiglut/Makefile src-glu/Makefile si-glu/Makefile si-glu/include/Makefile si-glu/libnurbs/Makefile si-glu/libnurbs/interface/Makefile si-glu/libnurbs/internals/Makefile si-glu/libnurbs/nurbtess/Makefile si-glu/libtess/Makefile si-glu/libutil/Makefile"
++ac_config_files="$ac_config_files Makefile include/Makefile include/GL/Makefile src/Makefile src/array_cache/Makefile src/math/Makefile src/swrast/Makefile src/swrast_setup/Makefile src/tnl/Makefile src/Trace/Makefile src/FX/Makefile src/FX/X86/Makefile src/GGI/Makefile src/GGI/include/Makefile src/GGI/include/ggi/Makefile src/GGI/include/ggi/mesa/Makefile src/GGI/ggimesa.conf src/GGI/default/Makefile src/GGI/default/genkgi.conf src/GGI/display/Makefile src/GGI/display/fbdev.conf src/OSmesa/Makefile src/SVGA/Makefile src/X/Makefile src/X86/Makefile src/SPARC/Makefile util/Makefile src-glu/Makefile si-glu/Makefile si-glu/include/Makefile si-glu/libnurbs/Makefile si-glu/libnurbs/interface/Makefile si-glu/libnurbs/internals/Makefile si-glu/libnurbs/nurbtess/Makefile si-glu/libtess/Makefile si-glu/libutil/Makefile"
  
+ ac_ext=c
+ ac_cpp='$CPP $CPPFLAGS'
Index: glut/PLIST
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/glut/PLIST,v
retrieving revision 1.5
diff -b -u -r1.5 PLIST
--- glut/PLIST	2002/12/06 17:03:25	1.5
+++ glut/PLIST	2002/12/06 17:05:34
@@ -2,8 +2,8 @@
 include/GL/glut.h
 include/GL/glutf90.h
 lib/libglut.so
-lib/libglut.so.3
-lib/libglut.so.3.7
+lib/libglut.so.10
+lib/libglut.so.10.1
 lib/libglut.a
 lib/libglut.la
 @unexec ${RMDIR} %D/include/GL >/dev/null 2>&1 || ${TRUE}
Index: glut/distinfo
===================================================================
RCS file: /cvsroot/pkgsrc/graphics/glut/distinfo,v
retrieving revision 1.6
diff -b -u -r1.6 distinfo
--- glut/distinfo	2002/12/06 17:03:25	1.6
+++ glut/distinfo	2002/12/06 17:05:34
@@ -1,6 +1,6 @@
 $NetBSD: distinfo,v 1.6 2002/12/06 17:03:25 jschauma Exp $
 
-SHA1 (MesaLib-3.4.2.tar.bz2) = 1a41b61a29538127dbb0ab2882ac69554a0e9e37
-Size (MesaLib-3.4.2.tar.bz2) = 1380805 bytes
-SHA1 (MesaDemos-3.4.2.tar.bz2) = b291eb70c07ad2e12122e53039bf6d36c061a914
-Size (MesaDemos-3.4.2.tar.bz2) = 854130 bytes
+SHA1 (MesaLib-5.0.tar.bz2) = 098260c89c4109a8823c76a2c4d75cef8484819d
+Size (MesaLib-5.0.tar.bz2) = 1645037 bytes
+SHA1 (MesaDemos-5.0.tar.bz2) = b487c94daa2d19060c40b0ae46869c28c883b6e8
+Size (MesaDemos-5.0.tar.bz2) = 894069 bytes
>Release-Note:
>Audit-Trail:
>Unformatted: