diff options
Diffstat (limited to 'pkg.build')
-rw-r--r-- | pkg.build | 88 |
1 files changed, 48 insertions, 40 deletions
@@ -1,58 +1,59 @@ +# Order for build level 2 (runtime:) psxtypes pemagine dalist ntapi psxscl ntcon ntctty + parse_with_pkg_name ${2} \ - bash binutils binutils_host coreutils diffutils \ - findutils gawk gmp grep libelf make mpc mpfr \ - patch sed; + bash binutils binutils_host coreutils dalist \ + diffutils findutils gawk gmp grep libelf make \ + mpc mpfr ntapi ntcon ntctty patch pemagine \ + psxscl psxtypes sed; if is_build_script_done finished; then exit 212; else - fetch ${PKG_URL} ${PKG_SHA256SUM}; - if [ "x${SCRIPT_FNAME%[0-9][0-9]*}" = "x1" ]; then - _configure_args="--host=${HOST_NATIVE} --prefix=${PKG_PREFIX:-/}"; - PKG_NO_CONFIG_CACHE=1; + case "${SCRIPT_FNAME%[0-9][0-9]*}" in + 1) _configure_args="--host=${HOST_NATIVE} --prefix=${PKG_PREFIX:-/} --target=${TARGET}"; + PKG_NO_CONFIG_CACHE=1; ;; + 2) + _configure_args="--prefix=${PREFIX_LVL} --host=${HOST_NATIVE}"; + PKG_BUILD_TYPE=cross; PKG_URL_TYPE=git; + PKG_NO_CONFIG_CACHE=${PKG_NO_DESTDIR:=${PKG_NO_EXTRACT:=${PKG_NO_PATCH:=1}}}; + export CFLAGS_PATH=-I${PREFIX_LVL}/include; + export LDFLAGS_PATH=-L${PREFIX_LVL}/lib; ;; + *) _configure_args=${PKG_CONFIGURE_ARGS:--C --host=${HOST_NATIVE} --prefix= --target=${TARGET}}; ;; + esac; + if [ "x${PKG_URL_TYPE:-wget}" = "xwget" ]; then + fetch ${PKG_URL} ${PKG_SHA256SUM}; else - _configure_args=${PKG_CONFIGURE_ARGS:--C --host=${HOST_NATIVE} --prefix=}; - fi; - if [ ${PKG_NO_DESTDIR:-0} -eq 0 ]; then - : ${DESTDIR:=${PREFIX_NATIVE}}; + fetch_git ${PKG_SUBDIR} ${PKG_URL}; fi; set_build_dir ${PKG_SUBDIR} ${PKG_BUILD_TYPE:-native}; fi; -if ! is_build_script_done extracted; then +if command -v pkg_${PKG_NAME}_finish >/dev/null; then + pkg_${PKG_NAME}_finish; exit 0; +elif [ ${PKG_NO_EXTRACT:-0} -eq 0 ] &&\ +! 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; +if [ ${PKG_NO_PATCH:-0} -eq 0 ] &&\ +! is_build_script_done patched; then + if [ -n "${PKG_PATCHES_EXTRA_URL}" ]; then + apply_patches ${PKG_PATCHES_EXTRA_URL} ${PKG_SUBDIR}-patches-extra; + if [ -n "${PKG_PATCHES_EXTRA_MANIFEST}" ]; then + compare_hash_manifest ${PKG_PATCHES_EXTRA_MANIFEST}; + fi; fi; patch -d ${PKG_SUBDIR} -p1 \ < portage/${PKG_SUBDIR}.midipix.patch; - if [ ${PKG_NO_LIBTOOL_MIDIPIX:-0} -eq 0 ]; then + [ ${PKG_NO_CONFIG_CACHE:-0} -eq 0 ] &&\ + cp ../portage/config.cache .; + [ ${PKG_NO_LIBTOOL_MIDIPIX:-0} -eq 0 ] && \ cp portage/libtool.midipix ${PKG_SUBDIR}/; - fi; set_build_script_done patched -configured; fi; if ! is_build_script_done configured; then rm_if_exists -m -c ${BUILD_DIR}; - [ ${PKG_NO_CONFIG_CACHE:-0} -eq 0 ] &&\ - cp ../portage/config.cache .; ../${PKG_SUBDIR}/configure \ ${_configure_args} \ - --target=${TARGET} \ ${PKG_CONFIGURE_EXTRA_ARGS}; set_build_script_done configured -built; else @@ -63,15 +64,22 @@ if ! is_build_script_done built; then set_build_script_done built -installed; fi; if ! is_build_script_done installed1; then - make ${MAKEFLAGS} ${DESTDIR:+DESTDIR=${DESTDIR}} install; + if [ ${PKG_NO_DESTDIR:-0} -eq 0 ]; then + make ${MAKEFLAGS} DESTDIR=${PREFIX_LVL} install; + else + make ${MAKEFLAGS} install; + fi; set_build_script_done installed1 -installed2 -finished; fi; -if [ -n "${PKG_PREFIX_EXTRA}" ]\ -&& ! is_build_script_done installed2; then - make DESTDIR=${PKG_PREFIX_EXTRA} install; - set_build_script_done installed2 -finished; -elif command -v pkg_${PKG_NAME}_install_post >/dev/null; then - pkg_${PKG_NAME}_install_post; +if ! is_build_script_done installed2; then + [ -n "${PKG_PREFIX_EXTRA}" ] &&\ + make DESTDIR=${PKG_PREFIX_EXTRA} install; + set_build_script_done installed2 -installed3 -finished; +fi; +if ! is_build_script_done installed3; then + command -v pkg_${PKG_NAME}_install_post \ + >/dev/null && pkg_${PKG_NAME}_install_post; + set_build_script_done installed3 -finished; fi; set_build_script_done finished; |