From 07845ceb992cd32cbb56a3894ce3d4461f13faf6 Mon Sep 17 00:00:00 2001 From: Erico Nunes Date: Tue, 3 Oct 2023 15:00:01 +0200 Subject: [PATCH] Split xdriinfo into its own package Remove xdriinfo additional source build and autotools dependencies. Signed-off-by: Erico Nunes --- mesa-demos.spec | 38 ++++++++++----------------- sources | 1 - xdriinfo-1.0.4-glvnd.patch | 54 -------------------------------------- 3 files changed, 14 insertions(+), 79 deletions(-) delete mode 100644 xdriinfo-1.0.4-glvnd.patch diff --git a/mesa-demos.spec b/mesa-demos.spec index dc8a70b..cfc450c 100644 --- a/mesa-demos.spec +++ b/mesa-demos.spec @@ -1,23 +1,18 @@ -%global xdriinfo xdriinfo-1.0.4 %global demodir %{_libdir}/mesa Summary: Mesa demos Name: mesa-demos Version: 9.0.0 -Release: 3%{?dist} +Release: 4%{?dist} # SPDX License: MIT URL: http://www.mesa3d.org -Source0: https://archive.mesa3d.org/demos/%{name}-%{version}.tar.xz -Source1: http://www.x.org/pub/individual/app/%{xdriinfo}.tar.bz2 -Source2: mesad-git-snapshot.sh +Source: https://archive.mesa3d.org/demos/%{name}-%{version}.tar.xz # Patch pointblast/spriteblast/dinoshade out for legal reasons # (not in public domain) Patch0: mesa-demos-8.5.0-legal.patch # Install glsl demos data Patch1: mesa-demos-system-data.patch -# Fix xdriinfo not working with libglvnd -Patch2: xdriinfo-1.0.4-glvnd.patch BuildRequires: meson BuildRequires: gcc BuildRequires: gcc-c++ @@ -38,8 +33,6 @@ BuildRequires: vulkan-loader-devel BuildRequires: wayland-devel BuildRequires: wayland-protocols-devel BuildRequires: freetype-devel -# xdriinfo still uses autotools -BuildRequires: make autoconf automake libtool %description This package provides some demo applications for testing Mesa. @@ -47,6 +40,12 @@ This package provides some demo applications for testing Mesa. %package -n glx-utils Summary: GLX utilities Provides: glxinfo glxinfo%{?__isa_bits} +# mesa-demos' glx-utils used to provide xdriinfo for a long time, but that has +# always been an additional external source, so it was split into its own +# package. +# Recommend it here so that it still gets pulled at first for anyone expecting +# it to be there, but it doesn't need to be a hard requirement anymore. +Recommends: xdriinfo %description -n glx-utils The glx-utils package provides the glxinfo and glxgears utilities. @@ -59,12 +58,9 @@ Provides: eglinfo es2_info The egl-utils package provides the eglinfo and es2_info utilities. %prep -%setup -q -n %{name}-%{version} -b1 +%setup -q -n %{name}-%{version} %patch0 -p1 -b .legal %patch1 -p1 -b .systemdata -pushd ../%{xdriinfo} -%patch2 -p1 -popd # These two files are distributable, but non-free (lack of permission to modify). rm -rf src/demos/pointblast.c @@ -84,18 +80,10 @@ rm -rf src/demos/spriteblast.c %meson_build -pushd ../%{xdriinfo} -%configure -%make_build -popd - %install %meson_install -pushd ../%{xdriinfo} -%make_install %{?_smp_mflags} -popd - +mkdir -p %{buildroot}%{_bindir} install -m 0755 %{_vpath_builddir}/src/xdemos/glxgears %{buildroot}%{_bindir} install -m 0755 %{_vpath_builddir}/src/xdemos/glxinfo %{buildroot}%{_bindir} %if 0%{?__isa_bits} != 0 @@ -114,14 +102,16 @@ install -m 0755 %{_vpath_builddir}/src/egl/opengles2/es2_info %{buildroot}%{_bin %files -n glx-utils %{_bindir}/glxinfo* %{_bindir}/glxgears -%{_bindir}/xdriinfo -%{_datadir}/man/man1/xdriinfo.1* %files -n egl-utils %{_bindir}/eglinfo %{_bindir}/es2_info %changelog +* Tue Oct 03 2023 Erico Nunes - 9.0.0-4 +- Split xdriinfo into its own package +- Remove xdriinfo additional source build and autotools dependencies + * Thu Sep 07 2023 José Expósito - SPDX migration: license is already SPDX compatible diff --git a/sources b/sources index e43f69f..5410f39 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (xdriinfo-1.0.4.tar.bz2) = 7d998d89c539dbb93c00bc0dd237e086bc3c6e91c02c251448dc6e34cc8f89b2a752ab6f1d86cfb8a0d3d4373a167c9dda2f6f817626c3c7b5cd02a58bc1e6dd SHA512 (mesa-demos-9.0.0.tar.xz) = af33ef72a521416e39d93370b2b4ccb768f08084c9e4c0aa62868210d9465c858e5cb8e5d23952295a3073946f609eb8723ee60b39dd9fb6696c4e45aafbb2c1 diff --git a/xdriinfo-1.0.4-glvnd.patch b/xdriinfo-1.0.4-glvnd.patch deleted file mode 100644 index 0dc4c0a..0000000 --- a/xdriinfo-1.0.4-glvnd.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff -up xdriinfo-1.0.4/xdriinfo.c~ xdriinfo-1.0.4/xdriinfo.c ---- xdriinfo-1.0.4/xdriinfo.c~ 2009-10-16 23:39:10.000000000 +0200 -+++ xdriinfo-1.0.4/xdriinfo.c 2017-03-13 12:01:53.419636100 +0100 -@@ -101,23 +101,9 @@ int main (int argc, char *argv[]) { - return 1; - } - } -- /* if the argument to the options command is a driver name, we can handle -- * it without opening an X connection */ -- if (func == OPTIONS && screenNum == -1) { -- const char *options = (*GetDriverConfig) (funcArg); -- if (!options) { -- fprintf (stderr, -- "Driver \"%s\" is not installed or does not support configuration.\n", -- funcArg); -- return 1; -- } -- printf ("%s", options); -- if (isatty (STDOUT_FILENO)) -- printf ("\n"); -- return 0; -- } -+ - /* driver command needs a valid screen number */ -- else if (func == DRIVER && screenNum == -1) { -+ if (func == DRIVER && screenNum == -1) { - fprintf (stderr, "Invalid screen number \"%s\".\n", funcArg); - return 1; - } -@@ -135,6 +121,9 @@ int main (int argc, char *argv[]) { - return 1; - } - -+ /* Call glXGetClientString to load vendor libs on glvnd enabled systems */ -+ glXGetClientString (dpy, GLX_EXTENSIONS); -+ - switch (func) { - case NSCREENS: - printf ("%d", nScreens); -@@ -154,7 +143,13 @@ int main (int argc, char *argv[]) { - break; - } - case OPTIONS: { -- const char *name = (*GetScreenDriver) (dpy, screenNum), *options; -+ const char *name, *options; -+ -+ if (screenNum == -1) { -+ name = funcArg; -+ } else { -+ name = (*GetScreenDriver) (dpy, screenNum); -+ } - if (!name) { - fprintf (stderr, "Screen \"%d\" is not direct rendering capable.\n", - screenNum);