dev-util/include-what-you-use: add 0.25

* Migrate to llvm-r2.eclass.
* Enable python3.14 support.

Signed-off-by: Alfred Wingate <parona@protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43922
Closes: https://github.com/gentoo/gentoo/pull/43922
Signed-off-by: Florian Schmaus <flow@gentoo.org>
This commit is contained in:
Alfred Wingate 2025-09-24 11:47:14 +03:00 committed by Florian Schmaus
parent 9833b1a624
commit 96c52997a1
No known key found for this signature in database
GPG Key ID: 2239A7E8F5852052
2 changed files with 105 additions and 0 deletions

View File

@ -1,2 +1,3 @@
DIST include-what-you-use-0.23.tar.gz 813726 BLAKE2B 845101985d1c39925605d2908ad76c40b8df0838467d7afd83b644914893f8e32ed1563348e568bc126ea4349ab390b189b734f66cf3b8da75277af169313a23 SHA512 5c2bbda7dbc614089717d2a4f8b9a96111dc30efcdd331a21c548399d58b47229210d5f17eb48eeb56c44797068ebac634a5d68a5c50ff322753e5f7965b3d48
DIST include-what-you-use-0.24.tar.gz 821159 BLAKE2B 191d0299c0b5ad6ed75cb24b5530fe606dc6a9ddb91b8d1667ba6f5b909498354b7565e0ebafbfd56eb6e1c4e1c1cf885a0d08b8584d33fae34c4dcbde92ff65 SHA512 62d26a0e646cb6d94d5dee8d672009b938fdcfe64c5c6086693295e90d858754d9a6706b063ddc2cfe5660181df2722a4becfb56285b8cfc6d60f88f729924b7
DIST include-what-you-use-0.25.tar.gz 847859 BLAKE2B 845525d948d323f1364ec33ff4e6bf55911d74727a297fa008d929fb3af06f290cf1da64e07ad29ef5a661ef8656a4afde5d4c487d89591cca28eb57c1983b49 SHA512 80bdde7edc7f9576eb7ddb36ce0f3dbdc918c46d2bb45362a8583353821275fa6e8058ff091b91c2417e749995d60d6cd1744fcb73b52cbe13829e4c1a0de637

View File

@ -0,0 +1,104 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{11..14} )
LLVM_COMPAT=( 21 )
inherit cmake llvm-r2 python-single-r1 toolchain-funcs
DESCRIPTION="Find unused include directives in C/C++ programs"
HOMEPAGE="https://include-what-you-use.org/"
SRC_URI="
https://github.com/${PN}/${PN}/archive/${PV}.tar.gz
-> ${P}.tar.gz
"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
$(llvm_gen_dep '
llvm-core/clang:${LLVM_SLOT}=
llvm-core/llvm:${LLVM_SLOT}=
')
${PYTHON_DEPS}
"
DEPEND="${RDEPEND}"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
pkg_setup() {
llvm-r2_pkg_setup
python-single-r1_pkg_setup
}
src_prepare() {
cmake_src_prepare
python_fix_shebang .
}
src_configure() {
local mycmakeargs=(
# Note [llvm install path]
# Unfortunately all binaries using clang driver
# have to reside at the same path depth as
# 'clang' binary itself. See bug #625972
# Thus as a hack we install it to the same directory
# as llvm/clang itself.
-DCMAKE_INSTALL_PREFIX="$(get_llvm_prefix)"
# Relative path to the clang library
# https://github.com/include-what-you-use/include-what-you-use/commit/e046d23571876e72719ef96a36ff0cb1cb2e64b6
-DIWYU_RESOURCE_DIR="../../../clang/${LLVM_SLOT}"
)
cmake_src_configure
}
# tc-cpp-is-true and tc-get-cxx-stdlib smashed together
tc-cxx-is-true() {
local CONDITION=${1}
$(tc-getCXX) ${CPPFLAGS} ${CXXFLAGS} -x c++ -E -P - <<-EOF >/dev/null 2>&1
#if __cplusplus >= 202002L
#include <version>
#else
#include <ciso646>
#endif
#if ${CONDITION}
true
#else
#error false
#endif
EOF
}
src_test() {
local -a CMAKE_SKIP_TESTS=()
if tc-cxx-is-true "defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE >= 15)"; then
CMAKE_SKIP_TESTS+=(
cxx.test_precomputed_tpl_args
cxx.test_precomputed_tpl_args_cpp14
)
fi
# There could be failures with older libcxx versions as well.
if tc-cxx-is-true "defined(_LIBCPP_VERSION) && (_LIBCPP_VERSION >= 210101)"; then
CMAKE_SKIP_TESTS+=(
cxx.test_badinc
cxx.test_expl_inst_macro
cxx.test_iterator
cxx.test_libbuiltins
cxx.test_no_char_traits
cxx.test_overloaded_class
cxx.test_placement_new
cxx.test_precomputed_tpl_args
cxx.test_precomputed_tpl_args_cpp14
cxx.test_stl_container_provides_allocator
)
fi
cmake_src_test
}