summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/clazy/Manifest1
-rw-r--r--dev-util/clazy/clazy-1.7.ebuild41
-rw-r--r--dev-util/clazy/files/clazy-1.7-gnuinstalldirs.patch82
3 files changed, 124 insertions, 0 deletions
diff --git a/dev-util/clazy/Manifest b/dev-util/clazy/Manifest
index 85c2cfdf47b4..f5bcd93ff3b0 100644
--- a/dev-util/clazy/Manifest
+++ b/dev-util/clazy/Manifest
@@ -1 +1,2 @@
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.7.ebuild b/dev-util/clazy/clazy-1.7.ebuild
new file mode 100644
index 000000000000..d2e60deaa67c
--- /dev/null
+++ b/dev-util/clazy/clazy-1.7.ebuild
@@ -0,0 +1,41 @@
+# 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/clang-5.0:=
+ >=sys-devel/llvm-5.0:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=( "${FILESDIR}/${P}-gnuinstalldirs.patch" )
+
+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.7-gnuinstalldirs.patch b/dev-util/clazy/files/clazy-1.7-gnuinstalldirs.patch
new file mode 100644
index 000000000000..c58093a2db25
--- /dev/null
+++ b/dev-util/clazy/files/clazy-1.7-gnuinstalldirs.patch
@@ -0,0 +1,82 @@
+From 111c6971cd791f336eaaa8ef142c8212a7e65a3a Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 30 Jun 2020 12:56:56 +0200
+Subject: [PATCH] Use more GNUInstallDirs (doc, man)
+
+---
+ CMakeLists.txt | 21 ++++++++-------------
+ docs/man/CMakeLists.txt | 2 +-
+ 2 files changed, 9 insertions(+), 14 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c55103b..2532a8d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -15,7 +15,7 @@ endif()
+
+ include(FeatureSummary)
+ include(GenerateExportHeader)
+-include("GNUInstallDirs")
++include(GNUInstallDirs)
+
+ # Version setup
+ set(CLAZY_VERSION_MAJOR "1")
+@@ -184,8 +184,6 @@ if (NOT CLAZY_BUILD_WITH_CLANG)
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ )
+
+- set(SHARE_INSTALL_DIR ${CMAKE_INSTALL_DATAROOTDIR} CACHE STRING "Share directory name")
+-
+ if(NOT WIN32)
+ if(APPLE)
+ find_program(READLINK_CMD greadlink)
+@@ -200,27 +198,24 @@ if (NOT CLAZY_BUILD_WITH_CLANG)
+ configure_file(${CMAKE_CURRENT_LIST_DIR}/clazy.cmake ${CMAKE_BINARY_DIR}/clazy @ONLY)
+ install(PROGRAMS ${CMAKE_BINARY_DIR}/clazy DESTINATION bin)
+ else()
+- install(PROGRAMS ${CMAKE_CURRENT_LIST_DIR}/clazy.bat DESTINATION bin)
++ install(PROGRAMS ${CMAKE_CURRENT_LIST_DIR}/clazy.bat DESTINATION ${CMAKE_INSTALL_BINDIR})
+ if(MSVC)
+- install(PROGRAMS ${CMAKE_CURRENT_LIST_DIR}/clazy-cl.bat DESTINATION bin)
++ install(PROGRAMS ${CMAKE_CURRENT_LIST_DIR}/clazy-cl.bat DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
+ endif()
+
+ # Install the explanation README's
+- set(DOC_INSTALL_DIR ${SHARE_INSTALL_DIR}/doc/clazy)
+-
+ include(${CMAKE_CURRENT_LIST_DIR}/readmes.cmake)
+
+- install(FILES ${README_LEVEL0_FILES} DESTINATION ${DOC_INSTALL_DIR}/level0)
+- install(FILES ${README_LEVEL1_FILES} DESTINATION ${DOC_INSTALL_DIR}/level1)
+- install(FILES ${README_LEVEL2_FILES} DESTINATION ${DOC_INSTALL_DIR}/level2)
+- install(FILES ${README_manuallevel_FILES} DESTINATION ${DOC_INSTALL_DIR}/manuallevel)
++ install(FILES ${README_LEVEL0_FILES} DESTINATION ${CMAKE_INSTALL_DOCDIR}/level0)
++ install(FILES ${README_LEVEL1_FILES} DESTINATION ${CMAKE_INSTALL_DOCDIR}/level1)
++ install(FILES ${README_LEVEL2_FILES} DESTINATION ${CMAKE_INSTALL_DOCDIR}/level2)
++ install(FILES ${README_manuallevel_FILES} DESTINATION ${CMAKE_INSTALL_DOCDIR}/manuallevel)
+
+ # Install more doc files
+- install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION ${DOC_INSTALL_DIR})
++ install(FILES README.md COPYING-LGPL2.txt checks.json DESTINATION ${CMAKE_INSTALL_DOCDIR})
+
+ # Build docs
+- set(MAN_INSTALL_DIR "${SHARE_INSTALL_DIR}/man/man1")
+ add_subdirectory(docs)
+
+ # rpath
+diff --git a/docs/man/CMakeLists.txt b/docs/man/CMakeLists.txt
+index 5d86813..d9b3937 100644
+--- a/docs/man/CMakeLists.txt
++++ b/docs/man/CMakeLists.txt
+@@ -14,6 +14,6 @@ if(UNIX)
+ )
+ add_custom_target(man ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/clazy.1)
+
+- install(FILES ${CMAKE_CURRENT_BINARY_DIR}/clazy.1 DESTINATION ${MAN_INSTALL_DIR})
++ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/clazy.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
+ endif()
+ endif()
+--
+2.27.0
+