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?= <[email protected]>
-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 <[email protected]>
-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 <[email protected]>
-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 <[email protected]>
-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
-

Reply via email to