blob: 11422824604b1be75d47c43c41776e61f2ea8e60 [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="7198886aa352d29ae07eea8ca3e25094e14c8189"
CROS_WORKON_TREE=("e7dba8c91c1f3257c34d4a7ffff0ea2537aeb6bb" "d58be6324ba2a1d0452d23bafb39c869c5ed2cd6" "b99d8a0b7d7f0e2f844af457f29d449cdd953d43" "38141fe7ee3de0f6566dcc97771686826333dcfb" "6a2b67fcc0394c08e3fe4dbddde59129bbd55899" "584f7cc8998d8fa6c9b041054ce4a352016f477a" "84441b28a7584715021e2faf292e0cf5864ea8bf" "eec5ce9cfadd268344b02efdbec7465fbc391a9e" "7e189936f29d145c4191ea147e48256c92fac75d")
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 metrics"
CROS_WORKON_OUTOFTREE_BUILD="1"
CROS_WORKON_INCREMENTAL_BUILD="1"
PLATFORM_SUBDIR="camera/hal_adapter"
inherit cros-camera cros-constants cros-workon platform user
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 +cros-camera-algo-sandbox -libcamera"
BDEPEND="virtual/pkgconfig"
COMMON_DEPEND="
!media-libs/arc-camera3
cros-camera-algo-sandbox? ( media-libs/cros-camera-libcab:= )
media-libs/cros-camera-hal-usb:=
media-libs/cros-camera-libcamera_common:=
media-libs/cros-camera-libcamera_ipc:=
media-libs/cros-camera-libcamera_metadata:=
media-libs/libsync:=
virtual/cros-camera-effects
libcamera? ( media-libs/libcamera )
!libcamera? (
virtual/cros-camera-hal
virtual/cros-camera-hal-configs
)"
RDEPEND="${COMMON_DEPEND}"
DEPEND="${COMMON_DEPEND}
chromeos-base/metrics:=
media-libs/cros-camera-android-headers:=
media-libs/minigbm:=
x11-libs/libdrm:="
src_install() {
dobin "${OUT}/cros_camera_service"
insinto /etc/init
doins init/cros-camera.conf
# Install seccomp policy file.
insinto /usr/share/policy
newins "seccomp_filter/cros-camera-${ARCH}.policy" cros-camera.policy
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"
}