summaryrefslogtreecommitdiff
path: root/games-emulation
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-11-27 02:00:01 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-11-27 02:00:01 +0000
commitead7697a01fd631b56240b2d58aedd98ba7f92d3 (patch)
treec73ecbedbb9db967a7dff614f5e8b79eacb79f5d /games-emulation
parent403335d7014372971e9e9267493a808d08bab48e (diff)
gentoo auto-resync : 27:11:2024 - 02:00:00
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/Manifest.gzbin12081 -> 12079 bytes
-rw-r--r--games-emulation/rmg/Manifest10
-rw-r--r--games-emulation/rmg/files/rmg-0.6.6-mupen64plus-core-sdl-pkgconfig.patch59
-rw-r--r--games-emulation/rmg/files/rmg-0.6.6-mupen64plus-input-raphnetraw-pkgconfig.patch59
-rw-r--r--games-emulation/rmg/files/rmg-0.6.6-mupen64plus-video-GLideN64-strict-aliasing.patch207
-rw-r--r--games-emulation/rmg/rmg-0.6.5-r1.ebuild3
-rw-r--r--games-emulation/rmg/rmg-0.6.6-r1.ebuild7
-rw-r--r--games-emulation/rmg/rmg-0.6.6-r2.ebuild145
-rw-r--r--games-emulation/rmg/rmg-9999.ebuild12
-rw-r--r--games-emulation/ryujinx/Manifest2
-rw-r--r--games-emulation/ryujinx/ryujinx-1.1.1403.ebuild2
11 files changed, 490 insertions, 16 deletions
diff --git a/games-emulation/Manifest.gz b/games-emulation/Manifest.gz
index 68dccc12831d..cc676136516e 100644
--- a/games-emulation/Manifest.gz
+++ b/games-emulation/Manifest.gz
Binary files differ
diff --git a/games-emulation/rmg/Manifest b/games-emulation/rmg/Manifest
index 82016b3176e8..bd0414007a90 100644
--- a/games-emulation/rmg/Manifest
+++ b/games-emulation/rmg/Manifest
@@ -1,4 +1,7 @@
AUX rmg-0.5.6-parallel-rdp-standalone-musl.patch 2031 BLAKE2B 2a12b0d206432e508988fee907d5aa34b1f010a9ca178b273af07b6ff39d3af3fa83a6ef2a548ab7d2c5105c76c07473ea77b92074c562142ebce9852a16e6f9 SHA512 4c1542838af7863a38db45cf998e26c28f381448ea04ab6f7d2c0c0b378d9a31e1b27ef7c700bdca0d8f5e4916916712374c35b1672470e32550925b5a72a15e
+AUX rmg-0.6.6-mupen64plus-core-sdl-pkgconfig.patch 2264 BLAKE2B 616752f5b8599f374b98716e05f9e94c039cadfaa5c4516fdd27f0d02ee3336a50d849fc3fe6c3f061e78f775570950806b5f02e84422f891ac94885b880d715 SHA512 0d1076c741f709d97bdc1c4bd6f025881b2ee0d54ad61940d59ee8487dbe78f5e62ae6a4098e469f5d3ac6cbd3511b1fa6160e58a43ae02c3e64ab7a4d826ba9
+AUX rmg-0.6.6-mupen64plus-input-raphnetraw-pkgconfig.patch 2369 BLAKE2B 4e46a8793aa336781fa5eee0a78c3010d11b695a50e91073ae066f21590eaa98c77eb62b030f1548171ca1c5ee291e767b918289520b72f74ade303f92d735ba SHA512 d6886327908e8d1162a4f6047589a773bea57a103807b79ddc4f11b216298f393fde63dc60452029eb2eea3a4e90e99246bd59d98c46369aed9d3d593dd2318d
+AUX rmg-0.6.6-mupen64plus-video-GLideN64-strict-aliasing.patch 9764 BLAKE2B 33e54da9ea90cc97298001b206fa0312f35731173c2ff2d0382ccad42d2c50890d39a9ea36c58312b4b0e7d42d8ce7581dffeeaaed796ab0b0e5a270d698c88d SHA512 ed1e36c143e1e0abc2b74c141df5bd0d512e78f6be1cc3bbf0f065c4d42a684c3a1050ab9bc248fe9d578725895d505c595f2588c6486bd8fa6fb105bd16ebbe
DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c
@@ -20,7 +23,8 @@ DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3a
DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
-EBUILD rmg-0.6.5-r1.ebuild 3072 BLAKE2B 5708ef1fd1d88092f7a89844cd980487ca3bfb132b6a68ab60321001d4e264b120f4dbc3315d50de44e2f9fe6d4972cb4af1b5fd6feb565e1f086b20e5fbb53a SHA512 d7553b476391d6947d3507f61aba842d34a647526408ece45440a47b9af79286d718cfd88ca076ad663c7c7cd6b159f7fa271ced0ad5246159d196a045d39ebd
-EBUILD rmg-0.6.6-r1.ebuild 3091 BLAKE2B a15ddd3778e5296d92ec6b2f7dfa7c9c17f2ca983836e6270800d133c91b1cfc04f4a86325b3c4541630644d7b14e885e931bc675aecea879fb680d4a3ebc962 SHA512 daa2e3cdaed59325a1d8cf7fc632b94a6c28da7968881632dc8bdcd631274e6b5373bc3a5432489ba2d3485cd1b51b9016c75d8a30ae496555b03684c3a91555
-EBUILD rmg-9999.ebuild 3072 BLAKE2B 5708ef1fd1d88092f7a89844cd980487ca3bfb132b6a68ab60321001d4e264b120f4dbc3315d50de44e2f9fe6d4972cb4af1b5fd6feb565e1f086b20e5fbb53a SHA512 d7553b476391d6947d3507f61aba842d34a647526408ece45440a47b9af79286d718cfd88ca076ad663c7c7cd6b159f7fa271ced0ad5246159d196a045d39ebd
+EBUILD rmg-0.6.5-r1.ebuild 3107 BLAKE2B 66fd3312604e810fae5e6635ad9d1757e8cce669bb37ef5885240f2ad31b97769f9d1d94442a131ccfa3b61f8184f2ee37123c8f059cbb3c50edce50c4226d0a SHA512 6b68be5d8b880601362cdd625e7fd6cabb0e5370dcb6406f0a4685659a6926b08bad54dca93ddacf489013d7c5ea2fd7fa204366c8d719b5e35b8528fcff07ec
+EBUILD rmg-0.6.6-r1.ebuild 3363 BLAKE2B 3cf7de061cc0856831cf6582f0d89a59ab0d0423143c393943486d78a3df8cbfe1d32bb40afab183fde4dc571f9a699f68d3db5bbf205d27f1ef8cc10f302421 SHA512 4d283fbed2bf84113c50d53881eac8bc82153d787036a21374b350fdc789712b7261a9a51ff1bf2a4b2742880df4f724cdc3c9a1d884cac61f62422030f94005
+EBUILD rmg-0.6.6-r2.ebuild 3286 BLAKE2B a8a99074d0061b9bd5a9566bef561ae23ba5cc9349c339a5a25c5f2767bf5146a1a8576254b0de7ec215b90388d56ca4a5d1ec565a8bda61f16f7023d094ae24 SHA512 76d6dbcab7c10fe00bf62b94868851b04d2201b4a191ce97cf48962e2861898b49891cbb2f817384eaa2d8c04b000dd3876fa793916436cda8e2eacb10eb2909
+EBUILD rmg-9999.ebuild 2952 BLAKE2B 50eb44c63715938ab05a6f58e2d88a20dda294519de352e53fcf18e782e13944ffe5553312b20efdcc98cdcb850136d424e71ac5c4296d57466f88326eb45101 SHA512 28ff2ff6c882475826ef7149c552c61393e26b0985ca3d4ad917b570e9cb32c890ab9367c101663bfe4d968cf5995225723cd7fd4f84bda3147f623fa101aeed
MISC metadata.xml 994 BLAKE2B 59277438f2927aa7f21b18e9a5e3bdaaad5b9b4c6fe1a97c17573693afcc0ef1bb51dec675d2058fe4f38aa18b4530b42718c4b675546637391c331489bd0bd4 SHA512 0c33ace51df8ed133343b0db2b40e3a86df748fda4b2cb86772d0bea7640e92ed33fbfdee5e8490fdf466cd02130d662d2df495cf94ee11807d82d58530c5036
diff --git a/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-core-sdl-pkgconfig.patch b/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-core-sdl-pkgconfig.patch
new file mode 100644
index 000000000000..5b4fa24ce481
--- /dev/null
+++ b/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-core-sdl-pkgconfig.patch
@@ -0,0 +1,59 @@
+https://github.com/mupen64plus/mupen64plus-core/pull/1093
+https://github.com/mupen64plus/mupen64plus-core/commit/966a5df3165afede21204610c396dba1ed8a5bf3
+https://github.com/mupen64plus/mupen64plus-core/commit/b007759b9ed9d1473c732b4f3abcd9257165c65c
+https://github.com/Rosalie241/RMG/commit/4cd4f4c6ea37c82cdda6b0a57e79af1b71df17fe
+
+From: orbea <orbea@riseup.net>
+Date: Mon, 21 Oct 2024 09:10:57 -0700
+Subject: [PATCH 3/3] build: drop SDL1 support
+
+SDL1 is unmaintained upstream and using it only leads to a degraded
+experience. Especially when it recives far less testing.
+
+build: use pkg-config for SDL2
+
+SDL2 hasn't required suing sdl2-config in a long time and using
+pkg-config can have better results for distros.
+---
+ projects/unix/Makefile | 28 ++++++++++------------------
+ 1 file changed, 10 insertions(+), 18 deletions(-)
+
+--- a/Source/3rdParty/mupen64plus-core/projects/unix/Makefile
++++ b/Source/3rdParty/mupen64plus-core/projects/unix/Makefile
+@@ -351,26 +351,18 @@ endif
+
+ # test for presence of SDL
+ ifeq ($(origin SDL_CFLAGS) $(origin SDL_LDLIBS), undefined undefined)
+- SDL_CONFIG = $(CROSS_COMPILE)sdl2-config
+- ifeq ($(shell which $(SDL_CONFIG) 2>/dev/null),)
+- SDL_CONFIG = $(CROSS_COMPILE)sdl-config
+- ifeq ($(shell which $(SDL_CONFIG) 2>/dev/null),)
+- $(error No SDL development libraries found!)
+- else
+- ifeq ($(NETPLAY), 1)
+- SDL_LDLIBS += -lSDL_net
+- endif
+- # SDL1 doesn't support vulkan
+- VULKAN = 0
+- $(warning Using SDL 1.2 libraries)
+- endif
+- else
+- ifeq ($(NETPLAY), 1)
+- SDL_LDLIBS += -lSDL2_net
++ ifeq ($(shell $(PKG_CONFIG) --modversion sdl2 2>/dev/null),)
++ $(error No SDL2 development libraries found!)
++ endif
++ ifeq ($(NETPLAY), 1)
++ ifeq ($(shell $(PKG_CONFIG) --modversion SDL2_net 2>/dev/null),)
++ $(error No SDL2_net development libraries found!)
+ endif
++ SDL_CFLAGS += $(shell $(PKG_CONFIG) --cflags SDL2_net)
++ SDL_LDLIBS += $(shell $(PKG_CONFIG) --libs SDL2_net)
+ endif
+- SDL_CFLAGS += $(shell $(SDL_CONFIG) --cflags)
+- SDL_LDLIBS += $(shell $(SDL_CONFIG) --libs)
++ SDL_CFLAGS += $(shell $(PKG_CONFIG) --cflags sdl2)
++ SDL_LDLIBS += $(shell $(PKG_CONFIG) --libs sdl2)
+ endif
+ CFLAGS += $(SDL_CFLAGS)
+ LDLIBS += $(SDL_LDLIBS)
diff --git a/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-input-raphnetraw-pkgconfig.patch b/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-input-raphnetraw-pkgconfig.patch
new file mode 100644
index 000000000000..0e179046bf40
--- /dev/null
+++ b/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-input-raphnetraw-pkgconfig.patch
@@ -0,0 +1,59 @@
+https://bugs.gentoo.org/941889
+https://github.com/raphnet/mupen64plus-input-raphnetraw/pull/17
+https://github.com/Rosalie241/RMG/pull/296
+https://github.com/Rosalie241/RMG/pull/297
+https://github.com/Rosalie241/RMG/commit/f6b73b86c6625fa5a268b74b1e36114a5bdd535c
+https://github.com/Rosalie241/RMG/commit/69c24b9131909c338b03c48438744b253501146a
+
+From e8ec98eb7e7ee4b769232ce143af6c6f9cf29bc6 Mon Sep 17 00:00:00 2001
+From: orbea <orbea@riseup.net>
+Date: Sun, 20 Oct 2024 08:59:56 -0700
+Subject: [PATCH 1/2] 3rdParty: don't hard-code pkg-config in
+ mupen64plus-input-raphnetraw (#296) 3rdParty: improve the hidapi check in
+ mupen64plus-input-raphnetraw (#297)
+
+---
+ .../projects/unix/Makefile | 22 ++++++++++---------
+ 1 file changed, 12 insertions(+), 10 deletions(-)
+
+diff --git a/Source/3rdParty/mupen64plus-input-raphnetraw/projects/unix/Makefile b/Source/3rdParty/mupen64plus-input-raphnetraw/projects/unix/Makefile
+index a2571378..18dcaf19 100644
+--- a/Source/3rdParty/mupen64plus-input-raphnetraw/projects/unix/Makefile
++++ b/Source/3rdParty/mupen64plus-input-raphnetraw/projects/unix/Makefile
+@@ -141,6 +141,14 @@ ifeq ($(OS), OSX)
+ endif
+ endif
+
++# test for essential build dependencies
++ifeq ($(origin PKG_CONFIG), undefined)
++ PKG_CONFIG = $(CROSS_COMPILE)pkg-config
++ ifeq ($(shell which $(PKG_CONFIG) 2>/dev/null),)
++ $(error $(PKG_CONFIG) not found)
++ endif
++endif
++
+ ifeq ($(OS), LINUX)
+ HIDAPI_NAME=hidapi-hidraw
+ else
+@@ -149,17 +157,11 @@ endif
+
+ # test for presence of HIDLIB
+ ifeq ($(origin HID_CFLAGS) $(origin HID_LDLIBS), undefined undefined)
+- HIDAPI_CONFIG = $(CROSS_COMPILE)pkg-config $(HIDAPI_NAME)
+- ifeq ($(shell which $(HIDAPI_CONFIG) 2>/dev/null),)
+- HIDAPI_CONFIG = $(CROSS_COMPILE)pkg-config $(HIDAPI_NAME)
+- ifeq ($(shell which $(HIDAPI_CONFIG) 2>/dev/null),)
+- $(error No HIDAPI development libraries found!)
+- else
+- $(warning Using HIDAPI libraries)
+- endif
++ ifeq ($(shell $(PKG_CONFIG) --modversion $(HIDAPI_NAME) 2>/dev/null),)
++ $(error No HIDAPI development libraries found!)
+ endif
+- HID_CFLAGS += $(shell $(HIDAPI_CONFIG) --cflags)
+- HID_LDLIBS += $(shell $(HIDAPI_CONFIG) --libs)
++ HID_CFLAGS = $(shell $(PKG_CONFIG) --cflags $(HIDAPI_NAME))
++ HID_LDLIBS = $(shell $(PKG_CONFIG) --libs $(HIDAPI_NAME))
+ endif
+ CFLAGS += $(HID_CFLAGS)
+ LDLIBS += $(HID_LDLIBS)
diff --git a/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-video-GLideN64-strict-aliasing.patch b/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-video-GLideN64-strict-aliasing.patch
new file mode 100644
index 000000000000..4b8686a69021
--- /dev/null
+++ b/games-emulation/rmg/files/rmg-0.6.6-mupen64plus-video-GLideN64-strict-aliasing.patch
@@ -0,0 +1,207 @@
+https://github.com/gonetz/GLideN64/issues/2877
+https://github.com/gonetz/GLideN64/pull/2884
+https://github.com/gonetz/GLideN64/commit/a1320da566c03503ea755447458bb2b79a610cb5
+https://github.com/Rosalie241/RMG/commit/e68483fce2a977c07fee38e1d8d8f8dc22bb6072
+
+From a1320da566c03503ea755447458bb2b79a610cb5 Mon Sep 17 00:00:00 2001
+From: Sergey Lipskiy <gonetz@ngs.ru>
+Date: Sat, 19 Oct 2024 16:18:29 +0700
+Subject: [PATCH] Fix -Wstrict-aliasing warnings
+
+---
+ Source/3rdParty/mupen64plus-video-GLideN64/src/Textures.cpp | 56 ++++++++++++++++++++++++------------------------
+ 1 file changed, 28 insertions(+), 28 deletions(-)
+
+diff --git a/Source/3rdParty/mupen64plus-video-GLideN64/src/Textures.cpp b/Source/3rdParty/mupen64plus-video-GLideN64/src/Textures.cpp
+index 4739ec31c..22edf608d 100644
+--- a/Source/3rdParty/mupen64plus-video-GLideN64/src/Textures.cpp
++++ b/Source/3rdParty/mupen64plus-video-GLideN64/src/Textures.cpp
+@@ -52,9 +52,9 @@ u32 GetCI4IA_RGBA4444(u16 offset, u16 x, u16 i, u8 palette)
+ const u8 color4B = Get4BitPaletteColor(offset, x, i);
+
+ if (x & 1)
+- return IA88_RGBA4444(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF]);
++ return IA88_RGBA4444(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF] & 0xFFFF));
+ else
+- return IA88_RGBA4444(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF]);
++ return IA88_RGBA4444(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetCI4IA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+@@ -62,9 +62,9 @@ u32 GetCI4IA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+ const u8 color4B = Get4BitPaletteColor(offset, x, i);
+
+ if (x & 1)
+- return IA88_RGBA8888(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF]);
++ return IA88_RGBA8888(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF] & 0xFFFF));
+ else
+- return IA88_RGBA8888(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF]);
++ return IA88_RGBA8888(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetCI4RGBA_RGBA5551(u16 offset, u16 x, u16 i, u8 palette)
+@@ -72,9 +72,9 @@ u32 GetCI4RGBA_RGBA5551(u16 offset, u16 x, u16 i, u8 palette)
+ const u8 color4B = Get4BitPaletteColor(offset, x, i);
+
+ if (x & 1)
+- return RGBA5551_RGBA5551(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF]);
++ return RGBA5551_RGBA5551(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF] & 0xFFFF));
+ else
+- return RGBA5551_RGBA5551(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF]);
++ return RGBA5551_RGBA5551(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetCI4RGBA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+@@ -82,9 +82,9 @@ u32 GetCI4RGBA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+ const u8 color4B = Get4BitPaletteColor(offset, x, i);
+
+ if (x & 1)
+- return RGBA5551_RGBA8888(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF]);
++ return RGBA5551_RGBA8888(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B & 0x0F)) & 0x1FF] & 0xFFFF));
+ else
+- return RGBA5551_RGBA8888(*(u16*)&TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF]);
++ return RGBA5551_RGBA8888(static_cast<u16>(TMEM[(0x100 + (palette << 4) + (color4B >> 4)) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetIA31_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+@@ -120,25 +120,25 @@ inline u8 Get8BitPaletteColor(u16 offset, u16 x, u16 i)
+ u32 GetCI8IA_RGBA4444(u16 offset, u16 x, u16 i, u8 palette)
+ {
+ const u8 color = Get8BitPaletteColor(offset, x, i);
+- return IA88_RGBA4444(*(u16*)&TMEM[(0x100 + color) & 0x1FF]);
++ return IA88_RGBA4444(static_cast<u16>(TMEM[(0x100 + color) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetCI8IA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+ {
+ const u8 color = Get8BitPaletteColor(offset, x, i);
+- return IA88_RGBA8888(*(u16*)&TMEM[(0x100 + color) & 0x1FF]);
++ return IA88_RGBA8888(static_cast<u16>(TMEM[(0x100 + color) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetCI8RGBA_RGBA5551(u16 offset, u16 x, u16 i, u8 palette)
+ {
+ const u8 color = Get8BitPaletteColor(offset, x, i);
+- return RGBA5551_RGBA5551(*(u16*)&TMEM[(0x100 + color) & 0x1FF]);
++ return RGBA5551_RGBA5551(static_cast<u16>(TMEM[(0x100 + color) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetCI8RGBA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+ {
+ const u8 color = Get8BitPaletteColor(offset, x, i);
+- return RGBA5551_RGBA8888(*(u16*)&TMEM[(0x100 + color) & 0x1FF]);
++ return RGBA5551_RGBA8888(static_cast<u16>(TMEM[(0x100 + color) & 0x1FF] & 0xFFFF));
+ }
+
+ u32 GetIA44_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+@@ -193,7 +193,7 @@ u32 GetI16_RGBA4444(u16 offset, u16 x, u16 i, u8 palette)
+ u32 GetCI16IA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+ {
+ const u16 tex = Get16BitColor(offset, x, i);
+- const u16 col = (*(u16*)&TMEM[0x100 + (tex & 0xFF)]);
++ const u16 col = (static_cast<u16>(TMEM[0x100 + (tex & 0xFF)] & 0xFFFF));
+ const u16 c = col >> 8;
+ const u16 a = col & 0xFF;
+ return (a << 24) | (c << 16) | (c << 8) | c;
+@@ -202,7 +202,7 @@ u32 GetCI16IA_RGBA8888(u16 offset, u16 x, u16 i, u8 palette)
+ u32 GetCI16IA_RGBA4444(u16 offset, u16 x, u16 i, u8 palette)
+ {
+ const u16 tex = Get16BitColor(offset, x, i);
+- const u16 col = (*(u16*)&TMEM[0x100 + (tex & 0xFF)]);
++ const u16 col = (static_cast<u16>(TMEM[0x100 + (tex & 0xFF)] & 0xFFFF));
+ const u16 c = col >> 12;
+ const u16 a = col & 0x0F;
+ return (a << 12) | (c << 8) | (c << 4) | c;
+@@ -303,9 +303,9 @@ u32 GetCI4IA_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
+ u8 color4B = ((u8*)src)[(x >> 1) ^ (i << 1)];
+
+ if (x & 1)
+- return IA88_RGBA4444(*(u16*)&TMEM[256 + (palette << 4) + (color4B & 0x0F)]);
++ return IA88_RGBA4444(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B & 0x0F)] & 0xFFFF));
+ else
+- return IA88_RGBA4444(*(u16*)&TMEM[256 + (palette << 4) + (color4B >> 4)]);
++ return IA88_RGBA4444(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B >> 4)] & 0xFFFF));
+ }
+
+ u32 GetCI4IA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+@@ -313,9 +313,9 @@ u32 GetCI4IA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+ u8 color4B = ((u8*)src)[(x >> 1) ^ (i << 1)];
+
+ if (x & 1)
+- return IA88_RGBA8888(*(u16*)&TMEM[256 + (palette << 4) + (color4B & 0x0F)]);
++ return IA88_RGBA8888(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B & 0x0F)] & 0xFFFF));
+ else
+- return IA88_RGBA8888(*(u16*)&TMEM[256 + (palette << 4) + (color4B >> 4)]);
++ return IA88_RGBA8888(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B >> 4)] & 0xFFFF));
+ }
+
+ u32 GetCI4RGBA_RGBA5551_BG(u64 *src, u16 x, u16 i, u8 palette)
+@@ -323,9 +323,9 @@ u32 GetCI4RGBA_RGBA5551_BG(u64 *src, u16 x, u16 i, u8 palette)
+ u8 color4B = ((u8*)src)[(x >> 1) ^ (i << 1)];
+
+ if (x & 1)
+- return RGBA5551_RGBA5551(*(u16*)&TMEM[256 + (palette << 4) + (color4B & 0x0F)]);
++ return RGBA5551_RGBA5551(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B & 0x0F)] & 0xFFFF));
+ else
+- return RGBA5551_RGBA5551(*(u16*)&TMEM[256 + (palette << 4) + (color4B >> 4)]);
++ return RGBA5551_RGBA5551(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B >> 4)] & 0xFFFF));
+ }
+
+ u32 GetCI4RGBA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+@@ -333,9 +333,9 @@ u32 GetCI4RGBA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+ u8 color4B = ((u8*)src)[(x >> 1) ^ (i << 1)];
+
+ if (x & 1)
+- return RGBA5551_RGBA8888(*(u16*)&TMEM[256 + (palette << 4) + (color4B & 0x0F)]);
++ return RGBA5551_RGBA8888(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B & 0x0F)] & 0xFFFF));
+ else
+- return RGBA5551_RGBA8888(*(u16*)&TMEM[256 + (palette << 4) + (color4B >> 4)]);
++ return RGBA5551_RGBA8888(static_cast<u16>(TMEM[256 + (palette << 4) + (color4B >> 4)] & 0xFFFF));
+ }
+
+ u32 GetIA31_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+@@ -368,22 +368,22 @@ u32 GetI4_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
+
+ u32 GetCI8IA_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
+ {
+- return IA88_RGBA4444(*(u16*)&TMEM[256 + ((u8*)src)[x ^ (i << 1)]]);
++ return IA88_RGBA4444(static_cast<u16>(TMEM[256 + ((u8*)src)[x ^ (i << 1)]] & 0xFFFF));
+ }
+
+ u32 GetCI8IA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+ {
+- return IA88_RGBA8888(*(u16*)&TMEM[256 + ((u8*)src)[x ^ (i << 1)]]);
++ return IA88_RGBA8888(static_cast<u16>(TMEM[256 + ((u8*)src)[x ^ (i << 1)]] & 0xFFFF));
+ }
+
+ u32 GetCI8RGBA_RGBA5551_BG(u64 *src, u16 x, u16 i, u8 palette)
+ {
+- return RGBA5551_RGBA5551(*(u16*)&TMEM[256 + ((u8*)src)[x ^ (i << 1)]]);
++ return RGBA5551_RGBA5551(static_cast<u16>(TMEM[256 + ((u8*)src)[x ^ (i << 1)]] & 0xFFFF));
+ }
+
+ u32 GetCI8RGBA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+ {
+- return RGBA5551_RGBA8888(*(u16*)&TMEM[256 + ((u8*)src)[x ^ (i << 1)]]);
++ return RGBA5551_RGBA8888(static_cast<u16>(TMEM[256 + ((u8*)src)[x ^ (i << 1)]] & 0xFFFF));
+ }
+
+ u32 GetIA44_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+@@ -429,7 +429,7 @@ u32 GetI16_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
+ u32 GetCI16IA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+ {
+ const u16 tex = ((u16*)src)[x^i];
+- const u16 col = (*(u16*)&TMEM[256 + (tex & 0xFF)]);
++ const u16 col = (static_cast<u16>(TMEM[256 + (tex & 0xFF)] & 0xFFFF));
+ const u16 c = col >> 8;
+ const u16 a = col & 0xFF;
+ return (a << 24) | (c << 16) | (c << 8) | c;
+@@ -438,7 +438,7 @@ u32 GetCI16IA_RGBA8888_BG(u64 *src, u16 x, u16 i, u8 palette)
+ u32 GetCI16IA_RGBA4444_BG(u64 *src, u16 x, u16 i, u8 palette)
+ {
+ const u16 tex = ((u16*)src)[x^i];
+- const u16 col = (*(u16*)&TMEM[256 + (tex & 0xFF)]);
++ const u16 col = (static_cast<u16>(TMEM[256 + (tex & 0xFF)] & 0xFFFF));
+ const u16 c = col >> 12;
+ const u16 a = col & 0x0F;
+ return (a << 12) | (c << 8) | (c << 4) | c;
diff --git a/games-emulation/rmg/rmg-0.6.5-r1.ebuild b/games-emulation/rmg/rmg-0.6.5-r1.ebuild
index 48350becfcc2..aade8a991244 100644
--- a/games-emulation/rmg/rmg-0.6.5-r1.ebuild
+++ b/games-emulation/rmg/rmg-0.6.5-r1.ebuild
@@ -69,6 +69,7 @@ DEPEND="
"
RDEPEND="${DEPEND}"
BDEPEND="
+ sys-apps/which
virtual/pkgconfig
dynarec? ( dev-lang/nasm )
rust-plugin? ( ${RUST_DEPEND} )
@@ -80,7 +81,7 @@ PATCHES=(
pkg_setup() {
QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so"
- rust_pkg_setup
+ use rust-plugin && rust_pkg_setup
}
src_unpack() {
diff --git a/games-emulation/rmg/rmg-0.6.6-r1.ebuild b/games-emulation/rmg/rmg-0.6.6-r1.ebuild
index eed49326ebd4..fa4ced9b12cc 100644
--- a/games-emulation/rmg/rmg-0.6.6-r1.ebuild
+++ b/games-emulation/rmg/rmg-0.6.6-r1.ebuild
@@ -27,7 +27,7 @@ CRATES="
winapi@0.3.9
"
-inherit cargo cmake flag-o-matic xdg
+inherit cargo cmake flag-o-matic toolchain-funcs xdg
MY_PN="${PN^^}"
MY_P="${MY_PN}-${PV}"
@@ -76,6 +76,10 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-0.5.6-parallel-rdp-standalone-musl.patch
+ # Use pkg-config(1) for SDL2 and don't depend on which(1)
+ "${FILESDIR}"/${P}-mupen64plus-core-sdl-pkgconfig.patch
+ # https://bugs.gentoo.org/941889
+ "${FILESDIR}"/${P}-mupen64plus-input-raphnetraw-pkgconfig.patch
)
pkg_setup() {
@@ -125,6 +129,7 @@ src_configure() {
append-flags -fno-strict-aliasing
filter-lto
+ export PKG_CONFIG="$(tc-getPKG_CONFIG)"
export PKG_CONFIG_ALLOW_CROSS=1
local mycmakeargs=(
diff --git a/games-emulation/rmg/rmg-0.6.6-r2.ebuild b/games-emulation/rmg/rmg-0.6.6-r2.ebuild
new file mode 100644
index 000000000000..a4725fab7f32
--- /dev/null
+++ b/games-emulation/rmg/rmg-0.6.6-r2.ebuild
@@ -0,0 +1,145 @@
+# 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 toolchain-funcs 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? ( ${RUST_DEPEND} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.5.6-parallel-rdp-standalone-musl.patch
+ # Use pkg-config(1) for SDL2 and don't depend on which(1)
+ "${FILESDIR}"/${P}-mupen64plus-core-sdl-pkgconfig.patch
+ # https://bugs.gentoo.org/941889
+ "${FILESDIR}"/${P}-mupen64plus-input-raphnetraw-pkgconfig.patch
+ # https://github.com/gonetz/GLideN64/issues/2877
+ "${FILESDIR}"/${P}-mupen64plus-video-GLideN64-strict-aliasing.patch
+)
+
+pkg_setup() {
+ QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so"
+ use rust-plugin && rust_pkg_setup
+}
+
+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() {
+ export PKG_CONFIG="$(tc-getPKG_CONFIG)"
+ 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
+}
diff --git a/games-emulation/rmg/rmg-9999.ebuild b/games-emulation/rmg/rmg-9999.ebuild
index 48350becfcc2..090054fff76d 100644
--- a/games-emulation/rmg/rmg-9999.ebuild
+++ b/games-emulation/rmg/rmg-9999.ebuild
@@ -27,7 +27,7 @@ CRATES="
winapi@0.3.9
"
-inherit cargo cmake flag-o-matic xdg
+inherit cargo cmake toolchain-funcs xdg
MY_PN="${PN^^}"
MY_P="${MY_PN}-${PV}"
@@ -80,7 +80,7 @@ PATCHES=(
pkg_setup() {
QA_FLAGS_IGNORED="/usr/$(get_libdir)/RMG/Plugin/Input/libmupen64plus_input_gca.so"
- rust_pkg_setup
+ use rust-plugin && rust_pkg_setup
}
src_unpack() {
@@ -118,13 +118,7 @@ src_prepare() {
}
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="$(tc-getPKG_CONFIG)"
export PKG_CONFIG_ALLOW_CROSS=1
local mycmakeargs=(
diff --git a/games-emulation/ryujinx/Manifest b/games-emulation/ryujinx/Manifest
index 18bafa909d5e..61b6081d13d8 100644
--- a/games-emulation/ryujinx/Manifest
+++ b/games-emulation/ryujinx/Manifest
@@ -206,5 +206,5 @@ DIST system.threading.tasks.extensions.4.5.4.nupkg 89582 BLAKE2B 728fc5794745b70
DIST tmds.dbus.protocol.0.15.0.nupkg 215793 BLAKE2B 18608e7a9998e2ea89e6d725404c51fffaf1044ea03706396d58799c27839bf419f535b531c4f4342d14e71557c4628e5e1ed0c96088ab28188e732e391cc663 SHA512 45958a88536d1daa769934986b3ac514cdc1104a936bc404dbdec550c958847e7408af621350c09fa51bc4b837fb88471ec6e6056c4aaa2cebf30f044cd834e9
DIST unicornengine.unicorn.2.0.2-rc1-fb78016.nupkg 34306791 BLAKE2B fa45ad8243300290b829885f0bb2c422292e53cc46cb0f3011a2e8243bee7da153bf7722c123cf0888ad9252aa1edab85c0a8c59cf226e5673b70572112cf6b0 SHA512 f1077687de51ac65077be36b9bd087dadc7650130df59136b36fddfb2dfd428e4ad91b770337cc3993cbdc0af83c522a4bf44671a001dd1431597b398f8b11c3
EBUILD ryujinx-1.1.1388.ebuild 9426 BLAKE2B 6329a222e6413b9e3358a0319251229a1cc89eec708f6b53e48f4320234bf731cc430c71d10b5d8645de47f5fbe6d13daa632228b1ba7ca0319067ed1e1ad1d7 SHA512 20ad9d23f7bac3ba211580b2ada470ef01ae51a40cb372f420c20e3ab3e6f2bbb5d20b61c8920e138d5d9361b68ed669acb226e9336b103462f4c050e7536c56
-EBUILD ryujinx-1.1.1403.ebuild 9436 BLAKE2B e3ad090730401d16589d8eb04886b886086f77721b677e61d6e6b8d8b687c405626143c154a62829ee78905d65f8118940bac3e9051b40d62140bfa16928d21c SHA512 5dd8dc97431ef12db8290df7b588937b3307458ca1e1be25d672f25a8196ad46df4438fa9392945660c1041c9b7ceec7935dd0239b97da7fb8b1f6dec38a3578
+EBUILD ryujinx-1.1.1403.ebuild 9435 BLAKE2B aa64468c1b95ee25d9dd51c6c5296307bdf61e765f167027ca47fd362d69d966b520e07812c47a04611c2c20c1586a41a00ff561193dca73af500a986b98e43b SHA512 268c3044ad53620b8a6f86a8188e1322ba4f92bfb2a2f37df5bcf85ebc5b7c8c4f3524c507393d7a7b72dcc5854a3eb8f6d7b41ec64700946b2ac9b674133fb7
MISC metadata.xml 776 BLAKE2B d23399d5e722ccbd475df096ad3b51aa98038e1fcc966ecc559fe756c1179e2d8fa3c9988687c3c4688cffb662c01587057989874a466419463ad5a57fcaa1b7 SHA512 da87ca6243264bfa94b2f34cfa29359c8781a29507479a3fd5e391c72739db5cd76209d392fda9102e7eb850002e6cad4db1a9ebade83dc152aa38ae8c41bb21
diff --git a/games-emulation/ryujinx/ryujinx-1.1.1403.ebuild b/games-emulation/ryujinx/ryujinx-1.1.1403.ebuild
index 03fa7279143f..ae939301e7e6 100644
--- a/games-emulation/ryujinx/ryujinx-1.1.1403.ebuild
+++ b/games-emulation/ryujinx/ryujinx-1.1.1403.ebuild
@@ -225,7 +225,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "