mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-07 03:10:15 -04:00
Add := to virtual/zlib deps, part 1 Done via: ``` git grep -l virtual/zlib$ | xargs sed -i -e 's@virtual/zlib$@&:=@' ``` Add := to virtual/zlib deps Done via: ``` git grep -l 'virtual/zlib ' | xargs sed -i -e 's@virtual/zlib @virtual/zlib:= @g' ``` Unify virtual/zlib:0= to virtual/zlib:= Done via: ``` git grep -l 'virtual/zlib:0=' | xargs sed -i -e 's@virtual/zlib:0=@virtual/zlib:=@g' ``` Add := to virtual/zlib deps, part 3 Done via: ``` git grep -l 'virtual/zlib:0' | xargs sed -i -e 's@virtual/zlib:0@virtual/zlib:=@g' git grep -l 'virtual/zlib:=/' | xargs sed -i -e 's@virtual/zlib:=/@virtual/zlib:0/@g' ``` Add := to virtual/zlib deps, part 4 Done via: ``` git grep -l 'virtual/zlib\[' | xargs sed -i -e 's@virtual/zlib\[@virtual/zlib:=\[@g' ``` Use := on virtual/zlib deps, part 5 Done via: ``` git grep -l 'virtual/zlib-' | xargs sed -i -r -e 's@virtual/zlib-[0-9.]*(-r[0-9]*)?@&:=@g' git grep -l 'virtual/zlib-' | xargs sed -i -e 's@:=:=@:=@g' pkgcheck scan --commits \ -c SourcingCheck,VisibilityCheck,DependencyCheck --exit error ``` Use := on virtual/zlib deps, part 6 Done via: ``` git grep -l 'virtual/zlib"' | xargs sed -i -e 's@virtual/zlib"@virtual/zlib:="@' ``` Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
178 lines
3.8 KiB
Bash
178 lines
3.8 KiB
Bash
# Copyright 1999-2025 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
inherit cmake xdg
|
|
|
|
_TZDB_VER=091025
|
|
|
|
DESCRIPTION="Nintendo Switch Emulator"
|
|
HOMEPAGE="https://eden-emu.dev"
|
|
SRC_URI="
|
|
https://git.eden-emu.dev/eden-emu/eden/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz
|
|
https://git.crueter.xyz/misc/tzdb_to_nx/releases/download/${_TZDB_VER}/${_TZDB_VER}.tar.gz ->
|
|
nx-tzdb-${_TZDB_VER}.tar.gz
|
|
"
|
|
|
|
S="${WORKDIR}/${PN}"
|
|
|
|
LICENSE="GPL-3+"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64"
|
|
IUSE="camera +cubeb discord llvm lto +opengl +qt6 room sdl ssl test +usb web-applet web-service wifi"
|
|
REQUIRED_USE="
|
|
!qt6? ( !camera !discord !web-applet )
|
|
web-service? ( ssl || ( qt6 room ) )
|
|
"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
RDEPEND="
|
|
app-arch/lz4
|
|
app-arch/zstd
|
|
dev-libs/libfmt:=
|
|
dev-libs/mcl
|
|
>=dev-libs/sirit-1.0.1
|
|
dev-util/spirv-tools
|
|
games-util/gamemode
|
|
media-gfx/renderdoc
|
|
media-libs/libva
|
|
media-libs/opus
|
|
media-video/ffmpeg
|
|
net-libs/enet
|
|
net-libs/mbedtls:3
|
|
virtual/zlib:=
|
|
|
|
camera? ( dev-qt/qtmultimedia:6 )
|
|
cubeb? ( media-libs/cubeb )
|
|
discord? (
|
|
dev-cpp/cpp-httplib:=[ssl]
|
|
dev-libs/discord-rpc
|
|
)
|
|
qt6? (
|
|
dev-libs/quazip[qt6]
|
|
dev-qt/qtbase:6[concurrent,dbus,gui,widgets]
|
|
)
|
|
sdl? ( media-libs/libsdl2[haptic,joystick,sound,video] )
|
|
ssl? ( dev-libs/openssl:= )
|
|
usb? ( dev-libs/libusb )
|
|
web-applet? ( dev-qt/qtwebengine:6[widgets] )
|
|
web-service? ( dev-cpp/cpp-httplib:=[ssl] )
|
|
wifi? ( net-wireless/wireless-tools )
|
|
llvm? ( llvm-core/llvm )
|
|
"
|
|
DEPEND="
|
|
${RDEPEND}
|
|
dev-cpp/nlohmann_json
|
|
dev-cpp/simpleini
|
|
dev-libs/boost:=[context]
|
|
dev-libs/frozen
|
|
dev-libs/unordered_dense
|
|
dev-util/spirv-headers
|
|
dev-util/vulkan-headers
|
|
dev-util/vulkan-utility-libraries
|
|
media-libs/VulkanMemoryAllocator
|
|
|
|
amd64? ( dev-libs/xbyak )
|
|
arm64? ( dev-libs/oaknut )
|
|
x86? ( dev-libs/xbyak )
|
|
|
|
web-service? ( dev-cpp/cpp-jwt )
|
|
|
|
test? ( dev-libs/oaknut )
|
|
"
|
|
BDEPEND="
|
|
app-arch/unzip
|
|
dev-util/glslang
|
|
virtual/pkgconfig
|
|
|
|
test? ( dev-cpp/catch )
|
|
"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}/${PN}-0.0.4_rc2-always-include-common-detached_tasks-in-src-yuzu-main-cpp.patch"
|
|
)
|
|
|
|
# [directory]=license
|
|
declare -A KEEP_BUNDLED=(
|
|
# Generated or copied files for internal usage
|
|
[bc_decoder]=MPL-2.0
|
|
[cmake-modules]=Boost-1.0
|
|
[demangle]=Apache-2.0-with-LLVM-exceptions
|
|
[FidelityFX-FSR]=MIT
|
|
[glad]=GPL-2+
|
|
[nx_tzdb]="GPL-2+"
|
|
[stb]="MIT public-domain"
|
|
[tz]=BSD-2
|
|
|
|
# Configuration for the system library
|
|
[libusb]=GPL-3+
|
|
)
|
|
|
|
add_bundled_licenses() {
|
|
for license in "${KEEP_BUNDLED[@]}"; do
|
|
if [[ -n "$license" ]]; then
|
|
LICENSE+=" ${license}"
|
|
fi
|
|
done
|
|
}
|
|
add_bundled_licenses
|
|
|
|
src_prepare() {
|
|
local s remove=()
|
|
for s in externals/*; do
|
|
[[ -f ${s} ]] && continue
|
|
if ! has "${s#externals/}" "${!KEEP_BUNDLED[@]}"; then
|
|
remove+=( "${s}" )
|
|
fi
|
|
done
|
|
|
|
einfo "removing sources: ${remove[*]}"
|
|
rm -r "${remove[@]}" || die
|
|
|
|
cmake_src_prepare
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DCPMUTIL_FORCE_SYSTEM=yes
|
|
-DTITLE_BAR_FORMAT_IDLE="Eden | v${PV/_/-}"
|
|
-DYUZU_TZDB_PATH="${WORKDIR}/${_TZDB_VER}"
|
|
-DYUZU_USE_FASTER_LD=no
|
|
|
|
-DDYNARMIC_ENABLE_LTO=$(usex lto)
|
|
-DYUZU_ENABLE_LTO=$(usex lto)
|
|
|
|
-DDYNARMIC_USE_LLVM=$(usex llvm)
|
|
-DYUZU_DISABLE_LLVM=$(usex !llvm)
|
|
|
|
-DBUILD_TESTING=$(usex test)
|
|
-DENABLE_CUBEB=$(usex cubeb)
|
|
-DENABLE_LIBUSB=$(usex usb)
|
|
-DENABLE_OPENGL=$(usex opengl)
|
|
-DENABLE_OPENSSL=$(usex ssl)
|
|
-DENABLE_QT=$(usex qt6)
|
|
-DENABLE_SDL2=$(usex sdl)
|
|
-DENABLE_WEB_SERVICE=$(usex web-service)
|
|
-DENABLE_WIFI_SCAN=$(usex wifi)
|
|
-DUSE_DISCORD_PRESENCE=$(usex discord)
|
|
-DYUZU_USE_QT_MULTIMEDIA=$(usex camera)
|
|
-DYUZU_USE_QT_WEB_ENGINE=$(usex web-applet)
|
|
|
|
-DYUZU_ROOM=$(usex room)
|
|
|
|
-Wno-dev
|
|
)
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
src_test() {
|
|
cd "${BUILD_DIR}" || die
|
|
|
|
./bin/dynarmic_tests || die
|
|
|
|
# See https://git.eden-emu.dev/eden-emu/eden/issues/126
|
|
./bin/tests "~Fibers::InterExchange" "~RingBuffer: Threaded Test" || die
|
|
}
|