# Template file for 'u-boot-tools'
pkgname=u-boot-tools
version=2026.07
revision=1
build_style=gnu-makefile
make_build_args="HOSTSTRIP=: STRIP=: NO_SDL=1"
make_build_target="tools-all tools-only envtools"
hostmakedepends="bison flex which python3 swig python3-devel python3-setuptools python3-pyelftools"
makedepends="openssl-devel libuuid-devel gnutls-devel ncurses-libtinfo-devel"
short_desc="Das U-Boot tools"
maintainer="Duncaen <duncaen@voidlinux.org>"
license="GPL-2.0-or-later"
homepage="https://u-boot.readthedocs.io/en/latest/"
distfiles="https://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2"
checksum=78e8bfc382fe388f9b55aa1daf8c563522a037779b5d4c349d1415e381f1243e

if [ "$CROSS_BUILD" ]; then
	make_build_args+=" CROSS_BUILD_TOOLS=y CROSS_COMPILE=${XBPS_CROSS_TRIPLET}-"
	hostmakedepends+=" u-boot-tools"
fi

post_extract() {
	vsed '1itypedef unsigned long ulong;' \
		-i include/image.h \
		-i include/env.h \
		-i tools/mkimage.h \
		-i tools/proftool.c
}

do_configure() {
	make ${makejobs} ${make_build_args} tools-only_defconfig
}

do_build() {
	make ${makejobs} ${make_build_args} tools-all
	make ${makejobs} ${make_build_args} tools-only
	make ${makejobs} ${make_build_args} envtools
}

do_check() {
	# skip tests for now. requires some gymnastics to make the python scripts
	# find libfdt. the most useful target appears to be "make tcheck"
	: ;
}

do_install() {
	ln -sf fw_printenv tools/env/fw_setenv
	for x in dumpimage fdtgrep fit_check_sign fit_info gen_eth_addr \
		gen_ethaddr_crc ifwitool img2srec kwboot mkeficapsule mkenvimage mkimage \
		proftool spl_size_limit env/fw_printenv env/fw_setenv; do
		vbin "tools/$x"
		if [ -r "doc/${x}.1" ]; then
			vman "doc/${x}.1"
		fi
	done
}

uboot-mkimage_package() {
	depends="${sourcepkg}>=${version}_${revision}"
	short_desc+=" - (transitional meta package)"
	metapackage=yes
}
