summaryrefslogtreecommitdiff
path: root/dev-libs/castxml/castxml-0.6.4.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/castxml/castxml-0.6.4.ebuild')
-rw-r--r--dev-libs/castxml/castxml-0.6.4.ebuild64
1 files changed, 64 insertions, 0 deletions
diff --git a/dev-libs/castxml/castxml-0.6.4.ebuild b/dev-libs/castxml/castxml-0.6.4.ebuild
new file mode 100644
index 000000000000..415f275dcc3f
--- /dev/null
+++ b/dev-libs/castxml/castxml-0.6.4.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+inherit cmake llvm
+
+DESCRIPTION="C-family abstract syntax tree XML output tool"
+HOMEPAGE="https://github.com/CastXML/CastXML"
+SRC_URI="https://github.com/CastXML/CastXML/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/CastXML-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~riscv ~x86"
+IUSE="+man test"
+RESTRICT="!test? ( test )"
+
+# See comment in llvm.eclass for why we don't depend on LLVM if we already
+# depend on Clang.
+RDEPEND="
+ <sys-devel/clang-$((LLVM_MAX_SLOT + 1)):=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+ man? ( dev-python/sphinx )
+"
+
+PATCHES=(
+# "${FILESDIR}"/${PN}-fix-tests.patch
+)
+
+llvm_check_deps() {
+ has_version "sys-devel/clang:${LLVM_SLOT}"
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCastXML_INSTALL_DOC_DIR="share/doc/${PF}"
+ -DCastXML_INSTALL_MAN_DIR="share/man"
+ -DSPHINX_MAN="$(usex man)"
+ -DSPHINX_HTML=OFF
+ -DBUILD_TESTING="$(usex test)"
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # Regex doesn't match the full build path
+ cmd.input-missing
+ cmd.rsp-missing
+
+ # Gets confused by extra #defines we set for hardening etc (bug #891813)
+ cmd.cc-gnu-src-cxx-E
+ cmd.cc-gnu-src-cxx-cmd
+ cmd.cc-gnu-c-src-c-E
+ cmd.cc-gnu-c-src-c-cmd
+ )
+
+ cmake_src_test
+}