From 5464c98cdee5a7e6db3dd6debf49e67465f34fbe Mon Sep 17 00:00:00 2001 From: "Vadim A. Misbakh-Soloviov" Date: Wed, 1 Nov 2017 13:16:46 +0700 Subject: luajit: fix min_clone_type --- eclass/patches.eclass | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 eclass/patches.eclass (limited to 'eclass') 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 +} -- cgit v1.2.3-65-gdbad