SPECS: Mesa.spec - moved libOSMesa.a to -static as it's usable onl...

qboosh qboosh at pld-linux.org
Sun Dec 2 17:26:20 CET 2007


Author: qboosh                       Date: Sun Dec  2 16:26:20 2007 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- moved libOSMesa.a to -static as it's usable only with non-dri libGL.a
- build usable shared libOSMesa
- updated License tags
- fixed ffb disabling if building without nouveau
- package gl,glu pkgconfig files
- xmesa*.h headers (with x11 non-dri Mesa API) moved to libGL-static
- dropped glfbdev.h header (fbdev Mesa API - no implementation built)
- test release 3.1

---- Files affected:
SPECS:
   Mesa.spec (1.162 -> 1.163) 

---- Diffs:

================================================================
Index: SPECS/Mesa.spec
diff -u SPECS/Mesa.spec:1.162 SPECS/Mesa.spec:1.163
--- SPECS/Mesa.spec:1.162	Sun Nov 25 22:13:44 2007
+++ SPECS/Mesa.spec	Sun Dec  2 17:26:15 2007
@@ -2,33 +2,34 @@
 #
 # TODO:
 # - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
-# - usable libOSMesa (see monolithic X how to build it? currently needs non-dri libGL)
 # - package OpenGL man pages (from monolith or SGI) somewhere
 #
 # Conditional build:
 %bcond_without	motif	# build static libGLw without Motif interface
 %bcond_with	multigl	# package libGL in a way allowing concurrent install with nvidia/fglrx drivers
-%bcond_with	nouveau
+%bcond_with	nouveau	# build nouveau DRI driver
 #
 Summary:	Free OpenGL implementation
 Summary(pl.UTF-8):	Wolnodostępna implementacja standardu OpenGL
 Name:		Mesa
 Version:	7.0.2
-Release:	3%{?with_multigl:.mgl}
-License:	MIT (core), SGI (GLU,libGLw) and others - see COPYRIGHT file
+Release:	3.1%{?with_multigl:.mgl}
+License:	MIT (core), SGI (GLU,libGLw) and others - see license.html file
 Group:		X11/Libraries
 Source0:	http://dl.sourceforge.net/mesa3d/%{name}Lib-%{version}.tar.bz2
 # Source0-md5:	93e6ed7924ff069a4f883b4fce5349dc
 Source1:	http://dl.sourceforge.net/mesa3d/%{name}Demos-%{version}.tar.bz2
 # Source1-md5:	11a10410bae7be85cf25bc7119966468
+Source2:	nouveau_drm.h
 Patch0:		%{name}-realclean.patch
 URL:		http://www.mesa3d.org/
 BuildRequires:	expat-devel
-%if %{with nouveau}
-BuildRequires:	libdrm-devel >= 2.2.0
-%else
+#%if %{with nouveau}
+# needs nouveau_drm.h patchlevel=6 and matching kernel driver
+#BuildRequires:	libdrm-devel = 2.3.1.xxxxxxxx
+#%else
 BuildRequires:	libdrm-devel >= 2.3.0
-%endif
+#%endif
 BuildRequires:	libstdc++-devel
 BuildRequires:	libtool >= 2:1.4d
 %{?with_motif:BuildRequires:	motif-devel}
@@ -199,7 +200,7 @@
 %package libGLw-devel
 Summary:	Header files for SGI libGLw library
 Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki SGI libGLw
-License:	SGI Free Software License B v1.1
+License:	SGI MIT-like
 Group:		Development/Libraries
 Requires:	%{name}-libGLw = %{version}-%{release}
 Requires:	OpenGL-devel >= 1.2
@@ -214,7 +215,7 @@
 %package libGLw-static
 Summary:	Static SGI libGLw library
 Summary(pl.UTF-8):	Statyczna biblioteka SGI libGLw
-License:	SGI Free Software License B v1.1
+License:	SGI MIT-like
 Group:		Development/Libraries
 Requires:	%{name}-libGLw-devel = %{version}-%{release}
 Provides:	OpenGL-GLw-static
@@ -225,9 +226,53 @@
 %description libGLw-static -l pl.UTF-8
 Statyczna biblioteka SGI libGLw.
 
+%package libOSMesa
+Summary:	OSMesa (off-screen renderer) library
+Summary(pl.UTF-8):	Biblioteka OSMesa (renderująca bitmapy w pamięci)
+License:	MIT
+Group:		Libraries
+# doesn't require base
+
+%description libOSMesa
+OSMesa (off-screen renderer) library.
+
+%description libOSMesa -l pl.UTF-8
+Biblioteka OSMesa (renderująca bitmapy w pamięci).
+
+%package libOSMesa-devel
+Summary:	Header file for OSMesa (off-screen renderer) library
+Summary(pl.UTF-8):	Plik nagłówkowy biblioteki OSMesa (renderującej bitmapy w pamięci)
+License:	MIT
+Group:		Development/Libraries
+Requires:	%{name}-libOSMesa = %{version}-%{release}
+# for <GL/gl.h> only
+Requires:	OpenGL-devel
+
+%description libOSMesa-devel
+Header file for OSMesa (off-screen renderer) library.
+
+%description libOSMesa-devel -l pl.UTF-8
+Plik nagłówkowy biblioteki OSMesa (renderującej bitmapy w pamięci).
+
+%package libOSMesa-static
+Summary:	Static OSMesa (off-screen renderer) library
+Summary(pl.UTF-8):	Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci)
+License:	MIT
+Group:		Development/Libraries
+Requires:	%{name}-libOSMesa-devel = %{version}-%{release}
+# this static build of OSMesa needs static non-dri Mesa implementation
+Requires:	%{name}-libGL-static = %{version}-%{release}
+
+%description libOSMesa-static
+Static OSMesa (off-screen renderer) library.
+
+%description libOSMesa-static -l pl.UTF-8
+Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci).
+
 %package utils
 Summary:	OpenGL utilities from Mesa3D
 Summary(pl.UTF-8):	Programy narzędziowe OpenGL z projektu Mesa3D
+License:	MIT
 Group:		X11/Applications/Graphics
 # loose deps on libGL/libGLU
 
@@ -238,20 +283,22 @@
 Programy narzędziowe OpenGL z projektu Mesa3D: glxgears i glxinfo.
 
 %package demos
-Summary:	Mesa Demos
-Summary(pl.UTF-8):	Programy demonstrujące możliwości bibliotek Mesa
+Summary:	Mesa Demos source code
+Summary(pl.UTF-8):	Kod źródłowy programów demonstrujących dla bibliotek Mesa
+License:	various (MIT, SGI, GPL - see copyright notes in sources)
 Group:		Development/Libraries
 Requires:	OpenGL-devel
 
 %description demos
-Demonstration programs for the Mesa libraries.
+Demonstration programs for the Mesa libraries in source code form.
 
 %description demos -l pl.UTF-8
-Programy demonstracyjne dla bibliotek Mesa.
+Kod źródłowy programów demonstracyjnych dla bibliotek Mesa.
 
 %package dri-driver-ati-mach64
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-ati
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -266,6 +313,7 @@
 %package dri-driver-ati-radeon-R100
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-ati
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -281,6 +329,7 @@
 %package dri-driver-ati-radeon-R200
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-ati
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -296,6 +345,7 @@
 %package dri-driver-ati-radeon-R300
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-ati
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -311,6 +361,7 @@
 %package dri-driver-ati-rage128
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-ati
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -326,6 +377,7 @@
 %package dri-driver-ffb
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-sunffb
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -340,6 +392,7 @@
 %package dri-driver-glint
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-glint
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -355,6 +408,7 @@
 %package dri-driver-intel-i810
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-i810
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -370,6 +424,7 @@
 %package dri-driver-intel-i915
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-i810
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -386,6 +441,7 @@
 %package dri-driver-intel-i965
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-i810
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -402,6 +458,7 @@
 %package dri-driver-matrox
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-mga
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -417,6 +474,7 @@
 %package dri-driver-nouveau
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-nouveau
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -431,6 +489,7 @@
 %package dri-driver-s3virge
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-s3virge
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -445,6 +504,7 @@
 %package dri-driver-savage
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-savage
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -459,6 +519,7 @@
 %package dri-driver-sis
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-sis
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -474,6 +535,7 @@
 %package dri-driver-tdfx
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	Glide3-DRI
 Requires:	xorg-driver-video-tdfx
@@ -492,6 +554,7 @@
 %package dri-driver-trident
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-trident
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -506,6 +569,7 @@
 %package dri-driver-via-unichrome
 Summary:	X.org DRI drivers
 Summary(pl.UTF-8):	Sterowniki DRI dla X.org
+License:	MIT
 Group:		X11/Libraries
 Requires:	xorg-driver-video-via
 Requires:	xorg-xserver-libglx(glapi) = %{version}
@@ -521,16 +585,22 @@
 %setup -q -b1
 %patch0 -p0
 
+# until new libdrm release and Mesa update for nouveau_drm patchlevel
+cp %{SOURCE2} src/mesa/drivers/dri/nouveau
+
 # fix demos
 find progs -type f|xargs sed -i -e "s,\.\./images/,%{_examplesdir}/%{name}-%{version}/images/,g"
 
+# s3v, sis, trident missing there - don't override list from linux-dri
+sed -i -e '/^DRI_DIRS/d' configs/linux-dri-x86-64
+
 %if %{with nouveau}
 sed -i -e 's/ ffb$/ ffb nouveau/' configs/linux-dri
 %endif
 
 %ifnarch sparc sparcv9 sparc64
 # for sunffb driver - useful on sparc only
-sed -i -e 's/ ffb / /' configs/linux-dri
+sed -i -e 's/ ffb\>//' configs/linux-dri
 %endif
 
 %ifnarch %{ix86} %{x8664}
@@ -556,6 +626,16 @@
 mv -f lib lib-static
 %{__make} realclean
 
+%{__make} linux-osmesa \
+	CC="%{__cc}" \
+	CXX="%{__cxx}" \
+	OPT_FLAGS="%{rpmcflags} -fno-strict-aliasing" \
+	XLIB_DIR=%{_libdir} \
+	SRC_DIRS="mesa" \
+	PROGRAM_DIRS=
+mv -f lib lib-osmesa
+%{__make} realclean
+
 %{__make} linux-dri${targ} \
 	CC="%{__cc}" \
 	CXX="%{__cxx}" \
@@ -584,39 +664,41 @@
 
 mv -f lib lib-dri
 
-# non-dri libGL and libOSMesa
-#%{__make} clean \
-#	MKDEP=makedepend
-#%{__make} realclean
-#
-#%{__make} linux${targ} \
-#	CC="%{__cc}" \
-#	CXX="%{__cxx}" \
-#	OPT_FLAGS="%{rpmcflags} -fno-strict-aliasing" \
-#	XLIB_DIR=%{_libdir} \
-#	SRC_DIRS="mesa" \
-#	PROGRAM_DIRS=
+# TODO: glw.pc (missing in 7.0.2 tarball)
+for d in mesa glu ; do
+	%{__make} -C src/$d `basename src/$d/*.pc.in .in` \
+		INSTALL_DIR=%{_prefix} \
+		LIB_DIR=%{_lib}
+done
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/GL,%{_examplesdir}/%{name}-%{version}}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/GL,%{_pkgconfigdir},%{_examplesdir}/%{name}-%{version}}
 install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri
 
 cp -df lib-static/lib* $RPM_BUILD_ROOT%{_libdir}
+cp -df lib-osmesa/libOSMesa* $RPM_BUILD_ROOT%{_libdir}
 cp -df lib-dri/lib* $RPM_BUILD_ROOT%{_libdir}
-cp -rf include/GL/{gl[!u]*,glu.h,glu_*,osmesa.h,xmesa*} src/glw/GLw*.h $RPM_BUILD_ROOT%{_includedir}/GL
+cp -rf include/GL/{gl[!f]*,osmesa.h,xmesa*} src/glw/GLw*.h $RPM_BUILD_ROOT%{_includedir}/GL
 cp -df lib-dri/*_dri.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri
 
-# keep for -bi --short-circuit
-cp -a progs progs.org
+install src/mesa/gl.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
+install src/glu/glu.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
+#install src/glw/glw.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
+
 install progs/xdemos/{glxgears,glxinfo} $RPM_BUILD_ROOT%{_bindir}
-for l in demos redbook samples xdemos ; do
-	%{__make} -C progs/$l clean
+# work on copy to keep -bi --short-circuit working
+rm -rf progs-clean
+install -d progs-clean
+for l in demos glsl osdemos redbook samples xdemos ; do
+	cp -a progs/$l progs-clean/$l
+	%{__make} -C progs-clean/$l clean
+	cp -Rf progs-clean/$l $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$l
 done
-for l in demos redbook samples util xdemos images ; do
+rm -rf progs-clean
+for l in util images ; do
 	cp -Rf progs/$l $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/$l
 done
-rm -rf progs && mv -f progs.org progs
 rm -rf $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*/{.deps,CVS,Makefile.{BeOS*,win,cygnus,DJ,dja}}
 
 %if %{with multigl}
@@ -659,34 +741,25 @@
 %files libGL-devel
 %defattr(644,root,root,755)
 %doc docs/*.spec
+%if %{with multigl}
+%attr(755,root,root) %{_libdir}/libGL.so
+%endif
 %dir %{_includedir}/GL
 %{_includedir}/GL/gl.h
 %{_includedir}/GL/glext.h
-%{_includedir}/GL/glfbdev.h
 %{_includedir}/GL/gl_mangle.h
 %{_includedir}/GL/glx.h
 %{_includedir}/GL/glxext.h
 %{_includedir}/GL/glx_mangle.h
-%{_includedir}/GL/osmesa.h
-%{_includedir}/GL/xmesa.h
-%{_includedir}/GL/xmesa_x.h
-%{_includedir}/GL/xmesa_xf86.h
-%if %{with multigl}
-%attr(755,root,root) %{_libdir}/libGL.so
-%endif
-%{_libdir}/libOSMesa.a
+%{_pkgconfigdir}/gl.pc
 
 %files libGL-static
 %defattr(644,root,root,755)
 %{_libdir}/libGL.a
-
-# libOSMesa (currently unusable with DRI libGL; only static version provided)
-#%attr(755,root,root) %{_libdir}/libOSMesa.so.*.*
-#%attr(755,root,root) %ghost %{_libdir}/libOSMesa.so.?
-# -devel
-#%attr(755,root,root) %{_libdir}/libOSMesa.so
-# -static
-#%{_libdir}/libOSMesa.a
+# x11 (non-dri) Mesa API
+%{_includedir}/GL/xmesa.h
+%{_includedir}/GL/xmesa_x.h
+%{_includedir}/GL/xmesa_xf86.h
 
 %files libGLU
 %defattr(644,root,root,755)
@@ -698,6 +771,7 @@
 %attr(755,root,root) %{_libdir}/libGLU.so
 %{_includedir}/GL/glu.h
 %{_includedir}/GL/glu_mangle.h
+%{_pkgconfigdir}/glu.pc
 
 %files libGLU-static
 %defattr(644,root,root,755)
@@ -715,11 +789,26 @@
 %{_includedir}/GL/GLwDrawAP.h
 %{_includedir}/GL/GLwMDrawA.h
 %{_includedir}/GL/GLwMDrawAP.h
+#%{_pkgconfigdir}/glw.pc
 
 %files libGLw-static
 %defattr(644,root,root,755)
 %{_libdir}/libGLw.a
 
+%files libOSMesa
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOSMesa.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOSMesa.so.6
+
+%files libOSMesa-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOSMesa.so
+%{_includedir}/GL/osmesa.h
+
+%files libOSMesa-static
+%defattr(644,root,root,755)
+%{_libdir}/libOSMesa.a
+
 %files utils
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/glxgears
@@ -818,6 +907,16 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.163  2007-12-02 16:26:15  qboosh
+- moved libOSMesa.a to -static as it's usable only with non-dri libGL.a
+- build usable shared libOSMesa
+- updated License tags
+- fixed ffb disabling if building without nouveau
+- package gl,glu pkgconfig files
+- xmesa*.h headers (with x11 non-dri Mesa API) moved to libGL-static
+- dropped glfbdev.h header (fbdev Mesa API - no implementation built)
+- test release 3.1
+
 Revision 1.162  2007-11-25 21:13:44  arekm
 - uh, really nouveau off by default
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/Mesa.spec?r1=1.162&r2=1.163&f=u



More information about the pld-cvs-commit mailing list