| # 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 |
| } |