diff options
Diffstat (limited to 'dev-libs/weston/weston-13.0.1.ebuild')
-rw-r--r-- | dev-libs/weston/weston-13.0.1.ebuild | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/dev-libs/weston/weston-13.0.1.ebuild b/dev-libs/weston/weston-13.0.1.ebuild new file mode 100644 index 000000000000..071601606aaa --- /dev/null +++ b/dev-libs/weston/weston-13.0.1.ebuild @@ -0,0 +1,150 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +if [[ ${PV} = 9999* ]]; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/wayland/weston.git" + GIT_ECLASS="git-r3" + EXPERIMENTAL="true" +fi + +PYTHON_COMPAT=( python3_{9..12} ) +inherit meson python-any-r1 readme.gentoo-r1 xdg-utils ${GIT_ECLASS} + +DESCRIPTION="Wayland reference compositor" +HOMEPAGE="https://wayland.freedesktop.org/ https://gitlab.freedesktop.org/wayland/weston" + +if [[ ${PV} = *9999* ]]; then + SRC_URI="${SRC_PATCHES}" +else + SRC_URI="https://gitlab.freedesktop.org/wayland/${PN}/-/releases/${PV}/downloads/${P}.tar.xz" + KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~x86" +fi + +LICENSE="MIT CC-BY-SA-3.0" +SLOT="0" + +IUSE="+desktop +drm editor examples fullscreen +gles2 headless ivi jpeg kiosk lcms pipewire rdp remoting +resize-optimization screen-sharing +suid systemd test vnc wayland-compositor webp +X xwayland" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + drm? ( gles2 ) + pipewire? ( drm ) + remoting? ( drm gles2 ) + screen-sharing? ( rdp ) + test? ( desktop headless lcms xwayland ) + wayland-compositor? ( gles2 ) + || ( drm headless rdp vnc wayland-compositor X ) +" + +RDEPEND=" + >=dev-libs/libinput-1.2.0 + >=dev-libs/wayland-1.22.0 + media-libs/libpng:0= + sys-auth/seatd:= + >=x11-libs/cairo-1.11.3 + >=x11-libs/libdrm-2.4.108 + >=x11-libs/libxkbcommon-0.5.0 + >=x11-libs/pixman-0.25.2 + x11-misc/xkeyboard-config + drm? ( + >=media-libs/mesa-17.1[gbm(+)] + >=sys-libs/mtdev-1.1.0 + >=virtual/udev-136 + ) + editor? ( x11-libs/pango ) + examples? ( x11-libs/pango ) + gles2? ( media-libs/mesa[gles2(+),wayland] ) + jpeg? ( media-libs/libjpeg-turbo:0= ) + lcms? ( >=media-libs/lcms-2.9:2 ) + pipewire? ( >=media-video/pipewire-0.3:= ) + rdp? ( >=net-misc/freerdp-2.3.0:2=[server] ) + remoting? ( + media-libs/gstreamer:1.0 + media-libs/gst-plugins-base:1.0 + ) + systemd? ( sys-apps/systemd ) + vnc? ( + =dev-libs/aml-0.3* + =gui-libs/neatvnc-0.8* + sys-libs/pam + ) + webp? ( media-libs/libwebp:0= ) + X? ( + >=x11-libs/libxcb-1.9 + x11-libs/libX11 + ) + xwayland? ( + x11-base/xwayland + x11-libs/cairo[X,xcb(+)] + >=x11-libs/libxcb-1.9 + x11-libs/libXcursor + >=x11-libs/xcb-util-cursor-0.1.4 + ) +" +DEPEND="${RDEPEND} + >=dev-libs/wayland-protocols-1.24 +" +BDEPEND=" + ${PYTHON_DEPS} + dev-util/wayland-scanner + virtual/pkgconfig + $(python_gen_any_dep 'dev-python/setuptools[${PYTHON_USEDEP}]') +" + +PATCHES=( + "${FILESDIR}"/${PN}-neatvnc-0.8.patch +) + +python_check_deps() { + python_has_version "dev-python/setuptools[${PYTHON_USEDEP}]" +} + +src_configure() { + local emesonargs=( + $(meson_use drm backend-drm) + -Dbackend-drm-screencast-vaapi=false + $(meson_use headless backend-headless) + $(meson_use pipewire backend-pipewire) + $(meson_use rdp backend-rdp) + $(meson_use screen-sharing screenshare) + $(meson_use vnc backend-vnc) + $(meson_use wayland-compositor backend-wayland) + $(meson_use X backend-x11) + -Dbackend-default=auto + $(meson_use gles2 renderer-gl) + $(meson_use xwayland) + $(meson_use systemd) + $(meson_use remoting) + $(meson_use pipewire) + $(meson_use desktop shell-desktop) + $(meson_use fullscreen shell-fullscreen) + $(meson_use ivi shell-ivi) + $(meson_use kiosk shell-kiosk) + $(meson_use lcms color-management-lcms) + $(meson_use jpeg image-jpeg) + $(meson_use webp image-webp) + -Dtools=debug,info,terminal + $(meson_use examples demo-clients) + -Dsimple-clients=$(usex examples damage,dmabuf-v4l,im,shm,touch$(usex gles2 ,dmabuf-egl,egl "") "") + $(meson_use resize-optimization resize-pool) + -Dtest-junit-xml=false + "${myconf[@]}" + ) + meson_src_configure +} + +src_test() { + xdg_environment_reset + addwrite /dev/dri/ + + # xwayland test can fail if X11 socket already exists. + cd "${BUILD_DIR}" || die + meson test $(meson test --list | grep -Exv "xwayland") || die +} + +src_install() { + meson_src_install + readme.gentoo_create_doc +} |