*/*: [QA] Fix trivial cases of MissingTestRestrict
[gentoo.git] / dev-libs / weston / weston-7.0.0.ebuild
1 # Copyright 1999-2019 Gentoo Authors
2 # Distributed under the terms of the GNU General Public License v2
3
4 EAPI=7
5
6 if [[ ${PV} = 9999* ]]; then
7         EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git"
8         GIT_ECLASS="git-r3"
9         EXPERIMENTAL="true"
10 fi
11
12 inherit meson readme.gentoo-r1 toolchain-funcs xdg-utils $GIT_ECLASS
13
14 DESCRIPTION="Wayland reference compositor"
15 HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston"
16
17 if [[ $PV = 9999* ]]; then
18         SRC_URI="${SRC_PATCHES}"
19         KEYWORDS=""
20 else
21         SRC_URI="https://wayland.freedesktop.org/releases/${P}.tar.xz"
22         KEYWORDS="~amd64 ~arm ~x86"
23 fi
24
25 LICENSE="MIT CC-BY-SA-3.0"
26 SLOT="0"
27
28 IUSE="colord +desktop +drm editor examples fbdev fullscreen +gles2 headless ivi jpeg +launch lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test wayland-compositor webp +X xwayland"
29 RESTRICT="!test? ( test )"
30
31 REQUIRED_USE="
32         colord? ( lcms )
33         drm? ( gles2 )
34         pipewire? ( drm )
35         screen-sharing? ( rdp )
36         test? ( desktop headless xwayland )
37         wayland-compositor? ( gles2 )
38         || ( drm fbdev headless rdp wayland-compositor X )
39 "
40
41 RDEPEND="
42         >=dev-libs/libinput-0.8.0
43         >=dev-libs/wayland-1.17.0
44         >=dev-libs/wayland-protocols-1.18
45         lcms? ( media-libs/lcms:2 )
46         media-libs/libpng:0=
47         webp? ( media-libs/libwebp:0= )
48         jpeg? ( virtual/jpeg:0= )
49         >=x11-libs/cairo-1.11.3
50         >=x11-libs/libdrm-2.4.68
51         >=x11-libs/libxkbcommon-0.5.0
52         >=x11-libs/pixman-0.25.2
53         x11-misc/xkeyboard-config
54         fbdev? (
55                 >=sys-libs/mtdev-1.1.0
56                 >=virtual/udev-136
57         )
58         colord? ( >=x11-misc/colord-0.1.27 )
59         drm? (
60                 >=media-libs/mesa-17.1[gbm]
61                 >=sys-libs/mtdev-1.1.0
62                 >=virtual/udev-136
63         )
64         editor? ( x11-libs/pango )
65         gles2? (
66                 media-libs/mesa[gles2,wayland]
67         )
68         pipewire? ( >=media-video/pipewire-0.2 )
69         rdp? ( >=net-misc/freerdp-2.0.0_rc2:= )
70         remoting? (
71                 media-libs/gstreamer:1.0
72                 media-libs/gst-plugins-base:1.0
73         )
74         systemd? (
75                 sys-auth/pambase[systemd]
76                 >=sys-apps/dbus-1.6
77                 >=sys-apps/systemd-209[pam]
78         )
79         launch? ( sys-auth/pambase )
80         X? (
81                 >=x11-libs/libxcb-1.9
82                 x11-libs/libX11
83         )
84         xwayland? (
85                 x11-base/xorg-server[wayland]
86                 x11-libs/cairo[xcb]
87                 >=x11-libs/libxcb-1.9
88                 x11-libs/libXcursor
89         )
90 "
91 DEPEND="${RDEPEND}"
92 BDEPEND="
93         virtual/pkgconfig
94 "
95
96 src_configure() {
97         local emesonargs=(
98                 $(meson_use drm backend-drm)
99                 -Dbackend-drm-screencast-vaapi=false
100                 $(meson_use headless backend-headless)
101                 $(meson_use rdp backend-rdp)
102                 $(meson_use screen-sharing screenshare)
103                 $(meson_use wayland-compositor backend-wayland)
104                 $(meson_use X backend-x11)
105                 $(meson_use fbdev backend-fbdev)
106                 -Dbackend-default=auto
107                 $(meson_use gles2 renderer-gl)
108                 $(meson_use launch weston-launch)
109                 $(meson_use xwayland)
110                 $(meson_use systemd)
111                 $(meson_use remoting)
112                 $(meson_use pipewire)
113                 $(meson_use desktop shell-desktop)
114                 $(meson_use fullscreen shell-fullscreen)
115                 $(meson_use ivi shell-ivi)
116                 $(meson_use lcms color-management-lcms)
117                 $(meson_use colord color-management-colord)
118                 $(meson_use systemd launcher-logind)
119                 $(meson_use jpeg image-jpeg)
120                 $(meson_use webp image-webp)
121                 -Dtools=debug,info,terminal
122                 -Dsimple-dmabuf-drm=auto
123                 $(meson_use examples demo-clients)
124                 -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
125                 $(meson_use resize-optimization resize-pool)
126                 -Dtest-junit-xml=false
127                 "${myconf[@]}"
128         )
129         meson_src_configure
130 }
131
132 src_test() {
133         xdg_environment_reset
134
135         # devices test usually fails.
136         cd "${BUILD_DIR}" || die
137         meson test $(meson test --list | grep -Fxv devices) || die
138 }
139
140 src_install() {
141         meson_src_install
142         if use launch && use suid; then
143                 chmod u+s "${ED}"/usr/bin/weston-launch || die
144         fi
145         readme.gentoo_create_doc
146 }