diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-util/clazy | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'dev-util/clazy')
| -rw-r--r-- | dev-util/clazy/Manifest | 1 | ||||
| -rw-r--r-- | dev-util/clazy/clazy-1.15.ebuild | 84 | ||||
| -rw-r--r-- | dev-util/clazy/files/clazy-1.12-INCLUDE_DIRS.patch | 42 | ||||
| -rw-r--r-- | dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch | 33 | ||||
| -rw-r--r-- | dev-util/clazy/files/clazy-1.12-clazy-install-location.patch | 25 | ||||
| -rw-r--r-- | dev-util/clazy/files/clazy-1.12-standalone-install-location.patch | 50 | ||||
| -rw-r--r-- | dev-util/clazy/files/clazy-1.15-fix-build-w-o-pch.patch | 25 | ||||
| -rw-r--r-- | dev-util/clazy/metadata.xml | 12 |
8 files changed, 272 insertions, 0 deletions
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest new file mode 100644 index 000000000000..e1f7529bb97b --- /dev/null +++ b/dev-util/clazy/Manifest @@ -0,0 +1 @@ +DIST clazy-1.15.tar.xz 439636 BLAKE2B bf79ab2cc1651d08c09408f8d1ae571e72c9a633e792ca7a4df0712964abbc0eb21068e2e287f62605e6841d834c826749659b1aec572223d2a701307f51573b SHA512 9b3885dfa8889cf042a7d232a574ba27898eb81df0bd4863b2a97ef51b647bf95da068df842e5f66ae5ee5d14517db645cd100aa70f7bcd60cde3ebf65ec4ba0 diff --git a/dev-util/clazy/clazy-1.15.ebuild b/dev-util/clazy/clazy-1.15.ebuild new file mode 100644 index 000000000000..8dfb8ce22816 --- /dev/null +++ b/dev-util/clazy/clazy-1.15.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LLVM_COMPAT=( {19..20} ) +PYTHON_COMPAT=( python3_{13..14} ) +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=( + # downstream patches + "${FILESDIR}"/${PN}-1.12-LIBRARY_DIRS.patch + "${FILESDIR}"/${PN}-1.12-INCLUDE_DIRS.patch + "${FILESDIR}"/${PN}-1.12-standalone-install-location.patch + "${FILESDIR}"/${PN}-1.12-clazy-install-location.patch + "${FILESDIR}"/${P}-fix-build-w-o-pch.patch # fixed in 1.16 +) + +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-INCLUDE_DIRS.patch b/dev-util/clazy/files/clazy-1.12-INCLUDE_DIRS.patch new file mode 100644 index 000000000000..23641828804f --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-INCLUDE_DIRS.patch @@ -0,0 +1,42 @@ +From 6e17217d7b77a27bdf77da2c20044e89f112e9b1 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sun, 10 Nov 2024 17:19:56 +0100 +Subject: do not inject include dirs with installed llvm + +`string(FIND returns` returns `-1` on failure not `FALSE`. +If `_llvmSourceRoot` is equal to to first directory in `LLVM_INCLUDE_DIRS` +this would include non-existant directories. + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/cmake/FindClang.cmake b/cmake/FindClang.cmake +index b4f0b0a..eda8bb5 100644 +--- a/cmake/FindClang.cmake ++++ b/cmake/FindClang.cmake +@@ -95,8 +95,7 @@ if(CLANG_FOUND) + OUTPUT_VARIABLE _llvmSourceRoot + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +- string(FIND "${LLVM_INCLUDE_DIRS}" "${_llvmSourceRoot}" _llvmIsInstalled) +- if (NOT _llvmIsInstalled) ++ if(NOT "${_llvmSourceRoot}" IN_LIST LLVM_INCLUDE_DIRS) + 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 +diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake +index c625eeb..1e1e902 100644 +--- a/cmake/FindLLVM.cmake ++++ b/cmake/FindLLVM.cmake +@@ -140,8 +140,7 @@ if (LLVM_FOUND) + OUTPUT_VARIABLE _llvmSourceRoot + OUTPUT_STRIP_TRAILING_WHITESPACE + ) +- string(FIND "${LLVM_INCLUDE_DIRS}" "${_llvmSourceRoot}" _llvmIsInstalled) +- if (NOT _llvmIsInstalled) ++ if(NOT "${_llvmSourceRoot}" IN_LIST LLVM_INCLUDE_DIRS) + list(APPEND LLVM_INCLUDE_DIRS "${LLVM_INSTALL_PREFIX}/include") + endif() + endif() +-- +2.47.0 + diff --git a/dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch b/dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch new file mode 100644 index 000000000000..44d59ce9c3f9 --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch @@ -0,0 +1,33 @@ +From d04f0203febdeac38c4b085babb1183747c2edfb Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sun, 10 Nov 2024 17:19:20 +0100 +Subject: do not inject lib dirs with installed llvm + +Including `${LLVM_INSTALL_PREFIX}/lib` in the `LINK_DIRECTORIES` only works, +when lib is the correct LIBDIR for the current arch. +Normally you would use `CMAKE_INSTALL_LIBDIR`, unless you know better. + +As a bonus we avoid duplicates. + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 4215e49..9f77fb3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -106,7 +106,11 @@ include(ClazySources.cmake) + + include_directories(${CMAKE_BINARY_DIR}) + include_directories(${CLANG_INCLUDE_DIRS} ${CMAKE_CURRENT_LIST_DIR} ${CMAKE_CURRENT_LIST_DIR}/src) +-link_directories("${LLVM_INSTALL_PREFIX}/lib" ${LLVM_LIBRARY_DIRS}) ++link_directories(${LLVM_LIBRARY_DIRS}) ++ ++if(NOT "${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}" IN_LIST LLVM_LIBRARY_DIRS) ++ link_directories("${LLVM_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") ++endif() + + set(clang_tooling_refactoring_lib clangToolingRefactoring) + +-- +2.47.0 + diff --git a/dev-util/clazy/files/clazy-1.12-clazy-install-location.patch b/dev-util/clazy/files/clazy-1.12-clazy-install-location.patch new file mode 100644 index 000000000000..651dcf282b08 --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-clazy-install-location.patch @@ -0,0 +1,25 @@ +From b5600e28b0720a9a43d20717e79ba26dae6b9359 Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sun, 10 Nov 2024 22:22:07 +0100 +Subject: [PATCH] move clazy script to CMAKE_RUNTIME_OUTPUT_DIRECTORY + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 765083c..c7c1cea 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -229,8 +229,8 @@ if (NOT CLAZY_BUILD_WITH_CLANG) + endif() + file(RELATIVE_PATH BIN_RELATIVE_LIBDIR "${CMAKE_INSTALL_FULL_BINDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}") + file(RELATIVE_PATH BIN_RELATIVE_SHAREDIR "${CMAKE_INSTALL_FULL_BINDIR}" "${CMAKE_INSTALL_FULL_DATAROOTDIR}") +- configure_file(${CMAKE_CURRENT_LIST_DIR}/clazy.cmake ${CMAKE_BINARY_DIR}/clazy @ONLY) +- install(PROGRAMS ${CMAKE_BINARY_DIR}/clazy DESTINATION bin) ++ configure_file(${CMAKE_CURRENT_LIST_DIR}/clazy.cmake ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/clazy @ONLY) ++ install(PROGRAMS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/clazy DESTINATION bin) + else() + install(PROGRAMS ${CMAKE_CURRENT_LIST_DIR}/clazy.bat DESTINATION ${CMAKE_INSTALL_BINDIR}) + if(MSVC) +-- +2.47.0 + diff --git a/dev-util/clazy/files/clazy-1.12-standalone-install-location.patch b/dev-util/clazy/files/clazy-1.12-standalone-install-location.patch new file mode 100644 index 000000000000..76ff787a1bea --- /dev/null +++ b/dev-util/clazy/files/clazy-1.12-standalone-install-location.patch @@ -0,0 +1,50 @@ +From 3912afc2e9cec14299e9866014a709a55a07be2e Mon Sep 17 00:00:00 2001 +From: Paul Zander <negril.nx+gentoo@gmail.com> +Date: Sun, 10 Nov 2024 17:20:42 +0100 +Subject: Install clazy-standalone so relative path look-up works +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +fatal error: ‘stddef.h’ file not found, while using clazy-standalone Be sure the +clazy-standalone binary is located in the same folder as the +clang binary. + +Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 9f77fb3..c67065e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -199,6 +199,12 @@ endmacro() + + set(SYMBOL_FILE Lazy.exports) + ++execute_process( ++ COMMAND ${LLVM_CONFIG_EXECUTABLE} --bindir ++ OUTPUT_VARIABLE LLVM_BIN_DIR ++ OUTPUT_STRIP_TRAILING_WHITESPACE ++) ++ + if (NOT CLAZY_BUILD_WITH_CLANG) + set(CLAZY_MINI_AST_DUMPER_SRCS src/MiniAstDumper.cpp) + add_clang_plugin(ClazyPlugin ${CLAZY_PLUGIN_SRCS} ${CLAZY_MINI_AST_DUMPER_SRCS}) +@@ -315,9 +321,14 @@ else() + + target_link_libraries(clazy-standalone clazyPlugin) + +- install(TARGETS clazy-standalone DESTINATION bin PERMISSIONS OWNER_WRITE OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE) ++ install(TARGETS clazy-standalone DESTINATION ${LLVM_BIN_DIR} PERMISSIONS OWNER_WRITE OWNER_EXECUTE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_READ WORLD_EXECUTE) ++ + endif() + ++set_target_properties(clazy-standalone PROPERTIES ++ RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${LLVM_BIN_DIR}" ++) ++ + function(to_raw_string_literal input_string output_string) + if (MSVC) + # Work around "C2026: string too big, trailing characters truncated" +-- +2.47.0 + diff --git a/dev-util/clazy/files/clazy-1.15-fix-build-w-o-pch.patch b/dev-util/clazy/files/clazy-1.15-fix-build-w-o-pch.patch new file mode 100644 index 000000000000..609bbbed243e --- /dev/null +++ b/dev-util/clazy/files/clazy-1.15-fix-build-w-o-pch.patch @@ -0,0 +1,25 @@ +From cb6d241665a0ba7009129fcbdf877ac2246c2de8 Mon Sep 17 00:00:00 2001 +From: Luc Schrijvers <begasus@gmail.com> +Date: Mon, 16 Jun 2025 10:39:25 +0200 +Subject: [PATCH] Add missing header + +Fixes: error: 'Lexer' is not a member of 'clang' +--- + src/SuppressionManager.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/SuppressionManager.cpp b/src/SuppressionManager.cpp +index 112025ec..b94f1aa8 100644 +--- a/src/SuppressionManager.cpp ++++ b/src/SuppressionManager.cpp +@@ -11,6 +11,7 @@ + #include <clang/Basic/SourceLocation.h> + #include <clang/Basic/SourceManager.h> + #include <clang/Basic/TokenKinds.h> ++#include <clang/Lex/Lexer.h> + #include <clang/Lex/Token.h> + #include <llvm/Support/MemoryBuffer.h> + #include <llvm/Support/raw_ostream.h> +-- +GitLab + diff --git a/dev-util/clazy/metadata.xml b/dev-util/clazy/metadata.xml new file mode 100644 index 000000000000..f9e4971b33dd --- /dev/null +++ b/dev-util/clazy/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>kde@gentoo.org</email> + <name>Gentoo KDE Project</name> + </maintainer> + <upstream> + <bugs-to>https://bugs.kde.org/enter_bug.cgi?product=clazy</bugs-to> + </upstream> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
