From: "Sergei Trofimovich" <slyfox@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-util/include-what-you-use/
Date: Sat, 29 Jul 2017 17:34:45 +0000 (UTC) [thread overview]
Message-ID: <1501349681.c3759ec007c6cda0a7c1100247d455f33a2a1314.slyfox@gentoo> (raw)
commit: c3759ec007c6cda0a7c1100247d455f33a2a1314
Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 29 17:34:08 2017 +0000
Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Sat Jul 29 17:34:41 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c3759ec0
dev-util/include-what-you-use: worjaround <stddef.h> lookup failure, bug #625972
libclangDriver treats path to include files as stable relative
to clang binary: when we run /usr/lib64/llvm/4/bin/clang it resolves
<stddef.h> the following way:
"/usr/lib64/llvm/4/bin/" + "../../../../lib/clang/4.0.1/include/stddef.h"
Unfortunately when someone reuses clang driver to build a new tool
heared lookup breaks if final tool resides in "/usr/bin":
"/usr/bin/" + "../../../../lib/clang/4.0.1/include/stddef.h"
causing file open failures in case of include-what-you-use:
/usr/include/wchar.h:39:11: fatal error: 'stdarg.h' file not found
# include <stdarg.h>
^~~~~~~~~~
The workaround is to install executable to the same directory as clang itself.
Reported-by: Michał Bartoszkiewicz
Bug: https://bugs.gentoo.org/625972
Package-Manager: Portage-2.3.6, Repoman-2.3.3
.../include-what-you-use-4.0-r1.ebuild | 56 ++++++++++++++++++++++
1 file changed, 56 insertions(+)
diff --git a/dev-util/include-what-you-use/include-what-you-use-4.0-r1.ebuild b/dev-util/include-what-you-use/include-what-you-use-4.0-r1.ebuild
new file mode 100644
index 00000000000..4876be74098
--- /dev/null
+++ b/dev-util/include-what-you-use/include-what-you-use-4.0-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} )
+
+inherit cmake-utils flag-o-matic 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/clang_${PV}.tar.gz -> ${P}.src.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sys-devel/llvm:4
+ sys-devel/clang:4
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}"
+
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+S=${WORKDIR}/${PN}-clang_${PV}
+
+pkg_setup() {
+ llvm_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ python_fix_shebang .
+ default
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DIWYU_LLVM_INCLUDE_PATH=$(llvm-config --includedir)
+ -DIWYU_LLVM_LIB_PATH=$(llvm-config --libdir)
+
+ # 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)"
+ )
+ cmake-utils_src_configure
+}
+
+src_test() {
+ "${EPYTHON}" run_iwyu_tests.py
+}
next reply other threads:[~2017-07-29 17:34 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-29 17:34 Sergei Trofimovich [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-09-25 18:04 [gentoo-commits] repo/gentoo:master commit in: dev-util/include-what-you-use/ Florian Schmaus
2025-09-25 18:04 Florian Schmaus
2025-03-19 0:51 Sam James
2024-12-16 8:48 Florian Schmaus
2024-12-16 8:48 Florian Schmaus
2024-12-13 21:06 Florian Schmaus
2024-12-13 20:07 Florian Schmaus
2024-12-08 20:50 Arthur Zamarin
2024-11-15 20:35 Florian Schmaus
2024-11-15 20:35 Florian Schmaus
2024-10-03 10:00 Sam James
2024-08-22 9:33 Florian Schmaus
2024-03-18 15:10 Florian Schmaus
2024-03-06 20:17 Florian Schmaus
2024-03-06 20:17 Florian Schmaus
2023-12-10 19:44 Florian Schmaus
2023-12-10 19:12 Florian Schmaus
2023-06-25 15:23 Florian Schmaus
2023-05-01 10:36 Florian Schmaus
2023-04-28 6:09 Florian Schmaus
2023-04-25 20:57 Sam James
2022-12-24 13:14 Andreas Sturmlechner
2022-11-30 9:39 Florian Schmaus
2022-11-04 9:10 Florian Schmaus
2022-07-04 14:05 Florian Schmaus
2022-04-08 8:29 Florian Schmaus
2022-04-08 8:26 Florian Schmaus
2022-01-07 9:38 Jakov Smolić
2021-12-06 8:32 Florian Schmaus
2021-11-21 9:47 Florian Schmaus
2021-11-21 9:47 Florian Schmaus
2021-11-21 9:47 Florian Schmaus
2021-08-18 9:10 Florian Schmaus
2021-07-30 11:35 Florian Schmaus
2021-07-02 7:17 Sergei Trofimovich
2021-05-25 21:10 Sergei Trofimovich
2021-05-15 13:58 Sergei Trofimovich
2021-02-25 7:49 Sergei Trofimovich
2020-11-26 8:38 Sergei Trofimovich
2020-11-22 16:37 Sergei Trofimovich
2020-11-10 23:49 Sergei Trofimovich
2020-06-20 19:49 Sergei Trofimovich
2020-05-24 23:30 Sergei Trofimovich
2020-05-07 9:36 Jason A. Donenfeld
2020-04-01 21:14 Sergei Trofimovich
2020-02-10 11:54 Michał Górny
2019-12-09 19:20 Michał Górny
2019-10-26 12:26 Sergei Trofimovich
2019-09-09 19:02 Michał Górny
2019-06-02 7:20 Michał Górny
2019-04-26 15:32 Sergei Trofimovich
2018-12-08 16:45 Sergei Trofimovich
2018-04-25 19:06 Sergei Trofimovich
2018-04-05 23:09 Sergei Trofimovich
2018-02-14 22:35 Sergei Trofimovich
2018-01-16 22:50 Sergei Trofimovich
2017-10-16 0:08 David Seifert
2017-07-19 8:27 Sergei Trofimovich
2017-07-04 21:56 Sergei Trofimovich
2017-06-03 8:27 Michał Górny
2016-11-05 20:21 Sergei Trofimovich
2016-05-17 7:29 Sergei Trofimovich
2016-05-13 7:50 Sergei Trofimovich
2016-05-13 7:41 Sergei Trofimovich
2016-03-02 8:47 David Seifert
2015-11-29 21:35 Sergei Trofimovich
2015-09-01 19:31 Tobias Klausmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1501349681.c3759ec007c6cda0a7c1100247d455f33a2a1314.slyfox@gentoo \
--to=slyfox@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox