packages (DEVEL): Mesa/Mesa.spec - spec from HEAD adapted for DEVEL purposes

arekm arekm at pld-linux.org
Fri Feb 10 13:36:20 CET 2012


Author: arekm                        Date: Fri Feb 10 12:36:20 2012 GMT
Module: packages                      Tag: DEVEL
---- Log message:
- spec from HEAD adapted for DEVEL purposes

---- Files affected:
packages/Mesa:
   Mesa.spec (1.263.2.49 -> 1.263.2.50) 

---- Diffs:

================================================================
Index: packages/Mesa/Mesa.spec
diff -u packages/Mesa/Mesa.spec:1.263.2.49 packages/Mesa/Mesa.spec:1.263.2.50
--- packages/Mesa/Mesa.spec:1.263.2.49	Thu Feb  9 09:38:22 2012
+++ packages/Mesa/Mesa.spec	Fri Feb 10 13:36:14 2012
@@ -1,6 +1,9 @@
 # $Revision$, $Date$
 #
 # TODO:
+# - consider:
+#   --enable-shared-glapi (for libGL; required if the same app uses GL and GLES)
+#   --enable-shared-dricore
 # - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
 # - resurrect static if it's useful
 #
@@ -9,8 +12,6 @@
 %bcond_without	gallium	# don't build gallium
 %bcond_with	gallium_intel	# gallium i915 driver (but doesn't work with AIGLX)
 %bcond_without	gallium_nouveau	# gallium nouveau driver
-%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_without	osmesa	# don't build osmesa
 %bcond_without	gbm	# with Graphics Buffer Manager
 %bcond_with	static_libs	# static libraries
@@ -32,9 +33,10 @@
 Summary(pl.UTF-8):	Wolnodostępna implementacja standardu OpenGL
 Name:		Mesa
 Version:	8.0
-Release:	0.%{snap}.1%{?with_multigl:.mgl}
+Release:	1
 License:	MIT (core), SGI (GLU) and others - see license.html file
 Group:		X11/Libraries
+#Source0:	ftp://ftp.freedesktop.org/pub/mesa/%{version}/%{name}Lib-%{version}.tar.bz2
 Source0:	%{name}Lib-%{snap}.tar.bz2
 # Source0-md5:	8c2f1afb5fcae32ebfd5e3153ed7111b
 Patch0:		%{name}-realclean.patch
@@ -42,6 +44,7 @@
 BuildRequires:	autoconf >= 2.59
 BuildRequires:	automake
 BuildRequires:	expat-devel
+BuildRequires:	gcc >= 5:3.3
 BuildRequires:	libdrm-devel >= %{libdrm_ver}
 BuildRequires:	libselinux-devel
 BuildRequires:	libstdc++-devel >= 5:3.3.0
@@ -49,7 +52,6 @@
 BuildRequires:	libtool >= 2:1.4d
 BuildRequires:	libvdpau-devel
 BuildRequires:	llvm-devel >= 2.9
-%{?with_motif:BuildRequires:	motif-devel}
 BuildRequires:	pixman-devel
 BuildRequires:	pkgconfig
 BuildRequires:	pkgconfig(talloc) >= 2.0.1
@@ -86,7 +88,7 @@
 %endif
 
 # _glapi_tls_Dispatch is defined in libglapi, but it's some kind of symbol ldd -r doesn't notice(?)
-%define		skip_post_check_so	libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libXvMCnouveau.so.1.* libXvMCr300.so.1.*  libXvMCr600.so.1.* libXvMCsoftpipe.so.1.* libvdpau_nouveau.so.1.*
+%define		skip_post_check_so      libGLESv1_CM.so.1.* libGLESv2.so.2.* libGL.so.1.* libXvMCnouveau.so.1.* libXvMCr300.so.1.*  libXvMCr600.so.1.* libXvMCsoftpipe.so.1.* libvdpau_nouveau.so.1.*
 
 %description
 Mesa is a 3-D graphics library with an API which is very similar to
@@ -108,8 +110,14 @@
 Summary(pl.UTF-8):	Implementacja Mesa biblioteki interfejsu EGL
 License:	MIT
 Group:		Libraries
+# glx driver in libEGL dlopens libGL.so
 Requires:	OpenGL >= 1.2
+Requires:	libdrm >= %{libdrm_ver}
+%if %{with gallium}
+# for egl_gallium.so
+Requires:	Mesa-libOpenVG = %{version}-%{release}
 Requires:	udev-libs >= 150
+%endif
 Provides:	EGL = 1.4
 
 %description libEGL
@@ -129,8 +137,14 @@
 License:	MIT
 Group:		Development/Libraries
 Requires:	%{name}-libEGL = %{version}-%{release}
-Requires:	OpenGL-devel >= 1.2
-Requires:	libstdc++-devel
+Requires:	libdrm-devel >= %{libdrm_ver}
+Requires:	xorg-lib-libX11-devel
+Requires:	xorg-lib-libXdamage-devel
+Requires:	xorg-lib-libXext-devel
+Requires:	xorg-lib-libXfixes-devel
+Requires:	xorg-lib-libXxf86vm-devel
+Requires:	xorg-proto-dri2proto-devel >= %{dri2proto_ver}
+Requires:	xorg-proto-glproto-devel >= %{glproto_ver}
 Provides:	EGL-devel = 1.4
 
 %description libEGL-devel
@@ -140,39 +154,18 @@
 Pliki nagłówkowe implementacji Mesa biblioteki EGL.
 
 %package libEGL-static
-Summary:	Static SGI libEGL library
-Summary(pl.UTF-8):	Statyczna biblioteka SGI libEGL
+Summary:	Static Mesa EGL library
+Summary(pl.UTF-8):	Statyczna biblioteka Mesa EGL
 License:	MIT
 Group:		Development/Libraries
 Requires:	%{name}-libEGL-devel = %{version}-%{release}
 Provides:	EGL-static = 1.4
 
 %description libEGL-static
-Static Mesa libEGL library.
+Static Mesa EGL library.
 
 %description libEGL-static -l pl.UTF-8
-Statyczna biblioteka Mesa libEGL.
-
-%package libGLES
-Summary:	Mesa libGLES runtime libraries
-Group:		Libraries
-
-%description libGLES
-Mesa GLES runtime libraries.
-
-%description libGLES -l pl.UTF-8
-Biblioteka Mesa GLES.
-
-%package libGLES-devel
-Summary:	Header files for libGLES library
-Group:		Development/Libraries
-Requires:	%{name}-libGLES = %{version}-%{release}
-
-%description libGLES-devel
-Header files for libGLES library.
-
-%description libGLES-devel -l pl.UTF-8
-Pliki nagłówkowe biblioteki libGLES.
+Statyczna biblioteka Mesa EGL.
 
 %package libGL
 Summary:	Free Mesa3D implementation of libGL OpenGL library
@@ -181,7 +174,6 @@
 Group:		X11/Libraries
 Requires:	libdrm >= %{libdrm_ver}
 Provides:	OpenGL = 2.1
-# reports version 1.3, but supports glXGetProcAddress() from 1.4
 Provides:	OpenGL-GLX = 1.4
 Obsoletes:	Mesa
 Obsoletes:	Mesa-dri
@@ -256,6 +248,42 @@
 Statyczna biblioteka libGL z projektu Mesa3D. Używa programowego
 renderingu.
 
+%package libGLES
+Summary:	Mesa implementation of GLES (OpenGL ES) libraries
+Summary(pl.UTF-8):	Implementacja Mesa bibliotek GLES (OpenGL ES)
+Group:		Libraries
+# only for libglapi.so.0
+Requires:	%{name}-libEGL = %{version}-%{release}
+
+%description libGLES
+This package contains shared libraries of Mesa implementation of GLES
+(OpenGL ES) - cross-platform API for full-function 2D and 3D graphics
+on embedded systems. OpenGL ES specification can be found on Khronos
+Group site: <http://www.khronos.org/opengles/>. Mesa implements OpenGL
+ES 1.1 and 2.0.
+
+%description libGLES -l pl.UTF-8
+Ten pakiet zawiera biblioteki współdzielone implementacji Mesa
+standardu GLES (OpenGL ES) - wieloplatformowego API do w pełni
+funkcjonalnej grafiki 2D i 3D na systemach wbudowanych. Specyfikację
+OpenGL ES można znaleźć na stronie Khronos Group:
+<http://www.khronos.org/opengles/>. Mesa zawiera implementacją OpenGL
+ES 1.1 i 2.0.
+
+%package libGLES-devel
+Summary:	Header files for Mesa GLES libraries
+Summary(pl.UTF-8):	Pliki nagłówkowe bibliotek Mesa GLES
+Group:		Development/Libraries
+# EGL for libglapi.so, <KHR/khrplatform.h> always required, <EGL/egl.h> for <GLES/egl.h>
+Requires:	%{name}-libEGL-devel = %{version}-%{release}
+Requires:	%{name}-libGLES = %{version}-%{release}
+
+%description libGLES-devel
+Header files for Mesa GLES libraries.
+
+%description libGLES-devel -l pl.UTF-8
+Pliki nagłówkowe bibliotek Mesa GLES.
+
 %package libGLU
 Summary:	SGI implementation of libGLU OpenGL library
 Summary(pl.UTF-8):	Implementacja SGI biblioteki libGLU ze standardu OpenGL
@@ -327,6 +355,7 @@
 Requires:	%{name}-libOSMesa = %{version}-%{release}
 # for <GL/gl.h> only
 Requires:	OpenGL-devel
+Requires:	libselinux-devel
 
 %description libOSMesa-devel
 Header file for OSMesa (off-screen renderer) library.
@@ -350,32 +379,41 @@
 Biblioteka statyczna OSMesa (renderująca bitmapy w pamięci).
 
 %package libOpenVG
-Summary:	OpenVG API implementation
-Summary(pl.UTF-8):	Implementacja API OpenVG
+Summary:	Mesa implementation of OpenVG (Vector Graphics Accelleration) API
+Summary(pl.UTF-8):	Implementacja Mesa API OpenVG (akceleracji grafiki wektorowej)
 License:	MIT
 Group:		Libraries
 # doesn't require base
 
 %description libOpenVG
-OpenVG API implementation.
+This package contains Mesa implementation of OpenVG - cross-platform
+API that provides a low-level hardware acceleration interface for
+vector graphics libraries such as Flash and SVG. OpenVG specification
+can be found on Khronos Group site: <http://www.khronos.org/openvg/>.
+Mesa implements OpenVG 1.1.
 
 %description libOpenVG -l pl.UTF-8
-Implementacja API OpenVG.
+Ten pakiet zawiera implementację Mesa standardu OpenVG -
+wieloplatfomowego API zapewniającego niskopoziomowy interfejs
+akceleracji sprzętowej dla bibliotek grafiki wektorowej, takiej jak
+Flash czy SVG. Specyfikację OpenVG można znaleźć na stronie Khronos
+Group: <http://www.khronos.org/openvg/>. Mesa zawiera implementację
+OpenVG w wersji 1.1.
 
 %package libOpenVG-devel
-Summary:	Header file for libOpenVG library
-Summary(pl.UTF-8):	Plik nagłówkowy biblioteki libOpenVG
+Summary:	Header file for Mesa OpenVG library
+Summary(pl.UTF-8):	Plik nagłówkowy biblioteki Mesa OpenVG
 License:	MIT
 Group:		Development/Libraries
-# for <KHR/khrplatform.h>
+# EGL headers for <KHR/khrplatform.h>
 Requires:	%{name}-libEGL-devel = %{version}-%{release}
 Requires:	%{name}-libOpenVG = %{version}-%{release}
 
 %description libOpenVG-devel
-Header file for libOpenVG library.
+Header file for Mesa OpenVG library.
 
 %description libOpenVG-devel -l pl.UTF-8
-Plik nagłówkowy biblioteki libOpenVG.
+Plik nagłówkowy biblioteki Mesa OpenVG.
 
 %package libXvMC
 Summary:	XvMC implementations
@@ -390,19 +428,6 @@
 %description libXvMC -l pl.UTF-8
 Implementacje API libXvMC.
 
-%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
-
-%description utils
-OpenGL utilities from Mesa3D: glxgears and glxinfo.
-
-%description utils -l pl.UTF-8
-Programy narzędziowe OpenGL z projektu Mesa3D: glxgears i glxinfo.
-
 %package dri-driver-ati-radeon-R100
 Summary:	X.org DRI driver for ATI R100 card family
 Summary(pl.UTF-8):	Sterownik X.org DRI dla rodziny kart ATI R100
@@ -588,7 +613,7 @@
 Sterownik Mesa dla API vdpau.
 
 # llvm build broken
-%define		filterout_ld	-Wl,--as-needed
+%define		filterout_ld    -Wl,--as-needed
 
 %prep
 %setup -q
@@ -596,7 +621,7 @@
 
 %build
 if [ -x autogen.sh ]; then
-	./autogen.sh
+        ./autogen.sh
 else
 	%{__aclocal}
 	%{__autoconf}
@@ -629,40 +654,39 @@
 
 common_flags="\
 	--enable-shared \
-	--enable-selinux \
-	--enable-pic \
 	--enable-glx-tls \
-%if %{with egl}
-	--enable-egl \
-	--enable-gles1 \
-	--enable-gles2 \
-%endif
+	--enable-pic \
+	--enable-selinux \
+	%{?with_static_libs:--enable-static} \
 "
 
 osmesa_common_flags="\
 	--with-driver=osmesa \
 	--disable-asm \
-	--disable-glu \
-	--disable-egl"
+	--disable-egl \
+	--disable-glu"
 
 %if %{with osmesa}
 %configure $common_flags $osmesa_common_flags \
 	--with-osmesa-bits=8
 %{__make}
+%{__make} -C src/mesa osmesa.pc
 mv %{_lib} osmesa8
+cp -p src/mesa/osmesa.pc osmesa8
 %{__make} clean
 %endif
 
 %configure $common_flags \
 	--enable-shared-glapi \
+	%{__enable gbm} \
 %if %{with egl}
 	--enable-egl \
 	--enable-gles1 \
 	--enable-gles2 \
-	%{__enable gbm} \
 %endif
 %if %{with gallium}
 	--enable-openvg \
+	--enable-gallium-llvm \
 	%{__enable egl gallium-egl} \
 	%{__enable gbm gallium-gbm} \
 	--enable-vdpau \
@@ -680,33 +704,21 @@
 %install
 rm -rf $RPM_BUILD_ROOT
 
-install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
-
 # libs without drivers
 %{__make} install \
 	DESTDIR=$RPM_BUILD_ROOT
 
 %if %{with osmesa}
-cp -dp osmesa8/libOSMesa* $RPM_BUILD_ROOT%{_libdir}
+cp -p osmesa8/libOSMesa* $RPM_BUILD_ROOT%{_libdir}
+cp -p osmesa8/osmesa.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
 %endif
 
-rm -rf $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}/*/{.deps,CVS,Makefile.{BeOS*,win,cygnus,DJ,dja}}
-
 # strip out undesirable headers
-olddir=$(pwd)
-cd $RPM_BUILD_ROOT%{_includedir}/GL
-rm [a-fh-np-wyz]*.h
-cd $RPM_BUILD_ROOT%{_libdir}
-cd $olddir
-
-%if %{with multigl}
-install -d $RPM_BUILD_ROOT{%{_libdir}/Mesa,%{_sysconfdir}/ld.so.conf.d}
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/GL/{vms_x_fix,wglext,wmesa}.h
 
-mv -f $RPM_BUILD_ROOT%{_libdir}/libGL.so.* $RPM_BUILD_ROOT%{_libdir}/Mesa
-ln -sf Mesa/libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
-
-echo %{_libdir}/Mesa >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/Mesa.conf
-%endif
+# remove "OS ABI: Linux 2.4.20" tag, so private copies (nvidia or fglrx),
+# set up via /etc/ld.so.conf.d/*.conf will be preferred over this
+strip -R .note.ABI-tag $RPM_BUILD_ROOT%{_libdir}/libGL.so.*.*
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -737,6 +749,8 @@
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libEGL.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libEGL.so.1
+%attr(755,root,root) %{_libdir}/libglapi.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libglapi.so.0
 %if %{with gbm}
 %dir %{_libdir}/gbm
 %attr(755,root,root) %{_libdir}/libgbm.so.*.*
@@ -745,7 +759,6 @@
 %if %{with gallium}
 %dir %{_libdir}/egl
 %attr(755,root,root) %{_libdir}/egl/egl_gallium.so
-#%attr(755,root,root) %{_libdir}/egl/st_GL.so
 %attr(755,root,root) %{_libdir}/gbm/pipe_r300.so
 %attr(755,root,root) %{_libdir}/gbm/pipe_r600.so
 %if %{with gbm}
@@ -755,8 +768,8 @@
 %attr(755,root,root) %{_libdir}/gbm/pipe_nouveau.so
 %endif
 %if %{with gallium_intel}
-%attr(755,root,root) %{_libdir}/gbm/pipe_i915.so
-%attr(755,root,root) %{_libdir}/gbm/pipe_i965.so
+%attr(755,root,root) %{_libdir}/egl/pipe_i915.so
+%attr(755,root,root) %{_libdir}/egl/pipe_i965.so
 %endif
 %endif
 %endif
@@ -764,6 +777,7 @@
 %files libEGL-devel
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libEGL.so
+%attr(755,root,root) %{_libdir}/libglapi.so
 %dir %{_includedir}/EGL
 %{_includedir}/EGL/egl.h
 %{_includedir}/EGL/eglext.h
@@ -788,28 +802,15 @@
 %files libGL
 %defattr(644,root,root,755)
 %doc docs/{*.html,README.{MITS,QUAKE,THREADS},RELNOTES*}
-%attr(755,root,root) %{_libdir}/libglapi.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libglapi.so.0
-%if %{with multigl}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/Mesa.conf
-%dir %{_libdir}/Mesa
-%attr(755,root,root) %{_libdir}/Mesa/libGL.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/Mesa/libGL.so.1
-%else
 %attr(755,root,root) %{_libdir}/libGL.so.*.*
 %attr(755,root,root) %ghost %{_libdir}/libGL.so.1
 # symlink for binary apps which fail to conform Linux OpenGL ABI
-# (and dlopen libGL.so instead of libGL.so.1)
+# (and dlopen libGL.so instead of libGL.so.1; the same does Mesa libEGL)
 %attr(755,root,root) %{_libdir}/libGL.so
-%endif
 
 %files libGL-devel
 %defattr(644,root,root,755)
 %doc docs/*.spec
-%attr(755,root,root) %{_libdir}/libglapi.so
-%if %{with multigl}
-%attr(755,root,root) %{_libdir}/libGL.so
-%endif
 %dir %{_includedir}/GL
 %{_includedir}/GL/gl.h
 %{_includedir}/GL/glext.h
@@ -822,23 +823,27 @@
 %{_pkgconfigdir}/dri.pc
 %{_pkgconfigdir}/gl.pc
 
+%if %{with static_libs}
+%files libGL-static
+%defattr(644,root,root,755)
+%{_libdir}/libGL.a
+%endif
+
 %files libGLES
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libGLES*.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libGLES*.so.[0-9]
+%attr(755,root,root) %{_libdir}/libGLESv1_CM.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGLESv1_CM.so.1
+%attr(755,root,root) %{_libdir}/libGLESv2.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libGLESv2.so.2
 
 %files libGLES-devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libGLES*.so
+%attr(755,root,root) %{_libdir}/libGLESv1_CM.so
+%attr(755,root,root) %{_libdir}/libGLESv2.so
 %{_includedir}/GLES
 %{_includedir}/GLES2
-%{_pkgconfigdir}/gles*.pc
-
-%if %{with static_libs}
-%files libGL-static
-%defattr(644,root,root,755)
-%{_libdir}/libGL.a
-%endif
+%{_pkgconfigdir}/glesv1_cm.pc
+%{_pkgconfigdir}/glesv2.pc
 
 %files libGLU
 %defattr(644,root,root,755)
@@ -861,31 +866,32 @@
 %if %{with osmesa}
 %files libOSMesa
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libOSMesa*.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libOSMesa*.so.8
+%attr(755,root,root) %{_libdir}/libOSMesa.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOSMesa.so.8
 
 %files libOSMesa-devel
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libOSMesa*.so
+%attr(755,root,root) %{_libdir}/libOSMesa.so
 %{_includedir}/GL/osmesa.h
+%{_pkgconfigdir}/osmesa.pc
 
 %if %{with static_libs}
 %files libOSMesa-static
 %defattr(644,root,root,755)
-%{_libdir}/libOSMesa*.a
+%{_libdir}/libOSMesa.a
 %endif
 %endif
 
 %if %{with gallium}
 %files libOpenVG
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenVG.so.*.*.*
 %attr(755,root,root) %ghost %{_libdir}/libOpenVG.so.1
-%attr(755,root,root) %{_libdir}/libOpenVG.so.1.0.0
 
 %files libOpenVG-devel
 %defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libOpenVG.so
 %{_includedir}/VG
-%{_libdir}/libOpenVG.so
 %{_pkgconfigdir}/vg.pc
 %endif
 
@@ -938,16 +944,14 @@
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/i965_dri.so
 %if %{with gallium_intel}
-#%attr(755,root,root) %{_libdir}/xorg/modules/drivers/i965g_drv.so
+%attr(755,root,root) %{_libdir}/xorg/modules/drivers/i965g_drv.so
 %endif
 
-%if %{with gallium}
 %if %{with gallium_nouveau}
 %files dri-driver-nouveau
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/xorg/modules/dri/nouveau_dri.so
 %endif
-%endif
 
 %files dri-driver-swrast
 %defattr(644,root,root,755)
@@ -981,6 +985,9 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.263.2.50  2012/02/10 12:36:14  arekm
+- spec from HEAD adapted for DEVEL purposes
+
 Revision 1.263.2.49  2012/02/09 08:38:22  arekm
 - up to 20120209; almost final
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/Mesa/Mesa.spec?r1=1.263.2.49&r2=1.263.2.50&f=u



More information about the pld-cvs-commit mailing list