diff options
Diffstat (limited to 'games-emulation')
-rw-r--r-- | games-emulation/Manifest.gz | bin | 11865 -> 11871 bytes | |||
-rw-r--r-- | games-emulation/fceux/Manifest | 6 | ||||
-rw-r--r-- | games-emulation/fceux/fceux-2.6.6.ebuild | 76 | ||||
-rw-r--r-- | games-emulation/fceux/files/fceux-2.6.6-luajit.patch | 23 | ||||
-rw-r--r-- | games-emulation/fceux/files/fceux-2.6.6-no-glx.patch | 9 | ||||
-rw-r--r-- | games-emulation/fceux/metadata.xml | 1 |
6 files changed, 114 insertions, 1 deletions
diff --git a/games-emulation/Manifest.gz b/games-emulation/Manifest.gz Binary files differindex 3a80caecd8ba..9f4cfa37b1ba 100644 --- a/games-emulation/Manifest.gz +++ b/games-emulation/Manifest.gz 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> |