# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Distributed under the terms of the GNU General Public License v2

EAPI=6

DESCRIPTION="PS8805-A2 Firmware Binary"
SRC_URI="gs://chromeos-localmirror/distfiles/${P}.tar.xz"

LICENSE="Google-TOS"
SLOT="0"
KEYWORDS="*"
IUSE=""

S="${WORKDIR}"

# We must ensure that the older private package is not installed
DEPEND="
	!sys-boot/chromeos-firmware-ps8805
"

RDEPEND="${DEPEND}"

# Here are the steps to uprev the PS8805 firmware.
#
# 1) Unzip the .zip file emailed from the vendor.
# 2) Convert from hex to bin.
#    ex: objcopy -I ihex --output-target=binary PS8805_FW_0x0C_20180810_A2.hex \
#          parade-ps8805a2-firmware-12/ps8805_a2_0x0c.bin
# 3) Tarball it up using XZ, including the right directory.
#    ex: tar -cJf parade-ps8805a2-firmware-12.tar.xz \
#          parade-ps8805a2-firmware-12/ps8805_a2_0x0c.bin
# 4) Then upload it at https://pantheon.corp.google.com/storage/browser/chromeos-localmirror/distfiles
# 5) On the uploaded file, click the three-dot-menu, "Edit Permissions", and
#    add a new User "allUsers" with Reader permission.
# 6) Finally run `ebuild parade-ps8805a2-firmware-8.ebuild manifest`

src_install() {
	local fw_rev_hex=$(printf '%02x' "${PV}")
	local bf=ps8805_a2.bin
	local hf=ps8805_a2.hash

	printf "\\xa2\\x${fw_rev_hex}" > "${hf}"
	insinto /firmware/ps8805
	newins "${hf}" "${hf}"
	newins "${P}/ps8805_a2_0x${fw_rev_hex}.bin" "${bf}"
}
