aboutsummaryrefslogtreecommitdiff
blob: 50baf8ec3dc39ee3fd8a5a96b4199924ebc3f076 (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
70
71
72
73
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit meson-multilib

MESON_WRAP_VER="1"

DESCRIPTION="Bloat-free graphical user interface library for C++"
HOMEPAGE="
	https://github.com/ocornut/imgui
"

SRC_URI="https://github.com/ocornut/imgui/archive/v${PV}.tar.gz -> imgui-${PV}.tar.gz"

LICENSE="MIT"
SLOT="0/${PV}"
KEYWORDS="~amd64"
IUSE="allegro5 glfw sdl2 sdl3 sdl2_renderer sdl3_renderer opengl vulkan webgpu"

RDEPEND="
	dev-libs/stb:=
	media-libs/glew[${MULTILIB_USEDEP}]
	allegro5? ( media-libs/allegro:5[${MULTILIB_USEDEP}] )
	glfw? ( media-libs/glfw:0[${MULTILIB_USEDEP}] )
	sdl2? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
	sdl2_renderer? ( media-libs/libsdl2[${MULTILIB_USEDEP}] )
	opengl? ( || (
	>=media-libs/mesa-24.1.0_rc1[opengl,${MULTILIB_USEDEP}]
		<media-libs/mesa-24.1.0_rc1[gles2,egl,${MULTILIB_USEDEP}]
	) )
	vulkan? ( media-libs/vulkan-loader[${MULTILIB_USEDEP}] )
	webgpu? ( dev-util/webgpu-headers )
"
DEPEND="
	${RDEPEND}
	vulkan? ( dev-util/vulkan-headers )
"
BDEPEND="
	virtual/pkgconfig
"

src_prepare() {
	default

	# Use custom meson.build and meson_options.txt to install instead of relay on packages
	cp "${FILESDIR}/${PN}-meson.build" "${S}/meson.build" || die
	cp "${FILESDIR}/${PN}-meson_options.txt" "${S}/meson_options.txt" || die
	sed -i "s/  version: 'PV',/  version: '${PV}',/g" "${S}/meson.build" || die
}

multilib_src_configure() {
	local emesonargs=(
		-Ddx9=disabled
		-Ddx10=disabled
		-Ddx11=disabled
		-Ddx12=disabled
		-Dmetal=disabled
		$(meson_feature opengl)
		$(meson_feature vulkan)
		$(meson_feature glfw)
		$(meson_feature sdl2)
		$(meson_feature sdl2_renderer)
		-Dsdl3=disabled
		-Dsdl3_renderer=disabled
		$(meson_feature webgpu)
		-Dosx=disabled
		-Dwin=disabled
		$(meson_feature allegro5)
	)
	meson_src_configure
}