aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'games-emulation')
-rw-r--r--games-emulation/RetroArch/Manifest1
-rw-r--r--games-emulation/RetroArch/RetroArch-1.16.0.3.ebuild179
-rw-r--r--games-emulation/RetroArch/metadata.xml52
-rw-r--r--games-emulation/citra/citra-9999.ebuild137
-rw-r--r--games-emulation/citra/metadata.xml15
-rw-r--r--games-emulation/conty/Manifest2
-rw-r--r--games-emulation/conty/conty-1.25.1.ebuild41
-rw-r--r--games-emulation/conty/conty-1.25.2.ebuild41
-rw-r--r--games-emulation/conty/metadata.xml27
-rw-r--r--games-emulation/dosbox-x/Manifest1
-rw-r--r--games-emulation/dosbox-x/dosbox-x-2024.03.01.ebuild215
-rw-r--r--games-emulation/dosbox-x/dosbox-x-9999.ebuild215
-rw-r--r--games-emulation/dosbox-x/metadata.xml58
-rw-r--r--games-emulation/duckstation/duckstation-9999.ebuild41
-rw-r--r--games-emulation/duckstation/metadata.xml8
-rw-r--r--games-emulation/flycast/flycast-9999.ebuild112
-rw-r--r--games-emulation/flycast/metadata.xml14
-rw-r--r--games-emulation/melonds/Manifest2
-rw-r--r--games-emulation/melonds/melonds-0.9.2.ebuild73
-rw-r--r--games-emulation/melonds/melonds-0.9.3.ebuild83
-rw-r--r--games-emulation/melonds/melonds-9999.ebuild83
-rw-r--r--games-emulation/melonds/metadata.xml11
-rw-r--r--games-emulation/mupen64plus-qt/Manifest2
-rw-r--r--games-emulation/mupen64plus-qt/metadata.xml5
-rw-r--r--games-emulation/mupen64plus-qt/mupen64plus-qt-1.15.ebuild (renamed from games-emulation/mupen64plus-qt/mupen64plus-qt-1.14.ebuild)10
-rw-r--r--games-emulation/mupen64plus-qt/mupen64plus-qt-9999.ebuild11
-rw-r--r--games-emulation/np2kai/metadata.xml5
-rw-r--r--games-emulation/np2kai/np2kai-22.ebuild2
-rw-r--r--games-emulation/rpcs3/metadata.xml14
-rw-r--r--games-emulation/rpcs3/rpcs3-9999.ebuild155
-rw-r--r--games-emulation/yuzu/files/yuzu-9999-assert.patch34
-rw-r--r--games-emulation/yuzu/metadata.xml17
-rw-r--r--games-emulation/yuzu/yuzu-9999.ebuild137
33 files changed, 1170 insertions, 633 deletions
diff --git a/games-emulation/RetroArch/Manifest b/games-emulation/RetroArch/Manifest
new file mode 100644
index 000000000..c2f97488e
--- /dev/null
+++ b/games-emulation/RetroArch/Manifest
@@ -0,0 +1 @@
+DIST RetroArch-1.16.0.3.tar.gz 49084629 BLAKE2B e04b33585085679262da52ba37a960c1b5076628ffeaadd0beb7bceaf092f7a202677622fec5156ee61afdffbbaae050379d8038ef331475b17a7f0bbb8c50b3 SHA512 a208905257ef5ac38f055195a06167cba5727f470abcba20015ae47bec9af5936fbdc50badb146502d6ccf8de76eaad5846a131974919bb99ea5a0a008624bc1
diff --git a/games-emulation/RetroArch/RetroArch-1.16.0.3.ebuild b/games-emulation/RetroArch/RetroArch-1.16.0.3.ebuild
new file mode 100644
index 000000000..987fcfce5
--- /dev/null
+++ b/games-emulation/RetroArch/RetroArch-1.16.0.3.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="RetroArch is a frontend for emulators, game engines and media players"
+HOMEPAGE="https://www.retroarch.com"
+
+SRC_URI="https://github.com/libretro/RetroArch/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+IUSE="7zip alsa cg cpu_flags_arm_neon cpu_flags_arm_vfp cpu_flags_x86_sse2 cheevos debug dispmanx +egl filters ffmpeg gles2 gles3 hid jack kms libass libusb materialui network openal +opengl osmesa oss +ozone +pulseaudio +rgui sdl sdl2 +truetype +threads udev v4l2 videocore vulkan wayland +X xinerama xmb xv zlib"
+
+REQUIRED_USE="
+ || ( alsa jack openal oss pulseaudio )
+ || ( opengl sdl sdl2 vulkan dispmanx )
+ || ( kms X wayland videocore )
+ || ( materialui ozone rgui xmb )
+ alsa? ( threads )
+ arm? ( gles2? ( egl ) )
+ !arm? (
+ egl? ( opengl )
+ gles2? ( opengl )
+ )
+ cg? ( opengl )
+ dispmanx? ( videocore arm )
+ gles2? ( !cg )
+ gles3? ( gles2 )
+ kms? ( egl )
+ libass? ( ffmpeg )
+ libusb? ( hid )
+ sdl? ( rgui )
+ sdl2? ( rgui !sdl )
+ videocore? ( arm )
+ vulkan? ( amd64 )
+ wayland? ( egl )
+ xinerama? ( X )
+ xv? ( X )
+"
+
+RDEPEND="
+ alsa? ( media-libs/alsa-lib:0= )
+ cg? ( media-gfx/nvidia-cg-toolkit:0= )
+ arm? ( dispmanx? ( || ( media-libs/raspberrypi-userland:0 media-libs/raspberrypi-userland-bin:0 ) ) )
+ ffmpeg? ( >=media-video/ffmpeg-2.1.3:0= )
+ jack? ( virtual/jack:= )
+ libass? ( media-libs/libass:0= )
+ libusb? ( virtual/libusb:1= )
+ openal? ( media-libs/openal:0= )
+ opengl? ( media-libs/mesa:0=[gles2?] )
+ osmesa? ( media-libs/mesa:0=[osmesa?] )
+ pulseaudio? ( media-libs/libpulse:0= )
+ sdl? ( >=media-libs/libsdl-1.2.10:0=[joystick] )
+ sdl2? ( media-libs/libsdl2:0=[joystick] )
+ truetype? ( media-libs/freetype:2= )
+ udev? ( virtual/udev:0=
+ X? ( x11-drivers/xf86-input-evdev:0= )
+ )
+ amd64? ( vulkan? ( media-libs/vulkan-loader:0= ) )
+ v4l2? ( media-libs/libv4l:0= )
+ wayland? ( media-libs/mesa:0=[wayland?] )
+ X? (
+ x11-base/xorg-server:0=
+ >=x11-libs/libxkbcommon-0.4.0:0=
+ )
+ xinerama? ( x11-libs/libXinerama:0= )
+ xv? ( x11-libs/libXv:0= )
+ zlib? ( sys-libs/zlib:0= )
+"
+
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+"
+
+src_configure() {
+ if use cg; then
+ append-ldflags -L"${EPREFIX}/"opt/nvidia-cg-toolkit/$(get_libdir)
+ append-cflags -I"${EPREFIX}/"opt/nvidia-cg-toolkit/include
+ fi
+
+ # Absolute path of the directory containing Retroarch shared libraries.
+ export RETROARCH_LIB_DIR="${EPREFIX}/usr/$(get_libdir)/retroarch"
+
+ if use filters; then
+ # Replace stock defaults with Gentoo-specific defaults.
+ sed -i retroarch.cfg \
+ -e 's:# \(video_filter_dir =\):\1 "/'${RETROARCH_LIB_DIR}'/filters/video/":' \
+ -e 's:# \(audio_filter_dir =\):\1 "/'${RETROARCH_LIB_DIR}'/filters/audio/":' \
+ || die '"sed" failed.'
+ fi
+
+ # Note that OpenVG support is hard-disabled. (See ${RDEPEND} above.)
+ ./configure \
+ --prefix="${EPREFIX}/usr" \
+ --docdir="${EPREFIX}/usr/share/doc/${PF}" \
+ --enable-dynamic \
+ --disable-vg \
+ $(use_enable 7zip) \
+ $(use_enable alsa) \
+ $(use_enable cheevos) \
+ $(use_enable cg) \
+ $(use_enable cpu_flags_arm_neon neon) \
+ $(use_enable cpu_flags_arm_vfp floathard) \
+ $(use_enable cpu_flags_x86_sse2 sse) \
+ $(use_enable dispmanx) \
+ $(use_enable egl) \
+ $(use_enable ffmpeg) \
+ $(use_enable gles2 opengles) \
+ $(use_enable gles3 opengles3) \
+ $(use_enable hid) \
+ $(use_enable jack) \
+ $(use_enable kms) \
+ $(use_enable libass ssa) \
+ $(use_enable libusb) \
+ $(use_enable materialui) \
+ $(use_enable network networking) \
+ $(use_enable openal al) \
+ $(use_enable opengl) \
+ $(use_enable osmesa) \
+ $(use_enable oss) \
+ $(use_enable ozone) \
+ $(use_enable pulseaudio pulse) \
+ $(use_enable rgui) \
+ $(use_enable sdl) \
+ $(use_enable sdl2) \
+ $(use_enable threads) \
+ $(use_enable truetype freetype) \
+ $(use_enable udev) \
+ $(use_enable v4l2) \
+ $(use_enable videocore) \
+ $(use_enable vulkan) \
+ $(use_enable wayland) \
+ $(use_enable X x11) \
+ $(use_enable xinerama) \
+ $(use_enable xmb) \
+ $(use_enable xv xvideo) \
+ $(use_enable zlib)
+}
+
+src_compile() {
+ emake $(usex debug "DEBUG=1" "")
+ if use filters; then
+ emake $(usex debug "build=debug" "build=release") -C gfx/video_filters/
+ emake $(usex debug "build=debug" "build=release") -C libretro-common/audio/dsp_filters/
+ fi
+}
+
+src_install() {
+ # Install core files and directories.
+ emake DESTDIR="${D}" install
+
+ # Install documentation.
+ dodoc README.md
+
+ if use filters; then
+ # Install video filters.
+ insinto ${RETROARCH_LIB_DIR}/filters/video/
+ doins "${S}"/gfx/video_filters/*.so
+ doins "${S}"/gfx/video_filters/*.filt
+
+ # Install audio filters.
+ insinto ${RETROARCH_LIB_DIR}/filters/audio/
+ doins "${S}"/libretro-common/audio/dsp_filters/*.dsp
+ fi
+}
+
+pkg_postinst() {
+ if use oss; then
+ ewarn ""
+ ewarn "OSS support is enabled, however it is not installed as a dependency."
+ ewarn "Make sure you have OSS installed in your system."
+ ewarn ""
+ fi
+}
diff --git a/games-emulation/RetroArch/metadata.xml b/games-emulation/RetroArch/metadata.xml
new file mode 100644
index 000000000..b1549cca8
--- /dev/null
+++ b/games-emulation/RetroArch/metadata.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Rafael Rondão</name>
+ <email>rafael.rondao@gmail.com</email>
+ </maintainer>
+ <use>
+ <flag name="7zip">Compile in 7z support</flag>
+ <flag name="alsa">ALSA support</flag>
+ <flag name="cg">Cg shader support</flag>
+ <flag name="cheevos">Retro Achievements</flag>
+ <flag name="debug">Enable a debug build</flag>
+ <flag name="dispmanx">Dispmanx video support</flag>
+ <flag name="egl">EGL context support</flag>
+ <flag name="filters">Install audio/video filters</flag>
+ <flag name="ffmpeg">FFmpeg support</flag>
+ <flag name="gles2">Use GLESv2 instead of desktop GL</flag>
+ <flag name="gles3">OpenGLES3 support</flag>
+ <flag name="hid">Low-level HID (Human Interface Device) support</flag>
+ <flag name="jack">JACK support</flag>
+ <flag name="kms">KMS context support</flag>
+ <flag name="libass">SSA/ASS for FFmpeg subtitle support</flag>
+ <flag name="libusb">Libusb HID support</flag>
+ <flag name="materialui">MaterialUI menu</flag>
+ <flag name="network">Networking features (recommended)</flag>
+ <flag name="openal">OpenAL support</flag>
+ <flag name="opengl">OpenGL 2.0 support</flag>
+ <flag name="osmesa">Off-screen Mesa rendering</flag>
+ <flag name="oss">OSS support</flag>
+ <flag name="ozone">Ozone menu</flag>
+ <flag name="pulseaudio">PulseAudio support</flag>
+ <flag name="rgui">RGUI menu</flag>
+ <flag name="sdl">SDL support</flag>
+ <flag name="sdl2">SDL2 support (disables SDL 1.x)</flag>
+ <flag name="truetype">FreeType support</flag>
+ <flag name="threads">Threading support</flag>
+ <flag name="udev">Udev/Evdev gamepad support</flag>
+ <flag name="v4l2">Video4linux2 support</flag>
+ <flag name="videocore">Broadcom Videocore 4 support</flag>
+ <flag name="vulkan">Vulkan support</flag>
+ <flag name="wayland">Wayland support</flag>
+ <flag name="X">Everything X11</flag>
+ <flag name="xinerama">Xinerama support</flag>
+ <flag name="xmb">XMB menu</flag>
+ <flag name="xv">XVideo support</flag>
+ <flag name="zlib">zlib support (ZIP extract, PNG decoding/encoding)</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">libretro/RetroArch</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/citra/citra-9999.ebuild b/games-emulation/citra/citra-9999.ebuild
deleted file mode 100644
index aa5eff558..000000000
--- a/games-emulation/citra/citra-9999.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake git-r3 xdg
-
-DESCRIPTION="A Nintendo 3DS Emulator"
-HOMEPAGE="https://citra-emu.org"
-EGIT_REPO_URI="https://github.com/citra-emu/citra"
-EGIT_SUBMODULES=( "*" "-boost" "-catch" "-cryptopp" "-enet" "-inih" "-libressl" "-externals/dynarmic/externals/xbyak" "-zstd" )
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE="cubeb +hle-sound nls +qt5 sdl system-libfmt +telemetry video"
-
-DEPEND="
- !hle-sound? ( media-libs/fdk-aac )
- hle-sound? ( media-video/ffmpeg[fdk] )
- qt5? ( nls? ( dev-qt/linguist )
- dev-qt/qtgui
- dev-qt/qtmultimedia
- dev-qt/qtnetwork
- dev-qt/qtopengl
- dev-qt/qtwidgets )
- sdl? (
- media-libs/libsdl2
- >=dev-libs/inih-52
- )
- system-libfmt? ( <=dev-libs/libfmt-8 )
- video? ( media-video/ffmpeg )
- >=app-arch/zstd-1.4.8
- >=dev-libs/openssl-1.1
- dev-cpp/catch:0
- dev-libs/boost:=
- dev-libs/crypto++
- net-libs/enet:1.3
-"
-RDEPEND="${DEPEND}"
-REQUIRED_USE="|| ( qt5 sdl )"
-
-src_unpack() {
- if use system-libfmt; then
- EGIT_SUBMODULES+=( "-fmt" "-externals/dynarmic/externals/fmt" )
- fi
- git-r3_src_unpack
-
- cp -a "${S}"/externals/xbyak "${S}"/externals/dynarmic/externals/ || die
-
- # Do not fetch via sources because this file always changes
- curl https://api.citra-emu.org/gamedb/ > "${S}"/compatibility_list.json
-}
-
-src_prepare() {
- # Do not care about submodules wanted one are already fetched
- sed -i -e '/check_submodules_present()/d' CMakeLists.txt || die
-
- # Unbundle inih
- sed -i -e '/inih/d' externals/CMakeLists.txt || die
- sed -i -e '1ifind_package(PkgConfig REQUIRED)\npkg_check_modules(INIH REQUIRED INIReader)' \
- -e '/target_link_libraries/s/inih/${INIH_LIBRARIES}/' src/citra/CMakeLists.txt || die
- sed -i -e 's:inih/cpp/::' src/citra/config.cpp || die
-
- # Fix boost unbundling
- sed -i -e '/(-DBOOST_ERROR_CODE_HEADER_ONLY/,/)/d' CMakeLists.txt || die
- sed -i -e '/[Bb][Oo][Oo][Ss][Tt]/d' externals/CMakeLists.txt || die
-
- # Unbundle libressl (TODO rework scopes, find_package(OpenSSL is called 5 times)
- sed -i -e '$afind_package(OpenSSL 1.1)\nset(OPENSSL_LIBRARIES OpenSSL::SSL OpenSSL::Crypto PARENT_SCOPE)' \
- CMakeLists.txt || die
- sed -i -e 's/# LibreSSL/find_package(OpenSSL 1.1)\nif (NOT OPENSSL_FOUND)\n/' \
- -e 's/-DHAVE_INET_NTOP)$/&\nendif()\n/' externals/CMakeLists.txt || die
- sed -i -e '/get_directory_property(OPENSSL_LIBS/,/)/d' \
- -e 's/OPENSSL_LIBS/OPENSSL_LIBRARIES/' \
- src/web_service/CMakeLists.txt \
- src/core/CMakeLists.txt || die
- sed -i -e 's/{PLATFORM_LIBRARIES}/& OpenSSL::SSL OpenSSL::Crypto/' \
- src/{citra,citra_qt,dedicated_room,tests}/CMakeLists.txt || die
- sed -i -e '1ifind_package(OpenSSL 1.1)' src/{citra,citra_qt,dedicated_room,tests}/CMakeLists.txt || die
-
- if use system-libfmt; then # Unbundle libfmt
- sed -i -e '/fmt/d' externals/CMakeLists.txt || die
- sed -i -e 's/fmt/&::&/' -e '1ifind_package(fmt)' \
- src/{core,citra,citra_qt,dedicated_room,input_common,tests,video_core}/CMakeLists.txt
- sed -i -e '1ifind_package(fmt)' externals/dynarmic/src/CMakeLists.txt || die
- fi
-
- # Unbundle zstd
- sed -i -e 's:libzstd_static:${ZSTD_LIBRARIES}:' \
- -e '1ifind_package(PkgConfig REQUIRED)\npkg_check_modules(ZSTD REQUIRED libzstd)' \
- src/common/CMakeLists.txt || die
- sed -i -e '/zstd/d' externals/CMakeLists.txt || die
-
- # Unbundle enet
- sed -i -e 's:enet:${ENET_LIBRARIES}:' \
- -e '1ifind_package(PkgConfig REQUIRED)\npkg_check_modules(ENET REQUIRED libenet)' \
- src/network/CMakeLists.txt || die
- sed -i -e '/#include.*enet/{s/"/</;s/"/>/}' src/network/*cpp || die
- sed -i -e '/enet/d' externals/CMakeLists.txt || die
-
- # Unbundle crypto++
- sed -i -e 's:cryptopp:${CRYPTOPP_LIBRARIES}:' \
- -e '1ifind_package(PkgConfig REQUIRED)\npkg_check_modules(CRYPTOPP REQUIRED libcryptopp)' \
- src/dedicated_room/CMakeLists.txt \
- src/core/CMakeLists.txt || die
- sed -i -e '/cryptopp/d' externals/CMakeLists.txt || die
-
- # TODO unbundle catch
- sed -i -e '1ifind_package(Catch2)' src/tests/CMakeLists.txt externals/{dynarmic,teakra}/tests/CMakeLists.txt || die
- sed -i -e '/target_link_libraries/s/catch/Catch2::Catch2/' externals/{dynarmic,teakra}/tests/CMakeLists.txt || die
- sed -i -e '/target_link_libraries/s/catch-single-include/Catch2::Catch2/' src/tests/CMakeLists.txt || die
- sed -i -e '/catch/d' externals/CMakeLists.txt externals/{dynarmic,teakra}/externals/CMakeLists.txt || die
- grep -rl 'include <catch.hpp>' externals/{dynarmic,teakra} | xargs sed -i -e '/include/s:catch.hpp:catch/&:' || die
-
- # TODO unbundle xbyak (wait for 5.96 in ytree)
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DENABLE_CUBEB=$(usex cubeb)
- -DENABLE_FFMPEG_AUDIO_DECODER=$(usex hle-sound)
- -DENABLE_FFMPEG_VIDEO_DUMPER=$(usex hle-sound)
- -DENABLE_QT=$(usex qt5)
- -DENABLE_QT_TRANSLATION=$(use qt5 && usex nls || echo OFF)
- -DENABLE_SDL2=$(usex sdl)
- -DENABLE_WEB_SERVICE=$(usex telemetry)
- -DGENERATE_QT_TRANSLATION=$(use qt5 && usex nls || echo OFF)
- -DUSE_SYSTEM_BOOST=ON
- )
- cmake_src_configure
-
- # This would be better in src_unpack but it would be unlinked
- mv "${S}"/compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die
-}
diff --git a/games-emulation/citra/metadata.xml b/games-emulation/citra/metadata.xml
deleted file mode 100644
index 87cb3dfdc..000000000
--- a/games-emulation/citra/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="person">
- <name>Samuel Bauer</name>
- <email>samuel.bauer@yahoo.fr</email>
-</maintainer>
-<use>
- <flag name="cubeb">Enables the cubeb audio backend</flag>
- <flag name="hle-sound">Enable HLE sound via FFmpeg audio (AAC) decoder</flag>
- <flag name="system-libfmt">Use system libfmt</flag>
- <flag name="telemetry">Enable web services (telemetry, etc.)</flag>
- <flag name="video">Enable FFmpeg video dumper</flag>
-</use>
-</pkgmetadata>
diff --git a/games-emulation/conty/Manifest b/games-emulation/conty/Manifest
new file mode 100644
index 000000000..79f7a26fe
--- /dev/null
+++ b/games-emulation/conty/Manifest
@@ -0,0 +1,2 @@
+DIST conty-1.25.1 1406491989 BLAKE2B 5106200f9b9e565044b8c525fb53349235ba78207e00b69dfdd0071439fef1eac55f204c89a9f0949b416c5d07d7e22f589062de57ba34b5a106cd0723b345e6 SHA512 3f74ac40583e362ee7bc05684aa7d2f77f7d2b908f98d179539a714cd9a83cc58948c12352fd948df9b446bb9119c078c6ffae874a9bdbf726167fb1e45ed8ee
+DIST conty-1.25.2 1400806116 BLAKE2B 2cb6fffe4603a5f147cbdf802277b0c0ea73924151397463484aa3e715dc3c42ce25961811b51a898af5ed8a3289d7e4e3b32a9b4c864c47852880f6c9e511e4 SHA512 1cdc34f689b04d44504b57fa93665e9a27546f16ebc1541889212b0612d76ecac654384be5ffe694c59336bd2bdcd9498bf591957f5f721c4de2e238f049485a
diff --git a/games-emulation/conty/conty-1.25.1.ebuild b/games-emulation/conty/conty-1.25.1.ebuild
new file mode 100644
index 000000000..00680ba83
--- /dev/null
+++ b/games-emulation/conty/conty-1.25.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Easy to use unprivileged Linux container packed in a single portable executable"
+HOMEPAGE="https://github.com/Kron4ek/Conty"
+
+inherit linux-info
+
+NAME="${PN}_lite_dwarfs.sh"
+
+SRC_URI="https://github.com/Kron4ek/Conty/releases/download/${PV}/${NAME} -> $P"
+KEYWORDS="~amd64"
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="strip"
+
+RDEPEND="sys-fs/fuse:0"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="*"
+
+CONFIG_CHECK="
+ IA32_EMULATION
+ USER_NS
+"
+
+src_install() {
+ dobin "${DISTDIR}/${P}"
+}
+
+pkg_postinst() {
+ einfo "How to use: $ ${NAME} [command] [command_arguments]"
+ einfo "For example: ${NAME} steam"
+ einfo "or"
+ einfo "WINEPREFIX=$HOME/wine-conty ${NAME} gamescope -f -- wine ./game.exe"
+
+}
diff --git a/games-emulation/conty/conty-1.25.2.ebuild b/games-emulation/conty/conty-1.25.2.ebuild
new file mode 100644
index 000000000..00680ba83
--- /dev/null
+++ b/games-emulation/conty/conty-1.25.2.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Easy to use unprivileged Linux container packed in a single portable executable"
+HOMEPAGE="https://github.com/Kron4ek/Conty"
+
+inherit linux-info
+
+NAME="${PN}_lite_dwarfs.sh"
+
+SRC_URI="https://github.com/Kron4ek/Conty/releases/download/${PV}/${NAME} -> $P"
+KEYWORDS="~amd64"
+
+LICENSE="MIT"
+SLOT="0"
+RESTRICT="strip"
+
+RDEPEND="sys-fs/fuse:0"
+
+S="${WORKDIR}"
+
+QA_PREBUILT="*"
+
+CONFIG_CHECK="
+ IA32_EMULATION
+ USER_NS
+"
+
+src_install() {
+ dobin "${DISTDIR}/${P}"
+}
+
+pkg_postinst() {
+ einfo "How to use: $ ${NAME} [command] [command_arguments]"
+ einfo "For example: ${NAME} steam"
+ einfo "or"
+ einfo "WINEPREFIX=$HOME/wine-conty ${NAME} gamescope -f -- wine ./game.exe"
+
+}
diff --git a/games-emulation/conty/metadata.xml b/games-emulation/conty/metadata.xml
new file mode 100644
index 000000000..c1ffd9150
--- /dev/null
+++ b/games-emulation/conty/metadata.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <name>Vitaly Zdanevich</name>
+ <email>zdanevich.vitaly@ya.ru</email>
+ </maintainer>
+ <longdescription>
+This is an easy to use compressed unprivileged Linux container packed into a single executable. It is designed to be as simple and user-friendly as possible. You can use it to run any applications, including games (Vulkan and OpenGL).
+
+Includes, among others, these apps: Wine-GE, Steam, Lutris, PlayOnLinux, GameHub, Minigalaxy, Legendary, Bottles, MultiMC, MangoHud, Gamescope, RetroArch, Sunshine.
+
+Based on Arch Linux.
+
+All applications that you run with Conty read and store their configs in your HOME directory as if you weren't using the container at all.
+
+No performance overhead. Since it's just a container, there is virtually no performance overhead, all applications will run at full speed. Regarding memory usage, Conty uses a bit more memory due to compression and because applications from the container can't share libraries with your system apps.
+
+Supports Xorg, Wayland and XWayland.
+
+Supports Chaotic-AUR and ALHP repositories. AUR is also supported.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">Kron4ek/Conty</remote-id>
+ <bugs-to>https://github.com/Kron4ek/Conty/issues</bugs-to>
+ </upstream>
+</pkgmetadata>
diff --git a/games-emulation/dosbox-x/Manifest b/games-emulation/dosbox-x/Manifest
new file mode 100644
index 000000000..c57446ce7
--- /dev/null
+++ b/games-emulation/dosbox-x/Manifest
@@ -0,0 +1 @@
+DIST dosbox-x-v2024.03.01.tar.gz 119593920 BLAKE2B 42c994247e55c1b2d67ed9e1bf90e99ddf9a08476b18ab802757becc0ee6959231d3665e39cfaef02a6b1c234e3faff10597d396d8d30ce01d8123b5107327bc SHA512 0eb835da3fdfd7f1c6160aa1a32a7eff7c38f46184f7cee088e0fb8edf09327f058fd45e7995955a7f335c704ddd69c1627731899a01687563990bb06f4d9cd1
diff --git a/games-emulation/dosbox-x/dosbox-x-2024.03.01.ebuild b/games-emulation/dosbox-x/dosbox-x-2024.03.01.ebuild
new file mode 100644
index 000000000..3a9d16acc
--- /dev/null
+++ b/games-emulation/dosbox-x/dosbox-x-2024.03.01.ebuild
@@ -0,0 +1,215 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs xdg
+
+if [[ "${PV}" == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/joncampbell123/dosbox-x.git"
+else
+ SRC_URI="https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-v${PV}.tar.gz"
+ S="${WORKDIR}/${PN}-${PN}-v${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Complete, accurate DOS emulator forked from DOSBox"
+HOMEPAGE="https://dosbox-x.com/"
+
+# Stay consistent with games-emulation/dosbox::gentoo even though source file
+# headers specify the GPL version to be "either version 2 of the License, or
+# (at your option) any later version." The same header is used in both the
+# DOSBox source tree and the DOSBox-X source tree.
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="X debug ffmpeg fluidsynth opengl png slirp truetype"
+# Unit tests are only available in debug builds
+RESTRICT="!debug? ( test )"
+
+BDEPEND="
+ dev-lang/nasm
+ sys-libs/libcap
+"
+
+# Unconditionally pulling in automagically-enabled optional dependencies:
+# - media-libs/alsa-lib
+# - media-libs/sdl2-net
+# - net-libs/libpcap
+#
+# With media-libs/libsdl2[-X,wayland], this package does work on a Wayland
+# desktop, but (at least on GNOME) the program does not launch in a movable
+# and resizable window; whereas with media-libs/libsdl2[X], it does. Thus,
+# unconditionally require media-libs/libsdl2[X] for better user experience.
+#
+# DOSBox-X works with multiple audio backends of SDL 2 but requires at least
+# one available backend (https://bugs.gentoo.org/901303). Unconditionally
+# depending on media-libs/libsdl2[alsa] to satisfy this requirement since
+# this ebuild already unconditionally pulls in media-libs/alsa-lib.
+COMMON_DEPEND="
+ media-libs/alsa-lib
+ media-libs/libsdl2[X,alsa,opengl?,sound,threads,video]
+ media-libs/sdl2-net
+ net-libs/libpcap
+ sys-libs/zlib
+ X? (
+ x11-libs/libX11
+ x11-libs/libXrandr
+ x11-libs/libxkbfile
+ )
+ debug? ( sys-libs/ncurses:= )
+ ffmpeg? ( media-video/ffmpeg:= )
+ fluidsynth? ( media-sound/fluidsynth:= )
+ opengl? ( media-libs/libglvnd[X] )
+ png? ( media-libs/libpng:= )
+ slirp? ( net-libs/libslirp )
+ truetype? ( media-libs/freetype )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+"
+
+# DOSBox-X can still run normally without any of these dependencies --
+# it just cannot show a file dialog. However, upon the initial launch,
+# DOSBox-X will try to show a file dialog to let the user choose the
+# working directory; without one of these dependencies, the user would
+# see nothing when they launch DOSBox-X for the first time.
+FILE_DIALOG_DEPEND="
+ || (
+ gnome-extra/zenity
+ kde-apps/kdialog
+ x11-misc/xdialog
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${FILE_DIALOG_DEPEND}
+"
+
+pkg_pretend() {
+ if use ffmpeg && use !png; then
+ ewarn "Setting the 'ffmpeg' USE flag when the 'png' USE flag is"
+ ewarn "unset does not have any effect. Unsetting the 'png' USE"
+ ewarn "flag disables the video capture feature, so additional"
+ ewarn "video capture formats enabled by the 'ffmpeg' USE flag"
+ ewarn "will end up being unused."
+ fi
+}
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/887669
+ # Mask lines touching '-O*', and avoid creating an empty command
+ # list as a result to not break 'if', 'for', or functions
+ sed -i -E -e 's/((C|CXX)FLAGS=.*-O)/: \1/' configure.ac ||
+ die "Failed to stop configure.ac from touching '-O*' compiler flags"
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ # Always use SDL 2, even though the package provides the option to
+ # build with SDL 1.x, because this package is expected to be built
+ # with the bundled, heavily-modified version of SDL 1.x if that
+ # branch is used. Compiler errors are likely to occur if the
+ # bundled version of SDL 1.x is not used. Bundled dependencies
+ # should be avoided on Gentoo, so SDL 2 is more preferable.
+ --enable-sdl2
+
+ # Explicitly enable ALSA MIDI support, same as default. As of
+ # v2022.08.0, even when it is disabled, media-libs/alsa-lib will
+ # still be automagically linked if it is present in the build
+ # environment (presumably for other components of this package),
+ # so the dependency cannot be made optional by disabling this
+ # option. Plus, disabling this option has no observable effect
+ # on build time, build size, or the program's functionality, as
+ # 'mididevice=alsa' still works with '--disable-alsa-midi'.
+ --enable-alsa-midi
+
+ $(use_enable debug '' heavy)
+
+ $(use_enable X x11)
+ $(use_enable ffmpeg avcodec)
+ $(use_enable fluidsynth libfluidsynth)
+ $(use_enable opengl)
+ $(use_enable png screenshots)
+ $(use_enable slirp libslirp)
+ $(use_enable truetype freetype)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ # https://bugs.gentoo.org/856352
+ emake AR="$(tc-getAR)"
+}
+
+src_test() {
+ set -- src/dosbox-x -tests
+ echo "${@}" >&2
+ "${@}" || die "Unit tests failed"
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Returns whether or not the USE flag specified with the first positional
+ # argument is newly enabled for this installation of the package.
+ newuse() {
+ local flag="${1}"
+
+ # The 'has_version' call tests if any USE flags are newly enabled.
+ # It is to extract information about any existing copy of this
+ # package installed on the system, which is why it should be made
+ # before the new copy of this package just built is merged.
+ use "${flag}" && ! has_version "${CATEGORY}/${PN}[${flag}]"
+ }
+
+ newuse debug && PRINT_NOTES_FOR_DEBUGGER=1
+ newuse fluidsynth && PRINT_NOTES_FOR_FLUIDSYNTH=1
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if [[ "${PRINT_NOTES_FOR_DEBUGGER}" ]]; then
+ elog
+ elog "Note on the Debugger"
+ elog
+ elog "The debugger can only be started when DOSBox-X is launched"
+ elog "from a terminal. Otherwise, the \"Start DOSBox-X Debugger\""
+ elog "option in the \"Debug\" drop-down menu would be unavailable."
+ elog
+ elog "For more information about the debugger, please consult:"
+ elog " ${EPREFIX}/usr/share/doc/${PF}/README.debugger*"
+ fi
+
+ if [[ "${PRINT_NOTES_FOR_FLUIDSYNTH}" ]]; then
+ elog
+ elog "Note on FluidSynth"
+ elog
+ elog "To use FluidSynth as the MIDI device for DOSBox-X, a soundfont"
+ elog "is required. If no existing soundfont is available, a new one"
+ elog "can be installed and configured for DOSBox-X very easily:"
+ elog
+ elog "1. Install the following package:"
+ elog " media-sound/fluid-soundfont"
+ elog "2. Add the following lines to DOSBox-X's configuration file:"
+ elog " [midi]"
+ elog " mididevice=fluidsynth"
+ elog
+ elog "Usually, there is no need to explicitly specify the soundfont"
+ elog "file's path because the package mentioned in step 1 installs"
+ elog "soundfont files to a standard location, allowing them to be"
+ elog "detected and selected automatically."
+ elog
+ elog "For advanced FluidSynth configuration, please consult:"
+ elog " https://dosbox-x.com/wiki/Guide%3ASetting-up-MIDI-in-DOSBox%E2%80%90X#_fluidsynth"
+ fi
+}
diff --git a/games-emulation/dosbox-x/dosbox-x-9999.ebuild b/games-emulation/dosbox-x/dosbox-x-9999.ebuild
new file mode 100644
index 000000000..3a9d16acc
--- /dev/null
+++ b/games-emulation/dosbox-x/dosbox-x-9999.ebuild
@@ -0,0 +1,215 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs xdg
+
+if [[ "${PV}" == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/joncampbell123/dosbox-x.git"
+else
+ SRC_URI="https://github.com/joncampbell123/dosbox-x/archive/dosbox-x-v${PV}.tar.gz"
+ S="${WORKDIR}/${PN}-${PN}-v${PV}"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="Complete, accurate DOS emulator forked from DOSBox"
+HOMEPAGE="https://dosbox-x.com/"
+
+# Stay consistent with games-emulation/dosbox::gentoo even though source file
+# headers specify the GPL version to be "either version 2 of the License, or
+# (at your option) any later version." The same header is used in both the
+# DOSBox source tree and the DOSBox-X source tree.
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="X debug ffmpeg fluidsynth opengl png slirp truetype"
+# Unit tests are only available in debug builds
+RESTRICT="!debug? ( test )"
+
+BDEPEND="
+ dev-lang/nasm
+ sys-libs/libcap
+"
+
+# Unconditionally pulling in automagically-enabled optional dependencies:
+# - media-libs/alsa-lib
+# - media-libs/sdl2-net
+# - net-libs/libpcap
+#
+# With media-libs/libsdl2[-X,wayland], this package does work on a Wayland
+# desktop, but (at least on GNOME) the program does not launch in a movable
+# and resizable window; whereas with media-libs/libsdl2[X], it does. Thus,
+# unconditionally require media-libs/libsdl2[X] for better user experience.
+#
+# DOSBox-X works with multiple audio backends of SDL 2 but requires at least
+# one available backend (https://bugs.gentoo.org/901303). Unconditionally
+# depending on media-libs/libsdl2[alsa] to satisfy this requirement since
+# this ebuild already unconditionally pulls in media-libs/alsa-lib.
+COMMON_DEPEND="
+ media-libs/alsa-lib
+ media-libs/libsdl2[X,alsa,opengl?,sound,threads,video]
+ media-libs/sdl2-net
+ net-libs/libpcap
+ sys-libs/zlib
+ X? (
+ x11-libs/libX11
+ x11-libs/libXrandr
+ x11-libs/libxkbfile
+ )
+ debug? ( sys-libs/ncurses:= )
+ ffmpeg? ( media-video/ffmpeg:= )
+ fluidsynth? ( media-sound/fluidsynth:= )
+ opengl? ( media-libs/libglvnd[X] )
+ png? ( media-libs/libpng:= )
+ slirp? ( net-libs/libslirp )
+ truetype? ( media-libs/freetype )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+"
+
+# DOSBox-X can still run normally without any of these dependencies --
+# it just cannot show a file dialog. However, upon the initial launch,
+# DOSBox-X will try to show a file dialog to let the user choose the
+# working directory; without one of these dependencies, the user would
+# see nothing when they launch DOSBox-X for the first time.
+FILE_DIALOG_DEPEND="
+ || (
+ gnome-extra/zenity
+ kde-apps/kdialog
+ x11-misc/xdialog
+ )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ ${FILE_DIALOG_DEPEND}
+"
+
+pkg_pretend() {
+ if use ffmpeg && use !png; then
+ ewarn "Setting the 'ffmpeg' USE flag when the 'png' USE flag is"
+ ewarn "unset does not have any effect. Unsetting the 'png' USE"
+ ewarn "flag disables the video capture feature, so additional"
+ ewarn "video capture formats enabled by the 'ffmpeg' USE flag"
+ ewarn "will end up being unused."
+ fi
+}
+
+src_prepare() {
+ default
+
+ # https://bugs.gentoo.org/887669
+ # Mask lines touching '-O*', and avoid creating an empty command
+ # list as a result to not break 'if', 'for', or functions
+ sed -i -E -e 's/((C|CXX)FLAGS=.*-O)/: \1/' configure.ac ||
+ die "Failed to stop configure.ac from touching '-O*' compiler flags"
+
+ eautoreconf
+}
+
+src_configure() {
+ local myconf=(
+ # Always use SDL 2, even though the package provides the option to
+ # build with SDL 1.x, because this package is expected to be built
+ # with the bundled, heavily-modified version of SDL 1.x if that
+ # branch is used. Compiler errors are likely to occur if the
+ # bundled version of SDL 1.x is not used. Bundled dependencies
+ # should be avoided on Gentoo, so SDL 2 is more preferable.
+ --enable-sdl2
+
+ # Explicitly enable ALSA MIDI support, same as default. As of
+ # v2022.08.0, even when it is disabled, media-libs/alsa-lib will
+ # still be automagically linked if it is present in the build
+ # environment (presumably for other components of this package),
+ # so the dependency cannot be made optional by disabling this
+ # option. Plus, disabling this option has no observable effect
+ # on build time, build size, or the program's functionality, as
+ # 'mididevice=alsa' still works with '--disable-alsa-midi'.
+ --enable-alsa-midi
+
+ $(use_enable debug '' heavy)
+
+ $(use_enable X x11)
+ $(use_enable ffmpeg avcodec)
+ $(use_enable fluidsynth libfluidsynth)
+ $(use_enable opengl)
+ $(use_enable png screenshots)
+ $(use_enable slirp libslirp)
+ $(use_enable truetype freetype)
+ )
+
+ econf "${myconf[@]}"
+}
+
+src_compile() {
+ # https://bugs.gentoo.org/856352
+ emake AR="$(tc-getAR)"
+}
+
+src_test() {
+ set -- src/dosbox-x -tests
+ echo "${@}" >&2
+ "${@}" || die "Unit tests failed"
+}
+
+pkg_preinst() {
+ xdg_pkg_preinst
+
+ # Returns whether or not the USE flag specified with the first positional
+ # argument is newly enabled for this installation of the package.
+ newuse() {
+ local flag="${1}"
+
+ # The 'has_version' call tests if any USE flags are newly enabled.
+ # It is to extract information about any existing copy of this
+ # package installed on the system, which is why it should be made
+ # before the new copy of this package just built is merged.
+ use "${flag}" && ! has_version "${CATEGORY}/${PN}[${flag}]"
+ }
+
+ newuse debug && PRINT_NOTES_FOR_DEBUGGER=1
+ newuse fluidsynth && PRINT_NOTES_FOR_FLUIDSYNTH=1
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ if [[ "${PRINT_NOTES_FOR_DEBUGGER}" ]]; then
+ elog
+ elog "Note on the Debugger"
+ elog
+ elog "The debugger can only be started when DOSBox-X is launched"
+ elog "from a terminal. Otherwise, the \"Start DOSBox-X Debugger\""
+ elog "option in the \"Debug\" drop-down menu would be unavailable."
+ elog
+ elog "For more information about the debugger, please consult:"
+ elog " ${EPREFIX}/usr/share/doc/${PF}/README.debugger*"
+ fi
+
+ if [[ "${PRINT_NOTES_FOR_FLUIDSYNTH}" ]]; then
+ elog
+ elog "Note on FluidSynth"
+ elog
+ elog "To use FluidSynth as the MIDI device for DOSBox-X, a soundfont"
+ elog "is required. If no existing soundfont is available, a new one"
+ elog "can be installed and configured for DOSBox-X very easily:"
+ elog
+ elog "1. Install the following package:"
+ elog " media-sound/fluid-soundfont"
+ elog "2. Add the following lines to DOSBox-X's configuration file:"
+ elog " [midi]"
+ elog " mididevice=fluidsynth"
+ elog
+ elog "Usually, there is no need to explicitly specify the soundfont"
+ elog "file's path because the package mentioned in step 1 installs"
+ elog "soundfont files to a standard location, allowing them to be"
+ elog "detected and selected automatically."
+ elog
+ elog "For advanced FluidSynth configuration, please consult:"
+ elog " https://dosbox-x.com/wiki/Guide%3ASetting-up-MIDI-in-DOSBox%E2%80%90X#_fluidsynth"
+ fi
+}
diff --git a/games-emulation/dosbox-x/metadata.xml b/games-emulation/dosbox-x/metadata.xml
new file mode 100644
index 000000000..c13d207ae
--- /dev/null
+++ b/games-emulation/dosbox-x/metadata.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>liaoyuan@gmail.com</email>
+ <name>Yuan Liao</name>
+ </maintainer>
+ <longdescription>
+ DOSBox-X is a fork of DOSBox. The main focus of DOSBox is just on
+ running DOS games, whereas DOSBox-X goes further than this: while it
+ "retains compatibility with the wide base of DOS games and DOS gaming
+ DOSBox was designed for", it is built to also run DOS applications,
+ Windows 3.x, Windows 9x series, and software written for those versions
+ of Windows. In particular, Windows 98 runs with superb stability on
+ DOSBox-X, which DOSBox cannot achieve yet.
+
+ DOSBox-X also ships more user-friendly features than DOSBox, including
+ a drop-down menu system for easier alteration to emulation parameters
+ and access to the emulator's functions, a graphical configuration tool
+ for modifying the configuration file, saving and loading the emulator's
+ state, creation of new disk image files, support for directly mounting
+ hard disk images with partitions formatted with the FAT32 file system,
+ and many more.
+ </longdescription>
+ <upstream>
+ <doc>https://dosbox-x.com/wiki/</doc>
+ <remote-id type="github">joncampbell123/dosbox-x</remote-id>
+ </upstream>
+ <use>
+ <flag name="X">
+ Enable X11 integration for better fullscreening functionality
+ </flag>
+ <flag name="debug">
+ Enable the internal debugger of this program
+ </flag>
+ <flag name="ffmpeg">
+ Enable MPEG.TS + H.264 video capture format support
+ via <pkg>media-video/ffmpeg</pkg>
+ </flag>
+ <flag name="fluidsynth">
+ Enable FluidSynth to be used as the MIDI synthesizer
+ </flag>
+ <flag name="opengl">
+ Enable OpenGL as a video system to use for output
+ </flag>
+ <flag name="png">
+ Enable screenshot and video capture support
+ via <pkg>media-libs/libpng</pkg>
+ </flag>
+ <flag name="slirp">
+ Enable the SLIRP back-end for network adapter emulation
+ </flag>
+ <flag name="truetype">
+ Enable TrueType font (TTF) output and printing support
+ via <pkg>media-libs/freetype</pkg>
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/games-emulation/duckstation/duckstation-9999.ebuild b/games-emulation/duckstation/duckstation-9999.ebuild
index 7114463e3..8e8cd4d1d 100644
--- a/games-emulation/duckstation/duckstation-9999.ebuild
+++ b/games-emulation/duckstation/duckstation-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -13,7 +13,7 @@ EGIT_SUBMODULES=()
LICENSE="GPL-3"
SLOT="0"
-IUSE="discord +egl +evdev fbdev +gamepad gbm +nogui qt5 retroachievements wayland X"
+IUSE="+dbus discord +egl +evdev fbdev +gamepad gbm +nogui qt6 retroachievements wayland X"
# Either or both frontends must be built
REQUIRED_USE="
@@ -27,13 +27,14 @@ BDEPEND="
wayland? ( kde-frameworks/extra-cmake-modules )
"
DEPEND="
+ media-libs/cubeb
evdev? ( dev-libs/libevdev )
- gamepad? ( media-libs/libsdl2 )
+ dbus? ( sys-apps/dbus )
+ gamepad? ( >=media-libs/libsdl2-2.28.5 )
gbm? ( x11-libs/libdrm )
- qt5? (
- dev-qt/qtcore
- dev-qt/qtgui
- dev-qt/qtnetwork
+ qt6? (
+ dev-qt/qtbase:6[gui,network,widgets]
+ dev-qt/qttools:6[linguist]
)
retroachievements? ( net-misc/curl[curl_ssl_gnutls] )
X? (
@@ -47,10 +48,12 @@ S="${WORKDIR}/${PN}"
src_configure() {
local mycmakeargs=(
+ -DENABLE_CUBEB=ON
-DBUILD_NOGUI_FRONTEND=$(usex nogui)
- -DBUILD_QT_FRONTEND=$(usex qt5)
+ -DBUILD_QT_FRONTEND=$(usex qt6)
-DENABLE_CHEEVOS=$(usex retroachievements)
- –DENABLE_DISCORD_PRESENCE=$(usex discord)
+ -DENABLE_DISCORD_PRESENCE=$(usex discord)
+ -DUSE_DBUS=$(usex dbus)
-DUSE_DRMKMS=$(usex gbm)
-DUSE_EGL=$(usex egl)
-DUSE_EVDEV=$(usex evdev)
@@ -68,30 +71,24 @@ src_install() {
# Binary and resources files must be in same directory – installing in /opt
insinto /opt/${PN}
- doins -r "${BUILD_DIR}"/bin/{database,inputprofiles,resources,shaders,translations}
+ doins -r "${BUILD_DIR}"/bin/resources/
if use nogui; then
- for i in {16,32,48,64,128,256}; do
- newicon -s ${i} dist/icon-${i}px.png duckstation-nogui.png
- done
- domenu dist/duckstation-nogui.desktop
+ newicon "${BUILD_DIR}"/bin/resources/images/duck.png duckstation-nogui.png
+ make_desktop_entry "${PN}-nogui %f" "DuckStation NoGUI" "${PN}-nogui" "Game"
doins "${BUILD_DIR}"/bin/duckstation-nogui
dosym ../../opt/${PN}/duckstation-nogui usr/bin/duckstation-nogui
fperms +x /opt/${PN}/duckstation-nogui
fi
- if use qt5; then
- for i in {16,32,48,64,128,256}; do
- newicon -s ${i} dist/icon-${i}px.png duckstation-qt.png
- done
- domenu dist/duckstation-qt.desktop
+ if use qt6; then
+ newicon "${BUILD_DIR}"/bin/resources/images/duck.png duckstation-qt.png
+ make_desktop_entry "${PN}-qt %f" "DuckStation Qt" "${PN}-qt" "Game"
+ doins -r "${BUILD_DIR}"/bin/translations/
doins "${BUILD_DIR}"/bin/duckstation-qt
dosym ../../opt/${PN}/duckstation-qt usr/bin/duckstation-qt
fperms +x /opt/${PN}/duckstation-qt
fi
-
- insinto /usr/share/metainfo
- doins dist/org.duckstation.DuckStation.metainfo.xml
}
diff --git a/games-emulation/duckstation/metadata.xml b/games-emulation/duckstation/metadata.xml
index 30b3bfff4..fbfcacde1 100644
--- a/games-emulation/duckstation/metadata.xml
+++ b/games-emulation/duckstation/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>myrvogna@electrosphe.re</email>
- <name>Octiabrina Terrien-Puig</name>
+ <email>contact@hacktivis.me</email>
+ <name>Haelwenn (lanodan) Monnier</name>
</maintainer>
<upstream>
<remote-id type="github">stenzek/duckstation</remote-id>
@@ -20,7 +20,7 @@
<flag name="gamepad">Link with SDL2 for controller support</flag>
<flag name="gbm">Support DRM/KMS OpenGL contexts</flag>
<flag name="nogui">Build the NoGUI frontend</flag>
- <flag name="qt5">Build the QT frontend</flag>
+ <flag name="qt6">Build the QT frontend</flag>
<flag name="retroachievements">Build with RetroAchievements supports</flag>
</use>
</pkgmetadata>
diff --git a/games-emulation/flycast/flycast-9999.ebuild b/games-emulation/flycast/flycast-9999.ebuild
new file mode 100644
index 000000000..3cea66b7a
--- /dev/null
+++ b/games-emulation/flycast/flycast-9999.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{3..4} )
+
+inherit cmake git-r3 lua-single xdg
+
+DESCRIPTION="Sega Dreamcast, Naomi and Atomiswave emulator"
+HOMEPAGE="https://github.com/flyinghead/flycast"
+EGIT_REPO_URI="https://github.com/flyinghead/flycast"
+EGIT_SUBMODULES=( 'core/deps/breakpad' 'core/deps/volk' 'core/deps/VulkanMemoryAllocator' )
+
+LICENSE="GPL-2"
+SLOT="0"
+
+IUSE="alsa ao lua opengl +openmp pulseaudio vulkan"
+
+DEPEND="
+ dev-libs/libchdr
+ dev-libs/libzip
+ dev-libs/xxhash
+ media-libs/libsdl2
+ net-libs/miniupnpc
+ sys-libs/zlib
+ alsa? ( media-libs/alsa-lib )
+ ao? ( media-libs/libao )
+ lua? ( ${LUA_DEPS} )
+ opengl? ( virtual/opengl )
+ openmp? ( sys-devel/gcc:*[openmp] )
+ pulseaudio? ( media-libs/libpulse )
+ vulkan? (
+ >=dev-util/glslang-1.3.231
+ dev-util/spirv-headers
+ )
+"
+RDEPEND="${DEPEND}"
+
+REQUIRED_USE="|| ( opengl vulkan ) || ( ao alsa pulseaudio )"
+
+src_unpack() {
+ use lua && EGIT_SUBMODULES+=( 'core/deps/luabridge' )
+ git-r3_src_unpack
+}
+src_prepare() {
+ # Ensure unneeded deps are not bundled
+ for dep in chdr dirent glslang libretro-common libzip miniupnpc oboe patches SDL vixl xxHash; do
+ rm -rf core/deps/${dep}
+ done
+
+ # Skip alsa if flag not enabled
+ use !alsa && sed -i -e '/find_package(ALSA)/d' CMakeLists.txt
+
+ # Skip ao if flag not enabled
+ use !ao && sed -i -e '/pkg_check_modules(AO/d' CMakeLists.txt
+
+ # Skip lua if flag not enabled
+ use !lua && sed -i -e '/find_package(Lua)/d' CMakeLists.txt
+
+ # Skip pulseaudio if flag not enabled
+ use !pulseaudio && sed -i -e '/pkg_check_modules(LIBPULSE/d' CMakeLists.txt
+
+ # Unbundle glslang
+ sed -i -e '/add_subdirectory(core\/deps\/glslang/{N;s/.*/find_library(GLSLANG libglslang.so)\nfind_library(SPIRV libSPIRV.so)\ntarget_link_libraries(${PROJECT_NAME} PRIVATE ${GLSLANG} ${SPIRV})/}' CMakeLists.txt || die
+ sed -i -e '/include.*SPIRV/{s:":<glslang/:;s/"/>/}' core/rend/vulkan/shaders.h \
+ core/rend/vulkan/compiler.cpp || die
+ # Crazy commit fix: 8d0654c
+ sed -i -e '/maxMeshViewCountNV/a256,256,128,128,128,128,128,128,4,' \
+ core/rend/vulkan/compiler.cpp || die
+
+ # Unbundle xxHash
+ sed -i -e '/XXHASH_BUILD_XXHSUM/{N;N;s/.*/target_link_libraries(${PROJECT_NAME} PRIVATE xxhash)/}' \
+ CMakeLists.txt || die
+
+ # Unbundle chdr
+ sed -i -e '/add_subdirectory.*chdr/d' -e 's/chdr-static/chdr/' \
+ -e 's:core/deps/chdr/include:/usr/include/chdr:' CMakeLists.txt || die
+
+ # Do not use ccache
+ sed -i -e '/find_program(CCACHE_FOUND/d' CMakeLists.txt
+
+ # Ensure static libs are not built
+ sed -i -e '/BUILD_SHARED_LIBS/d' CMakeLists.txt
+
+ # Vulkan-header
+ sed -i -e '/add_subdirectory(core.*Vulkan-Headers)$/,/Vulkan::Headers/d' \
+ -e '/core\/deps\/Vulkan-Headers\/include)/d' CMakeLists.txt
+ sed -i -e 's:SPIRV/GlslangToSpv.h:glslang/&:' core/rend/vulkan/compiler.cpp
+ if use vulkan; then
+ sed -i -e '$atarget_link_libraries(${PROJECT_NAME} PRIVATE glslang-default-resource-limits)' CMakeLists.txt
+ fi
+
+ # Do not use ccache
+ sed -i -e '/find_program(CCACHE_PROGRAM ccache)/d' CMakeLists.txt
+
+ # Revert crazy commit: #4408aa7
+ sed -i -e '/if(NOT APPLE AND (/s/.*/if( NOT APPLE )/' CMakeLists.txt
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_OPENGL=$(usex opengl)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_VULKAN=$(usex vulkan)
+ -DUSE_HOST_LIBZIP=ON
+ -DWITH_SYSTEM_ZLIB=ON
+ )
+ cmake_src_configure
+}
diff --git a/games-emulation/flycast/metadata.xml b/games-emulation/flycast/metadata.xml
new file mode 100644
index 000000000..524f53682
--- /dev/null
+++ b/games-emulation/flycast/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <name>mazes-80</name>
+ <email>samuel.bauer@yahoo.fr</email>
+</maintainer>
+<use>
+ <flag name="vulkan">Compile vulkan backend</flag>
+</use>
+<upstream>
+ <remote-id type="github">flyinghead/flycast</remote-id>
+</upstream>
+</pkgmetadata>
diff --git a/games-emulation/melonds/Manifest b/games-emulation/melonds/Manifest
deleted file mode 100644
index f284f28e8..000000000
--- a/games-emulation/melonds/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST melonDS-0.9.2.tar.gz 1330793 BLAKE2B e504dd2e1344a9680b9820f7f0308fa30decb16f40675df5649babef7ab3fae9528042fc2737a36bafdd28b9125f94a79d20e5a5e791d485feb9dc26b64b1432 SHA512 3d099af675acdcb91431aaaf95bc27c10fd432ebd29aa81c7eb4e65dfad9c20cb4fd5de086d2162cbe4a6b41f7e140880a5742b1ec34eef0511fff052aa1baaa
-DIST melonDS-0.9.3.tar.gz 2241325 BLAKE2B 0ea7fbcce039a60a0553ae45d11f0b1550bfec2300faf1c99c3ee531bd5949c7293bec187fbf53e400bbb6280df29db141b2d1bcb294a8abf2eabb71993db686 SHA512 37f26f3a9784873ce1664645cea70049725367f5fe62f7c58842ebd5da2c73ffe423695dddb0ffd444bdf59df2a3fcd778cdf95b2bb083014b961fed282953f5
diff --git a/games-emulation/melonds/melonds-0.9.2.ebuild b/games-emulation/melonds/melonds-0.9.2.ebuild
deleted file mode 100644
index 28d40e3c8..000000000
--- a/games-emulation/melonds/melonds-0.9.2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_PN="melonDS"
-MY_P="${MY_PN}-${PV}"
-
-inherit cmake flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="Nintendo DS emulator, sorta"
-HOMEPAGE="
- http://melonds.kuribo64.net
- https://github.com/Arisotura/melonDS
-"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Arisotura/${MY_PN}.git"
-else
- SRC_URI="https://github.com/Arisotura/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/${MY_P}"
-fi
-
-IUSE="+jit +opengl"
-LICENSE="BSD-2 GPL-2 GPL-3 Unlicense"
-SLOT="0"
-
-DEPEND="
- app-arch/libarchive
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- media-libs/libsdl2[sound,video]
- net-libs/libpcap
- net-libs/libslirp
- opengl? ( media-libs/libepoxy )
-"
-RDEPEND="${DEPEND}"
-
-# used for JIT recompiler
-QA_EXECSTACK="usr/bin/melonDS"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_JIT=$(usex jit)
- -DENABLE_OGLRENDERER=$(usex opengl)
- )
- cmake_src_configure
-}
-
-src_compile() {
- tc-export AR
- cmake_src_compile
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog "You need the following files in order to run melonDS:"
- elog "- bios7.bin"
- elog "- bios9.bin"
- elog "- firmware.bin"
- elog "- romlist.bin"
- elog "Place them in ~/.config/melonDS"
- elog "Those files can be found somewhere on the Internet ;-)"
-}
diff --git a/games-emulation/melonds/melonds-0.9.3.ebuild b/games-emulation/melonds/melonds-0.9.3.ebuild
deleted file mode 100644
index a6497b3a6..000000000
--- a/games-emulation/melonds/melonds-0.9.3.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTICE:
-# melonds bundles teakra, its upstream haven't had a release since 2020
-
-EAPI=7
-
-MY_PN="melonDS"
-MY_P="${MY_PN}-${PV}"
-
-inherit cmake flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="Nintendo DS emulator, sorta"
-HOMEPAGE="
- http://melonds.kuribo64.net
- https://github.com/Arisotura/melonDS
-"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Arisotura/${MY_PN}.git"
-else
- SRC_URI="https://github.com/Arisotura/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/${MY_P}"
-fi
-
-IUSE="+jit +opengl"
-LICENSE="BSD-2 GPL-2 GPL-3 Unlicense"
-SLOT="0"
-
-DEPEND="
- app-arch/libarchive
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- media-libs/libsdl2[sound,video]
- net-libs/libpcap
- net-libs/libslirp
- opengl? ( media-libs/libepoxy )
-"
-RDEPEND="${DEPEND}"
-
-# used for JIT recompiler
-QA_EXECSTACK="usr/bin/melonDS"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_JIT=$(usex jit)
- -DENABLE_OGLRENDERER=$(usex opengl)
- )
- cmake_src_configure
-}
-
-src_compile() {
- tc-export AR
- cmake_src_compile
-}
-
-src_install() {
- # install teakra
- dolib.so "${BUILD_DIR}/src/teakra/src/libteakra.so"
-
- cmake_src_install
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog "You need the following files in order to run melonDS:"
- elog "- bios7.bin"
- elog "- bios9.bin"
- elog "- firmware.bin"
- elog "- romlist.bin"
- elog "Place them in ~/.config/melonDS"
- elog "Those files can be found somewhere on the Internet ;-)"
-}
diff --git a/games-emulation/melonds/melonds-9999.ebuild b/games-emulation/melonds/melonds-9999.ebuild
deleted file mode 100644
index a6497b3a6..000000000
--- a/games-emulation/melonds/melonds-9999.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 2019-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# NOTICE:
-# melonds bundles teakra, its upstream haven't had a release since 2020
-
-EAPI=7
-
-MY_PN="melonDS"
-MY_P="${MY_PN}-${PV}"
-
-inherit cmake flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="Nintendo DS emulator, sorta"
-HOMEPAGE="
- http://melonds.kuribo64.net
- https://github.com/Arisotura/melonDS
-"
-
-if [[ "${PV}" == *9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/Arisotura/${MY_PN}.git"
-else
- SRC_URI="https://github.com/Arisotura/${MY_PN}/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/${MY_P}"
-fi
-
-IUSE="+jit +opengl"
-LICENSE="BSD-2 GPL-2 GPL-3 Unlicense"
-SLOT="0"
-
-DEPEND="
- app-arch/libarchive
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- media-libs/libsdl2[sound,video]
- net-libs/libpcap
- net-libs/libslirp
- opengl? ( media-libs/libepoxy )
-"
-RDEPEND="${DEPEND}"
-
-# used for JIT recompiler
-QA_EXECSTACK="usr/bin/melonDS"
-
-src_prepare() {
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_JIT=$(usex jit)
- -DENABLE_OGLRENDERER=$(usex opengl)
- )
- cmake_src_configure
-}
-
-src_compile() {
- tc-export AR
- cmake_src_compile
-}
-
-src_install() {
- # install teakra
- dolib.so "${BUILD_DIR}/src/teakra/src/libteakra.so"
-
- cmake_src_install
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog "You need the following files in order to run melonDS:"
- elog "- bios7.bin"
- elog "- bios9.bin"
- elog "- firmware.bin"
- elog "- romlist.bin"
- elog "Place them in ~/.config/melonDS"
- elog "Those files can be found somewhere on the Internet ;-)"
-}
diff --git a/games-emulation/melonds/metadata.xml b/games-emulation/melonds/metadata.xml
deleted file mode 100644
index 877a2c235..000000000
--- a/games-emulation/melonds/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>xgqt@riseup.net</email>
- <name>Maciej Barć</name>
- </maintainer>
- <upstream>
- <remote-id type="github">Arisotura/melonDS</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/games-emulation/mupen64plus-qt/Manifest b/games-emulation/mupen64plus-qt/Manifest
index f826be1d1..c0bca664a 100644
--- a/games-emulation/mupen64plus-qt/Manifest
+++ b/games-emulation/mupen64plus-qt/Manifest
@@ -1 +1 @@
-DIST mupen64plus-qt-1.14.tar.gz 573526 BLAKE2B f81681861de61db9e68eb80941e97644a2e903b221c470e981c9e7f39e3cc720f59e57a08a7d5346b99ae963d6639c275c98f6519df9a203b0aaf567e9169451 SHA512 c4260a4d01362c4aa6c921bd816dd4ea6bae03380ad461613fffdcb877c09b0f8cc7e3e954842c1dd533ffdc546086b943ddf17c3c133c0b772cf62111ca01ea
+DIST mupen64plus-qt-1.15.tar.gz 573009 BLAKE2B 9db7c5c7fefa99466933e4526338487b138eb970595d0ac92aedb1649e9786785b2472b7716cd24080e99cddda9d434207d2387515a62f6b2c111076bdcb10ed SHA512 f7abb23b401febbf60cfb04bcfe37047ce2e323241665aaae06874903da33c0dedf405809a8af193f82f1dc4537adcbcd480f86b5dad5d3af635d1eb00fb6aae
diff --git a/games-emulation/mupen64plus-qt/metadata.xml b/games-emulation/mupen64plus-qt/metadata.xml
index c04f7b664..ead6dfb80 100644
--- a/games-emulation/mupen64plus-qt/metadata.xml
+++ b/games-emulation/mupen64plus-qt/metadata.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<name>Samuel Bauer</name>
<email>samuel.bauer@yahoo.fr</email>
</maintainer>
+<upstream>
+ <remote-id type="github">dh4/mupen64plus-qt</remote-id>
+</upstream>
</pkgmetadata>
diff --git a/games-emulation/mupen64plus-qt/mupen64plus-qt-1.14.ebuild b/games-emulation/mupen64plus-qt/mupen64plus-qt-1.15.ebuild
index 790fc311b..06dc4fd58 100644
--- a/games-emulation/mupen64plus-qt/mupen64plus-qt-1.14.ebuild
+++ b/games-emulation/mupen64plus-qt/mupen64plus-qt-1.15.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2020 Gentoo Authors
+# Copyright 2018-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit desktop qmake-utils
@@ -19,14 +19,13 @@ RDEPEND="
dev-qt/qtxml:5
dev-qt/qtsql:5
dev-qt/qtwidgets:5
- dev-libs/quazip
+ || ( <dev-libs/quazip-1.3 >=dev-libs/quazip-1.3[qt5] )
"
DEPEND=">=games-emulation/mupen64plus-core-2.5
${RDEPEND}"
src_prepare() {
- sed -i -e '/MatchWildcard/{s/Wildcard/RegExp/; s/"\*"/".*"/}' src/dialogs/settingsdialog.cpp || die
- sed -i -e '/include.*quazip5/s/quazip5/QuaZip-Qt5-1.1\/quazip/' \
+ sed -i -e '/include.*quazip5/s:quazip5/::' \
src/emulation/emulatorhandler.cpp src/common.cpp || die
sed -i -e 's/lquazip5/lquazip1-qt5/' mupen64plus-qt.pro || die
default
@@ -34,6 +33,7 @@ src_prepare() {
src_configure() {
eqmake5
+ sed -i -e "/INCPATH/s:\$: $(pkg-config --cflags-only-I quazip1-qt5):" Makefile || die
}
src_install() {
diff --git a/games-emulation/mupen64plus-qt/mupen64plus-qt-9999.ebuild b/games-emulation/mupen64plus-qt/mupen64plus-qt-9999.ebuild
index 93dd2d71b..4ffcf1352 100644
--- a/games-emulation/mupen64plus-qt/mupen64plus-qt-9999.ebuild
+++ b/games-emulation/mupen64plus-qt/mupen64plus-qt-9999.ebuild
@@ -1,7 +1,7 @@
-# Copyright 2018-2021 Gentoo Authors
+# Copyright 2018-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit desktop git-r3 qmake-utils
@@ -11,7 +11,6 @@ EGIT_REPO_URI="https://github.com/dh4/mupen64plus-qt"
LICENSE="BSD"
SLOT="0"
-KEYWORDS=""
RDEPEND="
dev-qt/qtcore:5
@@ -19,14 +18,13 @@ RDEPEND="
dev-qt/qtxml:5
dev-qt/qtsql:5
dev-qt/qtwidgets:5
- dev-libs/quazip
+ || ( <dev-libs/quazip-1.3 >=dev-libs/quazip-1.3[qt5] )
"
DEPEND=">=games-emulation/mupen64plus-core-2.5
${RDEPEND}"
src_prepare() {
- sed -i -e '/MatchWildcard/{s/Wildcard/RegExp/; s/"\*"/".*"/}' src/dialogs/settingsdialog.cpp || die
- sed -i -e '/include.*quazip5/s/quazip5/QuaZip-Qt5-1.1\/quazip/' \
+ sed -i -e '/include.*quazip5/s:quazip5/::' \
src/emulation/emulatorhandler.cpp src/common.cpp || die
sed -i -e 's/lquazip5/lquazip1-qt5/' mupen64plus-qt.pro || die
default
@@ -34,6 +32,7 @@ src_prepare() {
src_configure() {
eqmake5
+ sed -i -e "/INCPATH/s:\$: $(pkg-config --cflags-only-I quazip1-qt5):" Makefile || die
}
src_install() {
diff --git a/games-emulation/np2kai/metadata.xml b/games-emulation/np2kai/metadata.xml
index 2ef2bd16c..2790dd2c4 100644
--- a/games-emulation/np2kai/metadata.xml
+++ b/games-emulation/np2kai/metadata.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>linobigatti@protonmail.com</email>
@@ -22,4 +22,7 @@
<flag name="sdl2">Use <pkg>media-libs/libsdl2</pkg> instead of <pkg>media-libs/libsdl</pkg></flag>
<flag name="X">Build support for X</flag>
</use>
+ <upstream>
+ <remote-id type="github">AZO234/NP2kai</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/games-emulation/np2kai/np2kai-22.ebuild b/games-emulation/np2kai/np2kai-22.ebuild
index 035962b57..cf91d20a7 100644
--- a/games-emulation/np2kai/np2kai-22.ebuild
+++ b/games-emulation/np2kai/np2kai-22.ebuild
@@ -31,7 +31,7 @@ DEPEND="media-libs/libsdl
x11-base/xorg-server
x11-libs/gtk+:2"
RDEPEND="${DEPEND}"
-BDEPEND="sys-devel/automake"
+BDEPEND="dev-build/automake"
S="${WORKDIR}/NP2kai-rev.${PV}/x11"
diff --git a/games-emulation/rpcs3/metadata.xml b/games-emulation/rpcs3/metadata.xml
new file mode 100644
index 000000000..95c264d48
--- /dev/null
+++ b/games-emulation/rpcs3/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <name>mazes-80</name>
+ <email>samuel.bauer@yahoo.fr</email>
+</maintainer>
+<use>
+ <flag name="discord">Enables Discord Rich Presence</flag>
+ <flag name="faudio">Add faudio sound backend support</flag>
+ <flag name="llvm">Use llvm idk what for</flag>
+ <flag name="vulkan">Build vulkan renderer</flag>
+</use>
+</pkgmetadata>
diff --git a/games-emulation/rpcs3/rpcs3-9999.ebuild b/games-emulation/rpcs3/rpcs3-9999.ebuild
new file mode 100644
index 000000000..27d67610b
--- /dev/null
+++ b/games-emulation/rpcs3/rpcs3-9999.ebuild
@@ -0,0 +1,155 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic xdg
+
+ASMJIT_COMMIT="416f7356967c1f66784dc1580fe157f9406d8bff"
+GLSLANG_COMMIT="36d08c0d940cf307a23928299ef52c7970d8cee6"
+MINIUPNP_COMMIT="f22a96b4697699d32fdc2d17c5d0ad7880a99c24"
+RTMIDI_COMMIT="1e5b49925aa60065db52de44c366d446a902547b"
+WOLFSSL_COMMIT="8970ff4c34034dbb3594943d11f8c9d4c5512bd5"
+SOUNDTOUCH_COMMIT="ced3ce8d5ecc5aef8a5156fea206a37b33774bf3"
+YAMLCPP_COMMIT="456c68f452da09d8ca84b375faa2b1397713eaba"
+
+DESCRIPTION="PS3 emulator/debugger"
+HOMEPAGE="https://rpcs3.net/"
+if [[ ${PV} == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/RPCS3/rpcs3"
+ EGIT_SUBMODULES=( 'asmjit' '3rdparty/glslang' '3rdparty/miniupnp/miniupnp' '3rdparty/rtmidi/rtmidi' '3rdparty/wolfssl' '3rdparty/SoundTouch/soundtouch' )
+ # Delete sources when ensuring yaml-cpp compiled with fexceptions
+ EGIT_SUBMODULES+=( '3rdparty/yaml-cpp' )
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/RPCS3/rpcs3/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/asmjit/asmjit/archive/${ASMJIT_COMMIT}.tar.gz -> ${PN}-asmjit-${ASMJIT_COMMIT}.tar.gz
+ https://github.com/KhronosGroup/glslang/archive/${GLSLANG_COMMIT}.tar.gz -> ${PN}-glslang-${GLSLANG_COMMIT}.tar.gz
+ https://github.com/miniupnp/miniupnp/archive/${MINIUPNP_COMMIT}.tar.gz -> ${PN}-miniupnp-${MINIUPNP_COMMIT}.tar.gz
+ https://github.com/thestk/rtmidi/archive/${RTMIDI_COMMIT}.tar.gz -> ${PN}-rtmidi-${RTMIDI_COMMIT}.tar.gz
+ https://github.com/wolfSSL/wolfssl/archive/${WOLFSSL_COMMIT}.tar.gz -> ${PN}-wolfssl-${WOLFSSL_COMMIT}.tar.gz
+ https://github.com/RPCS3/soundtouch/archive/${SOUNDTOUCH_COMMIT}.tar.gz -> ${PN}-soundtouch-${SOUNDTOUCH_COMMIT}.tar.gz
+ https://github.com/RPCS3/yaml-cpp/archive/${YAMLCPP_COMMIT}.tar.gz -> ${PN}-yaml-cpp-${SOUNDTOUCH_COMMIT}-.tar.gz
+ "
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="discord faudio +llvm vulkan wayland"
+
+DEPEND="
+ app-arch/p7zip
+ dev-libs/flatbuffers
+ dev-libs/hidapi
+ dev-libs/libevdev
+ dev-libs/pugixml
+ dev-libs/xxhash
+ dev-qt/qtbase:6[concurrent,dbus,gui,widgets]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+ media-libs/cubeb
+ media-libs/glew
+ media-libs/libglvnd
+ media-libs/libpng:=
+ media-libs/openal
+ media-video/ffmpeg:=
+ net-misc/curl
+ sys-devel/llvm:=
+ sys-libs/zlib
+ virtual/libusb:1
+ faudio? ( app-emulation/faudio )
+ vulkan? ( media-libs/vulkan-loader[wayland?] )
+ wayland? ( dev-libs/wayland )
+"
+RDEPEND="${DEPEND}"
+
+QA_PREBUILT="usr/share/rpcs3/test/.*"
+QA_WX_LOAD="usr/share/rpcs3/test/*"
+
+src_prepare() {
+ if [[ ${PV} != "9999" ]]; then
+ rmdir "${S}/3rdparty/asmjit/asmjit" || die
+ mv "${WORKDIR}/asmjit-${ASMJIT_COMMIT}" "${S}/3rdparty/asmjit/asmjit" || die
+
+ rmdir "${S}/3rdparty/glslang/glslang" || die
+ mv "${WORKDIR}/glslang-${GLSLANG_COMMIT}" "${S}/3rdparty/glslang/glslang" || die
+
+ rmdir "${S}/3rdparty/miniupnp/miniupnp" || die
+ mv "${WORKDIR}/miniupnp-${MINIUPNP_COMMIT}" "${S}/3rdparty/miniupnp/miniupnp" || die
+
+ rmdir "${S}/3rdparty/rtmidi/rtmidi" || die
+ mv "${WORKDIR}/rtmidi-${RTMIDI_COMMIT}" "${S}/3rdparty/rtmidi/rtmidi" || die
+
+ rmdir "${S}/3rdparty/wolfssl/wolfssl" || die
+ mv "${WORKDIR}/wolfssl-${WOLFSSL_COMMIT}" "${S}/3rdparty/wolfssl/wolfssl" || die
+
+ rmdir "${S}/3rdparty/SoundTouch/soundtouch" || die
+ mv "${WORKDIR}/soundtouch-${SOUNDTOUCH_COMMIT}" "${S}/3rdparty/SoundTouch/soundtouch" || die
+
+ rmdir "${S}/3rdparty/yaml-cpp/yaml-cpp" || die
+ mv "${WORKDIR}/yaml-cpp-${YAMLCPP_COMMIT}" "${S}/3rdparty/SoundTouch/soundtouch" || die
+
+ #Define RPCS3 Version
+ { echo "#define RPCS3_GIT_VERSION \"${PV}\""
+ echo '#define RPCS3_GIT_BRANCH "master"'
+ echo '#define RPCS3_GIT_FULL_BRANCH "RPCS3/rpcs3/master"'
+ echo '#define RPCS3_GIT_VERSION_NO_UPDATE 1'; } > rpcs3/git-version.h
+ fi
+
+ # Disable automagic ccache
+ sed -i -e '/find_program(CCACHE_FOUND ccache)/d' CMakeLists.txt || die
+
+ # Unbundle hidapi
+ sed -i -e '/hidapi\.h/{s:":<hidapi/:;s/"/>/}' rpcs3/Input/hid_pad_handler.h || die
+ sed -i -e '/hidapi/d' 3rdparty/CMakeLists.txt || die
+ sed -i -e '1afind_package(PkgConfig REQUIRED)\npkg_check_modules(hidapi-hidraw REQUIRED hidapi-hidraw)' \
+ rpcs3/CMakeLists.txt || die
+ sed -i -e 's/3rdparty::hidapi/hidapi-hidraw/' rpcs3/CMakeLists.txt rpcs3/rpcs3qt/CMakeLists.txt || die
+ sed -i -e 's/hid_write_control/hid_write/' \
+ rpcs3/Input/dualsense_pad_handler.cpp rpcs3/Input/ds4_pad_handler.cpp || die
+
+ # Unbundle cubeb
+ sed -i -e '/cubeb/d' 3rdparty/CMakeLists.txt || die
+ sed -i -e '$afind_package(cubeb)\n' CMakeLists.txt || die
+ sed -i -e 's/3rdparty::cubeb/cubeb/' rpcs3/Emu/CMakeLists.txt || die
+
+ # Unbundle yaml-cpp: system yaml-cpp should be compiled with -fexceptions
+ # sed -i -e '/yaml-cpp/d' 3rdparty/CMakeLists.txt || die
+ # sed -i -e '$afind_package(yaml-cpp)\n' CMakeLists.txt || die
+ # sed -i -e 's/3rdparty::yaml-cpp/yaml-cpp/' rpcs3/Emu/CMakeLists.txt \
+ # rpcs3/rpcs3qt/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ filter-lto
+
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF # to remove after unbundling
+ -DUSE_PRECOMPILED_HEADERS=ON
+ -DUSE_SYSTEM_CURL=ON
+ -DUSE_SYSTEM_FFMPEG=ON
+ -DUSE_SYSTEM_FLATBUFFERS=ON
+ -DUSE_SYSTEM_LIBPNG=ON
+ -DUSE_SYSTEM_LIBUSB=ON
+ -DUSE_SYSTEM_PUGIXML=ON
+ -DUSE_SYSTEM_XXHASH=ON
+ -DUSE_SYSTEM_ZLIB=ON
+ -DUSE_DISCORD_RPC=$(usex discord)
+ -DUSE_FAUDIO=$(usex faudio)
+ -DUSE_VULKAN=$(usex vulkan)
+ -DWITH_LLVM=$(usex llvm)
+ )
+ # These options are defined conditionally to suppress QA notice
+ use faudio && mycmakeargs+=( -DUSE_SYSTEM_FAUDIO=$(usex faudio) )
+ use vulkan && mycmakeargs+=( $(cmake_use_find_package wayland Wayland) )
+
+ cmake_src_configure
+
+ sed -i -e 's/FFMPEG_LIB_AVFORMAT-NOTFOUND/avformat/' -e 's/FFMPEG_LIB_AVCODEC-NOTFOUND/avcodec/' \
+ -e 's/FFMPEG_LIB_AVUTIL-NOTFOUND/avutil/' -e 's/FFMPEG_LIB_SWSCALE-NOTFOUND/swscale/' \
+ -e 's/FFMPEG_LIB_SWRESAMPLE-NOTFOUND/swresample/' "${BUILD_DIR}"/build.ninja || die
+}
diff --git a/games-emulation/yuzu/files/yuzu-9999-assert.patch b/games-emulation/yuzu/files/yuzu-9999-assert.patch
deleted file mode 100644
index cd342ffba..000000000
--- a/games-emulation/yuzu/files/yuzu-9999-assert.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/src/common/assert.h
-+++ b/src/common/assert.h
-@@ -28,22 +28,19 @@ __declspec(noinline, noreturn)
- }
-
- #define ASSERT(_a_) \
-- do \
-- if (!(_a_)) { \
-- assert_noinline_call([] { LOG_CRITICAL(Debug, "Assertion Failed!"); }); \
-- } \
-- while (0)
-+ if (!(_a_)) { \
-+ LOG_CRITICAL(Debug, "Assertion Failed!"); \
-+ }
-
- #define ASSERT_MSG(_a_, ...) \
-- do \
-- if (!(_a_)) { \
-- assert_noinline_call([&] { LOG_CRITICAL(Debug, "Assertion Failed!\n" __VA_ARGS__); }); \
-- } \
-- while (0)
-+ if (!(_a_)) { \
-+ LOG_CRITICAL(Debug, "Assertion Failed! " __VA_ARGS__); \
-+ }
-
--#define UNREACHABLE() assert_noinline_call([] { LOG_CRITICAL(Debug, "Unreachable code!"); })
-+#define UNREACHABLE() \
-+ { LOG_CRITICAL(Debug, "Unreachable code!"); }
- #define UNREACHABLE_MSG(...) \
-- assert_noinline_call([&] { LOG_CRITICAL(Debug, "Unreachable code!\n" __VA_ARGS__); })
-+ { LOG_CRITICAL(Debug, "Unreachable code!\n" __VA_ARGS__); }
-
- #ifdef _DEBUG
- #define DEBUG_ASSERT(_a_) ASSERT(_a_)
diff --git a/games-emulation/yuzu/metadata.xml b/games-emulation/yuzu/metadata.xml
deleted file mode 100644
index b1edc6d5d..000000000
--- a/games-emulation/yuzu/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="person">
- <name>Samuel Bauer</name>
- <email>samuel.bauer@yahoo.fr</email>
-</maintainer>
-<use>
- <flag name="boxcat">Enable the Boxcat service, a yuzu high-level implementation of BCAT</flag>
- <flag name="cubeb">Enables the cubeb audio backend</flag>
- <flag name="compatibility-list">Downloads the latest compatibility list</flag>
- <flag name="discord">Enables Discord Rich Presence</flag>
- <flag name="system-vulkan">Use system dev-util/vulkan-headers</flag>
- <flag name="webengine">Use QtWebEngine for web applet implementation</flag>
- <flag name="webservice">Enable web services (telemetry, etc.)</flag>
-</use>
-</pkgmetadata>
diff --git a/games-emulation/yuzu/yuzu-9999.ebuild b/games-emulation/yuzu/yuzu-9999.ebuild
deleted file mode 100644
index f01ff4a76..000000000
--- a/games-emulation/yuzu/yuzu-9999.ebuild
+++ /dev/null
@@ -1,137 +0,0 @@
-# Copyright 2020-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake git-r3 flag-o-matic toolchain-funcs xdg
-
-DESCRIPTION="An emulator for Nintendo Switch"
-HOMEPAGE="https://yuzu-emu.org"
-EGIT_REPO_URI="https://github.com/yuzu-emu/yuzu"
-EGIT_SUBMODULES=( '*' '-ffmpeg' '-inih' '-libressl' '-libusb' '-libzip' '-opus' '-SDL' )
-# TODO '-xbyak' wait for bump in tree
-# TODO cubeb auto-links to jack, pulse, alsa .., allow determining cubeb output
-# media-libs/cubeb would benefit to a lot of packages: dolphin-emu, firefox, citra, self, ...
-# TODO many submodules produce static libraries which forces to unset BUILD_SHARED_LIBS
-# this may be better to generate shared libraries and install them under /usr/$(get_libdir)/yuzu
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS=""
-IUSE="+boxcat +compatibility-list +cubeb discord +qt5 sdl system-vulkan webengine +webservice"
-
-DEPEND="
- discord? ( >=dev-libs/rapidjson-1.1.0 )
- qt5? (
- >=dev-qt/qtgui-5.15
- >=dev-qt/qtwidgets-5.15
- )
- sdl? (
- >=media-libs/libsdl2-2.0.16
- >=dev-libs/inih-52
- )
- system-vulkan? (
- >=dev-util/vulkan-headers-1.2.180
- )
- >=app-arch/lz4-1.8
- >=app-arch/zstd-1.5
- >=dev-cpp/catch-2.13:0
- >=dev-cpp/nlohmann_json-3.8.0
- >=dev-libs/boost-1.73:=[context]
- >=dev-libs/libfmt-8
- >=dev-libs/libzip-1.5
- >=media-libs/opus-1.3.1
- >=sys-libs/zlib-1.2
- virtual/libusb:1
-"
-RDEPEND="${DEPEND}"
-REQUIRED_USE="boxcat? ( webservice ) || ( qt5 sdl )"
-
-PATCHES=( "${FILESDIR}"/${P}-assert.patch )
-
-pkg_setup() {
- if [ tc-is-gcc ]; then
- [ "$(gcc-major-version)" -lt 11 ] && \
- die "You need gcc version 11 or clang to compile this package"
- fi
- grep -q 'ThreadEngineStarter<void>' /usr/include/qt5/QtConcurrent/qtconcurrentthreadengine.h \
- || die "add user patch for dev-qt/qtconcurrent: https://github.com/qt/qtbase/commit/659f7a06e91c04b239e3f4c0bcfccbe3581af1c3.diff"
-}
-
-src_unpack() {
- if use system-vulkan; then
- EGIT_SUBMODULES+=('-Vulkan-Headers')
- fi
-
- git-r3_src_unpack
-
- # Do not fetch via sources because this file always changes
- use compatibility-list && curl https://api.yuzu-emu.org/gamedb/ > "${S}"/compatibility_list.json
-}
-
-src_prepare() {
- # Set yuzu dev flags
- filter-flags '-*'
- append-cflags '-O3 -DNDEBUG'
- append-cxxflags '-O3 -DNDEBUG'
-
- # headers is not a valid boost component
- sed -i -e '/find_package(Boost/{s/headers //;s/CONFIG //}' CMakeLists.txt || die
-
- # Allow skip submodule downloading
- rm .gitmodules
-
- # unbundle opus (thx to https://github.com/Alex-Aralis/yuzu-overlay/blob/master/games-emulation/yuzu/files/unbundle-opus.patch)
- sed -i -e "s!add_subdirectory(opus)!add_library(opus INTERFACE)\ntarget_include_directories(opus SYSTEM INTERFACE /usr/include/opus)\ntarget_link_libraries(opus INTERFACE /usr/$(get_libdir)/libopus.so)!" externals/CMakeLists.txt || die
-
- # Fix libzip detection
- sed -i -e '/Libzip/s:.*:include(find-modules/FindLibzip.cmake)\n&:' externals/CMakeLists.txt || die
-
- # Unbundle inih
- sed -i -e '/inih/d' externals/CMakeLists.txt || die
- sed -i -e '1afind_package(PkgConfig REQUIRED)\npkg_check_modules(INIH REQUIRED INIReader)' \
- -e '/target_link_libraries/s/inih/${INIH_LIBRARIES}/' src/yuzu_cmd/CMakeLists.txt || die
- sed -i -e 's:inih/cpp/::' src/yuzu_cmd/config.cpp || die
-
- # Unbundle xbyak ( uncomment when xbyak version is ok or never as it is only headers )
- # sed -i -e '/target_include_directories(xbyak/s:./xbyak/xbyak:/usr/include/xbyak/:' externals/CMakeLists.txt
-
- if use system-vulkan; then # Unbundle vulkan headers
- sed -i -e 's:../../externals/Vulkan-Headers/include:/usr/include/vulkan/:' src/video_core/CMakeLists.txt src/yuzu/CMakeLists.txt src/yuzu_cmd/CMakeLists.txt || die
- sed -i -e '/VK_ERROR_INCOMPATIBLE_VERSION_KHR/d' src/video_core/vulkan_common/vulkan_wrapper.cpp || die
- fi
-
- # Unbundle discord rapidjson
- sed -i '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d;/find_file(RAPIDJSON/d;s:\${RAPIDJSON}:"/usr/include/rapidjson":' externals/discord-rpc/CMakeLists.txt || die
-
- # Workaround: GenerateSCMRev fails
- sed -i -e "s/@GIT_BRANCH@/${EGIT_BRANCH:-master}/" \
- -e "s/@GIT_REV@/$(git rev-parse --short HEAD)/" \
- -e "s/@GIT_DESC@/$(git describe --always --long)/" \
- src/common/scm_rev.cpp.in || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local -a mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=$(usex compatibility-list)
- -DENABLE_CUBEB=$(usex cubeb)
- -DENABLE_QT=$(usex qt5)
- -DENABLE_QT_TRANSLATION=$(usex qt5)
- -DENABLE_SDL2=$(usex sdl)
- -DENABLE_WEB_SERVICE=$(usex webservice)
- -DUSE_DISCORD_PRESENCE=$(usex discord)
- -DYUZU_ENABLE_BOXCAT=$(usex boxcat)
- -DYUZU_USE_EXTERNAL_SDL2=OFF
- -DYUZU_USE_QT_WEB_ENGINE=$(usex webengine)
- )
-
- cmake_src_configure
-
- # This would be better in src_unpack but it would be unlinked
- if use compatibility-list; then
- mv "${S}"/compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die
- fi
-}