summaryrefslogtreecommitdiff
path: root/games-emulation/fceux
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-09-24 23:23:49 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-09-24 23:23:49 +0100
commitb914cf9afa036a8ab23e8cb4cf7df1acd4a1bd44 (patch)
treea85a260f723a492575b1676e3f6cf0e031edba7e /games-emulation/fceux
parent6ec91ab7ea6f7b0b84e3006f7136ad8d67bd6ef0 (diff)
gentoo auto-resync : 24:09:2023 - 23:23:49
Diffstat (limited to 'games-emulation/fceux')
-rw-r--r--games-emulation/fceux/Manifest6
-rw-r--r--games-emulation/fceux/fceux-2.6.6.ebuild76
-rw-r--r--games-emulation/fceux/files/fceux-2.6.6-luajit.patch23
-rw-r--r--games-emulation/fceux/files/fceux-2.6.6-no-glx.patch9
-rw-r--r--games-emulation/fceux/metadata.xml1
5 files changed, 114 insertions, 1 deletions
diff --git a/games-emulation/fceux/Manifest b/games-emulation/fceux/Manifest
index 407f86ffba65..df54fbc10493 100644
--- a/games-emulation/fceux/Manifest
+++ b/games-emulation/fceux/Manifest
@@ -1,6 +1,10 @@
AUX fceux-2.4.0-desktop.patch 447 BLAKE2B c9dc55fc34d990de50a1897cc9d1fe8abb5060336ae7b227ac1b07e28ef89d15e202be790ec3f8ff0f8280a64b81ae28c98ce1a22e54f57d93b2e3bb04a24b59 SHA512 00a2af80e5dc6f5ddff8e5fc28b94bc2e249798ec44f5f0b9ed414dc8438e1937058f9bab65cbb5b2c9c6dec85af1a51e58f68405dd758db4ec293efbdaf5398
AUX fceux-2.4.0-gcc13.patch 1064 BLAKE2B 97c690be1f111d413aa4b6431bcfe5a4508f6d36dc975983437177d7154c797350dff1e57e9984ed9604a1c91511828f9e4cdca3c6e7ca68f554783a705208fa SHA512 8e7a56442f86f13bebe9d796575c21896b032da9dd3b9be000731330ab7248d652527d21a8c5b3e2475b37214ec1159dcde3b4266bf90f31d2cdda616919b587
AUX fceux-2.4.0-no-git.patch 377 BLAKE2B 8b0be40a0eba5249f73942ea774dc0a37e73ac71fe1684d01551cd96876878d53219c0744ba0e6789c3663c56e58fccc2a2a450b03207219c76e2c10b04ea679 SHA512 6c67d5b823a2b70d6982d9f911edab65c0bcf2cf5faf1ae00004201aefe99d5feae4592204c2586eaa43affff6d05f2e6e3b9274add4713073c0e1cfb519465d
+AUX fceux-2.6.6-luajit.patch 694 BLAKE2B 1fa2d756c0b1f941d17f659e3557787b5545cb6c3fa7771fec8dad4ba8b4ba9c8f8f22c6105732e7c8cc0c0f8d5cbd05b880496a34fd42609ce9195b7fecb7c2 SHA512 bbd8782d246ce9b451b8000db373eec9a9e6978f08e621ccb81b95eab1540eff2ba3290450bd2c3fac7a36fc2d26765595184f993e06315da7c07df2b03fcc53
+AUX fceux-2.6.6-no-glx.patch 286 BLAKE2B 895c4a4fae7deb68fca6f26641f6c038b5f6fadd391dbf9a920145555e204f769435a305770c5a05bdcf9476e7d783dece8d7d9c698d6ac22314363b51ec2e12 SHA512 2b39ffb34b73522bce3610631f302c9bc843fe2acb1df156f5c14cfc4b0d20cdd1938a979ce09dfe9f3a16cc6fed238db04e4bb6aa81e177c852392fc5e3b146
DIST fceux-2.6.5.tar.gz 23299626 BLAKE2B 167fbe401635b96ad0c1c07826b1e7b032fa66806a2c395aebcae9d2b4295a327d2abad960a883751da43baf49f91276dd6521692406ce610df7c1ce167006ca SHA512 3d37583d1917783513f05bd215437401aacda3bd1930238212cbbdd6ba105236028066d7198bfd8182e6d55ded7ce293f1e5d23295d2b730ec800dc5e5652598
+DIST fceux-2.6.6.tar.gz 23330274 BLAKE2B 4d7779af0afc5fa12d3734d282f92b105757d204c69091b4e3574e4ced6179c5e202b752225f412d68331c9866c63b626703b014835d398ca1262deeb0d32654 SHA512 0a6cff4c6b900569978003675812d92d893281c2bdf3b0b58c07e257251648ee325f9bb29b01253ab1a5e9354631d91a6e67a1e6bb36ebe89d5067509cabfa64
EBUILD fceux-2.6.5.ebuild 1712 BLAKE2B 838e7093465ce61a6fa750f0fdf53656ea9d14f6c88b0c9decca42d07d31d43f3bb5708bfee11bf389d81b69b0b6494fdb44e5eef8cc51d615a38c8d8b600e9f SHA512 3c2bb6717ed2971e9f18550e27c0c4cfc7ed6e0f63aec06fba9b56fd94789d15aa47a55baa9b7a73276d8c5f9fe99b75e71d19609915272d413840f09744468d
-MISC metadata.xml 573 BLAKE2B ff51125a7c122d3d87892b4fd0423903b8f29fdc0354ff191ef5c6824149d48e40279ba0b899ab78cfcf9fa1c5b042767af0a53807d653b10fc9ec9a77504ff5 SHA512 2745d88e5835a74d4cc4e2b5d52b9818812a05c474063183e0d9066115057684f8fcb351860c08d65cb33d72789efada0439bc33e6a20f6f9a2ecadea203ebb7
+EBUILD fceux-2.6.6.ebuild 1734 BLAKE2B aff14cce3852a594a7c6df12da1e344d3253867d86c34a1a45bcdd02b3b31f73250b28616ae134b9a05c97eb2ed91cfb37f3d12db386c0996b1a0b8234c070aa SHA512 0a57db74c6a3a1170303d67a64e18f21cfca99e77459c7b797a75337092f2fbb7e62284891ddbe377d1b1d471086f88a747cbbc8ef5cba7ef60c2cfa3c6ec233
+MISC metadata.xml 655 BLAKE2B 937f4fdff1702689100b9b49d14878ddcd960bc1119160f0892c1458e707a9af0c02f3f62bcfa7b5a722f999695cc125f7ea35456969df4843315fffa06acf54 SHA512 422a83db150c7026db66e5ca7fc160b137ce5613c267a4ee9a9496be2c7c471382338a8bd03212aac26f41ff193d62a952c148717e0643776c63e51a3e520aaf
diff --git a/games-emulation/fceux/fceux-2.6.6.ebuild b/games-emulation/fceux/fceux-2.6.6.ebuild
new file mode 100644
index 000000000000..429084169f18
--- /dev/null
+++ b/games-emulation/fceux/fceux-2.6.6.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 luajit )
+inherit cmake lua-single xdg
+
+DESCRIPTION="Portable Famicom/NES emulator, an evolution of the original FCE Ultra"
+HOMEPAGE="https://fceux.com/"
+SRC_URI="
+ https://github.com/TASEmulators/fceux/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="archive ffmpeg qt6 x264 x265"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+ ${LUA_DEPS}
+ media-libs/libglvnd
+ media-libs/libsdl2[joystick,sound,threads,video]
+ sys-libs/zlib:=[minizip]
+ archive? ( app-arch/libarchive:= )
+ qt6? ( dev-qt/qtbase:6[gui,opengl,widgets,-gles2-only] )
+ !qt6? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5[-gles2-only]
+ dev-qt/qtwidgets:5
+ )
+ ffmpeg? ( media-video/ffmpeg:= )
+ x264? ( media-libs/x264:= )
+ x265? ( media-libs/x265:= )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.0-desktop.patch
+ "${FILESDIR}"/${PN}-2.4.0-no-git.patch
+ "${FILESDIR}"/${PN}-2.6.6-luajit.patch
+ "${FILESDIR}"/${PN}-2.6.6-no-glx.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ local use
+ for use in archive:libarchive ffmpeg:libav x264 x265; do
+ use ${use%:*} ||
+ sed -i "/check_modules( ${use#*:} /Id" src/CMakeLists.txt || die
+ done
+
+ rm output/*.{chm,dll} || die # windows-only
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DGLVND=yes
+ -DPUBLIC_RELEASE=yes
+ -DQT6=$(usex qt6)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ local DOCS=( README TODO-SDL changelog.txt documentation/. readme.md )
+ cmake_src_install
+
+ rm "${ED}"/usr/share/doc/${PF}/fceux{,-net-server}.6 || die # duplicate
+ rm "${ED}"/usr/share/man/man6/fceux-net-server.6 || die # not used
+}
diff --git a/games-emulation/fceux/files/fceux-2.6.6-luajit.patch b/games-emulation/fceux/files/fceux-2.6.6-luajit.patch
new file mode 100644
index 000000000000..7d9720bd5277
--- /dev/null
+++ b/games-emulation/fceux/files/fceux-2.6.6-luajit.patch
@@ -0,0 +1,23 @@
+LuaJIT is 5.1-compatible and is maintained unlike lua5.1 itself, so
+try to allow it.
+
+Use the eclass' created unversioned lua.pc, and define the compat
+macro that is normally defined in 5.1's lauxlib.h but not luajit.
+
+TODO: an upstreamable fix involve find_package for lua (can manipulate
+preferences with cmake args), and no longer using luaL_reg at all.
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -186,3 +186,3 @@
+ # Check for LUA
+- pkg_search_module( LUA lua5.1 lua-5.1 )
++ pkg_search_module( LUA lua )
+
+--- a/src/lua-engine.cpp
++++ b/src/lua-engine.cpp
+@@ -124,2 +124,5 @@
+ #include <lauxlib.h>
++#ifndef luaL_reg
++#define luaL_reg luaL_Reg
++#endif
+ #include <lualib.h>
diff --git a/games-emulation/fceux/files/fceux-2.6.6-no-glx.patch b/games-emulation/fceux/files/fceux-2.6.6-no-glx.patch
new file mode 100644
index 000000000000..6f2ae359c80c
--- /dev/null
+++ b/games-emulation/fceux/files/fceux-2.6.6-no-glx.patch
@@ -0,0 +1,9 @@
+Allow linking on a GLX-less system.
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -87 +87 @@
+- find_package(OpenGL REQUIRED)
++ find_package(OpenGL REQUIRED COMPONENTS OpenGL )
+@@ -195 +195 @@
+- set( OPENGL_LDFLAGS ${OPENGL_LIBRARIES} )
++ set( OPENGL_LDFLAGS OpenGL::OpenGL )
diff --git a/games-emulation/fceux/metadata.xml b/games-emulation/fceux/metadata.xml
index 140a0d631683..65c0533d2709 100644
--- a/games-emulation/fceux/metadata.xml
+++ b/games-emulation/fceux/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo Games Project</name>
</maintainer>
<use>
+ <flag name="archive">Use <pkg>app-arch/libarchive</pkg> for 7zip support</flag>
<flag name="ffmpeg">Use <pkg>media-video/ffmpeg</pkg> for video recording</flag>
<flag name="x265">Use <pkg>media-libs/x265</pkg> for video recording (HEVC)</flag>
</use>