Browse Source

mesa:
- update to 7.10.1
- drop osmesa16 and osmesa32
- build with udev, egl and gles
- enable gallium r600 driver
- add libEGL/libGLES subpackage
- add Patch40 to fix build failure
- BR: libdrm-devel >= 2.4.24
- BR: libudev-devel



git-svn-id: http://trac.vinelinux.org/repos/projects/specs@2995 ec354946-7b23-47d6-9f5a-488ba84defc7

daisuke 13 years ago
parent
commit
39d29d8a51
1 changed files with 204 additions and 39 deletions
  1. 204 39
      m/mesa/mesa-vl.spec

+ 204 - 39
m/mesa/mesa-vl.spec

@@ -12,7 +12,7 @@
 Summary: Mesa graphics libraries
 Summary(ja): Mesa グラフィックスライブラリ
 Name: mesa
-Version: 7.10
+Version: 7.10.1
 Release: 1%{?_dist_release}
 License: MIT
 Group: System Environment/Libraries
@@ -21,7 +21,6 @@ URL: http://www.mesa3d.org
 Source0: ftp://ftp.freedesktop.org/pub/mesa/%{version}/MesaLib-%{version}.tar.bz2
 Source2: %{manpages}.tar.bz2
 Source3: make-git-snapshot.sh
-Source10: nouveau_class.h
 
 Patch3: mesa-7.8-no-mach64.patch
 Patch4: mesa-7.8-nouveau-legacy-enable.patch
@@ -30,13 +29,12 @@ Patch4: mesa-7.8-nouveau-legacy-enable.patch
 
 Patch30: mesa-7.6-hush-vblank-warning.patch
 
-#Patch40: mesa-7.8.2-nouveau-build-fix.patch
-#Patch41: mesa-7.8.2-gallium-build-fix.patch
+Patch40: mesa-7.10.1-buildfix.patch
 
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
 BuildRequires: pkgconfig
 %if %{with_dri}
-BuildRequires: libdrm-devel >= 2.4.23
+BuildRequires: libdrm-devel >= 2.4.24
 %endif
 BuildRequires: libXxf86vm-devel
 BuildRequires: expat-devel >= 2.0
@@ -51,6 +49,7 @@ BuildRequires: libXdamage-devel
 BuildRequires: libXi-devel
 BuildRequires: libXmu-devel
 BuildRequires: libtalloc-devel
+BuildRequires: libudev-devel
 
 %description
 Mesa
@@ -115,6 +114,48 @@ Obsoletes: Mesa-devel, XFree86-gl-devel, XOrg-gl-devel
 Mesa libGLU development package
 
 
+%package libEGL
+Summary: Mesa libEGL runtime libraries
+Summary(ja): Mesa libEGL ランタイムライブラリ
+Group: System Environment/Libraries
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Requires: libdrm >= 2.4.24-1
+
+%description libEGL
+Mesa libEGL runtime libraries
+
+%package libEGL-devel
+Summary: Mesa libEGL development package
+Summary(ja): Mesa libEGL 開発パッケージ
+Group: Development/Libraries
+Requires: mesa-libEGL = %{version}-%{release}
+
+%description libEGL-devel
+Mesa libEGL development package
+
+
+%package libGLES
+Summary: Mesa libGLES runtime libraries
+Summary(ja): Mesa libGLES ランタイムライブラリ
+Group: System Environment/Libraries
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Requires: libdrm >= 2.4.24-1
+
+%description libGLES
+Mesa GLES runtime libraries
+
+%package libGLES-devel
+Summary: Mesa libGLES development package
+Summary(ja): Mesa libGLES 開発パッケージ
+Group: Development/Libraries
+Requires: mesa-libGLES = %{version}-%{release}
+
+%description libGLES-devel
+Mesa libGLES development package
+
+
 %package libOSMesa
 Summary: Mesa offscreen rendering libraries
 Summary(ja): Mesa オフスクリーンレンダリングライブラリ
@@ -209,6 +250,49 @@ Requires: %{name}-libGLU-devel = %{version}-%{release}
 Mesa libGLU development package
 
 
+%package -n compat32-%{name}-libEGL
+Summary: Mesa libEGL runtime libraries
+Summary(ja): Mesa libEGL ランタイムライブラリ
+Group: System Environment/Libraries
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Requires: compat32-libdrm >= 2.4.24-1
+
+%description -n compat32-%{name}-libEGL
+Mesa libEGL runtime libraries
+
+%package -n compat32-%{name}-libEGL-devel
+Summary: Mesa libEGL development package
+Summary(ja): Mesa libEGL 開発パッケージ
+Group: Development/Libraries
+Requires: mesa-libEGL = %{version}-%{release}
+Requires: compat32-mesa-libEGL = %{version}-%{release}
+
+%description -n compat32-%{name}-libEGL-devel
+Mesa libEGL development package
+
+
+%package -n compat32-%{name}-libGLES
+Summary: Mesa libGLES runtime libraries
+Summary(ja): Mesa libGLES ランタイムライブラリ
+Group: System Environment/Libraries
+Requires(post): /sbin/ldconfig
+Requires(postun): /sbin/ldconfig
+Requires: compat32-libdrm >= 2.4.24-1
+
+%description -n compat32-%{name}-libGLES
+Mesa GLES runtime libraries
+
+%package -n compat32-%{name}-libGLES-devel
+Summary: Mesa libGLES development package
+Summary(ja): Mesa libGLES 開発パッケージ
+Group: Development/Libraries
+Requires: mesa-libGLES = %{version}-%{release}
+Requires: compat32-mesa-libGLES = %{version}-%{release}
+
+%description -n compat32-%{name}-libGLES-devel
+Mesa libGLES development package
+
 %package -n compat32-%{name}-libOSMesa
 Summary: Mesa offscreen rendering libraries
 Summary(ja): Mesa オフスクリーンレンダリングライブラリ
@@ -239,10 +323,7 @@ Mesa offscreen rendering development package
 #%patch7 -p1 -b .dricore
 %patch30 -p1 -b .vblank-warning
 
-cp %{SOURCE10} src/mesa/drivers/dri/nouveau
-cp %{SOURCE10} src/gallium/drivers/nouveau
-#%patch40 -p1 -b .build-fix
-#%patch41 -p1 -b .build-fix
+%patch40 -p1 -b .build-fix
 
 %build
 
@@ -255,7 +336,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fvisibility=hidden -O2"
 export CFLAGS="$RPM_OPT_FLAGS -fvisibility=hidden -Os"
 export CXXFLAGS="$RPM_OPT_FLAGS -fvisibility=hidden -Os"
 %endif
-%define common_flags --enable-pic --disable-asm
+%define common_flags --enable-pic --disable-asm --enable-udev
 %define osmesa_flags --with-driver=osmesa --disable-gallium --disable-egl --disable-glu --with-dri-drivers="" %{common_flags}
 
 # first, build the osmesa variants. XXX this is overkill.  osmesa32 is
@@ -267,16 +348,6 @@ make %{_smp_mflags}
 mv %{_lib} osmesa8
 make clean
 
-%configure %{osmesa_flags} --with-osmesa-bits=16
-make %{_smp_mflags}
-mv %{_lib} osmesa16
-make clean
-
-%configure %{osmesa_flags} --with-osmesa-bits=32
-make %{_smp_mflags}
-mv %{_lib} osmesa32
-make clean
-
 # just to be sure...
 [ `find . -name \*.o | wc -l` -eq 0 ] || exit "make cleaner plz"
 
@@ -292,16 +363,22 @@ export CXXFLAGS="$RPM_OPT_FLAGS -Os"
 # now build the rest of mesa
 %configure \
     %{common_flags} \
-    --disable-egl \
     --disable-glw \
     --disable-glut \
     --disable-gl-osmesa \
     --with-driver=%{driver} \
     --with-dri-driverdir=%{_libdir}/dri \
     --with-state-trackers=dri,xorg,glx \
+    --enable-egl \
+    --enable-gles1 \
+    --enable-gles2 \
     --enable-gallium-svga \
     --enable-gallium-nouveau \
-    --enable-gallium-radeon
+    --enable-gallium-radeon \
+    --enable-gallium-r600 \
+    --disable-gallium-intel \
+    --disable-gallium-egl \
+    --disable-gallium-llvm
 
 make #{?_smp_mflags}
 
@@ -319,7 +396,14 @@ make install DESTDIR=$RPM_BUILD_ROOT DRI_DIRS=
 # just the DRI drivers that are sane
 %if %{with_dri}
 install -d $RPM_BUILD_ROOT%{_libdir}/dri
-#install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri %{_lib}/libdricore.so >& /dev/null
+
+#install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri %{_lib}/libllvmcore-2.8.so >& /dev/null
+
+# use gallium driver iff built
+[ -f %{_lib}/gallium/r300_dri.so ] && cp %{_lib}/gallium/r300_dri.so %{_lib}/r300_dri.so
+[ -f %{_lib}/gallium/r600_dri.so ] && cp %{_lib}/gallium/r600_dri.so %{_lib}/r600_dri.so
+[ -f %{_lib}/gallium/swrastg_dri.so ] && mv %{_lib}/gallium/swrastg_dri.so %{_lib}/swrast_dri.so
+
 for f in i810 i915 i965 mach64 mga r128 r200 r300 r600 radeon savage sis swrast tdfx unichrome nouveau_vieux gallium/vmwgfx; do
     so=%{_lib}/${f}_dri.so
     test -e $so && echo $so
@@ -328,15 +412,11 @@ done | xargs install -m 0755 -t $RPM_BUILD_ROOT%{_libdir}/dri >& /dev/null || :
 
 # strip out undesirable headers
 pushd $RPM_BUILD_ROOT%{_includedir}/GL 
-rm -f [a-fh-np-wyz]*.h gg*.h glf*.h glew.h glxew.h
+rm -f [a-fh-np-wyz]*.h glf*.h glut*.h
 popd
 
-# remove EGL stuff
 pushd $RPM_BUILD_ROOT%{_libdir}
-rm -f libEGL*
-popd
-pushd $RPM_BUILD_ROOT%{_libdir}/dri
-rm -f EGL_*.so
+rm -f xorg/modules/drivers/modesetting_drv.so
 popd
 
 # and osmesa
@@ -357,7 +437,15 @@ mkdir -p $RPM_BUILD_ROOT/%{mesasourcedir}
     egrep -v '^src/mesa/drivers/(directfb|dos|fbdev|glide|ggi|osmesa)' |
     egrep -v '^src/mesa/drivers/(windows|dri/[^c])' |
     xargs tar cf - --mode a=r |
-	(cd $RPM_BUILD_ROOT/%{mesasourcedir} && tar xf -)
+       (cd $RPM_BUILD_ROOT/%{mesasourcedir} && tar xf -)
+
+# this keeps breaking, check it early.  note that the exit from eu-ftr is odd.
+pushd $RPM_BUILD_ROOT%{_libdir}
+for i in libOSMesa*.so libGL.so ; do
+    eu-findtextrel $i && exit 1
+done
+popd
+
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -370,6 +458,10 @@ rm -rf $RPM_BUILD_ROOT
 %postun libGLU -p /sbin/ldconfig
 %post libOSMesa -p /sbin/ldconfig
 %postun libOSMesa -p /sbin/ldconfig
+%post libEGL -p /sbin/ldconfig
+%postun libEGL -p /sbin/ldconfig
+%post libGLES -p /sbin/ldconfig
+%postun libGLES -p /sbin/ldconfig
 
 %post -n compat32-%{name}-libGL -p /sbin/ldconfig
 %postun -n compat32-%{name}-libGL -p /sbin/ldconfig
@@ -377,6 +469,10 @@ rm -rf $RPM_BUILD_ROOT
 %postun -n compat32-%{name}-libGLU -p /sbin/ldconfig
 %post -n compat32-%{name}-libOSMesa -p /sbin/ldconfig
 %postun -n compat32-%{name}-libOSMesa -p /sbin/ldconfig
+%post -n compat32-%{name}-libEGL -p /sbin/ldconfig
+%postun -n compat32-%{name}-libEGL -p /sbin/ldconfig
+%post -n compat32-%{name}-libGLES -p /sbin/ldconfig
+%postun -n compat32-%{name}-libGLES -p /sbin/ldconfig
 
 %files libGL
 %defattr(-,root,root,-)
@@ -417,18 +513,53 @@ rm -rf $RPM_BUILD_ROOT
 %{_includedir}/GL/glu_mangle.h
 %{_datadir}/man/man3/glu*.3gl*
 
+%files libEGL
+%defattr(-,root,root,-)
+%doc docs/COPYING
+%{_libdir}/libEGL.so.1
+%{_libdir}/libEGL.so.1.*
+%{_libdir}/egl/egl_glx.so
+%{_libdir}/egl/egl_dri2.so
+
+%files libEGL-devel
+%defattr(-,root,root,-)
+%{_includedir}/EGL/eglext.h
+%{_includedir}/EGL/egl.h
+%{_includedir}/EGL/eglplatform.h
+%{_includedir}/KHR/khrplatform.h
+%{_libdir}/pkgconfig/egl.pc
+%{_libdir}/libEGL.so
+
+%files libGLES
+%defattr(-,root,root,-)
+%doc docs/COPYING
+%{_libdir}/libGLESv1_CM.so.1
+%{_libdir}/libGLESv1_CM.so.1.*
+%{_libdir}/libGLESv2.so.2
+%{_libdir}/libGLESv2.so.2.*
+
+%files libGLES-devel
+%defattr(-,root,root,-)
+%{_includedir}/GLES/egl.h
+%{_includedir}/GLES/gl.h
+%{_includedir}/GLES/glext.h
+%{_includedir}/GLES/glplatform.h
+%{_includedir}/GLES2/gl2platform.h
+%{_includedir}/GLES2/gl2.h
+%{_includedir}/GLES2/gl2ext.h
+%{_libdir}/pkgconfig/glesv1_cm.pc
+%{_libdir}/pkgconfig/glesv2.pc
+%{_libdir}/libGLESv1_CM.so
+%{_libdir}/libGLESv2.so
+
 %files libOSMesa
 %defattr(-,root,root,-)
 %{_libdir}/libOSMesa.so.7*
-%{_libdir}/libOSMesa16.so.7*
-%{_libdir}/libOSMesa32.so.7*
 
 %files libOSMesa-devel
 %defattr(-,root,root,-)
 %{_includedir}/GL/osmesa.h
 %{_libdir}/libOSMesa.so
-%{_libdir}/libOSMesa16.so
-%{_libdir}/libOSMesa32.so
 
 # We constructed this dir carefully, so just slurp in the whole thing.
 %files source
@@ -447,7 +578,6 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libGL.so.1.2
 %if %{with_dri}
 %dir %{_libdir}/dri
-#%{_libdir}/dri/libdricore.so
 %{_libdir}/dri/*_dri.so
 %endif
 
@@ -470,17 +600,52 @@ rm -rf $RPM_BUILD_ROOT
 %files -n compat32-%{name}-libOSMesa
 %defattr(-,root,root,-)
 %{_libdir}/libOSMesa.so.7*
-%{_libdir}/libOSMesa16.so.7*
-%{_libdir}/libOSMesa32.so.7*
 
 %files -n compat32-%{name}-libOSMesa-devel
 %defattr(-,root,root,-)
 %{_libdir}/libOSMesa.so
-%{_libdir}/libOSMesa16.so
-%{_libdir}/libOSMesa32.so
+
+%files -n compat32-%{name}-libEGL
+%defattr(-,root,root,-)
+%doc docs/COPYING
+%{_libdir}/libEGL.so.1
+%{_libdir}/libEGL.so.1.*
+%{_libdir}/egl/egl_glx.so
+%{_libdir}/egl/egl_dri2.so
+
+%files -n compat32-%{name}-libEGL-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/egl.pc
+%{_libdir}/libEGL.so
+
+%files -n compat32-%{name}-libGLES
+%defattr(-,root,root,-)
+%doc docs/COPYING
+%{_libdir}/libGLESv1_CM.so.1
+%{_libdir}/libGLESv1_CM.so.1.*
+%{_libdir}/libGLESv2.so.2
+%{_libdir}/libGLESv2.so.2.*
+
+%files -n compat32-%{name}-libGLES-devel
+%defattr(-,root,root,-)
+%{_libdir}/pkgconfig/glesv1_cm.pc
+%{_libdir}/pkgconfig/glesv2.pc
+%{_libdir}/libGLESv1_CM.so
+%{_libdir}/libGLESv2.so
+
 %endif
 
 %changelog
+* Fri Mar 11 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 7.10.1-1
+- update to 7.10.1
+- drop osmesa16 and osmesa32
+- build with udev, egl and gles
+- enable gallium r600 driver
+- add libEGL/libGLES subpackage
+- add Patch40 to fix build failure
+- BR: libdrm-devel >= 2.4.24
+- BR: libudev-devel
+
 * Fri Jan 28 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 7.10-1
 - update to 7.10
 - split mesa-demos and glx-utils to their own source package.