diff options
Diffstat (limited to 'subr.pkg/pkg_configure_patch.subr')
-rw-r--r-- | subr.pkg/pkg_configure_patch.subr | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/subr.pkg/pkg_configure_patch.subr b/subr.pkg/pkg_configure_patch.subr index 07fb644d..572ea10a 100644 --- a/subr.pkg/pkg_configure_patch.subr +++ b/subr.pkg/pkg_configure_patch.subr @@ -3,11 +3,14 @@ # set +o errexit -o noglob -o nounset is assumed. # +pkg_configure_patch_pre() { + pkg_configure_patch "${@}" "patches_pre"; +}; + pkg_configure_patch() { - local _pcp_group_name="${1}" _pcp_pkg_name="${2}" _pcp_restart_at="${3}" \ - _pcp_patch_cwd="" _pcp_patch_dir="${MIDIPIX_BUILD_PWD}/patches" \ - _pcp_patch_fname="" _pcp_patch_idx=0 _pcp_patches_done="" \ - _pcp_strip_count=0; + local _pcp_group_name="${1}" _pcp_pkg_name="${2}" \ + _pcp_restart_at="${3}" _pcp_type="${4:-patches}" \ + _pcp_patch_cwd="" _pcp_strip_count=0; if [ "${PKG_FNAME:+1}" = 1 ]\ && [ "${PKG_URLS_GIT:+1}" = 1 ]; @@ -19,24 +22,13 @@ pkg_configure_patch() { _pcp_strip_count=1; fi; - _pcp_patch_idx=1; - while ex_pkg_get_default \ - \$_pcp_patch_fname "${_pcp_pkg_name}" \ - "${PKG_VERSION:-}" "patches" "${_pcp_patch_idx}" \ - && [ "${_pcp_patch_fname:+1}" = 1 ]; - do - : $((_pcp_patch_idx += 1)); - if [ -r "${_pcp_patch_fname}" ]\ - && ! rtl_lmatch \$_pcp_patches_done "${_pcp_patch_fname}"; - then - if ! patch -b -d "${_pcp_patch_cwd}" "-p${_pcp_strip_count}" < "${_pcp_patch_fname}"; then - return 1; - else - rtl_lconcat \$_pcp_patches_done "${_pcp_patch_fname}"; - fi; - fi; - done; - + if ! rtl_patch_files \ + "${_pcp_patch_cwd}" "${_pcp_strip_count}" \ + ex_pkg_get_default -- -- \ + "${_pcp_pkg_name}" "${PKG_VERSION:-}" "${_pcp_type}"; + then + return 1; + fi; return 0; }; |