aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-emulation/box64/box64-0.3.0-r1.ebuild54
-rw-r--r--app-emulation/box64/box64-9999.ebuild1
2 files changed, 55 insertions, 0 deletions
diff --git a/app-emulation/box64/box64-0.3.0-r1.ebuild b/app-emulation/box64/box64-0.3.0-r1.ebuild
new file mode 100644
index 000000000..8893fe9bb
--- /dev/null
+++ b/app-emulation/box64/box64-0.3.0-r1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake toolchain-funcs optfeature
+
+DESCRIPTION="Linux Userspace x86_64 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="~arm64 ~ppc64"
+IUSE="static"
+
+pkg_setup() {
+ 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
+ -DRV64_DYNAREC=0
+ )
+
+ (use arm || use arm64) && mycmakeargs+=( -DARM64=1 -DARM_DYNAREC=1 )
+ use riscv && mycmakeargs+=( -DRV64=1 -DRV64_DYNAREC=1 )
+ use ppc64 && mycmakeargs+=( -DPPC64LE=1 )
+ use loong && mycmakeargs+=( -DLARCH64=1 )
+ use amd64 && mycmakeargs+=( -DLD80BITS=1 -DNOALIGN=1 )
+ use static && mycmakeargs+=( -DSTATICBUILD=1 )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ dostrip -x "usr/lib/x86_64-linux-gnu/*"
+}
+
+pkg_postinst() {
+ optfeature "OpenGL for GLES devices" \
+ "media-libs/gl4es"
+}
diff --git a/app-emulation/box64/box64-9999.ebuild b/app-emulation/box64/box64-9999.ebuild
index 02e652d71..64564d457 100644
--- a/app-emulation/box64/box64-9999.ebuild
+++ b/app-emulation/box64/box64-9999.ebuild
@@ -50,6 +50,7 @@ src_configure() {
}
src_install() {
+ cmake_src_install
dostrip -x "usr/lib/x86_64-linux-gnu/*"
}