[gentoo-dev] [PATCH 16/18] sys-libs/libcxxabi: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-libs/libcxxabi/libcxxabi-10.0.1..ebuild | 16 ++--
 sys-libs/libcxxabi/libcxxabi-10.0.1_rc1.ebuild  | 16 ++--
 sys-libs/libcxxabi/libcxxabi-11.0.0..ebuild | 16 ++--
 3 files changed, 6 insertions(+), 42 deletions(-)

diff --git a/sys-libs/libcxxabi/libcxxabi-10.0.1..ebuild 
b/sys-libs/libcxxabi/libcxxabi-10.0.1..ebuild
index a1236effd156..41a864c31acd 100644
--- a/sys-libs/libcxxabi/libcxxabi-10.0.1..ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-10.0.1..ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 
toolchain-funcs
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="Low level support for a standard C++ library"
 HOMEPAGE="https://libcxxabi.llvm.org/;
@@ -33,9 +33,6 @@ BDEPEND="
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -45,13 +42,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 multilib_src_configure() {
# link against compiler-rt instead of libgcc if we are using clang with 
libunwind
local want_compiler_rt=OFF
@@ -79,13 +69,11 @@ multilib_src_configure() {
)
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 
2>/dev/null)
-   local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}
-
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang 
for tests"
 
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   
-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+   
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
)
fi
cmake_src_configure
diff --git a/sys-libs/libcxxabi/libcxxabi-10.0.1_rc1.ebuild 
b/sys-libs/libcxxabi/libcxxabi-10.0.1_rc1.ebuild
index a1236effd156..41a864c31acd 100644
--- a/sys-libs/libcxxabi/libcxxabi-10.0.1_rc1.ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-10.0.1_rc1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 
toolchain-funcs
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="Low level support for a standard C++ library"
 HOMEPAGE="https://libcxxabi.llvm.org/;
@@ -33,9 +33,6 @@ BDEPEND="
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -45,13 +42,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 multilib_src_configure() {
# link against compiler-rt instead of libgcc if we are using clang with 
libunwind
local want_compiler_rt=OFF
@@ -79,13 +69,11 @@ multilib_src_configure() {
)
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 
2>/dev/null)
-   local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}
-
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang 
for tests"
 
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   
-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+   
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
)
fi
cmake_src_configure
diff --git a/sys-libs/libcxxabi/libcxxabi-11.0.0..ebuild 
b/sys-libs/libcxxabi/libcxxabi-11.0.0..ebuild
index b4d67fc8e6d6..534db9954d2c 100644
--- a/sys-libs/libcxxabi/libcxxabi-11.0.0..ebuild
+++ b/sys-libs/libcxxabi/libcxxabi-11.0.0..ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 
toolchain-funcs
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="Low level support for a standard C++ library"
 HOMEPAGE="https://libcxxabi.llvm.org/;
@@ -33,9 +33,6 @@ BDEPEND="
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
-# least intrusive of all

[gentoo-dev] [PATCH 15/18] sys-libs/llvm-libunwind: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 .../llvm-libunwind-10.0.1..ebuild| 16 ++--
 .../llvm-libunwind-10.0.1_rc1.ebuild | 16 ++--
 .../llvm-libunwind-11.0.0..ebuild| 16 ++--
 3 files changed, 6 insertions(+), 42 deletions(-)

diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1..ebuild 
b/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1..ebuild
index 6d15a7f4a17c..711bac7d068f 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1..ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1..ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1
+inherit cmake-multilib llvm llvm.org python-any-r1
 
 DESCRIPTION="C++ runtime stack unwinder from LLVM"
 HOMEPAGE="https://github.com/llvm-mirror/libunwind;
@@ -27,9 +27,6 @@ BDEPEND="
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -38,13 +35,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 multilib_src_configure() {
local libdir=$(get_libdir)
 
@@ -60,13 +50,11 @@ multilib_src_configure() {
)
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 
2>/dev/null)
-   local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}
-
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang 
for tests"
 
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   
-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+   
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
-DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
)
fi
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1_rc1.ebuild 
b/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1_rc1.ebuild
index 6d15a7f4a17c..711bac7d068f 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1_rc1.ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-10.0.1_rc1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1
+inherit cmake-multilib llvm llvm.org python-any-r1
 
 DESCRIPTION="C++ runtime stack unwinder from LLVM"
 HOMEPAGE="https://github.com/llvm-mirror/libunwind;
@@ -27,9 +27,6 @@ BDEPEND="
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -38,13 +35,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 multilib_src_configure() {
local libdir=$(get_libdir)
 
@@ -60,13 +50,11 @@ multilib_src_configure() {
)
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 
2>/dev/null)
-   local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}
-
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang 
for tests"
 
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   
-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+   
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
-DLIBUNWIND_LIBCXX_PATH="${WORKDIR}/libcxx"
)
fi
diff --git a/sys-libs/llvm-libunwind/llvm-libunwind-11.0.0..ebuild 
b/sys-libs/llvm-libunwind/llvm-libunwind-11.0.0..ebuild
index 6d15a7f4a17c..711bac7d068f 100644
--- a/sys-libs/llvm-libunwind/llvm-libunwind-11.0.0..ebuild
+++ b/sys-libs/llvm-libunwind/llvm-libunwind-11.0.0..ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1
+inherit cmake-multilib llvm llvm.org python-any-r1
 
 DESCRIPTION="C++ runtime stack unwinder from LLVM"
 HOMEPAGE="https://github.com/llvm-mirror/libunwind;
@@ -27,9 +27,6 @@ BDEPEND="
test? ( >=sys-devel/clang-3.9.0
$(python_gen_any_dep 'dev-python/lit[${PYTHON_USEDEP}]') )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {

[gentoo-dev] [PATCH 17/18] sys-libs/libcxx: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-libs/libcxx/libcxx-10.0.1..ebuild | 15 +++
 sys-libs/libcxx/libcxx-10.0.1_rc1.ebuild  | 15 +++
 sys-libs/libcxx/libcxx-11.0.0..ebuild | 15 +++
 3 files changed, 9 insertions(+), 36 deletions(-)

diff --git a/sys-libs/libcxx/libcxx-10.0.1..ebuild 
b/sys-libs/libcxx/libcxx-10.0.1..ebuild
index 055385df1c68..f96a537e3541 100644
--- a/sys-libs/libcxx/libcxx-10.0.1..ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.1..ebuild
@@ -5,8 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-   toolchain-funcs
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/;
@@ -34,9 +33,6 @@ BDEPEND="
 
 DOCS=( CREDITS.TXT )
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -58,10 +54,7 @@ src_prepare() {
# out-of-tree build.
eapply "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 }
 
 test_compiler() {
@@ -132,13 +125,11 @@ multilib_src_configure() {
 
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 
2>/dev/null)
-   local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}
-
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang 
for tests"
 
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   
-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+   
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
)
fi
cmake_src_configure
diff --git a/sys-libs/libcxx/libcxx-10.0.1_rc1.ebuild 
b/sys-libs/libcxx/libcxx-10.0.1_rc1.ebuild
index 055385df1c68..f96a537e3541 100644
--- a/sys-libs/libcxx/libcxx-10.0.1_rc1.ebuild
+++ b/sys-libs/libcxx/libcxx-10.0.1_rc1.ebuild
@@ -5,8 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-   toolchain-funcs
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/;
@@ -34,9 +33,6 @@ BDEPEND="
 
 DOCS=( CREDITS.TXT )
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -58,10 +54,7 @@ src_prepare() {
# out-of-tree build.
eapply "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 }
 
 test_compiler() {
@@ -132,13 +125,11 @@ multilib_src_configure() {
 
if use test; then
local clang_path=$(type -P "${CHOST:+${CHOST}-}clang" 
2>/dev/null)
-   local jobs=${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}
-
[[ -n ${clang_path} ]] || die "Unable to find ${CHOST}-clang 
for tests"
 
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   
-DLLVM_LIT_ARGS="-vv;-j;${jobs};--param=cxx_under_test=${clang_path}"
+   
-DLLVM_LIT_ARGS="$(get_lit_flags);--param=cxx_under_test=${clang_path}"
)
fi
cmake_src_configure
diff --git a/sys-libs/libcxx/libcxx-11.0.0..ebuild 
b/sys-libs/libcxx/libcxx-11.0.0..ebuild
index bb151379aedf..01acafa1f815 100644
--- a/sys-libs/libcxx/libcxx-11.0.0..ebuild
+++ b/sys-libs/libcxx/libcxx-11.0.0..ebuild
@@ -5,8 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib llvm llvm.org multiprocessing python-any-r1 \
-   toolchain-funcs
+inherit cmake-multilib llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="New implementation of the C++ standard library, targeting C++11"
 HOMEPAGE="https://libcxx.llvm.org/;
@@ -35,9 +34,6 @@ BDEPEND="
 
 DOCS=( CREDITS.TXT )
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -59,10 +55,7 @@ src_prepare() {
# out-of-tree build.
eapply "${FILESDIR}/${PN}-3.9-cmake-link-flags.patch"
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 }
 
 test_compiler() {
@@ -133,13 +126,11 @@ 

[gentoo-dev] [PATCH 18/18] sys-libs/libomp: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-libs/libomp/libomp-10.0.1..ebuild | 14 ++
 sys-libs/libomp/libomp-10.0.1_rc1.ebuild  | 14 ++
 sys-libs/libomp/libomp-11.0.0..ebuild | 14 ++
 3 files changed, 6 insertions(+), 36 deletions(-)

diff --git a/sys-libs/libomp/libomp-10.0.1..ebuild 
b/sys-libs/libomp/libomp-10.0.1..ebuild
index 01e5f189d659..5bffd6685f64 100644
--- a/sys-libs/libomp/libomp-10.0.1..ebuild
+++ b/sys-libs/libomp/libomp-10.0.1..ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib linux-info llvm.org multiprocessing python-any-r1
+inherit cmake-multilib linux-info llvm.org python-any-r1
 
 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
 HOMEPAGE="https://openmp.llvm.org;
@@ -39,9 +39,6 @@ BDEPEND="dev-lang/perl
>=sys-devel/clang-6
)"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -67,13 +64,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 multilib_src_configure() {
local libdir="$(get_libdir)"
local mycmakeargs=(
@@ -98,7 +88,7 @@ multilib_src_configure() {
use test && mycmakeargs+=(
# this project does not use standard LLVM cmake macros
-DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
-   -DOPENMP_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DOPENMP_LIT_ARGS="$(get_lit_flags)"
 
-DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
-DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
diff --git a/sys-libs/libomp/libomp-10.0.1_rc1.ebuild 
b/sys-libs/libomp/libomp-10.0.1_rc1.ebuild
index 01e5f189d659..5bffd6685f64 100644
--- a/sys-libs/libomp/libomp-10.0.1_rc1.ebuild
+++ b/sys-libs/libomp/libomp-10.0.1_rc1.ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib linux-info llvm.org multiprocessing python-any-r1
+inherit cmake-multilib linux-info llvm.org python-any-r1
 
 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
 HOMEPAGE="https://openmp.llvm.org;
@@ -39,9 +39,6 @@ BDEPEND="dev-lang/perl
>=sys-devel/clang-6
)"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -67,13 +64,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 multilib_src_configure() {
local libdir="$(get_libdir)"
local mycmakeargs=(
@@ -98,7 +88,7 @@ multilib_src_configure() {
use test && mycmakeargs+=(
# this project does not use standard LLVM cmake macros
-DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
-   -DOPENMP_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DOPENMP_LIT_ARGS="$(get_lit_flags)"
 
-DOPENMP_TEST_C_COMPILER="$(type -P "${CHOST}-clang")"
-DOPENMP_TEST_CXX_COMPILER="$(type -P "${CHOST}-clang++")"
diff --git a/sys-libs/libomp/libomp-11.0.0..ebuild 
b/sys-libs/libomp/libomp-11.0.0..ebuild
index 01e5f189d659..5bffd6685f64 100644
--- a/sys-libs/libomp/libomp-11.0.0..ebuild
+++ b/sys-libs/libomp/libomp-11.0.0..ebuild
@@ -5,7 +5,7 @@ EAPI=7
 
 CMAKE_ECLASS=cmake
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake-multilib linux-info llvm.org multiprocessing python-any-r1
+inherit cmake-multilib linux-info llvm.org python-any-r1
 
 DESCRIPTION="OpenMP runtime library for LLVM/clang compiler"
 HOMEPAGE="https://openmp.llvm.org;
@@ -39,9 +39,6 @@ BDEPEND="dev-lang/perl
>=sys-devel/clang-6
)"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -67,13 +64,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 multilib_src_configure() {
local libdir="$(get_libdir)"
local mycmakeargs=(
@@ -98,7 +88,7 @@ multilib_src_configure() {
use test && mycmakeargs+=(
# this project does not use standard LLVM cmake macros
-DOPENMP_LLVM_LIT_EXECUTABLE="${EPREFIX}/usr/bin/lit"
-   -DOPENMP_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   

[gentoo-dev] [PATCH 12/18] dev-util/lldb: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 dev-util/lldb/lldb-10.0.1..ebuild | 15 ++-
 dev-util/lldb/lldb-10.0.1_rc1.ebuild  | 15 ++-
 dev-util/lldb/lldb-11.0.0..ebuild | 15 ++-
 3 files changed, 6 insertions(+), 39 deletions(-)

diff --git a/dev-util/lldb/lldb-10.0.1..ebuild 
b/dev-util/lldb/lldb-10.0.1..ebuild
index ecdb75359b11..2dfe01834ca3 100644
--- a/dev-util/lldb/lldb-10.0.1..ebuild
+++ b/dev-util/lldb/lldb-10.0.1..ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multiprocessing python-single-r1 \
-   toolchain-funcs
+inherit cmake llvm llvm.org python-single-r1 toolchain-funcs
 
 DESCRIPTION="The LLVM debugger"
 HOMEPAGE="https://llvm.org/;
@@ -43,21 +42,11 @@ BDEPEND="
sys-devel/lld )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-single-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
local mycmakeargs=(
-DLLDB_ENABLE_CURSES=$(usex ncurses)
@@ -87,7 +76,7 @@ src_configure() {
 
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
cmake_src_configure
diff --git a/dev-util/lldb/lldb-10.0.1_rc1.ebuild 
b/dev-util/lldb/lldb-10.0.1_rc1.ebuild
index ecdb75359b11..2dfe01834ca3 100644
--- a/dev-util/lldb/lldb-10.0.1_rc1.ebuild
+++ b/dev-util/lldb/lldb-10.0.1_rc1.ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multiprocessing python-single-r1 \
-   toolchain-funcs
+inherit cmake llvm llvm.org python-single-r1 toolchain-funcs
 
 DESCRIPTION="The LLVM debugger"
 HOMEPAGE="https://llvm.org/;
@@ -43,21 +42,11 @@ BDEPEND="
sys-devel/lld )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-single-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
local mycmakeargs=(
-DLLDB_ENABLE_CURSES=$(usex ncurses)
@@ -87,7 +76,7 @@ src_configure() {
 
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
cmake_src_configure
diff --git a/dev-util/lldb/lldb-11.0.0..ebuild 
b/dev-util/lldb/lldb-11.0.0..ebuild
index ecdb75359b11..2dfe01834ca3 100644
--- a/dev-util/lldb/lldb-11.0.0..ebuild
+++ b/dev-util/lldb/lldb-11.0.0..ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multiprocessing python-single-r1 \
-   toolchain-funcs
+inherit cmake llvm llvm.org python-single-r1 toolchain-funcs
 
 DESCRIPTION="The LLVM debugger"
 HOMEPAGE="https://llvm.org/;
@@ -43,21 +42,11 @@ BDEPEND="
sys-devel/lld )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-single-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
local mycmakeargs=(
-DLLDB_ENABLE_CURSES=$(usex ncurses)
@@ -87,7 +76,7 @@ src_configure() {
 
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
cmake_src_configure
-- 
2.27.0




[gentoo-dev] [PATCH 14/18] sys-libs/compiler-rt-sanitizers: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 .../compiler-rt-sanitizers-10.0.1..ebuild | 15 ++-
 .../compiler-rt-sanitizers-10.0.1_rc1.ebuild  | 15 ++-
 .../compiler-rt-sanitizers-11.0.0..ebuild | 15 ++-
 3 files changed, 6 insertions(+), 39 deletions(-)

diff --git 
a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1..ebuild 
b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1..ebuild
index 125a82e8a057..006db04567ad 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1..ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1..ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit check-reqs cmake flag-o-matic llvm llvm.org multiprocessing \
-   python-any-r1
+inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1
 
 DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
 HOMEPAGE="https://llvm.org/;
@@ -35,9 +34,6 @@ BDEPEND="
sys-libs/compiler-rt:${SLOT} )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
use test || return 0
has_version "dev-python/lit[${PYTHON_USEDEP}]"
@@ -60,13 +56,6 @@ pkg_setup() {
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
# pre-set since we need to pass it to cmake
BUILD_DIR=${WORKDIR}/compiler-rt_build
@@ -96,7 +85,7 @@ src_configure() {
mycmakeargs+=(
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
 
# they are created during src_test()

-DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang"
diff --git 
a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1_rc1.ebuild 
b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1_rc1.ebuild
index 125a82e8a057..006db04567ad 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1_rc1.ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-10.0.1_rc1.ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit check-reqs cmake flag-o-matic llvm llvm.org multiprocessing \
-   python-any-r1
+inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1
 
 DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
 HOMEPAGE="https://llvm.org/;
@@ -35,9 +34,6 @@ BDEPEND="
sys-libs/compiler-rt:${SLOT} )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
use test || return 0
has_version "dev-python/lit[${PYTHON_USEDEP}]"
@@ -60,13 +56,6 @@ pkg_setup() {
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
# pre-set since we need to pass it to cmake
BUILD_DIR=${WORKDIR}/compiler-rt_build
@@ -96,7 +85,7 @@ src_configure() {
mycmakeargs+=(
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
 
# they are created during src_test()

-DCOMPILER_RT_TEST_COMPILER="${BUILD_DIR}/lib/llvm/${CLANG_SLOT}/bin/clang"
diff --git 
a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.0..ebuild 
b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.0..ebuild
index 125a82e8a057..006db04567ad 100644
--- a/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.0..ebuild
+++ b/sys-libs/compiler-rt-sanitizers/compiler-rt-sanitizers-11.0.0..ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit check-reqs cmake flag-o-matic llvm llvm.org multiprocessing \
-   python-any-r1
+inherit check-reqs cmake flag-o-matic llvm llvm.org python-any-r1
 
 DESCRIPTION="Compiler runtime libraries for clang (sanitizers & xray)"
 HOMEPAGE="https://llvm.org/;
@@ -35,9 +34,6 @@ BDEPEND="
sys-libs/compiler-rt:${SLOT} )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
use test || return 0
has_version "dev-python/lit[${PYTHON_USEDEP}]"
@@ -60,13 +56,6 @@ pkg_setup() {
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-  

[gentoo-dev] [PATCH 13/18] sys-libs/compiler-rt: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 .../compiler-rt/compiler-rt-10.0.1..ebuild| 15 ++-
 .../compiler-rt/compiler-rt-10.0.1_rc1.ebuild | 15 ++-
 .../compiler-rt/compiler-rt-11.0.0..ebuild| 15 ++-
 3 files changed, 6 insertions(+), 39 deletions(-)

diff --git a/sys-libs/compiler-rt/compiler-rt-10.0.1..ebuild 
b/sys-libs/compiler-rt/compiler-rt-10.0.1..ebuild
index 422f3ce2cf4d..c83c56ecf249 100644
--- a/sys-libs/compiler-rt/compiler-rt-10.0.1..ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-10.0.1..ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake flag-o-matic llvm llvm.org multiprocessing \
-   python-any-r1 toolchain-funcs
+inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="Compiler runtime library for clang (built-in part)"
 HOMEPAGE="https://llvm.org/;
@@ -29,9 +28,6 @@ BDEPEND="
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
use test || return 0
has_version "dev-python/lit[${PYTHON_USEDEP}]"
@@ -49,13 +45,6 @@ pkg_setup() {
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 test_compiler() {
$(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
<<<'int main() { return 0; }' &>/dev/null
@@ -99,7 +88,7 @@ src_configure() {
if use test; then
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
 

-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang"

-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++"
diff --git a/sys-libs/compiler-rt/compiler-rt-10.0.1_rc1.ebuild 
b/sys-libs/compiler-rt/compiler-rt-10.0.1_rc1.ebuild
index 422f3ce2cf4d..c83c56ecf249 100644
--- a/sys-libs/compiler-rt/compiler-rt-10.0.1_rc1.ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-10.0.1_rc1.ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake flag-o-matic llvm llvm.org multiprocessing \
-   python-any-r1 toolchain-funcs
+inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="Compiler runtime library for clang (built-in part)"
 HOMEPAGE="https://llvm.org/;
@@ -29,9 +28,6 @@ BDEPEND="
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
use test || return 0
has_version "dev-python/lit[${PYTHON_USEDEP}]"
@@ -49,13 +45,6 @@ pkg_setup() {
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 test_compiler() {
$(tc-getCC) ${CFLAGS} ${LDFLAGS} "${@}" -o /dev/null -x c - \
<<<'int main() { return 0; }' &>/dev/null
@@ -99,7 +88,7 @@ src_configure() {
if use test; then
mycmakeargs+=(
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
 

-DCOMPILER_RT_TEST_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang"

-DCOMPILER_RT_TEST_CXX_COMPILER="${EPREFIX}/usr/lib/llvm/${CLANG_SLOT}/bin/clang++"
diff --git a/sys-libs/compiler-rt/compiler-rt-11.0.0..ebuild 
b/sys-libs/compiler-rt/compiler-rt-11.0.0..ebuild
index 422f3ce2cf4d..c83c56ecf249 100644
--- a/sys-libs/compiler-rt/compiler-rt-11.0.0..ebuild
+++ b/sys-libs/compiler-rt/compiler-rt-11.0.0..ebuild
@@ -4,8 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake flag-o-matic llvm llvm.org multiprocessing \
-   python-any-r1 toolchain-funcs
+inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
 
 DESCRIPTION="Compiler runtime library for clang (built-in part)"
 HOMEPAGE="https://llvm.org/;
@@ -29,9 +28,6 @@ BDEPEND="
=sys-devel/clang-${PV%_*}*:${CLANG_SLOT} )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
use test || return 0
has_version "dev-python/lit[${PYTHON_USEDEP}]"
@@ -49,13 +45,6 @@ pkg_setup() {
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 

[gentoo-dev] [PATCH 10/18] sys-devel/clang: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-devel/clang/clang-10.0.1..ebuild | 14 --
 sys-devel/clang/clang-10.0.1_rc1.ebuild  | 14 --
 sys-devel/clang/clang-11.0.0..ebuild | 14 --
 3 files changed, 12 insertions(+), 30 deletions(-)

diff --git a/sys-devel/clang/clang-10.0.1..ebuild 
b/sys-devel/clang/clang-10.0.1..ebuild
index 8db3efe5b94a..2b8d5fee0580 100644
--- a/sys-devel/clang/clang-10.0.1..ebuild
+++ b/sys-devel/clang/clang-10.0.1..ebuild
@@ -4,8 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multilib-minimal multiprocessing \
-   pax-utils python-single-r1 toolchain-funcs
+inherit cmake llvm llvm.org multilib-minimal pax-utils \
+   python-single-r1 toolchain-funcs
 
 DESCRIPTION="C language family frontend for LLVM"
 HOMEPAGE="https://llvm.org/;
@@ -55,9 +55,6 @@ PDEPEND="
default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
default-libcxx? ( >=sys-libs/libcxx-${PV} )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 # Multilib notes:
 # 1. ABI_* flags control ABIs libclang* is built for only.
 # 2. clang is always capable of compiling code for all ABIs for enabled
@@ -85,10 +82,7 @@ src_prepare() {
mkdir -p x/y || die
BUILD_DIR=${WORKDIR}/x/y/clang
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 
mv ../clang-tools-extra tools/extra || die
 }
@@ -259,7 +253,7 @@ multilib_src_configure() {
)
use test && mycmakeargs+=(
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
if multilib_is_native_abi; then
diff --git a/sys-devel/clang/clang-10.0.1_rc1.ebuild 
b/sys-devel/clang/clang-10.0.1_rc1.ebuild
index bc6d83f42a8d..db3798d217bd 100644
--- a/sys-devel/clang/clang-10.0.1_rc1.ebuild
+++ b/sys-devel/clang/clang-10.0.1_rc1.ebuild
@@ -4,8 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multilib-minimal multiprocessing \
-   pax-utils python-single-r1 toolchain-funcs
+inherit cmake llvm llvm.org multilib-minimal pax-utils \
+   python-single-r1 toolchain-funcs
 
 DESCRIPTION="C language family frontend for LLVM"
 HOMEPAGE="https://llvm.org/;
@@ -55,9 +55,6 @@ PDEPEND="
default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
default-libcxx? ( >=sys-libs/libcxx-${PV} )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 # Multilib notes:
 # 1. ABI_* flags control ABIs libclang* is built for only.
 # 2. clang is always capable of compiling code for all ABIs for enabled
@@ -85,10 +82,7 @@ src_prepare() {
mkdir -p x/y || die
BUILD_DIR=${WORKDIR}/x/y/clang
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 
mv ../clang-tools-extra tools/extra || die
 }
@@ -259,7 +253,7 @@ multilib_src_configure() {
)
use test && mycmakeargs+=(
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
if multilib_is_native_abi; then
diff --git a/sys-devel/clang/clang-11.0.0..ebuild 
b/sys-devel/clang/clang-11.0.0..ebuild
index 76c40cb71042..5991c42d4c69 100644
--- a/sys-devel/clang/clang-11.0.0..ebuild
+++ b/sys-devel/clang/clang-11.0.0..ebuild
@@ -4,8 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multilib-minimal multiprocessing \
-   pax-utils python-single-r1 toolchain-funcs
+inherit cmake llvm llvm.org multilib-minimal pax-utils \
+   python-single-r1 toolchain-funcs
 
 DESCRIPTION="C language family frontend for LLVM"
 HOMEPAGE="https://llvm.org/;
@@ -56,9 +56,6 @@ PDEPEND="
default-compiler-rt? ( =sys-libs/compiler-rt-${PV%_*}* )
default-libcxx? ( >=sys-libs/libcxx-${PV} )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 # Multilib notes:
 # 1. ABI_* flags control ABIs libclang* is built for only.
 # 2. clang is always capable of compiling code for all ABIs for enabled
@@ -80,10 +77,7 @@ src_prepare() {
mkdir -p x/y || die
BUILD_DIR=${WORKDIR}/x/y/clang
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 
mv ../clang-tools-extra tools/extra || die
 }
@@ -254,7 +248,7 @@ multilib_src_configure() {
)
use test && mycmakeargs+=(
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 

[gentoo-dev] [PATCH 09/18] sys-devel/clang-common: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-devel/clang-common/clang-common-10.0.1..ebuild | 5 -
 sys-devel/clang-common/clang-common-10.0.1_rc1.ebuild  | 5 -
 sys-devel/clang-common/clang-common-11.0.0..ebuild | 5 -
 3 files changed, 15 deletions(-)

diff --git a/sys-devel/clang-common/clang-common-10.0.1..ebuild 
b/sys-devel/clang-common/clang-common-10.0.1..ebuild
index 6da8d1a30ae7..d1bfe71d2f80 100644
--- a/sys-devel/clang-common/clang-common-10.0.1..ebuild
+++ b/sys-devel/clang-common/clang-common-10.0.1..ebuild
@@ -18,11 +18,6 @@ IUSE=""
 
 PDEPEND="sys-devel/clang:*"
 
-src_prepare() {
-   cd "${WORKDIR}" || die
-   default
-}
-
 src_install() {
newbashcomp bash-autocomplete.sh clang
 }
diff --git a/sys-devel/clang-common/clang-common-10.0.1_rc1.ebuild 
b/sys-devel/clang-common/clang-common-10.0.1_rc1.ebuild
index ca046d28ce0b..18e41e0917da 100644
--- a/sys-devel/clang-common/clang-common-10.0.1_rc1.ebuild
+++ b/sys-devel/clang-common/clang-common-10.0.1_rc1.ebuild
@@ -18,11 +18,6 @@ IUSE=""
 
 PDEPEND="sys-devel/clang:*"
 
-src_prepare() {
-   cd "${WORKDIR}" || die
-   default
-}
-
 src_install() {
newbashcomp bash-autocomplete.sh clang
 }
diff --git a/sys-devel/clang-common/clang-common-11.0.0..ebuild 
b/sys-devel/clang-common/clang-common-11.0.0..ebuild
index ca046d28ce0b..18e41e0917da 100644
--- a/sys-devel/clang-common/clang-common-11.0.0..ebuild
+++ b/sys-devel/clang-common/clang-common-11.0.0..ebuild
@@ -18,11 +18,6 @@ IUSE=""
 
 PDEPEND="sys-devel/clang:*"
 
-src_prepare() {
-   cd "${WORKDIR}" || die
-   default
-}
-
 src_install() {
newbashcomp bash-autocomplete.sh clang
 }
-- 
2.27.0




[gentoo-dev] [PATCH 11/18] dev-python/clang-python: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 dev-python/clang-python/clang-python-10.0.1..ebuild | 5 -
 dev-python/clang-python/clang-python-10.0.1_rc1.ebuild  | 5 -
 dev-python/clang-python/clang-python-11.0.0..ebuild | 5 -
 3 files changed, 15 deletions(-)

diff --git a/dev-python/clang-python/clang-python-10.0.1..ebuild 
b/dev-python/clang-python/clang-python-10.0.1..ebuild
index e1b9340c6319..6d7cb294e651 100644
--- a/dev-python/clang-python/clang-python-10.0.1..ebuild
+++ b/dev-python/clang-python/clang-python-10.0.1..ebuild
@@ -27,11 +27,6 @@ RDEPEND="
${PYTHON_DEPS}"
 DEPEND="${RDEPEND}"
 
-src_prepare() {
-   cd "${WORKDIR}" || die
-   default
-}
-
 python_test() {
"${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
 }
diff --git a/dev-python/clang-python/clang-python-10.0.1_rc1.ebuild 
b/dev-python/clang-python/clang-python-10.0.1_rc1.ebuild
index e1b9340c6319..6d7cb294e651 100644
--- a/dev-python/clang-python/clang-python-10.0.1_rc1.ebuild
+++ b/dev-python/clang-python/clang-python-10.0.1_rc1.ebuild
@@ -27,11 +27,6 @@ RDEPEND="
${PYTHON_DEPS}"
 DEPEND="${RDEPEND}"
 
-src_prepare() {
-   cd "${WORKDIR}" || die
-   default
-}
-
 python_test() {
"${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
 }
diff --git a/dev-python/clang-python/clang-python-11.0.0..ebuild 
b/dev-python/clang-python/clang-python-11.0.0..ebuild
index e1b9340c6319..6d7cb294e651 100644
--- a/dev-python/clang-python/clang-python-11.0.0..ebuild
+++ b/dev-python/clang-python/clang-python-11.0.0..ebuild
@@ -27,11 +27,6 @@ RDEPEND="
${PYTHON_DEPS}"
 DEPEND="${RDEPEND}"
 
-src_prepare() {
-   cd "${WORKDIR}" || die
-   default
-}
-
 python_test() {
"${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
 }
-- 
2.27.0




[gentoo-dev] [PATCH 07/18] dev-ml/llvm-ocaml: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 dev-ml/llvm-ocaml/llvm-ocaml-10.0.1..ebuild | 17 ++---
 dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild  | 17 ++---
 dev-ml/llvm-ocaml/llvm-ocaml-11.0.0..ebuild | 17 ++---
 3 files changed, 6 insertions(+), 45 deletions(-)

diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1..ebuild 
b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1..ebuild
index c87d9f13cf31..c7b4967353fd 100644
--- a/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1..ebuild
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1..ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
+inherit cmake-utils llvm llvm.org python-any-r1
 
 DESCRIPTION="OCaml bindings for LLVM"
 HOMEPAGE="https://llvm.org/;
@@ -38,24 +38,11 @@ BDEPEND="
test? ( dev-ml/ounit )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # Python is needed to run tests using lit
-   python_setup
-
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake-utils_src_prepare
-}
-
 src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -89,7 +76,7 @@ src_configure() {
)
 
use test && mycmakeargs+=(
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild 
b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild
index ff77167a7661..7cff2bc42841 100644
--- a/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multiprocessing python-any-r1
+inherit cmake llvm llvm.org python-any-r1
 
 DESCRIPTION="OCaml bindings for LLVM"
 HOMEPAGE="https://llvm.org/;
@@ -38,24 +38,11 @@ BDEPEND="
test? ( dev-ml/ounit )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # Python is needed to run tests using lit
-   python_setup
-
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -89,7 +76,7 @@ src_configure() {
)
 
use test && mycmakeargs+=(
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
diff --git a/dev-ml/llvm-ocaml/llvm-ocaml-11.0.0..ebuild 
b/dev-ml/llvm-ocaml/llvm-ocaml-11.0.0..ebuild
index 5a10d4d1de5c..f10bf23e527d 100644
--- a/dev-ml/llvm-ocaml/llvm-ocaml-11.0.0..ebuild
+++ b/dev-ml/llvm-ocaml/llvm-ocaml-11.0.0..ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6,7,8} )
-inherit cmake-utils llvm llvm.org multiprocessing python-any-r1
+inherit cmake-utils llvm llvm.org python-any-r1
 
 DESCRIPTION="OCaml bindings for LLVM"
 HOMEPAGE="https://llvm.org/;
@@ -38,24 +38,11 @@ BDEPEND="
test? ( dev-ml/ounit )
${PYTHON_DEPS}"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 pkg_setup() {
LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # Python is needed to run tests using lit
-   python_setup
-
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake-utils_src_prepare
-}
-
 src_configure() {
local libdir=$(get_libdir)
local mycmakeargs=(
@@ -89,7 +76,7 @@ src_configure() {
)
 
use test && mycmakeargs+=(
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
# LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
-- 
2.27.0




[gentoo-dev] [PATCH 06/18] dev-python/lit: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 dev-python/lit/lit-10.0.1..ebuild | 6 +++---
 dev-python/lit/lit-10.0.1_rc1.ebuild  | 6 +++---
 dev-python/lit/lit-11.0.0..ebuild | 6 +++---
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dev-python/lit/lit-10.0.1..ebuild 
b/dev-python/lit/lit-10.0.1..ebuild
index c9394c7a1190..b9123ef7bf14 100644
--- a/dev-python/lit/lit-10.0.1..ebuild
+++ b/dev-python/lit/lit-10.0.1..ebuild
@@ -6,7 +6,7 @@ EAPI=7
 DISTUTILS_USE_SETUPTOOLS=rdepend
 PYTHON_COMPAT=( python2_7 python3_{6..9} )
 
-inherit distutils-r1 llvm.org multiprocessing
+inherit distutils-r1 llvm.org
 
 DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
 HOMEPAGE="https://llvm.org/;
@@ -34,6 +34,6 @@ src_prepare() {
 
 python_test() {
local -x LIT_PRESERVES_TMP=1
-   ./lit.py -j "${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}" \
-   -vv tests || die
+   local litflags=$(get_lit_flags)
+   ./lit.py ${litflags//;/ } tests || die
 }
diff --git a/dev-python/lit/lit-10.0.1_rc1.ebuild 
b/dev-python/lit/lit-10.0.1_rc1.ebuild
index c9394c7a1190..b9123ef7bf14 100644
--- a/dev-python/lit/lit-10.0.1_rc1.ebuild
+++ b/dev-python/lit/lit-10.0.1_rc1.ebuild
@@ -6,7 +6,7 @@ EAPI=7
 DISTUTILS_USE_SETUPTOOLS=rdepend
 PYTHON_COMPAT=( python2_7 python3_{6..9} )
 
-inherit distutils-r1 llvm.org multiprocessing
+inherit distutils-r1 llvm.org
 
 DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
 HOMEPAGE="https://llvm.org/;
@@ -34,6 +34,6 @@ src_prepare() {
 
 python_test() {
local -x LIT_PRESERVES_TMP=1
-   ./lit.py -j "${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}" \
-   -vv tests || die
+   local litflags=$(get_lit_flags)
+   ./lit.py ${litflags//;/ } tests || die
 }
diff --git a/dev-python/lit/lit-11.0.0..ebuild 
b/dev-python/lit/lit-11.0.0..ebuild
index c9394c7a1190..b9123ef7bf14 100644
--- a/dev-python/lit/lit-11.0.0..ebuild
+++ b/dev-python/lit/lit-11.0.0..ebuild
@@ -6,7 +6,7 @@ EAPI=7
 DISTUTILS_USE_SETUPTOOLS=rdepend
 PYTHON_COMPAT=( python2_7 python3_{6..9} )
 
-inherit distutils-r1 llvm.org multiprocessing
+inherit distutils-r1 llvm.org
 
 DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
 HOMEPAGE="https://llvm.org/;
@@ -34,6 +34,6 @@ src_prepare() {
 
 python_test() {
local -x LIT_PRESERVES_TMP=1
-   ./lit.py -j "${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" 
"$(get_nproc)")}" \
-   -vv tests || die
+   local litflags=$(get_lit_flags)
+   ./lit.py ${litflags//;/ } tests || die
 }
-- 
2.27.0




[gentoo-dev] [PATCH 08/18] sys-devel/lld: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-devel/lld/lld-10.0.1..ebuild | 14 ++
 sys-devel/lld/lld-10.0.1_rc1.ebuild  | 14 ++
 sys-devel/lld/lld-11.0.0..ebuild | 14 ++
 3 files changed, 6 insertions(+), 36 deletions(-)

diff --git a/sys-devel/lld/lld-10.0.1..ebuild 
b/sys-devel/lld/lld-10.0.1..ebuild
index ab0472be1ac9..7b627c88cf1b 100644
--- a/sys-devel/lld/lld-10.0.1..ebuild
+++ b/sys-devel/lld/lld-10.0.1..ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multiprocessing python-any-r1
+inherit cmake llvm llvm.org python-any-r1
 
 DESCRIPTION="The LLVM linker (link editor)"
 HOMEPAGE="https://llvm.org/;
@@ -22,9 +22,6 @@ RDEPEND="~sys-devel/llvm-${PV}"
 DEPEND="${RDEPEND}"
 BDEPEND="test? ( $(python_gen_any_dep 
"~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -34,13 +31,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
@@ -51,7 +41,7 @@ src_configure() {
-DLLVM_BUILD_TESTS=ON
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
cmake_src_configure
diff --git a/sys-devel/lld/lld-10.0.1_rc1.ebuild 
b/sys-devel/lld/lld-10.0.1_rc1.ebuild
index ab0472be1ac9..7b627c88cf1b 100644
--- a/sys-devel/lld/lld-10.0.1_rc1.ebuild
+++ b/sys-devel/lld/lld-10.0.1_rc1.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multiprocessing python-any-r1
+inherit cmake llvm llvm.org python-any-r1
 
 DESCRIPTION="The LLVM linker (link editor)"
 HOMEPAGE="https://llvm.org/;
@@ -22,9 +22,6 @@ RDEPEND="~sys-devel/llvm-${PV}"
 DEPEND="${RDEPEND}"
 BDEPEND="test? ( $(python_gen_any_dep 
"~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -34,13 +31,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
@@ -51,7 +41,7 @@ src_configure() {
-DLLVM_BUILD_TESTS=ON
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
cmake_src_configure
diff --git a/sys-devel/lld/lld-11.0.0..ebuild 
b/sys-devel/lld/lld-11.0.0..ebuild
index ab0472be1ac9..7b627c88cf1b 100644
--- a/sys-devel/lld/lld-11.0.0..ebuild
+++ b/sys-devel/lld/lld-11.0.0..ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm llvm.org multiprocessing python-any-r1
+inherit cmake llvm llvm.org python-any-r1
 
 DESCRIPTION="The LLVM linker (link editor)"
 HOMEPAGE="https://llvm.org/;
@@ -22,9 +22,6 @@ RDEPEND="~sys-devel/llvm-${PV}"
 DEPEND="${RDEPEND}"
 BDEPEND="test? ( $(python_gen_any_dep 
"~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
 }
@@ -34,13 +31,6 @@ pkg_setup() {
use test && python-any-r1_pkg_setup
 }
 
-src_prepare() {
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
-}
-
 src_configure() {
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
@@ -51,7 +41,7 @@ src_configure() {
-DLLVM_BUILD_TESTS=ON
-DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
-DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
cmake_src_configure
-- 
2.27.0




[gentoo-dev] [PATCH 05/18] sys-devel/llvm: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-devel/llvm/llvm-10.0.1..ebuild | 14 --
 sys-devel/llvm/llvm-10.0.1_rc1.ebuild  | 14 --
 sys-devel/llvm/llvm-11.0.0..ebuild | 14 --
 3 files changed, 12 insertions(+), 30 deletions(-)

diff --git a/sys-devel/llvm/llvm-10.0.1..ebuild 
b/sys-devel/llvm/llvm-10.0.1..ebuild
index 27af603d49b5..6bf2a545f962 100644
--- a/sys-devel/llvm/llvm-10.0.1..ebuild
+++ b/sys-devel/llvm/llvm-10.0.1..ebuild
@@ -4,8 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal multiprocessing pax-utils \
-   python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+   toolchain-funcs
 
 DESCRIPTION="Low Level Virtual Machine"
 HOMEPAGE="https://llvm.org/;
@@ -70,9 +70,6 @@ RDEPEND="${RDEPEND}
 PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 PATCHES=(
# Fix linking to dylib and .a libs simultaneously

"${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
@@ -198,10 +195,7 @@ src_prepare() {
# Verify that the live ebuild is up-to-date
check_live_ebuild
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 }
 
 # Is LLVM being linked against libc++?
@@ -399,7 +393,7 @@ multilib_src_configure() {
 #  fi
 
use test && mycmakeargs+=(
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
if multilib_is_native_abi; then
diff --git a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild 
b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
index 36ee1f6d95dc..5ac7c6e2a8c3 100644
--- a/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
+++ b/sys-devel/llvm/llvm-10.0.1_rc1.ebuild
@@ -4,8 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal multiprocessing pax-utils \
-   python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+   toolchain-funcs
 
 DESCRIPTION="Low Level Virtual Machine"
 HOMEPAGE="https://llvm.org/;
@@ -70,9 +70,6 @@ RDEPEND="${RDEPEND}
 PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 PATCHES=(
# Fix linking to dylib and .a libs simultaneously

"${FILESDIR}"/10.0.1/0001-llvm-Avoid-linking-llvm-cfi-verify-to-duplicate-libs.patch
@@ -163,10 +160,7 @@ src_prepare() {
sed -i -e '/source_parsers/d' docs/conf.py || die
fi
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 }
 
 # Is LLVM being linked against libc++?
@@ -364,7 +358,7 @@ multilib_src_configure() {
 #  fi
 
use test && mycmakeargs+=(
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
if multilib_is_native_abi; then
diff --git a/sys-devel/llvm/llvm-11.0.0..ebuild 
b/sys-devel/llvm/llvm-11.0.0..ebuild
index 5af65c0f4a0d..e005e516f322 100644
--- a/sys-devel/llvm/llvm-11.0.0..ebuild
+++ b/sys-devel/llvm/llvm-11.0.0..ebuild
@@ -4,8 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6..9} )
-inherit cmake llvm.org multilib-minimal multiprocessing pax-utils \
-   python-any-r1 toolchain-funcs
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1 \
+   toolchain-funcs
 
 DESCRIPTION="Low Level Virtual Machine"
 HOMEPAGE="https://llvm.org/;
@@ -70,9 +70,6 @@ RDEPEND="${RDEPEND}
 PDEPEND="sys-devel/llvm-common
gold? ( >=sys-devel/llvmgold-${SLOT} )"
 
-# least intrusive of all
-CMAKE_BUILD_TYPE=RelWithDebInfo
-
 python_check_deps() {
if use doc; then
has_version -b "dev-python/recommonmark[${PYTHON_USEDEP}]" ||
@@ -192,10 +189,7 @@ src_prepare() {
# Verify that the live ebuild is up-to-date
check_live_ebuild
 
-   # cmake eclasses suck by forcing ${S} here
-   CMAKE_USE_DIR=${S} \
-   S=${WORKDIR} \
-   cmake_src_prepare
+   llvm.org_src_prepare
 }
 
 # Is LLVM being linked against libc++?
@@ -395,7 +389,7 @@ multilib_src_configure() {
 #  fi
 
use test && mycmakeargs+=(
-   -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs 
"${MAKEOPTS}" "$(get_nproc)")}"
+   -DLLVM_LIT_ARGS="$(get_lit_flags)"
)
 
if multilib_is_native_abi; then
-- 
2.27.0




[gentoo-dev] [PATCH 04/18] sys-devel/llvm-common: Dedupe with new eclass code

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 sys-devel/llvm-common/llvm-common-10.0.1..ebuild | 5 -
 sys-devel/llvm-common/llvm-common-10.0.1_rc1.ebuild  | 5 -
 sys-devel/llvm-common/llvm-common-11.0.0..ebuild | 5 -
 3 files changed, 15 deletions(-)

diff --git a/sys-devel/llvm-common/llvm-common-10.0.1..ebuild 
b/sys-devel/llvm-common/llvm-common-10.0.1..ebuild
index 18d163abd5c8..df9cf92b47a1 100644
--- a/sys-devel/llvm-common/llvm-common-10.0.1..ebuild
+++ b/sys-devel/llvm-common/llvm-common-10.0.1..ebuild
@@ -17,11 +17,6 @@ IUSE=""
 
 RDEPEND="!sys-devel/llvm:0"
 
-src_prepare() {
-   cd "${WORKDIR}" || Die
-   default
-}
-
 src_install() {
insinto /usr/share/vim/vimfiles
doins -r */
diff --git a/sys-devel/llvm-common/llvm-common-10.0.1_rc1.ebuild 
b/sys-devel/llvm-common/llvm-common-10.0.1_rc1.ebuild
index 18d163abd5c8..df9cf92b47a1 100644
--- a/sys-devel/llvm-common/llvm-common-10.0.1_rc1.ebuild
+++ b/sys-devel/llvm-common/llvm-common-10.0.1_rc1.ebuild
@@ -17,11 +17,6 @@ IUSE=""
 
 RDEPEND="!sys-devel/llvm:0"
 
-src_prepare() {
-   cd "${WORKDIR}" || Die
-   default
-}
-
 src_install() {
insinto /usr/share/vim/vimfiles
doins -r */
diff --git a/sys-devel/llvm-common/llvm-common-11.0.0..ebuild 
b/sys-devel/llvm-common/llvm-common-11.0.0..ebuild
index 18d163abd5c8..df9cf92b47a1 100644
--- a/sys-devel/llvm-common/llvm-common-11.0.0..ebuild
+++ b/sys-devel/llvm-common/llvm-common-11.0.0..ebuild
@@ -17,11 +17,6 @@ IUSE=""
 
 RDEPEND="!sys-devel/llvm:0"
 
-src_prepare() {
-   cd "${WORKDIR}" || Die
-   default
-}
-
 src_install() {
insinto /usr/share/vim/vimfiles
doins -r */
-- 
2.27.0




[gentoo-dev] [PATCH 03/18] llvm.org.eclass: Add a helper function for common lit args

2020-06-20 Thread Michał Górny
Signed-off-by: Michał Górny 
---
 eclass/llvm.org.eclass | 20 
 1 file changed, 20 insertions(+)

diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 29606a63b5a0..36c4f52650fd 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -63,6 +63,8 @@ fi
 [[ ${PV} == ${_LLVM_MASTER_MAJOR}.* && ${_LLVM_SOURCE_TYPE} == tar ]] &&
die "${ECLASS}: Release ebuild for master branch?!"
 
+inherit multiprocessing
+
 
 # == control variables ==
 
@@ -245,3 +247,21 @@ llvm.org_src_prepare() {
popd >/dev/null || die
fi
 }
+
+
+# == helper functions ==
+
+# @ECLASS-VARIABLE: LIT_JOBS
+# @USER_VARIABLE
+# @DEFAULT_UNSET
+# @DESCRIPTION:
+# Number of test jobs to run simultaneously.  If unset, defaults
+# to '-j' in MAKEOPTS.  If that is not found, default to nproc.
+
+# @FUNCTION: get_lit_flags
+# @DESCRIPTION:
+# Get the standard recommended lit flags for running tests, in CMake
+# list form (;-separated).
+get_lit_flags() {
+   echo "-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+}
-- 
2.27.0




[gentoo-dev] [PATCH 01/18] llvm.org.eclass: Introduce llvm-project patch-friendly src_prepare

2020-06-20 Thread Michał Górny
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 
---
 eclass/llvm.org.eclass | 23 +++
 1 file changed, 23 insertions(+)

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
+}
-- 
2.27.0




[gentoo-dev] [PATCH 00/18] llvm.org.eclass: more deduplication with packages

2020-06-20 Thread Michał Górny
Hello,

Here's a quick series of patches for review.  The goal is to reduce
boilerplate copied between LLVM ebuilds and reduce long-term maintenance
costs.

The patches:

1. Add a generic src_prepare() that works for most of the ebuilds,
   and calls cmake implementation or default appropriately.  This
   applies to 10.0.1_rc* and newer only since old ebuilds may rely
   on different implicit src_prepare().

2. Declare CMAKE_BUILD_TYPE.  This is something we do in all CMake
   ebuilds for LLVM, and declaring it everywhere shouldn't hurt.

3. Move common lit (test runner) arguments to the eclass.  Most
   importantly, this makes it easier to adjust them in the future.

Eclass patches are followed by updates to all packages.

The package patches roughly boil down to:

a. removing multiprocessing inherit (call moved to eclass).

b. removing CMAKE_BUILD_TYPE.

c. removing or updating src_prepare().

d. updating lit args.


Michał Górny (18):
  llvm.org.eclass: Introduce llvm-project patch-friendly src_prepare
  llvm.org.eclass: Declare CMAKE_BUILD_TYPE
  llvm.org.eclass: Add a helper function for common lit args
  sys-devel/llvm-common: Dedupe with new eclass code
  sys-devel/llvm: Dedupe with new eclass code
  dev-python/lit: Dedupe with new eclass code
  dev-ml/llvm-ocaml: Dedupe with new eclass code
  sys-devel/lld: Dedupe with new eclass code
  sys-devel/clang-common: Dedupe with new eclass code
  sys-devel/clang: Dedupe with new eclass code
  dev-python/clang-python: Dedupe with new eclass code
  dev-util/lldb: Dedupe with new eclass code
  sys-libs/compiler-rt: Dedupe with new eclass code
  sys-libs/compiler-rt-sanitizers: Dedupe with new eclass code
  sys-libs/llvm-libunwind: Dedupe with new eclass code
  sys-libs/libcxxabi: Dedupe with new eclass code
  sys-libs/libcxx: Dedupe with new eclass code
  sys-libs/libomp: Dedupe with new eclass code

 .../llvm-ocaml/llvm-ocaml-10.0.1..ebuild  | 17 +--
 .../llvm-ocaml/llvm-ocaml-10.0.1_rc1.ebuild   | 17 +--
 .../llvm-ocaml/llvm-ocaml-11.0.0..ebuild  | 17 +--
 .../clang-python-10.0.1..ebuild   |  5 --
 .../clang-python-10.0.1_rc1.ebuild|  5 --
 .../clang-python-11.0.0..ebuild   |  5 --
 dev-python/lit/lit-10.0.1..ebuild |  6 +--
 dev-python/lit/lit-10.0.1_rc1.ebuild  |  6 +--
 dev-python/lit/lit-11.0.0..ebuild |  6 +--
 dev-util/lldb/lldb-10.0.1..ebuild | 15 +-
 dev-util/lldb/lldb-10.0.1_rc1.ebuild  | 15 +-
 dev-util/lldb/lldb-11.0.0..ebuild | 15 +-
 eclass/llvm.org.eclass| 48 +++
 .../clang-common-10.0.1..ebuild   |  5 --
 .../clang-common-10.0.1_rc1.ebuild|  5 --
 .../clang-common-11.0.0..ebuild   |  5 --
 sys-devel/clang/clang-10.0.1..ebuild  | 14 ++
 sys-devel/clang/clang-10.0.1_rc1.ebuild   | 14 ++
 sys-devel/clang/clang-11.0.0..ebuild  | 14 ++
 sys-devel/lld/lld-10.0.1..ebuild  | 14 +-
 sys-devel/lld/lld-10.0.1_rc1.ebuild   | 14 +-
 sys-devel/lld/lld-11.0.0..ebuild  | 14 +-
 .../llvm-common-10.0.1..ebuild|  5 --
 .../llvm-common/llvm-common-10.0.1_rc1.ebuild |  5 --
 .../llvm-common-11.0.0..ebuild|  5 --
 sys-devel/llvm/llvm-10.0.1..ebuild| 14 ++
 sys-devel/llvm/llvm-10.0.1_rc1.ebuild | 14 ++
 sys-devel/llvm/llvm-11.0.0..ebuild| 14 ++
 .../compiler-rt-sanitizers-10.0.1..ebuild | 15 +-
 .../compiler-rt-sanitizers-10.0.1_rc1.ebuild  | 15 +-
 .../compiler-rt-sanitizers-11.0.0..ebuild | 15 +-
 .../compiler-rt-10.0.1..ebuild| 15 +-
 .../compiler-rt/compiler-rt-10.0.1_rc1.ebuild | 15 +-
 .../compiler-rt-11.0.0..ebuild| 15 +-
 sys-libs/libcxx/libcxx-10.0.1..ebuild | 15 ++
 sys-libs/libcxx/libcxx-10.0.1_rc1.ebuild  | 15 ++
 sys-libs/libcxx/libcxx-11.0.0..ebuild | 15 ++
 .../libcxxabi/libcxxabi-10.0.1..ebuild| 16 +--
 .../libcxxabi/libcxxabi-10.0.1_rc1.ebuild | 16 +--
 .../libcxxabi/libcxxabi-11.0.0..ebuild| 16 +--
 sys-libs/libomp/libomp-10.0.1..ebuild | 14 +-
 sys-libs/libomp/libomp-10.0.1_rc1.ebuild  | 14 +-
 sys-libs/libomp/libomp-11.0.0..ebuild | 14 +-
 .../llvm-libunwind-10.0.1..ebuild | 16 +--
 .../llvm-libunwind-10.0.1_rc1.ebuild  | 16 +--
 .../llvm-libunwind-11.0.0..ebuild | 16 +--
 46 files changed, 138 insertions(+), 468 deletions(-)

-- 
2.27.0




[gentoo-dev] [PATCH 02/18] llvm.org.eclass: Declare CMAKE_BUILD_TYPE

2020-06-20 Thread Michał Górny
Deduplicate CMAKE_BUILD_TYPE from most of the LLVM ebuilds
to the eclass.

Signed-off-by: Michał Górny 
---
 eclass/llvm.org.eclass | 5 +
 1 file changed, 5 insertions(+)

diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 9fc975cd51cb..29606a63b5a0 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -167,6 +167,11 @@ llvm.org_set_globals() {
fi
fi
 
+   # === useful defaults for cmake-based packages ===
+
+   # least intrusive of all
+   CMAKE_BUILD_TYPE=RelWithDebInfo
+
_LLVM_ORG_SET_GLOBALS_CALLED=1
 }
 
-- 
2.27.0




[gentoo-dev] Last-rites: media-libs/pymemphis

2020-06-20 Thread Andreas Sturmlechner
# Andreas Sturmlechner  (2020-06-20)
# Stuck on Python 2, depends on deprecated dev-python/pygobject:2
media-libs/pymemphis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Aaron Bauman
On Sat, Jun 20, 2020 at 01:29:46PM +0200, Thomas Deutschmann wrote:
> On 2020-06-20 12:07, Michał Górny wrote:
> >> Al least, python2  is not on your list.
> >>
> >> Be first into the future by masking this stuff and
> >> Last out of the past by leaving up to users to decide.
> >> It could stay in the tree, masked, as long as python2.
> >>
> > 
> > Do you really think it'd be better to last rite a 1000 packages
> > simultaneously?
> 
> What's the purpose of this at all?
> 
> dev-lang/python:2.7 won't go away that soon.
> 
> Removing perfectly working and up-to-date software which is in
> maintenance-only mode like net-mail/offlineimap is just not user-friendly.
> 
> It doesn't even has deps on other Python packages blocking your cleanup
> delusion.
> 

Thomas, unfortunately, I am shocked at your choice of words here. I
think it is reasonable that any developer would understand a lack
of forward momentum in removing Py2 only packages only drives
stagnation.

If you have a more effective method to doing so, I am open to
suggestions.

re: net-mail/offlineimap... there are alternatives.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Aaron Bauman
On Sat, Jun 20, 2020 at 10:32:28AM +0200, Ulrich Mueller wrote:
> > On Sat, 20 Jun 2020, Aaron Bauman wrote:
> 
> >> # Aaron Bauman  (2020-06-20)
> >> # Py2 only
> >> # Removal in 14 days
> 
> I see these short deadlines quite often recently. Any reason why this
> can't be the usual 30 days?
> 
> >> [...]
> 
> >> games-board/scid
> 
> I wonder about scid appearing in the list. IIRC, it is written in C++,
> not Python.
> 
> Ulrich

Hi, Ulrich. Yes, the deadlines are meant to speed up the process as we
have *roughly* 1000+ pkgs which must be converted to py3 or removed
before we can drop the interpreter.

As such, doing this in bulk with delays in between masks helps others
find and fix up these packages if they can stay. Some have ports to Py3,
others simply don't need the bindings, etc.

So, thank you to all who have taken a few minutes to help us keep
packages that can still be supported. Unfortunately, we have a bad ratio
of devs to # of packages.

-- 
Cheers,
Aaron


signature.asc
Description: PGP signature


Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7

2020-06-20 Thread Sergei Trofimovich
On Sat, 20 Jun 2020 16:05:38 +0200
Michał Górny  wrote:

> On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich wrote:
> > Give maintainers the chance to act and flag packages that pull in 
> > python:2.7.
> > 
> > Signed-off-by: Sergei Trofimovich 
> > ---
> >  profiles/package.deprecated | 4 
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/profiles/package.deprecated b/profiles/package.deprecated
> > index a756e845f47..bb661571962 100644
> > --- a/profiles/package.deprecated
> > +++ b/profiles/package.deprecated
> > @@ -17,6 +17,10 @@
> >  
> >  #--- END OF EXAMPLES ---
> >  
> > +# Sergei Trofimovich  (2020-06-20)
> > +# Deprecated. Consider poring to python 3 and drop support for python2.
> > +dev-lang/python:2.7
> > +
> >  # Sergei Trofimovich  (2020-02-22)
> >  # virtual/libstdc++ has only one sys-libs/libstdc++-v3 provider.
> >  # Use that instead. Or even better use none of them. It's a  
> 

> It will trigger the same for packages that support *only*
> Python 2.7, as well as these that support 2.7 in addition to 3 because
> they have 2.7 deps.

If we expect actions by developers on both cases I don't see a problem with 
that.

-- 

  Sergei


pgp9G4XWt3F8Y.pgp
Description: Цифровая подпись OpenPGP


[gentoo-dev] Re: News Item: sys-libs/pam-1.4.0 upgrade

2020-06-20 Thread Mikle Kolyada


On 20.06.2020 16:55, Mikle Kolyada wrote:
> Attached

A bit fixed, wanted another version to show.

Title: sys-libs/pam-1.4.0 upgrade
Author: Mikle Kolyada 
Content-Type: text/plain
Posted: 2020-06-??
Revision: 1
News-Item-Format: 2.0
Display-If-Installed: sys-libs/pam
Display-If-Installed: sys-auth/pambase

Starting with the 1.4.0 release [1], we don't offer these modules anymore:

* pam_tally and pam_tally2 have been deprecated and replaced 
  by the pam_faillock module
* pam_cracklib has been deprecated and replaced
  by the pam_passwdqc module

These changes affected our basic PAM stack configuration.

You only need to take action if:
* you made manual changes to the PAM stack, or
* you use FEATURES="-config-protect-if-modified" option

If this applies to you, please make sure to either run the etc-update or
dispatch-conf command in order to sync your configuration.

Failure to do this may result in your system becoming inaccessible.

[1] - https://github.com/linux-pam/linux-pam/releases/tag/v1.4.0


signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7

2020-06-20 Thread Michał Górny
On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich wrote:
> Give maintainers the chance to act and flag packages that pull in python:2.7.
> 
> Signed-off-by: Sergei Trofimovich 
> ---
>  profiles/package.deprecated | 4 
>  1 file changed, 4 insertions(+)
> 
> diff --git a/profiles/package.deprecated b/profiles/package.deprecated
> index a756e845f47..bb661571962 100644
> --- a/profiles/package.deprecated
> +++ b/profiles/package.deprecated
> @@ -17,6 +17,10 @@
>  
>  #--- END OF EXAMPLES ---
>  
> +# Sergei Trofimovich  (2020-06-20)
> +# Deprecated. Consider poring to python 3 and drop support for python2.
> +dev-lang/python:2.7
> +
>  # Sergei Trofimovich  (2020-02-22)
>  # virtual/libstdc++ has only one sys-libs/libstdc++-v3 provider.
>  # Use that instead. Or even better use none of them. It's a

That's just going to increase CI report size by a few megs without any
real benefit.  It will trigger the same for packages that support *only*
Python 2.7, as well as these that support 2.7 in addition to 3 because
they have 2.7 deps.  SNR will be very low.

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


[gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7

2020-06-20 Thread Sergei Trofimovich
Give maintainers the chance to act and flag packages that pull in python:2.7.

Signed-off-by: Sergei Trofimovich 
---
 profiles/package.deprecated | 4 
 1 file changed, 4 insertions(+)

diff --git a/profiles/package.deprecated b/profiles/package.deprecated
index a756e845f47..bb661571962 100644
--- a/profiles/package.deprecated
+++ b/profiles/package.deprecated
@@ -17,6 +17,10 @@
 
 #--- END OF EXAMPLES ---
 
+# Sergei Trofimovich  (2020-06-20)
+# Deprecated. Consider poring to python 3 and drop support for python2.
+dev-lang/python:2.7
+
 # Sergei Trofimovich  (2020-02-22)
 # virtual/libstdc++ has only one sys-libs/libstdc++-v3 provider.
 # Use that instead. Or even better use none of them. It's a
-- 
2.27.0




[gentoo-dev] News Item: sys-libs/pam-1.4.0 upgrade

2020-06-20 Thread Mikle Kolyada
Attached

itle: sys-libs/pam-1.4.0 upgrade
Author: Mikle Kolyada 
Content-Type: text/plain
Posted: 2020-06-??
Revision: 1
News-Item-Format: 2.0
Display-If-Installed: >=sys-libs/pam-1.4.0
Display-If-Installed: >=sys-auth/pambase-20200618

Starting with the 1.4.0 release [1], we don't offer these modules anymore:

* pam_tally and pam_tally2 have been deprecated and replaced 
  by the pam_faillock module
* pam_cracklib has been deprecated and replaced
  by the pam_passwdqc module

These changes affected our basic PAM stack configuration.

You only need to take action if:
* you made manual changes to the PAM stack, or
* you use FEATURES="-config-protect-if-modified" option

If this applies to you, please make sure to either run the etc-update or
dispatch-conf command in order to sync your configuration.

Failure to do this may result in your system becoming inaccessible.

[1] - https://github.com/linux-pam/linux-pam/releases/tag/v1.4.0

signature.asc
Description: OpenPGP digital signature


[gentoo-dev] Last rites: dev-tex/feynmf

2020-06-20 Thread Ulrich Mueller
# Ulrich Müller  (2020-06-20)
# Unmaintained upstream, included with TeX Live.
# Use >=dev-texlive/texlive-metapost-2020-r1 as replacement.
# Removal in 30 days. Bug #728904.
dev-tex/feynmf


signature.asc
Description: PGP signature


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread James Le Cuirot
On Sat, 20 Jun 2020 14:58:22 +0300
Azamat Hackimov  wrote:

> > games-emulation/openmsx  
> 
> git version migrated to meson and python3

Yeah, don't worry, this has been on my TODO for a while and I'll step
it up the list. I was hoping they'd do a release but no such luck.

-- 
James Le Cuirot (chewi)
Gentoo Linux Developer


pgpuDKd84KFJF.pgp
Description: OpenPGP digital signature


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Michał Górny
On Sat, 2020-06-20 at 13:29 +0200, Thomas Deutschmann wrote:
> On 2020-06-20 12:07, Michał Górny wrote:
> > > Al least, python2  is not on your list.
> > > 
> > > Be first into the future by masking this stuff and
> > > Last out of the past by leaving up to users to decide.
> > > It could stay in the tree, masked, as long as python2.
> > > 
> > 
> > Do you really think it'd be better to last rite a 1000 packages
> > simultaneously?
> 
> What's the purpose of this at all?
> 
> dev-lang/python:2.7 won't go away that soon.

> Removing perfectly working and up-to-date software which is in
> maintenance-only mode like net-mail/offlineimap is just not user-friendly.
> 
> It doesn't even has deps on other Python packages blocking your cleanup
> delusion.
> 

Don't you think that accussing others publicly of being delusional is
not appropriate?  Just because someone doesn't agree with your vision is
no reason to insult your fellow developers.

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Guilherme Amadio
On Sat, Jun 20, 2020 at 12:58:20AM -0400, Aaron Bauman wrote:
> > # Aaron Bauman  (2020-06-20)
> > # Py2 only
> > # Removal in 14 days
> > dev-util/uftrace

This is a function tracer written in C. I don't know why it's on this
list. If a package has only optional support for python like this,
just drop python support rather than the whole package, please. In this
case it's just a matter of adding --without-libpython to the call to econf.

In any case, the release notes for the latest version says that it now does
support python3, even though the configuration for python3 seems a bit broken
after I've had a look at it. I will take it and fix nevertheless.

Cheers,
-Guilherme



Re: [gentoo-dev] Re: [gentoo-dev-announce] */*: Mask Py2 only packages

2020-06-20 Thread Rich Freeman
On Sat, Jun 20, 2020 at 4:36 AM Sergei Trofimovich  wrote:
>
> On Sat, 20 Jun 2020 00:43:03 -0400
> Aaron Bauman  wrote:
>
> > # Aaron Bauman  (2020-06-20)
> > # Py2 only
> > # Removal in 14 days
> ...
> > app-misc/golly
>
> If you decided to delete a maintained package you should file a bug against
> the maintainer. Otherwise they won't see the effect until mask hits the users.

So, I get that the python mess has been a ton of work for those
involved, and mostly thankless work.  You get complaints from people
who are interested in a particular package, but not with maintaining
the vast number of packages in an old python implementation that
probably isn't as interesting to people interested in python for the
sake of python.  As such I don't really question the removal of v2
from the tree.  I also don't question the phased approach of
progressively fixing, removing packages, etc.  This sort of thing
should be done at the convenience of the python team, who do a ton of
work behind the scenes that keeps the whole distro working.

I would suggest that process-wise there are some things that could be
done to make this sort of thing smoother in the future (and please
understand that this is intended as a lessons-learned and not so much
as criticism):

1.  Just follow the standard policies like ulm suggested and pick 30
days.  You're already doing something that is going to get complaints.
Waiting two weeks at this point won't make much difference.  Of course
exceptions can be made for pressing security issues/etc, and if these
exist just mention them up-front to deflect criticism.

2.  Help maintainers help you.  Ideally that means opening a ton of
bugs on day 1 of this whole mess against all the impacted packages.  I
get that this isn't easy.  An alternative might be to post lists of
impacted packages on -dev periodically, and when you do this stick the
maintainers on the list.  A lot of maintainers maintain a lot of
packages, and they probably won't notice if a package they maintain is
on the list, but if you stick their name on the list they can just
grep it.  I bet a lot of maintainers would pitch in if they just
realized they needed to.  I've seen lots of bugs that say "fix this,
oh and fix anything else you might happen to have with the same
problem."  The problem with this is that the people cleaning up python
probably have scripts to go detecting impacted packages, but everybody
else in the distro doesn't, and it doesn't make sense to have 100 devs
all trying to figure out if they have a package with a particular
issue, especially if the package has a quiet upstream that doesn't do
a lot of bumps.

I get that this won't fix the entire problem.  You'll get that
stubborn dev that just refuses to fix a bug.  When that happens don't
waste your time fighting WW3 - just point out that packages depending
on v2 will get masked on $DATE and move on, and ideally get the
Council to bless your decision.  If the Council doesn't bless the
decision or a compromise you can live with then just remove v2 from
the python project and make it maintainer-needed, and thus somebody
else's problem.  Don't put the weight of the world on your shoulders -
when it comes to actual work focus on the stuff that is directly
python and make the rest of us do the rest, but you need to spend a
bit of time around engagement.  A bit of up-front bug-filing or list
posts might save you a ton of harassing later.

The rest of us do need to appreciate that this is fairly thankless
work.  Maybe python v2 COULD be supported longer. But are YOU stepping
up to do that?  The existing members of the python team aren't
obligated to keep v2 in the tree.  Indeed, they aren't obligated to
maintain python at all.  Of course if some are willing to do the work
to keep v2 around then we should find a way to allow them to do so,
but I don't really see that happening.

Now I'm sure I didn't appreciate some things that happened behind the
scenes.  Accept what makes sense and reject that which does not.  And
by all means feel free to share lessons-learned that others might
benefit from.  I don't want to turn this into a criticism thread/etc,
so I'd encourage others to refrain from doing so...

-- 
Rich



Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Azamat Hackimov
> games-emulation/openmsx

git version migrated to meson and python3



Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Thomas Deutschmann
On 2020-06-20 12:07, Michał Górny wrote:
>> Al least, python2  is not on your list.
>>
>> Be first into the future by masking this stuff and
>> Last out of the past by leaving up to users to decide.
>> It could stay in the tree, masked, as long as python2.
>>
> 
> Do you really think it'd be better to last rite a 1000 packages
> simultaneously?

What's the purpose of this at all?

dev-lang/python:2.7 won't go away that soon.

Removing perfectly working and up-to-date software which is in
maintenance-only mode like net-mail/offlineimap is just not user-friendly.

It doesn't even has deps on other Python packages blocking your cleanup
delusion.


-- 
Regards,
Thomas Deutschmann / Gentoo Linux Developer
fpr: C4DD 695F A713 8F24 2AA1 5638 5849 7EE5 1D5D 74A5



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Michał Górny
On Sat, 2020-06-20 at 10:36 +0100, Roy Bamford wrote:
> On 2020.06.20 05:58, Aaron Bauman wrote:
> > > # Aaron Bauman  (2020-06-20)
> > > # Py2 only
> > > # Removal in 14 days
> 
> [list of stuff]
> 
> > -- 
> > Cheers,
> > Aaron
> > 
> 
> Aaron,
> 
> If everything that needs python2 is being removed,
> why not python2 itself?
> 
> Al least, python2  is not on your list.
> 
> Be first into the future by masking this stuff and
> Last out of the past by leaving up to users to decide.
> It could stay in the tree, masked, as long as python2.
> 

Do you really think it'd be better to last rite a 1000 packages
simultaneously?

-- 
Best regards,
Michał Górny



signature.asc
Description: This is a digitally signed message part


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Roy Bamford
On 2020.06.20 05:58, Aaron Bauman wrote:
> > # Aaron Bauman  (2020-06-20)
> > # Py2 only
> > # Removal in 14 days

[list of stuff]

> 
> -- 
> Cheers,
> Aaron
> 

Aaron,

If everything that needs python2 is being removed,
why not python2 itself?

Al least, python2  is not on your list.

Be first into the future by masking this stuff and
Last out of the past by leaving up to users to decide.
It could stay in the tree, masked, as long as python2.

-- 
Regards,

Roy Bamford
(Neddyseagoon) a member of
elections
gentoo-ops
forum-mods
arm64

pgp9CIkLXPSD0.pgp
Description: PGP signature


Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Ulrich Mueller
> On Sat, 20 Jun 2020, Ulrich Mueller wrote:

>>> games-board/scid

> I wonder about scid appearing in the list. IIRC, it is written in C++,
> not Python.

It turns out that the ebuild installs a small Python script, which isn't
needed for normal functioning of the program. Bug 728876 now.

Ulrich


signature.asc
Description: PGP signature


[gentoo-dev] qmail.eclass: clean up and make it work with upcoming notqmail changes

2020-06-20 Thread Rolf Eike Beer
The split in the install functions was needed for packages like miniqmail, that
only installed a subset of the functions. It has meanwhile been removed from
tree.

In turn notqmail is going to drop some obsolete programs from the installation.
Most documentation files also have been renamed to *.md.

Signed-off-by: Rolf Eike Beer 
---
 eclass/qmail.eclass | 54 ++---
 1 file changed, 26 insertions(+), 28 deletions(-)

diff --git a/eclass/qmail.eclass b/eclass/qmail.eclass
index a78c118c89e..21f317fd34a 100644
--- a/eclass/qmail.eclass
+++ b/eclass/qmail.eclass
@@ -117,8 +117,7 @@ qmail_spp_src_unpack() {
 
 # @FUNCTION: qmail_src_postunpack
 # @DESCRIPTION:
-# Unpack common config files, apply custom patches if supplied and
-# set built configuration (CFLAGS, LDFLAGS, etc)
+# Unpack common config files, and set built configuration (CFLAGS, LDFLAGS, 
etc)
 qmail_src_postunpack() {
cd "${S}"
 
@@ -144,33 +143,27 @@ qmail_base_install() {
einfo "Setting up basic directory hierarchy"
diropts -o root -g qmail -m 755
keepdir "${QMAIL_HOME}"/{,bin,control}
-
-   einfo "Installing basic qmail software"
-   insinto "${QMAIL_HOME}"/bin
-
-   insopts -o root -g qmail -m 755
-   doins datemail elq forward maildir2mbox maildirmake \
-   maildirwatch mailsubj pinq predate qail \
-   qmail-{inject,qmqpc,showctl} sendmail
-
-   einfo "Adding env.d entry for qmail"
-   doenvd "${GENQMAIL_S}"/conf/99qmail
-
-   declare -F qmail_base_install_hook >/dev/null && \
-   qmail_base_install_hook
-}
-
-qmail_full_install() {
-   einfo "Setting up full directory hierarchy"
keepdir "${QMAIL_HOME}"/users
diropts -o alias -g qmail -m 755
keepdir "${QMAIL_HOME}"/alias
 
+   einfo "Adding env.d entry for qmail"
+   doenvd "${GENQMAIL_S}"/conf/99qmail
+
einfo "Installing all qmail software"
+   insinto "${QMAIL_HOME}"/bin
+
insopts -o root -g qmail -m 755
-   doins bouncesaying condredirect config-fast except preline qbiff \
-   qmail-{qmqpd,qmtpd,qread,qstat,smtpd,tcpok,tcpto} \
-   qreceipt qsmhook tcp-env
+   doins bouncesaying condredirect config-fast datemail except forward 
maildir2mbox \
+   maildirmake mailsubj predate preline qbiff \
+   
qmail-{inject,qmqpc,qmqpd,qmtpd,qread,qstat,smtpd,tcpok,tcpto,showctl} \
+   qreceipt sendmail tcp-env
+
+   # obsolete tools, install if they are still present
+   for i in elq maildirwatch pinq qail qsmhook; do
+   [[ -x ${i} ]] && doins ${i}
+   done
+
use pop3 && doins qmail-pop3d
 
insopts -o root -g qmail -m 711
@@ -183,8 +176,8 @@ qmail_full_install() {
insopts -o qmailq -g qmail -m 4711
doins qmail-queue
 
-   declare -F qmail_full_install_hook >/dev/null && \
-   qmail_full_install_hook
+   declare -F qmail_base_install_hook >/dev/null && \
+   qmail_base_install_hook
 }
 
 qmail_config_install() {
@@ -207,8 +200,14 @@ qmail_man_install() {
 
into /usr
doman *.[1578]
-   dodoc BLURB* CHANGES FAQ INSTALL* PIC* README* REMOVE* SECURITY \
-   SENDMAIL* TEST* THANKS* THOUGHTS UPGRADE VERSION*
+   dodoc BLURB* INSTALL* PIC* README* REMOVE* \
+   SENDMAIL* TEST* THANKS* VERSION*
+   # notqmail converted the files to markdown
+   if [ -f CHANGES ]; then
+   dodoc CHANGES FAQ SECURITY THOUGHTS UPGRADE
+   else
+   dodoc CHANGES.md FAQ.md SECURITY.md THOUGHTS.md UPGRADE.md
+   fi
 
declare -F qmail_man_install_hook >/dev/null && \
qmail_man_install_hook
@@ -334,7 +333,6 @@ qmail_ssl_install() {
 qmail_src_install() {
export GROUP_ROOT="$(id -gn root)"
qmail_base_install
-   qmail_full_install
qmail_config_install
qmail_man_install
qmail_sendmail_install
-- 
2.26.2



signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: [gentoo-dev-announce] */*: Mask Py2 only packages

2020-06-20 Thread Sergei Trofimovich
On Sat, 20 Jun 2020 00:43:03 -0400
Aaron Bauman  wrote:

> # Aaron Bauman  (2020-06-20)
> # Py2 only
> # Removal in 14 days
...
> app-misc/golly

If you decided to delete a maintained package you should file a bug against
the maintainer. Otherwise they won't see the effect until mask hits the users.

-- 

  Sergei



Re: [gentoo-dev] */*: Mask Py2 only packages

2020-06-20 Thread Ulrich Mueller
> On Sat, 20 Jun 2020, Aaron Bauman wrote:

>> # Aaron Bauman  (2020-06-20)
>> # Py2 only
>> # Removal in 14 days

I see these short deadlines quite often recently. Any reason why this
can't be the usual 30 days?

>> [...]

>> games-board/scid

I wonder about scid appearing in the list. IIRC, it is written in C++,
not Python.

Ulrich


signature.asc
Description: PGP signature