From d916aa231e6f04ae26731701929350ea07cfa204 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Feb 26 2007 17:20:00 +0000 Subject: - mesa-6.5.2-libgl-visibility.patch: Fix non-exported GLX symbols (#229808) - Require a sufficiently new libdrm at runtime too - Make the arch macros do something sensible in the general case --- diff --git a/mesa-6.5.2-libgl-visibility.patch b/mesa-6.5.2-libgl-visibility.patch new file mode 100644 index 0000000..38f691b --- /dev/null +++ b/mesa-6.5.2-libgl-visibility.patch @@ -0,0 +1,48 @@ +--- Mesa-6.5.2/src/glx/x11/dri_glx.c.libgl-visibility 2006-08-17 10:09:03.000000000 -0400 ++++ Mesa-6.5.2/src/glx/x11/dri_glx.c 2007-02-26 11:21:01.000000000 -0500 +@@ -39,6 +39,7 @@ + #include + #include + #include ++#include "glheader.h" + #include "glxclient.h" + #include "xf86dri.h" + #include "sarea.h" +@@ -338,7 +339,7 @@ + * The returned char pointer points to a static array that will be + * overwritten by subsequent calls. + */ +-const char *glXGetScreenDriver (Display *dpy, int scrNum) { ++PUBLIC const char *glXGetScreenDriver (Display *dpy, int scrNum) { + static char ret[32]; + char *driverName; + if (GetDriverName(dpy, scrNum, &driverName)) { +@@ -367,7 +368,7 @@ + * + * Note: The driver remains opened after this function returns. + */ +-const char *glXGetDriverConfig (const char *driverName) { ++PUBLIC const char *glXGetDriverConfig (const char *driverName) { + __DRIdriver *driver = OpenDriver (driverName); + if (driver) + return dlsym (driver->handle, "__driConfigOptions"); +--- Mesa-6.5.2/src/glx/x11/glxext.c.libgl-visibility 2006-11-15 09:55:47.000000000 -0500 ++++ Mesa-6.5.2/src/glx/x11/glxext.c 2007-02-26 11:11:57.000000000 -0500 +@@ -1417,7 +1417,7 @@ + + /************************************************************************/ + +-GLXContext glXGetCurrentContext(void) ++PUBLIC GLXContext glXGetCurrentContext(void) + { + GLXContext cx = __glXGetCurrentContext(); + +@@ -1428,7 +1428,7 @@ + } + } + +-GLXDrawable glXGetCurrentDrawable(void) ++PUBLIC GLXDrawable glXGetCurrentDrawable(void) + { + GLXContext gc = __glXGetCurrentContext(); + return gc->currentDrawable; diff --git a/mesa.spec b/mesa.spec index ee3696a..ab03cc7 100644 --- a/mesa.spec +++ b/mesa.spec @@ -2,30 +2,28 @@ # FIXME: Should build with DRI support everywhere, and select target is some # other more pleasant fashion -%ifarch %{ix86} +%ifarch s390 s390x +%define with_dri 0 +%define dri_target linux-indirect +%else %define with_dri 1 +%endif + +%ifarch %{ix86} %define dri_target linux-dri-x86 %endif %ifarch x86_64 -%define with_dri 1 %define dri_target linux-dri-x86-64 %endif -%ifarch ia64 alpha sparc sparc64 -%define with_dri 1 -%define dri_target linux-dri -%endif - -%ifarch ppc -%define with_dri 1 +%ifarch ppc ppc64 %define dri_target linux-dri-ppc %endif -# revert me? -%ifarch ppc64 s390 s390x -%define with_dri 0 -%define dri_target linux-indirect +# rpm sure has a funny way of spelling %ifndef. This is the default case. +%if 0%{!?dri_target:1} +%define dri_target linux-dri %endif %define manpages gl-manpages-1.0.1 @@ -33,7 +31,7 @@ Summary: Mesa graphics libraries Name: mesa Version: 6.5.2 -Release: 5%{?dist} +Release: 6%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org @@ -48,6 +46,7 @@ Patch4: mesa-6.5-dont-libglut-me-harder-ok-thx-bye.patch Patch5: mesa-6.5.2-xserver-1.1-source-compat.patch Patch18: mesa-6.5.1-selinux-awareness.patch Patch19: mesa-6.5.2-r300-parallel-build.patch +Patch20: mesa-6.5.2-libgl-visibility.patch BuildRequires: pkgconfig %if %{with_dri} @@ -71,6 +70,9 @@ Requires(postun): /sbin/ldconfig Provides: libGL Obsoletes: Mesa XFree86-libs XFree86-Mesa-libGL xorg-x11-Mesa-libGL Obsoletes: xorg-x11-libs +%if %{with_dri} +Requires: libdrm >= 2.3.0 +%endif %description libGL Mesa libGL runtime libraries and DRI drivers. @@ -158,6 +160,7 @@ The glx-utils package provides the glxinfo and glxgears utilities. %patch5 -p1 -b .xserver-1.1-compat %patch18 -p1 -b .selinux-awareness %patch19 -p1 -b .r300-make-j +%patch20 -p1 -b .libgl-visibility # WARNING: The following files are copyright "Mark J. Kilgard" under the GLUT # license and are not open source/free software, so we remove them. @@ -318,8 +321,8 @@ rm -rf $RPM_BUILD_ROOT # We constructed this dir carefully, so just slurp in the whole thing. %files source -%{mesasourcedir} %defattr(-,root,root,-) +%{mesasourcedir} %files -n glx-utils %defattr(-,root,root,-) @@ -327,6 +330,11 @@ rm -rf $RPM_BUILD_ROOT %{_bindir}/glxinfo %changelog +* Mon Feb 26 2007 Adam Jackson 6.5.2-6 +- mesa-6.5.2-libgl-visibility.patch: Fix non-exported GLX symbols (#229808) +- Require a sufficiently new libdrm at runtime too +- Make the arch macros do something sensible in the general case + * Tue Feb 20 2007 Adam Jackson 6.5.2-5 - General spec cleanups - Require current libdrm