You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/x11-apps/mesa-progs/mesa-progs-9999.ebuild

70 lines
1.8 KiB

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MY_PN="${PN/progs/demos}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Mesa's OpenGL utility and demo programs (glxgears and glxinfo)"
HOMEPAGE="https://www.mesa3d.org/ https://mesa.freedesktop.org/ https://gitlab.freedesktop.org/mesa/demos"
if [[ ${PV} = 9999* ]]; then
inherit autotools git-r3
EGIT_REPO_URI="https://gitlab.freedesktop.org/mesa/demos.git"
EGIT_CHECKOUT_DIR="${S}"
EXPERIMENTAL="true"
else
SRC_URI="https://mesa.freedesktop.org/archive/demos/${MY_P}.tar.bz2
https://mesa.freedesktop.org/archive/demos/${PV}/${MY_P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
S="${WORKDIR}/${MY_P}"
fi
LICENSE="LGPL-2"
SLOT="0"
IUSE="egl gles2"
RDEPEND="
media-libs/mesa[egl(+)?,gles2?]
virtual/opengl
x11-libs/libX11"
DEPEND="${RDEPEND}
virtual/glu
x11-base/xorg-proto"
BDEPEND="sys-apps/grep
sys-apps/file"
src_prepare() {
default
[[ ${PV} = 9999* ]] && eautoreconf
}
src_compile() {
emake -C src/glad libglad.la
emake -C src/xdemos glxgears glxinfo
if use egl; then
emake LDLIBS="-lEGL" -C src/egl/opengl/ eglinfo
emake -C src/egl/eglut/ libeglut_x11.la
emake LDLIBS="-lGL -lEGL -lX11 -lm" -C src/egl/opengl/ eglgears_x11
if use gles2; then
emake LDLIBS="-lGLESv2 -lEGL -lX11" -C src/egl/opengles2/ es2_info
emake LDLIBS="-lGLESv2 -lEGL -lX11 -lm" -C src/egl/opengles2/ es2gears_x11
fi
fi
}
src_install() {
local demo='src/xdemos'
if use egl; then
demo="${demo} src/egl/opengl"
use gles2 && demo="${demo} src/egl/opengles2"
fi
# Ensure only the binaries are installed and not a similarly named wrapper script
find ${demo} -type f -print0 |
xargs -0 file | grep executable | grep ELF | cut -f 1 -d : |
xargs -I '{}' dobin '{}' || die
}