public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/proj/guru:dev commit in: app-containers/waydroid-images/
@ 2024-03-22 22:34 Esteve Varela Colominas
  0 siblings, 0 replies; 6+ messages in thread
From: Esteve Varela Colominas @ 2024-03-22 22:34 UTC (permalink / raw
  To: gentoo-commits

commit:     727961fbdcfa8bf980d7d11b6db5f8c27cd5db69
Author:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
AuthorDate: Fri Mar 22 22:24:09 2024 +0000
Commit:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
CommitDate: Fri Mar 22 22:34:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=727961fb

app-containers/waydroid-images: new package, add 9999

Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com>

 app-containers/waydroid-images/metadata.xml        |  18 ++
 .../waydroid-images/waydroid-images-9999.ebuild    | 184 +++++++++++++++++++++
 2 files changed, 202 insertions(+)

diff --git a/app-containers/waydroid-images/metadata.xml b/app-containers/waydroid-images/metadata.xml
new file mode 100644
index 0000000000..850f77c386
--- /dev/null
+++ b/app-containers/waydroid-images/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+  <maintainer type="person">
+    <email>esteve.varela@gmail.com</email>
+    <name>Esteve Varela Colominas</name>
+  </maintainer>
+  <use>
+    <flag name="system-vanilla">Use the VANILLA variant of system.img</flag>
+    <flag name="system-gapps">Use the GAPPS variant of system.img</flag>
+    <flag name="vendor-mainline">Use the MAINLINE variant of vendor.img</flag>
+    <flag name="vendor-halium">Use the HALIUM_11 variant of vendor.img</flag>
+  </use>
+  <upstream>
+    <remote-id type="github">waydroid/waydroid</remote-id>
+    <remote-id type="sourceforge">waydroid</remote-id>
+  </upstream>
+</pkgmetadata>

diff --git a/app-containers/waydroid-images/waydroid-images-9999.ebuild b/app-containers/waydroid-images/waydroid-images-9999.ebuild
new file mode 100644
index 0000000000..62fa9c3f4a
--- /dev/null
+++ b/app-containers/waydroid-images/waydroid-images-9999.ebuild
@@ -0,0 +1,184 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{8..12} )
+
+inherit python-any-r1
+
+DESCRIPTION="Manage images for app-containers/waydroid using portage"
+HOMEPAGE="https://sourceforge.net/projects/waydroid/files/images"
+
+if [[ ${PV} == 9999 ]]; then
+	PROPERTIES="live"
+else
+	# Generate using:
+	# WAYDROID_GEN_SRC_URI=y ebuild waydroid-images-9999.ebuild clean unpack
+	#SRC_URI=""
+	KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+fi
+S="${WORKDIR}"
+
+# https://source.android.com/docs/setup/about/faqs#what-kind-of-open-source-project-is-android
+LICENSE="Apache-2.0"
+
+SLOT="0"
+IUSE="+system-vanilla system-gapps +vendor-mainline vendor-halium"
+REQUIRED_USE="
+	^^ ( system-vanilla system-gapps )
+	^^ ( vendor-mainline vendor-halium )
+"
+
+RDEPEND="app-containers/waydroid"
+
+if [[ ${PV} == 9999 ]]; then
+	BDEPEND+="
+		net-misc/wget
+		${PYTHON_DEPS}
+	"
+fi
+
+waydroid_arch() {
+	case "${1:-${ARCH}}" in
+		amd64) echo "x86_64" ;;
+		arm) echo "arm" ;;
+		arm64) echo "arm64" ;;
+		x86) echo "x86" ;;
+		*) die "Unsupported architecture"
+	esac
+}
+
+waydroid_ota_info() {
+	local ota_url="${1}"
+	local ota_file="${2}"
+
+	[[ ${EVCS_OFFLINE} ]] || wget -q -O "${ota_file}" "${ota_url}" || die
+	[[ -f ${ota_file} ]] || die "OTA information unavailable: ${ota_file}"
+
+	cat "${ota_file}" | \
+		python3 -c 'import sys,json;j=json.load(sys.stdin)["response"][0];\
+		print(*(j[x] for x in ["filename","id","url"]),sep="\0",end="")' || die
+}
+
+waydroid_ota_info_system() {
+	local system_channel="https://ota.waydro.id/system"
+	local rom_type="lineage"
+	local system_type="${1}"
+	local system_ota="${system_channel}/${rom_type}/waydroid_${MY_ARCH}/${system_type}.json"
+	local system_file="${WAYDROID_STORE_DIR}/system_${rom_type}_${system_type}_${MY_ARCH}.json"
+
+	waydroid_ota_info "${system_ota}" "${system_file}"
+}
+
+waydroid_ota_info_vendor() {
+	local vendor_channel="https://ota.waydro.id/vendor"
+	local vendor_type="${1}"
+	local vendor_ota="${vendor_channel}/waydroid_${MY_ARCH}/${vendor_type}.json"
+	local vendor_file="${WAYDROID_STORE_DIR}/vendor_${vendor_type}_${MY_ARCH}.json"
+
+	waydroid_ota_info "${vendor_ota}" "${vendor_file}"
+}
+
+waydroid_download_image() {
+	local dl_file="${1}"
+	local dl_filename="${2}"
+	local dl_hash="${3}"
+	local dl_url="${4}"
+
+	local newhash=""
+	if [[ -f ${dl_file} ]]; then
+		ebegin "${dl_filename} SHA256"
+		newhash="$(sha256sum "${dl_file}" 2>/dev/null | cut -f1 -d\ )"
+		if [[ ${newhash} == ${dl_hash} ]]; then
+			eend 0
+			return
+		fi
+		eend 1
+	fi
+
+	if [[ ! ${EVCS_OFFLINE} ]]; then
+		wget -O "${dl_file}" "${dl_url}" || die
+
+		ebegin "${dl_filename} SHA256"
+		newhash="$(sha256sum "${dl_file}" 2>/dev/null | cut -f1 -d\ )"
+		if [[ ${newhash} == ${dl_hash} ]]; then
+			eend 0
+			return
+		fi
+		eend 1
+	fi
+
+	[[ -f ${dl_file} ]] || die "File not available: ${dl_file}"
+	eerror "Expected: ${newhash}"
+	eerror "Got: ${dl_hash}"
+	die "Checksum mismatch for ${dl_file}"
+}
+
+waydroid_download_system() {
+	declare -a ota_info
+	readarray -d '' ota_info < <(waydroid_ota_info_system "$@")
+	local file="${WAYDROID_STORE_DIR}/${ota_info[0]}"
+	MY_A+=( "${file}" )
+	waydroid_download_image "$file" "${ota_info[@]}"
+}
+
+waydroid_download_vendor() {
+	declare -a ota_info
+	readarray -d '' ota_info < <(waydroid_ota_info_vendor "$@")
+	local file="${WAYDROID_STORE_DIR}/${ota_info[0]}"
+	MY_A+=( "${file}" )
+	waydroid_download_image "${file}" "${ota_info[@]}"
+}
+
+waydroid_gen_src_uri() {
+	for arch in amd64 arm arm64 x86; do
+		MY_ARCH="$(waydroid_arch "${arch}")"
+		printf "\n\t%s? (" "${arch}"
+
+		declare -a ota_info
+		readarray -d '' ota_info < <(waydroid_ota_info_system VANILLA)
+		printf "\n\t\tsystem-vanilla? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
+		readarray -d '' ota_info < <(waydroid_ota_info_system GAPPS)
+		printf "\n\t\tsystem-gapps? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
+		readarray -d '' ota_info < <(waydroid_ota_info_vendor MAINLINE)
+		printf "\n\t\tvendor-mainline? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
+		readarray -d '' ota_info < <(waydroid_ota_info_vendor HALIUM_11)
+		printf "\n\t\tvendor-halium? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
+
+		printf "\n\t)"
+	done
+	printf "\n\n"
+}
+
+if [[ ${PV} == 9999 ]]; then
+src_unpack() {
+	local distdir=${PORTAGE_ACTUAL_DISTDIR:-${DISTDIR}}
+	: "${WAYDROID_STORE_DIR:=${distdir}/waydroid}"
+	if [[ ! -d ${WAYDROID_STORE_DIR} && ! ${EVCS_OFFLINE} ]]; then
+		(
+			addwrite /
+			mkdir -p "${WAYDROID_STORE_DIR}"
+		) || die "Unable to create ${WAYDROID_STORE_DIR}"
+	fi
+	addwrite "${WAYDROID_STORE_DIR}"
+
+	if [[ ${WAYDROID_GEN_SRC_URI} ]]; then
+		waydroid_gen_src_uri
+		die
+	fi
+
+	MY_ARCH="$(waydroid_arch)"
+	MY_A=()
+	use system-vanilla && waydroid_download_system VANILLA
+	use system-gapps && waydroid_download_system GAPPS
+	use vendor-mainline && waydroid_download_vendor MAINLINE
+	use vendor-halium && waydroid_download_vendor HALIUM_11
+	unpack "${MY_A[@]}"
+}
+fi
+
+src_install() {
+	insinto /usr/share/waydroid-extra/images
+	doins system.img vendor.img
+}


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

* [gentoo-commits] repo/proj/guru:dev commit in: app-containers/waydroid-images/
@ 2024-04-22 12:03 Esteve Varela Colominas
  0 siblings, 0 replies; 6+ messages in thread
From: Esteve Varela Colominas @ 2024-04-22 12:03 UTC (permalink / raw
  To: gentoo-commits

commit:     6a7ac2a3fb18324019b80c76b8a183e1049a4f03
Author:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
AuthorDate: Mon Apr 22 12:01:02 2024 +0000
Commit:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
CommitDate: Mon Apr 22 12:03:16 2024 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=6a7ac2a3

app-containers/waydroid-images: Add unzip as a BDEPEND

Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com>

 app-containers/waydroid-images/waydroid-images-9999.ebuild | 1 +
 1 file changed, 1 insertion(+)

diff --git a/app-containers/waydroid-images/waydroid-images-9999.ebuild b/app-containers/waydroid-images/waydroid-images-9999.ebuild
index 62fa9c3f4a..b9f54c5ad7 100644
--- a/app-containers/waydroid-images/waydroid-images-9999.ebuild
+++ b/app-containers/waydroid-images/waydroid-images-9999.ebuild
@@ -31,6 +31,7 @@ REQUIRED_USE="
 "
 
 RDEPEND="app-containers/waydroid"
+BDEPEND="app-arch/unzip"
 
 if [[ ${PV} == 9999 ]]; then
 	BDEPEND+="


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

* [gentoo-commits] repo/proj/guru:dev commit in: app-containers/waydroid-images/
@ 2025-05-17  0:01 Esteve Varela Colominas
  0 siblings, 0 replies; 6+ messages in thread
From: Esteve Varela Colominas @ 2025-05-17  0:01 UTC (permalink / raw
  To: gentoo-commits

commit:     97941bffff02cc94fca3876332a5e2571e65a9f5
Author:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
AuthorDate: Fri May 16 23:59:56 2025 +0000
Commit:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
CommitDate: Sat May 17 00:01:35 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=97941bff

app-containers/waydroid-images: Small refactor

In preparation of the upcoming release of android 13 for waydroid, which
can already be obtained from sourceforge. Only waiting for an OTA
server.

Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com>

 .../waydroid-images/waydroid-images-9999.ebuild    | 50 ++++++++++++++--------
 1 file changed, 31 insertions(+), 19 deletions(-)

diff --git a/app-containers/waydroid-images/waydroid-images-9999.ebuild b/app-containers/waydroid-images/waydroid-images-9999.ebuild
index 980b797d5..88c1e8ba0 100644
--- a/app-containers/waydroid-images/waydroid-images-9999.ebuild
+++ b/app-containers/waydroid-images/waydroid-images-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{11..12} )
+PYTHON_COMPAT=( python3_{11..13} )
 
 inherit python-any-r1
 
@@ -50,6 +50,13 @@ waydroid_arch() {
 	esac
 }
 
+waydroid_version() {
+	echo "18.1"
+	#use android-11 && echo "18.1" || \
+	#use android-13 && echo "20.0" || \
+	#die "Unknown version"
+}
+
 waydroid_ota_info() {
 	local ota_url="${1}"
 	local ota_file="${2}"
@@ -63,20 +70,24 @@ waydroid_ota_info() {
 }
 
 waydroid_ota_info_system() {
+	local arch="${1}"
 	local system_channel="https://ota.waydro.id/system"
 	local rom_type="lineage"
-	local system_type="${1}"
-	local system_ota="${system_channel}/${rom_type}/waydroid_${MY_ARCH}/${system_type}.json"
-	local system_file="${WAYDROID_STORE_DIR}/system_${rom_type}_${system_type}_${MY_ARCH}.json"
+	local version="${2:-18.1}"
+	local system_type="${3}"
+	local system_ota="${system_channel}/${rom_type}/waydroid_${arch}/${system_type}.json"
+	local system_file="${WAYDROID_STORE_DIR}/system_${rom_type}_${version}_${system_type}_${arch}.json"
 
 	waydroid_ota_info "${system_ota}" "${system_file}"
 }
 
 waydroid_ota_info_vendor() {
+	local arch="${1}"
 	local vendor_channel="https://ota.waydro.id/vendor"
-	local vendor_type="${1}"
-	local vendor_ota="${vendor_channel}/waydroid_${MY_ARCH}/${vendor_type}.json"
-	local vendor_file="${WAYDROID_STORE_DIR}/vendor_${vendor_type}_${MY_ARCH}.json"
+	local version="${2:-18.1}"
+	local vendor_type="${3}"
+	local vendor_ota="${vendor_channel}/waydroid_${arch}/${vendor_type}.json"
+	local vendor_file="${WAYDROID_STORE_DIR}/vendor_${version}_${vendor_type}_${arch}.json"
 
 	waydroid_ota_info "${vendor_ota}" "${vendor_file}"
 }
@@ -133,18 +144,18 @@ waydroid_download_vendor() {
 }
 
 waydroid_gen_src_uri() {
-	for arch in amd64 arm arm64 x86; do
-		MY_ARCH="$(waydroid_arch "${arch}")"
-		printf "\n\t%s? (" "${arch}"
+	for gentoo_arch in amd64 arm arm64 x86; do
+		local arch="$(waydroid_arch "${gentoo_arch}")"
+		printf "\n\t%s? (" "${gentoo_arch}"
 
 		declare -a ota_info
-		readarray -d '' ota_info < <(waydroid_ota_info_system VANILLA)
+		readarray -d '' ota_info < <(waydroid_ota_info_system "${arch}" 18.1 VANILLA)
 		printf "\n\t\tsystem-vanilla? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
-		readarray -d '' ota_info < <(waydroid_ota_info_system GAPPS)
+		readarray -d '' ota_info < <(waydroid_ota_info_system "${arch}" 18.1 GAPPS)
 		printf "\n\t\tsystem-gapps? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
-		readarray -d '' ota_info < <(waydroid_ota_info_vendor MAINLINE)
+		readarray -d '' ota_info < <(waydroid_ota_info_vendor "${arch}" 18.1 MAINLINE)
 		printf "\n\t\tvendor-mainline? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
-		readarray -d '' ota_info < <(waydroid_ota_info_vendor HALIUM_11)
+		readarray -d '' ota_info < <(waydroid_ota_info_vendor "${arch}" 18.1 HALIUM_11)
 		printf "\n\t\tvendor-halium? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
 
 		printf "\n\t)"
@@ -169,12 +180,13 @@ src_unpack() {
 		die
 	fi
 
-	MY_ARCH="$(waydroid_arch)"
+	local arch="$(waydroid_arch)"
+	local version="$(waydroid_version)"
 	MY_A=()
-	use system-vanilla && waydroid_download_system VANILLA
-	use system-gapps && waydroid_download_system GAPPS
-	use vendor-mainline && waydroid_download_vendor MAINLINE
-	use vendor-halium && waydroid_download_vendor HALIUM_11
+	use system-vanilla && waydroid_download_system "${arch}" "${version}" VANILLA
+	use system-gapps && waydroid_download_system "${arch}" "${version}" GAPPS
+	use vendor-mainline && waydroid_download_vendor "${arch}" "${version}" MAINLINE
+	use vendor-halium && waydroid_download_vendor "${arch}" "${version}" HALIUM_11
 	unpack "${MY_A[@]}"
 }
 fi


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

* [gentoo-commits] repo/proj/guru:dev commit in: app-containers/waydroid-images/
@ 2025-05-20 12:31 Brayan
  0 siblings, 0 replies; 6+ messages in thread
From: Brayan @ 2025-05-20 12:31 UTC (permalink / raw
  To: gentoo-commits

commit:     f3be776b16219d54655e043023017367e8b33743
Author:     Brayan M. Salazar <this.brayan <AT> proton <DOT> me>
AuthorDate: Tue May 20 12:26:40 2025 +0000
Commit:     Brayan <this.brayan <AT> proton <DOT> me>
CommitDate: Tue May 20 12:26:40 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=f3be776b

app-containers/waydroid-images: enable py3.14

Signed-off-by: Brayan M. Salazar <this.brayan <AT> proton.me>

 app-containers/waydroid-images/waydroid-images-9999.ebuild | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app-containers/waydroid-images/waydroid-images-9999.ebuild b/app-containers/waydroid-images/waydroid-images-9999.ebuild
index 88c1e8ba0..a357bc93f 100644
--- a/app-containers/waydroid-images/waydroid-images-9999.ebuild
+++ b/app-containers/waydroid-images/waydroid-images-9999.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=8
 
-PYTHON_COMPAT=( python3_{11..13} )
+PYTHON_COMPAT=( python3_{11..14} )
 
 inherit python-any-r1
 


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

* [gentoo-commits] repo/proj/guru:dev commit in: app-containers/waydroid-images/
@ 2025-09-27 15:48 Esteve Varela Colominas
  0 siblings, 0 replies; 6+ messages in thread
From: Esteve Varela Colominas @ 2025-09-27 15:48 UTC (permalink / raw
  To: gentoo-commits

commit:     21e46f5c22030501134eeecb94ec4895501e61b0
Author:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
AuthorDate: Sat Sep 27 15:46:06 2025 +0000
Commit:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
CommitDate: Sat Sep 27 15:48:39 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=21e46f5c

app-containers/waydroid-images: Improve version selection

Now you can actually select a system version!

Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com>

 app-containers/waydroid-images/metadata.xml        |   5 +-
 .../waydroid-images/waydroid-images-9999.ebuild    | 128 ++++++++++++++-------
 2 files changed, 93 insertions(+), 40 deletions(-)

diff --git a/app-containers/waydroid-images/metadata.xml b/app-containers/waydroid-images/metadata.xml
index 850f77c386..61677fa647 100644
--- a/app-containers/waydroid-images/metadata.xml
+++ b/app-containers/waydroid-images/metadata.xml
@@ -9,7 +9,10 @@
     <flag name="system-vanilla">Use the VANILLA variant of system.img</flag>
     <flag name="system-gapps">Use the GAPPS variant of system.img</flag>
     <flag name="vendor-mainline">Use the MAINLINE variant of vendor.img</flag>
-    <flag name="vendor-halium">Use the HALIUM_11 variant of vendor.img</flag>
+    <flag name="vendor-halium">Use the HALIUM variant of vendor.img</flag>
+    <flag name="android-10">Install Android version 10</flag>
+    <flag name="android-11">Install Android version 11</flag>
+    <flag name="android-13">Install Android version 13</flag>
   </use>
   <upstream>
     <remote-id type="github">waydroid/waydroid</remote-id>

diff --git a/app-containers/waydroid-images/waydroid-images-9999.ebuild b/app-containers/waydroid-images/waydroid-images-9999.ebuild
index a357bc93fe..4f7465146f 100644
--- a/app-containers/waydroid-images/waydroid-images-9999.ebuild
+++ b/app-containers/waydroid-images/waydroid-images-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 PYTHON_COMPAT=( python3_{11..14} )
 
-inherit python-any-r1
+inherit edo python-any-r1
 
 DESCRIPTION="Manage images for app-containers/waydroid using portage"
 HOMEPAGE="https://sourceforge.net/projects/waydroid/files/images"
@@ -24,10 +24,17 @@ S="${WORKDIR}"
 LICENSE="Apache-2.0"
 
 SLOT="0"
-IUSE="+system-vanilla system-gapps +vendor-mainline vendor-halium"
+IUSE="+system-vanilla system-gapps +vendor-mainline vendor-halium android-10 android-11 +android-13"
 REQUIRED_USE="
 	^^ ( system-vanilla system-gapps )
 	^^ ( vendor-mainline vendor-halium )
+	^^ ( android-10 android-11 android-13 )
+	vendor-halium? (
+		amd64? ( || ( android-11 ) )
+		arm? ( || ( android-10 android-11 android-13 ) )
+		arm64? ( || ( android-10 android-11 android-13 ) )
+		x86? ( || ( android-11 ) )
+	)
 "
 
 RDEPEND="app-containers/waydroid"
@@ -40,56 +47,72 @@ if [[ ${PV} == 9999 ]]; then
 	"
 fi
 
+waydroid_allarches=( amd64 arm arm64 x86 )
 waydroid_arch() {
 	case "${1:-${ARCH}}" in
-		amd64) echo "x86_64" ;;
-		arm) echo "arm" ;;
-		arm64) echo "arm64" ;;
-		x86) echo "x86" ;;
+		amd64) echo x86_64 ;;
+		arm) echo arm ;;
+		arm64) echo arm64 ;;
+		x86) echo x86 ;;
 		*) die "Unsupported architecture"
 	esac
 }
 
+waydroid_allversions=( android-10 android-11 android-13 )
 waydroid_version() {
-	echo "18.1"
-	#use android-11 && echo "18.1" || \
-	#use android-13 && echo "20.0" || \
-	#die "Unknown version"
+	local ver="${1:-$(for x in "${waydroid_allversions[@]}"; do usev "${x}"; done)}"
+	case "${ver}" in
+		android-10) echo 17.1 ;;
+		android-11) echo 18.1 ;;
+		android-13) echo 20.0 ;;
+		*) die "Unknown version"
+	esac
+}
+
+waydroid_halium() {
+	case "${1:-$(waydroid_arch)}-${2:-$(waydroid_version)}" in
+		arm-17.1|arm64-17.1) echo HALIUM_10 ;;
+		*-18.1) echo HALIUM_11 ;;
+		arm-20.0|arm64-20.0) echo HALIUM_13 ;;
+	esac
 }
 
 waydroid_ota_info() {
-	local ota_url="${1}"
-	local ota_file="${2}"
+	local version="${1}"
+	local ota_url="${2}"
+	local ota_file="${3}"
 
-	[[ ${EVCS_OFFLINE} ]] || wget -q -O "${ota_file}" "${ota_url}" || die
+	[[ ${EVCS_OFFLINE} ]] || edo wget -q -O "${ota_file}" "${ota_url}"
 	[[ -f ${ota_file} ]] || die "OTA information unavailable: ${ota_file}"
 
 	cat "${ota_file}" | \
-		python3 -c 'import sys,json;j=json.load(sys.stdin)["response"][0];\
-		print(*(j[x] for x in ["filename","id","url"]),sep="\0",end="")' || die
+		python3 -c 'import sys,json;j=json.load(sys.stdin)["response"];\
+		j=[x for x in j if x["version"]==sys.argv[1]][0];\
+		print(*(j[x] for x in ["filename","id","url"]),sep="\0",end="")' \
+		"${version}" || die
 }
 
 waydroid_ota_info_system() {
 	local arch="${1}"
 	local system_channel="https://ota.waydro.id/system"
 	local rom_type="lineage"
-	local version="${2:-18.1}"
+	local version="${2}"
 	local system_type="${3}"
 	local system_ota="${system_channel}/${rom_type}/waydroid_${arch}/${system_type}.json"
-	local system_file="${WAYDROID_STORE_DIR}/system_${rom_type}_${version}_${system_type}_${arch}.json"
+	local system_file="${WAYDROID_STORE_DIR}/system_${rom_type}_${system_type}_${arch}.json"
 
-	waydroid_ota_info "${system_ota}" "${system_file}"
+	waydroid_ota_info "${version}" "${system_ota}" "${system_file}"
 }
 
 waydroid_ota_info_vendor() {
 	local arch="${1}"
 	local vendor_channel="https://ota.waydro.id/vendor"
-	local version="${2:-18.1}"
+	local version="${2}"
 	local vendor_type="${3}"
 	local vendor_ota="${vendor_channel}/waydroid_${arch}/${vendor_type}.json"
-	local vendor_file="${WAYDROID_STORE_DIR}/vendor_${version}_${vendor_type}_${arch}.json"
+	local vendor_file="${WAYDROID_STORE_DIR}/vendor_${vendor_type}_${arch}.json"
 
-	waydroid_ota_info "${vendor_ota}" "${vendor_file}"
+	waydroid_ota_info "${version}" "${vendor_ota}" "${vendor_file}"
 }
 
 waydroid_download_image() {
@@ -110,7 +133,7 @@ waydroid_download_image() {
 	fi
 
 	if [[ ! ${EVCS_OFFLINE} ]]; then
-		wget -O "${dl_file}" "${dl_url}" || die
+		edo wget -O "${dl_file}" "${dl_url}"
 
 		ebegin "${dl_filename} SHA256"
 		newhash="$(sha256sum "${dl_file}" 2>/dev/null | cut -f1 -d\ )"
@@ -144,23 +167,45 @@ waydroid_download_vendor() {
 }
 
 waydroid_gen_src_uri() {
-	for gentoo_arch in amd64 arm arm64 x86; do
-		local arch="$(waydroid_arch "${gentoo_arch}")"
-		printf "\n\t%s? (" "${gentoo_arch}"
-
-		declare -a ota_info
-		readarray -d '' ota_info < <(waydroid_ota_info_system "${arch}" 18.1 VANILLA)
-		printf "\n\t\tsystem-vanilla? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
-		readarray -d '' ota_info < <(waydroid_ota_info_system "${arch}" 18.1 GAPPS)
-		printf "\n\t\tsystem-gapps? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
-		readarray -d '' ota_info < <(waydroid_ota_info_vendor "${arch}" 18.1 MAINLINE)
-		printf "\n\t\tvendor-mainline? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
-		readarray -d '' ota_info < <(waydroid_ota_info_vendor "${arch}" 18.1 HALIUM_11)
-		printf "\n\t\tvendor-halium? ( %s -> %s )" "${ota_info[2]}" "${ota_info[0]}"
-
-		printf "\n\t)"
+	local t="${T}/src_uri"
+	rm -f "${t}"; touch "${t}"
+	for gentoo_version in "${waydroid_allversions[@]}"; do
+		local version="$(waydroid_version "${gentoo_version}")"
+		printf "\n\t%s? (" "${gentoo_version}" >> "${t}"
+		for gentoo_arch in "${waydroid_allarches[@]}"; do
+			local arch="$(waydroid_arch "${gentoo_arch}")"
+			printf "\n\t\t%s? (" "${gentoo_arch}" >> "${t}"
+			declare -a ota_info
+
+			readarray -d '' ota_info < \
+				<(waydroid_ota_info_system "${arch}" "${version}" VANILLA)
+			printf "\n\t\t\tsystem-vanilla? ( %s -> %s )" \
+				"${ota_info[2]}" "${ota_info[0]}" >> "${t}"
+
+			readarray -d '' ota_info < \
+				<(waydroid_ota_info_system "${arch}" "${version}" GAPPS)
+			printf "\n\t\t\tsystem-gapps? ( %s -> %s )" \
+				"${ota_info[2]}" "${ota_info[0]}" >> "${t}"
+
+			readarray -d '' ota_info < \
+				<(waydroid_ota_info_vendor "${arch}" "${version}" MAINLINE)
+			printf "\n\t\t\tvendor-mainline? ( %s -> %s )" \
+				"${ota_info[2]}" "${ota_info[0]}" >> "${t}"
+
+			local halium="$(waydroid_halium "${arch}" "${version}")"
+			if [[ ${halium} ]]; then
+				readarray -d '' ota_info < \
+					<(waydroid_ota_info_vendor "${arch}" "${version}" "${halium}")
+				printf "\n\t\t\tvendor-halium? ( %s -> %s )" \
+					"${ota_info[2]}" "${ota_info[0]}" >> "${t}"
+			fi
+
+			printf "\n\t\t)" >> "${t}"
+		done
+		printf "\n\t)" >> "${t}"
 	done
-	printf "\n\n"
+	printf "\n\n" >> "${t}"
+	cat "${t}"
 }
 
 if [[ ${PV} == 9999 ]]; then
@@ -182,11 +227,16 @@ src_unpack() {
 
 	local arch="$(waydroid_arch)"
 	local version="$(waydroid_version)"
+	local halium="$(waydroid_halium "${arch}" "${version}")"
 	MY_A=()
 	use system-vanilla && waydroid_download_system "${arch}" "${version}" VANILLA
 	use system-gapps && waydroid_download_system "${arch}" "${version}" GAPPS
 	use vendor-mainline && waydroid_download_vendor "${arch}" "${version}" MAINLINE
-	use vendor-halium && waydroid_download_vendor "${arch}" "${version}" HALIUM_11
+	if use vendor-halium && [[ ! ${halium} ]]; then
+		die "USE=vendor-halium is unavailable for the selected version"
+	else
+		waydroid_download_vendor "${arch}" "${version}" "${halium}"
+	fi
 	unpack "${MY_A[@]}"
 }
 fi


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

* [gentoo-commits] repo/proj/guru:dev commit in: app-containers/waydroid-images/
@ 2025-10-02 14:14 Esteve Varela Colominas
  0 siblings, 0 replies; 6+ messages in thread
From: Esteve Varela Colominas @ 2025-10-02 14:14 UTC (permalink / raw
  To: gentoo-commits

commit:     7237a8c73549c6dedb94c877cee7ccf2d4594c25
Author:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
AuthorDate: Thu Oct  2 14:06:19 2025 +0000
Commit:     Esteve Varela Colominas <esteve.varela <AT> gmail <DOT> com>
CommitDate: Thu Oct  2 14:14:33 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=7237a8c7

app-containers/waydroid-images: Fix halium logic

Signed-off-by: Esteve Varela Colominas <esteve.varela <AT> gmail.com>

 app-containers/waydroid-images/waydroid-images-9999.ebuild | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/app-containers/waydroid-images/waydroid-images-9999.ebuild b/app-containers/waydroid-images/waydroid-images-9999.ebuild
index 4f7465146f..d9d0a3edd7 100644
--- a/app-containers/waydroid-images/waydroid-images-9999.ebuild
+++ b/app-containers/waydroid-images/waydroid-images-9999.ebuild
@@ -232,9 +232,8 @@ src_unpack() {
 	use system-vanilla && waydroid_download_system "${arch}" "${version}" VANILLA
 	use system-gapps && waydroid_download_system "${arch}" "${version}" GAPPS
 	use vendor-mainline && waydroid_download_vendor "${arch}" "${version}" MAINLINE
-	if use vendor-halium && [[ ! ${halium} ]]; then
-		die "USE=vendor-halium is unavailable for the selected version"
-	else
+	if use vendor-halium; then
+		[[ ${halium} ]] || die "USE=vendor-halium is unavailable for the selected version"
 		waydroid_download_vendor "${arch}" "${version}" "${halium}"
 	fi
 	unpack "${MY_A[@]}"


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

end of thread, other threads:[~2025-10-02 14:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-02 14:14 [gentoo-commits] repo/proj/guru:dev commit in: app-containers/waydroid-images/ Esteve Varela Colominas
  -- strict thread matches above, loose matches on Subject: below --
2025-09-27 15:48 Esteve Varela Colominas
2025-05-20 12:31 Brayan
2025-05-17  0:01 Esteve Varela Colominas
2024-04-22 12:03 Esteve Varela Colominas
2024-03-22 22:34 Esteve Varela Colominas

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