blob: 92f2ac4813da466bb94f7ddaa28df8fa0b75b8e4 (
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop xdg
DESCRIPTION="Game Boy Advance emulator written in C"
HOMEPAGE="https://mgba.io"
if [[ "${PV}" == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/mgba-emu/mgba.git"
else
MY_PV="${PV/_beta/-b}"
SRC_URI="https://github.com/${PN}-emu/${PN}/archive/${MY_PV}.tar.gz -> ${P}.tar.gz"
[[ "${PV}" == *_beta* ]] || \
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
S="${WORKDIR}/${PN}-${MY_PV}"
fi
LICENSE="MPL-2.0"
SLOT="0"
IUSE="debug discord elf ffmpeg gles2 gles3 opengl qt5 +sdl sqlite"
REQUIRED_USE="|| ( qt5 sdl )
qt5? ( opengl )"
RDEPEND="
media-libs/libpng:0=
sys-libs/zlib[minizip]
debug? ( dev-libs/libedit )
elf? ( dev-libs/elfutils )
ffmpeg? ( media-video/ffmpeg:= )
opengl? ( media-libs/libglvnd )
qt5? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtmultimedia:5
dev-qt/qtwidgets:5
opengl? ( dev-qt/qtopengl:5 )
)
sdl? ( media-libs/libsdl2[X,sound,joystick,video,opengl?] )
sqlite? ( dev-db/sqlite:3 )
"
DEPEND="${RDEPEND}
gles2? ( media-libs/libglvnd )
gles3? ( media-libs/libglvnd )
"
PATCHES=(
"${FILESDIR}/${P}-ffmpeg5.patch" #834374
)
src_prepare() {
xdg_environment_reset
cmake_src_prepare
# Get rid of any bundled stuff we don't want
local pkg
for pkg in libpng lzma sqlite3 zlib ; do
rm -r src/third-party/${pkg} || die
done
}
src_configure() {
local mycmakeargs=(
-DCMAKE_SKIP_RPATH=ON
-DBUILD_GL="$(usex opengl)"
-DBUILD_GLES2="$(usex gles2)"
-DBUILD_GLES3="$(usex gles3)"
-DBUILD_PYTHON=OFF
-DBUILD_QT="$(usex qt5)"
-DBUILD_SDL="$(usex sdl)"
-DBUILD_SHARED=ON
# test suite fails to build (>=0.6.0)
-DBUILD_SUITE=OFF
-DBUILD_TEST=OFF
-DM_CORE_GB=ON
-DM_CORE_GBA=ON
-DUSE_DEBUGGERS="$(usex debug)"
-DUSE_DISCORD_RPC="$(usex discord)"
-DUSE_EDITLINE="$(usex debug)"
-DUSE_ELF="$(usex elf)"
-DUSE_EPOXY=OFF
-DUSE_FFMPEG="$(usex ffmpeg)"
-DUSE_GDB_STUB="$(usex debug)"
-DUSE_LIBZIP=OFF
-DUSE_LZMA=OFF
-DUSE_MINIZIP=ON
-DUSE_PNG=ON
-DUSE_SQLITE3="$(usex sqlite)"
-DUSE_ZLIB=ON
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
}
src_install() {
if use qt5 ; then
dobin ${BUILD_DIR}/qt/${PN}-qt
doman doc/${PN}-qt.6
domenu res/${PN}-qt.desktop
for size in 16 24 32 48 64 96 128 256 ; do
newicon -s ${size} res/${PN}-${size}.png ${PN}.png
done
fi
if use sdl ; then
doman doc/${PN}.6
newbin ${BUILD_DIR}/sdl/${PN} ${PN}-sdl
fi
dolib.so ${BUILD_DIR}/lib${PN}.so*
}
pkg_preinst() {
if use qt5 ; then
xdg_pkg_preinst
fi
}
pkg_postinst() {
if use qt5 ; then
xdg_pkg_postinst
fi
}
pkg_postrm() {
if use qt5 ; then
xdg_pkg_postrm
fi
}
|