summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authororbea <orbea@riseup.net>2024-10-01 08:48:20 -0700
committerEli Schwartz <eschwartz@gentoo.org>2024-10-09 13:26:44 -0400
commit604490a9358fee174fe175b3b810264631f942a4 (patch)
tree34c919503ee219bf09dff0f0edc15eb36df55717 /games-emulation
parentgames-emulation/rmg: mark as LTO-unsafe, strict-aliasing unsafe (diff)
downloadgentoo-604490a9358fee174fe175b3b810264631f942a4.tar.gz
gentoo-604490a9358fee174fe175b3b810264631f942a4.tar.bz2
gentoo-604490a9358fee174fe175b3b810264631f942a4.zip
games-emulation/rmg: add 0.6.6
Signed-off-by: orbea <orbea@riseup.net> Closes: https://github.com/gentoo/gentoo/pull/38837 Signed-off-by: Eli Schwartz <eschwartz@gentoo.org>
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/rmg/Manifest1
-rw-r--r--games-emulation/rmg/rmg-0.6.6.ebuild144
2 files changed, 145 insertions, 0 deletions
diff --git a/games-emulation/rmg/Manifest b/games-emulation/rmg/Manifest
index 67ce5bc6d7bb..bb5340a1f287 100644
--- a/games-emulation/rmg/Manifest
+++ b/games-emulation/rmg/Manifest
@@ -8,6 +8,7 @@ DIST pkg-config-0.3.29.crate 20563 BLAKE2B ed0559b0073890911fb47742743b2586123bf
DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
DIST rmg-0.6.5.tar.gz 78957406 BLAKE2B c6b6e86b13761ceedaf140f0019b627676e9787e108b637fe048b133bdaab77300c96707c4f0619cf7b91ff3b95e8f04cf7404b13c2c11cbb0f8b36b9edd8d1e SHA512 f73e52d61f61bdab3b302936eb6a93bca565b8eaa5108a4ab042df3d9758a5bb92402a6e9c6e587da498bfadbe385cbf9601b25315a5bbdc69c264c21a285699
+DIST rmg-0.6.6.tar.gz 78980131 BLAKE2B 2925e087a1ac35a6ee5ed01a3c17eae5890a2fd72e2921e625f2ee5832763796614a4b7f397290aaea4e6bed2c84af1b9a9d1c002913143227b2a5cfb31985d0 SHA512 57ef882fb08280ec5b999a9c9accca16517517b5798e9283496b47b66c82b5122ec9340df2a2449b554b1aee0314a6c46f7a827759b8ab27b0135b3ea778f783
DIST rusb-0.9.3.crate 43389 BLAKE2B f9359bddad8963fe86f50aecdd2ca95666de49799fa79b656e5f406f0c8262d8478470b44bcd79247a80674f78a7d19f1bb6770ea247c7d28980efe6b369dfef SHA512 fb2125e0a8bbab9b1324b3b5aaa0ccdc3254ffb5adfee1629ae3958d76d50b79a47a02f9ade77e986d9478e66c53bb956b2b08c3fc0efd5c5b488bcb8ecfaa42
DIST serde-1.0.195.crate 76856 BLAKE2B 6a80b59335f222ae48d5e377c30611f30fe6416e6853ca47a39016e21f649cb9dfbe4964ce19e5da977fb9a963228a6a81c1e85af99ae12d7a0a5722901aa2f5 SHA512 0002ecb933d08fbdc8585ee74efb4048d385459f629261f5a4a8401b794f1c02b8296db79f479013a0b2a47ba99bee6c02d60d0fc2454e32f1b038b4071e8727
DIST serde_derive-1.0.195.crate 55687 BLAKE2B 4da7916e36f71dfe82defa6c45b3075395cae54631cdff08a4607e962290020e7214288258fd316439c02536073325f5902e7b00144f97269a207fc453496599 SHA512 8a82ae4e7cfe0c3ac27688cc95d74bf4c2e10c1fe845ab28fb57579b2f47f36d13218c2ae603f93f00114065d47c3e46166dea39b205be673f443c34305dacce
diff --git a/games-emulation/rmg/rmg-0.6.6.ebuild b/games-emulation/rmg/rmg-0.6.6.ebuild
new file mode 100644
index 000000000000..6ca37bec7198
--- /dev/null
+++ b/games-emulation/rmg/rmg-0.6.6.ebuild
@@ -0,0 +1,144 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+
+CRATES="
+ cc@1.0.83
+ cfg-if@1.0.0
+ libc@0.2.152
+ libloading@0.7.4
+ libusb1-sys@0.6.4
+ once_cell@1.19.0
+ pkg-config@0.3.29
+ proc-macro2@1.0.78
+ quote@1.0.35
+ rusb@0.9.3
+ serde@1.0.195
+ serde_derive@1.0.195
+ syn@2.0.48
+ toml@0.5.11
+ unicode-ident@1.0.12
+ vcpkg@0.2.15
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+"
+
+inherit cargo cmake flag-o-matic xdg
+
+MY_PN="${PN^^}"
+MY_P="${MY_PN}-${PV}"
+DESCRIPTION="Rosalie's Mupen GUI"
+HOMEPAGE="https://github.com/Rosalie241/RMG"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/Rosalie241/${MY_PN}.git"
+else
+ SRC_URI="
+ https://github.com//Rosalie241/${MY_PN}/archive/v${PV}/${MY_P}.tar.gz \
+ -> ${P}.tar.gz
+ rust-plugin? ( ${CARGO_CRATE_URIS} )
+ "
+ S="${WORKDIR}/${MY_P}"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="
+ BSD-2 CC0-1.0 GPL-2 GPL-3 MIT ZLIB public-domain
+ angrylion-plugin? ( XMAME )
+ rust-plugin? ( ISC Unicode-DFS-2016 )
+"
+SLOT="0"
+IUSE="angrylion-plugin discord dynarec rust-plugin"
+
+DEPEND="
+ dev-libs/hidapi
+ dev-qt/qtbase:6[gui,opengl,vulkan,widgets]
+ dev-qt/qtsvg:6
+ media-libs/freetype
+ media-libs/libpng:=
+ media-libs/libsamplerate
+ media-libs/libsdl2[haptic,joystick,opengl,sound,vulkan]
+ media-libs/speexdsp
+ sys-libs/zlib[minizip(+)]
+ virtual/opengl
+ rust-plugin? ( dev-libs/libusb:1 )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+ dynarec? ( dev-lang/nasm )
+ rust-plugin? ( virtual/rust )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.5.6-parallel-rdp-standalone-musl.patch
+)
+
+pkg_setup() {
+ QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so"
+}
+
+src_unpack() {
+ if [[ "${PV}" == *9999 ]] ; then
+ git-r3_src_unpack
+ if use rust-plugin; then
+ S="${S}"/Source/3rdParty/mupen64plus-input-gca \
+ cargo_live_src_unpack
+ fi
+ else
+ if use rust-plugin; then
+ cargo_src_unpack
+ else
+ default
+ fi
+ fi
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # Don't install unused 3rdParty code
+ rm -r "${S}"/Source/3rdParty/fmt || die
+
+ # Don't install XMAME licensed code
+ if ! use angrylion-plugin; then
+ rm -r "${S}"/Source/3rdParty/mupen64plus-video-angrylion-plus || die
+ fi
+
+ # Don't install pre-compiled binaries
+ rm -r "${S}"/Source/3rdParty/vosk-api || die
+
+ # Enable verbose make(1) output
+ sed -e 's/CC=/V=1 CC=/' -i "${S}"/Source/3rdParty/CMakeLists.txt || die
+}
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://github.com/gonetz/GLideN64/issues/2877
+ #
+ # Disable strict-aliasing until its handled upstream.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ export PKG_CONFIG_ALLOW_CROSS=1
+
+ local mycmakeargs=(
+ -DAPPIMAGE_UPDATER=OFF
+ -DDISCORD_RPC=$(usex discord)
+ -DNO_ASM=$(usex dynarec OFF ON)
+ -DNO_RUST=$(usex rust-plugin OFF ON)
+ -DPORTABLE_INSTALL=OFF
+ -DUPDATER=OFF
+ -DUSE_ANGRYLION=$(usex angrylion-plugin)
+ -DUSE_CCACHE=OFF
+ -DUSE_LIBFMT=OFF # Use std::format
+ -DUSE_LTO=OFF
+ -DVRU=OFF # Precompiled binaries
+ )
+
+ cmake_src_configure
+}