dev-libs/dynarmic: new package, add 6.7.0

Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
This commit is contained in:
Pavel Sobolev
2025-07-10 22:08:47 +03:00
parent cc65ee003e
commit 67178f69c1
5 changed files with 108 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST dynarmic-6.7.0.tar.gz 3748380 BLAKE2B 9f25e019f2a80486f11ebdb9872bea5345877074150024baadb959ae038b92bb550e0674f27f14c89cff2cab49ddb5d826c267303093934ae9db54791ba69dc8 SHA512 08b3c8783fd719651797566cbf3992c01fac8cce4dfadcdf22017706e926be2d9d6fcbabf20af8a61e3d8447ca477312dd89e7eec6c58a0965e8e1b14813d8c2

View File

@@ -0,0 +1,61 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
EGIT_COMMIT="fa6cc2e4b2a2954f2298b6548174479c5b106c2a"
DESCRIPTION="An ARM dynamic recompiler"
# This is a copy of the now-deleted repository `merryhime/dynarmic`
HOMEPAGE="https://github.com/lioncash/dynarmic"
SRC_URI="https://github.com/lioncash/dynarmic/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
LICENSE="0BSD"
SLOT="0"
KEYWORDS="~amd64"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
dev-cpp/robin-map
dev-libs/boost:=
dev-libs/libfmt:=
dev-libs/mcl
amd64? ( dev-libs/zydis )
"
DEPEND="
${RDEPEND}
amd64? ( >=dev-libs/xbyak-7.25 )
arm64? ( dev-libs/oaknut )
"
BDEPEND="
test? (
dev-cpp/catch
dev-libs/oaknut
)
"
PATCHES=(
"${FILESDIR}/${PN}-6.7.0-add-xbyak-as-a-system-library-rather-than-a-cmake-package.patch"
"${FILESDIR}/${PN}-6.7.0-relax-the-dependency-on-mcl.patch"
)
src_prepare() {
find externals -mindepth 1 -not -path "externals/CMakeLists.txt" -delete
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DDYNARMIC_USE_PRECOMPILED_HEADERS=no
-DDYNARMIC_TESTS=$(usex test)
-Wno-dev
)
cmake_src_configure
}

View File

@@ -0,0 +1,19 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Add `xbyak` as a system library rather than a CMake package.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -149,7 +149,11 @@ if ("arm64" IN_LIST ARCHITECTURE OR DYNARMIC_TESTS)
endif()
if ("x86_64" IN_LIST ARCHITECTURE)
- find_package(xbyak 7 CONFIG)
+ add_library(xbyak INTERFACE)
+ add_library(xbyak::xbyak ALIAS xbyak)
+ target_compile_options(xbyak INTERFACE "-fno-operator-names")
+ target_compile_definitions(xbyak INTERFACE XBYAK_STRICT_CHECK_MEM_REG_SIZE=0)
+
find_package(Zydis 4 CONFIG)
endif()

View File

@@ -0,0 +1,16 @@
From: Pavel Sobolev <contact@paveloom.dev>
Subject: [PATCH] Relax the dependency on `mcl`.
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -141,7 +141,7 @@ endif()
find_package(Boost 1.57 REQUIRED)
find_package(fmt 9 CONFIG)
-find_package(mcl 0.1.12 EXACT CONFIG)
+find_package(mcl 0.1.12 CONFIG)
find_package(tsl-robin-map CONFIG)
if ("arm64" IN_LIST ARCHITECTURE OR DYNARMIC_TESTS)

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>contact@paveloom.dev</email>
<name>Pavel Sobolev</name>
</maintainer>
<upstream>
<remote-id type="github">lioncash/dynarmic</remote-id>
</upstream>
</pkgmetadata>