diff options
author | Vadim A. Misbakh-Soloviov <git@mva.name> | 2017-11-01 13:16:46 +0700 |
---|---|---|
committer | Vadim A. Misbakh-Soloviov <git@mva.name> | 2017-11-01 13:16:46 +0700 |
commit | 5464c98cdee5a7e6db3dd6debf49e67465f34fbe (patch) | |
tree | b681e40bc02b02e2cd090f0ac8aaa89400b3d738 /eclass | |
parent | luacheck: added (diff) | |
download | lua-5464c98cdee5a7e6db3dd6debf49e67465f34fbe.tar.gz lua-5464c98cdee5a7e6db3dd6debf49e67465f34fbe.tar.bz2 lua-5464c98cdee5a7e6db3dd6debf49e67465f34fbe.zip |
luajit: fix min_clone_type
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/patches.eclass | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/eclass/patches.eclass b/eclass/patches.eclass new file mode 100644 index 0000000..d8173cd --- /dev/null +++ b/eclass/patches.eclass @@ -0,0 +1,60 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +# @ECLASS: patches.eclass +# @MAINTAINER: +# mva +# @AUTHOR: +# mva +# @BLURB: +# @DESCRIPTION: +# Eclass that checks for patches directories existance and auto-add them into PATCHES=() + +EXPORT_FUNCTIONS src_prepare + +PATCHDIR="${FILESDIR}/patches/${PV}" +[[ -z ${PATCHES[@]} ]] && PATCHES=() + +patches_src_prepare() { + if [[ -d "${PATCHDIR}" ]]; then + _patchdir_not_empty() { + local has_files + local LC_ALL=POSIX + local prev_shopt=$(shopt -p nullglob) + shopt -s nullglob + local f + for f in "${1:-${PATCHDIR}}"/*; do + if [[ "${f}" == *.diff || "${f}" == *.patch ]] && [[ -f "${f}" || -L "${f}" ]]; then + has_files=1 + elif [[ -d "${f}" ]]; then + # recursion + _patchdir_not_empty "${f}" && has_files=1 + fi + done + ${prev_shopt} + [[ -n "${has_files}" ]]; return $? + } + + _patchdir_not_empty && PATCHES+=("${PATCHDIR}") + + if [[ -d "${PATCHDIR}/conditional" ]]; then + pushd "${PATCHDIR}/conditional" &>/dev/null + for d in *; do + if [[ -d ${d} ]]; then + if [[ "${d##no-}" == ${d} ]]; then + (use "${d}" && _patchdir_not_empty "${d}") && PATCHES+=("${PATCHDIR}/conditional/${d}") + else + (use "${d##no-}" && _patchdir_not_empty "${d}") || PATCHES+=("${PATCHDIR}/conditional/${d}") + fi + fi + done + popd &>/dev/null + fi + fi + if declare -f cmake-utils_src_prepare &>/dev/null; then + # cmake-utils_src_prepare support (to decrease kludges in the ebuilds) + cmake-utils_src_prepare + else + default_src_prepare + fi +} |