public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2025-01-27 22:29 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2025-01-27 22:29 UTC (permalink / raw
  To: gentoo-commits

commit:     054f888c6fa1a8c95095aca6734be8e1f1847d7c
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 27 22:11:34 2025 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Jan 27 22:29:39 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=054f888c

dev-util/clazy: drop 1.12

Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/clazy/Manifest                            |   1 -
 dev-util/clazy/clazy-1.12.ebuild                   |  88 ----------------
 .../files/clazy-1.12-clang-16-no-src-root.patch    |  60 -----------
 .../files/clazy-1.12-fix-tests-Qt-detect-1.patch   |  78 --------------
 .../files/clazy-1.12-fix-tests-Qt-detect-2.patch   | 115 ---------------------
 dev-util/clazy/files/clazy-1.12-llvm-18.patch      |  36 -------
 6 files changed, 378 deletions(-)

diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 4a556fa20ebb..b31e0db22cc0 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
-DIST clazy-1.12.tar.xz 427740 BLAKE2B ad2c78a506132b5fd6b3c22a7e9794c38ddd71242cde6f760e48d0250f6215629007d45303f4b35fdc7717865b8221ab1c2f3c6889a44ea1809e112845f16463 SHA512 7a2b4a753098f15936a4731c82c660c1cd4d81949279435e87f00f7f72bef3e32cb574c8991c0707798581278e9fbcae34d354c1e6b77a15a5e26166d658fa9e
 DIST clazy-1.13.tar.xz 434648 BLAKE2B 2659bec375c9f30021cdd86c12ab4416dfb5250706c2f6254cbd848d07e3e4f220b2a74d23390f235939ad3e5390797ea4b5398948e129a07a66a5de2d33c997 SHA512 4044bddb9e60e227ff2ab7e40c32f087a621e00c985e1706a4f4e2ace20f96cc6e78f00781f7d59da5b066aa49370c645db506e41d955409c0e146771a59ee24

diff --git a/dev-util/clazy/clazy-1.12.ebuild b/dev-util/clazy/clazy-1.12.ebuild
deleted file mode 100644
index e99a8da7633f..000000000000
--- a/dev-util/clazy/clazy-1.12.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_COMPAT=( {15..18} )
-PYTHON_COMPAT=( python3_{10..13} )
-inherit cmake llvm-r1 python-any-r1
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://apps.kde.org/clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	$(llvm_gen_dep 'llvm-core/clang:${LLVM_SLOT}')
-	$(llvm_gen_dep 'llvm-core/llvm:${LLVM_SLOT}')
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
-	test? (
-		${PYTHON_DEPS}
-		dev-qt/qtbase:6[network,xml]
-		dev-qt/qtmultimedia:6
-		dev-qt/qtnetworkauth:6
-		dev-qt/qtscxml:6[qml]
-		dev-qt/qtsvg:6
-	)
-"
-
-PATCHES=(
-	# git master
-	"${FILESDIR}"/${P}-fix-tests-Qt-detect-{1,2}.patch
-	"${FILESDIR}"/${P}-llvm-18.patch
-	# Pending: https://invent.kde.org/sdk/clazy/-/merge_requests/131
-	"${FILESDIR}"/${P}-clang-16-no-src-root.patch
-
-	"${FILESDIR}"/${P}-LIBRARY_DIRS.patch
-	"${FILESDIR}"/${P}-INCLUDE_DIRS.patch
-	"${FILESDIR}"/${P}-standalone-install-location.patch
-	"${FILESDIR}"/${P}-clazy-install-location.patch
-)
-
-pkg_setup() {
-	use test && python-any-r1_pkg_setup
-	llvm-r1_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
-		-i CMakeLists.txt || die
-}
-
-src_configure() {
-	local -x LLVM_ROOT="$(get_llvm_prefix -d)"
-
-	export CI_JOB_NAME_SLUG="qt6"
-
-	cmake_src_configure
-}
-
-src_test() {
-	# clazy-standalone wants to be installed in the directory of the clang binary,
-	# so it can find the llvm/clang via relative paths.
-	# Requires the standalone-install-location.patch.
-	# Setup the directories and symlink the system include dir for that.
-	local -x LLVM_ROOT="$(get_llvm_prefix -d)"
-	local -x CLANG_ROOT="${LLVM_ROOT//llvm/clang}"
-	mkdir -p "${BUILD_DIR}${CLANG_ROOT}" || die
-
-	ln -s "${CLANG_ROOT}/include" "${BUILD_DIR}${CLANG_ROOT}/include" || die
-
-	# Run tests against built copy, not installed
-	# bug #811723
-	local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}"
-	local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib"
-
-	chmod +x "${BUILD_DIR}/bin/clazy" || die
-
-	cmake_src_test
-}

diff --git a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch b/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
deleted file mode 100644
index ca88efeaf6cd..000000000000
--- a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 4fa1ded456626f9c13f1f77212754d6349d12a8a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
-Date: Tue, 27 Feb 2024 21:14:19 +0100
-Subject: [PATCH] [cmake] Adjust for non-installed LLVM
-
-In LLVM 16 llvm-config got --src-root removed.
-Adjust include path for Clang include
----
- cmake/FindClang.cmake | 8 ++++++--
- cmake/FindLLVM.cmake  | 6 +++++-
- 2 files changed, 11 insertions(+), 3 deletions(-)
-
-diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
-index e438ea5c..b4f0b0a1 100644
---- a/cmake/FindClang.cmake
-+++ b/cmake/FindClang.cmake
-@@ -86,8 +86,12 @@ if(CLANG_FOUND)
-   set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
- 
-   # check whether llvm-config comes from an install prefix
-+  set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
-+  if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
-+    set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
-+  endif()
-   execute_process(
--    COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-+    COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
-     OUTPUT_VARIABLE _llvmSourceRoot
-     OUTPUT_STRIP_TRAILING_WHITESPACE
-   )
-@@ -96,7 +100,7 @@ if(CLANG_FOUND)
-     message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang")
-     list(APPEND CLANG_INCLUDE_DIRS
-          "${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir
--         "${_llvmSourceRoot}/tools/clang/include"     # source dir
-+         "${_llvmSourceRoot}/../../clang/include"     # source dir
-     )
-   endif()
- 
-diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
-index da02e006..c625eeb5 100644
---- a/cmake/FindLLVM.cmake
-+++ b/cmake/FindLLVM.cmake
-@@ -131,8 +131,12 @@ if (LLVM_FOUND)
-   endif()
- 
-   # potentially add include dir from binary dir for non-installed LLVM
-+  set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
-+  if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
-+    set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
-+  endif()
-   execute_process(
--    COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-+    COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
-     OUTPUT_VARIABLE _llvmSourceRoot
-     OUTPUT_STRIP_TRAILING_WHITESPACE
-   )
--- 
-GitLab
-

diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
deleted file mode 100644
index bca03b24dff4..000000000000
--- a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 61b03a0d9cb319173766383216deee74fd6d800e Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sat, 7 Sep 2024 11:31:22 +0200
-Subject: [PATCH] Make tests work when clang library is different from system
- default
-
-If we have found the clang folder, we can resolve the executable from there.
-In my case, I was compiling against clang16, but my system default was clang 14.
-The stacktrace is really confusing and hard to understand. Using the
-absolute path makes the log also better to understand and to reproduce
-the test results.
----
- ClazyTests.generated.cmake |  5 ++++-
- cmake/FindLLVM.cmake       | 13 +++++++++++++
- dev-scripts/generate.py    |  5 ++++-
- 3 files changed, 21 insertions(+), 2 deletions(-)
-
-diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
-index 204f0e5b..49b0f69e 100644
---- a/ClazyTests.generated.cmake
-+++ b/ClazyTests.generated.cmake
-@@ -2,8 +2,11 @@
- 
- macro(add_clazy_test name)
-   add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+  if (CLANG_EXECUTABLE_PATH)
-+    set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-+  endif()
-   set_property(TEST ${name} PROPERTY
--    ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-+    ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-   )
- endmacro()
- 
-diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
-index a1fd9e3f..da02e006 100644
---- a/cmake/FindLLVM.cmake
-+++ b/cmake/FindLLVM.cmake
-@@ -117,6 +117,19 @@ if (LLVM_FOUND)
-     OUTPUT_STRIP_TRAILING_WHITESPACE
-   )
- 
-+  execute_process(
-+    COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir
-+    OUTPUT_VARIABLE LLVM_BIN_DIR
-+    OUTPUT_STRIP_TRAILING_WHITESPACE
-+  )
-+  set(CLANG_EXECUTABLE_PATH "${LLVM_BIN_DIR}/clang")
-+  if(EXISTS ${CLANG_EXECUTABLE_PATH})
-+    message(STATUS "Clang found: ${CLANG_EXECUTABLE_PATH}")
-+    set(CLANG_EXECUTABLE ${CLANG_EXECUTABLE_PATH})
-+  else()
-+    message(WARNING "Clang not found in LLVM bin directory: ${LLVM_BIN_DIR}")
-+  endif()
-+
-   # potentially add include dir from binary dir for non-installed LLVM
-   execute_process(
-     COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
-diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
-index 2678aaba..11fc5bfc 100755
---- a/dev-scripts/generate.py
-+++ b/dev-scripts/generate.py
-@@ -468,8 +468,11 @@ def generate_ctest(checks):
-     contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
- macro(add_clazy_test name)
-   add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+  if (CLANG_EXECUTABLE_PATH)
-+    set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-+  endif()
-   set_property(TEST ${name} PROPERTY
--    ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-+    ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
-   )
- endmacro()\n
- """
--- 
-GitLab
-

diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
deleted file mode 100644
index 9e5276644ad7..000000000000
--- a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From fc058479b1d0ab8498b23a68dcbb56be1b38c793 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Sat, 7 Sep 2024 14:25:45 +0200
-Subject: [PATCH] Only look for Qt5/Qt6 installs if respective CI job is
- running
-
-We may have a qt6 installation even on a Qt5 image
-
-But in any case, we should only run them on the dedicated im age and not waste CI time otherwise
----
- ClazyTests.generated.cmake |  8 +++++++-
- dev-scripts/generate.py    |  8 +++++++-
- tests/run_tests.py         | 22 ++++++++++++++--------
- 3 files changed, 28 insertions(+), 10 deletions(-)
-
-diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
-index 49b0f69e..9babc7c5 100644
---- a/ClazyTests.generated.cmake
-+++ b/ClazyTests.generated.cmake
-@@ -1,7 +1,13 @@
- # This file was autogenerated by running: ./dev-scripts/generate.py --generate
- 
-+if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
-+    set(TEST_VERSION_OPTION "--qt-versions=5")
-+elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
-+    set(TEST_VERSION_OPTION "--qt-versions=6")
-+endif()
-+
- macro(add_clazy_test name)
--  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-   if (CLANG_EXECUTABLE_PATH)
-     set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-   endif()
-diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
-index 11fc5bfc..a1233698 100755
---- a/dev-scripts/generate.py
-+++ b/dev-scripts/generate.py
-@@ -466,8 +466,14 @@ def generate_ctest(checks):
-     filename = clazy_source_path() + 'ClazyTests.generated.cmake'
- 
-     contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
-+if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
-+    set(TEST_VERSION_OPTION "--qt-versions=5")
-+elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
-+    set(TEST_VERSION_OPTION "--qt-versions=6")
-+endif()
-+
- macro(add_clazy_test name)
--  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-+  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
-   if (CLANG_EXECUTABLE_PATH)
-     set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
-   endif()
-diff --git a/tests/run_tests.py b/tests/run_tests.py
-index 9fb9d5dc..da54e45a 100755
---- a/tests/run_tests.py
-+++ b/tests/run_tests.py
-@@ -457,6 +457,8 @@ parser.add_argument("--only-standalone", action='store_true',
-                     help='Only run clazy-standalone')
- parser.add_argument("--dump-ast", action='store_true',
-                     help='Dump a unit-test AST to file')
-+parser.add_argument("--qt-versions", type=int, choices=[5, 6], nargs='+', default=[5, 6],
-+                    help='Specify one or more Qt versions to use (default: 5 and 6)')
- parser.add_argument(
-     "--exclude", help='Comma separated list of checks to ignore')
- parser.add_argument("-j", "--jobs", type=int, default=multiprocessing.cpu_count(),
-@@ -481,10 +483,14 @@ _only_standalone = args.only_standalone
- _num_threads = args.jobs
- _lock = threading.Lock()
- _was_successful = True
--_qt6_installation = find_qt_installation(
--    6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
--_qt5_installation = find_qt_installation(
--    5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
-+if 6 in args.qt_versions:
-+    _qt6_installation = find_qt_installation(6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
-+else:
-+    _qt6_installation = None
-+if 5 in args.qt_versions:
-+    _qt5_installation = find_qt_installation(5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
-+else:
-+    _qt5_installation = None
- _excluded_checks = args.exclude.split(',') if args.exclude is not None else []
- 
- # -------------------------------------------------------------------------------
-@@ -697,6 +703,8 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
-         return True
- 
-     qt = qt_installation(qt_major_version)
-+    if qt == None:
-+        return True # silently skip
- 
-     if _verbose:
-         print("Qt major versions required by the test: " + str(test.qt_major_versions))
-@@ -709,14 +717,12 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
- 
-     if qt.int_version < test.minimum_qt_version or qt.int_version > test.maximum_qt_version or CLANG_VERSION < test.minimum_clang_version:
-         if (_verbose):
--            print("Skipping " + printableName +
--                  " because required version is not available")
-+            print("Skipping " + printableName + " because required version is not available")
-         return True
- 
-     if test.requires_std_filesystem and not _hasStdFileSystem:
-         if (_verbose):
--            print("Skipping " + printableName +
--                  " because it requires std::filesystem")
-+            print("Skipping " + printableName + " because it requires std::filesystem")
-         return True
- 
-     if _platform in test.blacklist_platforms:
--- 
-GitLab
-

diff --git a/dev-util/clazy/files/clazy-1.12-llvm-18.patch b/dev-util/clazy/files/clazy-1.12-llvm-18.patch
deleted file mode 100644
index d1f2bea9ffbf..000000000000
--- a/dev-util/clazy/files/clazy-1.12-llvm-18.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0d87de91457c3bf2338b997555694953d45e17a4 Mon Sep 17 00:00:00 2001
-From: Alexander Lohnau <alexander.lohnau@gmx.de>
-Date: Tue, 10 Sep 2024 13:50:56 +0200
-Subject: [PATCH] rule-of-three: Fix destructor not being found and thus
- causing false positive
-
-This works fine in clang 14, but apparently not in later versions
-
-The false positive caused a CI failure in https://invent.kde.org/libraries/qca/-/merge_requests/116
----
- src/checks/level2/rule-of-three.cpp | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
-index 6996ee1e..f18ff999 100644
---- a/src/checks/level2/rule-of-three.cpp
-+++ b/src/checks/level2/rule-of-three.cpp
-@@ -56,7 +56,14 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
- 
-     CXXConstructorDecl *copyCtor = Utils::copyCtor(record);
-     CXXMethodDecl *copyAssign = Utils::copyAssign(record);
--    CXXDestructorDecl *destructor = record->getDestructor();
-+    CXXDestructorDecl *destructor = nullptr;
-+    // Getting the destructor using record->getDestructor() does not work for later clang versions, e.g. clang 16
-+    for (auto *decl : record->decls()) {
-+        if (auto *destructorDecl = dyn_cast<CXXDestructorDecl>(decl)) {
-+            destructor = destructorDecl;
-+            break;
-+        }
-+    }
-     const bool dtorDefaultedByUser = destructor && destructor->isDefaulted() && !destructor->isImplicit();
- 
-     const bool hasUserCopyCtor = copyCtor && copyCtor->isUserProvided();
--- 
-GitLab
-


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2024-12-11 21:41 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2024-12-11 21:41 UTC (permalink / raw
  To: gentoo-commits

commit:     543cdf7e807132850a42c39f82146133e6432bd7
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 21:40:34 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 11 21:40:34 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=543cdf7e

dev-util/clazy: drop 1.11-r4

Bug: https://bugs.gentoo.org/945356
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/clazy/Manifest                            |   1 -
 dev-util/clazy/clazy-1.11-r4.ebuild                |  57 ------
 dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch  | 223 ---------------------
 dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch  |  83 --------
 dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch  |  38 ----
 .../clazy/files/clazy-1.11-fix-regex-detect.patch  |  25 ---
 .../clazy/files/clazy-1.11-jobs-for-tests.patch    |  41 ----
 7 files changed, 468 deletions(-)

diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 9cb5a135f2f6..e7e09153faef 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
-DIST clazy-1.11.tar.xz 404088 BLAKE2B 1a69fe07ef81a0efe3c9db9129083247d60943592967f705d62d3859039cec250673eecc06184f70d134cbab85708d957b0a085beff8b3e46325a69547e005b7 SHA512 6a7c162392dd30aea29669275cea814d6daccf7931b8cdb20997f9bbff5619832d5461a6d0f854ecbc4726e52b6937c4f9cb8651087ffe73676c04239a38ca2b
 DIST clazy-1.12.tar.xz 427740 BLAKE2B ad2c78a506132b5fd6b3c22a7e9794c38ddd71242cde6f760e48d0250f6215629007d45303f4b35fdc7717865b8221ab1c2f3c6889a44ea1809e112845f16463 SHA512 7a2b4a753098f15936a4731c82c660c1cd4d81949279435e87f00f7f72bef3e32cb574c8991c0707798581278e9fbcae34d354c1e6b77a15a5e26166d658fa9e

diff --git a/dev-util/clazy/clazy-1.11-r4.ebuild b/dev-util/clazy/clazy-1.11-r4.ebuild
deleted file mode 100644
index 621e8340cbf8..000000000000
--- a/dev-util/clazy/clazy-1.11-r4.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LLVM_MAX_SLOT=17
-PYTHON_COMPAT=( python3_{10..12} )
-inherit cmake llvm python-any-r1
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://apps.kde.org/clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="<llvm-core/clang-$((${LLVM_MAX_SLOT} + 1)):="
-DEPEND="${RDEPEND}"
-BDEPEND="test? ( ${PYTHON_DEPS} )"
-
-PATCHES=(
-	"${FILESDIR}"/${P}-fix-regex-detect.patch
-	"${FILESDIR}"/${P}-fix-llvm-{15,16,17}.patch
-	"${FILESDIR}"/${P}-jobs-for-tests.patch
-)
-
-llvm_check_deps() {
-	has_version "llvm-core/clang:${LLVM_SLOT}" && has_version "llvm-core/llvm:${LLVM_SLOT}"
-}
-
-pkg_setup() {
-	use test && python-any-r1_pkg_setup
-
-	llvm_pkg_setup
-}
-
-src_prepare() {
-	cmake_src_prepare
-
-	sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
-		-i CMakeLists.txt || die
-}
-
-src_configure() {
-	export LLVM_ROOT="$(get_llvm_prefix -d ${LLVM_MAX_SLOT})"
-
-	cmake_src_configure
-}
-
-src_test() {
-	# Run tests against built copy, not installed
-	# bug #811723
-	PATH="${BUILD_DIR}/bin:${PATH}" LD_LIBRARY_PATH="${BUILD_DIR}/lib" cmake_src_test
-}

diff --git a/dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch b/dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch
deleted file mode 100644
index b98e4b1c2fee..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-llvm-15.patch
+++ /dev/null
@@ -1,223 +0,0 @@
-From 20fca52da739ebefa47e35f6b338bb99a0da3cfe Mon Sep 17 00:00:00 2001
-From: Cristian Adam <cristian.adam@qt.io>
-Date: Tue, 6 Sep 2022 16:30:02 +0200
-Subject: [PATCH] Build fixes for LLVM/Clang 15.0.0
-
-Change-Id: Icc39a0b1acffb5a6a4798b1259d8ad4e7dd47bc5
----
- CMakeLists.txt                              |  6 ++++++
- src/PreProcessorVisitor.cpp                 |  2 +-
- src/PreProcessorVisitor.h                   |  2 +-
- src/SourceCompatibilityHelpers.h            | 15 +++++++++++++++
- src/Utils.cpp                               |  3 ++-
- src/checkbase.cpp                           |  4 ++--
- src/checkbase.h                             |  4 ++--
- src/checks/manuallevel/qt6-fwd-fixes.cpp    |  2 +-
- src/checks/manuallevel/qt6-fwd-fixes.h      |  2 +-
- src/checks/manuallevel/qt6-header-fixes.cpp |  2 +-
- src/checks/manuallevel/qt6-header-fixes.h   |  2 +-
- 11 files changed, 33 insertions(+), 11 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3c780b0d..100135af 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -114,6 +114,10 @@ else()
-     set(clang_tooling_refactoring_lib clangToolingRefactor)
- endif()
- 
-+if (${LLVM_VERSION} VERSION_GREATER_EQUAL "15.0.0")
-+  set(clang_support_lib clangSupport)
-+endif()
-+
- macro(link_to_llvm name is_standalone)
-   if (CLAZY_LINK_CLANG_DYLIB)
-     target_link_libraries(${name} clang-cpp)
-@@ -131,6 +135,7 @@ macro(link_to_llvm name is_standalone)
- 
-       target_link_libraries(${name} ${clang_lib})
-     endforeach()
-+    target_link_libraries(${name} ${clang_support_lib})
-     target_link_libraries(${name} clangTooling)
-     target_link_libraries(${name} clangToolingCore)
-     target_link_libraries(${name} ${clang_tooling_refactoring_lib})
-@@ -302,6 +307,7 @@ else()
-     clangFrontendTool
-     clangRewrite
-     clangSerialization
-+    ${clang_support_lib}
-     clangTooling
-     clangStaticAnalyzerCheckers
-     clangStaticAnalyzerCore
-diff --git a/src/PreProcessorVisitor.cpp b/src/PreProcessorVisitor.cpp
-index 5e63a131..5fdfe5f3 100644
---- a/src/PreProcessorVisitor.cpp
-+++ b/src/PreProcessorVisitor.cpp
-@@ -185,7 +185,7 @@ void PreProcessorVisitor::MacroExpands(const Token &MacroNameTok, const MacroDef
- 
- void PreProcessorVisitor::InclusionDirective (clang::SourceLocation, const clang::Token &,
-                                               clang::StringRef FileName, bool IsAngled, clang::CharSourceRange FilenameRange,
--                                              const clang::FileEntry *, clang::StringRef, clang::StringRef,
-+                                              clazy::OptionalFileEntryRef, clang::StringRef, clang::StringRef,
-                                               const clang::Module *, clang::SrcMgr::CharacteristicKind)
- {
-    if (m_ci.getPreprocessor().isInPrimaryFile() && !clazy::endsWith(FileName.str(), ".moc")) {
-diff --git a/src/PreProcessorVisitor.h b/src/PreProcessorVisitor.h
-index dc80ff36..1bb17a5e 100644
---- a/src/PreProcessorVisitor.h
-+++ b/src/PreProcessorVisitor.h
-@@ -71,7 +71,7 @@ protected:
-                       clang::SourceRange range, const clang::MacroArgs *) override;
-     void InclusionDirective (clang::SourceLocation HashLoc, const clang::Token &IncludeTok,
-                              clang::StringRef FileName, bool IsAngled, clang::CharSourceRange FilenameRange,
--                             const clang::FileEntry *File, clang::StringRef SearchPath, clang::StringRef RelativePath,
-+                             clazy::OptionalFileEntryRef File, clang::StringRef SearchPath, clang::StringRef RelativePath,
-                              const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
- private:
-     std::string getTokenSpelling(const clang::MacroDefinition &) const;
-diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
-index 4ea923a2..c1a23a4b 100644
---- a/src/SourceCompatibilityHelpers.h
-+++ b/src/SourceCompatibilityHelpers.h
-@@ -144,6 +144,21 @@ inline bool contains_lower(clang::StringRef haystack, clang::StringRef needle)
- #endif
- }
- 
-+#if LLVM_VERSION_MAJOR >= 15
-+using OptionalFileEntryRef = clang::Optional<clang::FileEntryRef>;
-+#else
-+using OptionalFileEntryRef = const clang::FileEntry*;
-+#endif
-+
-+inline bool isAscii(clang::StringLiteral *lt)
-+{
-+#if LLVM_VERSION_MAJOR >= 15
-+    return lt->isOrdinary();
-+#else
-+    return lt->isAscii();
-+#endif
-+}
-+
- }
- 
- #endif
-diff --git a/src/Utils.cpp b/src/Utils.cpp
-index 3cdf7876..70e0577c 100644
---- a/src/Utils.cpp
-+++ b/src/Utils.cpp
-@@ -25,6 +25,7 @@
- #include "Utils.h"
- #include "StringUtils.h"
- #include "HierarchyUtils.h"
-+#include "SourceCompatibilityHelpers.h"
- #include "StmtBodyRange.h"
- #include "clazy_stl.h"
- 
-@@ -670,7 +671,7 @@ const CXXRecordDecl *Utils::recordForMemberCall(CXXMemberCallExpr *call, string
- bool Utils::isAscii(StringLiteral *lt)
- {
-     // 'é' for some reason has isAscii() == true, so also call containsNonAsciiOrNull
--    return lt && lt->isAscii() && !lt->containsNonAsciiOrNull();
-+    return lt && clazy::isAscii(lt) && !lt->containsNonAsciiOrNull();
- }
- 
- bool Utils::isInDerefExpression(Stmt *s, ParentMap *map)
-diff --git a/src/checkbase.cpp b/src/checkbase.cpp
-index f5936dfd..dcc7c999 100644
---- a/src/checkbase.cpp
-+++ b/src/checkbase.cpp
-@@ -105,7 +105,7 @@ void ClazyPreprocessorCallbacks::MacroDefined(const Token &macroNameTok, const M
- }
- 
- void ClazyPreprocessorCallbacks::InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
--                                                    clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+                                                    clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                                                     clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType)
- {
-     check->VisitInclusionDirective(HashLoc, IncludeTok, FileName, IsAngled, FilenameRange, File, SearchPath, RelativePath, Imported, FileType);
-@@ -182,7 +182,7 @@ void CheckBase::VisitEndif(SourceLocation, SourceLocation)
- }
- 
- void CheckBase::VisitInclusionDirective(clang::SourceLocation , const clang::Token &, clang::StringRef , bool ,
--                        clang::CharSourceRange , const clang::FileEntry *, clang::StringRef ,
-+                        clang::CharSourceRange , clazy::OptionalFileEntryRef, clang::StringRef ,
-                         clang::StringRef , const clang::Module *, clang::SrcMgr::CharacteristicKind )
- {
-     // Overriden in derived classes
-diff --git a/src/checkbase.h b/src/checkbase.h
-index c5db2daf..02f6a6bf 100644
---- a/src/checkbase.h
-+++ b/src/checkbase.h
-@@ -91,7 +91,7 @@ public:
-     void Else(clang::SourceLocation loc, clang::SourceLocation ifLoc) override;
-     void Endif(clang::SourceLocation loc, clang::SourceLocation ifLoc) override;
-     void InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
--                            clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+                            clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                             clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
- private:
-     CheckBase *const check;
-@@ -151,7 +151,7 @@ protected:
-     virtual void VisitElse(clang::SourceLocation loc, clang::SourceLocation ifLoc);
-     virtual void VisitEndif(clang::SourceLocation loc, clang::SourceLocation ifLoc);
-     virtual void VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
--                            clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+                            clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                             clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType);
- 
-     void enablePreProcessorCallbacks();
-diff --git a/src/checks/manuallevel/qt6-fwd-fixes.cpp b/src/checks/manuallevel/qt6-fwd-fixes.cpp
-index 83bf81ee..c87d9ca0 100644
---- a/src/checks/manuallevel/qt6-fwd-fixes.cpp
-+++ b/src/checks/manuallevel/qt6-fwd-fixes.cpp
-@@ -166,7 +166,7 @@ void Qt6FwdFixes::VisitDecl(clang::Decl *decl)
- }
- 
- void Qt6FwdFixes::VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
--                        clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+                        clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                         clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType)
- {
-     auto current_file = m_sm.getFilename(HashLoc);
-diff --git a/src/checks/manuallevel/qt6-fwd-fixes.h b/src/checks/manuallevel/qt6-fwd-fixes.h
-index 37b59d95..bb928ba6 100644
---- a/src/checks/manuallevel/qt6-fwd-fixes.h
-+++ b/src/checks/manuallevel/qt6-fwd-fixes.h
-@@ -47,7 +47,7 @@ public:
-     explicit Qt6FwdFixes(const std::string &name, ClazyContext *context);
-     void VisitDecl(clang::Decl *decl) override;
-     void VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
--                            clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+                            clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                             clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
-     bool m_including_qcontainerfwd = false;
-     std::set<clang::StringRef> m_qcontainerfwd_included_in_files;
-diff --git a/src/checks/manuallevel/qt6-header-fixes.cpp b/src/checks/manuallevel/qt6-header-fixes.cpp
-index d458b77c..aaa28093 100644
---- a/src/checks/manuallevel/qt6-header-fixes.cpp
-+++ b/src/checks/manuallevel/qt6-header-fixes.cpp
-@@ -270,7 +270,7 @@ Qt6HeaderFixes::Qt6HeaderFixes(const std::string &name, ClazyContext *context)
- }
- 
- void Qt6HeaderFixes::VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
--                        clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+                        clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                         clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType)
- {
-     if (shouldIgnoreFile(HashLoc))
-diff --git a/src/checks/manuallevel/qt6-header-fixes.h b/src/checks/manuallevel/qt6-header-fixes.h
-index ae09f7ad..8ffbb100 100644
---- a/src/checks/manuallevel/qt6-header-fixes.h
-+++ b/src/checks/manuallevel/qt6-header-fixes.h
-@@ -46,7 +46,7 @@ class Qt6HeaderFixes
- public:
-     explicit Qt6HeaderFixes(const std::string &name, ClazyContext *context);
-     void VisitInclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
--                            clang::CharSourceRange FilenameRange, const clang::FileEntry *File, clang::StringRef SearchPath,
-+                            clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                             clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
- 
- };
--- 
-GitLab
-

diff --git a/dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch b/dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch
deleted file mode 100644
index a5759060c112..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-llvm-16.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From a05ac7eb6f6198c3f478bd7b5b4bfc062a8d63cc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ivan=20=C4=8Cuki=C4=87?= <ivan.cukic@kdab.com>
-Date: Tue, 7 Feb 2023 11:06:19 +0100
-Subject: [PATCH] Adapt to API changes in clang/llvm 16
-
----
- src/SourceCompatibilityHelpers.h        | 17 ++++++++++++-----
- src/checkbase.h                         |  1 +
- src/checks/level0/lambda-in-connect.cpp |  2 +-
- 3 files changed, 14 insertions(+), 6 deletions(-)
-
-diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
-index c1a23a4b..5e2dc606 100644
---- a/src/SourceCompatibilityHelpers.h
-+++ b/src/SourceCompatibilityHelpers.h
-@@ -107,7 +107,11 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d
- 
- inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid)
- {
--#if LLVM_VERSION_MAJOR >= 12
-+#if LLVM_VERSION_MAJOR >= 16
-+    auto buffer = sm.getBufferOrNone(id);
-+    *invalid = !buffer.has_value();
-+    return buffer;
-+#elif LLVM_VERSION_MAJOR >= 12
-     auto buffer = sm.getBufferOrNone(id);
-     *invalid = !buffer.hasValue();
-     return buffer;
-@@ -116,11 +120,12 @@ inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *in
- #endif
- }
- 
--#if LLVM_VERSION_MAJOR >= 12
--
-+#if LLVM_VERSION_MAJOR >= 16
-+#define GET_LEXER(id, inputFile, sm, lo) \
-+clang::Lexer(id, inputFile.value(), sm, lo)
-+#elif LLVM_VERSION_MAJOR >= 12
- #define GET_LEXER(id, inputFile, sm, lo) \
- clang::Lexer(id, inputFile.getValue(), sm, lo)
--
- #else
- #define GET_LEXER(id, inputFile, sm, lo) \
- clang::Lexer(id, inputFile, sm, lo)
-@@ -144,7 +149,9 @@ inline bool contains_lower(clang::StringRef haystack, clang::StringRef needle)
- #endif
- }
- 
--#if LLVM_VERSION_MAJOR >= 15
-+#if LLVM_VERSION_MAJOR >= 16
-+using OptionalFileEntryRef = clang::CustomizableOptional<clang::FileEntryRef>;
-+#elif LLVM_VERSION_MAJOR >= 15
- using OptionalFileEntryRef = clang::Optional<clang::FileEntryRef>;
- #else
- using OptionalFileEntryRef = const clang::FileEntry*;
-diff --git a/src/checkbase.h b/src/checkbase.h
-index 02f6a6bf..6a8c634b 100644
---- a/src/checkbase.h
-+++ b/src/checkbase.h
-@@ -93,6 +93,7 @@ public:
-     void InclusionDirective(clang::SourceLocation HashLoc, const clang::Token &IncludeTok, clang::StringRef FileName, bool IsAngled,
-                             clang::CharSourceRange FilenameRange, clazy::OptionalFileEntryRef File, clang::StringRef SearchPath,
-                             clang::StringRef RelativePath, const clang::Module *Imported, clang::SrcMgr::CharacteristicKind FileType) override;
-+
- private:
-     CheckBase *const check;
- };
-diff --git a/src/checks/level0/lambda-in-connect.cpp b/src/checks/level0/lambda-in-connect.cpp
-index b0da926f..1ba1126f 100644
---- a/src/checks/level0/lambda-in-connect.cpp
-+++ b/src/checks/level0/lambda-in-connect.cpp
-@@ -71,7 +71,7 @@ void LambdaInConnect::VisitStmt(clang::Stmt *stmt)
- 
-     for (auto capture : captures) {
-         if (capture.getCaptureKind() == clang::LCK_ByRef) {
--            VarDecl *declForCapture = capture.getCapturedVar();
-+            auto *declForCapture = capture.getCapturedVar();
-             if (declForCapture && declForCapture != receiverDecl && clazy::isValueDeclInFunctionContext(declForCapture))
-                 emitWarning(capture.getLocation(), "captured local variable by reference might go out of scope before lambda is called");
-         }
--- 
-GitLab
-

diff --git a/dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch b/dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch
deleted file mode 100644
index 6550b63a3506..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-llvm-17.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From a9aabd821d8be7932c954e1cdd8d4e10f38f8785 Mon Sep 17 00:00:00 2001
-From: Cristian Adam <cristian.adam@gmail.com>
-Date: Mon, 14 Aug 2023 18:16:01 +0200
-Subject: [PATCH] Fix compilation with LLVM 17.0.0 (rc2)
-
-Change-Id: I9d3fc86185c1e7c86145da043e1982d2979b36e9
----
- .../manuallevel/unexpected-flag-enumerator-value.cpp   | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/src/checks/manuallevel/unexpected-flag-enumerator-value.cpp
-+++ b/src/checks/manuallevel/unexpected-flag-enumerator-value.cpp
-@@ -61,8 +61,13 @@ static bool isIntentionallyNotPowerOf2(E
-     if (val.isMask() && val.countTrailingOnes() >= MinOnesToQualifyAsMask)
-         return true;
- 
-+#if LLVM_VERSION_MAJOR >= 17
-+    if (val.isShiftedMask() && val.popcount() >= MinOnesToQualifyAsMask)
-+        return true;
-+#else
-     if (val.isShiftedMask() && val.countPopulation() >= MinOnesToQualifyAsMask)
-         return true;
-+#endif
- 
-     if (clazy::contains_lower(en->getName(), "mask"))
-         return true;
-@@ -158,7 +163,11 @@ void UnexpectedFlagEnumeratorValue::Visi
- 
-     for (EnumConstantDecl* enumerator : enumerators) {
-         const auto &initVal = enumerator->getInitVal();
-+#if LLVM_VERSION_MAJOR >= 17
-+        if (!initVal.isPowerOf2() && !initVal.isZero() && !initVal.isNegative()) {
-+#else
-         if (!initVal.isPowerOf2() && !initVal.isNullValue() && !initVal.isNegative()) {
-+#endif
-             if (isIntentionallyNotPowerOf2(enumerator))
-                 continue;
-             const auto value = enumerator->getInitVal().getLimitedValue();

diff --git a/dev-util/clazy/files/clazy-1.11-fix-regex-detect.patch b/dev-util/clazy/files/clazy-1.11-fix-regex-detect.patch
deleted file mode 100644
index a60206365ea1..000000000000
--- a/dev-util/clazy/files/clazy-1.11-fix-regex-detect.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 336b54f28250938cc2a8d7bb78e638e79b6467d5 Mon Sep 17 00:00:00 2001
-From: Hannah von Reth <vonreth@kde.org>
-Date: Fri, 8 Jul 2022 11:19:22 +0000
-Subject: [PATCH] Fix regex detection
-
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 434a57c9..3c780b0d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -81,7 +81,7 @@ endif()
- 
- # Look for std::regex support
- message("Looking for std::regex support...")
--try_run(REGEX_RUN_RESULT COMPILE_RESULT ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_LIST_DIR}/.cmake_has_regex_test.cpp)
-+try_run(REGEX_RUN_RESULT COMPILE_RESULT ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_LIST_DIR}/.cmake_has_regex_test.cpp CXX_STANDARD 17 CXX_STANDARD_REQUIRED true)
- 
- if(NOT REGEX_RUN_RESULT EQUAL 0)
-   message("Using boost::regex instead of std::regex")
--- 
-GitLab
-

diff --git a/dev-util/clazy/files/clazy-1.11-jobs-for-tests.patch b/dev-util/clazy/files/clazy-1.11-jobs-for-tests.patch
deleted file mode 100644
index 372aed3ca09a..000000000000
--- a/dev-util/clazy/files/clazy-1.11-jobs-for-tests.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From ab8993c9e10e09cb24210f76bb5e67f01bb37a9e Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Thu, 17 Nov 2022 19:09:47 +0100
-Subject: [PATCH] tests: add -j/--jobs option for run_tests.py
-
-This way it is possible to customize the number of parallel jobs to
-spawn for the tests, instead of unconditionally using all available
-CPUs. This can be helpful to run the tests without overloading the
-system.
-
-The default is still the number of available CPUs, so there is no
-behaviour change by default.
----
- tests/run_tests.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/run_tests.py b/tests/run_tests.py
-index bf4967d1..ea03ab4c 100755
---- a/tests/run_tests.py
-+++ b/tests/run_tests.py
-@@ -443,6 +443,8 @@ parser.add_argument("--dump-ast", action='store_true',
-                     help='Dump a unit-test AST to file')
- parser.add_argument(
-     "--exclude", help='Comma separated list of checks to ignore')
-+parser.add_argument("-j", "--jobs", type=int, default=multiprocessing.cpu_count(),
-+                    help='Parallel jobs to run (defaults to %(default)s)')
- parser.add_argument("check_names", nargs='*',
-                     help="The name of the check whose unit-tests will be run. Defaults to running all checks.")
- args = parser.parse_args()
-@@ -460,7 +462,7 @@ _verbose = args.verbose
- _no_standalone = args.no_standalone
- _no_fixits = args.no_fixits
- _only_standalone = args.only_standalone
--_num_threads = multiprocessing.cpu_count()
-+_num_threads = args.jobs
- _lock = threading.Lock()
- _was_successful = True
- _qt5_installation = find_qt_installation(
--- 
-2.35.1
-


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2024-09-21 13:34 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2024-09-21 13:34 UTC (permalink / raw
  To: gentoo-commits

commit:     a1fcee35f62bad34abe7da2be9856645fbce8af6
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 21 13:15:24 2024 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Sep 21 13:33:57 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1fcee35

dev-util/clazy: add 1.12 w/o KEYWORDS, enable py3.13, LLVM-18

Reason: 7% tests passed, 92 tests failed out of 99

Most of them fail with:
cstddef:50:10: fatal error: 'stddef.h' file not found

Bug: https://bugs.gentoo.org/811723
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/clazy/Manifest                            |   1 +
 dev-util/clazy/clazy-1.12.ebuild                   |  57 ++++++++++
 .../files/clazy-1.12-clang-16-no-src-root.patch    |  60 +++++++++++
 .../files/clazy-1.12-fix-tests-Qt-detect-1.patch   |  78 ++++++++++++++
 .../files/clazy-1.12-fix-tests-Qt-detect-2.patch   | 115 +++++++++++++++++++++
 dev-util/clazy/files/clazy-1.12-llvm-18.patch      |  36 +++++++
 6 files changed, 347 insertions(+)

diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index a764da1ab127..9cb5a135f2f6 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1 +1,2 @@
 DIST clazy-1.11.tar.xz 404088 BLAKE2B 1a69fe07ef81a0efe3c9db9129083247d60943592967f705d62d3859039cec250673eecc06184f70d134cbab85708d957b0a085beff8b3e46325a69547e005b7 SHA512 6a7c162392dd30aea29669275cea814d6daccf7931b8cdb20997f9bbff5619832d5461a6d0f854ecbc4726e52b6937c4f9cb8651087ffe73676c04239a38ca2b
+DIST clazy-1.12.tar.xz 427740 BLAKE2B ad2c78a506132b5fd6b3c22a7e9794c38ddd71242cde6f760e48d0250f6215629007d45303f4b35fdc7717865b8221ab1c2f3c6889a44ea1809e112845f16463 SHA512 7a2b4a753098f15936a4731c82c660c1cd4d81949279435e87f00f7f72bef3e32cb574c8991c0707798581278e9fbcae34d354c1e6b77a15a5e26166d658fa9e

diff --git a/dev-util/clazy/clazy-1.12.ebuild b/dev-util/clazy/clazy-1.12.ebuild
new file mode 100644
index 000000000000..b5e819706f76
--- /dev/null
+++ b/dev-util/clazy/clazy-1.12.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( 15 16 17 18 )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake llvm-r1 python-any-r1
+
+DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
+HOMEPAGE="https://apps.kde.org/clazy"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+# KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+	$(llvm_gen_dep 'sys-devel/clang:${LLVM_SLOT}')
+	$(llvm_gen_dep 'sys-devel/llvm:${LLVM_SLOT}')
+"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( ${PYTHON_DEPS} )"
+
+PATCHES=(
+	# git master
+	"${FILESDIR}"/${P}-fix-tests-Qt-detect-{1,2}.patch
+	"${FILESDIR}"/${P}-llvm-18.patch
+	# Pending: https://invent.kde.org/sdk/clazy/-/merge_requests/131
+	"${FILESDIR}"/${P}-clang-16-no-src-root.patch
+)
+
+pkg_setup() {
+	use test && python-any-r1_pkg_setup
+	llvm-r1_pkg_setup
+}
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
+		-i CMakeLists.txt || die
+}
+
+src_configure() {
+	export LLVM_ROOT="$(get_llvm_prefix -d)"
+
+	cmake_src_configure
+}
+
+src_test() {
+	# Run tests against built copy, not installed
+	# bug #811723
+	PATH="${BUILD_DIR}/bin:${PATH}" LD_LIBRARY_PATH="${BUILD_DIR}/lib" cmake_src_test
+}

diff --git a/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch b/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
new file mode 100644
index 000000000000..ca88efeaf6cd
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-clang-16-no-src-root.patch
@@ -0,0 +1,60 @@
+From 4fa1ded456626f9c13f1f77212754d6349d12a8a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christoph=20Gr=C3=BCninger?= <foss@grueninger.de>
+Date: Tue, 27 Feb 2024 21:14:19 +0100
+Subject: [PATCH] [cmake] Adjust for non-installed LLVM
+
+In LLVM 16 llvm-config got --src-root removed.
+Adjust include path for Clang include
+---
+ cmake/FindClang.cmake | 8 ++++++--
+ cmake/FindLLVM.cmake  | 6 +++++-
+ 2 files changed, 11 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
+index e438ea5c..b4f0b0a1 100644
+--- a/cmake/FindClang.cmake
++++ b/cmake/FindClang.cmake
+@@ -86,8 +86,12 @@ if(CLANG_FOUND)
+   set(CLANG_INCLUDE_DIRS ${LLVM_INCLUDE_DIRS})
+ 
+   # check whether llvm-config comes from an install prefix
++  set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
++  if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
++    set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
++  endif()
+   execute_process(
+-    COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
++    COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
+     OUTPUT_VARIABLE _llvmSourceRoot
+     OUTPUT_STRIP_TRAILING_WHITESPACE
+   )
+@@ -96,7 +100,7 @@ if(CLANG_FOUND)
+     message(STATUS "Detected that llvm-config comes from a build-tree, adding more include directories for Clang")
+     list(APPEND CLANG_INCLUDE_DIRS
+          "${LLVM_INSTALL_PREFIX}/tools/clang/include" # build dir
+-         "${_llvmSourceRoot}/tools/clang/include"     # source dir
++         "${_llvmSourceRoot}/../../clang/include"     # source dir
+     )
+   endif()
+ 
+diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
+index da02e006..c625eeb5 100644
+--- a/cmake/FindLLVM.cmake
++++ b/cmake/FindLLVM.cmake
+@@ -131,8 +131,12 @@ if (LLVM_FOUND)
+   endif()
+ 
+   # potentially add include dir from binary dir for non-installed LLVM
++  set(LLVM_CONFIG_INCLUDE_FLAG "--src-root")
++  if (${LLVM_VERSION} VERSION_GREATER_EQUAL 16)
++    set(LLVM_CONFIG_INCLUDE_FLAG "--includedir")
++  endif()
+   execute_process(
+-    COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
++    COMMAND ${LLVM_CONFIG_EXECUTABLE} ${LLVM_CONFIG_INCLUDE_FLAG}
+     OUTPUT_VARIABLE _llvmSourceRoot
+     OUTPUT_STRIP_TRAILING_WHITESPACE
+   )
+-- 
+GitLab
+

diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
new file mode 100644
index 000000000000..bca03b24dff4
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-1.patch
@@ -0,0 +1,78 @@
+From 61b03a0d9cb319173766383216deee74fd6d800e Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <alexander.lohnau@gmx.de>
+Date: Sat, 7 Sep 2024 11:31:22 +0200
+Subject: [PATCH] Make tests work when clang library is different from system
+ default
+
+If we have found the clang folder, we can resolve the executable from there.
+In my case, I was compiling against clang16, but my system default was clang 14.
+The stacktrace is really confusing and hard to understand. Using the
+absolute path makes the log also better to understand and to reproduce
+the test results.
+---
+ ClazyTests.generated.cmake |  5 ++++-
+ cmake/FindLLVM.cmake       | 13 +++++++++++++
+ dev-scripts/generate.py    |  5 ++++-
+ 3 files changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
+index 204f0e5b..49b0f69e 100644
+--- a/ClazyTests.generated.cmake
++++ b/ClazyTests.generated.cmake
+@@ -2,8 +2,11 @@
+ 
+ macro(add_clazy_test name)
+   add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++  if (CLANG_EXECUTABLE_PATH)
++    set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
++  endif()
+   set_property(TEST ${name} PROPERTY
+-    ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
++    ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
+   )
+ endmacro()
+ 
+diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
+index a1fd9e3f..da02e006 100644
+--- a/cmake/FindLLVM.cmake
++++ b/cmake/FindLLVM.cmake
+@@ -117,6 +117,19 @@ if (LLVM_FOUND)
+     OUTPUT_STRIP_TRAILING_WHITESPACE
+   )
+ 
++  execute_process(
++    COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir
++    OUTPUT_VARIABLE LLVM_BIN_DIR
++    OUTPUT_STRIP_TRAILING_WHITESPACE
++  )
++  set(CLANG_EXECUTABLE_PATH "${LLVM_BIN_DIR}/clang")
++  if(EXISTS ${CLANG_EXECUTABLE_PATH})
++    message(STATUS "Clang found: ${CLANG_EXECUTABLE_PATH}")
++    set(CLANG_EXECUTABLE ${CLANG_EXECUTABLE_PATH})
++  else()
++    message(WARNING "Clang not found in LLVM bin directory: ${LLVM_BIN_DIR}")
++  endif()
++
+   # potentially add include dir from binary dir for non-installed LLVM
+   execute_process(
+     COMMAND ${LLVM_CONFIG_EXECUTABLE} --src-root
+diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
+index 2678aaba..11fc5bfc 100755
+--- a/dev-scripts/generate.py
++++ b/dev-scripts/generate.py
+@@ -468,8 +468,11 @@ def generate_ctest(checks):
+     contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
+ macro(add_clazy_test name)
+   add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++  if (CLANG_EXECUTABLE_PATH)
++    set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
++  endif()
+   set_property(TEST ${name} PROPERTY
+-    ENVIRONMENT "CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
++    ENVIRONMENT "${CLANG_CXX_TEST}CLAZYPLUGIN_CXX=$<TARGET_FILE:ClazyPlugin>;CLAZYSTANDALONE_CXX=$<TARGET_FILE:clazy-standalone>;$<$<BOOL:${HAS_STD_FILESYSTEM}>:CLAZY_HAS_FILESYSTEM=>"
+   )
+ endmacro()\n
+ """
+-- 
+GitLab
+

diff --git a/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
new file mode 100644
index 000000000000..9e5276644ad7
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-fix-tests-Qt-detect-2.patch
@@ -0,0 +1,115 @@
+From fc058479b1d0ab8498b23a68dcbb56be1b38c793 Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <alexander.lohnau@gmx.de>
+Date: Sat, 7 Sep 2024 14:25:45 +0200
+Subject: [PATCH] Only look for Qt5/Qt6 installs if respective CI job is
+ running
+
+We may have a qt6 installation even on a Qt5 image
+
+But in any case, we should only run them on the dedicated im age and not waste CI time otherwise
+---
+ ClazyTests.generated.cmake |  8 +++++++-
+ dev-scripts/generate.py    |  8 +++++++-
+ tests/run_tests.py         | 22 ++++++++++++++--------
+ 3 files changed, 28 insertions(+), 10 deletions(-)
+
+diff --git a/ClazyTests.generated.cmake b/ClazyTests.generated.cmake
+index 49b0f69e..9babc7c5 100644
+--- a/ClazyTests.generated.cmake
++++ b/ClazyTests.generated.cmake
+@@ -1,7 +1,13 @@
+ # This file was autogenerated by running: ./dev-scripts/generate.py --generate
+ 
++if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
++    set(TEST_VERSION_OPTION "--qt-versions=5")
++elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
++    set(TEST_VERSION_OPTION "--qt-versions=6")
++endif()
++
+ macro(add_clazy_test name)
+-  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
+   if (CLANG_EXECUTABLE_PATH)
+     set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
+   endif()
+diff --git a/dev-scripts/generate.py b/dev-scripts/generate.py
+index 11fc5bfc..a1233698 100755
+--- a/dev-scripts/generate.py
++++ b/dev-scripts/generate.py
+@@ -466,8 +466,14 @@ def generate_ctest(checks):
+     filename = clazy_source_path() + 'ClazyTests.generated.cmake'
+ 
+     contents = """# This file was autogenerated by running: ./dev-scripts/generate.py --generate\n
++if ($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5")
++    set(TEST_VERSION_OPTION "--qt-versions=5")
++elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6")
++    set(TEST_VERSION_OPTION "--qt-versions=6")
++endif()
++
+ macro(add_clazy_test name)
+-  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
++  add_test(NAME ${name} COMMAND python3 run_tests.py ${name} --verbose ${TEST_VERSION_OPTION} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/tests/)
+   if (CLANG_EXECUTABLE_PATH)
+     set(CLANG_CXX_TEST "CLANGXX=${CLANG_EXECUTABLE_PATH};")
+   endif()
+diff --git a/tests/run_tests.py b/tests/run_tests.py
+index 9fb9d5dc..da54e45a 100755
+--- a/tests/run_tests.py
++++ b/tests/run_tests.py
+@@ -457,6 +457,8 @@ parser.add_argument("--only-standalone", action='store_true',
+                     help='Only run clazy-standalone')
+ parser.add_argument("--dump-ast", action='store_true',
+                     help='Dump a unit-test AST to file')
++parser.add_argument("--qt-versions", type=int, choices=[5, 6], nargs='+', default=[5, 6],
++                    help='Specify one or more Qt versions to use (default: 5 and 6)')
+ parser.add_argument(
+     "--exclude", help='Comma separated list of checks to ignore')
+ parser.add_argument("-j", "--jobs", type=int, default=multiprocessing.cpu_count(),
+@@ -481,10 +483,14 @@ _only_standalone = args.only_standalone
+ _num_threads = args.jobs
+ _lock = threading.Lock()
+ _was_successful = True
+-_qt6_installation = find_qt_installation(
+-    6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
+-_qt5_installation = find_qt_installation(
+-    5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
++if 6 in args.qt_versions:
++    _qt6_installation = find_qt_installation(6, ["QT_SELECT=6 qmake", "qmake-qt6", "qmake", "qmake6"])
++else:
++    _qt6_installation = None
++if 5 in args.qt_versions:
++    _qt5_installation = find_qt_installation(5, ["QT_SELECT=5 qmake", "qmake-qt5", "qmake", "qmake5"])
++else:
++    _qt5_installation = None
+ _excluded_checks = args.exclude.split(',') if args.exclude is not None else []
+ 
+ # -------------------------------------------------------------------------------
+@@ -697,6 +703,8 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
+         return True
+ 
+     qt = qt_installation(qt_major_version)
++    if qt == None:
++        return True # silently skip
+ 
+     if _verbose:
+         print("Qt major versions required by the test: " + str(test.qt_major_versions))
+@@ -709,14 +717,12 @@ def run_unit_test(test, is_standalone, cppStandard, qt_major_version):
+ 
+     if qt.int_version < test.minimum_qt_version or qt.int_version > test.maximum_qt_version or CLANG_VERSION < test.minimum_clang_version:
+         if (_verbose):
+-            print("Skipping " + printableName +
+-                  " because required version is not available")
++            print("Skipping " + printableName + " because required version is not available")
+         return True
+ 
+     if test.requires_std_filesystem and not _hasStdFileSystem:
+         if (_verbose):
+-            print("Skipping " + printableName +
+-                  " because it requires std::filesystem")
++            print("Skipping " + printableName + " because it requires std::filesystem")
+         return True
+ 
+     if _platform in test.blacklist_platforms:
+-- 
+GitLab
+

diff --git a/dev-util/clazy/files/clazy-1.12-llvm-18.patch b/dev-util/clazy/files/clazy-1.12-llvm-18.patch
new file mode 100644
index 000000000000..d1f2bea9ffbf
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.12-llvm-18.patch
@@ -0,0 +1,36 @@
+From 0d87de91457c3bf2338b997555694953d45e17a4 Mon Sep 17 00:00:00 2001
+From: Alexander Lohnau <alexander.lohnau@gmx.de>
+Date: Tue, 10 Sep 2024 13:50:56 +0200
+Subject: [PATCH] rule-of-three: Fix destructor not being found and thus
+ causing false positive
+
+This works fine in clang 14, but apparently not in later versions
+
+The false positive caused a CI failure in https://invent.kde.org/libraries/qca/-/merge_requests/116
+---
+ src/checks/level2/rule-of-three.cpp | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
+index 6996ee1e..f18ff999 100644
+--- a/src/checks/level2/rule-of-three.cpp
++++ b/src/checks/level2/rule-of-three.cpp
+@@ -56,7 +56,14 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
+ 
+     CXXConstructorDecl *copyCtor = Utils::copyCtor(record);
+     CXXMethodDecl *copyAssign = Utils::copyAssign(record);
+-    CXXDestructorDecl *destructor = record->getDestructor();
++    CXXDestructorDecl *destructor = nullptr;
++    // Getting the destructor using record->getDestructor() does not work for later clang versions, e.g. clang 16
++    for (auto *decl : record->decls()) {
++        if (auto *destructorDecl = dyn_cast<CXXDestructorDecl>(decl)) {
++            destructor = destructorDecl;
++            break;
++        }
++    }
+     const bool dtorDefaultedByUser = destructor && destructor->isDefaulted() && !destructor->isImplicit();
+ 
+     const bool hasUserCopyCtor = copyCtor && copyCtor->isUserProvided();
+-- 
+GitLab
+


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2022-01-19 13:54 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2022-01-19 13:54 UTC (permalink / raw
  To: gentoo-commits

commit:     f1c92c1d6530aeb22382ab74c9a2113da5617024
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 19 13:53:34 2022 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 19 13:53:45 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f1c92c1d

dev-util/clazy: Drop 1.9

Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/clazy/Manifest                     |  1 -
 dev-util/clazy/clazy-1.9.ebuild             | 40 -------------
 dev-util/clazy/files/clazy-1.9-llvm12.patch | 88 -----------------------------
 dev-util/clazy/files/clazy-1.9-llvm13.patch | 31 ----------
 4 files changed, 160 deletions(-)

diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 1a0031b71ddc..eae6b70fd4c9 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
 DIST clazy-1.10.tar.xz 398920 BLAKE2B 1cdc160de21363c7dc9c93ea7e780412a4971b18e97c7ec6e06f1c7450c56e0fbbdb7592d6b92ae53e4c161f6d9abca205984f83b68646f04ea11d63e3c45fa6 SHA512 59dd8c6903bcc239dfc356804cab265597a771de3858a6add4877149e0e7875b3c9ddae9aeec889c9102fb9ec6b0125bb8a786344e47872b01ba87425ba021eb
-DIST clazy-1.9.tar.xz 394856 BLAKE2B 641ca46a31475cf7bd03ba921e390cb2712362dc97b960a519e05c47049927f805d3ef6f1c756b96d3483e8f4b75e2dc41a2419a462ed2e45cbd08c88c07f933 SHA512 2e8bec44a027366263de23c50d14192e310fd38fa2b369afb21413da9cb78da9882b2153daf1784c4c9076cc62e2867b5211c75ff9a1eabcb583e405f20f5912

diff --git a/dev-util/clazy/clazy-1.9.ebuild b/dev-util/clazy/clazy-1.9.ebuild
deleted file mode 100644
index 781b51040559..000000000000
--- a/dev-util/clazy/clazy-1.9.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://apps.kde.org/en/clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE=""
-
-RDEPEND="
-	>=sys-devel/clang-5.0:=
-	>=sys-devel/llvm-5.0:=
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${P}-llvm{12,13}.patch ) # bug 786525
-
-src_prepare() {
-	cmake_src_prepare
-
-	sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
-		-i CMakeLists.txt || die
-}
-
-src_configure() {
-	# this package requires both llvm and clang of the same version.
-	# clang pulls in the equivalent llvm version, but not vice versa.
-	# so, we must find llvm based on the installed clang version.
-	# bug #681568
-	local clang_version=$(best_version "sys-devel/clang")
-	export LLVM_ROOT="/usr/lib/llvm/$(ver_cut 1 ${clang_version##sys-devel/clang-})"
-	cmake_src_configure
-}

diff --git a/dev-util/clazy/files/clazy-1.9-llvm12.patch b/dev-util/clazy/files/clazy-1.9-llvm12.patch
deleted file mode 100644
index 3862f40ad981..000000000000
--- a/dev-util/clazy/files/clazy-1.9-llvm12.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 2592a6e3393ebc75e16c91e606ad2015a16295c3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Christian=20Sch=C3=A4rf?= <c.schaerf@t-online.de>
-Date: Sat, 23 Jan 2021 15:34:10 +0100
-Subject: [PATCH] Fix build with Clang 12
-
-Required due to Clang changes https://github.com/llvm/llvm-project/commit/b3eff6b7bb31e7ef059a3d238de138849839fbbd and https://github.com/llvm/llvm-project/commit/d758f79e5d381bd4f5122193a9538d89c907c812
----
- src/SourceCompatibilityHelpers.h | 26 ++++++++++++++++++++++++++
- src/SuppressionManager.cpp       |  5 ++---
- 2 files changed, 28 insertions(+), 3 deletions(-)
-
-diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
-index 4db141ab..1737d5a5 100644
---- a/src/SourceCompatibilityHelpers.h
-+++ b/src/SourceCompatibilityHelpers.h
-@@ -29,6 +29,7 @@
- #include <clang/Basic/SourceLocation.h>
- #include <clang/Basic/SourceManager.h>
- #include <clang/Frontend/FrontendDiagnostic.h>
-+#include <clang/Lex/Lexer.h>
- #include <clang/Tooling/Core/Diagnostic.h>
- 
- #if defined(CLAZY_USES_BOOST_REGEX)
-@@ -103,6 +104,31 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d
- #endif
- }
- 
-+inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid)
-+{
-+#if LLVM_VERSION_MAJOR >= 12
-+    auto buffer = sm.getBufferOrNone(id);
-+    *invalid = !buffer.hasValue();
-+    return buffer;
-+#else
-+    return sm.getBuffer(id, invalid);
-+#endif
-+}
-+
-+#if LLVM_VERSION_MAJOR >= 12
-+inline clang::Lexer getLexer(clang::FileID id, llvm::Optional<llvm::MemoryBufferRef> inputFile,
-+                             const clang::SourceManager &sm, const clang::LangOptions &lo)
-+{
-+    return clang::Lexer(id, inputFile.getValue(), sm, lo);
-+}
-+#else
-+inline clang::Lexer getLexer(clang::FileID id, const llvm::MemoryBuffer *inputFile,
-+                             const clang::SourceManager &sm, const clang::LangOptions &lo)
-+{
-+    return clang::Lexer(id, inputFile, sm, lo);
-+}
-+#endif
-+
- }
- 
- #endif
-diff --git a/src/SuppressionManager.cpp b/src/SuppressionManager.cpp
-index 9d774ea6..9881388d 100644
---- a/src/SuppressionManager.cpp
-+++ b/src/SuppressionManager.cpp
-@@ -24,7 +24,6 @@
- #include "clazy_stl.h"
- 
- #include <clang/Basic/SourceManager.h>
--#include <clang/Lex/Lexer.h>
- #include <clang/Basic/SourceLocation.h>
- #include <clang/Basic/TokenKinds.h>
- #include <clang/Lex/Token.h>
-@@ -84,7 +83,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
-     Suppressions &suppressions = (*it).second;
- 
-     bool invalid = false;
--    auto buffer = sm.getBuffer(id, &invalid);
-+    auto buffer = clazy::getBuffer(sm, id, &invalid);
-     if (invalid) {
-         llvm::errs() << "SuppressionManager::parseFile: Invalid buffer ";
-         if (buffer)
-@@ -92,7 +91,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
-         return;
-     }
- 
--    Lexer lexer(id, buffer, sm, lo);
-+    auto lexer = clazy::getLexer(id, buffer, sm, lo);
-     lexer.SetCommentRetentionState(true);
- 
-     Token token;
--- 
-GitLab
-

diff --git a/dev-util/clazy/files/clazy-1.9-llvm13.patch b/dev-util/clazy/files/clazy-1.9-llvm13.patch
deleted file mode 100644
index 9bbac8f7624d..000000000000
--- a/dev-util/clazy/files/clazy-1.9-llvm13.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 0bf4e428c76270f4534a0a8df3cf6912157f22ab Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de>
-Date: Sat, 17 Apr 2021 20:57:10 +0200
-Subject: [PATCH] Fix build with LLVM 13
-
----
- src/ClazyStandaloneMain.cpp | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
-index 41c4fcf9..7b4cf5d3 100644
---- a/src/ClazyStandaloneMain.cpp
-+++ b/src/ClazyStandaloneMain.cpp
-@@ -158,7 +158,13 @@ llvm::IntrusiveRefCntPtr<vfs::FileSystem> getVfsFromFile(const std::string &over
- 
- int main(int argc, const char **argv)
- {
--    CommonOptionsParser optionsParser(argc, argv, s_clazyCategory, cl::ZeroOrMore);
-+    auto expectedParser = CommonOptionsParser::create(argc, argv, s_clazyCategory, cl::ZeroOrMore);
-+    if (!expectedParser) {
-+       llvm::errs() << expectedParser.takeError();
-+       return 1;
-+    }
-+
-+    auto &optionsParser = expectedParser.get();
-     // llvm::errs() << optionsParser.getSourcePathList().size() << "\n";
- 
-     if (s_supportedChecks.getValue()) {
--- 
-GitLab
-


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2021-05-01 21:24 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2021-05-01 21:24 UTC (permalink / raw
  To: gentoo-commits

commit:     10d7a5b482f6282eaefdb28ceda51f2ec99056f8
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat May  1 20:18:02 2021 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat May  1 21:21:56 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10d7a5b4

dev-util/clazy: Fix build with LLVM-12/13

Closes: https://bugs.gentoo.org/786525
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/clazy/clazy-1.9.ebuild             |  2 +
 dev-util/clazy/files/clazy-1.9-llvm12.patch | 88 +++++++++++++++++++++++++++++
 dev-util/clazy/files/clazy-1.9-llvm13.patch | 31 ++++++++++
 3 files changed, 121 insertions(+)

diff --git a/dev-util/clazy/clazy-1.9.ebuild b/dev-util/clazy/clazy-1.9.ebuild
index 9062383103c..781b5104055 100644
--- a/dev-util/clazy/clazy-1.9.ebuild
+++ b/dev-util/clazy/clazy-1.9.ebuild
@@ -20,6 +20,8 @@ RDEPEND="
 "
 DEPEND="${RDEPEND}"
 
+PATCHES=( "${FILESDIR}"/${P}-llvm{12,13}.patch ) # bug 786525
+
 src_prepare() {
 	cmake_src_prepare
 

diff --git a/dev-util/clazy/files/clazy-1.9-llvm12.patch b/dev-util/clazy/files/clazy-1.9-llvm12.patch
new file mode 100644
index 00000000000..3862f40ad98
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.9-llvm12.patch
@@ -0,0 +1,88 @@
+From 2592a6e3393ebc75e16c91e606ad2015a16295c3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20Sch=C3=A4rf?= <c.schaerf@t-online.de>
+Date: Sat, 23 Jan 2021 15:34:10 +0100
+Subject: [PATCH] Fix build with Clang 12
+
+Required due to Clang changes https://github.com/llvm/llvm-project/commit/b3eff6b7bb31e7ef059a3d238de138849839fbbd and https://github.com/llvm/llvm-project/commit/d758f79e5d381bd4f5122193a9538d89c907c812
+---
+ src/SourceCompatibilityHelpers.h | 26 ++++++++++++++++++++++++++
+ src/SuppressionManager.cpp       |  5 ++---
+ 2 files changed, 28 insertions(+), 3 deletions(-)
+
+diff --git a/src/SourceCompatibilityHelpers.h b/src/SourceCompatibilityHelpers.h
+index 4db141ab..1737d5a5 100644
+--- a/src/SourceCompatibilityHelpers.h
++++ b/src/SourceCompatibilityHelpers.h
+@@ -29,6 +29,7 @@
+ #include <clang/Basic/SourceLocation.h>
+ #include <clang/Basic/SourceManager.h>
+ #include <clang/Frontend/FrontendDiagnostic.h>
++#include <clang/Lex/Lexer.h>
+ #include <clang/Tooling/Core/Diagnostic.h>
+ 
+ #if defined(CLAZY_USES_BOOST_REGEX)
+@@ -103,6 +104,31 @@ inline clang::tooling::Replacements& DiagnosticFix(clang::tooling::Diagnostic &d
+ #endif
+ }
+ 
++inline auto getBuffer(const clang::SourceManager &sm, clang::FileID id, bool *invalid)
++{
++#if LLVM_VERSION_MAJOR >= 12
++    auto buffer = sm.getBufferOrNone(id);
++    *invalid = !buffer.hasValue();
++    return buffer;
++#else
++    return sm.getBuffer(id, invalid);
++#endif
++}
++
++#if LLVM_VERSION_MAJOR >= 12
++inline clang::Lexer getLexer(clang::FileID id, llvm::Optional<llvm::MemoryBufferRef> inputFile,
++                             const clang::SourceManager &sm, const clang::LangOptions &lo)
++{
++    return clang::Lexer(id, inputFile.getValue(), sm, lo);
++}
++#else
++inline clang::Lexer getLexer(clang::FileID id, const llvm::MemoryBuffer *inputFile,
++                             const clang::SourceManager &sm, const clang::LangOptions &lo)
++{
++    return clang::Lexer(id, inputFile, sm, lo);
++}
++#endif
++
+ }
+ 
+ #endif
+diff --git a/src/SuppressionManager.cpp b/src/SuppressionManager.cpp
+index 9d774ea6..9881388d 100644
+--- a/src/SuppressionManager.cpp
++++ b/src/SuppressionManager.cpp
+@@ -24,7 +24,6 @@
+ #include "clazy_stl.h"
+ 
+ #include <clang/Basic/SourceManager.h>
+-#include <clang/Lex/Lexer.h>
+ #include <clang/Basic/SourceLocation.h>
+ #include <clang/Basic/TokenKinds.h>
+ #include <clang/Lex/Token.h>
+@@ -84,7 +83,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
+     Suppressions &suppressions = (*it).second;
+ 
+     bool invalid = false;
+-    auto buffer = sm.getBuffer(id, &invalid);
++    auto buffer = clazy::getBuffer(sm, id, &invalid);
+     if (invalid) {
+         llvm::errs() << "SuppressionManager::parseFile: Invalid buffer ";
+         if (buffer)
+@@ -92,7 +91,7 @@ void SuppressionManager::parseFile(FileID id, const SourceManager &sm, const cla
+         return;
+     }
+ 
+-    Lexer lexer(id, buffer, sm, lo);
++    auto lexer = clazy::getLexer(id, buffer, sm, lo);
+     lexer.SetCommentRetentionState(true);
+ 
+     Token token;
+-- 
+GitLab
+

diff --git a/dev-util/clazy/files/clazy-1.9-llvm13.patch b/dev-util/clazy/files/clazy-1.9-llvm13.patch
new file mode 100644
index 00000000000..9bbac8f7624
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.9-llvm13.patch
@@ -0,0 +1,31 @@
+From 0bf4e428c76270f4534a0a8df3cf6912157f22ab Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Sch=C3=A4pers?= <bjoern@hazardy.de>
+Date: Sat, 17 Apr 2021 20:57:10 +0200
+Subject: [PATCH] Fix build with LLVM 13
+
+---
+ src/ClazyStandaloneMain.cpp | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
+index 41c4fcf9..7b4cf5d3 100644
+--- a/src/ClazyStandaloneMain.cpp
++++ b/src/ClazyStandaloneMain.cpp
+@@ -158,7 +158,13 @@ llvm::IntrusiveRefCntPtr<vfs::FileSystem> getVfsFromFile(const std::string &over
+ 
+ int main(int argc, const char **argv)
+ {
+-    CommonOptionsParser optionsParser(argc, argv, s_clazyCategory, cl::ZeroOrMore);
++    auto expectedParser = CommonOptionsParser::create(argc, argv, s_clazyCategory, cl::ZeroOrMore);
++    if (!expectedParser) {
++       llvm::errs() << expectedParser.takeError();
++       return 1;
++    }
++
++    auto &optionsParser = expectedParser.get();
+     // llvm::errs() << optionsParser.getSourcePathList().size() << "\n";
+ 
+     if (s_supportedChecks.getValue()) {
+-- 
+GitLab
+


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2020-10-26 13:56 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-10-26 13:56 UTC (permalink / raw
  To: gentoo-commits

commit:     3cf0b312d76f313c80a28d1c7d112e03e303d3a2
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 26 10:21:23 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 26 13:55:45 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3cf0b312

dev-util/clazy: Fix build with LLVM-11

Fix HOMEPAGE

Closes: https://bugs.gentoo.org/749876
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../{clazy-1.7.ebuild => clazy-1.7-r1.ebuild}      |   9 +-
 dev-util/clazy/clazy-1.7.ebuild                    |   2 +-
 dev-util/clazy/files/clazy-1.7-llvm11-1.patch      | 343 +++++++++++++++++++++
 dev-util/clazy/files/clazy-1.7-llvm11-2.patch      |  28 ++
 4 files changed, 378 insertions(+), 4 deletions(-)

diff --git a/dev-util/clazy/clazy-1.7.ebuild b/dev-util/clazy/clazy-1.7-r1.ebuild
similarity index 85%
copy from dev-util/clazy/clazy-1.7.ebuild
copy to dev-util/clazy/clazy-1.7-r1.ebuild
index 14f32246c9c..cc5ae5d8eb1 100644
--- a/dev-util/clazy/clazy-1.7.ebuild
+++ b/dev-util/clazy/clazy-1.7-r1.ebuild
@@ -6,12 +6,12 @@ EAPI=7
 inherit cmake
 
 DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://kde.org/applications/development/org.kde.clazy"
+HOMEPAGE="https://apps.kde.org/en/clazy"
 SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
 
 LICENSE="LGPL-2+"
 SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="~amd64"
 IUSE=""
 
 RDEPEND="
@@ -20,7 +20,10 @@ RDEPEND="
 "
 DEPEND="${RDEPEND}"
 
-PATCHES=( "${FILESDIR}/${P}-gnuinstalldirs.patch" )
+PATCHES=(
+	"${FILESDIR}"/${P}-gnuinstalldirs.patch
+	"${FILESDIR}"/${P}-llvm11-{1,2}.patch
+)
 
 src_prepare() {
 	cmake_src_prepare

diff --git a/dev-util/clazy/clazy-1.7.ebuild b/dev-util/clazy/clazy-1.7.ebuild
index 14f32246c9c..a364a426b70 100644
--- a/dev-util/clazy/clazy-1.7.ebuild
+++ b/dev-util/clazy/clazy-1.7.ebuild
@@ -6,7 +6,7 @@ EAPI=7
 inherit cmake
 
 DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://kde.org/applications/development/org.kde.clazy"
+HOMEPAGE="https://apps.kde.org/en/clazy"
 SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
 
 LICENSE="LGPL-2+"

diff --git a/dev-util/clazy/files/clazy-1.7-llvm11-1.patch b/dev-util/clazy/files/clazy-1.7-llvm11-1.patch
new file mode 100644
index 00000000000..7b25b340a5c
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.7-llvm11-1.patch
@@ -0,0 +1,343 @@
+From 30d6a2b64f5a05722fdc5d8e3754dbf13425cd62 Mon Sep 17 00:00:00 2001
+From: Egor Gabov <egor.gabov@waveaccess.ru>
+Date: Thu, 4 Jun 2020 17:10:21 +0300
+Subject: [PATCH] updated for compatibility with LLVM 10
+
+In LLVM 10 llvm::StringRef operator std::string() is marked as explicit.
+In this commit all implicit conversion from llvm::StringRef to
+std::string are changed by explicit.
+Also included header file clang/Basic/FileManager.h in src/MiniDumper
+because without this header, class clang::FileEntry in incomplete class
+---
+ src/FixItExporter.cpp                                 | 5 +++--
+ src/MiniAstDumper.cpp                                 | 1 +
+ src/Utils.cpp                                         | 2 +-
+ src/checkbase.cpp                                     | 2 +-
+ src/checks/detachingbase.cpp                          | 2 +-
+ src/checks/level0/qenums.cpp                          | 2 +-
+ src/checks/level0/qt-macros.cpp                       | 4 ++--
+ src/checks/level0/unused-non-trivial-variable.cpp     | 2 +-
+ src/checks/level1/detaching-temporary.cpp             | 2 +-
+ src/checks/level1/non-pod-global-static.cpp           | 2 +-
+ src/checks/level1/qproperty-without-notify.cpp        | 2 +-
+ src/checks/level2/missing-typeinfo.cpp                | 2 +-
+ src/checks/level2/old-style-connect.cpp               | 6 +++---
+ src/checks/level2/rule-of-three.cpp                   | 2 +-
+ src/checks/manuallevel/ifndef-define-typo.cpp         | 6 +++---
+ src/checks/manuallevel/qproperty-type-mismatch.cpp    | 2 +-
+ src/checks/manuallevel/qrequiredresult-candidates.cpp | 2 +-
+ src/checks/manuallevel/qt-keywords.cpp                | 4 ++--
+ src/checks/manuallevel/reserve-candidates.cpp         | 3 ++-
+ 19 files changed, 28 insertions(+), 25 deletions(-)
+
+diff --git a/src/FixItExporter.cpp b/src/FixItExporter.cpp
+index f3af2e5..44240cf 100644
+--- a/src/FixItExporter.cpp
++++ b/src/FixItExporter.cpp
+@@ -68,7 +68,7 @@ void FixItExporter::BeginSourceFile(const LangOptions &LangOpts, const Preproces
+ 
+     const auto id = SourceMgr.getMainFileID();
+     const auto entry = SourceMgr.getFileEntryForID(id);
+-    getTuDiag().MainSourceFile = entry->getName();
++    getTuDiag().MainSourceFile = static_cast<std::string>(entry->getName());
+ }
+ 
+ bool FixItExporter::IncludeInDiagnosticCounts() const
+@@ -89,7 +89,8 @@ tooling::Diagnostic FixItExporter::ConvertDiagnostic(const Diagnostic &Info)
+     // TODO: This returns an empty string: DiagEngine->getDiagnosticIDs()->getWarningOptionForDiag(Info.getID());
+     // HACK: capture it at the end of the message: Message text [check-name]
+ 
+-    std::string checkName = DiagEngine.getDiagnosticIDs()->getWarningOptionForDiag(Info.getID());
++    std::string checkName =
++        static_cast<std::string>(DiagEngine.getDiagnosticIDs()->getWarningOptionForDiag(Info.getID()));
+     std::string messageText;
+ 
+     if (checkName.empty()) {
+diff --git a/src/MiniAstDumper.cpp b/src/MiniAstDumper.cpp
+index 4766174..6124e6e 100644
+--- a/src/MiniAstDumper.cpp
++++ b/src/MiniAstDumper.cpp
+@@ -24,6 +24,7 @@
+ 
+ #include <clang/Frontend/CompilerInstance.h>
+ #include <clang/Frontend/FrontendPluginRegistry.h>
++#include <clang/Basic/FileManager.h>
+ 
+ using namespace clang;
+ using namespace std;
+diff --git a/src/Utils.cpp b/src/Utils.cpp
+index 001ced9..b0812fe 100644
+--- a/src/Utils.cpp
++++ b/src/Utils.cpp
+@@ -878,7 +878,7 @@ string Utils::filenameForLoc(SourceLocation loc, const clang::SourceManager &sm)
+     if (loc.isMacroID())
+         loc = sm.getExpansionLoc(loc);
+ 
+-    const string filename = sm.getFilename(loc);
++    const string filename = static_cast<std::string>(sm.getFilename(loc));
+     auto splitted = clazy::splitString(filename, '/');
+     if (splitted.empty())
+         return {};
+diff --git a/src/checkbase.cpp b/src/checkbase.cpp
+index 8b40e19..22a426c 100644
+--- a/src/checkbase.cpp
++++ b/src/checkbase.cpp
+@@ -188,7 +188,7 @@ bool CheckBase::shouldIgnoreFile(SourceLocation loc) const
+     if (!loc.isValid())
+         return true;
+ 
+-    string filename = sm().getFilename(loc);
++    string filename = static_cast<std::string>(sm().getFilename(loc));
+ 
+     return clazy::any_of(m_filesToIgnore, [filename](const std::string &ignored) {
+         return clazy::contains(filename, ignored);
+diff --git a/src/checks/detachingbase.cpp b/src/checks/detachingbase.cpp
+index 70311f4..1b094ee 100644
+--- a/src/checks/detachingbase.cpp
++++ b/src/checks/detachingbase.cpp
+@@ -57,7 +57,7 @@ bool DetachingBase::isDetachingMethod(CXXMethodDecl *method, DetachingMethodType
+ 
+     const std::unordered_map<string, std::vector<StringRef>> &methodsByType = detachingMethodType == DetachingMethod ? clazy::detachingMethods()
+                                                                                                                      : clazy::detachingMethodsWithConstCounterParts();
+-    auto it = methodsByType.find(className);
++    auto it = methodsByType.find(static_cast<std::string>(className));
+     if (it != methodsByType.cend()) {
+         const auto &methods = it->second;
+         if (clazy::contains(methods, clazy::name(method)))
+diff --git a/src/checks/level0/qenums.cpp b/src/checks/level0/qenums.cpp
+index 00075b5..db8910f 100644
+--- a/src/checks/level0/qenums.cpp
++++ b/src/checks/level0/qenums.cpp
+@@ -59,7 +59,7 @@ void QEnums::VisitMacroExpands(const Token &MacroNameTok, const SourceRange &ran
+         // We simply check if :: is present because it's very cumbersome to to check for different classes when dealing with the pre-processor
+ 
+         CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
+-        string text = Lexer::getSourceText(crange, sm(), lo());
++        string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
+         if (clazy::contains(text, "::"))
+             return;
+     }
+diff --git a/src/checks/level0/qt-macros.cpp b/src/checks/level0/qt-macros.cpp
+index d3a587c..ab8e9f5 100644
+--- a/src/checks/level0/qt-macros.cpp
++++ b/src/checks/level0/qt-macros.cpp
+@@ -44,7 +44,7 @@ void QtMacros::VisitMacroDefined(const Token &MacroNameTok)
+         return;
+ 
+     IdentifierInfo *ii = MacroNameTok.getIdentifierInfo();
+-    if (ii && clazy::startsWith(ii->getName(), "Q_OS_"))
++    if (ii && clazy::startsWith(static_cast<std::string>(ii->getName()), "Q_OS_"))
+         m_OSMacroExists = true;
+ }
+ 
+@@ -58,7 +58,7 @@ void QtMacros::checkIfDef(const Token &macroNameTok, SourceLocation Loc)
+     if (preProcessorVisitor && preProcessorVisitor->qtVersion() < 51204 && ii->getName() == "Q_OS_WINDOWS") {
+         // Q_OS_WINDOWS was introduced in 5.12.4
+         emitWarning(Loc, "Q_OS_WINDOWS was only introduced in Qt 5.12.4, use Q_OS_WIN instead");
+-    } else if (!m_OSMacroExists && clazy::startsWith(ii->getName(), "Q_OS_")) {
++    } else if (!m_OSMacroExists && clazy::startsWith(static_cast<std::string>(ii->getName()), "Q_OS_")) {
+         emitWarning(Loc, "Include qglobal.h before testing Q_OS_ macros");
+     }
+ }
+diff --git a/src/checks/level0/unused-non-trivial-variable.cpp b/src/checks/level0/unused-non-trivial-variable.cpp
+index 4e4b830..93815f2 100644
+--- a/src/checks/level0/unused-non-trivial-variable.cpp
++++ b/src/checks/level0/unused-non-trivial-variable.cpp
+@@ -91,7 +91,7 @@ bool UnusedNonTrivialVariable::isUninterestingType(const CXXRecordDecl *record)
+     static const vector<StringRef> blacklistedTemplates = { "QScopedPointer", "QSetValueOnDestroy", "QScopedValueRollback" };
+     StringRef className = clazy::name(record);
+     for (StringRef templateName : blacklistedTemplates) {
+-        if (clazy::startsWith(className, templateName))
++        if (clazy::startsWith(static_cast<std::string>(className), static_cast<std::string>(templateName)))
+             return true;
+     }
+ 
+diff --git a/src/checks/level1/detaching-temporary.cpp b/src/checks/level1/detaching-temporary.cpp
+index fedfc81..60c7553 100644
+--- a/src/checks/level1/detaching-temporary.cpp
++++ b/src/checks/level1/detaching-temporary.cpp
+@@ -140,7 +140,7 @@ void DetachingTemporary::VisitStmt(clang::Stmt *stm)
+     StringRef className = clazy::name(classDecl);
+ 
+     const std::unordered_map<string, std::vector<StringRef>> &methodsByType = clazy::detachingMethods();
+-    auto it = methodsByType.find(className);
++    auto it = methodsByType.find(static_cast<std::string>(className));
+     auto it2 = m_writeMethodsByType.find(className);
+ 
+     std::vector<StringRef> allowedFunctions;
+diff --git a/src/checks/level1/non-pod-global-static.cpp b/src/checks/level1/non-pod-global-static.cpp
+index 5879bff..433b5c5 100644
+--- a/src/checks/level1/non-pod-global-static.cpp
++++ b/src/checks/level1/non-pod-global-static.cpp
+@@ -74,7 +74,7 @@ void NonPodGlobalStatic::VisitStmt(clang::Stmt *stm)
+     const SourceLocation declStart = clazy::getLocStart(varDecl);
+ 
+     if (declStart.isMacroID()) {
+-        auto macroName = Lexer::getImmediateMacroName(declStart, sm(), lo());
++        auto macroName = static_cast<std::string>(Lexer::getImmediateMacroName(declStart, sm(), lo()));
+         if (clazy::startsWithAny(macroName, { "Q_IMPORT_PLUGIN", "Q_CONSTRUCTOR_FUNCTION", "Q_DESTRUCTOR_FUNCTION"})) // Don't warn on these
+             return;
+     }
+diff --git a/src/checks/level1/qproperty-without-notify.cpp b/src/checks/level1/qproperty-without-notify.cpp
+index e1d6db4..3af9fee 100644
+--- a/src/checks/level1/qproperty-without-notify.cpp
++++ b/src/checks/level1/qproperty-without-notify.cpp
+@@ -69,7 +69,7 @@ void QPropertyWithoutNotify::VisitMacroExpands(const clang::Token &MacroNameTok,
+         return;
+     CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
+ 
+-    string text = Lexer::getSourceText(crange, sm(), lo());
++    string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
+     if (text.back() == ')')
+         text.pop_back();
+ 
+diff --git a/src/checks/level2/missing-typeinfo.cpp b/src/checks/level2/missing-typeinfo.cpp
+index 98df2cd..03b44e0 100644
+--- a/src/checks/level2/missing-typeinfo.cpp
++++ b/src/checks/level2/missing-typeinfo.cpp
+@@ -74,7 +74,7 @@ void MissingTypeInfo::VisitDecl(clang::Decl *decl)
+         if (sm().isInSystemHeader(clazy::getLocStart(record)))
+             return;
+ 
+-        std::string typeName = clazy::name(record);
++        std::string typeName = static_cast<std::string>(clazy::name(record));
+         if (typeName == "QPair") // QPair doesn't use Q_DECLARE_TYPEINFO, but rather a explicit QTypeInfo.
+             return;
+ 
+diff --git a/src/checks/level2/old-style-connect.cpp b/src/checks/level2/old-style-connect.cpp
+index 0fe68c1..396cb70 100644
+--- a/src/checks/level2/old-style-connect.cpp
++++ b/src/checks/level2/old-style-connect.cpp
+@@ -274,7 +274,7 @@ void OldStyleConnect::VisitMacroExpands(const Token &macroNameTok, const SourceR
+         return;
+ 
+     auto charRange = Lexer::getAsCharRange(range, sm(), lo());
+-    const string text = Lexer::getSourceText(charRange, sm(), lo());
++    const string text = static_cast<std::string>(Lexer::getSourceText(charRange, sm(), lo()));
+ 
+     static regex rx(R"(Q_PRIVATE_SLOT\s*\((.*)\s*,\s*.*\s+(.*)\(.*)");
+     smatch match;
+@@ -293,7 +293,7 @@ string OldStyleConnect::signalOrSlotNameFromMacro(SourceLocation macroLoc)
+     CharSourceRange expansionRange = clazy::getImmediateExpansionRange(macroLoc, sm());
+     SourceRange range = SourceRange(expansionRange.getBegin(), expansionRange.getEnd());
+     auto charRange = Lexer::getAsCharRange(range, sm(), lo());
+-    const string text = Lexer::getSourceText(charRange, sm(), lo());
++    const string text = static_cast<std::string>(Lexer::getSourceText(charRange, sm(), lo()));
+ 
+     static regex rx(R"(\s*(SIGNAL|SLOT)\s*\(\s*(.+)\s*\(.*)");
+ 
+@@ -315,7 +315,7 @@ bool OldStyleConnect::isSignalOrSlot(SourceLocation loc, string &macroName) cons
+     if (!loc.isMacroID() || loc.isInvalid())
+         return false;
+ 
+-    macroName = Lexer::getImmediateMacroName(loc, sm(), lo());
++    macroName = static_cast<std::string>(Lexer::getImmediateMacroName(loc, sm(), lo()));
+     return macroName == "SIGNAL" || macroName == "SLOT";
+ }
+ 
+diff --git a/src/checks/level2/rule-of-three.cpp b/src/checks/level2/rule-of-three.cpp
+index 8db55d5..7583fcc 100644
+--- a/src/checks/level2/rule-of-three.cpp
++++ b/src/checks/level2/rule-of-three.cpp
+@@ -140,7 +140,7 @@ void RuleOfThree::VisitDecl(clang::Decl *decl)
+ 
+     const string className = record->getNameAsString();
+     const string classQualifiedName = record->getQualifiedNameAsString();
+-    const string filename = sm().getFilename(recordStart);
++    const string filename = static_cast<std::string>(sm().getFilename(recordStart));
+     if (clazy::endsWith(className, "Private") && clazy::endsWithAny(filename, { ".cpp", ".cxx", "_p.h" }))
+         return; // Lots of RAII classes fall into this category. And even Private (d-pointer) classes, warning in that case would just be noise
+ 
+diff --git a/src/checks/manuallevel/ifndef-define-typo.cpp b/src/checks/manuallevel/ifndef-define-typo.cpp
+index edb6cdf..e9c50a4 100644
+--- a/src/checks/manuallevel/ifndef-define-typo.cpp
++++ b/src/checks/manuallevel/ifndef-define-typo.cpp
+@@ -44,7 +44,7 @@ void IfndefDefineTypo::VisitMacroDefined(const Token &macroNameTok)
+ {
+     if (!m_lastIfndef.empty()) {
+         if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo()) {
+-            maybeWarn(ii->getName(), macroNameTok.getLocation());
++            maybeWarn(static_cast<std::string>(ii->getName()), macroNameTok.getLocation());
+         }
+     }
+ }
+@@ -53,7 +53,7 @@ void IfndefDefineTypo::VisitDefined(const Token &macroNameTok, const SourceRange
+ {
+     if (!m_lastIfndef.empty()) {
+         if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo()) {
+-            maybeWarn(ii->getName(), macroNameTok.getLocation());
++            maybeWarn(static_cast<std::string>(ii->getName()), macroNameTok.getLocation());
+         }
+     }
+ }
+@@ -66,7 +66,7 @@ void IfndefDefineTypo::VisitIfdef(SourceLocation, const Token &)
+ void IfndefDefineTypo::VisitIfndef(SourceLocation, const Token &macroNameTok)
+ {
+     if (IdentifierInfo *ii = macroNameTok.getIdentifierInfo())
+-        m_lastIfndef = ii->getName();
++        m_lastIfndef = static_cast<std::string>(ii->getName());
+ }
+ 
+ void IfndefDefineTypo::VisitIf(SourceLocation, SourceRange, PPCallbacks::ConditionValueKind)
+diff --git a/src/checks/manuallevel/qproperty-type-mismatch.cpp b/src/checks/manuallevel/qproperty-type-mismatch.cpp
+index f91159c..952d9f1 100644
+--- a/src/checks/manuallevel/qproperty-type-mismatch.cpp
++++ b/src/checks/manuallevel/qproperty-type-mismatch.cpp
+@@ -237,7 +237,7 @@ void QPropertyTypeMismatch::VisitMacroExpands(const clang::Token &MacroNameTok,
+ 
+     CharSourceRange crange = Lexer::getAsCharRange(range, sm(), lo());
+ 
+-    string text = Lexer::getSourceText(crange, sm(), lo());
++    string text = static_cast<std::string>(Lexer::getSourceText(crange, sm(), lo()));
+     if (!text.empty() && text.back() == ')')
+         text.pop_back();
+ 
+diff --git a/src/checks/manuallevel/qrequiredresult-candidates.cpp b/src/checks/manuallevel/qrequiredresult-candidates.cpp
+index 912dbaa..6375bd7 100644
+--- a/src/checks/manuallevel/qrequiredresult-candidates.cpp
++++ b/src/checks/manuallevel/qrequiredresult-candidates.cpp
+@@ -65,7 +65,7 @@ void QRequiredResultCandidates::VisitDecl(clang::Decl *decl)
+ 
+ 
+     if (returnClass == classDecl) {
+-        const std::string methodName = clazy::name(method);
++        const std::string methodName = static_cast<std::string>(clazy::name(method));
+         if (methodName.empty()) // fixes assert
+             return;
+ 
+diff --git a/src/checks/manuallevel/qt-keywords.cpp b/src/checks/manuallevel/qt-keywords.cpp
+index e792e95..b60752c 100644
+--- a/src/checks/manuallevel/qt-keywords.cpp
++++ b/src/checks/manuallevel/qt-keywords.cpp
+@@ -59,12 +59,12 @@ void QtKeywords::VisitMacroExpands(const Token &macroNameTok, const SourceRange
+     }
+ 
+     static const vector<StringRef> keywords = { "foreach", "signals", "slots", "emit" };
+-    std::string name = ii->getName();
++    std::string name = static_cast<std::string>(ii->getName());
+     if (!clazy::contains(keywords, name))
+         return;
+ 
+     // Make sure the macro is Qt's. It must be defined in Qt's headers, not 3rdparty
+-    std::string qtheader = sm().getFilename(sm().getSpellingLoc(minfo->getDefinitionLoc()));
++    std::string qtheader = static_cast<std::string>(sm().getFilename(sm().getSpellingLoc(minfo->getDefinitionLoc())));
+     if (!clazy::endsWith(qtheader, "qglobal.h") && !clazy::endsWith(qtheader, "qobjectdefs.h"))
+         return;
+ 
+diff --git a/src/checks/manuallevel/reserve-candidates.cpp b/src/checks/manuallevel/reserve-candidates.cpp
+index 389cac5..92e4491 100644
+--- a/src/checks/manuallevel/reserve-candidates.cpp
++++ b/src/checks/manuallevel/reserve-candidates.cpp
+@@ -78,7 +78,8 @@ static bool isCandidateMethod(CXXMethodDecl *methodDecl)
+     if (!classDecl)
+         return false;
+ 
+-    if (!clazy::equalsAny(clazy::name(methodDecl), { "append", "push_back", "push", "operator<<", "operator+=" }))
++    if (!clazy::equalsAny(static_cast<std::string>(clazy::name(methodDecl)),
++                 { "append", "push_back", "push", "operator<<", "operator+=" }))
+         return false;
+ 
+     if (!clazy::isAReserveClass(classDecl))
+-- 
+GitLab
+

diff --git a/dev-util/clazy/files/clazy-1.7-llvm11-2.patch b/dev-util/clazy/files/clazy-1.7-llvm11-2.patch
new file mode 100644
index 00000000000..4556f257bf3
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.7-llvm11-2.patch
@@ -0,0 +1,28 @@
+From 25aa102cc49def9573ffbed88155589cd60a2e8f Mon Sep 17 00:00:00 2001
+From: Egor Gabov <egor.gabov@waveaccess.ru>
+Date: Fri, 5 Jun 2020 16:52:53 +0300
+Subject: [PATCH] updated for compatibility with LLVM 10 (clazy-standalone)
+
+In LLVM 10 llvm::StringRef operator std::string() is marked as explicit.
+In this commit all implicit conversion from llvm::StringRef to
+std::string are changed by explicit.
+---
+ src/checks/manuallevel/jnisignatures.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/checks/manuallevel/jnisignatures.cpp b/src/checks/manuallevel/jnisignatures.cpp
+index 81e61d4..5d4fe20 100644
+--- a/src/checks/manuallevel/jnisignatures.cpp
++++ b/src/checks/manuallevel/jnisignatures.cpp
+@@ -103,7 +103,7 @@ void JniSignatures::checkFunctionCall(Stmt *stm)
+         return;
+     }
+ 
+-    const std::string name = clazy::name(funDecl);
++    const std::string name = static_cast<std::string>(clazy::name(funDecl));
+ 
+     if (name == "callObjectMethod" || name == "callMethod") {
+         checkArgAt(callExpr, 0, methodNameRegex, "Invalid method name");
+-- 
+GitLab
+


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2020-08-22 16:06 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-08-22 16:06 UTC (permalink / raw
  To: gentoo-commits

commit:     ea47abb8ad9f6e4df7b0f30baa4b00760355841e
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 21 19:56:55 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 22 16:05:48 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea47abb8

dev-util/clazy: Drop 1.6-r1

Package-Manager: Portage-3.0.4, Repoman-3.0.1
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/clazy/Manifest                        |  1 -
 dev-util/clazy/clazy-1.6-r1.ebuild             | 53 ------------------
 dev-util/clazy/files/clazy-1.6-clang-cpp.patch | 60 ---------------------
 dev-util/clazy/files/clazy-1.6-llvm-10.patch   | 75 --------------------------
 4 files changed, 189 deletions(-)

diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index f5bcd93ff3b..286b8ca39df 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1,2 +1 @@
-DIST clazy-1.6.tar.xz 364292 BLAKE2B 01da58e34d5a7cb1e812d10264cebe15e90369589535e07f2c9f4520971f2e95b2c70494e99e34f7077957ec1bf01352fa6a72a64f0572e8a5db422267ab727a SHA512 dc7cb9590bbc40a2ac51abe305b6520ebc1ff7128ff21b4f6111d18f14eb8c2ab66d907636a18c7508143b708e70ba69f9d6fad88ffce12dec981a9bdd0edcc0
 DIST clazy-1.7.tar.xz 371788 BLAKE2B 281acd0164cf76510e46883fff7269aa77e4b815d6d0ca5a54307165ff8f4355e095b82e0c41cdb0af391f4a15048a8d64b2a2a7b9dabc042b36ba1a380405cc SHA512 3dba993140f3d69aac8d9cf3fa49db990185928647193220b689773bbca70f9fd9ee7fc52022e6029b3c0c81800301a593bd79edee7e1fa6c5884782d390ced6

diff --git a/dev-util/clazy/clazy-1.6-r1.ebuild b/dev-util/clazy/clazy-1.6-r1.ebuild
deleted file mode 100644
index 7db5c3d6366..00000000000
--- a/dev-util/clazy/clazy-1.6-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit cmake
-
-DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
-HOMEPAGE="https://kde.org/applications/development/org.kde.clazy"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-RDEPEND="
-	>=sys-devel/llvm-3.8:=
-"
-DEPEND="${RDEPEND}"
-
-DOCS=( README.md )
-
-PATCHES=(
-	"${FILESDIR}/${P}-llvm-10.patch"
-	"${FILESDIR}/${P}-clang-cpp.patch"
-)
-
-src_prepare() {
-	cmake_src_prepare
-
-	sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
-		-i CMakeLists.txt || die
-
-	sed -e 's|${MAN_INSTALL_DIR}|share/man/man1|' \
-		-i docs/man/CMakeLists.txt || die
-}
-
-src_configure() {
-	# this package requires both llvm and clang of the same version.
-	# clang pulls in the equivalent llvm version, but not vice versa.
-	# so, we must find llvm based on the installed clang version.
-	# bug #681568
-	local clang_version=$(best_version "sys-devel/clang")
-	export LLVM_ROOT="/usr/lib/llvm/$(ver_cut 1 ${clang_version##sys-devel/clang-})"
-	cmake_src_configure
-}
-
-src_install() {
-	cmake_src_install
-	mv "${D}"/usr/share/doc/clazy/* "${D}"/usr/share/doc/${PF} || die
-	rmdir "${D}"/usr/share/doc/clazy || die
-}

diff --git a/dev-util/clazy/files/clazy-1.6-clang-cpp.patch b/dev-util/clazy/files/clazy-1.6-clang-cpp.patch
deleted file mode 100644
index 16b9af00ce3..00000000000
--- a/dev-util/clazy/files/clazy-1.6-clang-cpp.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 0e295e5a926496f5a5d46ea4feb1b285b084f5e0 Mon Sep 17 00:00:00 2001
-From: Christophe Giboudeaux <christophe@krop.fr>
-Date: Mon, 11 Nov 2019 10:31:49 +0100
-Subject: Check if clazy should be linked to clang-cpp
-
-Summary:
-According to [1], clang can now provide a single shared library instead of split
-ones.
-
-We have to check if this library exists and link to it if available.
-
-[1] https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html#build-system-changes
-
-Reviewers: smartins, kde-buildsystem
-
-Reviewed By: smartins
-
-Differential Revision: https://phabricator.kde.org/D25163
----
- CMakeLists.txt        | 11 ++++++++---
- cmake/FindClang.cmake |  1 +
- 2 files changed, 9 insertions(+), 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b7301ed..ce1f887 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -125,9 +125,14 @@ macro(link_to_llvm name is_standalone)
-   if(WIN32)
-     target_link_libraries(${name} version.lib)
-   endif()
--    target_link_libraries(${name} clangTooling)
--    target_link_libraries(${name} clangToolingCore)
--    target_link_libraries(${name} ${clang_tooling_refactoring_lib})
-+    # clang >= 9.0 can provide a single shared library instead of split ones
-+    if(CLANG_CLANG-CPP_LIB)
-+        target_link_libraries(${name} clang-cpp)
-+    else()
-+        target_link_libraries(${name} clangTooling)
-+        target_link_libraries(${name} clangToolingCore)
-+        target_link_libraries(${name} ${clang_tooling_refactoring_lib})
-+    endif()
- endmacro()
- 
- macro(add_clang_plugin name)
-diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake
-index 542172e..50e0829 100644
---- a/cmake/FindClang.cmake
-+++ b/cmake/FindClang.cmake
-@@ -62,6 +62,7 @@ if (LLVM_FOUND AND LLVM_LIBRARY_DIRS)
-   # note: On Windows there's 'libclang.dll' instead of 'clang.dll' -> search for 'libclang', too
-   find_library(CLANG_LIBCLANG_LIB NAMES clang libclang HINTS ${LLVM_LIBRARY_DIRS}) # LibClang: high-level C interface
- 
-+  FIND_AND_ADD_CLANG_LIB(clang-cpp)
-   FIND_AND_ADD_CLANG_LIB(clangFrontend)
-   FIND_AND_ADD_CLANG_LIB(clangDriver)
-   FIND_AND_ADD_CLANG_LIB(clangCodeGen)
--- 
-cgit v1.1
-

diff --git a/dev-util/clazy/files/clazy-1.6-llvm-10.patch b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
deleted file mode 100644
index f00695f5211..00000000000
--- a/dev-util/clazy/files/clazy-1.6-llvm-10.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From df41bd29433937111edca3654a7beb11ec765029 Mon Sep 17 00:00:00 2001
-From: Johannes Ziegenbalg <Johannes.Ziegenbalg@tu-dresden.de>
-Date: Fri, 27 Mar 2020 14:18:32 +0100
-Subject: Fix build issues using llvm 10.0.0
-
----
- CMakeLists.txt                    |  2 +-
- src/ClazyStandaloneMain.cpp       | 10 ++++++++++
- src/checks/level0/qstring-ref.cpp |  4 ++++
- 3 files changed, 15 insertions(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index f1463cf..a30813f 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -53,7 +53,7 @@ if(MSVC)
-   # disable trigger-happy warnings from Clang/LLVM headers
-   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4291 /wd4800 /wd4141 /wd4146 /wd4251")
- elseif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
--  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
-+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
- endif()
- 
- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
-diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
-index aada189..6baae32 100644
---- a/src/ClazyStandaloneMain.cpp
-+++ b/src/ClazyStandaloneMain.cpp
-@@ -93,7 +93,11 @@ public:
-     {
-     }
- 
-+#if LLVM_VERSION_MAJOR >= 10
-+    std::unique_ptr<FrontendAction> create() override
-+#else
-     FrontendAction *create() override
-+#endif
-     {
-         ClazyContext::ClazyOptions options = ClazyContext::ClazyOption_None;
- 
-@@ -116,9 +120,15 @@ public:
-             options |= ClazyContext::ClazyOption_IgnoreIncludedFiles;
- 
-         // TODO: We need to agregate the fixes with previous run
-+#if LLVM_VERSION_MAJOR >= 10
-+        return std::make_unique<ClazyStandaloneASTAction>(s_checks.getValue(), s_headerFilter.getValue(),
-+                                                          s_ignoreDirs.getValue(), s_exportFixes.getValue(),
-+                                                          m_paths, options);
-+#else
-         return new ClazyStandaloneASTAction(s_checks.getValue(), s_headerFilter.getValue(),
-                                             s_ignoreDirs.getValue(), s_exportFixes.getValue(),
-                                             m_paths, options);
-+#endif
-     }
-     std::vector<std::string> m_paths;
- };
-diff --git a/src/checks/level0/qstring-ref.cpp b/src/checks/level0/qstring-ref.cpp
-index d1d8a4e..ec9e890 100644
---- a/src/checks/level0/qstring-ref.cpp
-+++ b/src/checks/level0/qstring-ref.cpp
-@@ -117,7 +117,11 @@ static bool containsChild(Stmt *s, Stmt *target)
-         return true;
- 
-     if (auto mte = dyn_cast<MaterializeTemporaryExpr>(s)) {
-+#if LLVM_VERSION_MAJOR >= 10
-+        return containsChild(mte->getSubExpr(), target);
-+#else
-         return containsChild(mte->getTemporary(), target);
-+#endif
-     } else if (auto ice = dyn_cast<ImplicitCastExpr>(s)) {
-         return containsChild(ice->getSubExpr(), target);
-     } else if (auto bte = dyn_cast<CXXBindTemporaryExpr>(s)) {
--- 
-cgit v1.1
-


^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/
@ 2020-04-09 21:37 Andreas Sturmlechner
  0 siblings, 0 replies; 8+ messages in thread
From: Andreas Sturmlechner @ 2020-04-09 21:37 UTC (permalink / raw
  To: gentoo-commits

commit:     014cfb8ff4491f6122312b8f2ba11eda28427af5
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Thu Apr  9 15:58:13 2020 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  9 21:36:24 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=014cfb8f

dev-util/clazy: Fix build with >=sys-devel/clang-10

Closes: https://bugs.gentoo.org/711642
Package-Manager: Portage-2.3.98, Repoman-2.3.22
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 dev-util/clazy/clazy-1.6-r1.ebuild           | 50 +++++++++++++++++++
 dev-util/clazy/files/clazy-1.6-llvm-10.patch | 75 ++++++++++++++++++++++++++++
 2 files changed, 125 insertions(+)

diff --git a/dev-util/clazy/clazy-1.6-r1.ebuild b/dev-util/clazy/clazy-1.6-r1.ebuild
new file mode 100644
index 00000000000..075782027ed
--- /dev/null
+++ b/dev-util/clazy/clazy-1.6-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake
+
+DESCRIPTION="Compiler plugin which allows clang to understand Qt semantics"
+HOMEPAGE="https://cgit.kde.org/clazy.git/tree/README.md"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/src/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+RDEPEND="
+	>=sys-devel/llvm-3.8:=
+"
+DEPEND="${RDEPEND}"
+
+DOCS=( README.md )
+
+PATCHES=( "${FILESDIR}/${P}-llvm-10.patch" )
+
+src_prepare() {
+	cmake_src_prepare
+
+	sed -e '/install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION/d' \
+		-i CMakeLists.txt || die
+
+	sed -e 's|${MAN_INSTALL_DIR}|share/man/man1|' \
+		-i docs/man/CMakeLists.txt || die
+}
+
+src_configure() {
+	# this package requires both llvm and clang of the same version.
+	# clang pulls in the equivalent llvm version, but not vice versa.
+	# so, we must find llvm based on the installed clang version.
+	# bug #681568
+	local clang_version=$(best_version "sys-devel/clang")
+	export LLVM_ROOT="/usr/lib/llvm/$(ver_cut 1 ${clang_version##sys-devel/clang-})"
+	cmake_src_configure
+}
+
+src_install() {
+	cmake_src_install
+	mv "${D}"/usr/share/doc/clazy/* "${D}"/usr/share/doc/${PF} || die
+	rmdir "${D}"/usr/share/doc/clazy || die
+}

diff --git a/dev-util/clazy/files/clazy-1.6-llvm-10.patch b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
new file mode 100644
index 00000000000..f00695f5211
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.6-llvm-10.patch
@@ -0,0 +1,75 @@
+From df41bd29433937111edca3654a7beb11ec765029 Mon Sep 17 00:00:00 2001
+From: Johannes Ziegenbalg <Johannes.Ziegenbalg@tu-dresden.de>
+Date: Fri, 27 Mar 2020 14:18:32 +0100
+Subject: Fix build issues using llvm 10.0.0
+
+---
+ CMakeLists.txt                    |  2 +-
+ src/ClazyStandaloneMain.cpp       | 10 ++++++++++
+ src/checks/level0/qstring-ref.cpp |  4 ++++
+ 3 files changed, 15 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f1463cf..a30813f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,7 +53,7 @@ if(MSVC)
+   # disable trigger-happy warnings from Clang/LLVM headers
+   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4267 /wd4244 /wd4291 /wd4800 /wd4141 /wd4146 /wd4251")
+ elseif(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
+-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
++  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings -fno-exceptions -fno-rtti")
+ endif()
+ 
+ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -Wl,-flat_namespace -Wl,-undefined -Wl,suppress")
+diff --git a/src/ClazyStandaloneMain.cpp b/src/ClazyStandaloneMain.cpp
+index aada189..6baae32 100644
+--- a/src/ClazyStandaloneMain.cpp
++++ b/src/ClazyStandaloneMain.cpp
+@@ -93,7 +93,11 @@ public:
+     {
+     }
+ 
++#if LLVM_VERSION_MAJOR >= 10
++    std::unique_ptr<FrontendAction> create() override
++#else
+     FrontendAction *create() override
++#endif
+     {
+         ClazyContext::ClazyOptions options = ClazyContext::ClazyOption_None;
+ 
+@@ -116,9 +120,15 @@ public:
+             options |= ClazyContext::ClazyOption_IgnoreIncludedFiles;
+ 
+         // TODO: We need to agregate the fixes with previous run
++#if LLVM_VERSION_MAJOR >= 10
++        return std::make_unique<ClazyStandaloneASTAction>(s_checks.getValue(), s_headerFilter.getValue(),
++                                                          s_ignoreDirs.getValue(), s_exportFixes.getValue(),
++                                                          m_paths, options);
++#else
+         return new ClazyStandaloneASTAction(s_checks.getValue(), s_headerFilter.getValue(),
+                                             s_ignoreDirs.getValue(), s_exportFixes.getValue(),
+                                             m_paths, options);
++#endif
+     }
+     std::vector<std::string> m_paths;
+ };
+diff --git a/src/checks/level0/qstring-ref.cpp b/src/checks/level0/qstring-ref.cpp
+index d1d8a4e..ec9e890 100644
+--- a/src/checks/level0/qstring-ref.cpp
++++ b/src/checks/level0/qstring-ref.cpp
+@@ -117,7 +117,11 @@ static bool containsChild(Stmt *s, Stmt *target)
+         return true;
+ 
+     if (auto mte = dyn_cast<MaterializeTemporaryExpr>(s)) {
++#if LLVM_VERSION_MAJOR >= 10
++        return containsChild(mte->getSubExpr(), target);
++#else
+         return containsChild(mte->getTemporary(), target);
++#endif
+     } else if (auto ice = dyn_cast<ImplicitCastExpr>(s)) {
+         return containsChild(ice->getSubExpr(), target);
+     } else if (auto bte = dyn_cast<CXXBindTemporaryExpr>(s)) {
+-- 
+cgit v1.1
+


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2025-01-27 22:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-27 22:29 [gentoo-commits] repo/gentoo:master commit in: dev-util/clazy/files/, dev-util/clazy/ Andreas Sturmlechner
  -- strict thread matches above, loose matches on Subject: below --
2024-12-11 21:41 Andreas Sturmlechner
2024-09-21 13:34 Andreas Sturmlechner
2022-01-19 13:54 Andreas Sturmlechner
2021-05-01 21:24 Andreas Sturmlechner
2020-10-26 13:56 Andreas Sturmlechner
2020-08-22 16:06 Andreas Sturmlechner
2020-04-09 21:37 Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox