diff options
Diffstat (limited to 'dev-util/include-what-you-use')
-rw-r--r-- | dev-util/include-what-you-use/Manifest | 2 | ||||
-rw-r--r-- | dev-util/include-what-you-use/include-what-you-use-0.20.ebuild | 92 |
2 files changed, 94 insertions, 0 deletions
diff --git a/dev-util/include-what-you-use/Manifest b/dev-util/include-what-you-use/Manifest index 866568f913e0..14dda5d4746f 100644 --- a/dev-util/include-what-you-use/Manifest +++ b/dev-util/include-what-you-use/Manifest @@ -1,5 +1,7 @@ AUX include-what-you-use-0.19-tests-cxx-badinc.cc-remove-stddef-from-expected.patch 1123 BLAKE2B fdf322e66d199671cdf69d606e658398661313ead19f30b2922bae427b1e428c7e91e71b9402badcb811279d2d9d839cfe4b890248604e5e4c918a493d1e046f SHA512 2bbd0b778751cd09de98c8461643686ef7e15c7be9caae8f5a3572ad92a5d866998d1c31db570b602d85b795456067cde666c0148617b0a4b9087628998f4fb9 DIST include-what-you-use-0.19-test-util-support-EXTRA_IWYU_ARGS.patch 2314 BLAKE2B d6c99aa59b52207ece610f8a8fe52ae967f3e027118c97f665b0a5d21782d85d94658ece1e0ae0e2d86cdcb94a345f072fdbda495caf589b045a8be38bf56f99 SHA512 2ecd6afc2de5ff85c8a6609b151d7d1e50a985e5c52db9b298ce21bad94a3bafb7b939fcd3b3cec0b753e83ba9ea256f628fbda16837ee6b3c3f1d2ec664d4d9 DIST include-what-you-use-0.19.tar.gz 757761 BLAKE2B 09dfe686db78973059039f878029cda8dea9912127cf7ed9ddc123abe14459e670304fd531760afbebedee8c4992d15add18b75f9b62dc2d9c4b0f4edb8e0a1d SHA512 0847ae898696b51540ab9f5715e69bae67db42409d60205227d543ba6597b12cc2ea5bf68a3315c31f22e7186e05c06a86f5ae5b893c23bfe4cd9ef6f06ccddc +DIST include-what-you-use-0.20.tar.gz 766208 BLAKE2B 54ae7ab18afc592bae201e551377a22d9439cb38418197836aef9d7a74d84ec7cca81ae155358504af9520a07d513e78e61ed7bcf55028f3b56aaa6e949f950b SHA512 77195dc36338a37d3397c78701d81e52fc1c6a3441979fa016f154b0fc860598959e6430e78a51bbf9049f6b2bb62956e50f5531ac5c94c6554e2383ace540f5 EBUILD include-what-you-use-0.19.ebuild 2011 BLAKE2B 9f4e2887826ca95540070acf1db1ebba8445a7655c452ca96d32d8628bf8859bbf36090c03a2a29f43cf0517a619df87944c3e1d640cfb5c1099b96c59eb3b5d SHA512 69d66ee9c991e21dc7dbaf5baa19ee75d779ffc9532dad5c59224a5f193bbb7e9c318583acdec376b7c60c7fa913d311bd22114ef35dd0d3e69e4e59220187fd +EBUILD include-what-you-use-0.20.ebuild 2464 BLAKE2B 8b477533dead6e95c40c8e1c01d874735cb40a9dc48a1f5f4233238695f82bb1ba743c03ef512a16c02738532b62d586cd9fb6411e1be4ace8d1e825d7215469 SHA512 fedb4b3f6e0ee5c510c3b7f20973d187300298822f8159ebe519dfff0741cfef493a01caefa052ea43770e7dd72b3d34100f49ca143e5bcdcf7225d712c5b15d MISC metadata.xml 353 BLAKE2B 2d95f026ce60294177b001cddd8904988aeddb3fb257a73bcf1d028bebd747b0b9467322a0fb87a5de1f7074721ebc2b9931eaa1c519fcef0388a61a8924fea9 SHA512 88e999a1bb1d9993d150347db7b1ec340978594cd2543191646e54d8fb5e125a68063916f048cc1a7166ccd646d66ea33f7f37d94ff20ed21abc7b7c8413e222 diff --git a/dev-util/include-what-you-use/include-what-you-use-0.20.ebuild b/dev-util/include-what-you-use/include-what-you-use-0.20.ebuild new file mode 100644 index 000000000000..f91d37114fcd --- /dev/null +++ b/dev-util/include-what-you-use/include-what-you-use-0.20.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{9..11} ) + +inherit cmake llvm python-single-r1 + +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 + https://github.com/include-what-you-use/include-what-you-use/commit/62e5e2e35380e46ccbff2c2ed118f8bb5c01755b.patch + -> ${PN}-0.19-test-util-support-EXTRA_IWYU_ARGS.patch +" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +LLVM_MAX_SLOT=16 + +RDEPEND=" + sys-devel/clang:${LLVM_MAX_SLOT} + sys-devel/llvm:${LLVM_MAX_SLOT} + ${PYTHON_DEPS} +" +DEPEND="${RDEPEND}" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +PATCHES=( + # https://github.com/include-what-you-use/include-what-you-use/pull/1252 + "${DISTDIR}"/${PN}-0.19-test-util-support-EXTRA_IWYU_ARGS.patch + "${FILESDIR}"/${PN}-0.19-tests-cxx-badinc.cc-remove-stddef-from-expected.patch +) + +llvm_check_deps() { + has_version "sys-devel/clang:${LLVM_SLOT}" +} + +pkg_setup() { + llvm_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 "${LLVM_MAX_SLOT}")" + ) + cmake_src_configure +} + +src_test() { + local clang_version=$(best_version sys-devel/clang:${LLVM_MAX_SLOT}) + clang_version=${clang_version#*/*-} # reduce it to ${PV}-${PR} + clang_version=${clang_version%%[_-]*} # main version without beta/pre/patch/revision + + local clang_include_dir_candidates=( + "${ESYSROOT}/usr/lib/clang/${clang_version}/include" + "${ESYSROOT}/usr/lib/clang/${LLVM_MAX_SLOT}/include" + ) + + local candidate_dir + for candidate_dir in "${clang_include_dir_candidates[@]}"; do + if [[ -d "${candidate_dir}" ]]; then + local clang_include_dir="${candidate_dir}" + break + fi + done + + if [[ ! -v clang_include_dir ]]; then + die "Could not infer clang include directory. Candidates: ${clang_include_dir_candidates[*]}" + fi + + local -x EXTRA_IWYU_ARGS="-I ${clang_include_dir}" + "${EPYTHON}" run_iwyu_tests.py \ + -- "${BUILD_DIR}"/bin/${PN} \ + || die "Tests failed with $? (using ${EPYTHON})" +} |