3 |
3 |
|
4 |
4 |
EAPI=8
|
5 |
5 |
|
6 |
|
LUA_COMPAT=( lua5-1 )
|
|
6 |
LUA_COMPAT=( lua5-1 luajit )
|
7 |
7 |
inherit cmake lua-single xdg
|
8 |
8 |
|
9 |
9 |
DESCRIPTION="Portable Famicom/NES emulator, an evolution of the original FCE Ultra"
|
10 |
10 |
HOMEPAGE="https://fceux.com/"
|
11 |
|
SRC_URI="https://github.com/TASEmulators/fceux/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
11 |
SRC_URI="
|
|
12 |
https://github.com/TASEmulators/fceux/archive/refs/tags/v${PV}.tar.gz
|
|
13 |
-> ${P}.tar.gz
|
|
14 |
"
|
12 |
15 |
|
13 |
16 |
LICENSE="GPL-2+"
|
14 |
17 |
SLOT="0"
|
15 |
18 |
KEYWORDS="~amd64 ~x86"
|
16 |
|
IUSE="ffmpeg qt6 x264 x265"
|
|
19 |
IUSE="archive ffmpeg qt6 x264 x265"
|
17 |
20 |
REQUIRED_USE="${LUA_REQUIRED_USE}"
|
18 |
21 |
|
19 |
22 |
RDEPEND="
|
20 |
23 |
${LUA_DEPS}
|
|
24 |
media-libs/libglvnd
|
|
25 |
media-libs/libsdl2[joystick,sound,threads,video]
|
|
26 |
sys-libs/zlib:=[minizip]
|
|
27 |
archive? ( app-arch/libarchive:= )
|
21 |
28 |
qt6? ( dev-qt/qtbase:6[gui,opengl,widgets,-gles2-only] )
|
22 |
29 |
!qt6? (
|
23 |
30 |
dev-qt/qtcore:5
|
... | ... | |
25 |
32 |
dev-qt/qtopengl:5[-gles2-only]
|
26 |
33 |
dev-qt/qtwidgets:5
|
27 |
34 |
)
|
28 |
|
media-libs/libglvnd
|
29 |
|
media-libs/libsdl2[joystick,sound,threads,video]
|
30 |
|
sys-libs/zlib:=[minizip]
|
31 |
35 |
ffmpeg? ( media-video/ffmpeg:= )
|
32 |
36 |
x264? ( media-libs/x264:= )
|
33 |
|
x265? ( media-libs/x265:= )"
|
|
37 |
x265? ( media-libs/x265:= )
|
|
38 |
"
|
34 |
39 |
DEPEND="${RDEPEND}"
|
35 |
40 |
|
36 |
41 |
PATCHES=(
|
37 |
42 |
"${FILESDIR}"/${PN}-2.4.0-desktop.patch
|
38 |
43 |
"${FILESDIR}"/${PN}-2.4.0-no-git.patch
|
39 |
|
"${FILESDIR}"/${PN}-2.4.0-gcc13.patch
|
|
44 |
"${FILESDIR}"/${PN}-2.6.6-luajit.patch
|
|
45 |
"${FILESDIR}"/${PN}-2.6.6-no-glx.patch
|
40 |
46 |
)
|
41 |
47 |
|
42 |
48 |
src_prepare() {
|
43 |
49 |
cmake_src_prepare
|
44 |
50 |
|
45 |
|
use x264 || sed -i '/pkg_check_modules.*X264/d' src/CMakeLists.txt || die
|
46 |
|
use x265 || sed -i '/pkg_check_modules.*X265/d' src/CMakeLists.txt || die
|
47 |
|
use ffmpeg || sed -i '/pkg_check_modules.*LIBAV/d' src/CMakeLists.txt || die
|
|
51 |
local use
|
|
52 |
for use in archive:libarchive ffmpeg:libav x264 x265; do
|
|
53 |
use ${use%:*} ||
|
|
54 |
sed -i "/check_modules( ${use#*:} /Id" src/CMakeLists.txt || die
|
|
55 |
done
|
|
56 |
|
|
57 |
rm output/*.{chm,dll} || die # windows-only
|
48 |
58 |
}
|
49 |
59 |
|
50 |
60 |
src_configure() {
|
51 |
61 |
local mycmakeargs=(
|
|
62 |
-DGLVND=yes
|
52 |
63 |
-DPUBLIC_RELEASE=yes
|
53 |
64 |
-DQT6=$(usex qt6)
|
54 |
65 |
)
|
... | ... | |
60 |
71 |
local DOCS=( README TODO-SDL changelog.txt documentation/. readme.md )
|
61 |
72 |
cmake_src_install
|
62 |
73 |
|
63 |
|
# remove unused/duplicate files
|
64 |
|
rm "${ED}"/usr/share/fceux/{lua5{1,.1}.dll,{fceux,taseditor}.chm} \
|
65 |
|
"${ED}"/usr/share/doc/${PF}/fceux{,-net-server}.6 \
|
66 |
|
"${ED}"/usr/share/man/man6/fceux-net-server.6 || die
|
|
74 |
rm "${ED}"/usr/share/doc/${PF}/fceux{,-net-server}.6 || die # duplicate
|
|
75 |
rm "${ED}"/usr/share/man/man6/fceux-net-server.6 || die # not used
|
67 |
76 |
}
|