summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--midipix.env2
-rw-r--r--subr.rtl/rtl_install_v2.subr4
-rw-r--r--subr/ex_pkg_exec.subr2
-rw-r--r--subr/pkg_install_files.subr26
4 files changed, 31 insertions, 3 deletions
diff --git a/midipix.env b/midipix.env
index ca414cfe..501eb14b 100644
--- a/midipix.env
+++ b/midipix.env
@@ -25,7 +25,7 @@ DEFAULT_BUILD_VARS=" \
CONFIGURE_TYPE CXX CXXFLAGS_CONFIGURE CXXFLAGS_CONFIGURE_EXTRA DEPENDS \
DESTDIR DESTDIR_HOST DISABLED ENV_VARS_EXTRA FNAME FORCE_AUTORECONF \
GITROOT INHERIT_FROM INSTALL_FILES INSTALL_FILES_DESTDIR \
- INSTALL_FILES_DESTDIR_EXTRA INSTALL_TARGET INSTALL_TARGET_EXTRA \
+ INSTALL_FILES_DESTDIR_EXTRA INSTALL_FILES_V2 INSTALL_TARGET INSTALL_TARGET_EXTRA \
IN_TREE LDFLAGS_BUILD_EXTRA LDFLAGS_CONFIGURE LDFLAGS_CONFIGURE_EXTRA \
LIBTOOL MAKE MAKEFLAGS_BUILD MAKEFLAGS_BUILD_EXTRA MAKEFLAGS_INSTALL \
MAKEFLAGS_INSTALL_EXTRA MAKEFLAGS_VERBOSITY MAKE_INSTALL_VNAME \
diff --git a/subr.rtl/rtl_install_v2.subr b/subr.rtl/rtl_install_v2.subr
index be75de49..df78f42a 100644
--- a/subr.rtl/rtl_install_v2.subr
+++ b/subr.rtl/rtl_install_v2.subr
@@ -28,7 +28,7 @@ rtlp_install_fmap() {
done;
if rtlp_install_fmap_params "${_rif_rparams}" \$_rif_spec ""\
- && rtlp_install_fmap_patterns "$_rif_rparams}" "${_rif_prefix}" "${_rif_spec}" \$_rif_spec_list; then
+ && rtlp_install_fmap_patterns "${_rif_rparams}" "${_rif_prefix}" "${_rif_spec}" \$_rif_spec_list; then
IFS="${RTLP_INSTALL_NL}"; for _rif_spec_cur in ${_rif_spec_list}; do
IFS="${_rif_IFS0}"; set --;
_rif_nspec=1; while [ "${_rif_nspec}" -le "${_rif_specsc}" ]; do
@@ -124,7 +124,7 @@ rtlp_install_fmap_patterns() {
if rtlp_install_splitl_ref \$_rifp2_expr \$_rifp2_lhs \$_rifp2_rhs '%<' '>'; then
case "${_rifp2_expr}" in
*\**)
- set +o noglob; for _rifp2_pname in ${_rifp2_prefix:+"${_rifp2_prefix%}/"}${_rifp2_lhs:+"${_rifp2_lhs%/}/"}${_rifp2_expr}; do
+ set +o noglob; for _rifp2_pname in ${_rifp2_lhs:+"${_rifp2_lhs%/}/"}${_rifp2_expr}; do
set -o noglob; _rifp2_pname="${_rifp2_pname%/}${_rifp2_rhs:+/${_rifp2_rhs}}";
if [ -e "${_rifp2_pname}" ]; then
eval ${_rifp2_rspec_list}='${'"${_rifp2_rspec_list}"':+${'"${_rifp2_rspec_list}"'}${RTLP_INSTALL_NL}}${_rifp2_pname}';
diff --git a/subr/ex_pkg_exec.subr b/subr/ex_pkg_exec.subr
index ae825ad2..cd82756c 100644
--- a/subr/ex_pkg_exec.subr
+++ b/subr/ex_pkg_exec.subr
@@ -30,6 +30,8 @@ exp_pkg_exec_pre() {
if [ -z "${PKG_URL:-}" ]\
&& [ -z "${PKG_URLS_GIT:-}" ]\
&& [ -z "${PKG_VERSION:-}" ]\
+ && [ -z "${PKG_INSTALL_FILES:-}" ]\
+ && [ -z "${PKG_INSTALL_FILES_V2:-}" ]\
&& ! rtl_test_cmd "pkg_${_pkg_name}_all"; then
"${_dispatch_fn}" missing_pkg "${_group_name}" "${_pkg_name}";
return 1;
diff --git a/subr/pkg_install_files.subr b/subr/pkg_install_files.subr
index 67843377..8dc71753 100644
--- a/subr/pkg_install_files.subr
+++ b/subr/pkg_install_files.subr
@@ -10,6 +10,31 @@ pkgp_install_files() {
fi;
};
+pkgp_install_files_v2() {
+ local _vflag=""; _status="";
+
+ if [ -n "${PKG_INSTALL_FILES_V2:-}" ]; then
+ [ "${ARG_VERBOSE:-0}" -ge 3 ] && _vflag="-v";
+ if ! rtl_install_v2 \
+ -p "_builddir=${PKG_BUILD_DIR}" \
+ -p "_destdir=${PKG_BASE_DIR}/${PKG_DESTDIR}" \
+ -p "_destdir_host=${PKG_BASE_DIR}/${PKG_DESTDIR_HOST}" \
+ -p "_files=${MIDIPIX_BUILD_PWD}/files/${PKG_NAME}" \
+ -p "_name=${PKG_NAME}" \
+ -p "_prefix=${PKG_PREFIX}" \
+ -p "_prefix_host=${PREFIX}" \
+ -p "_prefix_native=${PREFIX_NATIVE}" \
+ -p "_subdir=${PKG_BASE_DIR}/${PKG_SUBDIR}" \
+ -p "_target=${PKG_TARGET}" \
+ -p "_version=${PKG_VERSION:-}" \
+ -p "_workdir=${BUILD_WORKDIR}" \
+ ${_vflag} -- "${PKG_DESTDIR}" \
+ "${PKG_INSTALL_FILES_V2}"; then
+ return 1;
+ fi;
+ fi;
+};
+
pkgp_install_files_perms() {
local _destdir="" _fname="" IFS;
for _destdir in "${PKG_DESTDIR}" "${PKG_DESTDIR_HOST}"; do
@@ -77,6 +102,7 @@ pkgp_install_files_strip() {
pkg_install_files() {
if ! pkgp_install_files\
+ || ! pkgp_install_files_v2\
|| ! pkgp_install_files_perms\
|| ! pkgp_install_files_pkgconfig\
|| ! pkgp_install_files_strip; then