midipix / build / midipix_build

Forked from build/midipix_build 4 years ago
Clone
Blob Blame History Raw
parse_with_pkg_name ${2}				\
	coreutils diffutils findutils patch		\
	gawk bash make grep sed binutils;
if is_build_script_done finished; then
        exit 212;
else
	fetch ${PKG_URL} ${PKG_SHA256SUM};
	if [ "x${PKG_NAME}" = "xbinutils" ]\
	&& [ "x${3}" = "xhost" ]; then
		_no_config_cache=${_no_destdir:=1};
		_configure_args="--disable-werror --prefix=${PREFIX} --with-sysroot=${PREFIX_TARGET}";
		set_build_dir ${PKG_SUBDIR} cross;
	else
		_no_config_cache=${_no_destdir:=0};
		_configure_args="-C --host=${HOST_NATIVE} --prefix=";
		set_build_dir ${PKG_SUBDIR} native;
	fi;
	_configure_args="${_configure_args}${PKG_CONFIGURE_EXTRA_ARGS:+ ${PKG_CONFIGURE_EXTRA_ARGS}}";
fi;
if ! is_build_script_done extracted; then
	rm_if_exists ${PKG_SUBDIR};
	tar -axf ${PKG_FNAME};
	set_build_script_done extracted -patched;
fi;
if ! is_build_script_done patched; then
	if [ -n "${PKG_PATCHES_EXTRA}" ]; then
		(rm_if_exists -m -c ${PKG_SUBDIR}-patches-extra;
		wget -c -nd -np -r -R \*.htm\* -R \*.sig ${PKG_PATCHES_EXTRA}
		for _patch_fname in			\
				$(find . -type f -not -iname \*.sig | sort); do
			patch -d ../${PKG_SUBDIR} -p0	\
				< ${_patch_fname};
		done;
		for _patch_fname in ${PKG_PATCHES_EXTRA_MANIFEST}; do
			_patch_sha256sum=${2}; shift;
			if ! compare_hash ${_patch_fname} ${_patch_sha256sum}; then
				log_msg fail "Error: hash mismatch for patch file \`${_patch_fname}'.";
				exit 1;
			fi;
		done); wait;
	fi;
	patch -d ${PKG_SUBDIR} -p1			\
		< portage/${PKG_SUBDIR}.midipix.patch;
	set_build_script_done patched -configured;
fi;
if ! is_build_script_done configured; then
	rm_if_exists -m -c ${BUILD_DIR};
	[ ${_no_config_cache:-0} -eq 0 ] &&\
		cp ../portage/config.cache .;
	../${PKG_SUBDIR}/configure			\
		${_configure_args} --target=${TARGET};
	set_build_script_done configured -built;
else
	cd ${BUILD_DIR};
fi;
if ! is_build_script_done built; then
	make ${MAKEFLAGS};
	set_build_script_done built -installed;
fi;
if ! is_build_script_done installed; then
	if [ ${_no_destdir:-0} -eq 0 ]; then
		make ${MAKEFLAGS} DESTDIR=${PREFIX_NATIVE} install;
	else
		make ${MAKEFLAGS} install;
	fi;
	set_build_script_done installed finished;
fi;

# vim:filetype=sh