SHA256
1
0
forked from jengelh/wayland
wayland/wayland.spec
Jan Engelhardt 4c322859c3 Accepting request 945522 from home:AZhou:branches:X11:Wayland
- Add wayland-shm-Close-file-descriptors-not-needed.patch: For
  platforms that support mremap(), we don't need to hold file
  descriptors all the time, because programs like Xwayland will
  hold a lot of file descriptors and may crash, this patch close
  file descriptors earlier for those platforms (bsc#1194190).

OBS-URL: https://build.opensuse.org/request/show/945522
OBS-URL: https://build.opensuse.org/package/show/X11:Wayland/wayland?expand=0&rev=99
2022-01-11 09:32:06 +00:00

212 lines
6.9 KiB
RPMSpec

#
# spec file for package wayland
#
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
%define _version 1.20.0
%if 0%{?suse_version} >= 1500 && 0%{?suse_version} < 1550
%define eglversion 99~%_version
%else
%define eglversion %_version
%endif
%define lname libwayland0
Name: wayland
Version: %_version
Release: 0
Summary: Wayland Compositor Infrastructure
License: MIT
Group: Development/Libraries/C and C++
Url: http://wayland.freedesktop.org/
#Git-Clone: git://anongit.freedesktop.org/wayland/wayland
#Git-Web: http://cgit.freedesktop.org/wayland/wayland/
Source: http://wayland.freedesktop.org/releases/%name-%version.tar.xz
Source2: http://wayland.freedesktop.org/releases/%name-%version.tar.xz.sig
Source3: %name.keyring
Source4: baselibs.conf
# PATCH-FIX-UPSTREAM wayland-shm-Close-file-descriptors-not-needed.patch bsc#1194190 alynx.zhou@suse.com -- Close file descriptors not needed to prevent Xwayland crash.
Patch1: wayland-shm-Close-file-descriptors-not-needed.patch
BuildRequires: c_compiler
BuildRequires: c++_compiler
BuildRequires: libxml2-tools
BuildRequires: libxslt-tools
BuildRequires: meson
BuildRequires: pkg-config
BuildRequires: xz
BuildRequires: pkgconfig(expat)
BuildRequires: pkgconfig(libffi)
BuildRequires: pkgconfig(libxml-2.0)
%define with_doc 0
%if 0%with_doc
BuildRequires: doxygen
BuildRequires: graphviz-gnome
BuildRequires: xmlto
%endif
%description
Wayland is a protocol for a compositor to talk to its clients as well
as a C library implementation of that protocol. The compositor can be
a standalone display server running on Linux kernel modesetting and
evdev input devices, an X application, or a wayland client itself.
The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
%package -n libwayland-client0
Summary: Wayland core client library
Group: System/Libraries
%description -n libwayland-client0
Wayland is a protocol for a compositor to talk to its clients as well
as a C library implementation of that protocol. The compositor can be
a standalone display server running on Linux kernel modesetting and
evdev input devices, an X application, or a wayland client itself.
The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
%package -n libwayland-cursor0
Summary: Wayland cursor library
Group: System/Libraries
%description -n libwayland-cursor0
The purpose of this library is to be the equivalent of libXcursor in
the X world. This library is compatible with X cursor themes and
loads them directly into an shm pool making it easy for the clients
to get buffer for each cursor image.
%package -n libwayland-egl1
Summary: Additional egl functions for wayland
Group: System/Libraries
Version: %eglversion
%description -n libwayland-egl1
This package provides additional functions for EGL-using programs
that run within the Wayland framework. This allows for applications
that need not run full-screen and cooperate with a compositor.
%package -n libwayland-server0
Summary: Wayland core server library
Group: System/Libraries
%description -n libwayland-server0
Wayland is a protocol for a compositor to talk to its clients as well
as a C library implementation of that protocol. The compositor can be
a standalone display server running on Linux kernel modesetting and
evdev input devices, an X application, or a wayland client itself.
The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
%package devel
Summary: Development files for the Wayland Compositor Infrastructure
Group: Development/Libraries/C and C++
Requires: libwayland-client0 = %_version
Requires: libwayland-cursor0 = %_version
Requires: libwayland-egl1 = %eglversion
Requires: libwayland-server0 = %_version
%if 0%{?suse_version} >= 1500
%if (0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150400)
Provides: libwayland-egl-devel = 18.1.5
Obsoletes: libwayland-egl-devel < 18.1.5
%else
Provides: libwayland-egl-devel = 18.0.2
Obsoletes: libwayland-egl-devel < 18.0.2
%endif
%endif
%description devel
Wayland is a protocol for a compositor to talk to its clients as well
as a C library implementation of that protocol. The compositor can be
a standalone display server running on Linux kernel modesetting and
evdev input devices, an X application, or a wayland client itself.
The clients can be traditional applications, X servers (rootless or
fullscreen) or other display servers.
This package contains all necessary include files and libraries needed
to develop applications that require these.
%package doc
Summary: Wayland development documentation
Group: Documentation/HTML
BuildArch: noarch
%description doc
This subpackage contains the documentation to Wayland.
%prep
%autosetup -p1
sed -i 's/<eglversion>/%eglversion/' "%_sourcedir/baselibs.conf"
%build
# includedir intentional, cf. bugzilla.opensuse.org/795968
%meson \
--includedir="%_includedir/%name" \
%if %with_doc
--docdir="%_defaultdocdir/%name"
%else
-D documentation=false
%endif
%meson_build
%install
%meson_install
%check
%meson_test
%if 0%{?suse_version} >= 1550
%ldconfig_scriptlets -n libwayland-client0
%ldconfig_scriptlets -n libwayland-cursor0
%ldconfig_scriptlets -n libwayland-egl1
%ldconfig_scriptlets -n libwayland-server0
%else
%post -n libwayland-client0 -p /sbin/ldconfig
%postun -n libwayland-client0 -p /sbin/ldconfig
%post -n libwayland-cursor0 -p /sbin/ldconfig
%postun -n libwayland-cursor0 -p /sbin/ldconfig
%post -n libwayland-egl1 -p /sbin/ldconfig
%postun -n libwayland-egl1 -p /sbin/ldconfig
%post -n libwayland-server0 -p /sbin/ldconfig
%postun -n libwayland-server0 -p /sbin/ldconfig
%endif
%files -n libwayland-client0
%_libdir/libwayland-client.so.0*
%doc COPYING
%files -n libwayland-cursor0
%_libdir/libwayland-cursor.so.0*
%files -n libwayland-egl1
%_libdir/libwayland-egl.so.1*
%files -n libwayland-server0
%_libdir/libwayland-server.so.0*
%files devel
%_bindir/wayland-scanner
%_includedir/%name/
%_libdir/libwayland-*.so
%_libdir/pkgconfig/wayland-*.pc
%_datadir/aclocal/
%_datadir/wayland/
%if %with_doc
%files doc
%_mandir/man3/wl*.3*
%_docdir/%name/
%endif
%changelog