blob: ac2f9b7db41fc451ec141fee73061f46e87e7dbc (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# 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
}
|