diff options
Diffstat (limited to 'dev-util/soong/soong-9999.ebuild')
-rw-r--r-- | dev-util/soong/soong-9999.ebuild | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/dev-util/soong/soong-9999.ebuild b/dev-util/soong/soong-9999.ebuild new file mode 100644 index 0000000..f5078cd --- /dev/null +++ b/dev-util/soong/soong-9999.ebuild @@ -0,0 +1,71 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit ninja-utils git-r3 +EGIT_REPO_URI=https://github.com/KireinaHoro/android_build_${PN} +EGIT_CHECKOUT_DIR=${WORKDIR}/${P}/build/${PN} + +A_URI=http://aosp.airelinux.org/platform/build +# blueprint is a source level dependency of soong. +MPV=8.1.0_p41 +SRC_URI="${A_URI}/blueprint/+archive/android-${MPV/p/r}.tar.gz -> blueprint-${MPV}.tar.gz + https://github.com/LineageOS/android_vendor_lineage/archive/lineage-15.1.tar.gz" +DESCRIPTION="JSON-like build system for Android." +HOMEPAGE="${A_URI}/${PN}" +LICENSE="Apache-2.0" +KEYWORDS="~amd64" +SLOT=0 + +DEPEND="dev-lang/go + dev-util/ninja" +RDEPEND="dev-lang/go" + +PATCHES=( + "${FILESDIR}"/blueprint-test-go-1.10.patch + "${FILESDIR}"/soong-9999-bootstrap-clean.patch + "${FILESDIR}"/soong-no-kernel-header.patch + "${FILESDIR}"/soong-no-bootstrap.patch +) + +src_unpack() { + git-r3_src_unpack + + mkdir -p "${S}"/vendor || die + cd "${S}"/vendor || die + unpack lineage-15.1.tar.gz + mv android_vendor_lineage-lineage-15.1 lineage || die + + mkdir -p "${S}"/build/blueprint || die + cd "${S}"/build/blueprint || die + unpack blueprint-${MPV}.tar.gz +} + +src_prepare() { + default + ln -s build/soong/root.bp Android.bp || die + ln -s build/soong/bootstrap.bash || die + + for c in vendor/lineage/*; do + [[ ${c} = */build ]] || rm -r ${c} || die + done +} + +src_compile() { + BUILDDIR="${S}"/out bash -xv build/soong/bootstrap.bash || die + eninja -v -f out/.minibootstrap/build.ninja + eninja -v -f out/.bootstrap/build.ninja + + # go run cmd/microfactory/microfactory.go -s cmd/microfactory \ + # -pkg-path android/soong=. -o out/soong_ui android/soong/cmd/soong_ui + # eninja -v -f .bootstrap/build.ninja +} + +src_install() { + dobin out/.bootstrap/bin/* + sed -n '/\/\/.*host bionic/,$p' < build/soong/Android.bp > "${T}"/Android.bp + sed '/build = \[/,+3d' < build/soong/root.bp > "${T}"/root.bp + insinto /usr/share/soong + doins "${T}"/{Android,root}.bp +} |