|
|
|
# Copyright 1999-2023 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/mesa/${PN}"
|
|
|
|
GIT_ECLASS="git-r3"
|
|
|
|
else
|
|
|
|
SRC_URI="https://gitlab.freedesktop.org/mesa/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2"
|
|
|
|
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
|
|
|
S="${WORKDIR}"/${PN}-v${PV}
|
|
|
|
fi
|
|
|
|
inherit meson-multilib multilib virtualx ${GIT_ECLASS}
|
|
|
|
|
|
|
|
DESCRIPTION="Library that allows selection of GL API and of window system at runtime"
|
|
|
|
HOMEPAGE="https://gitlab.freedesktop.org/mesa/waffle"
|
|
|
|
|
|
|
|
LICENSE="BSD-2"
|
|
|
|
SLOT="0"
|
|
|
|
IUSE="doc test wayland X"
|
|
|
|
RESTRICT="!test? ( test ) test" # gl_basic tests don't work when run under sandbox
|
|
|
|
|
|
|
|
RDEPEND="
|
|
|
|
>=media-libs/mesa-23[${MULTILIB_USEDEP}]
|
|
|
|
>=virtual/libudev-208:=[${MULTILIB_USEDEP}]
|
|
|
|
X? (
|
|
|
|
>=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
|
|
|
|
>=x11-libs/libxcb-1.9.1[${MULTILIB_USEDEP}]
|
|
|
|
)
|
|
|
|
wayland? ( >=dev-libs/wayland-1.10[${MULTILIB_USEDEP}] )
|
|
|
|
"
|
|
|
|
DEPEND="${RDEPEND}
|
|
|
|
X? ( >=x11-base/xcb-proto-1.8-r3 )
|
|
|
|
"
|
|
|
|
BDEPEND="
|
|
|
|
app-text/docbook-xml-dtd:4.2
|
|
|
|
dev-libs/libxslt
|
|
|
|
dev-util/wayland-scanner
|
|
|
|
"
|
|
|
|
# test? (
|
|
|
|
# wayland? ( dev-libs/weston[headless] )
|
|
|
|
# )
|
|
|
|
|
|
|
|
MULTILIB_CHOST_TOOLS=(
|
|
|
|
/usr/bin/wflinfo$(get_exeext)
|
|
|
|
)
|
|
|
|
|
|
|
|
multilib_src_configure() {
|
|
|
|
local emesonargs=(
|
|
|
|
$(meson_feature X glx)
|
|
|
|
$(meson_feature wayland)
|
|
|
|
$(meson_feature X x11_egl)
|
|
|
|
-Dgbm=enabled
|
|
|
|
-Dsurfaceless_egl=enabled
|
|
|
|
|
|
|
|
$(meson_use test build-tests)
|
|
|
|
$(meson_native_true build-manpages)
|
|
|
|
-Dbuild-htmldocs=false
|
|
|
|
-Dbuild-examples=false
|
|
|
|
)
|
|
|
|
meson_src_configure
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_test() {
|
|
|
|
if use wayland; then
|
|
|
|
export XDG_RUNTIME_DIR="$(mktemp -p $(pwd) -d xdg-runtime-XXXXXX)"
|
|
|
|
|
|
|
|
weston --backend=headless-backend.so --socket=wayland-6 --idle-time=0 &
|
|
|
|
compositor=$!
|
|
|
|
export WAYLAND_DISPLAY=wayland-6
|
|
|
|
fi
|
|
|
|
|
|
|
|
export MESA_SHADER_CACHE_DISABLE=true
|
|
|
|
virtx meson_src_test
|
|
|
|
|
|
|
|
if use wayland; then
|
|
|
|
kill ${compositor}
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_install() {
|
|
|
|
meson_src_install
|
|
|
|
}
|
|
|
|
|
|
|
|
multilib_src_install_all() {
|
|
|
|
einstalldocs
|
|
|
|
|
|
|
|
rm -r \
|
|
|
|
"${ED}"/usr/share/doc/${P} \
|
|
|
|
"${ED}"/usr/share/doc/waffle1/release-notes || die
|
|
|
|
mv "${ED}"/usr/share/doc/{waffle1,${P}} || die
|
|
|
|
if ! use doc; then
|
|
|
|
rm -rf \
|
|
|
|
"${ED}"/usr/share/man/man{3,7} || die
|
|
|
|
fi
|
|
|
|
}
|