From cd57012a0ef40d302cf7d5a92dd2f3dfae285d2f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 20 Jan 2025 06:42:03 +0000 Subject: gentoo auto-resync : 20:01:2025 - 06:42:03 --- games-emulation/Manifest.gz | Bin 12071 -> 12073 bytes games-emulation/dolphin/Manifest | 2 +- games-emulation/dolphin/dolphin-2412-r1.ebuild | 301 +++++++++++++++++++++++++ games-emulation/dolphin/dolphin-2412.ebuild | 301 ------------------------- 4 files changed, 302 insertions(+), 302 deletions(-) create mode 100644 games-emulation/dolphin/dolphin-2412-r1.ebuild delete mode 100644 games-emulation/dolphin/dolphin-2412.ebuild (limited to 'games-emulation') diff --git a/games-emulation/Manifest.gz b/games-emulation/Manifest.gz index 0e13499cfaef..b1669b5f18ef 100644 Binary files a/games-emulation/Manifest.gz and b/games-emulation/Manifest.gz differ diff --git a/games-emulation/dolphin/Manifest b/games-emulation/dolphin/Manifest index fd549c8798a9..84bfa71c0753 100644 --- a/games-emulation/dolphin/Manifest +++ b/games-emulation/dolphin/Manifest @@ -17,7 +17,7 @@ DIST minizip-ng-3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70.tar.gz 770054 BLAKE2B 7 DIST tinygltf-c5641f2c22d117da7971504591a8f6a41ece488b.tar.gz 5903179 BLAKE2B 0ef4b36cf26f3a5a544d0c739317b8cce041121b1dec58d1d9dbc3bbc892df284d80aa4c45ec1ebc332ba96b151230a5b0dbf95b95aefcf86ee7878c393eda5d SHA512 486bcf32be137dea5746117074dc51bc978290698de7831e1c4bbaa4acb56ed99fc34c38e69878a955b3e5f10f43eab07b0637164f822beae0fddd099aa0c56d DIST zlib-ng-ce01b1e41da298334f8214389cc9369540a7560f.tar.gz 2223118 BLAKE2B c79a138c31c74c291ae38a6c4d8983e0884169ced4147d7242d1a766f70777de0368ceba815ac2261bd2543dba55a6106b70f7e040fae4f200863da217f88978 SHA512 73f4e56410ae298ef211ebab52b1a0d3d5bfae91c2de3cd294b56cd0a78ab50e1203b396c7df462f360c1aaaa9392ec5625473d1e9eb084cc64bc813e28d12a1 EBUILD dolphin-2407-r1.ebuild 7928 BLAKE2B d53bf2b8ad7adf794903b594c44c95af502e79129eaacfde4de7ae2db5eb6bf5cf67b8469226ffff05e3c49bd1d63e81fe8453c325bd2c6937fc2f5d3a1c6230 SHA512 9fca29451fc209ba148a1c8dd0b37be50f81a183f4d2af9409ff12af36146db12010953de1ddbf57f4ccc591c4bc6cf869dddecd53067d0963724af5a46d7065 -EBUILD dolphin-2412.ebuild 7839 BLAKE2B f2d0fac389eaf87117e580531259a22a3497257b60f0a6e395c39e75581da5ff0acbcb67a773c202d622ed6c195eb5c0c5952a7acd6d753e1e02af5f7863b87b SHA512 3a8c9686847dc27dbff2eaab5a0ee2dfc6dbbd9c4386f51b718f8991e4c3fb6740b9387158d26e11bbf430a096c5b6a0e688e3c55eb3c7527cc82114973ec933 +EBUILD dolphin-2412-r1.ebuild 7848 BLAKE2B 311654864fd94b9fbe5585c283340248ab75cfdadcc46a4e2819de9368082c9a3e1620c10383f63aa3024ab12cc2b8bf90e52ac89ccf542bd83bf30c27814780 SHA512 1e5414cb43524ffb23dc7d8289a7906a36432af9245d88f9e4fd2c35baf7b3a3331fefe5676a72375a072c62ce61a8a6eb904b2f2a27e9d3c63b4109739620cc EBUILD dolphin-5.0_p20220520-r4.ebuild 4980 BLAKE2B a28dc886b7061805c0ee5fed1eb5a8311658618137982a523f5cb9e3472aeea5354ea6349bf6ab57cc36cb7a470d45f5da8d957611b7ef9f724c49386bae75fc SHA512 6a9b1a6eba7a82329fcfd38c60daa562edf34a590b9118d977e3d417ef32fe20b913c0a5b76ec8340eb8513bb5337141cffd870f4f64d1da6c2899dcbf1b9319 EBUILD dolphin-9999.ebuild 7718 BLAKE2B b7fd8abd6607f1d18440fd4100cbb72abd008e8aedad4c0c11de63f277abbd71382eafcde85350633e80f005b159f3ef21ac82c1848fdf5799bdbd7ea94628d4 SHA512 c0516b784832130fca6a4f9937ca84bc46890d9e65e06ace6b1a8eee1add86dec1bb865f319e0cfb7462610edee9c72286a84d0f157f70605534fadd2d843932 MISC metadata.xml 1003 BLAKE2B 29d426769469da0b23975299b97d310f962b1c3c18a765389b47b8361821014f45b068991b1b21a57344ce34815a1ce609e6c552ed992eff9b84045b74872e41 SHA512 50c546c0a35693c1e1c3d8b53e697e19fc675dd577f6803abe04b1348e08576b0e79640e6978b31484182ecc24cc42557b301c90e2cc31b9c3ead055fdc21458 diff --git a/games-emulation/dolphin/dolphin-2412-r1.ebuild b/games-emulation/dolphin/dolphin-2412-r1.ebuild new file mode 100644 index 000000000000..c93526544485 --- /dev/null +++ b/games-emulation/dolphin/dolphin-2412-r1.ebuild @@ -0,0 +1,301 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( 18 ) +LLVM_OPTIONAL=1 + +inherit cmake llvm-r1 pax-utils xdg-utils + +if [[ ${PV} == *9999 ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin" + EGIT_SUBMODULES=( + Externals/mGBA/mgba + Externals/implot/implot + Externals/tinygltf/tinygltf + Externals/Vulkan-Headers + Externals/VulkanMemoryAllocator + Externals/zlib-ng/zlib-ng + Externals/minizip-ng/minizip-ng + ) +else + MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 + IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d + TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b + VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72 + VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816 + ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f + MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70 + SRC_URI=" + https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz + -> implot-${IMPLOT_COMMIT}.tar.gz + https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz + -> tinygltf-${TINYGLTF_COMMIT}.tar.gz + https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz + -> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz + https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + -> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz + https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz + -> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz + https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz + -> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz + mgba? ( + https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz + -> mgba-${MGBA_COMMIT}.tar.gz + ) + " + KEYWORDS="~amd64 ~arm64" +fi + +DESCRIPTION="Gamecube and Wii game emulator" +HOMEPAGE="https://dolphin-emu.org/" + +LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB" +SLOT="0" +IUSE=" + alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba + profile pulseaudio sdl systemd telemetry test upnp vulkan +" +REQUIRED_USE=" + mgba? ( gui ) + llvm? ( ${LLVM_REQUIRED_USE} ) +" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/bzip2:= + >=app-arch/lz4-1.8:= + app-arch/xz-utils + >=app-arch/zstd-1.4.0:= + dev-libs/hidapi + >=dev-libs/libfmt-10.1:= + dev-libs/lzo:2 + dev-libs/pugixml + dev-libs/xxhash + media-libs/cubeb + media-libs/libsfml:= + media-libs/libspng + >=net-libs/enet-1.3.18:1.3= + net-libs/mbedtls:0= + net-misc/curl + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXrandr + virtual/libusb:1 + virtual/opengl + alsa? ( media-libs/alsa-lib ) + bluetooth? ( net-wireless/bluez:= ) + evdev? ( + dev-libs/libevdev + virtual/udev + ) + ffmpeg? ( media-video/ffmpeg:= ) + gui? ( + dev-qt/qtbase:6[gui,widgets] + dev-qt/qtsvg:6 + ) + llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') ) + profile? ( dev-util/oprofile ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( >=media-libs/libsdl2-2.30.9 ) + systemd? ( sys-apps/systemd:0= ) + upnp? ( net-libs/miniupnpc:= ) +" +DEPEND=" + ${RDEPEND} + egl? ( media-libs/libglvnd ) + test? ( dev-cpp/gtest ) +" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig +" + +# vulkan-loader required for vulkan backend which can be selected +# at runtime. +RDEPEND+=" + vulkan? ( media-libs/vulkan-loader ) +" + +# [directory]=license +declare -A KEEP_BUNDLED=( + # please keep this list in CMakeLists.txt order + + # TODO: use system libraries + # bug #873952 + # https://github.com/dolphin-emu/dolphin/pull/13089 + [zlib-ng]=ZLIB + [minizip-ng]=ZLIB + + [Bochs_disasm]=LGPL-2.1+ + [cpp-optparse]=MIT + [imgui]=MIT + [implot]=MIT + [glslang]=BSD + + [tinygltf]=MIT + + [FreeSurround]=GPL-2+ + [soundtouch]=LGPL-2.1+ + + # FIXME: discord-rpc not packaged + [discord-rpc]=MIT + + [mGBA]=MPL-2.0 + + [picojson]=BSD-2 + [expr]=MIT + [rangeset]=ZLIB + [FatFs]=FatFs + [Vulkan-Headers]="|| ( Apache-2.0 MIT )" + [VulkanMemoryAllocator]=MIT +) + +PATCHES=( + "${FILESDIR}"/dolphin-2407-minizip.patch + "${FILESDIR}"/dolphin-2412-fix-libfmt-11.1.patch + "${FILESDIR}"/dolphin-2412-fix-build-without-retro-achievements.patch +) + +add_bundled_licenses() { + for license in ${KEEP_BUNDLED[@]}; do + LICENSE+=" ${license}" + done +} +add_bundled_licenses + +pkg_setup() { + use llvm && llvm-r1_pkg_setup +} + +src_prepare() { + if [[ ${PV} != *9999 ]]; then + mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die + mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die + mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die + mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die + mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die + mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die + if use mgba; then + mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die + fi + fi + + cmake_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 + + # Remove dirty suffix: needed for netplay + sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die +} + +src_configure() { + local mycmakeargs=( + -DDSPTOOL=ON + -DENABLE_ALSA=$(usex alsa) + -DENABLE_ANALYTICS=$(usex telemetry) + -DENABLE_AUTOUPDATE=OFF + -DENABLE_BLUEZ=$(usex bluetooth) + -DENABLE_CLI_TOOL=ON + -DENABLE_EGL=$(usex egl) + -DENABLE_EVDEV=$(usex evdev) + -DENABLE_LLVM=$(usex llvm) + -DENABLE_LTO=OFF # just adds -flto, user can do that via flags + -DENABLE_NOGUI=$(usex !gui) + -DENABLE_PULSEAUDIO=$(usex pulseaudio) + -DENABLE_QT=$(usex gui) + -DENABLE_SDL=$(usex sdl) + -DENABLE_TESTS=$(usex test) + -DENABLE_VULKAN=$(usex vulkan) + -DENCODE_FRAMEDUMPS=$(usex ffmpeg) + -DFASTLOG=$(usex log) + -DOPROFILING=$(usex profile) + -DUSE_DISCORD_PRESENCE=$(usex discord-presence) + -DUSE_MGBA=$(usex mgba) + -DUSE_RETRO_ACHIEVEMENTS=OFF + -DUSE_UPNP=$(usex upnp) + + -DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd) + + # Use system libraries + -DUSE_SYSTEM_FMT=ON + -DUSE_SYSTEM_PUGIXML=ON + -DUSE_SYSTEM_ENET=ON + -DUSE_SYSTEM_XXHASH=ON + -DUSE_SYSTEM_BZIP2=ON + -DUSE_SYSTEM_LIBLZMA=ON + -DUSE_SYSTEM_ZSTD=ON + -DUSE_SYSTEM_MINIZIP=OFF + -DUSE_SYSTEM_LZO=ON + -DUSE_SYSTEM_LZ4=ON + -DUSE_SYSTEM_SPNG=ON + -DUSE_SYSTEM_CUBEB=ON + -DUSE_SYSTEM_LIBUSB=ON + -DUSE_SYSTEM_SFML=ON + -DUSE_SYSTEM_MBEDTLS=ON + -DUSE_SYSTEM_CURL=ON + -DUSE_SYSTEM_ICONV=ON + -DUSE_SYSTEM_HIDAPI=ON + + # Use ccache only when user did set FEATURES=ccache (or similar) + # not when ccache binary is present in system (automagic). + -DCCACHE_BIN=CCACHE_BIN-NOTFOUND + + # Undo cmake.eclass's defaults. + # All dolphin's libraries are private + # and rely on circular dependency resolution. + -DBUILD_SHARED_LIBS=OFF + + # Avoid warning spam around unset variables. + -Wno-dev + ) + + # System installed git shouldnt affect non live builds + [[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) + + use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON ) + use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF ) + use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON ) + use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON ) + + cmake_src_configure +} + +src_test() { + cmake_build unittests +} + +src_install() { + cmake_src_install + + dodoc Readme.md + if use doc; then + dodoc -r docs/ActionReplay docs/DSP docs/WiiMote + fi + + # Add pax markings for hardened systems + pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool} +} + +pkg_postinst() { + xdg_desktop_database_update + xdg_icon_cache_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_icon_cache_update +} diff --git a/games-emulation/dolphin/dolphin-2412.ebuild b/games-emulation/dolphin/dolphin-2412.ebuild deleted file mode 100644 index ed35d8d995a4..000000000000 --- a/games-emulation/dolphin/dolphin-2412.ebuild +++ /dev/null @@ -1,301 +0,0 @@ -# Copyright 1999-2025 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LLVM_COMPAT=( 18 ) -LLVM_OPTIONAL=1 - -inherit cmake llvm-r1 pax-utils xdg-utils - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/dolphin-emu/dolphin" - EGIT_SUBMODULES=( - Externals/mGBA/mgba - Externals/implot/implot - Externals/tinygltf/tinygltf - Externals/Vulkan-Headers - Externals/VulkanMemoryAllocator - Externals/zlib-ng/zlib-ng - Externals/minizip-ng/minizip-ng - ) -else - MGBA_COMMIT=8739b22fbc90fdf0b4f6612ef9c0520f0ba44a51 - IMPLOT_COMMIT=cc5e1daa5c7f2335a9460ae79c829011dc5cef2d - TINYGLTF_COMMIT=c5641f2c22d117da7971504591a8f6a41ece488b - VULKAN_HEADERS_COMMIT=05fe2cc910a68c9ba5dac07db46ef78573acee72 - VULKANMEMORYALLOCATOR_COMMIT=009ecd192c1289c7529bff248a16cfe896254816 - ZLIB_NG_COMMIT=ce01b1e41da298334f8214389cc9369540a7560f - MINIZIP_NG_COMMIT=3eed562ef0ea3516db30d1c8ecb0e1b486d8cb70 - SRC_URI=" - https://github.com/dolphin-emu/dolphin/archive/${PV}.tar.gz - -> ${P}.tar.gz - https://github.com/epezent/implot/archive/${IMPLOT_COMMIT}.tar.gz - -> implot-${IMPLOT_COMMIT}.tar.gz - https://github.com/syoyo/tinygltf/archive/${TINYGLTF_COMMIT}.tar.gz - -> tinygltf-${TINYGLTF_COMMIT}.tar.gz - https://github.com/KhronosGroup/Vulkan-Headers/archive/${VULKAN_HEADERS_COMMIT}.tar.gz - -> Vulkan-Headers-${VULKAN_HEADERS_COMMIT}.tar.gz - https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/archive/${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz - -> VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}.tar.gz - https://github.com/zlib-ng/zlib-ng/archive/${ZLIB_NG_COMMIT}.tar.gz - -> zlib-ng-${ZLIB_NG_COMMIT}.tar.gz - https://github.com/zlib-ng/minizip-ng/archive/${MINIZIP_NG_COMMIT}.tar.gz - -> minizip-ng-${MINIZIP_NG_COMMIT}.tar.gz - mgba? ( - https://github.com/mgba-emu/mgba/archive/${MGBA_COMMIT}.tar.gz - -> mgba-${MGBA_COMMIT}.tar.gz - ) - " - KEYWORDS="~amd64 ~arm64" -fi - -DESCRIPTION="Gamecube and Wii game emulator" -HOMEPAGE="https://dolphin-emu.org/" - -LICENSE="GPL-2+ BSD BSD-2 LGPL-2.1+ MIT ZLIB" -SLOT="0" -IUSE=" - alsa bluetooth discord-presence doc egl +evdev ffmpeg +gui llvm log mgba - profile pulseaudio sdl systemd telemetry test upnp vulkan -" -REQUIRED_USE=" - mgba? ( gui ) - llvm? ( ${LLVM_REQUIRED_USE} ) -" -RESTRICT="!test? ( test )" - -RDEPEND=" - app-arch/bzip2:= - >=app-arch/lz4-1.8:= - app-arch/xz-utils - >=app-arch/zstd-1.4.0:= - dev-libs/hidapi - >=dev-libs/libfmt-10.1:= - dev-libs/lzo:2 - dev-libs/pugixml - dev-libs/xxhash - media-libs/cubeb - media-libs/libsfml:= - media-libs/libspng - >=net-libs/enet-1.3.18:1.3= - net-libs/mbedtls:0= - net-misc/curl - x11-libs/libX11 - x11-libs/libXi - x11-libs/libXrandr - virtual/libusb:1 - virtual/opengl - alsa? ( media-libs/alsa-lib ) - bluetooth? ( net-wireless/bluez:= ) - evdev? ( - dev-libs/libevdev - virtual/udev - ) - ffmpeg? ( media-video/ffmpeg:= ) - gui? ( - dev-qt/qtbase:6[gui,widgets] - dev-qt/qtsvg:6 - ) - llvm? ( $(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}=') ) - profile? ( dev-util/oprofile ) - pulseaudio? ( media-libs/libpulse ) - sdl? ( media-libs/libsdl2 ) - systemd? ( sys-apps/systemd:0= ) - upnp? ( net-libs/miniupnpc:= ) -" -DEPEND=" - ${RDEPEND} - egl? ( media-libs/libglvnd ) - test? ( dev-cpp/gtest ) -" -BDEPEND=" - sys-devel/gettext - virtual/pkgconfig -" - -# vulkan-loader required for vulkan backend which can be selected -# at runtime. -RDEPEND+=" - vulkan? ( media-libs/vulkan-loader ) -" - -# [directory]=license -declare -A KEEP_BUNDLED=( - # please keep this list in CMakeLists.txt order - - # TODO: use system libraries - # bug #873952 - # https://github.com/dolphin-emu/dolphin/pull/13089 - [zlib-ng]=ZLIB - [minizip-ng]=ZLIB - - [Bochs_disasm]=LGPL-2.1+ - [cpp-optparse]=MIT - [imgui]=MIT - [implot]=MIT - [glslang]=BSD - - [tinygltf]=MIT - - [FreeSurround]=GPL-2+ - [soundtouch]=LGPL-2.1+ - - # FIXME: discord-rpc not packaged - [discord-rpc]=MIT - - [mGBA]=MPL-2.0 - - [picojson]=BSD-2 - [expr]=MIT - [rangeset]=ZLIB - [FatFs]=FatFs - [Vulkan-Headers]="|| ( Apache-2.0 MIT )" - [VulkanMemoryAllocator]=MIT -) - -PATCHES=( - "${FILESDIR}"/dolphin-2407-minizip.patch - "${FILESDIR}"/dolphin-2412-fix-libfmt-11.1.patch - "${FILESDIR}"/dolphin-2412-fix-build-without-retro-achievements.patch -) - -add_bundled_licenses() { - for license in ${KEEP_BUNDLED[@]}; do - LICENSE+=" ${license}" - done -} -add_bundled_licenses - -pkg_setup() { - use llvm && llvm-r1_pkg_setup -} - -src_prepare() { - if [[ ${PV} != *9999 ]]; then - mv -T "${WORKDIR}/implot-${IMPLOT_COMMIT}" Externals/implot/implot || die - mv -T "${WORKDIR}/tinygltf-${TINYGLTF_COMMIT}" Externals/tinygltf/tinygltf || die - mv -T "${WORKDIR}/Vulkan-Headers-${VULKAN_HEADERS_COMMIT}" Externals/Vulkan-Headers || die - mv -T "${WORKDIR}/VulkanMemoryAllocator-${VULKANMEMORYALLOCATOR_COMMIT}" Externals/VulkanMemoryAllocator || die - mv -T "${WORKDIR}/zlib-ng-${ZLIB_NG_COMMIT}" Externals/zlib-ng/zlib-ng || die - mv -T "${WORKDIR}/minizip-ng-${MINIZIP_NG_COMMIT}" Externals/minizip-ng/minizip-ng || die - if use mgba; then - mv -T "${WORKDIR}/mgba-${MGBA_COMMIT}" Externals/mGBA/mgba || die - fi - fi - - cmake_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 - - # Remove dirty suffix: needed for netplay - sed -i -e 's/--dirty/&=""/' CMake/ScmRevGen.cmake || die -} - -src_configure() { - local mycmakeargs=( - -DDSPTOOL=ON - -DENABLE_ALSA=$(usex alsa) - -DENABLE_ANALYTICS=$(usex telemetry) - -DENABLE_AUTOUPDATE=OFF - -DENABLE_BLUEZ=$(usex bluetooth) - -DENABLE_CLI_TOOL=ON - -DENABLE_EGL=$(usex egl) - -DENABLE_EVDEV=$(usex evdev) - -DENABLE_LLVM=$(usex llvm) - -DENABLE_LTO=OFF # just adds -flto, user can do that via flags - -DENABLE_NOGUI=$(usex !gui) - -DENABLE_PULSEAUDIO=$(usex pulseaudio) - -DENABLE_QT=$(usex gui) - -DENABLE_SDL=$(usex sdl) - -DENABLE_TESTS=$(usex test) - -DENABLE_VULKAN=$(usex vulkan) - -DENCODE_FRAMEDUMPS=$(usex ffmpeg) - -DFASTLOG=$(usex log) - -DOPROFILING=$(usex profile) - -DUSE_DISCORD_PRESENCE=$(usex discord-presence) - -DUSE_MGBA=$(usex mgba) - -DUSE_RETRO_ACHIEVEMENTS=OFF - -DUSE_UPNP=$(usex upnp) - - -DCMAKE_DISABLE_FIND_PACKAGE_SYSTEMD=$(usex !systemd) - - # Use system libraries - -DUSE_SYSTEM_FMT=ON - -DUSE_SYSTEM_PUGIXML=ON - -DUSE_SYSTEM_ENET=ON - -DUSE_SYSTEM_XXHASH=ON - -DUSE_SYSTEM_BZIP2=ON - -DUSE_SYSTEM_LIBLZMA=ON - -DUSE_SYSTEM_ZSTD=ON - -DUSE_SYSTEM_MINIZIP=OFF - -DUSE_SYSTEM_LZO=ON - -DUSE_SYSTEM_LZ4=ON - -DUSE_SYSTEM_SPNG=ON - -DUSE_SYSTEM_CUBEB=ON - -DUSE_SYSTEM_LIBUSB=ON - -DUSE_SYSTEM_SFML=ON - -DUSE_SYSTEM_MBEDTLS=ON - -DUSE_SYSTEM_CURL=ON - -DUSE_SYSTEM_ICONV=ON - -DUSE_SYSTEM_HIDAPI=ON - - # Use ccache only when user did set FEATURES=ccache (or similar) - # not when ccache binary is present in system (automagic). - -DCCACHE_BIN=CCACHE_BIN-NOTFOUND - - # Undo cmake.eclass's defaults. - # All dolphin's libraries are private - # and rely on circular dependency resolution. - -DBUILD_SHARED_LIBS=OFF - - # Avoid warning spam around unset variables. - -Wno-dev - ) - - # System installed git shouldnt affect non live builds - [[ ${PV} != *9999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON ) - - use test && mycmakeargs+=( -DUSE_SYSTEM_GTEST=ON ) - use mgba && mycmakeargs+=( -DUSE_SYSTEM_LIBMGBA=OFF ) - use sdl && mycmakeargs+=( -DUSE_SYSTEM_SDL2=ON ) - use upnp && mycmakeargs+=( -DUSE_SYSTEM_MINIUPNPC=ON ) - - cmake_src_configure -} - -src_test() { - cmake_build unittests -} - -src_install() { - cmake_src_install - - dodoc Readme.md - if use doc; then - dodoc -r docs/ActionReplay docs/DSP docs/WiiMote - fi - - # Add pax markings for hardened systems - pax-mark -m "${ED}"/usr/bin/"${PN}"{-emu{,-nogui},-tool} -} - -pkg_postinst() { - xdg_desktop_database_update - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_icon_cache_update -} -- cgit v1.2.3