- Add explanation for the "CM" in "GLESv1_CM".

- Drop idempotent %if..%endif guards that do nothing.
- Combine some rm calls in the build recipe.
- Add -v argument to all rm calls to see the result of the
  deletion in the build log.

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=1375
This commit is contained in:
2025-02-22 10:20:38 +00:00
committed by Git OBS Bridge
parent 756edacda1
commit c7704e23b2
2 changed files with 50 additions and 69 deletions

View File

@@ -1,3 +1,12 @@
-------------------------------------------------------------------
Fri Feb 21 14:04:21 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Add explanation for the "CM" in "GLESv1_CM".
- Drop idempotent %if..%endif guards that do nothing.
- Combine some rm calls in the build recipe.
- Add -v argument to all rm calls to see the result of the
deletion in the build log.
-------------------------------------------------------------------
Thu Feb 20 12:58:48 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>

110
Mesa.spec
View File

@@ -493,7 +493,7 @@ This package includes headers and static libraries for compiling
programs with Mesa.
%package libGLESv1_CM-devel
Summary: Development files for the OpenGL ES 1.x API
Summary: Development files for the OpenGL ES 1.x Common Profile API
Group: Development/Libraries/C and C++
Requires: Mesa-KHR-devel = %{version}
Requires: libglvnd-devel >= 0.1.0
@@ -508,7 +508,7 @@ 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.
using the OpenGL|ES 1.x Common Profile APIs.
%package libGLESv2-devel
Summary: Development files for the OpenGL ES 2.x API
@@ -556,7 +556,6 @@ OSmesa is a Mesa extension that allows programs to render to an
off-screen buffer using the OpenGL API without having to create a
rendering context on an X Server. It uses a pure software renderer.
%ifarch s390x
%package libglapi0
Summary: Free implementation of the GL API
Group: System/Libraries
@@ -575,7 +574,6 @@ Requires: Mesa-libglapi0 = %{version}
Development files for the Mesa GL API module which is responsible for
dispatching all the gl* functions. It is intended to be mainly used by
the Mesa-libGLES* packages.
%endif
%package -n libOSMesa-devel
Summary: Development files for the Mesa Offscreen Rendering extension
@@ -1031,79 +1029,78 @@ export MESON_PACKAGE_CACHE_DIR="%{_sourcedir}"
find %{buildroot} -type f -name "*.la" -delete -print
# libwayland-egl is provided by wayland itself
rm -f %{buildroot}/%{_libdir}/libwayland-egl.so*
rm -f %{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc
rm -fv %{buildroot}/%{_libdir}/libwayland-egl.so* \
%{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc
%if "%{flavor}" == "drivers"
# Delete things that we do not package in the Mesa-drivers variant, but can
# not disable from buildling and installing.
rm -f %{buildroot}/%{_libdir}/libEGL.so*
rm -fv %{buildroot}/%{_libdir}/libEGL.so*
# in Mesa-libEGL-devel
rm %{buildroot}/%{_includedir}/EGL/egl.h
rm %{buildroot}/%{_includedir}/EGL/eglext.h
rm %{buildroot}/%{_includedir}/EGL/eglext_angle.h
rm %{buildroot}/%{_includedir}/EGL/eglmesaext.h
rm %{buildroot}/%{_includedir}/EGL/eglplatform.h
rm -v %{buildroot}/%{_includedir}/EGL/egl.h \
%{buildroot}/%{_includedir}/EGL/eglext.h \
%{buildroot}/%{_includedir}/EGL/eglext_angle.h \
%{buildroot}/%{_includedir}/EGL/eglmesaext.h \
%{buildroot}/%{_includedir}/EGL/eglplatform.h
# in Mesa-libGL-devel
rm -rf %{buildroot}/%{_includedir}/GL
rm -Rfv %{buildroot}/%{_includedir}/GL
#in Mesa-libGLESv1_CM-devel
rm -rf %{buildroot}/%{_includedir}/GLES
rm -Rfv %{buildroot}/%{_includedir}/GLES
#in Mesa-libGLESv2-devel
rm -rf %{buildroot}/%{_includedir}/GLES2
rm -Rfv %{buildroot}/%{_includedir}/GLES2
#in Mesa-libGLESv3-devel
rm -rf %{buildroot}/%{_includedir}/GLES3
rm -Rfv %{buildroot}/%{_includedir}/GLES3
#in Mesa-libEGL1
rm -f %{buildroot}/%{_libdir}/libEGL_mesa.so*
rm -rf %{buildroot}/%{_datadir}/glvnd
rm -Rfv %{buildroot}/%{_libdir}/libEGL_mesa.so* \
%{buildroot}/%{_datadir}/glvnd
# in Mesa-libglapi0
%ifarch s390x
rm %{buildroot}/%{_libdir}/libglapi.so*
rm -v %{buildroot}/%{_libdir}/libglapi.so*
%endif
# in libwayland-egl1
rm -f %{buildroot}/%{_libdir}/libwayland-egl.so*
rm -f %{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc
rm -fv %{buildroot}/%{_libdir}/libwayland-egl.so* \
%{buildroot}/%{_libdir}/pkgconfig/wayland-egl.pc
# in Mesa-dri-devel
rm %{buildroot}/%{_libdir}/pkgconfig/dri.pc
rm -v %{buildroot}/%{_libdir}/pkgconfig/dri.pc
# in KHR-devel
rm -rf %{buildroot}/%{_includedir}/KHR
rm -Rfv %{buildroot}/%{_includedir}/KHR
# in libgbm-devel
rm -f %{buildroot}%{_includedir}/gbm.h
rm -f %{buildroot}%{_libdir}/libgbm.so*
rm -f %{buildroot}%{_libdir}/pkgconfig/gbm.pc
rm -fv %{buildroot}%{_includedir}/gbm.h \
%{buildroot}%{_libdir}/libgbm.so* \
%{buildroot}%{_libdir}/pkgconfig/gbm.pc
%else
# package in Mesa-dri
rm -rf %{buildroot}/%{_datadir}/drirc.d
rm -Rfv %{buildroot}/%{_datadir}/drirc.d
rm -f %{buildroot}/%{_libdir}/dri/*_dri.so
rm -f %{buildroot}%{_libdir}/libgallium-*.so
rm -rf %{buildroot}%{_libdir}/gbm/
rm -f %{buildroot}%{_libdir}/libGLES*
rm -Rfv %{buildroot}/%{_libdir}/dri/*_dri.so \
%{buildroot}%{_libdir}/libgallium-*.so \
%{buildroot}%{_libdir}/gbm/ \
%{buildroot}%{_libdir}/libGLES*
# glvnd needs a default provider for indirect rendering where it cannot
# determine the vendor
ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_indirect.so.0
ln -sv %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_indirect.so.0
# pickup pkgconfig files from libglvnd build
rm -f %{buildroot}/%{_libdir}/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc
install -m 0644 /usr/share/doc/packages/libglvnd/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc \
rm -fv %{buildroot}/%{_libdir}/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc
install -vm 0644 /usr/share/doc/packages/libglvnd/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc \
%{buildroot}/%{_libdir}/pkgconfig/
for dir in ../xc/doc/man/{GL/gl,GL/glx}; do
pushd $dir
xmkmf -a
make %{?_smp_mflags} V=1
%make_build V=1
make install.man DESTDIR=%{buildroot} MANPATH=%{_mandir} LIBMANSUFFIX=3gl
popd
done
@@ -1116,39 +1113,14 @@ done
echo "The \"Mesa\" package does not have the ability to render, but is supplemented by \"Mesa-dri\" and \"Mesa-gallium\" which contain the drivers for rendering" > docs/README.package.%{_arch}
%endif
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post libEGL1 -p /sbin/ldconfig
%postun libEGL1 -p /sbin/ldconfig
%post libGL1 -p /sbin/ldconfig
%postun libGL1 -p /sbin/ldconfig
%post -n libOSMesa8 -p /sbin/ldconfig
%postun -n libOSMesa8 -p /sbin/ldconfig
%post -n libgbm1 -p /sbin/ldconfig
%postun -n libgbm1 -p /sbin/ldconfig
%post -n libxatracker2 -p /sbin/ldconfig
%postun -n libxatracker2 -p /sbin/ldconfig
%ifarch s390x
%post libglapi0 -p /sbin/ldconfig
%postun libglapi0 -p /sbin/ldconfig
%endif
%post -n Mesa-libd3d -p /sbin/ldconfig
%postun -n Mesa-libd3d -p /sbin/ldconfig
%ldconfig_scriptlets
%ldconfig_scriptlets libEGL1
%ldconfig_scriptlets libGL1
%ldconfig_scriptlets -n libOSMesa8
%ldconfig_scriptlets -n libgbm1
%ldconfig_scriptlets -n libxatracker2
%ldconfig_scriptlets libglapi0
%ldconfig_scriptlets -n Mesa-libd3d
%if "%{flavor}" != "drivers"
%files