0af0f01a4a0b54187ae607fd170d6eee31c87c0f
[gentoo.git] / dev-libs / weston / weston-9999.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
30 REQUIRED_USE="
31         colord? ( lcms )
32         drm? ( gles2 )
33         pipewire? ( drm )
34         screen-sharing? ( rdp )
35         test? ( desktop headless xwayland )
36         wayland-compositor? ( gles2 )
37         || ( drm fbdev headless rdp wayland-compositor X )
38 "
39
40 RDEPEND="
41         >=dev-libs/libinput-0.8.0
42         >=dev-libs/wayland-1.17.0
43         >=dev-libs/wayland-protocols-1.18
44         lcms? ( media-libs/lcms:2 )
45         media-libs/libpng:0=
46         webp? ( media-libs/libwebp:0= )
47         jpeg? ( virtual/jpeg:0= )
48         >=x11-libs/cairo-1.11.3
49         >=x11-libs/libdrm-2.4.68
50         >=x11-libs/libxkbcommon-0.5.0
51         >=x11-libs/pixman-0.25.2
52         x11-misc/xkeyboard-config
53         fbdev? (
54                 >=sys-libs/mtdev-1.1.0
55                 >=virtual/udev-136
56         )
57         colord? ( >=x11-misc/colord-0.1.27 )
58         drm? (
59                 >=media-libs/mesa-17.1[gbm]
60                 >=sys-libs/mtdev-1.1.0
61                 >=virtual/udev-136
62         )
63         editor? ( x11-libs/pango )
64         gles2? (
65                 media-libs/mesa[gles2,wayland]
66         )
67         pipewire? ( >=media-video/pipewire-0.2 )
68         rdp? ( >=net-misc/freerdp-2.0.0_rc2:= )
69         remoting? (
70                 media-libs/gstreamer:1.0
71                 media-libs/gst-plugins-base:1.0
72         )
73         systemd? (
74                 sys-auth/pambase[systemd]
75                 >=sys-apps/dbus-1.6
76                 >=sys-apps/systemd-209[pam]
77         )
78         launch? ( sys-auth/pambase )
79         X? (
80                 >=x11-libs/libxcb-1.9
81                 x11-libs/libX11
82         )
83         xwayland? (
84                 x11-base/xorg-server[wayland]
85                 x11-libs/cairo[xcb]
86                 >=x11-libs/libxcb-1.9
87                 x11-libs/libXcursor
88         )
89 "
90 DEPEND="${RDEPEND}"
91 BDEPEND="
92         virtual/pkgconfig
93 "
94
95 src_configure() {
96         local emesonargs=(
97                 $(meson_use drm backend-drm)
98                 -Dbackend-drm-screencast-vaapi=false
99                 $(meson_use headless backend-headless)
100                 $(meson_use rdp backend-rdp)
101                 $(meson_use screen-sharing screenshare)
102                 $(meson_use wayland-compositor backend-wayland)
103                 $(meson_use X backend-x11)
104                 $(meson_use fbdev backend-fbdev)
105                 -Dbackend-default=auto
106                 $(meson_use gles2 renderer-gl)
107                 $(meson_use launch weston-launch)
108                 $(meson_use xwayland)
109                 $(meson_use systemd)
110                 $(meson_use remoting)
111                 $(meson_use pipewire)
112                 $(meson_use desktop shell-desktop)
113                 $(meson_use fullscreen shell-fullscreen)
114                 $(meson_use ivi shell-ivi)
115                 $(meson_use lcms color-management-lcms)
116                 $(meson_use colord color-management-colord)
117                 $(meson_use systemd launcher-logind)
118                 $(meson_use jpeg image-jpeg)
119                 $(meson_use webp image-webp)
120                 -Dtools=debug,info,terminal
121                 -Dsimple-dmabuf-drm=auto
122                 $(meson_use examples demo-clients)
123                 $(usex examples -Dsimple-clients=damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "")
124                 $(meson_use resize-optimization resize-pool)
125                 -Dtest-junit-xml=false
126                 "${myconf[@]}"
127         )
128         meson_src_configure
129 }
130
131 src_test() {
132         xdg_environment_reset
133
134         # devices test usually fails.
135         cd "${BUILD_DIR}" || die
136         meson test $(meson test --list | grep -Fxv devices) || die
137 }
138
139 src_install() {
140         meson_src_install
141         if use launch && use suid; then
142                 chmod u+s "${ED}"/usr/bin/weston-launch || die
143         fi
144         readme.gentoo_create_doc
145 }