games-emulation/azahar: add 2125.0.1

Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
This commit is contained in:
Pavel Sobolev
2026-03-29 16:38:24 +03:00
parent 396c9dde93
commit 7c082a8152
2 changed files with 141 additions and 0 deletions

View File

@@ -1 +1,2 @@
DIST azahar-2124.3.tar.xz 40975076 BLAKE2B 842b0fb864b3e046cf2709478fea00359ee1ea49ceb40740e43e47cab078d86af6bda295354f5888089adea3e88d4c64a2d829523f82d7d0ccb587922b059659 SHA512 d5c2603f7ad0445a26671476793072082797dfc51fde9151a869156b15704c5ec4a9c594af5dc6b354060d9f3e19a8cc731b8aa5f69889b251a44fbec8024ac3
DIST azahar-2125.0.1.tar.xz 41541704 BLAKE2B 15c029c1399082d98c6b2dc38c1c7edbb15ab3ddd23e6a35e2c832afa43ac4143fcea8be5e4fb91c8b2b62fc8568b13133bec910904e5ccfd9940d23517fb866 SHA512 d7b9654116c04e3d5ad0922244cc71b50f8e82e62595266e5340382d05d22674180d544c6314cb68f4ace860ad2053e8da51886a74455f0243b7bbbfaac899ba

View File

@@ -0,0 +1,140 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake xdg
DESCRIPTION="An open-source 3DS emulator project based on Citra"
HOMEPAGE="https://azahar-emu.org"
SRC_URI="
https://github.com/azahar-emu/azahar/releases/download/${PV}/azahar-unified-source-${PV}.tar.xz -> ${P}.tar.xz
"
S="${WORKDIR}/azahar-unified-source-${PV}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~amd64"
IUSE="cpu_flags_x86_sse4_2 test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-cpp/nlohmann_json
dev-cpp/robin-map
dev-libs/boost:=
dev-libs/crypto++:=
dev-libs/dynarmic
dev-libs/inih
dev-libs/libfmt:=
dev-libs/microprofile
dev-libs/nihstro
dev-libs/openssl:=
dev-libs/sirit
dev-libs/teakra
dev-libs/xxhash
dev-qt/qtbase:6[concurrent,dbus,widgets]
dev-qt/qtmultimedia:6
dev-util/glslang
media-libs/cubeb
media-libs/faad2
media-libs/libsdl2
media-libs/libsoundtouch:=
media-libs/openal
media-video/ffmpeg
net-libs/enet
virtual/libusb
"
DEPEND="
${RDEPEND}
dev-util/spirv-headers
dev-util/vulkan-headers
media-libs/VulkanMemoryAllocator
amd64? ( dev-libs/xbyak )
arm64? ( dev-libs/oaknut )
"
BDEPEND="
test? ( >=dev-cpp/catch-3:0 )
"
PATCHES=(
"${FILESDIR}/${PN}-2122.1-explicitly-require-the-tsl-robin-map-package.patch"
"${FILESDIR}/${PN}-2122.1-import-some-of-the-symbols-from-spv.patch"
"${FILESDIR}/${PN}-2122.1-rename-AV_OPT_TYPE_CHANNEL_LAYOUT-to-AV_OPT_TYPE_CHL.patch"
"${FILESDIR}/${PN}-2122.1-use-the-system-faad2-library.patch"
"${FILESDIR}/${PN}-2122.1-use-the-system-teakra-library.patch"
"${FILESDIR}/${PN}-2123-don-t-build-spirv-tools.patch"
"${FILESDIR}/${PN}-2123.1-use-the-system-oaknut-library.patch"
"${FILESDIR}/${PN}-2123.2-use-the-system-sirit-library.patch"
"${FILESDIR}/${PN}-2124-use-the-system-xxhash-library.patch"
)
# [directory]=license
declare -A KEEP_BUNDLED=(
# Generated or copied files for internal usage
[cmake-modules]=Boost-1.0
[dds-ktx]=BSD-2
[gamemode]=BSD
[glad]=MIT
[open_source_archives]=GPL-2+
# Reasons to keep are in `src_configure`
[httplib]=MIT
[lodepng]=ZLIB
[zstd]="GPL-2"
)
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=(
-DBUILD_SHARED_LIBS=no
-DCITRA_USE_PRECOMPILED_HEADERS=no
-DCITRA_WARNINGS_AS_ERRORS=no
-DENABLE_WEB_SERVICE=no
-DUSE_SYSTEM_LIBS=yes
-DENABLE_SSE42=$(usex cpu_flags_x86_sse4_2)
-DENABLE_TESTS=$(usex test)
# Shared library is not supported
-DDISABLE_SYSTEM_CPP_HTTPLIB=yes
# Lodepng is designed to be bundled
-DDISABLE_SYSTEM_LODEPNG=yes
# Upstream depends on `zstd/contrib/seekable_format/zstd_seekable.h`
-DDISABLE_SYSTEM_ZSTD=yes
-Wno-dev
)
cmake_src_configure
}
src_install() {
cmake_src_install
dodoc license.txt
}