public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:master commit in: app-emulation/box86/
@ 2023-07-16  6:18 Haelwenn Monnier
  0 siblings, 0 replies; 2+ messages in thread
From: Haelwenn Monnier @ 2023-07-16  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     f49b095e877b110aaa8a524c7ad1bf2aa40025d4
Author:     Richard-Rogalski <rrogalski <AT> tutanota <DOT> com>
AuthorDate: Sat Jul 15 01:33:29 2023 +0000
Commit:     Haelwenn Monnier <contact <AT> hacktivis <DOT> me>
CommitDate: Sat Jul 15 01:33:29 2023 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f49b095e

app-emulation/box86: new package, add 0.3.0

Signed-off-by: Richard-Rogalski <rrogalski <AT> tutanota.com>

 app-emulation/box86/Manifest           |  1 +
 app-emulation/box86/box86-0.3.0.ebuild | 38 ++++++++++++++++++++++++++++++++++
 app-emulation/box86/metadata.xml       | 15 ++++++++++++++
 3 files changed, 54 insertions(+)

diff --git a/app-emulation/box86/Manifest b/app-emulation/box86/Manifest
new file mode 100644
index 000000000..608cb619f
--- /dev/null
+++ b/app-emulation/box86/Manifest
@@ -0,0 +1 @@
+DIST box86-0.3.0.tar.gz 3175056 BLAKE2B 4fdef0301a53278da82eb18f235c38694d3d5b59c1386e4be14f6efd676499c5082c061f56fe9222f5994f7f043a0aa82019c42bf9b867ab8215c11ed3782f82 SHA512 133957b5b3194a034f383dd2cba503797468b973127b10b3a4bac458e1dce43b4f61efd4ff9ad0cabf7935f9b34a5287cbf3b9fee8c40c9b4bfbe206b0566957

diff --git a/app-emulation/box86/box86-0.3.0.ebuild b/app-emulation/box86/box86-0.3.0.ebuild
new file mode 100644
index 000000000..e32f3b2c1
--- /dev/null
+++ b/app-emulation/box86/box86-0.3.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake optfeature 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 ~arm64"
+IUSE="aot"
+REQUIRED_USE="aot? ( || ( arm arm64 ) )" #depends on NEON, VFPv3, and non-thumb ABI, I see no good way to check
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+src_configure() {
+	local -a mycmakeargs=(
+		-DNOGIT=1
+		-DARM_DYNAREC=$(usex aot)
+	)
+
+	use amd64 && mycmakeargs+=( -DLD80BITS=1 -DNOALIGN=1 )
+
+	append-flags "-m32"
+
+	cmake_src_configure
+}
+
+pkg_postinst() {
+	optfeature "OpenGL for GLES devices" \
+		"media-libs/gl4es"
+}

diff --git a/app-emulation/box86/metadata.xml b/app-emulation/box86/metadata.xml
new file mode 100644
index 000000000..bba51e27a
--- /dev/null
+++ b/app-emulation/box86/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>rrogalski@tutanota.com</email>
+		<name>Richard Rogalski</name>
+	</maintainer>
+
+	<use>
+		<flag name="aot">Enables the dynamic ahead of time recompiler for increased performance on ARM</flag>
+	</use>
+	<upstream>
+		<remote-id type="github">ptitSeb/box86</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] repo/proj/guru:master commit in: app-emulation/box86/
@ 2024-09-03 10:53 David Roman
  0 siblings, 0 replies; 2+ messages in thread
From: David Roman @ 2024-09-03 10:53 UTC (permalink / raw
  To: gentoo-commits

commit:     267c2bbeac133599ef3b6b95aff522d5bf1c3e0b
Author:     Richard-Rogalski <rrogalski <AT> tutanota <DOT> com>
AuthorDate: Mon Sep  2 17:14:43 2024 +0000
Commit:     David Roman <davidroman96 <AT> gmail <DOT> com>
CommitDate: Mon Sep  2 17:18:32 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=267c2bbe

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

Signed-off-by: Richard Rogalski <rrogalski <AT> tutanota.com>

 app-emulation/box86/Manifest           |  1 +
 app-emulation/box86/box86-0.3.0.ebuild | 28 ++++++++++++---
 app-emulation/box86/box86-0.3.6.ebuild | 57 +++++++++++++++++++++++++++++++
 app-emulation/box86/box86-9999.ebuild  | 62 ++++++++++++++++++++++++++++++++++
 4 files changed, 144 insertions(+), 4 deletions(-)

diff --git a/app-emulation/box86/Manifest b/app-emulation/box86/Manifest
index 608cb619f..8231c3893 100644
--- a/app-emulation/box86/Manifest
+++ b/app-emulation/box86/Manifest
@@ -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

diff --git a/app-emulation/box86/box86-0.3.0.ebuild b/app-emulation/box86/box86-0.3.0.ebuild
index b37b661ec..ec6db7e10 100644
--- a/app-emulation/box86/box86-0.3.0.ebuild
+++ b/app-emulation/box86/box86-0.3.0.ebuild
@@ -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=(

diff --git a/app-emulation/box86/box86-0.3.6.ebuild b/app-emulation/box86/box86-0.3.6.ebuild
new file mode 100644
index 000000000..e921d4b7b
--- /dev/null
+++ b/app-emulation/box86/box86-0.3.6.ebuild
@@ -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"
+}

diff --git a/app-emulation/box86/box86-9999.ebuild b/app-emulation/box86/box86-9999.ebuild
new file mode 100644
index 000000000..fc426c76a
--- /dev/null
+++ b/app-emulation/box86/box86-9999.ebuild
@@ -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"
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-09-03 10:53 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-03 10:53 [gentoo-commits] repo/proj/guru:master commit in: app-emulation/box86/ David Roman
  -- strict thread matches above, loose matches on Subject: below --
2023-07-16  6:18 Haelwenn Monnier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox