mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-17 19:13:13 -04:00
dev-libs/dynarmic: new package, add 6.7.0
Signed-off-by: Pavel Sobolev <contact@paveloom.dev>
This commit is contained in:
1
dev-libs/dynarmic/Manifest
Normal file
1
dev-libs/dynarmic/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST dynarmic-6.7.0.tar.gz 3748380 BLAKE2B 9f25e019f2a80486f11ebdb9872bea5345877074150024baadb959ae038b92bb550e0674f27f14c89cff2cab49ddb5d826c267303093934ae9db54791ba69dc8 SHA512 08b3c8783fd719651797566cbf3992c01fac8cce4dfadcdf22017706e926be2d9d6fcbabf20af8a61e3d8447ca477312dd89e7eec6c58a0965e8e1b14813d8c2
|
||||
61
dev-libs/dynarmic/dynarmic-6.7.0.ebuild
Normal file
61
dev-libs/dynarmic/dynarmic-6.7.0.ebuild
Normal 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
|
||||
}
|
||||
@@ -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()
|
||||
@@ -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)
|
||||
11
dev-libs/dynarmic/metadata.xml
Normal file
11
dev-libs/dynarmic/metadata.xml
Normal 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>
|
||||
Reference in New Issue
Block a user