summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMun, Gwan-gyeong <kk.moon@samsung.com>2016-01-19 22:07:12 +0900
committerMun, Gwan-gyeong <kk.moon@samsung.com>2016-01-26 13:35:24 +0900
commit4d041de308eb971f03ef3ceaa224d50ece0c9d2d (patch)
tree403eb58ece8b4451cc83939b262cbaca720241e2
parenta85bfe8b641040944bb6f19dc3041d86ec2316bf (diff)
downloadmesa-4d041de308eb971f03ef3ceaa224d50ece0c9d2d.tar.gz
mesa-4d041de308eb971f03ef3ceaa224d50ece0c9d2d.tar.bz2
mesa-4d041de308eb971f03ef3ceaa224d50ece0c9d2d.zip
Coregl package provide libGLES, liEGL wrapper. and Coregl dynamically load real driver from /usr/lib/driver Remove GL/EGL header files from devel package. : CoreGL provide GL/EGL header file. Change-Id: I37e91bd4db1729a8952f94883e42111f66eca9a3
-rw-r--r--packaging/mesa.spec372
1 files changed, 48 insertions, 324 deletions
diff --git a/packaging/mesa.spec b/packaging/mesa.spec
index 3037da46a06..79b8059c8eb 100644
--- a/packaging/mesa.spec
+++ b/packaging/mesa.spec
@@ -52,6 +52,12 @@ BuildRequires: pkgconfig(wayland-server)
%endif
Provides: Mesa = %{version}
+%if "%{_with_emulator}" == "1"
+ExclusiveArch:
+%else
+ExclusiveArch: %{ix86} x86_64
+%endif
+
%description
Mesa is a 3-D graphics library with an API which is very similar to
that of OpenGL.* To the extent that Mesa utilizes the OpenGL command
@@ -69,18 +75,6 @@ just Mesa or The Mesa 3-D graphics library.
%package devel
Summary: Libraries, includes and more to develop Mesa applications
-Requires: mesa = %{version}
-Requires: mesa-libEGL-devel = %{version}
-Requires: mesa-libGLESv1_CM-devel = %{version}
-Requires: mesa-libGLESv2-devel = %{version}
-Requires: mesa-libglapi = %{version}
-Requires: libgbm-devel
-%if %{with wayland}
-Requires: libwayland-egl
-%endif
-%if %{with x}
-Requires: mesa-libGL-devel = %{version}
-%endif
%description devel
Mesa is a 3-D graphics library with an API which is very similar to
@@ -97,200 +91,17 @@ just Mesa or The Mesa 3-D graphics library.
* OpenGL is a trademark of Silicon Graphics Incorporated.
-%if %{with x}
-%package -n mesa-libGL
-Summary: Free implementation of the desktop GL API
-
-%description -n mesa-libGL
-This package contains the GL native platform graphics interface
-library. GL provides a desktop-oriented API for creating
-rendering surfaces. It depends on X11.
-
-%package -n mesa-libGL-devel
-Summary: Development files for the desktop GL API
-Requires: mesa-libGL = %{version}
-
-%description -n mesa-libGL-devel
-This package contains the GL native platform graphics interface
-library. GL provides a desktop-oriented API for creating
-rendering surfaces. It depends on X11.
-
-This package provides the development environment for compiling
-programs against the GL library.
-%endif
-
%package -n libwayland-egl
Summary: Wayland EGL backend
%description -n libwayland-egl
Wayland EGL backend for Mesa.
-%package -n mesa-libEGL
-# Kudos to Debian for the descriptions
-Summary: Free implementation of the EGL API
-
-%description -n mesa-libEGL
-This package contains the EGL native platform graphics interface
-library. EGL provides a platform-agnostic mechanism for creating
-rendering surfaces for use with other graphics libraries, such as
-OpenGL|ES and OpenVG.
-
-This package contains modules to interface with the existing system
-GLX or DRI2 drivers to provide OpenGL via EGL. The Mesa main package
-provides drivers to provide hardware-accelerated OpenGL|ES and OpenVG
-support.
-
-%package -n mesa-libEGL-devel
-Summary: Development files for the EGL API
-Requires: mesa-libEGL = %{version}
-# Other requires taken care of by pkgconfig already
-
-%description -n mesa-libEGL-devel
-This package contains the development environment required for
-compiling programs against EGL native platform graphics interface
-library. EGL provides a platform-agnostic mechanism for creating
-rendering surfaces for use with other graphics libraries, such as
-OpenGL|ES and OpenVG.
-
-This package provides the development environment for compiling
-programs against the EGL library.
-
-%ifarch %ix86 x86_64
-%package -n mesa-gallium-pipe
-# Kudos to Debian for the descriptions
-Summary: Gallium-pipe API
-
-%description -n mesa-gallium-pipe
-Gallium
-
-%package -n libxatracker
-Summary: XA state tracker
-Group: System/Libraries
-Provides: xatracker
-
-%description -n libxatracker
-This package contains the XA state tracker for gallium3D driver.
-It superseeds the Xorg state tracker and provides an infrastructure
-to accelerate Xorg 2D operations. It is currently used by vmwgfx
-video driver.
-
-%package -n libxatracker-devel
-Summary: Development files for the XA API
-Group: Development/Libraries/C and C++
-Requires: libxatracker = %version
-
-%description -n libxatracker-devel
-This package contains the XA state tracker for gallium3D driver.
-It superseeds the Xorg state tracker and provides an infrastructure
-to accelerate Xorg 2D operations. It is currently used by vmwgfx
-video driver.
-
-This package provides the development environment for compiling
-programs against the XA state tracker.
-%endif
-
-%package -n mesa-libGLESv1_CM
-Summary: Free implementation of the OpenGL|ES 1.x API
-
-%description -n mesa-libGLESv1_CM
-OpenGL|ES is a cross-platform API for full-function 2D and 3D
-graphics on embedded systems - including consoles, phones, appliances
-and vehicles. It contains a subset of OpenGL plus a number of
-extensions for the special needs of embedded systems.
-
-OpenGL|ES 1.x provides an API for fixed-function hardware.
-
-%package -n mesa-libGLESv1_CM-devel
-Summary: Development files for the EGL API
-Requires: mesa-libGLESv1_CM = %{version}
-Requires: pkgconfig(egl)
-
-%description -n mesa-libGLESv1_CM-devel
-OpenGL|ES is a cross-platform API for full-function 2D and 3D
-graphics on embedded systems - including consoles, phones, appliances
-and vehicles. It contains a subset of OpenGL plus a number of
-extensions for the special needs of embedded systems.
-
-OpenGL|ES 1.x provides an API for fixed-function hardware.
-
-This package provides a development environment for building programs
-using the OpenGL|ES 1.x APIs.
-
-%package -n mesa-libGLESv2
-Summary: Free implementation of the OpenGL|ES 2.x API
-
-%description -n mesa-libGLESv2
-OpenGL|ES is a cross-platform API for full-function 2D and 3D
-graphics on embedded systems - including consoles, phones, appliances
-and vehicles. It contains a subset of OpenGL plus a number of
-extensions for the special needs of embedded systems.
-
-OpenGL|ES 2.x provides an API for programmable hardware including
-vertex and fragment shaders.
-
-%package -n mesa-libGLESv2-devel
-Summary: Development files for the EGL API
-Requires: mesa-libGLESv2 = %{version}
-Requires: pkgconfig(egl)
+%package -n libwayland-egl-devel
+Summary: Development files for use with Wayland protocol
-%description -n mesa-libGLESv2-devel
-OpenGL|ES is a cross-platform API for full-function 2D and 3D
-graphics on embedded systems - including consoles, phones, appliances
-and vehicles. It contains a subset of OpenGL plus a number of
-extensions for the special needs of embedded systems.
-
-OpenGL|ES 2.x provides an API for programmable hardware including
-vertex and fragment shaders.
-
-This package provides a development environment for building
-applications using the OpenGL|ES 2.x APIs.
-
-%package -n mesa-libGLESv3-devel
-Summary: Development files for the OpenGL ES 3.x API
-Requires: pkgconfig(egl)
-
-%description -n mesa-libGLESv3-devel
-OpenGL|ES is a cross-platform API for full-function 2D and 3D
-graphics on embedded systems - including consoles, phones, appliances
-and vehicles. It contains a subset of OpenGL plus a number of
-extensions for the special needs of embedded systems.
-
-This package provides a development environment for building
-applications using the OpenGL|ES 3.x APIs.
-
-%package -n libgbm
-Summary: Generic buffer management API
-
-%description -n libgbm
-This package contains the GBM buffer management library. It provides
-a mechanism for allocating buffers for graphics rendering tied to
-Mesa.
-
-GBM is intended to be used as a native platform for EGL on drm or
-openwfd.
-
-%package -n libgbm-devel
-Summary: Development files for the EGL API
-Requires: libgbm = %{version}
-
-%description -n libgbm-devel
-This package contains the GBM buffer management library. It provides
-a mechanism for allocating buffers for graphics rendering tied to
-Mesa.
-
-GBM is intended to be used as a native platform for EGL on drm or
-openwfd.
-
-This package provides the development environment for compiling
-programs against the GBM library.
-
-%package -n mesa-libglapi
-Summary: Free implementation of the GL API
-
-%description -n mesa-libglapi
-The Mesa GL API module is responsible for dispatching all the gl*
-functions. It is intended to be mainly used by the Mesa-libGLES*
-packages.
+%description -n libwayland-egl-devel
+Development files for use with Wayland protocol
%prep
%setup -q
@@ -358,6 +169,29 @@ install -m 644 $RPM_SOURCE_DIR/README.updates \
mkdir -p %{buildroot}/etc
install -m 644 $RPM_SOURCE_DIR/drirc %{buildroot}/etc
+# remove include files
+rm -rf %{buildroot}%{_includedir}/EGL
+rm -rf %{buildroot}%{_includedir}/GLES
+rm -rf %{buildroot}%{_includedir}/GLES2
+rm -rf %{buildroot}%{_includedir}/GLES3
+rm -rf %{buildroot}%{_includedir}/KHR
+rm -f %{buildroot}%{_includedir}/gbm.h
+rm -f %{buildroot}%{_includedir}/xa_composite.h
+rm -f %{buildroot}%{_includedir}/xa_context.h
+rm -f %{buildroot}%{_includedir}/xa_tracker.h
+
+# remove package config files
+rm -f %{buildroot}%{_libdir}/pkgconfig/dri.pc
+rm -f %{buildroot}%{_libdir}/pkgconfig/egl.pc
+rm -f %{buildroot}%{_libdir}/pkgconfig/gbm.pc
+rm -f %{buildroot}%{_libdir}/pkgconfig/glesv1_cm.pc
+rm -f %{buildroot}%{_libdir}/pkgconfig/glesv2.pc
+rm -f %{buildroot}%{_libdir}/pkgconfig/xatracker.pc
+
+#move real driver to libdir/driver
+mkdir %{buildroot}%{_libdir}/driver
+mv %{buildroot}%{_libdir}/libEGL* %{buildroot}%{_libdir}/driver/
+mv %{buildroot}%{_libdir}/libGLES* %{buildroot}%{_libdir}/driver/
%post -p /sbin/ldconfig
@@ -367,150 +201,40 @@ install -m 644 $RPM_SOURCE_DIR/drirc %{buildroot}/etc
%postun -n libwayland-egl -p /sbin/ldconfig
-%post -n mesa-libEGL -p /sbin/ldconfig
-
-%postun -n mesa-libEGL -p /sbin/ldconfig
-
-%ifarch %ix86 x86_64
-%post -n mesa-gallium-pipe -p /sbin/ldconfig
-%postun -n mesa-gallium-pipe -p /sbin/ldconfig
-%endif
-
-%post -n mesa-libGLESv1_CM -p /sbin/ldconfig
-
-%postun -n mesa-libGLESv1_CM -p /sbin/ldconfig
-
-%post -n mesa-libGLESv2 -p /sbin/ldconfig
-
-%postun -n mesa-libGLESv2 -p /sbin/ldconfig
-
-%post -n libgbm -p /sbin/ldconfig
-
-%postun -n libgbm -p /sbin/ldconfig
-
-%post -n mesa-libglapi -p /sbin/ldconfig
-
-%postun -n mesa-libglapi -p /sbin/ldconfig
-
%files
%manifest %{name}.manifest
%defattr(-,root,root)
%license docs/COPYING
%config %{_sysconfdir}/drirc
%{_libdir}/dri
-
-%if %{with x}
-%files -n mesa-libGL
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_libdir}/libGL.so.1*
-
-%files -n mesa-libGL-devel
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_includedir}/GL
-%{_libdir}/libGL.so
-%{_libdir}/pkgconfig/gl.pc
-%endif
-
-%files -n mesa-libEGL
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_libdir}/libEGL.so.1*
+%{_libdir}/driver/libEGL.so
+%{_libdir}/driver/libEGL.so.1*
%ifarch %ix86 x86_64
%{_libdir}/egl/egl_gallium.so
%endif
-
-%files -n mesa-libEGL-devel
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_includedir}/EGL
-%{_includedir}/KHR
-%{_libdir}/libEGL.so
-%{_libdir}/pkgconfig/egl.pc
-
-%ifarch %ix86 x86_64
-%files -n mesa-gallium-pipe
-%manifest %{name}.manifest
-%defattr(-,root,root)
-
-%files -n libxatracker
-%defattr(-,root,root)
-%manifest %{name}.manifest
-%_libdir/libxatracker.so.*
-
-%files -n libxatracker-devel
-%defattr(-,root,root)
-%manifest %{name}.manifest
-%_includedir/xa_*.h
%_libdir/libxatracker.so
-%_libdir/pkgconfig/xatracker.pc
-%endif
-
-%files -n mesa-libGLESv1_CM
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_libdir}/libGLESv1_CM.so.1*
-
-%files -n mesa-libGLESv1_CM-devel
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_includedir}/GLES
-%{_libdir}/libGLESv1_CM.so
-%{_libdir}/pkgconfig/glesv1_cm.pc
-
-%files -n mesa-libGLESv2
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_libdir}/libGLESv2.so.2*
-
-%files -n mesa-libGLESv2-devel
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_includedir}/GLES2
-%{_libdir}/libGLESv2.so
-%{_libdir}/pkgconfig/glesv2.pc
-
-%files -n mesa-libGLESv3-devel
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_includedir}/GLES3
-
-%if %{with wayland}
-
-%files -n libwayland-egl
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_libdir}/libwayland-egl.so.1*
-
-%endif
-
-%files -n libgbm
-%manifest %{name}.manifest
-%defattr(-,root,root)
+%_libdir/libxatracker.so.*
+%{_libdir}/driver/libGLESv1_CM.so.1*
+%{_libdir}/driver/libGLESv1_CM.so
+%{_libdir}/driver/libGLESv2.so.2*
+%{_libdir}/driver/libGLESv2.so
+%{_libdir}/libgbm.so
%{_libdir}/libgbm.so.1*
%ifarch %ix86 x86_64
%{_libdir}/gbm/gbm_gallium_drm.so
%endif
+%{_libdir}/libglapi.so
+%{_libdir}/libglapi.so.0*
-%files -n libgbm-devel
-%manifest %{name}.manifest
-%defattr(-,root,root)
-%{_includedir}/gbm.h
-%{_libdir}/libgbm.so
-%{_libdir}/pkgconfig/gbm.pc
-%files -n mesa-libglapi
+%if %{with wayland}
+%files -n libwayland-egl
%manifest %{name}.manifest
%defattr(-,root,root)
-%{_libdir}/libglapi.so.0*
+%{_libdir}/libwayland-egl.so
+%{_libdir}/libwayland-egl.so.1*
-%files devel
-%manifest %{name}.manifest
+%files -n libwayland-egl-devel
%defattr(-,root,root)
-%{_libdir}/libglapi.so
-%if %{with wayland}
-%{_libdir}/libwayland-egl.so
%{_libdir}/pkgconfig/wayland-egl.pc
%endif
-%{_libdir}/pkgconfig/dri.pc