Hi,
Update include-what-you-use (IWYU) to version 0.23. As each IWYU release
is tied to a specific LLVM release, this puts a firm dependency on
llvm-19 from ports.
Comments? OK?
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/include-what-you-use/Makefile,v
diff -u -p -r1.32 Makefile
--- Makefile 21 Dec 2024 11:39:33 -0000 1.32
+++ Makefile 2 Feb 2025 07:24:20 -0000
@@ -1,8 +1,9 @@
+DPB_PROPERTIES= parallel
+
COMMENT= tool to analyse \#includes in C and C++ source files
CATEGORIES= devel
-DISTNAME= include-what-you-use-0.20.src
+DISTNAME= include-what-you-use-0.23.src
PKGNAME= ${DISTNAME:.src=}
-REVISION= 1
HOMEPAGE= https://include-what-you-use.org
SITES= ${HOMEPAGE}/downloads/
@@ -19,7 +20,7 @@ MODULES= devel/cmake lang/clang lang/py
MODPY_BUILDDEP= No
MODPY_ADJ_FILES= *.py
-MODCLANG_VERSION= 16
+MODCLANG_VERSION= 19
MODCLANG_COMPILER_LINKS= No
MODCLANG_RUNDEP= Yes
@@ -27,7 +28,7 @@ LLVM_CMAKE_BASE = ${LOCALBASE}/llvm${MOD
CONFIGURE_ARGS = -DLLVM_DIR=${LLVM_CMAKE_BASE}/llvm \
-DClang_DIR=${LLVM_CMAKE_BASE}/clang
-COMPILER= base-clang ports-gcc
+COMPILER= ports-clang
COMPILER_LANGS= c++
DOCDIR= ${PREFIX}/share/doc/include-what-you-use
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/include-what-you-use/distinfo,v
diff -u -p -r1.12 distinfo
--- distinfo 15 Nov 2023 02:04:13 -0000 1.12
+++ distinfo 2 Feb 2025 07:24:20 -0000
@@ -1,2 +1,2 @@
-SHA256 (include-what-you-use-0.20.src.tar.gz) =
dfzh5khfKA+PE/TC0JCxHS/SECtQhXUHyEE6kZt6+Jk=
-SIZE (include-what-you-use-0.20.src.tar.gz) = 766090
+SHA256 (include-what-you-use-0.23.src.tar.gz) =
AATVqRaXF6zy9IEkilv8FcfVXdwrnNx/RhsG6T1Jxz8=
+SIZE (include-what-you-use-0.23.src.tar.gz) = 812613
Index: patches/patch-iwyu_include_picker_cc
===================================================================
RCS file:
/cvs/ports/devel/include-what-you-use/patches/patch-iwyu_include_picker_cc,v
diff -u -p -r1.10 patch-iwyu_include_picker_cc
--- patches/patch-iwyu_include_picker_cc 15 Nov 2023 02:04:13 -0000
1.10
+++ patches/patch-iwyu_include_picker_cc 2 Feb 2025 07:24:20 -0000
@@ -1,47 +1,42 @@
Index: iwyu_include_picker.cc
--- iwyu_include_picker.cc.orig
+++ iwyu_include_picker.cc
-@@ -136,8 +136,6 @@ const IncludeMapEntry libc_symbol_map[] = {
+@@ -124,7 +124,6 @@ const IncludeMapEntry libc_symbol_map[] = {
{ "imaxdiv_t", kPrivate, "<inttypes.h>", kPublic },
{ "intmax_t", kPrivate, "<stdint.h>", kPublic },
{ "uintmax_t", kPrivate, "<stdint.h>", kPublic },
- { "ino64_t", kPrivate, "<sys/types.h>", kPublic },
-- { "ino64_t", kPrivate, "<dirent.h>", kPublic },
{ "ino_t", kPrivate, "<sys/types.h>", kPublic },
- { "ino_t", kPrivate, "<dirent.h>", kPublic },
- { "ino_t", kPrivate, "<sys/stat.h>", kPublic },
-@@ -172,8 +170,6 @@ const IncludeMapEntry libc_symbol_map[] = {
- { "nlink_t", kPrivate, "<sys/stat.h>", kPublic },
+ { "int8_t", kPrivate, "<stdint.h>", kPublic },
+ { "int16_t", kPrivate, "<stdint.h>", kPublic },
+@@ -147,7 +146,6 @@ const IncludeMapEntry libc_symbol_map[] = {
+ { "nlink_t", kPrivate, "<sys/types.h>", kPublic },
{ "ntohl", kPrivate, "<arpa/inet.h>", kPublic },
{ "ntohs", kPrivate, "<arpa/inet.h>", kPublic },
- { "off64_t", kPrivate, "<sys/types.h>", kPublic },
-- { "off64_t", kPrivate, "<unistd.h>", kPublic },
{ "off_t", kPrivate, "<sys/types.h>", kPublic },
- { "off_t", kPrivate, "<aio.h>", kPublic },
- { "off_t", kPrivate, "<fcntl.h>", kPublic },
-@@ -208,13 +204,10 @@ const IncludeMapEntry libc_symbol_map[] = {
- { "sigevent", kPrivate, "<time.h>", kPublic },
+ { "optarg", kPrivate, "<unistd.h>", kPublic },
+ { "opterr", kPrivate, "<unistd.h>", kPublic },
+@@ -161,10 +159,8 @@ const IncludeMapEntry libc_symbol_map[] = {
+ { "sig_atomic_t", kPrivate, "<signal.h>", kPublic },
+ { "sigevent", kPrivate, "<signal.h>", kPublic },
{ "siginfo_t", kPrivate, "<signal.h>", kPublic },
- { "siginfo_t", kPrivate, "<sys/wait.h>", kPublic },
- { "sigset_t", kPrivate, "<signal.h>", kPublic },
-- { "sigset_t", kPrivate, "<spawn.h>", kPublic },
- { "sigset_t", kPrivate, "<sys/select.h>", kPublic },
{ "sigval", kPrivate, "<signal.h>", kPublic },
{ "sockaddr", kPrivate, "<sys/socket.h>", kPublic },
- { "socklen_t", kPrivate, "<sys/socket.h>", kPublic },
-- { "socklen_t", kPrivate, "<netdb.h>", kPublic },
+- { "socklen_t", kPrivate, "<sys/socket.h>", kPublic },
{ "ssize_t", kPrivate, "<sys/types.h>", kPublic },
- { "ssize_t", kPrivate, "<aio.h>", kPublic },
- { "ssize_t", kPrivate, "<monetary.h>", kPublic },
-@@ -296,6 +289,7 @@ const IncludeMapEntry libc_symbol_map[] = {
- { "size_t", kPrivate, "<unistd.h>", kPublic },
+ { "stack_t", kPrivate, "<signal.h>", kPublic },
+ { "stat", kPrivate, "<sys/stat.h>", kPublic },
+@@ -190,6 +186,7 @@ const IncludeMapEntry libc_symbol_map[] = {
+ { "size_t", kPrivate, "<time.h>", kPublic },
+ { "size_t", kPrivate, "<uchar.h>", kPublic },
{ "size_t", kPrivate, "<wchar.h>", kPublic },
- { "size_t", kPrivate, "<wordexp.h>", kPublic },
+ { "size_t", kPrivate, "<sys/types.h>", kPublic },
// Macros that can be defined in more than one file, don't have the
// same __foo_defined guard that other types do, so the grep above
// doesn't discover them. Until I figure out a better way, I just
-@@ -321,6 +315,10 @@ const IncludeMapEntry libc_symbol_map[] = {
+@@ -216,6 +213,10 @@ const IncludeMapEntry libc_symbol_map[] = {
{ "calloc", kPrivate, "<stdlib.h>", kPublic },
{ "realloc", kPrivate, "<stdlib.h>", kPublic },
{ "free", kPrivate, "<stdlib.h>", kPublic },
@@ -52,16 +47,16 @@ Index: iwyu_include_picker.cc
// Entries for NULL
{ "NULL", kPrivate, "<stddef.h>", kPublic }, // 'canonical' location for
NULL
{ "NULL", kPrivate, "<clocale>", kPublic },
-@@ -377,7 +375,7 @@ const IncludeMapEntry stdlib_cxx_symbol_map[] = {
- // Symbol -> include mappings for GNU libstdc++
- const IncludeMapEntry libstdcpp_symbol_map[] = {};
+@@ -279,7 +280,7 @@ const IncludeMapEntry libstdcpp_symbol_map[] = {
+ { "std::declval", kPrivate, "<utility>", kPublic },
+ };
-const IncludeMapEntry libc_include_map[] = {
+const IncludeMapEntry glibc_include_map[] = {
// Private -> public include mappings for GNU libc
// ( cd /usr/include && grep '^ *# *include' {sys/,net/,}* | perl -nle
'm/^([^:]+).*<([^>]+)>/ && print qq@ { "<$2>", kPrivate, "<$1>", kPublic
},@' | grep bits/ | sort )
// When I saw more than one mapping for these, I typically picked
-@@ -590,6 +588,42 @@ const IncludeMapEntry libc_include_map[] = {
+@@ -493,6 +494,42 @@ const IncludeMapEntry libc_include_map[] = {
{ "<sys/ucontext.h>", kPrivate, "<ucontext.h>", kPublic },
// Exports guaranteed by the C standard
{ "<stdint.h>", kPublic, "<inttypes.h>", kPublic },