#
# Conditional build:
%bcond_without drm # DRM compositor
-%bcond_with openwfd # OpenWF compositor
+%bcond_with rdp # RDP compositor (needs freerdp 1.1.0)
%bcond_without wayland # wayland (nested) compositor
%bcond_without x11 # X11 compositor
+%bcond_without libinput # libinput backend
+%bcond_without libunwind # libunwind usage for backtraces
+%bcond_without vaapi # vaapi recorder
%bcond_without wlaunch # weston launch
%bcond_without xwayland # X server launcher
%bcond_without sclients # simple clients
%bcond_without clients # non-simple + full GL clients
-#
+
+%ifarch x32
+%undefine with_libunwind
+%endif
+
Summary: Weston - Wayland demos
Summary(pl.UTF-8): Weston - programy demonstracyjne dla protokołu Wayland
Name: weston
-Version: 1.0.1
-Release: 1
+Version: 1.7.0
+Release: 2
License: MIT
Group: Applications
Source0: http://wayland.freedesktop.org/releases/%{name}-%{version}.tar.xz
-# Source0-md5: f26114122197cfe411e0c0fcf875828f
+# Source0-md5: 1fde8a44f48cd177438522850d6ba4be
URL: http://wayland.freedesktop.org/
BuildRequires: Mesa-libEGL-devel >= 7.10
+# GLESv2
BuildRequires: Mesa-libGLES-devel
# for wayland and sclients, but also desktop-shell, which is always enabled
BuildRequires: Mesa-libwayland-egl-devel >= 9.0-2
+BuildRequires: autoconf >= 2.64
+BuildRequires: automake >= 1:1.11
BuildRequires: cairo-devel >= 1.10.0
+BuildRequires: colord-devel >= 0.1.27
+BuildRequires: dbus-devel >= 1.6
+%{?with_rdp:BuildRequires: freerdp-devel >= 1.1.0}
+BuildRequires: lcms2-devel >= 2
+%{?with_libinput:BuildRequires: libinput-devel >= 0.8.0}
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
+BuildRequires: libtool >= 2:2.2
+%{?with_libunwind:BuildRequires: libunwind-devel}
BuildRequires: libwebp-devel
-BuildRequires: pixman-devel
+BuildRequires: pixman-devel >= 0.26
BuildRequires: pkgconfig
BuildRequires: tar >= 1:1.22
# wayland-server always; wayland-client if with_wayland || with_sclients || with_clients; wayland-cursor if with_clients
-BuildRequires: wayland-devel >= 1.0.0
-BuildRequires: xorg-lib-libxkbcommon-devel
+BuildRequires: wayland-devel >= 1.7.0
+BuildRequires: xorg-lib-libxkbcommon-devel >= 0.3.0
BuildRequires: xz
%if %{with drm}
BuildRequires: Mesa-libgbm-devel
BuildRequires: mtdev-devel >= 1.1.0
BuildRequires: udev-devel >= 1:136
%endif
-%if %{with openwfd}
-BuildRequires: Mesa-libgbm-devel
-# what package?
-BuildRequires pkgconfig(openwfd)
+%if %{with vaapi}
+BuildRequires: libva-devel >= 1.2.0
+BuildRequires: libva-drm-devel >= 1.2.0
+# API versions
+BuildRequires: pkgconfig(libva) >= 0.34.0
+BuildRequires: pkgconfig(libva-drm) >= 0.34.0
%endif
%if %{with x11}
BuildRequires: libxcb-devel
%if %{with wlaunch}
BuildRequires: libdrm-devel
BuildRequires: pam-devel
-BuildRequires: systemd-devel
+# TODO: bump to 1:209 (required at runtime when built with such version)
+BuildRequires: systemd-devel >= 1:198
%endif
%if %{with xwayland}
BuildRequires: libxcb-devel
BuildRequires: xorg-lib-libXcursor-devel
%endif
%if %{with clients}
+BuildRequires: OpenGL-GLU-devel
BuildRequires: cairo-devel >= 1.11.3
-BuildRequires: gdk-pixbuf2-devel >= 2.0
-BuildRequires: glib2-devel >= 2.0
BuildRequires: pkgconfig(cairo-egl) >= 1.11.3
-BuildRequires: poppler-glib-devel
+BuildRequires: pkgconfig(cairo-gl)
%endif
+Requires: Mesa-libEGL >= 7.10
Requires: Mesa-libwayland-egl >= 9.0-2
+Requires: cairo >= %{?with_clients:1.11.3}%{!?with_clients:1.10.0}
+Requires: colord-libs >= 0.1.27
+Requires: dbus-libs >= 1.6
+%{?with_rdp:Requires: freerdp >= 1.1.0}
+%{?with_drm:Requires: libdrm >= 2.4.30}
+%{?with_libinput:Requires: libinput >= 0.8.0}
+%if %{with vaapi}
+Requires: libva >= 1.2.0
+Requires: libva-drm >= 1.2.0
+%endif
+%{?with_drm:Requires: mtdev >= 1.1.0}
+Requires: pixman >= 0.26
+%{?with_wlaunch:Requires: systemd-libs >= 1:198}
+%{?with_drm:Requires: udev-libs >= 1:136}
+Requires: wayland >= 1.7.0
+Requires: xorg-lib-libxkbcommon >= 0.3.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
X11 lub pod innym serwerem składającym Wayland; są także proste
programy klienckie demonstrujące różne aspekty protokołu Wayland.
+%package devel
+Summary: Header files for Weston plugin development
+Summary(pl.UTF-8): Pliki nagłówkowe do tworzenia wtyczek dla Westona
+Group: Development/Libraries
+Requires: Mesa-libEGL-devel >= 7.10
+# GLESv2
+Requires: Mesa-libGLES-devel
+Requires: pixman-devel >= 0.26
+Requires: wayland-devel >= 1.7.0
+Requires: xorg-lib-libxkbcommon-devel >= 0.3.0
+
+%description devel
+Header files for Weston plugin development.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe do tworzenia wtyczek dla Westona.
+
%prep
%setup -q
%build
+%{__libtoolize}
+%{__aclocal} -I m4
+%{__autoconf}
+%{__autoheader}
+%{__automake}
%configure \
%{!?with_clients:--disable-clients} \
%{!?with_drm:--disable-drm-compositor} \
+ %{?with_libinput:--enable-libinput-backend} \
+ %{!?with_libunwind:--disable-libunwind} \
+ %{?with_rdp:--enable-rdp-compositor} \
%{!?with_sclients:--disable-simple-clients} \
--disable-setuid-install \
--disable-silent-rules \
- %{!?with_static_libs:--disable-static} \
+ %{!?with_vaapi:--disable-vaapi-recorder} \
%{!?with_wlaunch:--disable-weston-launch} \
%{!?with_x11:--disable-x11-compositor} \
- %{!?with_xwayland:--disable-xwayland}
+ %{!?with_xwayland:--disable-xwayland} \
+ %{?with_clients:--with-cairo=gl}
%{__make}
%install
%if %{with clients}
%attr(755,root,root) %{_bindir}/weston-terminal
%attr(755,root,root) %{_libexecdir}/weston-desktop-shell
+%attr(755,root,root) %{_libexecdir}/weston-keyboard
%attr(755,root,root) %{_libexecdir}/weston-screensaver
%attr(755,root,root) %{_libexecdir}/weston-screenshooter
-%attr(755,root,root) %{_libexecdir}/weston-tablet-shell
%endif
+%attr(755,root,root) %{_libexecdir}/weston-simple-im
%dir %{_libdir}/weston
+%attr(755,root,root) %{_libdir}/weston/cms-colord.so
+%attr(755,root,root) %{_libdir}/weston/cms-static.so
%if %{with drm}
%attr(755,root,root) %{_libdir}/weston/drm-backend.so
%endif
-%if %{with openwfd}
-%attr(755,root,root) %{_libdir}/weston/openwfd-backend.so
+%attr(755,root,root) %{_libdir}/weston/fbdev-backend.so
+%attr(755,root,root) %{_libdir}/weston/gl-renderer.so
+%attr(755,root,root) %{_libdir}/weston/headless-backend.so
+%if %{with rdp}
+%attr(755,root,root) %{_libdir}/weston/rdp-backend.so
%endif
%if %{with wayland}
%attr(755,root,root) %{_libdir}/weston/wayland-backend.so
%attr(755,root,root) %{_libdir}/weston/xwayland.so
%endif
%attr(755,root,root) %{_libdir}/weston/desktop-shell.so
-%attr(755,root,root) %{_libdir}/weston/tablet-shell.so
+%attr(755,root,root) %{_libdir}/weston/fullscreen-shell.so
+# ivi shell
+%attr(755,root,root) %{_libexecdir}/weston-ivi-shell-user-interface
+%attr(755,root,root) %{_libdir}/weston/hmi-controller.so
+%attr(755,root,root) %{_libdir}/weston/ivi-shell.so
%{_datadir}/weston
+%dir %{_datadir}/wayland-sessions
+%{_datadir}/wayland-sessions/weston.desktop
%{_mandir}/man1/weston.1*
+%{_mandir}/man5/weston.ini.5*
+%{_mandir}/man7/weston-drm.7*
-# noinst, too common names - package in %{name}-demos with weston- prefix?
+# noinst by default - --enable-demo-clients and package in %{name}-demos?
# "simple clients"
-#%attr(755,root,root) %{_bindir}/simple-egl
-#%attr(755,root,root) %{_bindir}/simple-shm
-#%attr(755,root,root) %{_bindir}/simple-touch
+#%attr(755,root,root) %{_bindir}/weston-multi-resource
+#%attr(755,root,root) %{_bindir}/weston-simple-egl
+#%attr(755,root,root) %{_bindir}/weston-simple-shm
+#%attr(755,root,root) %{_bindir}/weston-simple-touch
%if %{with clients}
-#%attr(755,root,root) %{_bindir}/clickdot
-#%attr(755,root,root) %{_bindir}/dnd
-#%attr(755,root,root) %{_bindir}/editor
-#%attr(755,root,root) %{_bindir}/eventdemo
-#%attr(755,root,root) %{_bindir}/flower
-#%attr(755,root,root) %{_bindir}/image
-#%attr(755,root,root) %{_bindir}/keyboard
-#%attr(755,root,root) %{_bindir}/resizor
-#%attr(755,root,root) %{_bindir}/smoke
+#%attr(755,root,root) %{_bindir}/weston-calibrator
+#%attr(755,root,root) %{_bindir}/weston-clickdot
+#%attr(755,root,root) %{_bindir}/weston-cliptest
+#%attr(755,root,root) %{_bindir}/weston-dnd
+#%attr(755,root,root) %{_bindir}/weston-editor
+#%attr(755,root,root) %{_bindir}/weston-eventdemo
+#%attr(755,root,root) %{_bindir}/weston-flower
+#%attr(755,root,root) %{_bindir}/weston-fullscreen
+#%attr(755,root,root) %{_bindir}/weston-image
+#%attr(755,root,root) %{_bindir}/weston-resizor
+#%attr(755,root,root) %{_bindir}/weston-scaler
+#%attr(755,root,root) %{_bindir}/weston-smoke
+#%attr(755,root,root) %{_bindir}/weston-stacking
+#%attr(755,root,root) %{_bindir}/weston-transformed
# "full GL" clients
-#%attr(755,root,root) %{_bindir}/gears
-# poppler
-#%attr(755,root,root) %{_bindir}/view
+#%attr(755,root,root) %{_bindir}/weston-gears
%endif
+
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/weston
+%{_pkgconfigdir}/weston.pc