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
-