app-emulation/box86: Added versions 0.3.6 and 9999, QA checks

Signed-off-by: Richard Rogalski <rrogalski@tutanota.com>
This commit is contained in:
Richard-Rogalski 2024-09-02 12:14:43 -05:00
parent 4e96362211
commit 267c2bbeac
No known key found for this signature in database
GPG Key ID: 2D9F685E096BBB99
4 changed files with 144 additions and 4 deletions

View File

@ -1 +1,2 @@
DIST box86-0.3.0.tar.gz 3175056 BLAKE2B 4fdef0301a53278da82eb18f235c38694d3d5b59c1386e4be14f6efd676499c5082c061f56fe9222f5994f7f043a0aa82019c42bf9b867ab8215c11ed3782f82 SHA512 133957b5b3194a034f383dd2cba503797468b973127b10b3a4bac458e1dce43b4f61efd4ff9ad0cabf7935f9b34a5287cbf3b9fee8c40c9b4bfbe206b0566957
DIST box86-0.3.6.tar.gz 3511551 BLAKE2B 2f9211a1a472c972d2327d76f27a4f06dd2a6da78b764302659a73c0e10d7f96baf2e659e5dc0b88868fb08034346385c7b9f6b4c32abefec0d44b16dc59cbf6 SHA512 12dd71c46cf7dbb2038b543d36a0c81cd28f3f6266c096836ce2566eb3fb338b9ebb0ff25fd7b8a249d936799ddaf2579ee1f82f09e71310009998c2167fbb12

View File

@ -1,9 +1,9 @@
# Copyright 2023 Gentoo Authors
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake optfeature flag-o-matic
inherit cmake optfeature toolchain-funcs flag-o-matic
DESCRIPTION="Linux Userspace x86 Emulator with a twist"
HOMEPAGE="https://box86.org"
@ -11,11 +11,31 @@ SRC_URI="https://github.com/ptitSeb/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P
LICENSE="MIT"
SLOT="0"
KEYWORDS="~arm ~arm64"
KEYWORDS="~arm"
IUSE="aot"
REQUIRED_USE="aot? ( || ( arm arm64 ) )" #depends on NEON, VFPv3, and non-thumb ABI, I see no good way to check
RDEPEND="${DEPEND}"
pkg_setup() {
if [[ ${CHOST} == *64* ]]; then
ewarn ""
ewarn "box86 relies on a toolchain capable of emitting 32-bit code, and a 32 bit libc."
ewarn "If you're on a non multilib 64-bit profile, you will need to add multilib capabilities to it, see:"
ewarn "https://wiki.gentoo.org/wiki/User:Aslantis/Multilib_on_targets_without_official_multilib_profiles"
ewarn "Alternatively, box64 may work on your system, and can be used in tandem with wine's WOW64 for windows programs."
ewarn "box86 also doesn't support being built for the thumb ABI, if you have a thumb system you'll need -marm in your *FLAGS"
ewarn ""
fi
if [[ $(tc-endian) == big ]]; then
eerror "box86/box64 sadly does not support big endian systems."
die "big endian not supported!"
fi
if [[ ${CHOST} != *gnu* || ${CHOST} != *linux* ]]; then
eerror "box86/64 requires a glibc and a linux system. Musl support is possible, upstream welcomes PRs!"
die "Not a GNU+Linux system"
fi
}
src_configure() {
local -a mycmakeargs=(

View File

@ -0,0 +1,57 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake optfeature toolchain-funcs flag-o-matic
DESCRIPTION="Linux Userspace x86 Emulator with a twist"
HOMEPAGE="https://box86.org"
SRC_URI="https://github.com/ptitSeb/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~arm"
IUSE="aot"
REQUIRED_USE="aot? ( || ( arm arm64 ) )" #depends on NEON, VFPv3, and non-thumb ABI, I see no good way to check
pkg_setup() {
if [[ ${CHOST} == *64* ]]; then
ewarn ""
ewarn "box86 relies on a toolchain capable of emitting 32-bit code, and a 32 bit libc."
ewarn "If you're on a non multilib 64-bit profile, you will need to add multilib capabilities to it, see:"
ewarn "https://wiki.gentoo.org/wiki/User:Aslantis/Multilib_on_targets_without_official_multilib_profiles"
ewarn "Alternatively, box64 may work on your system, and can be used in tandem with wine's WOW64 for windows programs."
ewarn "box86 also doesn't support being built for the thumb ABI, if you have a thumb system you'll need -marm in your *FLAGS"
ewarn ""
fi
if [[ $(tc-endian) == big ]]; then
eerror "box86/box64 sadly does not support big endian systems."
die "big endian not supported!"
fi
if [[ ${CHOST} != *gnu* || ${CHOST} != *linux* ]]; then
eerror "box86/64 requires a glibc and a linux system. Musl support is possible, upstream welcomes PRs!"
die "Not a GNU+Linux system"
fi
}
src_configure() {
local -a mycmakeargs=(
-DNOGIT=1
-DARM_DYNAREC=0
)
(use amd64 || use x86) && mycmakeargs+=( -DLD80BITS=1 -DNOALIGN=1 )
(use arm64 || use arm) && mycmakeargs+=( -DARM_DYNAREC=$(usex aot) )
append-flags "-m32"
cmake_src_configure
}
pkg_postinst() {
optfeature "OpenGL for GLES devices" \
"media-libs/gl4es"
}

View File

@ -0,0 +1,62 @@
# Copyright 2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake optfeature toolchain-funcs flag-o-matic git-r3
DESCRIPTION="Linux Userspace x86 Emulator with a twist"
HOMEPAGE="https://box86.org"
EGIT_REPO_URI="https://github.com/ptitSeb/${PN}"
LICENSE="MIT"
SLOT="0"
IUSE="aot"
REQUIRED_USE="aot? ( || ( arm arm64 ) )" #depends on NEON, VFPv3, and non-thumb ABI, I see no good way to check
pkg_setup() {
if [[ ${CHOST} == *64* ]]; then
ewarn ""
ewarn "box86 relies on a toolchain capable of emitting 32-bit code, and a 32 bit libc."
ewarn "If you're on a non multilib 64-bit profile, you will need to add multilib capabilities to it, see:"
ewarn "https://wiki.gentoo.org/wiki/User:Aslantis/Multilib_on_targets_without_official_multilib_profiles"
ewarn "Alternatively, box64 may work on your system, and can be used in tandem with wine's WOW64 for windows programs."
ewarn "box86 also doesn't support being built for the thumb ABI, if you have a thumb system you'll need -marm in your *FLAGS"
ewarn ""
fi
if [[ $(tc-endian) == big ]]; then
eerror "box86/box64 sadly does not support big endian systems."
die "big endian not supported!"
fi
if [[ ${CHOST} != *linux* ]]; then
eerror "box86/64 requires a linux system."
die "Not a GNU+Linux system"
fi
if [[ ${CHOST} != *gnu* ]]; then #in case musl support is added in master branch
ewarn ""
ewarn "box86/64 will likely not build or run on a non-glibc system."
ewarn ""
fi
}
src_configure() {
local -a mycmakeargs=(
-DNOGIT=0
-DARM_DYNAREC=0
)
(use amd64 || use x86) && mycmakeargs+=( -DLD80BITS=1 -DNOALIGN=1 )
(use arm64 || use arm) && mycmakeargs+=( -DARM_DYNAREC=$(usex aot) )
append-flags "-m32"
cmake_src_configure
}
pkg_postinst() {
optfeature "OpenGL for GLES devices" \
"media-libs/gl4es"
}