SPECS: Mesa.spec - switch to configure + make style; static dropped; some n...
arekm
arekm at pld-linux.org
Fri Apr 3 23:31:09 CEST 2009
Author: arekm Date: Fri Apr 3 21:31:09 2009 GMT
Module: SPECS Tag: HEAD
---- Log message:
- switch to configure + make style; static dropped; some non-dri stuff also dropped
---- Files affected:
SPECS:
Mesa.spec (1.196 -> 1.197)
---- Diffs:
================================================================
Index: SPECS/Mesa.spec
diff -u SPECS/Mesa.spec:1.196 SPECS/Mesa.spec:1.197
--- SPECS/Mesa.spec:1.196 Fri Apr 3 22:01:40 2009
+++ SPECS/Mesa.spec Fri Apr 3 23:31:03 2009
@@ -2,10 +2,12 @@
#
# TODO:
# - subpackage with non-dri libGL for use with X-servers with missing GLX extension?
+# - resurrect static if it's useful
#
# 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 static
#
# minimal supported xserver version
%define xserver_ver 1.5.0
@@ -25,11 +27,14 @@
# Source0-md5: 7ecddb341a2691e0dfdb02f697109834
Source1: http://dl.sourceforge.net/mesa3d/%{name}Demos-%{version}.tar.bz2
# Source1-md5: 02816f10f30b1dc5e069e0f68c177c98
+Source2: http://www.archlinux.org/~jgc/gl-manpages-1.0.1.tar.bz2
+# Source2-md5: 6ae05158e678f4594343f32c2ca50515
Patch0: %{name}-realclean.patch
Patch1: %{name}-git.patch
URL: http://www.mesa3d.org/
BuildRequires: expat-devel
BuildRequires: libdrm-devel >= 2.4.5
+BuildRequires: libselinux-devel
BuildRequires: libstdc++-devel
BuildRequires: libtool >= 2:1.4d
%{?with_motif:BuildRequires: motif-devel}
@@ -583,121 +588,88 @@
Sterownik X.org DRI dla rodziny kart VIA Unichrome.
%prep
-%setup -q -b1
+%setup -q -b1 -a2
%patch0 -p0
%patch1 -p1
# 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
-
-# add swrast driver
-sed -i -e 's/ i810 / swrast i810 /' configs/linux-dri
-
-%ifnarch sparc sparcv9 sparc64
-# for sunffb driver - useful on sparc only
-sed -i -e 's/ ffb\>//' configs/linux-dri
-%endif
-
-%ifnarch %{ix86} %{x8664}
-# sis needs write-memory barrier
-sed -i -e 's/ sis / /' configs/linux-dri
-%endif
-
%build
-# use $lib, not %{_lib} as Mesa uses lib64 only for *-x86-64* targets
-%ifarch %{x8664}
-targ=-x86-64
-lib=lib64
-%else
-lib=lib
-%ifarch %{ix86}
-targ=-x86
-%else
-targ=""
+dri_drivers="i810 i915 i965 mach64 mga r128 r200 r300 radeon savage s3v trident \
+%ifarch sparc sparcv9 sparc64
+ffb \
%endif
+%ifarch %{ix86} %{x8664}
+sis \
%endif
+swrast tdfx unichrome"
-# required for -bc --short-circuit
-%{__make} realclean
-# as above - existing directory makes mv move into instead of rename
-rm -rf lib-{dri,osmesa,static}
-
-%{__make} linux${targ}-static \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcppflags} %{rpmcflags} -fno-strict-aliasing" \
- XLIB_DIR=%{_libdir} \
- GLW_SOURCES="GLwDrawA.c%{?with_motif: GLwMDrawA.c}" \
- SRC_DIRS="mesa glu glw" \
- PROGRAM_DIRS=
-mv -f ${lib} lib-static
-%{__make} realclean
-
-%{__make} linux-osmesa \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- CFLAGS="%{rpmcppflags} %{rpmcflags} -fno-strict-aliasing -fPIC" \
- XLIB_DIR=%{_libdir} \
- SRC_DIRS="mesa" \
- PROGRAM_DIRS=
-mv -f lib lib-osmesa
-%{__make} realclean
-
-%{__make} linux-dri${targ} \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- MKDEP=makedepend \
- OPT_FLAGS="%{rpmcppflags} %{rpmcflags} -fno-strict-aliasing" \
- XLIB_DIR=%{_libdir} \
- DRI_DRIVER_SEARCH_DIR=%{_libdir}/xorg/modules/dri \
- SRC_DIRS="glx/x11 mesa glu glw" \
- PROGRAM_DIRS=
-
-%{__make} -C progs/xdemos \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcppflags} %{rpmcflags}" \
- XLIB_DIR=%{_libdir} \
- PROGS="glxgears" \
- APP_LIB_DEPS="-L../../${lib} -lGL"
-
-%{__make} -C progs/xdemos \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- OPT_FLAGS="%{rpmcppflags} %{rpmcflags}" \
- XLIB_DIR=%{_libdir} \
- PROGS="glxinfo" \
- APP_LIB_DEPS="-L../../${lib} -lGL -lGLU"
-
-mv -f ${lib} lib-dri
-
-for d in mesa glu glw ; do
- for f in src/$d/*.pc.in; do
- %{__make} -C src/$d `basename $f .in` \
- INSTALL_DIR=%{_prefix} \
- LIB_DIR=%{_lib}
- done
-done
+dri_drivers=$(echo $dri_drivers | xargs | tr ' ' ',')
+
+common_flags="\
+ --enable-shared \
+ --enable-selinux \
+ --enable-pic"
+
+# osmesa variants
+%configure $common_flags \
+ --with-driver=osmesa \
+ --disable-asm \
+ --with-osmesa-bits=8
+%{__make} \
+ SRC_DIRS=mesa
+mv %{_lib} osmesa8
+%{__make} clean
+
+%configure $common_flags \
+ --with-driver=osmesa \
+ --disable-asm \
+ --with-osmesa-bits=16
+%{__make} \
+ SRC_DIRS=mesa
+mv %{_lib} osmesa16
+%{__make} clean
+
+%configure $common_flags \
+ --with-driver=osmesa \
+ --disable-asm \
+ --with-osmesa-bits=32
+%{__make} \
+ SRC_DIRS=mesa
+mv %{_lib} osmesa32
+%{__make} clean
+
+%configure $common_flags \
+ --enable-glu \
+ --enable-glw \
+ --with-driver=dri \
+ --with-dri-drivers=${dri_drivers} \
+ --with-dri-driverdir=%{_libdir}/xorg/modules/dri
+
+%{__make}
+%{__make} -C progs/xdemos glxgears glxinfo
+%{__make} -C progs/demos
+
+cd gl-manpages-*
+%configure
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir},%{_includedir}/GL/internal,%{_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[!f]*,osmesa.h*} src/glw/GLw*.h src/mesa/drivers/x11/xmesa*.h $RPM_BUILD_ROOT%{_includedir}/GL
-cp -rf include/GL/internal/dri_interface.h $RPM_BUILD_ROOT%{_includedir}/GL/internal
-cp -df lib-dri/*_dri.so $RPM_BUILD_ROOT%{_libdir}/xorg/modules/dri
-
-install src/mesa/gl.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
-install src/mesa/osmesa.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
-install src/glu/glu.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
-install src/glw/glw.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{_examplesdir}/%{name}-%{version}}
+
+# libs without drivers
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+
+cd gl-manpages-*
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+cd ..
+
+install osmesa*/* $RPM_BUILD_ROOT%{_libdir}
install progs/xdemos/{glxgears,glxinfo} $RPM_BUILD_ROOT%{_bindir}
# work on copy to keep -bi --short-circuit working
@@ -714,6 +686,12 @@
done
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 gg*.h glf*.h
+cd $olddir
+
%if %{with multigl}
install -d $RPM_BUILD_ROOT{%{_libdir}/Mesa,%{_sysconfdir}/ld.so.conf.d}
@@ -766,15 +744,16 @@
%{_includedir}/GL/glx_mangle.h
%dir %{_includedir}/GL/internal
%{_includedir}/GL/internal/dri_interface.h
+%{_pkgconfigdir}/dri.pc
%{_pkgconfigdir}/gl.pc
+%{_datadir}/man/man3/gl[^uX]*.3gl*
+%{_datadir}/man/man3/glX*.3gl*
+%if %{with static}
%files libGL-static
%defattr(644,root,root,755)
%{_libdir}/libGL.a
-# x11 (non-dri) Mesa API
-%{_includedir}/GL/xmesa.h
-%{_includedir}/GL/xmesa_x.h
-%{_includedir}/GL/xmesa_xf86.h
+%endif
%files libGLU
%defattr(644,root,root,755)
@@ -787,10 +766,13 @@
%{_includedir}/GL/glu.h
%{_includedir}/GL/glu_mangle.h
%{_pkgconfigdir}/glu.pc
+%{_datadir}/man/man3/glu*.3gl*
+%if %{with static}
%files libGLU-static
%defattr(644,root,root,755)
%{_libdir}/libGLU.a
+%endif
%files libGLw
%defattr(644,root,root,755)
@@ -806,24 +788,27 @@
%{_includedir}/GL/GLwMDrawAP.h
%{_pkgconfigdir}/glw.pc
+%if %{with static}
%files libGLw-static
%defattr(644,root,root,755)
%{_libdir}/libGLw.a
+%endif
%files libOSMesa
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libOSMesa.so.*.*
-%attr(755,root,root) %ghost %{_libdir}/libOSMesa.so.[0-9]
+%attr(755,root,root) %{_libdir}/libOSMesa*.so.*.*
+%attr(755,root,root) %ghost %{_libdir}/libOSMesa*.so.[0-9]
%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}
%files libOSMesa-static
%defattr(644,root,root,755)
-%{_libdir}/libOSMesa.a
+%{_libdir}/libOSMesa*.a
+%endif
%files utils
%defattr(644,root,root,755)
@@ -920,6 +905,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.197 2009/04/03 21:31:03 arekm
+- switch to configure + make style; static dropped; some non-dri stuff also dropped
+
Revision 1.196 2009/04/03 20:01:40 arekm
- rel 2; fixes from stable 7.4 branch
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/Mesa.spec?r1=1.196&r2=1.197&f=u
More information about the pld-cvs-commit
mailing list