package toybox-source {
	description = "toybox source tree"
	exclude

	version# = "0.8.13"
	output = remoteTar {
		url = "https://landley.net/toybox/downloads/toybox-${version}.tar.gz"
		checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
		compress = gzip
	}
}

package toybox {
	description = "many common Linux command line utilities"
	website = "https://landley.net/toybox"
	anitya = 13818

	source = toybox-source

	writable
	enterSource
	toyboxEarly

	exec = make {
		omitDefaults
		inPlace
		skipConfigure

		preMake = r`LDFLAGS="${LDFLAGS:-''} -static"
		           chmod +w /bin/
		           ln -rs "$(which bash)" /bin/ || true
		           chmod +w kconfig tests
		           rm \
		                tests/du.test \
		                tests/sed.test \
		                tests/tar.test \
		                tests/ls.test \
		                tests/taskset.test
		           make defconfig
		           sed -i \
				        's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
				        .config`
		check = [
		    "USER=cure"
		    "tests"
		]
		skipEarlyStageCheck
		install = "PREFIX=/work/system/bin make install_flat"
		postInstall = `mkdir -p /work/usr/bin
		ln -s ../../system/bin/env /work/usr/bin`
	}

	inputs = [
		bash
		gzip

		kernel-headers
	]
}

package toybox-early {
	description = "a build of toybox with unfinished tools enabled to break dependency loops"
	website = "https://landley.net/toybox"
	exclude

	source = toybox-source

	writable
	enterSource
	toyboxEarly

	exec = make {
		omitDefaults
		inPlace
		skipConfigure

		preMake = r`LDFLAGS="${LDFLAGS:-''} -static"
		           chmod +w /bin/
		           ln -rs "$(which bash)" /bin/ || true
		           chmod +w kconfig tests
		           rm \
		                tests/du.test \
		                tests/sed.test \
		                tests/tar.test \
		                tests/ls.test \
		                tests/taskset.test
		           make defconfig
		           sed -i \
		           's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
		                .config
		           echo '
		           CONFIG_EXPR=y
		           CONFIG_TR=y
		           CONFIG_AWK=y
		           CONFIG_DIFF=y
		           ' >> .config`

		check = [
			"USER=cure"
			"tests"
		]
		skipEarlyStageCheck

		install = "PREFIX=/work/system/bin make install_flat"

		postInstall = `mkdir -p /work/usr/bin
		               ln -s ../../system/bin/env /work/usr/bin`
	}

	inputs = [
		bash
		gzip

		kernel-headers
	]
}
