summaryrefslogtreecommitdiff
path: root/dev-util/clazy
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-04 16:47:34 -0500
commitdda948891d3731927b821ce31f9d9a2d03ba20c5 (patch)
tree99cd40be4cbb0606260da212cd81b8ab2db9da9b /dev-util/clazy
parenta3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff)
downloadbaldeagleos-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/Manifest1
-rw-r--r--dev-util/clazy/clazy-1.15.ebuild84
-rw-r--r--dev-util/clazy/files/clazy-1.12-INCLUDE_DIRS.patch42
-rw-r--r--dev-util/clazy/files/clazy-1.12-LIBRARY_DIRS.patch33
-rw-r--r--dev-util/clazy/files/clazy-1.12-clazy-install-location.patch25
-rw-r--r--dev-util/clazy/files/clazy-1.12-standalone-install-location.patch50
-rw-r--r--dev-util/clazy/files/clazy-1.15-fix-build-w-o-pch.patch25
-rw-r--r--dev-util/clazy/metadata.xml12
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>