From bb24c491dc557b8bf5d530d54a085e986816da30 Mon Sep 17 00:00:00 2001 From: Alfred Wingate Date: Sun, 21 Mar 2021 18:17:15 +0200 Subject: [PATCH] app-emulation/anbox: bump snapshot, update to work correctly Package-Manager: Portage-3.0.13, Repoman-3.0.2 Signed-off-by: Alfred Wingate --- app-emulation/anbox/Manifest | 1 + .../anbox/anbox-0_pre20210320.ebuild | 125 ++++++++++++++++++ app-emulation/anbox/anbox-9999.ebuild | 3 +- 3 files changed, 128 insertions(+), 1 deletion(-) create mode 100644 app-emulation/anbox/anbox-0_pre20210320.ebuild diff --git a/app-emulation/anbox/Manifest b/app-emulation/anbox/Manifest index 81369a9..d2cc55e 100644 --- a/app-emulation/anbox/Manifest +++ b/app-emulation/anbox/Manifest @@ -1,2 +1,3 @@ DIST anbox-0_pre20201129.tar.gz 1024707 BLAKE2B 38153bdc3c011b726bbffefeb9ca439398988945a6f19265d2c6ebd424308a37fa321ab0685660cc67bedf7edbc8793c7cb0c179a5b31dd7aa640cc5286442eb SHA512 c4878745b62719c6cbecde047386858bd2ec7a5dbd37462967cab60fd118f31b89c157b4a00412b51bf130c7b46a83a3c3ab5162ee13baa0e789f773649e8745 +DIST anbox-0_pre20210320.tar.gz 1024515 BLAKE2B 7e25e15ee598dafc5fd3918e59bdd7808ca32f0a7546316529b145fe8cf985cf77ecf3a95a735b2885676aa759ba4bd4801322e69cbf32590119ea62ecf7cf73 SHA512 89d31043047c1e25b2789638dddd5ea49d9fd754e0baa573c073c3c454e3a6e6f1e3bea6e4a632d6c3942d3a206741bc62f7db6e435c8be34856915dc4b27464 DIST cpu_features-b9593c8b395318bb2bc42683a94f962564cc4664.tar.gz 55211 BLAKE2B b49714863cbebfde09e6ab99f31d9aaace367d84df9ecb12989fffc1326c9c60cfa14d917e490332c2a0b2a3fe267b6327b719652afba9bfa1654fc2564408b8 SHA512 8c12b50741e2979a32b69c788934bee0d00811b7662006c8b493e98d5efeada67ed59460be40c234b2d3bafd85671cb1a1d7c1a6ee535a7fc1cc6ac56a754576 diff --git a/app-emulation/anbox/anbox-0_pre20210320.ebuild b/app-emulation/anbox/anbox-0_pre20210320.ebuild new file mode 100644 index 0000000..99b81cb --- /dev/null +++ b/app-emulation/anbox/anbox-0_pre20210320.ebuild @@ -0,0 +1,125 @@ +# Copyright 2020-2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit linux-info systemd cmake + +DESCRIPTION="Container-based approach to boot a full Android system" +HOMEPAGE="https://anbox.io/" + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/anbox/anbox.git" + EGIT_SUBMODULES=( 'external/cpu_features' ) + EGIT_COMMIT_DATE="${PV}" +else + COMMIT="9de4e87cdd05135e1c71e6eadb68bf82719cebdf" # 20.03.2021 + EXTCOMMIT="b9593c8b395318bb2bc42683a94f962564cc4664" + SRC_URI=" + https://github.com/anbox/anbox/archive/"${COMMIT}".tar.gz -> "${P}".tar.gz + https://github.com/google/cpu_features/archive/"${EXTCOMMIT}".tar.gz -> cpu_features-"${EXTCOMMIT}".tar.gz + " + S=""${WORKDIR}"/"${PN}"-"${COMMIT}"" + KEYWORDS="~amd64" +fi + +LICENSE="GPL-3" +SLOT="0" +IUSE="X wayland systemd" + +DEPEND=" + >=app-emulation/lxc-3.0.0 + dev-cpp/properties-cpp + dev-cpp/sdbus-cpp + dev-cpp/gtest + dev-libs/boost[threads] + dev-libs/expat + dev-libs/protobuf + media-libs/libsdl2 + media-libs/glm + media-libs/mesa[egl,gles2] + media-libs/sdl2-image + sys-apps/dbus + sys-fs/fuse:3 + sys-libs/libcap + || ( sys-apps/systemd sys-auth/elogind ) +" +RDEPEND="${DEPEND}" +BDEPEND="virtual/pkgconfig" + +CONFIG_CHECK=" + ~ANDROID_BINDERFS + ~ANDROID_BINDER_IPC + ~ASHMEM + ~BLK_DEV_LOOP + ~FUSE_FS + ~SQUASHFS + ~SQUASHFS_XZ + ~SQUASHFS_XATTR + ~TMPFS_XATTR +" + +PATCHES=( ""${FILESDIR}"/no_bundled_sdbus-r1.patch" ) + +pkg_pretend() { + if use !systemd; then + # Needed for anbox-bridge.sh + CONFIG_CHECK=" + ~NETFILTER_XT_MATCH_COMMENT + ~NETFILTER_XT_TARGET_CHECKSUM + " + check_extra_config + fi + # Check if ANDROID_BINDER_DEVICES has binder string specicied in it + linux_config_exists && grep -qE '(CONFIG_ANDROID_BINDER_DEVICES=*[^h][^w]binder)' "${KERNEL_DIR}"/.config || eerror " CONFIG_ANDROID_BINDER_DEVICES does not contain string 'binder'" +} + +src_prepare() { + cp "${FILESDIR}"/FindGMock.cmake "${S}"/cmake + [[ "${PV}" == "9999" ]] || mv "${WORKDIR}"/cpu_features-"${EXTCOMMIT}"/* "${S}"/external/cpu_features || die + use !systemd && eapply "${FILESDIR}"/remove_systemd_dependency.patch + cmake_src_prepare +} + +src_configure() { + local mycmakeargs=( + -DCMAKE_BUILD_TYPE=Release + -DENABLE_X11=$(usex X) + -DENABLE_WAYLAND=$(usex wayland) + -DBUILD_SHARED_LIBS=OFF + ) + [[ "${PV}" == "9999" ]] || mycmakeargs+=(-DANBOX_VERSION="${PV}") + cmake_src_configure +} + +src_install() { + cmake_src_install + newbin "${FILESDIR}"/anbox-launch.sh anbox-launch + if use systemd; then + systemd_dounit "${FILESDIR}"/anbox-{{container,session}-manager.service,bridge.net{dev,work}} + else + exeinto /usr/share/anbox + doexe "scripts/anbox-bridge.sh" + newinitd "${FILESDIR}"/anbox-container-manager.initd anbox-container-manager + newconfd "${FILESDIR}"/anbox.confd anbox + fi +} + +pkg_postinst() { + einfo "Anbox requires a specially made android image installed to /usr/share/anbox/android.img. " + einfo "You can either download it prebuilt from upstream:" + einfo " https://build.anbox.io/android-images/" + einfo "or to build it manually according to instructions:" + einfo " https://github.com/anbox/anbox/blob/master/docs/build-android.md" + einfo "" + einfo "How to get it running:" + einfo "First start the anbox-container-manager daemon" + if use systemd; then + einfo "# systemctl start anbox-container-manager" + else + einfo "# rc-service anbox-container-manager start" + fi + einfo "Then you can access the image" + einfo "$ anbox-launch" +} diff --git a/app-emulation/anbox/anbox-9999.ebuild b/app-emulation/anbox/anbox-9999.ebuild index 1170d7f..99b81cb 100644 --- a/app-emulation/anbox/anbox-9999.ebuild +++ b/app-emulation/anbox/anbox-9999.ebuild @@ -14,7 +14,7 @@ if [[ "${PV}" == "9999" ]]; then EGIT_SUBMODULES=( 'external/cpu_features' ) EGIT_COMMIT_DATE="${PV}" else - COMMIT="6c10125a7f13908d2cbe56d2d9ab09872755f265" # 29.11.2020 + COMMIT="9de4e87cdd05135e1c71e6eadb68bf82719cebdf" # 20.03.2021 EXTCOMMIT="b9593c8b395318bb2bc42683a94f962564cc4664" SRC_URI=" https://github.com/anbox/anbox/archive/"${COMMIT}".tar.gz -> "${P}".tar.gz @@ -87,6 +87,7 @@ src_configure() { -DCMAKE_BUILD_TYPE=Release -DENABLE_X11=$(usex X) -DENABLE_WAYLAND=$(usex wayland) + -DBUILD_SHARED_LIBS=OFF ) [[ "${PV}" == "9999" ]] || mycmakeargs+=(-DANBOX_VERSION="${PV}") cmake_src_configure