File xorgproto.spec of Package xorgproto-2024.1-43.1

#
# spec file
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%global flavor %{nil}
%if "%{flavor}" == "doc"
%global psuffix -doc
%else
%global psuffix %{nil}
%endif

%define srcname xorgproto

Name:           %{srcname}%{psuffix}
Version:        2024.1
Release:        43.1
%if "%{flavor}" == "doc"
Summary:        The X11 Protocol collection (documentation)
%else
Summary:        The X11 Protocol collection
%endif
License:        MIT
Group:          Development/Libraries/X11
URL:            https://xorg.freedesktop.org/
#Git-Clone:	git://anongit.freedesktop.org/xorg/proto/xorgproto
#Git-Web:	http://cgit.freedesktop.org/xorg/proto/xorgproto/
Source0:        https://xorg.freedesktop.org/releases/individual/proto/%{srcname}-%{version}.tar.xz
Source1:        https://xorg.freedesktop.org/releases/individual/proto/%{srcname}-%{version}.tar.xz.sig
Source2:        xorgproto.keyring
BuildRequires:  fdupes
BuildRequires:  pkgconfig
%if "%{flavor}" == "doc"
BuildRequires:  fop
BuildRequires:  xmlto
BuildRequires:  xorg-sgml-doctools
BuildRequires:  xsltproc
%endif
BuildArch:      noarch

%if "%{flavor}" == "doc"
%description
Documentation for X11 protocol headers.
%else

%description
The X11 protocol headers for X11 development.
This package contains all previously split protocol packages:
applewmproto, bigreqsproto, compositeproto, damageproto, dmxproto, dri2proto,
dri3proto, fixesproto, fontsproto, glproto, inputproto, kbproto, presentproto,
randrproto, recordproto, renderproto, resourceproto, scrnsaverproto, trapproto,
videoproto, windowswmproto, xcmiscproto, xextproto, xf86bigfontproto,
xf86dgaproto, xf86driproto, xf86miscproto, xf86vidmodeproto, xineramaproto,
xproto and xproxymngproto.
%endif

%package devel
Summary:        The X11 Protocol collection
Group:          Development/Libraries/X11
Obsoletes:      xorgproto-devel < %{version}
# the next is for obsoleting applewmproto <= 1.4.2
Obsoletes:      bigreqsproto-devel <= 1.1.2
Provides:       bigreqsproto-devel = %{version}
Obsoletes:      compositeproto-devel <= 0.4.2
Provides:       compositeproto-devel = %{version}
Obsoletes:      damageproto-devel <= 1.2.1
Provides:       damageproto-devel = %{version}
Obsoletes:      dmxproto-devel <= 2.3.1
Provides:       dmxproto-devel = %{version}
Obsoletes:      dri2proto-devel <= 2.8
Provides:       dri2proto-devel = %{version}
Obsoletes:      dri3proto-devel <= 1.2
Provides:       dri3proto-devel = %{version}
Obsoletes:      fixesproto-devel <= 5.0
Provides:       fixesproto-devel = %{version}
Obsoletes:      fontsproto-devel <= 2.1.3
Provides:       fontsproto-devel = %{version}
Obsoletes:      glproto-devel <= 1.4.17
Provides:       glproto-devel = %{version}
Obsoletes:      inputproto-devel <= 2.3.2
Provides:       inputproto-devel = %{version}
Obsoletes:      kbproto-devel <= 1.0.7
Provides:       kbproto-devel = %{version}
Obsoletes:      presentproto-devel <= 1.2
Provides:       presentproto-devel = %{version}
Obsoletes:      randrproto-devel <= 1.6.0
Provides:       randrproto-devel = %{version}
Obsoletes:      recordproto-devel <= 1.14.2
Provides:       recordproto-devel = %{version}
Obsoletes:      renderproto-devel <= 0.11.1
Provides:       renderproto-devel = %{version}
Obsoletes:      resourceproto-devel <= 1.2.0
Provides:       resourceproto-devel = %{version}
Provides:       scrnsaverproto-devel = %{version}
Obsoletes:      scrnsaverproto-devel <= 1.2.2
Provides:       trapproto-devel = %{version}
Obsoletes:      trapproto-devel <= 3.4.3
Provides:       videoproto-devel = %{version}
Obsoletes:      videoproto-devel <= 2.3.3
Provides:       windowswmproto-devel = %{version}
Obsoletes:      windowswmproto-devel <= 1.0.4
Provides:       xcmiscproto-devel = %{version}
Obsoletes:      xcmiscproto-devel <= 1.2.2
Provides:       xextproto-devel = %{version}
Obsoletes:      xextproto-devel <= 7.3.0
Provides:       xf86bigfontproto-devel = %{version}
Obsoletes:      xf86bigfontproto-devel <= 1.2.0
Provides:       xf86dgaproto-devel = %{version}
Obsoletes:      xf86dgaproto-devel <= 2.1
Provides:       xf86driproto-devel = %{version}
Obsoletes:      xf86driproto-devel <= 2.1.1
Provides:       xf86miscproto-devel = %{version}
Obsoletes:      xf86miscproto-devel <= 0.9.3
Provides:       xf86vidmodeproto-devel = %{version}
Obsoletes:      xf86vidmodeproto-devel <= 2.3.1
Provides:       xineramaproto-devel = %{version}
Obsoletes:      xineramaproto-devel <= 1.2.1
Obsoletes:      xorg-x11-proto-devel < %{version}
Provides:       xorg-x11-proto-devel = %{version}
Obsoletes:      xproto-devel <= 7.0.32
Provides:       xproto-devel = %{version}
Obsoletes:      xproxymngproto-devel <= 1.0.3
Provides:       xproxymngproto-devel = %{version}

%description devel
The complete X11 protocol headers for X11 development.
This package contains all previously split protocol packages:
applewmproto, bigreqsproto, compositeproto, damageproto, dmxproto, dri2proto,
dri3proto, fixesproto, fontsproto, glproto, inputproto, kbproto, presentproto,
randrproto, recordproto, renderproto, resourceproto, scrnsaverproto, trapproto,
videoproto, windowswmproto, xcmiscproto, xextproto, xf86bigfontproto,
xf86dgaproto, xf86driproto, xf86miscproto, xf86vidmodeproto, xineramaproto,
xproto and xproxymngproto.

%prep
%setup -q -n %{srcname}-%{version}

%build
%if (0%{?suse_version} < 1550)
%configure --enable-legacy
%else
%configure
%endif
%make_build

%install
%make_install
%if (0%{?suse_version} < 1550)
%endif
%fdupes '%{buildroot}%{_datadir}'

%if "%{flavor}" == "doc"
%files
%doc %{_datadir}/doc/*
%{nil <URL: https://bugzilla.opensuse.org/show_bug.cgi?id=1207721#c15> }
%exclude %{_datadir}/doc/*/*.{pdf,xml,ps,db}
%exclude %{_includedir}
%exclude %{_datarootdir}/pkgconfig
%exclude %{_mandir}/man7/Xprint.7*
%else

%files devel
%license COPYING-*
%exclude %{_datadir}/doc
%dir %{_includedir}/GL
%if (0%{?suse_version} < 1550)
%{_includedir}/X11/PM
%{_includedir}/X11/PM/*.h
%if 0%{?sle_version} == 150600
%exclude %{_includedir}/X11/extensions/XKBgeom.h
%endif
%endif
%{_includedir}/GL/*.h
%{_includedir}/GL/internal
%{_includedir}/X11/{dri,extensions,fonts}
%{_includedir}/X11/*.h
%{_datarootdir}/pkgconfig/*.pc
# we seriously don't want to package that again ...
%exclude %{_mandir}/man7/Xprint.7*
%endif

%changelog
* Tue Mar 26 2024 Stefan Dirsch <sndirsch@suse.com>
- Update to version 2024.1
  * updates for the DRI3 and Present protocol definitions to support
    explicit synchronization and other keysyms/keydefs fixes and
    improvements.
* Fri Jun 16 2023 Stefan Dirsch <sndirsch@suse.com>
- Update to version 2023.2
  * quick-fix release to address the Present protocol version not
    being updated in xorgproto-2023.1.
* Sat Jun 10 2023 Stefan Dirsch <sndirsch@suse.com>
- Update to version 2023.1
  This release introduces a couple of new options for existing extensions:
  * A new option PresentOptionAsyncMayTear for the Present extension,
  * A new flag XFixesClientDisconnectFlagForceTerminate to the XFixes
  XFixesClientDisconnectFlags intended to be used by screen lockers,
  where the server must exit if the screen locker does.
  The other changes include various fixes, clarifications and keysym
  definitions updates:
* Tue Jan 31 2023 Stefan Dirsch <sndirsch@suse.com>
- switched to multibuild for -doc package to avoid build cycles
* Sun Jan 29 2023 Christopher Yeleighton <giecrilj@stegny.2a.pl>
- Build documentation (boo#1207721)
* Sun Aug 21 2022 Bjørn Lie <bjorn.lie@gmail.com>
- Use xz tarball instead of gz, save a few bytes in size.
* Fri Aug 12 2022 Dirk Müller <dmueller@suse.com>
- add gpg validation of sources
* Thu Aug 11 2022 Aaron Stern <ukbeast89@protonmail.com>
- xorgproto 2022.2
  * DRI3: Add DRI3SetDRMDeviceInUse
  * Add the XWAYLAND extension
  * Build xz tarballs instead of bzip2
* Thu Apr 21 2022 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2022.1
  * No changes to the actual protocols, just the additions of some
    new keysyms provided by the Linux kernel.
* Wed Sep 15 2021 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2021.5
  * This release introduces the version 2.4 of the X Input
    protocol. It contains the addition of the concept of touchpad
    gestures. Touchpad gesture is an interaction of two or more
    fingers that can be interpreted as a swipe or a pinch.
* Mon May 31 2021 Dirk Müller <dmueller@suse.com>
- package licenses as %%%%license
- modernize spec file
- list files in files-section to avoid directory permission
  conflict with filesystem package
* Fri Apr 30 2021 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2021.4
  The big new feature in this release is Olivier's addition that makes up
  XFixes 6: the new ClientDisconnectMode. An X server that is started on
  demand (Xwayland) should ideally also terminate when the last client
  disconnects. However, some X11 clients that provide system services will
  linger around forever, preventing that shutdown.
  With the new XFixes request, a client can designate itself as
  to-be-terminated and the X server can ignore those clients when counting the
  number of remaining clients. If no other clients are left, the server can
  shut down.
  Note that this requires changes to the X server and each client to work.
* Thu Feb 25 2021 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2021.3
  If you thought the 2021.2 release was exciting, well, you're in for a
  surprise: this one even builds with meson! How cool is that?!
  Somewhat related: the new script to generate and verify the keysyms was
  missing from the (autotools-generated) tarball, causing a meson build from
  that tarball to fail during the setup phase. This is fixed now.
  No changes to the rest of the sources, so this is effectively identical to
  yesterday's tarball.
* Thu Feb 25 2021 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2021.2
  This release is mostly all about keysyms. Some additions to Vietnamese and
  Hangul but the big set of commits here is catching up with several years of
  Linux kernel releases.
  The kernel's evdev interface has semantic keycodes (e.g. KEY_ESC is what
  you'd expect). Beyond the normal range expected to change with different
  layouts there are many keycodes that should only ever do one thing.
  For example, KEY_ONSCREEN_KEYBOARD should display the OSK regardless of
  layout). In the past, we've added these keysyms on a as-requested basis.
  We now have a reserved subrange in the already reserved range for XF86Foo
  keysyms. Within that range, keysyms map directly to their evdev
  counterparts, making future updates easier. The above example
  KEY_ONSCREEN_KEYBOARD now has a XF86OnScreenKeyboard keysym.
  The header file follows a strict convention to make this range
  machine-readable, xkeyboard-config can make use of this to
  make those keysyms available by default. Note that almost all keys are
  outside the X keycode range so very little will change under X.
  Note that most keys exist on selected devices only so the practial use is
  quite limited. But those keysyms are available through normal XKB
  configuration so users can re-map existing keys where needed.
  Aside from those, a bit of misc cleanup work. Many thanks to all
  contributors.
* Tue Apr 14 2020 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2020.1
  * This release adds a new keysym, a state-change event to the
    DPMS extension, synchronizes more of the meson and autotools
    build sytems, and converts some quasi-text documentation to
    Markdown.
* Fri Oct 18 2019 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2019.2
  * This release moves more header files to the legacy set. Note
    that this means libX11 older than 1.6.9 and libXvMC older
    than 1.0.12 will not build without some legacy headers installed.
* Mon Jun 24 2019 Stefan Dirsch <sndirsch@suse.com>
- use --enable-legacy configure option on existing products in order
  not to break package builds, which still requires any of these
  extensions:
  * trapproto
  * xf86miscproto
  * xproxymngproto
  deleterequests for the affected packaages have been done for factory/TW
* Fri Jun 21 2019 Stefan Dirsch <sndirsch@suse.com>
- xorgproto 2019.1
  * This release boasts a bunch of cleanup work and a few new
    keysyms. No functional changes to any of the protocols.
* Wed Jun 27 2018 tobias.johannes.klausmann@mni.thm.de
- Obsolete protocol packages by their corresponding old package names, not by
  their pkconfig(...) provides. Additionally move the obsoletes to the -devel
  package to take effect.
* Wed Feb 28 2018 tobias.johannes.klausmann@mni.thm.de
- Create package xorgproto with initial version 2018.4:
  This package contains all previously split up xorg protocol headers in one
  package (again!). Additionally this package contains two new protocol
  versions required by the upcoming XServer 1.20:
  + dri3proto version 1.2
  + randrproto version 1.6
- Obsolete the old *prot packages by using the actual protocol version to keep
  this package compatible with the old versioning scheme.
- "Prefer: xorgproto-devel" in the project config is required to prefer it for
  now
openSUSE Build Service is sponsored by