# Copyright 2014 The ChromiumOS Authors
# Distributed under the terms of the GNU General Public License v2

EAPI="7"

# This ebuild only cares about its own FILESDIR and ebuild file, so it tracks
# the canonical empty project.
CROS_WORKON_COMMIT="d2d95e8af89939f893b1443135497c1f5572aebc"
CROS_WORKON_TREE="776139a53bc86333de8672a51ed7879e75909ac9"
CROS_WORKON_PROJECT="chromiumos/infra/build/empty-project"
CROS_WORKON_LOCALNAME="../platform/empty-project"

inherit cros-workon

DESCRIPTION="List of packages that are needed inside the Chromium OS SDK"
HOMEPAGE="https://dev.chromium.org/"

LICENSE="metapackage"
SLOT="0"
KEYWORDS="*"
# Note: Do not utilize USE=internal here.  Update virtual/target-chrome-os-sdk.
IUSE="python_targets_python3_6 python_targets_python3_8"

# Block the old package to force people to clean up.
RDEPEND="
	!chromeos-base/hard-host-depends
	!virtual/hard-host-depends-bsp
"

# Basic utilities
RDEPEND+="
	app-arch/bzip2
	app-arch/cpio
	app-arch/gcab
	app-arch/gzip
	app-arch/p7zip
	app-arch/tar
	app-shells/bash
	dev-lang/rust-bootstrap
	dev-lang/rust-host
	net-misc/iputils
	net-misc/rsync
	sys-apps/baselayout
	sys-apps/coreutils
	sys-apps/diffutils
	sys-apps/dtc
	sys-apps/file
	sys-apps/findutils
	sys-apps/gawk
	sys-apps/grep
	sys-apps/ripgrep
	sys-apps/sed
	sys-apps/shadow
	sys-apps/texinfo
	sys-apps/util-linux
	sys-apps/which
	sys-devel/autoconf
	sys-devel/autoconf-archive
	sys-devel/automake:1.16
	sys-devel/binutils
	sys-devel/bison
	sys-devel/flex
	sys-devel/gcc
	sys-devel/gdb
	sys-devel/gnuconfig
	sys-devel/grit-i18n
	sys-devel/libtool
	sys-devel/m4
	sys-devel/make
	sys-devel/patch
	sys-fs/e2fsprogs
	sys-fs/f2fs-tools
	sys-libs/ncurses
	sys-libs/zlib
	sys-process/procps
	sys-process/psmisc
	sys-process/time
	virtual/editor
	virtual/libc
	virtual/man
	virtual/os-headers
	virtual/package-manager
	virtual/pager
	virtual/rust
	"

# Needed to run setup crossdev, run build scripts, and make a bootable image.
RDEPEND+="
	app-arch/lbzip2
	app-arch/lz4
	app-arch/lzop
	app-arch/pigz
	app-arch/pixz
	app-admin/sudo
	app-crypt/efitools
	app-crypt/sbsigntools
	chromeos-base/zephyr-build-tools
	dev-embedded/binman
	dev-embedded/u-boot-tools
	dev-util/ccache
	media-gfx/pngcrush
	>=sys-apps/dtc-1.3.0-r5
	sys-boot/bootstub
	sys-boot/grub
	sys-boot/syslinux
	sys-devel/crossdev
	sys-fs/dosfstools
	sys-fs/erofs-utils
	sys-fs/squashfs-tools
	sys-fs/mtd-utils
	"

# # Needed to build Android/ARC userland code.
# RDEPEND+="
# 	app-misc/jq
# 	chromeos-base/mk-payload
# 	sys-devel/aapt
# 	sys-devel/arc-toolchain-master
# 	sys-devel/arc-toolchain-p
# 	sys-devel/arc-toolchain-r
# 	sys-devel/arc-toolchain-t
# 	sys-devel/dex2oatds
# 	"

# # Needed to run 'repo selfupdate'
# RDEPEND+="
# 	app-crypt/gnupg
# 	"

# Host dependencies for building cross-compiled packages.
RDEPEND+="
	app-arch/cabextract
	app-arch/makeself
	app-arch/rpm2targz
	app-arch/sharutils
	app-arch/unzip
	app-crypt/nss
	app-doc/xmltoman
	app-emulation/qemu
	app-emulation/qemu-binfmt-wrapper
	!app-emulation/qemu-kvm
	!app-emulation/qemu-user
	app-text/asciidoc
	app-text/docbook-xml-dtd:4.1.2
	app-text/docbook-xml-dtd:4.2
	app-text/docbook-xml-dtd:4.3
	app-text/docbook-xml-dtd:4.4
	app-text/docbook-xml-dtd:4.5
	app-text/docbook-xsl-stylesheets
	app-text/texi2html
	app-text/xmlto
	chromeos-base/google-breakpad
	chromeos-base/chromeos-base
	chromeos-base/chromeos-common-script
	>=chromeos-base/chromeos-config-host-0.0.2-r491
	chromeos-base/chromite-sdk
	chromeos-base/cros-devutils[cros_host]
	chromeos-base/cros-testutils
	chromeos-base/ec-devutils
	chromeos-base/minijail
	chromeos-base/mojo-tools
	dev-db/m17n-db
	dev-go/protobuf
	dev-go/protobuf-legacy-api
	dev-lang/closure-compiler-bin
	dev-lang/nasm
	python_targets_python3_6? ( dev-lang/python:3.6 )
	python_targets_python3_8? ( dev-lang/python:3.8 )
	dev-lang/swig
	dev-lang/tcl
	dev-lang/yasm
	dev-libs/dbus-glib
	dev-libs/flatbuffers
	>=dev-libs/glib-2.26.1
	dev-libs/libgcrypt
	dev-libs/libxslt
	dev-libs/libyaml
	dev-libs/m17n-lib
	dev-libs/protobuf
	dev-libs/protobuf-c
	dev-libs/wayland
	dev-python/cffi
	dev-python/dbus-python
	dev-python/dpkt
	dev-python/ecdsa
	dev-python/flatbuffers
	dev-python/future
	dev-python/intelhex
	dev-python/kconfiglib
	dev-python/m2crypto
	dev-python/mako
	dev-python/netifaces
	dev-python/pexpect
	dev-python/pillow
	dev-python/psutil
	dev-python/py
	dev-python/pycairo
	dev-python/pycparser
	dev-python/pydbus
	dev-python/pygobject
	dev-python/pytest
	dev-python/python-evdev
	dev-python/python-magic
	dev-python/pyudev
	dev-python/pyusb
	dev-python/setproctitle
	dev-python/setuptools-rust
	!dev-python/socksipy
	dev-python/ws4py
	dev-util/cmake
	dev-util/cmocka
	dev-util/gob
	dev-util/gdbus-codegen
	dev-util/gperf
	dev-util/hdctools
	>=dev-build/gtk-doc-am-1.13
	>=dev-util/intltool-0.30
	dev-util/meson-format-array
	dev-util/pahole
	dev-util/scons
	dev-util/test-services
	dev-util/vulkan-headers
	>=dev-vcs/git-1.7.2
	>=media-libs/freetype-2.2.1
	>=media-libs/lcms-2.6:2
	net-libs/rpcsvc-proto
	net-misc/gsutil
	sys-apps/usbutils
	sys-devel/autofdo
	sys-devel/bc
	sys-devel/llvm
	>=sys-libs/glibc-2.27
	sys-libs/libcxx
	sys-libs/llvm-libunwind
	virtual/udev
	sys-power/iasl
	sys-apps/kmod[tools]
	x11-apps/mkfontscale
	x11-apps/xkbcomp
	>=x11-misc/util-macros-1.2
	"

# XXX(ovt): use_2to3 is not available in setuptools 58+
# https://github.com/pypa/setuptools/issues/2788
# RDEPEND="${RDEPEND}
# 	dev-python/tempita
# 	"

# TODO(toolchain): Remove this libxcrypt dep after all packages directly depend
# on it and it is not installed as a system library anymore
RDEPEND+="
	sys-libs/libxcrypt
	"

# Multiple versions of Bazel may be provided for long-term compatibility. For
# now, the default is 5, so we just ship that.
RDEPEND+="
	dev-util/bazel:5
	"

# # Various fonts are needed in order to generate messages for the
# # chromeos-initramfs package.
# RDEPEND+="
# 	chromeos-base/chromeos-fonts
# 	"

# Host dependencies that create usernames/groups we need to pull over to target.
RDEPEND+="
	sys-apps/dbus
	"

# Host dependencies that are needed by mod_image_for_test.
RDEPEND+="
	sys-process/lsof
	"

# Useful utilities for developers.
RDEPEND+="
	app-arch/zip
	app-editors/nano
	app-editors/qemacs
	app-editors/vim
	app-portage/gentoolkit
	app-portage/portage-utils
	app-shells/bash-completion
	x86?   ( dev-go/delve )
	amd64? ( dev-go/delve )
	arm64? ( dev-go/delve )
	dev-go/go-tools
	dev-go/golint
	dev-go/go-licenses
	dev-lang/go
	dev-util/patchutils
	dev-util/sh
	net-analyzer/netperf
	sys-apps/less
	sys-apps/man-pages
	sys-apps/pv
	sys-devel/sparse
	"

# # Host dependencies used by chromite on build servers
# RDEPEND+="
# 	dev-python/google-cloud-logging
# 	dev-python/mysqlclient
# 	dev-python/pyparsing
# 	dev-python/virtualenv
# 	"

# Host dependencies that are needed for unit tests
RDEPEND+="
	dev-python/grpcio
	"

# Host dependencies that are needed for unit tests
RDEPEND+="
	x11-misc/xkeyboard-config
	"

# Host dependencies that are needed for some of the unit tests
RDEPEND+="
	sys-apps/iproute2
	sys-apps/net-tools
	"

# XXX(ovt): not compatible with setuptools 60+
# https://github.com/SeleniumHQ/selenium/issues/10268
# RDEPEND="${RDEPEND}
# 	dev-python/selenium
# 	"

# Host dependencies that are needed to create and sign images
RDEPEND+="
	>=chromeos-base/vboot_reference-1.0-r174
	chromeos-base/verity
	!dev-python/ahocorasick
	dev-python/pyahocorasick
	"

# Host dependencies that are needed for cros_generate_update_payload.
RDEPEND+="
	chromeos-base/update_engine-client
	chromeos-base/update_engine
	sys-fs/e2tools
	"

# Host dependencies to run unit tests within the chroot
RDEPEND+="
	dev-cpp/gflags
	dev-go/mock
	dev-go/test
	"
# Host dependencies to run autotest's unit tests within the chroot.
RDEPEND+="
	dev-python/httplib2
	dev-python/pyshark
	dev-python/python-dateutil
	dev-python/six
	"

# Host dependencies to scp binaries from the binary component server
RDEPEND+="
	net-misc/openssh
	net-misc/socat
	net-misc/wget
	"

# Host dependencies for HWID processing
RDEPEND+="
	dev-python/pyyaml
	"

# Tools for working with compiler generated profile information
# (such as coverage analysis in common.mk)
RDEPEND+="
	dev-util/lcov
	"

# Host dependencies for building Platform2
RDEPEND+="
	chromeos-base/chromeos-dbus-bindings
	dev-rust/bindgen
	dev-rust/dbus-codegen
	dev-rust/protobuf-codegen
	dev-util/cxxbridge-cmd
	dev-util/meson
	dev-util/ninja
	"

# Host dependencies for building eBPFs.
RDEPEND+="
	dev-util/bpftool
	"

# Host dependencies for converting sparse into raw images (simg2img).
RDEPEND+="
	brillo-base/libsparse
	"

# # Host dependencies for building Chromium code (libmojo)
# RDEPEND+="
# 	dev-python/ply
# 	dev-util/gn
# 	"

# Uninstall these packages.
RDEPEND+="
	!net-misc/dhcpcd
	"

# # Host dependencies for building/testing factory software
# RDEPEND+="
# 	dev-libs/closure-library
# 	dev-libs/closure_linter
# 	dev-python/crcmod
# 	dev-python/django
# 	dev-python/jsonrpclib
# 	dev-python/jsonschema
# 	dev-python/pycryptodome
# 	dev-python/python-gnupg
# 	dev-python/requests
# 	dev-python/sphinx
# 	dev-python/twisted
# 	!dev-python/twisted-core
# 	!dev-python/twisted-web
# 	www-servers/nginx
# 	"

# # Host dependencies for building harfbuzz
# RDEPEND+="
# 	dev-util/ragel
# 	"

# Host dependencies for building chromeos-bootimage
RDEPEND+="
	sys-apps/coreboot-utils
	"

# # Host dependencies for building chromeos-firmware-*
# RDEPEND+="
# 	chromeos-base/ec-utils
# 	"

# # Host dependencies for the AP/EC/GSC firmware release testing workflow
# RDEPEND+="
# 	sys-firmware/fw-engprod-tools
# 	"

# # Host dependencies for audio topology generation
# RDEPEND+="
# 	media-sound/alsa-utils"

# Host dependency for managing SELinux
# XXX(rkolchmeyer): selinux-python pulls in matplotlib, which doesn't compile
# correctly with our updated setuptools
# RDEPEND+="
# 	chromeos-base/sepolicy-analyze
# 	sys-apps/checkpolicy
# 	sys-apps/restorecon
# 	sys-apps/secilc
# 	sys-apps/selinux-python"

# # Host dependencies that are needed for chromite/bin/cros_generate_android_breakpad_symbols
# RDEPEND+="
# 	chromeos-base/android-relocation-packer"

# Host dependencies for generating and testing update payloads
RDEPEND+="
	chromeos-base/update_payload"

# # Needed to compile moblab mobmonitor ui
# RDEPEND+="
# 	net-libs/nodejs"

# Needed to compile img-ddk
RDEPEND+="
	dev-python/clang-python"

# # Host dependencies for termina_build_image
# RDEPEND+="
# 	app-misc/fdupes"

# Host dependencies that lets us boost to performance governor
# to speed up builds.  https://crbug.com/1008932
RDEPEND+="
	sys-power/cpupower"

# # Base layout for java that installs cacerts
# RDEPEND+="
# 	sys-apps/baselayout-java"

# # CTS P depends on Java 8 or 9, CTS R depends on Java 9 or later.
# # Include android-sdk to contain both JDK8 and JDK11 in the chroot.
# RDEPEND+="
# 	chromeos-base/android-sdk"

# # Needed to optimise Android APKs shipped in demo_mode_resources.
# RDEPEND+="
# 	sys-devel/zipalign"

# # Needed to build IPA interface in libcamera.
# RDEPEND+="
# 	dev-python/jinja"

# Needed for packages that need older 4.9.2 GCC.
RDEPEND+="
	sys-devel/gcc-bin"

# Needed to build crosvm without ebuild in chroot.
RDEPEND+="
	dev-libs/wayland-protocols
	dev-util/wayland-scanner"

# # Needed for hps-firmware.
# RDEPEND+="
# 	chromeos-base/hps-sign-rom
# 	dev-rust/svd2rust
# 	sci-electronics/amaranth
# 	sci-electronics/litescope
# 	sci-electronics/liteeth
# 	sci-electronics/litespi
# 	sci-electronics/litedram
# 	sci-electronics/nextpnr
# 	sci-electronics/pythondata-cpu-vexriscv
# 	sci-electronics/pythondata-misc-tapcfg
# 	sci-electronics/verilator
# 	sci-electronics/yosys
# 	sci-electronics/yosys-f4pga-plugins
# 	"

# Needed for cvise.
RDEPEND+="
	dev-python/pebble
	dev-util/cvise"

# # Needed for floss project.
# RDEPEND+="
# 	net-wireless/floss_tools"

# # Needed to build net-fs/samba
# RDEPEND+="
# 	dev-perl/Parse-Yapp"

# # Needed to build cros-camera-hal-qti.
# RDEPEND+="
# 	dev-perl/XML-Simple"

# Needed for vkbench.
RDEPEND+="
	dev-util/glslang"

# Needed for federated-service.
RDEPEND+="
	app-arch/snappy
	media-libs/giflib"

# Needed by starlark config generation
RDEPEND+="
	dev-go/lucicfg"

# needed for include what you use.
RDEPEND+="
	dev-util/iwyu"

# nih-dbus-tool (in libnih package) is needed to build upstart.
RDEPEND+="
	!sys-apps/nih-dbus-tool
	sys-libs/libnih"

# Needed for cros-llvm.
RDEPEND+="
	dev-python/dataclasses"

# # Needed for app-metrics/node_exporter.
# RDEPEND+="
# 	dev-util/promu"

# # Needed for fwupd-efi>=1.4.
# RDEPEND+="
# 	dev-python/pefile"

# # Needed for x11-libs/libxcb.
# RDEPEND+=" x11-base/xcb-proto"

# Needed for dev-libs/boost.
RDEPEND+=" dev-util/b2"

# # Needed for chromite telemetry
# RDEPEND+="
# 	dev-python/opentelemetry-api
# 	dev-python/opentelemetry-sdk"
