diff options
author | 2020-06-20 20:56:39 +0200 | |
---|---|---|
committer | 2020-06-23 20:30:36 +0200 | |
commit | 0593f945a6a1aaed13f6e3eb5938ab50d31c7c0a (patch) | |
tree | 638f91ac07ea5c25e7ec4b9b14cb05594d6dd517 /eclass/llvm.org.eclass | |
parent | dev-erlang/jose: Bump. (diff) | |
download | gentoo-0593f945a6a1aaed13f6e3eb5938ab50d31c7c0a.tar.gz gentoo-0593f945a6a1aaed13f6e3eb5938ab50d31c7c0a.tar.bz2 gentoo-0593f945a6a1aaed13f6e3eb5938ab50d31c7c0a.zip |
llvm.org.eclass: Introduce llvm-project patch-friendly src_prepare
Introduce llvm.org_src_prepare() that calls appropriate src_prepare()
implementation (either cmake or default), causing patch application
to happen in ${WORKDIR} rather than ${S}. This makes it possible
to use patches made against llvm-project git repository out of the box.
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'eclass/llvm.org.eclass')
-rw-r--r-- | eclass/llvm.org.eclass | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index b4b80df06d85..9fc975cd51cb 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -174,6 +174,9 @@ llvm.org_set_globals() { # == phase functions == EXPORT_FUNCTIONS src_unpack +if ver_test -ge 10.0.1_rc; then + EXPORT_FUNCTIONS src_prepare +fi # @FUNCTION: llvm.org_src_unpack # @DESCRIPTION: @@ -217,3 +220,23 @@ llvm.org_src_unpack() { fi fi } + +# @FUNCTION: llvm.org_src_prepare +# @DESCRIPTION: +# Call appropriate src_prepare (cmake or default) depending on inherited +# eclasses. Make sure that PATCHES and user patches are applied in top +# ${WORKDIR}, so that patches straight from llvm-project repository +# work correctly with -p1. +llvm.org_src_prepare() { + if declare -f cmake_src_prepare >/dev/null; then + # cmake eclasses force ${S} for default_src_prepare + # but use ${CMAKE_USE_DIR} for everything else + CMAKE_USE_DIR=${S} \ + S=${WORKDIR} \ + cmake_src_prepare + else + pushd "${WORKDIR}" >/dev/null || die + default_src_prepare + popd >/dev/null || die + fi +} |