summaryrefslogtreecommitdiffhomepage
path: root/subr/ex_pkg_env.subr
diff options
context:
space:
mode:
Diffstat (limited to 'subr/ex_pkg_env.subr')
-rw-r--r--subr/ex_pkg_env.subr157
1 files changed, 0 insertions, 157 deletions
diff --git a/subr/ex_pkg_env.subr b/subr/ex_pkg_env.subr
deleted file mode 100644
index c13cfdfc..00000000
--- a/subr/ex_pkg_env.subr
+++ /dev/null
@@ -1,157 +0,0 @@
-#
-# set +o errexit -o noglob -o nounset is assumed.
-#
-
-#
-# exp_pkg_env_defaults() - set package variable defaults for single named package
-# @_build_steps_default: list of default build steps
-# @_pkg_name: single package name
-# @_workdir: pathname to build-specific temporary directory
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-exp_pkg_env_defaults() {
- local _build_steps_default="${1}" _pkg_name="${2}" _workdir="${3}";
- : ${PKG_NAME:="${_pkg_name}"};
- : ${MIDIPIX_BUILD_PWD:="$(pwd)"};
- : ${PKG_BASE_DIR:="${_workdir}/${_pkg_name}-${PKG_BUILD_TYPE}-${PKG_TARGET}"};
- if [ -n "${PKG_BUILD_STEPS_DISABLE:-}" ]; then
- : ${PKG_BUILD_STEPS:="$(rtl_lfilter "${_build_steps_default}" "${PKG_BUILD_STEPS_DISABLE:-}")"};
- else
- : ${PKG_BUILD_STEPS:="${_build_steps_default}"};
- fi;
- if [ -n "${PKG_URL:-}" ]; then
- : ${PKG_FNAME:="${PKG_URL##*/}"};
- fi;
- if [ -z "${PKG_SUBDIR:-}" ]; then
- if [ -n "${PKG_URLS_GIT:-}" ]\
- && [ -n "${PKG_FNAME:-}" ]; then
- rtl_log_msg "fatalexit" "${MSG_pkg_fail_missing_vars}";
- elif [ -n "${PKG_URLS_GIT:-}" ]; then
- PKG_SUBDIR="${PKG_URLS_GIT%%=*}";
- else case "${PKG_FNAME:-}" in
- *.t*) PKG_SUBDIR="${PKG_FNAME%%.t*}"; ;;
- *) PKG_SUBDIR="${_pkg_name}"; ;;
- esac; fi;
- fi;
- if [ -z "${PKG_BUILD_DIR:-}" ]; then
- case "${PKG_IN_TREE:-0}" in
- 0) PKG_BUILD_DIR="obj"; ;;
- 1) PKG_BUILD_DIR="${PKG_SUBDIR}"; ;;
- esac;
- fi;
- PKG_BUILD_DIR="${PKG_BASE_DIR}/${PKG_BUILD_DIR}";
- PKG_CONFIGURE="${PKG_BASE_DIR}/${PKG_CONFIGURE:-${PKG_SUBDIR}/configure}";
- PKG_DESTDIR="${PKG_BASE_DIR}/${PKG_DESTDIR:-destdir}";
- PKG_DESTDIR_HOST="${PKG_BASE_DIR}/${PKG_DESTDIR_HOST:-destdir_host}";
-};
-
-#
-# exp_pkg_env_set() - set package variables for single named package
-# @_build_vars_default: list of default build variables
-# @_group_name: build group name
-# @_nounset: don't clear package variable namespace
-# @_pkg_name: single package name
-#
-# Sets package variables from either defaults, defaults specific to build type,
-# build group, package to inherit from if any, or package for a single named
-# package, exports variables optionally named in ${PKG_ENV_VARS_EXTRA}, and
-# clears the package variable namespace.
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-exp_pkg_env_set() {
- local _build_vars_default="${1}" _group_name="${2}" _nounset="${3}" \
- _pkg_name="${4}" _cmd_name="" _var_prefixes="" _vars_set="" \
- _vname="" IFS IFS0;
-
- rtl_set_vars _vars_set BUILD_TYPE "DEFAULT ${_group_name} PKG_${_pkg_name}";
- rtl_set_vars _vars_set INHERIT_FROM "PKG_${_pkg_name}";
- _var_prefixes="$(rtl_toupper "DEFAULT DEFAULT_${PKG_BUILD_TYPE} ${_group_name}")";
- for _vname in $(rtl_lfilter "${_build_vars_default}" BUILD_TYPE); do
- if [ -n "${PKG_INHERIT_FROM:-}" ]; then
- rtl_set_vars _vars_set "${_vname}" \
- "$(rtl_lconcat "${_var_prefixes}" \
- "$(rtl_toupper "PKG_${PKG_INHERIT_FROM} PKG_${PKG_INHERIT_FROM}_${BUILD_KIND} PKG_${_pkg_name} PKG_${_pkg_name}_${BUILD_KIND}")")";
- else
- rtl_set_vars _vars_set "${_vname}" \
- "$(rtl_lconcat "${_var_prefixes}" \
- "$(rtl_toupper "PKG_${_pkg_name} PKG_${_pkg_name}_${BUILD_KIND}")")";
- fi;
- done;
- IFS0="${IFS:- }"; IFS=":"; for _vname in ${PKG_ENV_VARS_EXTRA:-}; do
- export "${_vname}";
- done; IFS="${IFS0}";
- if [ "${_nounset:-0}" -eq 0 ]; then
- rtl_unset_vars $(rtl_lfilter \
- "$(set | sed -ne '/^PKG_[^=]*=/s/=.*$//p' | paste -s -d " ")" \
- "${_vars_set}");
- fi;
-
- for _vname in AR CC CXX PKG_CONFIG RANLIB; do
- if eval [ '"${PKG_'"${_vname}"':+1}"' = 1 ]\
- && eval [ '"${PKG_'"${_vname}"'#/}"' = '"${_cmd_name:=${PKG_'"${_vname}"'}}"' ]; then
- eval PKG_${_vname}='$(which "${_cmd_name}")';
- fi; _cmd_name="";
- done;
-};
-
-#
-# ex_pkg_env() - set package variables for single named package
-# @_build_steps_default: list of default build steps
-# @_build_vars_default: list of default build variables
-# @_group_name: build group name
-# @_nounset: don't clear package variable namespace
-# @_pkg_name: single package name
-# @_restart_at: optional comma-separated list of build steps at which to rebuild or ALL or LAST
-# @_workdir: pathname to build-specific temporary directory
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-ex_pkg_env() {
- local _build_steps_default="${1}" _build_vars_default="${2}" _group_name="${3}" \
- _nounset="${4}" _pkg_name="${5}" _restart_at="${6}" _workdir="${7}" \
- _inherit_from="" _vars_file="" _vname="";
-
- if _inherit_from="$(rtl_get_var_unsafe -u "PKG_${_pkg_name}_INHERIT_FROM")"\
- && [ "${#_inherit_from}" -gt 0 ]; then
- _vars_file="$(rtl_get_var_unsafe -u "PKG_${_inherit_from}_VARS_FILE")";
- else
- _vars_file="$(rtl_get_var_unsafe -u "PKG_${_pkg_name}_VARS_FILE")";
- fi;
- if [ "${#_vars_file}" -eq 0 ]; then
- _vars_file="vars/${_pkg_name}.vars";
- fi;
-
- rtl_fileop source_opt "${_vars_file}" "${_group_name}/${_pkg_name}.${_group_name}";
- if ! exp_pkg_env_set "${_build_vars_default}" "${_group_name}" "${_nounset}" "${_pkg_name}"\
- || ! exp_pkg_env_defaults "${_build_steps_default}" "${_pkg_name}" "${_workdir}"; then
- return 1;
- fi;
-};
-
-#
-# ex_pkg_state_set() - update build step status for single named package
-# @_pkg_name: single package name
-# @_build_step: build step set status of
-# [@${@}]: optional list of build steps to invalidate status of
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-ex_pkg_state_set() {
- rtl_state_set "${_workdir}" "${@}";
-};
-
-#
-# ex_pkg_state_test() - test build step status of single named package
-# @_pkg_name: single package name
-# @_build_step: build step to test status of
-# @_restart_at: optional comma-separated list of build steps at which to rebuild or ALL or LAST
-#
-# Return: zero (0) on success, non-zero (>0) on failure
-#
-ex_pkg_state_test() {
- rtl_state_test "${_workdir}" "${@}";
-};
-
-# vim:filetype=sh