blob: 64edc6cb4ae6133898834baf70fc3449d70ce6d9 [file] [log] [blame]
# Copyright 2017 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2
EAPI=7
CROS_WORKON_COMMIT="6f9011123f3656c45bb34148673aa110a22326b3"
CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "49e3b5c529d012af19cb326eec9cf346538d4459" "c37af7d99913a584dbfb1b64fdb83acb19e91c20" "3853c1aaf018392449473e3155a42a6de4c514b5" "9b0d49af4849355f570451641ca09d759740be73" "049eedf136293a1ab81617017200cb31032eb384" "6cdd3e4e16d9890ff8b5fe897e4cf5a94620c315" "791c6808b4f4f5f1c484108d66ff958d65f8f1e3")
CROS_WORKON_PROJECT="chromiumos/platform2"
CROS_WORKON_LOCALNAME="platform2"
# TODO(crbug.com/914263): camera/hal is unnecessary for this build but is
# workaround for unexpected sandbox behavior.
CROS_WORKON_SUBTREE=".gn camera/build camera/common camera/hal camera/hal_adapter camera/include camera/mojo common-mk"
CROS_WORKON_OUTOFTREE_BUILD="1"
CROS_WORKON_INCREMENTAL_BUILD="1"
PLATFORM_SUBDIR="camera/hal_adapter"
inherit cros-camera cros-constants cros-workon platform tmpfiles user udev
DESCRIPTION="Chrome OS camera service. The service is in charge of accessing
camera device. It uses unix domain socket to build a synchronous channel."
LICENSE="BSD-Google"
KEYWORDS="*"
IUSE="arc-camera1 cheets -libcamera"
BDEPEND="virtual/pkgconfig"
RDEPEND="
>=chromeos-base/cros-camera-libs-0.0.1-r34:=
chromeos-base/cros-camera-android-deps:=
media-libs/cros-camera-hal-usb:=
media-libs/libsync:=
libcamera? ( media-libs/libcamera )
!libcamera? (
virtual/cros-camera-hal
virtual/cros-camera-hal-configs
)"
DEPEND="${RDEPEND}
>=chromeos-base/metrics-0.0.1-r3152:=
media-libs/minigbm:=
x11-libs/libdrm:="
src_configure() {
cros_optimize_package_for_speed
platform_src_configure
}
src_install() {
platform_src_install
dobin "${OUT}/cros_camera_service"
insinto /etc/init
doins init/cros-camera.conf
doins init/cros-camera-failsafe.conf
udev_dorules udev/99-camera.rules
# Install seccomp policy file.
insinto /usr/share/policy
newins "seccomp_filter/cros-camera-${ARCH}.policy" cros-camera.policy
dotmpfiles tmpfiles.d/*.conf
if use cheets && ! use arc-camera1; then
insinto "${ARC_VENDOR_DIR}/etc/init"
doins init/init.camera.rc
fi
}
pkg_preinst() {
enewuser "arc-camera"
enewgroup "arc-camera"
}
platform_pkg_test() {
local tests=(
zsl_helper_test
)
local test_bin
for test_bin in "${tests[@]}"; do
platform_test run "${OUT}/${test_bin}"
done
}