diff --git a/app-admin/bitwarden-cli/Manifest b/app-admin/bitwarden-cli/Manifest
index c7b8232019..7c5d3dd61b 100644
--- a/app-admin/bitwarden-cli/Manifest
+++ b/app-admin/bitwarden-cli/Manifest
@@ -1,3 +1,5 @@
DIST bitwarden-cli-2024.2.0-pkg-cache.tar.xz 13081348 BLAKE2B c0f56169752a8659f4a42b36a1fb48604d968a82853f8a860fb03455b499be03ba6cdacc643188b86c3673ffa26ab8ed2a825bdf6a37996189f851ad5e638b5b SHA512 f1de3477537b9f95dc38353ce1bf1d22e7cf8b92b0012befe2c0db4c62dd1f7fc419ba06518318fed90deb9a8627e35422daee8ba70f07e02f3c8eb43678a7c1
DIST bitwarden-cli-2024.2.0.tar.gz 20328706 BLAKE2B 0f8120b7ddbf74a6e5c3d7a63ad72dd3ecea3f32c46b488b21bfa2ca877724841a5dd9318854a0204dc7015ea104ffed0783a8301bf57a53f9a5d4b9d1ff18e1 SHA512 8a9f69242a945b17c944c699649b9f2524d5ae3b07f97d296ae01bde44b9081b9262fa80028c28a1f876ce789d4daac103d2c15c01a9af07e5c7159f43d427b6
+DIST bitwarden-cli-2024.2.1.tar.gz 20495977 BLAKE2B 18059a640669ed6f62afcca8b49279f5e3be4c9bf750c3d96de1533895fa49c50ec9d640a79175d9fc4a059108c2c818110fa636513ba056bec90ea36d595114 SHA512 4fa123b9081b81e9df02cde85b61e673d5da4c3d65ebbe298633eadf773065a0108dfc43a44e07e54fd7c085d09a97f797b5f2c6139850c445d282785075196c
+DIST bitwarden-clients-82998d8.tar.xz 206299056 BLAKE2B 3ffeedfebfa18c4dee6148da47d1942dbb15890ffb7c6469f53d349c8233204950be09cb83542b1bc1cba4f099bc3d51e7f2ababd9eb871373183837f31d2f07 SHA512 c5e4bd8163e2d3d505aea3719ef675bf525ca37e3451c8e12d3a3c69a91cdf8184f83ec3033f61c7ab3d70a288d5c0f5e6c739eff5542454ecb9979e5a3a558d
DIST bitwarden-clients-a1a5c4b.tar.xz 204680568 BLAKE2B dd7ae09792831dacf9e7c110a508315e8d57c3231c6c32014e7b842ffc01a046fec03f375c48afd40379ba2853159e594a54b3f8ec229c1568ba3d1b8c054335 SHA512 5644d0b53c525164c2af14036dd7d432be9a943b55df2aef9922329326b164b31336bd53e2f9f2eb35a858f974d8fc0a3bd3aac6e42b821d5d4634ca714a51c3
diff --git a/app-admin/bitwarden-cli/bitwarden-cli-2024.2.1.ebuild b/app-admin/bitwarden-cli/bitwarden-cli-2024.2.1.ebuild
new file mode 100644
index 0000000000..ec43c46165
--- /dev/null
+++ b/app-admin/bitwarden-cli/bitwarden-cli-2024.2.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs shell-completion
+
+DESCRIPTION="CLI frontend client connects to Bitwarden comapatible password manager server"
+HOMEPAGE="https://github.com/bitwarden/clients/tree/main/apps/cli"
+
+BW_CLIENTS_COMMIT="82998d8"
+SRC_URI="
+ https://github.com/bitwarden/clients/archive/refs/tags/cli-v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/rahilarious/gentoo-distfiles/releases/download/bitwarden-clients-${BW_CLIENTS_COMMIT}/deps.tar.xz -> bitwarden-clients-${BW_CLIENTS_COMMIT}.tar.xz
+ https://github.com/rahilarious/gentoo-distfiles/releases/download/${PN}-2024.2.0/pkg-cache.tar.xz -> ${PN}-2024.2.0-pkg-cache.tar.xz
+"
+
+S="${WORKDIR}/clients-cli-v${PV}"
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# non-stripped binary is of 99M but works
+# stripped bianry is of 44M but doesnt work
+RESTRICT='strip'
+
+RDEPEND="!app-admin/bitwarden-cli-bin"
+BDEPEND="
+ net-libs/nodejs:0/18[npm]
+"
+
+QA_PRESTRIPPED="usr/bin/bw"
+QA_FLAGS_IGNORED="${QA_PRESTRIPPED}"
+
+CHECKREQS_MEMORY=2G
+CHECKREQS_DISK_BUILD=2G
+
+pkg_pretend() {
+ einfo ""
+ einfo "#################################################"
+ einfo "Precompiled alternative to this package is available:"
+ einfo " ${CATEGORY}/${PN}-bin"
+ einfo "#################################################"
+ einfo ""
+ check-reqs_pkg_pretend
+}
+
+src_prepare() {
+ default
+ mv -v ../node_modules ./ || die
+}
+
+src_compile() {
+ pushd apps/cli || die
+ PKG_CACHE_PATH="${WORKDIR}"/.pkg-cache npm --verbose --offline run dist:lin \
+ || die "Build failed! Try prebuilt from upstream ${CATEGORY}/${PN}-bin"
+ ./dist/linux/bw completion --shell zsh > bw.zsh || die
+ popd || die
+}
+
+src_install() {
+ dobin apps/cli/dist/linux/bw
+ newzshcomp apps/cli/bw.zsh _bw
+}
diff --git a/games-emulation/citra/citra-9999.ebuild b/games-emulation/citra/citra-9999.ebuild
deleted file mode 100644
index b090f31b8a..0000000000
--- a/games-emulation/citra/citra-9999.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-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=(
- 'catch2' 'dds-ktx' 'discord-rpc' 'dynarmic' 'library-headers' 'libyuv'
- 'lodepng' 'nihstro' 'sirit' 'soundtouch' 'vma' 'xbyak'
-)
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS=""
-IUSE="cubeb nls openal +gui sdl +system-libfmt +telemetry"
-
-RDEPEND="
- cubeb? ( media-libs/cubeb )
- media-video/ffmpeg:=[fdk]
- gui? ( nls? ( dev-qt/qttools:6[linguist] )
- dev-qt/qtbase:6[widgets,gui,opengl,network]
- dev-qt/qtmultimedia:6 )
- sdl? (
- media-libs/libsdl2
- >=dev-libs/inih-52
- )
- system-libfmt? ( >=dev-libs/libfmt-9:= )
- >=dev-libs/openssl-1.1:=
- app-arch/zstd
- dev-libs/boost:=
- dev-libs/crypto++:=
- dev-libs/teakra
- net-libs/enet:1.3=
- virtual/libusb:1
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-cpp/cpp-jwt
- dev-cpp/robin-map
- dev-util/spirv-headers
-"
-REQUIRED_USE="|| ( gui sdl )"
-
-src_unpack() {
- if ! use system-libfmt; then
- EGIT_SUBMODULES+=( 'fmt' )
- fi
- if use openal; then
- EGIT_SUBMODULES+=( 'openal-soft' )
- 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() {
- # Dynarmic: ensure those are unbundled
- for ext in fmt robin-map; do
- rm -rf externals/dynarmic/externals/${ext} || die
- done
-
- # 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
-
- # Unbundle libfmt
- if use system-libfmt; then
- sed -i -e '/fmt/d' externals/CMakeLists.txt || die
- sed -i -e '/find_package(Threads/afind_package(fmt)' CMakeLists.txt || die
- else
- sed -i -e '/FMT_INSTALL/d' externals/dynarmic/externals/CMakeLists.txt || die
- fi
-
- # Unbundle teakra
- sed -i -e '/teakra/d' externals/CMakeLists.txt || die
-
- # 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 '/^# Crypto++/,/add_subdirectory(cryptopp-cmake)/d' externals/CMakeLists.txt || die
-
- # Unbundle cubeb
- sed -i -e '/CUBEB/,/endif()/d' externals/CMakeLists.txt || die
- if use cubeb; then
- sed -i -e '$afind_package(cubeb REQUIRED)\n' CMakeLists.txt || die
- fi
- # Unbundle cpp-jwt
- sed -i -e '/cpp-jwt/d' externals/CMakeLists.txt || die
- sed -i -e 's/ cpp-jwt/ ssl crypto/' src/web_service/CMakeLists.txt || die
-
- # Unbundle xbyak
- sed -i -e '/^install(/,/^)$/d' externals/xbyak/CMakeLists.txt || die
-
- # glslang
- sed -i -e '/^# glslang/,/(glslang)/d' externals/CMakeLists.txt || die
- sed -i -e 's:SPIRV/GlslangToSpv.h:glslang/&:' src/video_core/renderer_vulkan/vk_shader_util.cpp || die
- sed -i -e '/target_include_directories(vulkan-headers/d' externals/CMakeLists.txt || die
-
- # Do not install dynarmic
- sed -i -e '/^# Install/,$d' externals/dynarmic/CMakeLists.txt || die
-
- # Do not install zydis
- sed -i '/^install(FILES/,/^install(DIRECTORY/d' \
- externals/dynarmic/externals/zydis/CMakeLists.txt || die
- sed -i -e '/MCL_INSTALL/d' externals/dynarmic/externals/CMakeLists.txt || die
-
- # do not trigger flags
- sed -i -e 's/-Werror//' externals/sirit/CMakeLists.txt externals/dynarmic/CMakeLists.txt || die
- sed -i -e 's/Wuninitialized/Wno-uninitialized/' externals/catch2/CMake/CatchMiscFunctions.cmake \
- externals/dynarmic/externals/catch/CMake/CatchMiscFunctions.cmake || die
- sed -i -e '/-Werror/d' src/CMakeLists.txt externals/dynarmic/externals/mcl/CMakeLists.txt externals/dynarmic/externals/catch/CMake/CatchMiscFunctions.cmake externals/catch2/CMake/CatchMiscFunctions.cmake
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DCOMPILE_WITH_DWARF=OFF
- -DENABLE_CUBEB=$(usex cubeb)
- -DENABLE_MF=ON
- -DENABLE_OPENAL=$(usex openal)
- -DENABLE_QT=$(usex gui)
- -DENABLE_QT_TRANSLATION=$(use gui && usex nls || echo OFF)
- -DENABLE_SDL2=$(usex sdl)
- -DENABLE_WEB_SERVICE=$(usex telemetry)
- -DGENERATE_QT_TRANSLATION=$(use gui && usex nls || echo OFF)
- -DSIRIT_USE_SYSTEM_SPIRV_HEADERS=ON
- -DUSE_SYSTEM_BOOST=ON
- -DUSE_SYSTEM_LIBUSB=ON
- -DUSE_SYSTEM_OPENSSL=ON
- -DUSE_SYSTEM_SDL2=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
-}
-
-src_install() {
- cmake_src_install
- rm -rf "${D}"/usr/$(get_libdir)/cmake
-}
diff --git a/games-emulation/citra/metadata.xml b/games-emulation/citra/metadata.xml
deleted file mode 100644
index 50f72750de..0000000000
--- a/games-emulation/citra/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
- Samuel Bauer
- samuel.bauer@yahoo.fr
-
-
-
diff --git a/games-emulation/yuzu/Manifest b/games-emulation/yuzu/Manifest
deleted file mode 100644
index bbe3bf3bd3..0000000000
--- a/games-emulation/yuzu/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-DIST yuzu-0_p20230202-compatibility_list.json 1701739 BLAKE2B 204502a6c8e2838b126c857d7b39cbcfe25a577515f2272d80185a9543e95c324e069d3f3de41564ca24aab5988d38725423691b3a3e6415ea87fd6772c30f1d SHA512 6f3809999cc5736c7cf3001b4485095dd00d2ad8d5d3459dea0aed006c3361731823a181adf94edd612ffdc8a6fb0c697f7f70cfb1402953c95a9fdd0faaae42
-DIST yuzu-0_p20230202.tar.gz 5535753 BLAKE2B f9dbc43523a5745c3f73d18dc4f8b31811bb80fdc3ac362e584197e01db103324aa568143389cdba1d42d9639af88b49e24312f1ead085a6727afa6d470ca5b5 SHA512 faf597e0ed5837d3b358dfbb7d4cd8e535b4dc49be8781e556fc0b3677e48892c9c71c346bda49c5f6ac081502431480126c11b28a343bc5050341b8a384a7a2
-DIST yuzu-discord-0_p20230202.tar.gz 2106929 BLAKE2B 6e40c938cca5ef3feb8dc65265ef1a4cd3db58c0bbea2fb3d3a4e70748c451ead54932857d761b942a7018dcf461e43bc10ee5eab7907730319675b49564260a SHA512 323b6c8828a2e18f7986aa968ab2ce7ed876196c726d5114a07a536091090f4bd6d4080d87e7fdc4f96dff55871002d8a9a7daa50febd49b75d066e9e363c7ce
-DIST yuzu-dynarmic-0_p20230202.tar.gz 3582382 BLAKE2B 46df3546287e6b591e346009ab86c4db80ab19fd0493d057145c20a26c61c8ff85147acc4aac0de36386a18a003d291e4c8ab9a3b2664fe2f9537de74f8fa2ed SHA512 13b2da826bb1de5e610d92979af466bd404bee447f0200277e976797b31ed6844d20541c980ed3a7e5a9aef6fac2a5bc9cb94b37dcc46272c7b51bcb878c3fc6
-DIST yuzu-sirit-0_p20230202.tar.gz 23853 BLAKE2B 4c4e69203a75cf849497e540bb0dcea694a72b4230f205b769447d3d11f7c0fb089ca262009396b9af55503d45b128edb1e99e438b89ab21ac842f789c5109a3 SHA512 43204596db5c6295cc8bdf9355fd71433fa5d1e28d9d8c01f12082d2cd8fb6f78e20d97b396e7bdf202afae2361386f1861a1012d2947569dcbb114996fc6b1d
-DIST yuzu-xbyak-0_p20230202.tar.gz 249481 BLAKE2B 94eb81637f410ea88781cb3da94dfce4e4a6104458b0774d36c98f6cd2114f55772182f4535e502a5efa06290677fc67d0bac9db4effb7fa44a79561b16c1738 SHA512 87f6ba92a484738b3a75a4d2c5c7e3f4f9ca65cdc02f71b761dba72c8320a011dd38ea5350516d980b8370211977816de4c3357fc5ae8c9f0a86b4a595768c5e
diff --git a/games-emulation/yuzu/files/yuzu-0_p20220725.patch b/games-emulation/yuzu/files/yuzu-0_p20220725.patch
deleted file mode 100644
index ad0b53f969..0000000000
--- a/games-emulation/yuzu/files/yuzu-0_p20220725.patch
+++ /dev/null
@@ -1,175 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 40ca8b1..c0f07e2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -553,3 +553,4 @@ if(ENABLE_QT AND UNIX AND NOT APPLE)
- install(FILES "dist/org.yuzu_emu.yuzu.metainfo.xml"
- DESTINATION "share/metainfo")
- endif()
-+find_package(Threads REQUIRED)
-diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
-index bd01f4c..a29dd5d 100644
---- a/externals/CMakeLists.txt
-+++ b/externals/CMakeLists.txt
-@@ -4,14 +4,6 @@ list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules")
- list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/externals/find-modules")
- include(DownloadExternals)
-
--# xbyak
--if (ARCHITECTURE_x86 OR ARCHITECTURE_x86_64)
-- add_library(xbyak INTERFACE)
-- file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/xbyak/include)
-- file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/xbyak/xbyak DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/xbyak/include)
-- target_include_directories(xbyak SYSTEM INTERFACE ${CMAKE_CURRENT_BINARY_DIR}/xbyak/include)
-- target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES)
--endif()
-
- # Dynarmic
- if (ARCHITECTURE_x86_64)
-@@ -29,12 +21,7 @@ endif()
- # Glad
- add_subdirectory(glad)
-
--# inih
--add_subdirectory(inih)
-
--# mbedtls
--add_subdirectory(mbedtls EXCLUDE_FROM_ALL)
--target_include_directories(mbedtls PUBLIC ./mbedtls/include)
-
- # MicroProfile
- add_library(microprofile INTERFACE)
-@@ -76,7 +63,6 @@ endif()
- # Cubeb
- if(ENABLE_CUBEB)
- set(BUILD_TESTS OFF CACHE BOOL "")
-- add_subdirectory(cubeb EXCLUDE_FROM_ALL)
- endif()
-
- # DiscordRPC
-@@ -86,7 +72,6 @@ if (USE_DISCORD_PRESENCE)
- endif()
-
- # Sirit
--add_subdirectory(sirit)
-
- if (ENABLE_WEB_SERVICE)
- find_package(OpenSSL 1.1)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 39ae573..e1e1277 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -107,7 +107,6 @@ else()
- -Werror=switch
- -Werror=uninitialized
- -Werror=unused-function
-- -Werror=unused-result
- -Werror=unused-variable
- -Wextra
- -Wmissing-declarations
-diff --git a/src/common/scm_rev.cpp.in b/src/common/scm_rev.cpp.in
-index cc88994..61d5bd8 100644
---- a/src/common/scm_rev.cpp.in
-+++ b/src/common/scm_rev.cpp.in
-@@ -4,9 +4,9 @@
-
- #include "common/scm_rev.h"
-
--#define GIT_REV "@GIT_REV@"
--#define GIT_BRANCH "@GIT_BRANCH@"
--#define GIT_DESC "@GIT_DESC@"
-+#define GIT_REV "dfaab8f"
-+#define GIT_BRANCH "master"
-+#define GIT_DESC "dfaab8f"
- #define BUILD_NAME "@REPO_NAME@"
- #define BUILD_DATE "@BUILD_DATE@"
- #define BUILD_FULLNAME "@BUILD_FULLNAME@"
-diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
-index 32cc2f3..4c490a3 100644
---- a/src/core/CMakeLists.txt
-+++ b/src/core/CMakeLists.txt
-@@ -1,3 +1,7 @@
-+find_path(MBEDTLS_INCLUDE_DIR NAMES mbedtls/ssl.h)
-+find_library(MBEDTLS_LIB NAMES mbedtls)
-+find_library(MBEDX509_LIB NAMES mbedx509)
-+find_library(MBEDCRYPTO_LIB NAMES mbedcrypto)
- add_library(core STATIC
- arm/arm_interface.h
- arm/arm_interface.cpp
-@@ -781,7 +785,7 @@ endif()
- create_target_directory_groups(core)
-
- target_link_libraries(core PUBLIC common PRIVATE audio_core video_core)
--target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls Opus::Opus)
-+target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls mbedcrypto mbedx509 Opus::Opus)
- if (MINGW)
- target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY})
- endif()
-diff --git a/src/video_core/CMakeLists.txt b/src/video_core/CMakeLists.txt
-index 14de7bc..e52caa0 100644
---- a/src/video_core/CMakeLists.txt
-+++ b/src/video_core/CMakeLists.txt
-@@ -240,7 +240,7 @@ target_link_options(video_core PRIVATE ${FFmpeg_LDFLAGS})
-
- add_dependencies(video_core host_shaders)
- target_include_directories(video_core PRIVATE ${HOST_SHADERS_INCLUDE})
--target_include_directories(video_core PRIVATE sirit ../../externals/Vulkan-Headers/include)
-+target_include_directories(video_core PRIVATE sirit /usr/include/vulkan/)
- target_link_libraries(video_core PRIVATE sirit)
-
- if (ENABLE_NSIGHT_AFTERMATH)
-diff --git a/src/yuzu/CMakeLists.txt b/src/yuzu/CMakeLists.txt
-index 57e0e70..657db12 100644
---- a/src/yuzu/CMakeLists.txt
-+++ b/src/yuzu/CMakeLists.txt
-@@ -260,7 +260,7 @@ target_link_libraries(yuzu PRIVATE common core input_common video_core)
- target_link_libraries(yuzu PRIVATE Boost::boost glad Qt::Widgets Qt::Multimedia)
- target_link_libraries(yuzu PRIVATE ${PLATFORM_LIBRARIES} Threads::Threads)
-
--target_include_directories(yuzu PRIVATE ../../externals/Vulkan-Headers/include)
-+target_include_directories(yuzu PRIVATE /usr/include/vulkan/)
- if (NOT WIN32)
- target_include_directories(yuzu PRIVATE ${Qt5Gui_PRIVATE_INCLUDE_DIRS})
- endif()
-diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt
-index c8901f2..2a45006 100644
---- a/src/yuzu_cmd/CMakeLists.txt
-+++ b/src/yuzu_cmd/CMakeLists.txt
-@@ -1,4 +1,6 @@
- set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMakeModules)
-+find_package(PkgConfig REQUIRED)
-+pkg_check_modules(INIH REQUIRED INIReader)
-
- # Credits to Samantas5855 and others for this function.
- function(create_resource file output filename)
-@@ -28,7 +30,7 @@ add_executable(yuzu-cmd
- create_target_directory_groups(yuzu-cmd)
-
- target_link_libraries(yuzu-cmd PRIVATE common core input_common)
--target_link_libraries(yuzu-cmd PRIVATE inih glad)
-+target_link_libraries(yuzu-cmd PRIVATE ${INIH_LIBRARIES} glad)
- if (MSVC)
- target_link_libraries(yuzu-cmd PRIVATE getopt)
- endif()
-@@ -37,7 +39,7 @@ target_link_libraries(yuzu-cmd PRIVATE ${PLATFORM_LIBRARIES} SDL2 Threads::Threa
- create_resource("../../dist/yuzu.bmp" "yuzu_cmd/yuzu_icon.h" "yuzu_icon")
- target_include_directories(yuzu-cmd PRIVATE ${RESOURCES_DIR})
-
--target_include_directories(yuzu-cmd PRIVATE ../../externals/Vulkan-Headers/include)
-+target_include_directories(yuzu-cmd PRIVATE /usr/include/vulkan/)
-
- if (YUZU_USE_EXTERNAL_SDL2)
- target_compile_definitions(yuzu-cmd PRIVATE -DYUZU_USE_EXTERNAL_SDL2)
-diff --git a/src/yuzu_cmd/config.cpp b/src/yuzu_cmd/config.cpp
-index ad7f9d2..60f8a47 100644
---- a/src/yuzu_cmd/config.cpp
-+++ b/src/yuzu_cmd/config.cpp
-@@ -16,7 +16,7 @@
- #pragma clang diagnostic pop
- #endif
-
--#include
-+#include
- #include "common/fs/file.h"
- #include "common/fs/fs.h"
- #include "common/fs/path_util.h"
diff --git a/games-emulation/yuzu/files/yuzu-0_p20230202.patch b/games-emulation/yuzu/files/yuzu-0_p20230202.patch
deleted file mode 100644
index df8a04d956..0000000000
--- a/games-emulation/yuzu/files/yuzu-0_p20230202.patch
+++ /dev/null
@@ -1,169 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8896fe0..f2a09e2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -216,7 +215,7 @@ find_package(ZLIB 1.2 REQUIRED)
- find_package(zstd 1.5 REQUIRED)
-
- if (NOT YUZU_USE_EXTERNAL_VULKAN_HEADERS)
-- find_package(Vulkan 1.3.238 REQUIRED)
-+ find_package(Vulkan 1.3.236 REQUIRED)
- endif()
-
- if (ENABLE_LIBUSB)
-diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
-index 8532fd7..67bed9a 100644
---- a/externals/CMakeLists.txt
-+++ b/externals/CMakeLists.txt
-@@ -29,13 +29,7 @@ endif()
- add_subdirectory(glad)
-
- # inih
--if (NOT TARGET inih::INIReader)
-- add_subdirectory(inih)
--endif()
-
--# mbedtls
--add_subdirectory(mbedtls EXCLUDE_FROM_ALL)
--target_include_directories(mbedtls PUBLIC ./mbedtls/include)
-
- # MicroProfile
- add_library(microprofile INTERFACE)
-@@ -77,18 +71,8 @@ if (YUZU_USE_EXTERNAL_SDL2)
- endif()
-
- # ENet
--if (NOT TARGET enet::enet)
-- add_subdirectory(enet EXCLUDE_FROM_ALL)
-- target_include_directories(enet INTERFACE ./enet/include)
-- add_library(enet::enet ALIAS enet)
--endif()
-
- # Cubeb
--if (ENABLE_CUBEB AND NOT TARGET cubeb::cubeb)
-- set(BUILD_TESTS OFF)
-- add_subdirectory(cubeb EXCLUDE_FROM_ALL)
-- add_library(cubeb::cubeb ALIAS cubeb)
--endif()
-
- # DiscordRPC
- if (USE_DISCORD_PRESENCE AND NOT TARGET DiscordRPC::discord-rpc)
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index c7283e8..123a745 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -101,11 +101,6 @@ if (MSVC)
- set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/DEBUG /MANIFEST:NO /INCREMENTAL:NO /OPT:REF,ICF" CACHE STRING "" FORCE)
- else()
- add_compile_options(
-- -Werror=all
-- -Werror=extra
-- -Werror=missing-declarations
-- -Werror=shadow
-- -Werror=unused
-
- -Wno-attributes
- -Wno-invalid-offsetof
-diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
-index 9884a4a..46df96b 100644
---- a/src/common/CMakeLists.txt
-+++ b/src/common/CMakeLists.txt
-@@ -177,7 +177,7 @@ endif()
- create_target_directory_groups(common)
-
- target_link_libraries(common PUBLIC ${Boost_LIBRARIES} fmt::fmt microprofile Threads::Threads)
--target_link_libraries(common PRIVATE lz4::lz4 zstd::zstd LLVM::Demangle)
-+target_link_libraries(common PRIVATE lz4 zstd::zstd LLVM::Demangle)
-
- if (YUZU_USE_PRECOMPILED_HEADERS)
- target_precompile_headers(common PRIVATE precompiled_headers.h)
-diff --git a/src/common/scm_rev.cpp.in b/src/common/scm_rev.cpp.in
-index f0c124d..739c4a6 100644
---- a/src/common/scm_rev.cpp.in
-+++ b/src/common/scm_rev.cpp.in
-@@ -3,9 +3,9 @@
-
- #include "common/scm_rev.h"
-
--#define GIT_REV "@GIT_REV@"
--#define GIT_BRANCH "@GIT_BRANCH@"
--#define GIT_DESC "@GIT_DESC@"
-+#define GIT_REV "d5f6201"
-+#define GIT_BRANCH "master"
-+#define GIT_DESC "d5f6201"
- #define BUILD_NAME "@REPO_NAME@"
- #define BUILD_DATE "@BUILD_DATE@"
- #define BUILD_FULLNAME "@BUILD_FULLNAME@"
-diff --git a/src/dedicated_room/CMakeLists.txt b/src/dedicated_room/CMakeLists.txt
-index 136109a..6a6924c 100644
---- a/src/dedicated_room/CMakeLists.txt
-+++ b/src/dedicated_room/CMakeLists.txt
-@@ -15,7 +15,7 @@ if (ENABLE_WEB_SERVICE)
- target_link_libraries(yuzu-room PRIVATE web_service)
- endif()
-
--target_link_libraries(yuzu-room PRIVATE mbedtls mbedcrypto)
-+target_link_libraries(yuzu-room PRIVATE mbedtls mbedcrypto mbedx509 mbedcrypto)
- if (MSVC)
- target_link_libraries(yuzu-room PRIVATE getopt)
- endif()
-diff --git a/src/network/network.cpp b/src/network/network.cpp
-index 6652a18..8513d52 100644
---- a/src/network/network.cpp
-+++ b/src/network/network.cpp
-@@ -3,7 +3,7 @@
-
- #include "common/assert.h"
- #include "common/logging/log.h"
--#include "enet/enet.h"
-+#include
- #include "network/network.h"
-
- namespace Network {
-diff --git a/src/video_core/vulkan_common/vulkan_wrapper.cpp b/src/video_core/vulkan_common/vulkan_wrapper.cpp
-index 486d4df..abad557 100644
---- a/src/video_core/vulkan_common/vulkan_wrapper.cpp
-+++ b/src/video_core/vulkan_common/vulkan_wrapper.cpp
-@@ -337,18 +337,6 @@ const char* ToString(VkResult result) noexcept {
- return "VK_ERROR_VALIDATION_FAILED_EXT";
- case VkResult::VK_ERROR_INVALID_SHADER_NV:
- return "VK_ERROR_INVALID_SHADER_NV";
-- case VkResult::VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR:
-- return "VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR";
-- case VkResult::VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR:
-- return "VK_ERROR_VIDEO_PICTURE_LAYOUT_NOT_SUPPORTED_KHR";
-- case VkResult::VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR:
-- return "VK_ERROR_VIDEO_PROFILE_OPERATION_NOT_SUPPORTED_KHR";
-- case VkResult::VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR:
-- return "VK_ERROR_VIDEO_PROFILE_FORMAT_NOT_SUPPORTED_KHR";
-- case VkResult::VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR:
-- return "VK_ERROR_VIDEO_PROFILE_CODEC_NOT_SUPPORTED_KHR";
-- case VkResult::VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR:
-- return "VK_ERROR_VIDEO_STD_VERSION_NOT_SUPPORTED_KHR";
- case VkResult::VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT:
- return "VK_ERROR_INVALID_DRM_FORMAT_MODIFIER_PLANE_LAYOUT_EXT";
- case VkResult::VK_ERROR_FRAGMENTATION_EXT:
-diff --git a/src/yuzu_cmd/CMakeLists.txt b/src/yuzu_cmd/CMakeLists.txt
-index 46eddf4..afbe9ff 100644
---- a/src/yuzu_cmd/CMakeLists.txt
-+++ b/src/yuzu_cmd/CMakeLists.txt
-@@ -1,4 +1,6 @@
- # SPDX-FileCopyrightText: 2018 yuzu Emulator Project
-+find_package(PkgConfig REQUIRED)
-+pkg_check_modules(INIH REQUIRED INIReader)
- # SPDX-License-Identifier: GPL-2.0-or-later
-
- # Credits to Samantas5855 and others for this function.
-diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
-index 3eee1cf..8775f79 100644
---- a/src/core/CMakeLists.txt
-+++ b/src/core/CMakeLists.txt
-@@ -808,7 +808,7 @@ endif()
- create_target_directory_groups(core)
-
- target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core)
--target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls Opus::opus)
-+target_link_libraries(core PUBLIC Boost::boost PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls mbedcrypto mbedx509 Opus::opus)
- if (MINGW)
- target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY})
- endif()
diff --git a/games-emulation/yuzu/metadata.xml b/games-emulation/yuzu/metadata.xml
deleted file mode 100644
index bf0cf0d717..0000000000
--- a/games-emulation/yuzu/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
- Samuel Bauer
- samuel.bauer@yahoo.fr
-
-
-
- yuzu-emu/yuzu-mainline
-
-
diff --git a/games-emulation/yuzu/yuzu-0_p20230202.ebuild b/games-emulation/yuzu/yuzu-0_p20230202.ebuild
deleted file mode 100644
index 90270e6114..0000000000
--- a/games-emulation/yuzu/yuzu-0_p20230202.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake toolchain-funcs xdg
-
-DESCRIPTION="An emulator for Nintendo Switch"
-HOMEPAGE="https://yuzu-emu.org"
-SRC_URI="https://github.com/yuzu-emu/yuzu-mainline/archive/d5f6201521cdfd0be09a187d62f95d3a38f18c3e.tar.gz
- -> ${P}.tar.gz
- https://github.com/merryhime/dynarmic/archive/befe547d5631024a70d81d2ccee808bbfcb3854e.tar.gz
- -> ${PN}-dynarmic-${PV}.tar.gz
- https://github.com/herumi/xbyak/archive/a1ac3750f9a639b5a6c6d6c7da4259b8d6790989.tar.gz
- -> ${PN}-xbyak-${PV}.tar.gz
- https://github.com/yuzu-emu/sirit/archive/ab75463999f4f3291976b079d42d52ee91eebf3f.tar.gz -> ${PN}-sirit-${PV}.tar.gz
- compatibility-list? (
- https://gist.githubusercontent.com/mazes-80/e3f1518e67c3292656a9055ba338994f/raw/b975f96366294d9cf65f844ed8df9189a488463d/${P}-compatibility_list.json
- )
- discord? (
- https://github.com/yuzu-emu/discord-rpc/archive/20cc99aeffa08a4834f156b6ab49ed68618cf94a.tar.gz
- -> ${PN}-discord-${PV}.tar.gz
- )"
-# Dynarmic is not intended to be generic, it is tweaked to fit emulated processor
-# TODO wait 'xbyak' waiting version bump. see #860816
-
-LICENSE="|| ( Apache-2.0 GPL-2+ ) 0BSD BSD GPL-2+ ISC MIT
- !system-vulkan? ( Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+compatibility-list +cubeb discord +qt5 sdl +system-vulkan webengine webservice"
-
-RDEPEND="
- =app-arch/zstd-1.5
- >=dev-libs/inih-52
- >=dev-libs/libfmt-9:=
- >=dev-libs/openssl-1.1:=
- >=media-video/ffmpeg-4.3:=
- >=net-libs/enet-1.3
- app-arch/lz4:=
- dev-libs/boost:=[context]
- media-libs/opus
- media-libs/vulkan-loader
- sys-libs/zlib
- virtual/libusb:1
- cubeb? ( media-libs/cubeb )
- qt5? (
- >=dev-qt/qtcore-5.15:5
- >=dev-qt/qtgui-5.15:5
- >=dev-qt/qtmultimedia-5.15:5
- >=dev-qt/qtwidgets-5.15:5
- )
- sdl? (
- >=media-libs/libsdl2-2.0.18
- )
-"
-DEPEND="${RDEPEND}
- dev-cpp/cpp-httplib
- dev-cpp/cpp-jwt
- system-vulkan? ( >=dev-util/vulkan-headers-1.3.236 )
-"
-BDEPEND="
- >=dev-cpp/nlohmann_json-3.8.0
- dev-cpp/robin-map
- dev-util/glslang
- discord? ( >=dev-libs/rapidjson-1.1.0 )
-"
-S="${WORKDIR}"/yuzu-mainline-d5f6201521cdfd0be09a187d62f95d3a38f18c3e
-PATCHES=( "${FILESDIR}/${P}.patch" )
-
-REQUIRED_USE="|| ( qt5 sdl )"
-
-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
-}
-
-src_unpack() {
- default
- mv "${WORKDIR}"/dynarmic*/* "${S}/externals/dynarmic" || die
- mv "${WORKDIR}"/sirit*/* "${S}/externals/sirit" || die
- mv "${WORKDIR}"/xbyak*/* "${S}/externals/xbyak" || die
- if use discord; then
- mv "${WORKDIR}"/discord*/* "${S}/externals/discord-rpc" || die
- fi
-}
-
-src_prepare() {
- # Allow skip submodule downloading
- rm .gitmodules || die
-
- if ! use discord; then
- sed -i -e '/^if.*discord-rpc/,/^endif()/d' externals/CMakeLists.txt || die
- else
- # Unbundle discord rapidjson
- sed -i -e '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d' \
- -e '/find_file(RAPIDJSON/d' -e 's:\${RAPIDJSON}:"/usr/include/rapidjson":' \
- externals/discord-rpc/CMakeLists.txt || die
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- local -a mycmakeargs=(
- # Libraries are private and rely on circular dependency resolution.
- -DBUILD_SHARED_LIBS=OFF # dynarmic
- -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=$(usex compatibility-list)
- -DENABLE_CUBEB=$(usex cubeb)
- -DENABLE_LIBUSB=ON
- -DENABLE_QT=$(usex qt5)
- -DENABLE_QT_TRANSLATION=$(usex qt5)
- -DENABLE_SDL2=$(usex sdl)
- -DENABLE_WEB_SERVICE=$(usex webservice)
- -DSIRIT_USE_SYSTEM_SPIRV_HEADERS=yes
- -DUSE_DISCORD_PRESENCE=$(usex discord)
- -DYUZU_TESTS=OFF
- -DYUZU_USE_EXTERNAL_VULKAN_HEADERS=$(use system-vulkan no yes)
- -DYUZU_USE_EXTERNAL_SDL2=OFF
- -DYUZU_USE_QT_WEB_ENGINE=$(usex webengine)
- )
-
- cmake_src_configure
-
- if use compatibility-list; then
- cp "${DISTDIR}"/${P}-compatibility_list.json "${BUILD_DIR}"/dist/compatibility_list/ || die
- fi
-}
diff --git a/games-emulation/yuzu/yuzu-9999.ebuild b/games-emulation/yuzu/yuzu-9999.ebuild
deleted file mode 100644
index e6f42589a9..0000000000
--- a/games-emulation/yuzu/yuzu-9999.ebuild
+++ /dev/null
@@ -1,171 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake git-r3 toolchain-funcs xdg
-
-DESCRIPTION="An emulator for Nintendo Switch"
-HOMEPAGE="https://yuzu-emu.org"
-EGIT_REPO_URI="https://github.com/yuzu-emu/yuzu-mainline"
-EGIT_SUBMODULES=( '-*' 'dynarmic' 'sirit' 'xbyak' 'tzdb_to_nx'
- 'externals/nx_tzdb/tzdb_to_nx/externals/tz/tz' 'VulkanMemoryAllocator' )
-# Dynarmic is not intended to be generic, it is tweaked to fit emulated processor
-# TODO wait 'xbyak' waiting version bump. see #860816
-
-LICENSE="|| ( Apache-2.0 GPL-2+ ) 0BSD BSD GPL-2+ ISC MIT
- !system-vulkan? ( Apache-2.0 )"
-SLOT="0"
-KEYWORDS=""
-IUSE="+compatibility-list +cubeb discord +qt5 sdl +system-libfmt +system-vulkan test webengine +webservice"
-
-RDEPEND="
- =app-arch/zstd-1.5
- >=dev-libs/inih-52
- >=dev-libs/openssl-1.1:=
- >=media-video/ffmpeg-4.3:=
- >=net-libs/enet-1.3
- app-arch/lz4:=
- dev-libs/boost:=[context]
- media-libs/opus
- >=media-libs/vulkan-loader-1.3.274
- sys-libs/zlib
- virtual/libusb:1
- cubeb? ( media-libs/cubeb )
- qt5? (
- >=dev-qt/qtcore-5.15:5
- >=dev-qt/qtgui-5.15:5
- >=dev-qt/qtmultimedia-5.15:5
- >=dev-qt/qtwidgets-5.15:5
- >=dev-qt/qtdbus-5.15:5
- >=dev-qt/qtconcurrent-5.15:5
- >=dev-qt/linguist-tools-5.15:5
- webengine? ( >=dev-qt/qtwebengine-5.15:5 )
- )
- sdl? ( >=media-libs/libsdl2-2.28 )
- system-libfmt? ( >=dev-libs/libfmt-9:= )
-"
-DEPEND="${RDEPEND}
- dev-cpp/cpp-httplib
- dev-cpp/cpp-jwt
- system-vulkan? ( >=dev-util/vulkan-headers-1.3.274
- dev-util/spirv-headers
- x11-libs/libX11
- )
- test? ( >dev-cpp/catch-3:0 )
-"
-BDEPEND="
- >=dev-cpp/nlohmann_json-3.8.0
- dev-cpp/simpleini
- dev-cpp/robin-map
- dev-util/glslang
- discord? ( >=dev-libs/rapidjson-1.1.0 )
-"
-REQUIRED_USE="|| ( qt5 sdl ) discord? ( webservice )"
-RESTRICT="!test? ( test )"
-
-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
-}
-
-src_unpack() {
- if use discord; then
- EGIT_SUBMODULES+=('discord-rpc')
- fi
-
- if use !system-vulkan; then
- EGIT_SUBMODULES+=('Vulkan-Headers')
- fi
-
- if use test; then
- EGIT_SUBMODULES+=('Catch2')
- 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() {
- # temporary fix
- sed -i -e '/Werror/d' src/CMakeLists.txt || die
-
- # Unbundle mbedtls
- sed -i -e '/mbedtls/d' -e '/^if (NOT MSVC)/,/endif()/d' externals/CMakeLists.txt || die
- sed -i -e 's/mbedtls/& mbedcrypto mbedx509/' \
- src/dedicated_room/CMakeLists.txt \
- src/core/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
-
- if ! use discord; then
- sed -i -e '/^if.*discord-rpc/,/^endif()/d' externals/CMakeLists.txt || die
- else
- # Unbundle discord rapidjson
- sed -i -e '/NOT RAPIDJSONTEST/,/endif(NOT RAPIDJSONTEST)/d' \
- -e '/find_file(RAPIDJSON/d' -e 's:\${RAPIDJSON}:"/usr/include/rapidjson":' \
- externals/discord-rpc/CMakeLists.txt || die
- fi
-
- # Unbundle cubeb
- sed -i '/^if.*cubeb/,/^endif()/d' externals/CMakeLists.txt || die
-
- # Unbundle cpp-httplib
- sed -i -e '/httplib/s/ 0.12//' CMakeLists.txt || die
- sed -i -e '/^# httplib/,/^endif()/d' externals/CMakeLists.txt || die
-
- # Unbundle enet
- sed -i -e '/^if.*enet/,/^endif()/d' externals/CMakeLists.txt || die
- sed -i -e '/enet\/enet\.h/{s/"/;s/"/>/}' src/network/network.cpp || die
-
- # LZ4 temporary fix: https://github.com/yuzu-emu/yuzu/pull/9054/commits/a8021f5a18bc5251aef54468fa6033366c6b92d9
- sed -i 's/lz4::lz4/lz4/' src/common/CMakeLists.txt || die
-
- if ! use system-libfmt; then # libfmt >= 9
- sed -i '/fmt.*REQUIRED/d' CMakeLists.txt || die
- fi
-
- # Allow compiling using older glslang
- if use system-vulkan -a has_version ' ${P}.tar.gz"
+S="${WORKDIR}/contrib-${COMMIT}"
+
+LICENSE="GPL-3+ Apache-2.0 GPL-2 LGPL-2 GPL-2+ LGPL-3+ MIT" #TODO: investigate all the licenses
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples templates tools"
+
+RDEPEND="net-analyzer/munin"
+
+README_PLUGINS=(
+ plugins/README.md
+ plugins/apache/apache_byprojects/README.md
+ plugins/apache/apache_vhosts/README.txt
+ plugins/apt/deb_packages/README.md
+ plugins/jmx/readme.txt
+ plugins/kamailio/README.md
+ plugins/network/linux_if/README.md
+ plugins/nfs-freebsd/README.rst
+ plugins/nginx/nginx_byprojects/README.md
+ plugins/prosody/README.rst
+ plugins/rackspace/README
+ plugins/tarsnap/README.md
+ plugins/varnish/README-varnish4.md
+ plugins/varnish/README.rst
+ plugins/znc/README.md
+ plugins/zope/README-zodb
+)
+README_TOOLS=(
+ tools/munin-node-c/README
+ tools/munin-node-from-hell/README.rst
+ tools/munin-plugins-busybox/README
+ tools/pmmn/plugins/README
+ tools/pypmmn/README.rst
+)
+
+src_prepare() {
+ default
+ rm "plugins/nginx/nginx_byprojects/LICENSE.txt" || die
+}
+
+src_compile() {
+ export CC=$(tc-getCC)
+
+ pushd plugins/cpu || die
+ emake multicpu1sec-c
+ rm multicpu1sec-c.c || die
+ popd
+ pushd plugins/disk/smart-c || die
+ emake
+ rm *.h *.o *.c Makefile || die
+ popd
+ pushd plugins/network || die
+ emake if1sec-c
+ rm if1sec-c.c || die
+ popd
+}
+
+src_install() {
+ if use tools ; then
+ for i in "${README_TOOLS[@]}" ; do
+ p="${ED}/usr/share/doc/${PF}/${i%/*}"
+ mkdir -p "${p}" || die
+ mv "${i}" "${p}" || die
+ done
+ insinto "/usr/libexec/munin"
+ doins -r tools
+ fi
+
+ #install documentation in subfolders
+ for i in plugins/{apt,network,}/*/example-graphs ; do
+ p="${ED}/usr/share/doc/${PF}/${i}"x
+ mkdir -p "${p}" || die
+ mv "${i}" "${p}" || die
+ done
+ for i in "${README_PLUGINS[@]}" ; do
+ p="${ED}/usr/share/doc/${PF}/${i%/*}"
+ mkdir -p "${p}" || die
+ mv "${i}" "${p}" || die
+ done
+
+ #install plugins without getting mad at preserving exec bit
+ mkdir -p "${ED}/usr/libexec/munin/plugins/contrib" || die
+ mv plugins/* "${ED}/usr/libexec/munin/plugins/contrib" || die
+
+ elog "2023 Feb 1, the network/transmission file was replaced "
+ elog "by a directory of the same name. You may get a file collision "
+ elog "warning because of it. As long as you haven't made manual "
+ elog "edits to the file, you can remove the transmission.backup.#### "
+ elog "file if one is made."
+ elog
+ elog "See https://github.com/munin-monitoring/contrib/commit/2a12025ee5a22dad41be8f1c05052c2a93e3d3bd"
+
+ insinto "/etc/munin/templates"
+ use templates && doins -r templates/munstrap
+
+ use examples && dodoc -r samples/munin.conf
+
+ dodoc README.md
+}