# Build template for 'busybox'. pkgname=busybox version=1.24.2 revision=4 hostmakedepends="perl" short_desc="The Swiss Army Knife of Embedded Linux" maintainer="Juan RP " license="GPL-2" homepage="http://www.busybox.net" distfiles="${homepage}/downloads/busybox-$version.tar.bz2" checksum=e71ef53ec656f31c42633918d301405d40dea1d97eca12f272217ae4a971c855 alternatives=" awk:awk:/usr/bin/busybox hostname:hostname:/usr/bin/busybox sh:sh:/usr/bin/busybox ntpd:ntpd:/usr/bin/busybox ntpd:ntpd:/etc/sv/busybox-ntpd vi:vi:/usr/bin/busybox" _cflags() { local t=$1 local c="$CFLAGS" case $t in busybox-static) c="$c -static";; esac echo "$c" } do_configure() { mkdir -p src mv * src || true local t for t in busybox busybox-static; do mkdir -p $t make -C $t CFLAGS="$(_cflags $t)" KBUILD_SRC=${wrksrc}/src \ -f ${wrksrc}/src/Makefile defconfig cp -f ${FILESDIR}/${t}.dotconfig ${t}/.config case "$XBPS_TARGET_MACHINE" in *-musl) sed -i -e /CONFIG_FEATURE_VI_REGEX_SEARCH/s/y/n/ \ -e /CONFIG_FEATURE_MOUNT_NFS/s/y/n/ \ ${t}/.config;; esac if [ "$CROSS_BUILD" ]; then sed -e \ "s,\(CONFIG_CROSS_COMPILER_PREFIX\).*,\1=\"${XBPS_CROSS_TRIPLET}-\",g" \ -i ${t}/.config fi make -C $t prepare ${makejobs} done if [ "$SOURCE_DATE_EPOCH" ]; then # rewrite date with the one from the date wrapper. d=$(date +"%F %T %Z") sed -i "s/\(#define AUTOCONF_TIMESTAMP\).*/\1 \"$d\"/" */include/autoconf.h fi } do_build() { local t for t in busybox busybox-static; do make -C $t SKIP_STRIP=y CFLAGS="$(_cflags $t)" ${makejobs} done } do_install() { vbin busybox/busybox_unstripped busybox vman busybox/docs/busybox.1 vsv busybox-ntpd } busybox-static_package() { short_desc+=" (statically linked)" pkg_install() { vbin busybox-static/busybox busybox.static } }