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