chromeos-base: Cleanup cros-rust ebuilds.
This enables unit testing on arm and aarch64.
BUG=chromium:1158447
TEST=CQ passes
Change-Id: Idb63ac6548d7de79b200c9e003cf832067c03518
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/chromiumos-overlay/+/2590484
Tested-by: Allen Webb <allenwebb@google.com>
Auto-Submit: Allen Webb <allenwebb@google.com>
Commit-Queue: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
diff --git a/chromeos-base/chromeos-dbus-bindings-rust/chromeos-dbus-bindings-rust-9999.ebuild b/chromeos-base/chromeos-dbus-bindings-rust/chromeos-dbus-bindings-rust-9999.ebuild
index 6816dbe..ff317db 100644
--- a/chromeos-base/chromeos-dbus-bindings-rust/chromeos-dbus-bindings-rust-9999.ebuild
+++ b/chromeos-base/chromeos-dbus-bindings-rust/chromeos-dbus-bindings-rust-9999.ebuild
@@ -3,38 +3,20 @@
EAPI=7
+CROS_RUST_SUBDIR="chromeos-dbus-bindings"
+
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="chromeos-dbus-bindings"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
inherit cros-workon cros-rust
CROS_RUST_CRATE_NAME="chromeos_dbus_bindings"
DESCRIPTION="Chrome OS D-Bus bindings generator for Rust."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/chromeos-dbus-bindings/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/chromeos-dbus-bindings/"
LICENSE="BSD-Google"
SLOT="0/${PVR}"
KEYWORDS="~*"
BDEPEND=">=dev-rust/dbus-codegen-0.5.0"
-
-src_unpack() {
- cros-workon_src_unpack
- S+="/${CROS_WORKON_SUBTREE}"
-
- cros-rust_src_unpack
-}
-
-src_compile() {
- ecargo_build
- use test && ecargo_test --no-run
-}
-
-src_test() {
- if use x86 || use amd64; then
- ecargo_test
- else
- elog "Skipping rust unit tests on non-x86 platform"
- fi
-}
diff --git a/chromeos-base/chunnel/chunnel-9999.ebuild b/chromeos-base/chunnel/chunnel-9999.ebuild
index b9666be..5d40ed0 100644
--- a/chromeos-base/chunnel/chunnel-9999.ebuild
+++ b/chromeos-base/chunnel/chunnel-9999.ebuild
@@ -2,14 +2,17 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
+CROS_RUST_SUBDIR="vm_tools/chunnel"
+
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="vm_tools/chunnel"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR}"
inherit cros-workon cros-rust user
DESCRIPTION="Tunnel between localhost in different netns"
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/vm_tools/chunnel"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/vm_tools/chunnel"
LICENSE="BSD-Google"
SLOT="0/0"
@@ -31,27 +34,13 @@
sys-apps/dbus:=
"
-src_unpack() {
- # Unpack both the project and dependency source code.
- cros-workon_src_unpack
-
- # The compilation happens in the vm_tools/chunnel subdirectory.
- S+="/vm_tools/chunnel"
-
- cros-rust_src_unpack
-}
-
src_compile() {
ecargo_build
- use test && ecargo_test --no-run
+ use test && ecargo_test --no-run --workspace
}
src_test() {
- if ! use x86 && ! use amd64 ; then
- elog "Skipping unit tests on non-x86 platform"
- else
- ecargo_test --all
- fi
+ cros-rust_src_test --workspace
}
src_install() {
diff --git a/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild b/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild
index cfc05c9..00bbd05 100644
--- a/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild
+++ b/chromeos-base/ippusb_bridge/ippusb_bridge-9999.ebuild
@@ -2,6 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_LOCALNAME="platform2"
CROS_WORKON_PROJECT="chromiumos/platform2"
@@ -35,26 +36,6 @@
>=dev-rust/tiny_http-0.7:= <dev-rust/tiny_http-0.8
"
-src_unpack() {
- cros-workon_src_unpack
- S+="/ippusb_bridge"
-
- cros-rust_src_unpack
-}
-
-src_compile() {
- ecargo_build
- use test && ecargo_test --no-run
-}
-
-src_test() {
- if use x86 || use amd64; then
- ecargo_test
- else
- elog "Skipping rust unit tests on non-x86 platform"
- fi
-}
-
src_install() {
dobin "$(cros-rust_get_build_dir)"/ippusb_bridge
diff --git a/chromeos-base/memd/memd-9999.ebuild b/chromeos-base/memd/memd-9999.ebuild
index 232249b..1993e8b 100644
--- a/chromeos-base/memd/memd-9999.ebuild
+++ b/chromeos-base/memd/memd-9999.ebuild
@@ -2,9 +2,12 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
+
+CROS_RUST_SUBDIR="metrics/memd"
+
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="metrics/memd"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} common-mk"
CROS_WORKON_INCREMENTAL_BUILD=1
CROS_WORKON_OUTOFTREE_BUILD=1
@@ -33,29 +36,6 @@
=dev-rust/tempfile-3*:=
"
-src_unpack() {
- # Unpack both the project and dependency source code.
- cros-workon_src_unpack
-
- # The compilation happens in the memd subdirectory.
- S+="/metrics/memd"
-
- cros-rust_src_unpack
-}
-
-src_compile() {
- ecargo_build
- use test && ecargo_test --no-run
-}
-
-src_test() {
- if ! use x86 && ! use amd64 ; then
- elog "Skipping unit tests on non-x86 platform"
- else
- ecargo_test --all || die "memd test failed"
- fi
-}
-
src_install() {
# cargo doesn't know how to install cross-compiled binaries. It will
# always install native binaries for the host system. Install manually
diff --git a/chromeos-base/system_api-rust/system_api-rust-9999.ebuild b/chromeos-base/system_api-rust/system_api-rust-9999.ebuild
index 4865c7f..ab6a4af 100644
--- a/chromeos-base/system_api-rust/system_api-rust-9999.ebuild
+++ b/chromeos-base/system_api-rust/system_api-rust-9999.ebuild
@@ -3,17 +3,17 @@
EAPI=7
+CROS_RUST_SUBDIR="system_api"
+
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_LOCALNAME="platform2"
-CROS_WORKON_SUBTREE="authpolicy/dbus_bindings debugd/dbus_bindings login_manager/dbus_bindings system_api"
-
-START_DIR="system_api"
+CROS_WORKON_SUBTREE="${CROS_RUST_SUBDIR} authpolicy/dbus_bindings debugd/dbus_bindings login_manager/dbus_bindings"
inherit cros-workon cros-rust
CROS_RUST_CRATE_NAME="system_api"
DESCRIPTION="Chrome OS system API D-Bus bindings for Rust."
-HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/master/system_api/"
+HOMEPAGE="https://chromium.googlesource.com/chromiumos/platform2/+/HEAD/system_api/"
LICENSE="BSD-Google"
SLOT="0/${PVR}"
@@ -25,23 +25,3 @@
>chromeos-base/chromeos-dbus-bindings-rust-0.24.52-r16:=
=dev-rust/dbus-0.8*:=
"
-
-src_unpack() {
- cros-workon_src_unpack
- S+="/${START_DIR}"
-
- cros-rust_src_unpack
-}
-
-src_compile() {
- ecargo_build
- use test && ecargo_test --no-run
-}
-
-src_test() {
- if use x86 || use amd64; then
- ecargo_test
- else
- elog "Skipping rust unit tests on non-x86 platform"
- fi
-}