diff --git a/midipix.env b/midipix.env
index ca414cf..501eb14 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 be75de4..df78f42 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 ae825ad..cd82756 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 6784337..8dc7175 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