summaryrefslogtreecommitdiffhomepage
path: root/subr
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de>2017-11-20 15:27:06 +0000
committerLucio Andrés Illanes Albornoz (arab, vxp) <lucio@lucioillanes.de>2017-11-20 20:20:51 +0000
commitd01c0269b8e5e467f82cd28392579c4c43fe63bc (patch)
tree2e105ff06c5bb57331c42ba9aa4338fe94316dc1 /subr
parent49b46005e7f7ebebcf6b43d451918c5462ac28d4 (diff)
downloadmidipix_build-d01c0269b8e5e467f82cd28392579c4c43fe63bc.tar.bz2
midipix_build-d01c0269b8e5e467f82cd28392579c4c43fe63bc.tar.xz
subr/pkg_{autoconf,configure,patch}.subr: reference ${PKG_BASE_DIR} instead of ${WORKDIR}.
subr/pkg_build_dir.subr: {build,install} packages nested within ${PKG_BUILD_DIR}/. subr/pkg_distclean.subr: removed from repository. subr/pkg_{extract,fetch}.subr: {extract,fetch} within ${PKG_BASE_DIR}. subr/pkg_install.subr: install to ../destdir to facilitate post-installation processing. subr/pkg_setup_env.subr: set & create ${PKG_BASE_DIR}. subr/pre_subdirs.subr: always create ${PREFIX}/bin. vars/build.vars: consistently use ${PKG_{PREFIX,MAKE_INSTALL_VNAME,MAKEFLAGS_INSTALL}}. vars/env.vars, *: cleanup.
Diffstat (limited to 'subr')
-rw-r--r--subr/mode_check_updates.subr4
-rw-r--r--subr/pkg_autoconf.subr35
-rw-r--r--subr/pkg_build_dir.subr12
-rw-r--r--subr/pkg_configure.subr4
-rw-r--r--subr/pkg_distclean.subr12
-rw-r--r--subr/pkg_extract.subr16
-rw-r--r--subr/pkg_fetch.subr18
-rw-r--r--subr/pkg_install.subr39
-rw-r--r--subr/pkg_patch.subr10
-rw-r--r--subr/pkg_patch_pre.subr3
-rw-r--r--subr/pkg_setup_env.subr3
-rw-r--r--subr/pkg_work_dir.subr6
-rw-r--r--subr/pre_setup_env.subr8
-rw-r--r--subr/pre_subdirs.subr1
14 files changed, 84 insertions, 87 deletions
diff --git a/subr/mode_check_updates.subr b/subr/mode_check_updates.subr
index 56423a5b..9699d360 100644
--- a/subr/mode_check_updates.subr
+++ b/subr/mode_check_updates.subr
@@ -14,13 +14,13 @@ modep_cpu_get_fnames() {
_cpugf_pname="${_cpugf_pname%%/*}";
cu_url_index="https://github.com/${_cpugf_uname%%/*}/${_cpugf_pname%%/*}/releases/";
unset _cpu_uname _cpu_pname;
- cu_fnames="$(wget ${WGET_ARGS} -qO- ${cu_url_index} |\
+ cu_fnames="$(wget ${DEFAULT_WGET_ARGS} -qO- ${cu_url_index} |\
sed -n '/<span class="\(tag-name\|css-truncate-target\)">/s/^.*<span class="\(tag-name\|css-truncate-target\)">\([a-zA-Z]\+-\|v\|\)\(.\+\)<\/span>.*$/\3/p')";
cu_fname_base="${cu_name}";
cu_fname_ext="${cu_fname#v${cu_version}.}";
else
cu_url_index="${cu_url%/*}/";
- cu_fnames="$(wget ${WGET_ARGS} -qO- "${cu_url_index}" |\
+ cu_fnames="$(wget ${DEFAULT_WGET_ARGS} -qO- "${cu_url_index}" |\
sed -n '/[hH][rR][eE][fF]="[^"]\+"/s/^.*[hH][rR][eE][fF]="\([^"]\+\)".*$/\1/p')";
fi;
fi;
diff --git a/subr/pkg_autoconf.subr b/subr/pkg_autoconf.subr
index fd201282..8a0ea124 100644
--- a/subr/pkg_autoconf.subr
+++ b/subr/pkg_autoconf.subr
@@ -4,18 +4,18 @@
pkg_autoconf() {
local __;
- if [ -e "${WORKDIR}/${PKG_SUBDIR}/configure" -o \
- -e "${WORKDIR}/${PKG_SUBDIR}/configure.ac" -o \
- -e "${WORKDIR}/${PKG_SUBDIR}/configure.in" -o \
- -e "${WORKDIR}/${PKG_SUBDIR}/config.guess" ]; then
- if [ -e "${WORKDIR}/${PKG_SUBDIR}/configure.ac" ]\
- && [ ! -e "${WORKDIR}/${PKG_SUBDIR}/configure" ]; then
+ if [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure" -o \
+ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure.ac" -o \
+ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure.in" -o \
+ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/config.guess" ]; then
+ if [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure.ac" ]\
+ && [ ! -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure" ]; then
for __ in bootstrap bootstrap.sh autogen.sh ""; do
if [ -z "${__}" ]; then
- (build_fileop cd "${WORKDIR}/${PKG_SUBDIR}" && autoconf)\
+ (build_fileop cd "${PKG_BASE_DIR}/${PKG_SUBDIR}" && autoconf)\
|| exit 1 && break;
- elif [ -e "${WORKDIR}/${PKG_SUBDIR}/${__}" ]; then
- for ___ in "${WORKDIR}/${PKG_SUBDIR}/build-aux" "${WORKDIR}/${PKG_SUBDIR}"; do
+ elif [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/${__}" ]; then
+ for ___ in "${PKG_BASE_DIR}/${PKG_SUBDIR}/build-aux" "${PKG_BASE_DIR}/${PKG_SUBDIR}"; do
if [ -e "${___}" ]; then
echo install -m 0700 \
"${MIDIPIX_BUILD_PWD}/etc/config.sub" \
@@ -26,20 +26,21 @@ pkg_autoconf() {
break;
fi;
done;
- (build_fileop cd "${WORKDIR}/${PKG_SUBDIR}" && "${SHELL}" "${__}")\
+ (build_fileop cd "${PKG_BASE_DIR}/${PKG_SUBDIR}" && "${SHELL}" "${__}")\
|| exit 1 && break;
fi;
done;
fi;
- find "${WORKDIR}/${PKG_SUBDIR}" -name config.sub \
- -exec echo mv -- {} {}.orig \; \
- -exec mv -- {} {}.orig \; \
- -exec echo install -m 0700 "${MIDIPIX_BUILD_PWD}/etc/config.sub" {} \; \
+ find "${PKG_BASE_DIR}/${PKG_SUBDIR}" -name config.sub \
+ -exec echo mv -- {} {}.orig \; \
+ -exec mv -- {} {}.orig \; \
+ -exec echo install -m 0700 "${MIDIPIX_BUILD_PWD}/etc/config.sub" {} \; \
-exec install -m 0700 "${MIDIPIX_BUILD_PWD}/etc/config.sub" {} \;;
if [ "${PKG_BUILD_TYPE}" != host ]; then
- for __ in ${PKG_BUILD_DIR} ${PKG_CONFIG_CACHE_EXTRA}; do
- build_fileop cp "${MIDIPIX_BUILD_PWD}/etc/config.cache" "${WORKDIR}/${__}/";
- done;
+ build_fileop cp "${MIDIPIX_BUILD_PWD}/etc/config.cache" "${PKG_BUILD_DIR}/";
+ if [ -n "${PKG_CONFIG_CACHE_EXTRA}" ]; then
+ build_fileop cp "${MIDIPIX_BUILD_PWD}/etc/config.cache" "${PKG_BASE_DIR}/${PKG_CONFIG_CACHE_EXTRA}/";
+ fi;
fi;
fi;
};
diff --git a/subr/pkg_build_dir.subr b/subr/pkg_build_dir.subr
index e9104ab2..2143e057 100644
--- a/subr/pkg_build_dir.subr
+++ b/subr/pkg_build_dir.subr
@@ -4,13 +4,15 @@
pkg_build_dir() {
if [ -z "${PKG_BUILD_DIR}" ]; then
- if [ -e "${WORKDIR}/${PKG_SUBDIR}/configure" ]\
- || [ -e "${WORKDIR}/${PKG_SUBDIR}/configure.ac" ]\
- || [ -e "${WORKDIR}/${PKG_SUBDIR}/configure.in" ]; then
- set_build_dir "${PKG_SUBDIR}" "${PKG_BUILD_TYPE:-native}";
+ if [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure" ]\
+ || [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure.ac" ]\
+ || [ -e "${PKG_BASE_DIR}/${PKG_SUBDIR}/configure.in" ]; then
+ PKG_BUILD_DIR="${PKG_BASE_DIR}/obj";
else
- PKG_BUILD_DIR="${PKG_SUBDIR}";
+ PKG_BUILD_DIR="${PKG_BASE_DIR}/${PKG_SUBDIR}";
fi;
+ else
+ PKG_BUILD_DIR="${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
fi;
};
diff --git a/subr/pkg_configure.subr b/subr/pkg_configure.subr
index d63b16e6..acc67a09 100644
--- a/subr/pkg_configure.subr
+++ b/subr/pkg_configure.subr
@@ -4,9 +4,9 @@
pkg_configure() {
if [ -n "${PKG_CONFIGURE}" ]; then
- PKG_CONFIGURE="${WORKDIR}/${PKG_CONFIGURE}";
+ PKG_CONFIGURE="${PKG_BASE_DIR}/${PKG_CONFIGURE}";
else
- PKG_CONFIGURE="${WORKDIR}/${PKG_SUBDIR}/configure";
+ PKG_CONFIGURE="${PKG_BASE_DIR}/${PKG_SUBDIR}/configure";
fi;
if [ -x "${PKG_CONFIGURE}" ]; then
CFLAGS="${PKG_CFLAGS_CONFIGURE}${PKG_CFLAGS_CONFIGURE_EXTRA:+ ${PKG_CFLAGS_CONFIGURE_EXTRA}}" \
diff --git a/subr/pkg_distclean.subr b/subr/pkg_distclean.subr
deleted file mode 100644
index 68c09dd4..00000000
--- a/subr/pkg_distclean.subr
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# set -o errexit -o noglob are assumed.
-#
-
-pkg_distclean() {
- if [ "${PKG_SUBDIR}" != "${PKG_BUILD_DIR}" ]; then
- build_fileop rm "${WORKDIR}/${PKG_BUILD_DIR}";
- build_fileop mkdir "${WORKDIR}/${PKG_BUILD_DIR}";
- fi;
-};
-
-# vim:filetype=sh
diff --git a/subr/pkg_extract.subr b/subr/pkg_extract.subr
index f6ddff2e..909dc730 100644
--- a/subr/pkg_extract.subr
+++ b/subr/pkg_extract.subr
@@ -5,21 +5,21 @@
pkg_extract() {
if [ -n "${PKG_URL}" ]\
&& [ "${PKG_URL_TYPE:-wget}" = wget ]; then
- build_fileop rm "${WORKDIR}/${PKG_SUBDIR}";
+ build_fileop rm "${PKG_BASE_DIR}/${PKG_SUBDIR}";
if [ "${PKG_FNAME##*.tar.}" = "bz2" ]; then
- bunzip2 -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${WORKDIR}" -xf -;
+ bunzip2 -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -;
elif [ "${PKG_FNAME##*.tar.}" = "gz" ]; then
- gunzip -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${WORKDIR}" -xf -;
+ gunzip -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -;
elif [ "${PKG_FNAME##*.tar.}" = "xz" ]; then
- xz -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${WORKDIR}" -xf -;
+ xz -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -;
elif [ "${PKG_FNAME##*.t}" = "bz2" ]; then
- bunzip2 -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${WORKDIR}" -xf -;
+ bunzip2 -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -;
elif [ "${PKG_FNAME##*.t}" = "gz" ]; then
- gunzip -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${WORKDIR}" -xf -;
+ gunzip -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -;
elif [ "${PKG_FNAME##*.t}" = "xz" ]; then
- xz -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${WORKDIR}" -xf -;
+ xz -d < "${DLCACHEDIR}/${PKG_FNAME}" | tar -C "${PKG_BASE_DIR}" -xf -;
else
- tar -C "${WORKDIR}" -xf "${DLCACHEDIR}/${PKG_FNAME}";
+ tar -C "${PKG_BASE_DIR}" -xf "${DLCACHEDIR}/${PKG_FNAME}";
fi;
fi;
};
diff --git a/subr/pkg_fetch.subr b/subr/pkg_fetch.subr
index 37c2439e..7c71c344 100644
--- a/subr/pkg_fetch.subr
+++ b/subr/pkg_fetch.subr
@@ -14,7 +14,7 @@ pkgp_fetch() {
|| [ -e "${_url_dst}.fetched" ]; then
return 0;
else
- wget ${WGET_ARGS} -c -O "${_url_dst}" "${_url}";
+ wget ${DEFAULT_WGET_ARGS} -c -O "${_url_dst}" "${_url}";
fi;
if [ -n "${_sha256sum_src}" ]; then
set -- $(openssl dgst -sha256 "${_url_dst}"); shift $((${#}-1));
@@ -30,7 +30,7 @@ pkgp_fetch() {
};
pkgp_fetch_git() {
- local _subdir="${1}" _url="${2}" _branch="${3}";
+ local _tgtdir="${1}" _subdir="${2}" _url="${3}" _branch="${4}";
if [ "${ARG_OFFLINE:-0}" -eq 0 ]; then
if [ -e "${DLCACHEDIR}/${_subdir}" ]; then
(build_fileop cd "${DLCACHEDIR}/${_subdir}" &&\
@@ -45,27 +45,27 @@ pkgp_fetch_git() {
fi;
fi;
fi;
- build_fileop rm "${WORKDIR}/${_subdir}";
- build_fileop cp "${DLCACHEDIR}/${_subdir}" "${WORKDIR}";
+ build_fileop rm "${_tgtdir}/${_subdir}";
+ build_fileop cp "${DLCACHEDIR}/${_subdir}" "${_tgtdir}";
};
pkgp_fetch_urls_git() {
- local _url_spec _subdir _url _git_branch;
- for _url_spec in ${@}; do
+ local _tgtdir="${2}" _url_spec _subdir _url _git_branch;
+ for _url_spec in ${1}; do
_subdir="${_url_spec%=*}";
_url="${_url_spec#*=}";
_url="${_url%@*}";
if [ "${_url_spec#*@}" != "${_url_spec}" ]; then
_git_branch=${_url_spec#*@};
fi;
- pkgp_fetch_git ${_subdir} ${_url} ${_git_branch};
+ pkgp_fetch_git "${_tgtdir}" "${_subdir}" "${_url}" "${_git_branch}";
done;
};
pkg_fetch() {
if [ -n "${1}" ]; then
if [ "${1}" = "-git" ]; then
- shift; pkgp_fetch_urls_git "${1}";
+ shift; pkgp_fetch_urls_git "${1}" "${PKG_BASE_DIR}";
else
pkgp_fetch "${1}" "${2}";
fi;
@@ -74,7 +74,7 @@ pkg_fetch() {
pkgp_fetch "${PKG_URL}" "${PKG_SHA256SUM}" "${PKG_FNAME}";
fi;
if [ -n "${PKG_URLS_GIT}" ]; then
- pkgp_fetch_urls_git "${PKG_URLS_GIT}";
+ pkgp_fetch_urls_git "${PKG_URLS_GIT}" "${PKG_BASE_DIR}";
fi;
fi;
};
diff --git a/subr/pkg_install.subr b/subr/pkg_install.subr
index 8e4a5b7a..b4ccbded 100644
--- a/subr/pkg_install.subr
+++ b/subr/pkg_install.subr
@@ -67,7 +67,7 @@ pkgp_install_libs() {
pkgp_install_pkgconfig() {
local __;
- for __ in $(find "${WORKDIR}/${PKG_BUILD_DIR}" -name \*.pc); do
+ for __ in $(find "${PKG_BUILD_DIR}" -name \*.pc); do
if grep -Eq '^libdir=[^$]+$' "${__}"; then
sed -i -e '/^libdir=[^$]\+$/s/^libdir=\(.\+\)$/libdir=${exec_prefix}\1/' \
-e '/^exec_prefix=$/s/^.*$/exec_prefix=${prefix}/' \
@@ -79,30 +79,33 @@ pkgp_install_pkgconfig() {
pkg_install() {
pkgp_install_pkgconfig;
if [ ${PKG_NO_MAKE_INSTALL:-0} -eq 0 ]; then
- run_cmd_unsplit make \
- ${PKG_MAKEFLAGS_INSTALL} \
- ${PKG_MAKEFLAGS_INSTALL_EXTRA} \
- AR=${AR} CC=${CC} RANLIB=${RANLIB} \
+ build_fileop mkdir ../destdir;
+ build_fileop mkdir ../destdir/bin;
+ build_fileop mkdir ../destdir/lib;
+ build_fileop mkdir ../destdir/sbin;
+ build_fileop mkdir ../destdir/share/man/man1;
+ build_fileop mkdir ../destdir/share/man;
+ build_fileop rm ../destdir/usr;
+ build_fileop ln_symbolic . ../destdir/usr;
+ build_fileop rm ../destdir/man;
+ build_fileop ln_symbolic share/man ../destdir/man;
+ run_cmd_unsplit make \
+ ${PKG_MAKEFLAGS_INSTALL} \
+ ${PKG_MAKEFLAGS_INSTALL_EXTRA} \
+ AR=${AR} CC=${CC} RANLIB=${RANLIB} \
"${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}" \
"${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}" \
"${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}" \
"${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}" \
"${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \
- "LIBTOOL=${PKG_SLIBTOOL:-slibtool}" \
+ "LIBTOOL=${PKG_SLIBTOOL:-slibtool}" \
+ "${PKG_MAKE_INSTALL_VNAME:-DESTDIR}=${PWD}/../destdir/" \
${PKG_INSTALL_TARGET:=install};
+ build_fileop mkdir "${PKG_PREFIX}";
+ tar -C ../destdir -cpf - . | tar -C "${PKG_PREFIX}" -xpf -;
if [ -n "${PKG_PREFIX_EXTRA}" ]; then
- run_cmd_unsplit make \
- ${PKG_MAKEFLAGS_INSTALL} \
- ${PKG_MAKEFLAGS_INSTALL_EXTRA} \
- AR=${AR} CC=${CC} RANLIB=${RANLIB} \
- "${PKG_CFLAGS_INSTALL:+CFLAGS=${PKG_CFLAGS_INSTALL}}" \
- "${PKG_CFLAGS_INSTALL_EXTRA:+CFLAGS+=${PKG_CFLAGS_INSTALL_EXTRA}}" \
- "${PKG_LDFLAGS_INSTALL:+LDFLAGS=${PKG_LDFLAGS_INSTALL}}" \
- "${PKG_LDFLAGS_INSTALL_EXTRA:+LDFLAGS+=${PKG_LDFLAGS_INSTALL_EXTRA}}" \
- "${PKG_RANLIB_INSTALL:+RANLIB=${PKG_RANLIB_INSTALL}}" \
- "LIBTOOL=${PKG_SLIBTOOL:-slibtool}" \
- ${PKG_INSTALL_TARGET_EXTRA:=install} \
- DESTDIR=${PKG_PREFIX_EXTRA};
+ build_fileop mkdir "${PKG_PREFIX_EXTRA}";
+ tar -C ../destdir -cpf - . | tar -C "${PKG_PREFIX_EXTRA}" -xpf -;
fi;
fi;
pkgp_install_clean_lib;
diff --git a/subr/pkg_patch.subr b/subr/pkg_patch.subr
index eba8f6f2..fadd1ed8 100644
--- a/subr/pkg_patch.subr
+++ b/subr/pkg_patch.subr
@@ -5,10 +5,10 @@
pkg_patch() {
local _patch_fname _patches_done;
set +o noglob;
- for _patch_fname in \
- ${WORKDIR}/chainport/${PKG_NAME}.midipix.patch \
- ${WORKDIR}/chainport/${PKG_SUBDIR}.midipix.patch \
- ${WORKDIR}/chainport/${PKG_SUBDIR%-*}.midipix.patch \
+ for _patch_fname in \
+ ${WORKDIR}/chainport-native-${PKG_TARGET}/chainport/${PKG_NAME}.midipix.patch \
+ ${WORKDIR}/chainport-native-${PKG_TARGET}/chainport/${PKG_SUBDIR}.midipix.patch \
+ ${WORKDIR}/chainport-native-${PKG_TARGET}/chainport/${PKG_SUBDIR%-*}.midipix.patch \
${MIDIPIX_BUILD_PWD}/patches/${PKG_NAME}/*.patch \
${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}/*.patch \
${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR%-*}/*.patch \
@@ -20,7 +20,7 @@ pkg_patch() {
${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR%-*}.local@${BUILD_HNAME}.patch; do
if ! lmatch "${_patches_done}" " " "${_patch_fname}"\
&& [ -r "${_patch_fname}" ]; then
- patch -b -d "${WORKDIR}/${PKG_SUBDIR}" -p1 < "${_patch_fname}";
+ patch -b -d "${PKG_BASE_DIR}/${PKG_SUBDIR}" -p1 < "${_patch_fname}";
_patches_done="${_patches_done:+${_patches_done} }${_patch_fname}";
fi;
done;
diff --git a/subr/pkg_patch_pre.subr b/subr/pkg_patch_pre.subr
index f3402fcd..f6ab9f05 100644
--- a/subr/pkg_patch_pre.subr
+++ b/subr/pkg_patch_pre.subr
@@ -7,11 +7,10 @@ pkg_patch_pre() {
for __ in \
${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}_pre.local.patch \
${MIDIPIX_BUILD_PWD}/../${PKG_SUBDIR}_pre.local@${BUILD_HNAME}.patch \
- ${WORKDIR}/chainport/${PKG_SUBDIR}_pre.midipix.patch \
${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}_pre.local.patch \
${MIDIPIX_BUILD_PWD}/patches/${PKG_SUBDIR}_pre.local@${BUILD_HNAME}.patch; do
if [ -r "${__}" ]; then
- patch -b -d "${WORKDIR}/${PKG_SUBDIR}" -p1 < "${__}";
+ patch -b -d "${PKG_BASE_DIR}/${PKG_SUBDIR}" -p1 < "${__}";
fi;
done;
};
diff --git a/subr/pkg_setup_env.subr b/subr/pkg_setup_env.subr
index 43d1160c..8bf076b2 100644
--- a/subr/pkg_setup_env.subr
+++ b/subr/pkg_setup_env.subr
@@ -12,6 +12,9 @@ pkg_setup_env() {
[ -n "${PKG_ENV_VARS_EXTRA}" ] && set_env_vars_with_sep : "${PKG_ENV_VARS_EXTRA}";
[ -z "${PKG_FNAME}" ] && PKG_FNAME="${PKG_URL##*/}";
[ -z "${PKG_TARGET}" ] && PKG_TARGET="${TARGET}";
+ [ -z "${PKG_BASE_DIR}" ] && PKG_BASE_DIR="${WORKDIR}/${PKG_NAME}-${PKG_BUILD_TYPE:-native}-${PKG_TARGET}";
+ build_fileop mkdir "${PKG_BASE_DIR}";
+ build_fileop cd "${PKG_BASE_DIR}";
case "${PKG_BUILD_TYPE}" in
host) export AR="ar";
export CC="gcc";
diff --git a/subr/pkg_work_dir.subr b/subr/pkg_work_dir.subr
index 20b9ce17..5d18278c 100644
--- a/subr/pkg_work_dir.subr
+++ b/subr/pkg_work_dir.subr
@@ -3,10 +3,10 @@
#
pkg_work_dir() {
- if [ ! -d "${WORKDIR}/${PKG_BUILD_DIR}" ]; then
- build_fileop mkdir "${WORKDIR}/${PKG_BUILD_DIR}";
+ if [ ! -d "${PKG_BUILD_DIR}" ]; then
+ build_fileop mkdir "${PKG_BUILD_DIR}";
fi;
- build_fileop cd "${WORKDIR}/${PKG_BUILD_DIR}";
+ build_fileop cd "${PKG_BUILD_DIR}";
};
# vim:filetype=sh
diff --git a/subr/pre_setup_env.subr b/subr/pre_setup_env.subr
index 8bef5820..0f22fdbe 100644
--- a/subr/pre_setup_env.subr
+++ b/subr/pre_setup_env.subr
@@ -4,9 +4,9 @@
pre_setup_env() {
local __;
- if [ -z "${BUILD_CPUS}" ]\
+ if [ -z "${DEFAULT_BUILD_CPUS}" ]\
&& [ -e /proc/cpuinfo ]; then
- BUILD_CPUS=$(awk '/^processor/{cpus++} END{print cpus}' /proc/cpuinfo);
+ DEFAULT_BUILD_CPUS=$(awk '/^processor/{cpus++} END{print cpus}' /proc/cpuinfo);
fi;
: ${ARCH:=nt64}; : ${BUILD:=debug};
if [ "${ARCH}" = nt32 ]; then
@@ -25,9 +25,9 @@ pre_setup_env() {
done;
export PATH="${PREFIX}/bin${PATH:+:${PATH}}";
if [ ${ARG_IPV4_ONLY:-0} -eq 1 ]; then
- WGET_ARGS="-4${WGET_ARGS:+ ${WGET_ARGS}}";
+ DEFAULT_WGET_ARGS="-4${DEFAULT_WGET_ARGS:+ ${DEFAULT_WGET_ARGS}}";
elif [ ${ARG_IPV6_ONLY:-0} -eq 1 ]; then
- WGET_ARGS="-6${WGET_ARGS:+ ${WGET_ARGS}}";
+ DEFAULT_WGET_ARGS="-6${DEFAULT_WGET_ARGS:+ ${DEFAULT_WGET_ARGS}}";
fi;
for __ in $(export | sed -e 's/^export //' -e 's/=.*$//'); do
if ! lmatch "${CLEAR_ENV_VARS_EXCEPT}" " " "${__}"; then
diff --git a/subr/pre_subdirs.subr b/subr/pre_subdirs.subr
index bc205032..6d857d8a 100644
--- a/subr/pre_subdirs.subr
+++ b/subr/pre_subdirs.subr
@@ -16,6 +16,7 @@ pre_subdirs() {
/=${DLCACHEDIR} \
/=${WORKDIR} \
/=${PREFIX} \
+ /=${PREFIX}/bin \
/=${PREFIX}/${TARGET}/bin \
/=${PREFIX}/${TARGET}/lib \
/=${PREFIX}/x86_64-w64-mingw32 \