Files
guru/games-emulation/eden/eden-0.0.4_rc2.ebuild
Paul Zander e07d695d5d */*: Add := to virtual/zlib deps
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>
2025-11-18 17:53:08 +01:00

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
}