summaryrefslogtreecommitdiff
path: root/dev-util/clang-extract
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/clang-extract')
-rw-r--r--dev-util/clang-extract/Manifest4
-rw-r--r--dev-util/clang-extract/clang-extract-0_pre20241220.ebuild115
-rw-r--r--dev-util/clang-extract/clang-extract-9999.ebuild6
3 files changed, 121 insertions, 4 deletions
diff --git a/dev-util/clang-extract/Manifest b/dev-util/clang-extract/Manifest
index 3c86f5312845..e7abe6ad7421 100644
--- a/dev-util/clang-extract/Manifest
+++ b/dev-util/clang-extract/Manifest
@@ -1,5 +1,7 @@
AUX clang-extract-meson.patch 2308 BLAKE2B 179088a6c843d295f99744944eef645b73c851da6fa2378a8b6e23c645e0b945b42c1182dedeb2c14b8656f065c3a4e6b0a4288f14670b61e6a4adfe03a06c96 SHA512 8019d1c9a08f6ddfd63ebc7874a2296255176dcd24eeac69e28556122fbac0c74b5978c5df5dbcb09d87f657ffc4a403ab3793f02d5f556489985f7b686e705c
DIST clang-extract-0_pre20241002.gh.tar.gz 129679 BLAKE2B 98d55d96fddcaf97e3ba12c4f5cc64a226ca8cb01328bfbe29e0526e48ba3304fdba0f4ee0f07972e488dd9339326011116359401fed047031c49806ee175245 SHA512 c05a8c2aa9a3fd0050d23b35991b8169e185e6186b2c583b364e78fef448030d44be4d14f175148fde5389a1463d4db61d52621dc2b410764336cca12ce3e5b3
+DIST clang-extract-0_pre20241220.gh.tar.gz 129806 BLAKE2B ddf3dbc5c509a3483a1ac9229eab4229c227a5f5b41d25f853bdee0ffe846ff4c8731efcdbd1f853250681f2e718d5db85403762c7eba7afc5787a38cfbdf1aa SHA512 bf130d35c3170a8a3488f67173ed876196339b93cd4243e56eee3f01771badd4c96d80da88db6a267f3e55f874d2735b82da746e8276199f52ead53385c85ef6
EBUILD clang-extract-0_pre20241002.ebuild 3076 BLAKE2B 592e529a8eef068a79012962261cb20becb4c3f881c872a3c0c42b46d9724e0b82761413fd8042f8ea76e9e0b513eb5d2079e136ffe24d48dedddaad10959094 SHA512 959ae78c700c3206308047d89e3a401e06336bd578ca9794f22ec867d4fc035c083467224666006920e46c6990ffb96f5aa2aba5109944685c7db718598adce2
-EBUILD clang-extract-9999.ebuild 3076 BLAKE2B 592e529a8eef068a79012962261cb20becb4c3f881c872a3c0c42b46d9724e0b82761413fd8042f8ea76e9e0b513eb5d2079e136ffe24d48dedddaad10959094 SHA512 959ae78c700c3206308047d89e3a401e06336bd578ca9794f22ec867d4fc035c083467224666006920e46c6990ffb96f5aa2aba5109944685c7db718598adce2
+EBUILD clang-extract-0_pre20241220.ebuild 3081 BLAKE2B 46df524dfa89a487e753818d512144663d872895b2a028fabc7c899562b9d0e0a1cd0d9e1eead1af7cdd8bc213c32ef11136521221d576003bf4fd7e6f5fe050 SHA512 1ae6de3c68422996ad6e3a5e5960fa57f9459bf23a6321e94e843355918859454eae11a803ed4b4d611e420fca1c9ded38309ecebeb5b589afb594fc0eb3b780
+EBUILD clang-extract-9999.ebuild 3081 BLAKE2B 46df524dfa89a487e753818d512144663d872895b2a028fabc7c899562b9d0e0a1cd0d9e1eead1af7cdd8bc213c32ef11136521221d576003bf4fd7e6f5fe050 SHA512 1ae6de3c68422996ad6e3a5e5960fa57f9459bf23a6321e94e843355918859454eae11a803ed4b4d611e420fca1c9ded38309ecebeb5b589afb594fc0eb3b780
MISC metadata.xml 323 BLAKE2B fe3cebcb47898e93e18a41041e641980b9d53d292f77f06eb9c3316be67a5a8fab79d9d0b436401e3eed9b3476e7ef12f9e682e7e967067603103459ba46e999 SHA512 f31bd9d5c30efcca54ee10b22379c7698200e1f57b552f287eba863dedce75a20179b2b4670dfc90726c6c51e3db7decc72b181c8b768272d0f900897e4659e4
diff --git a/dev-util/clang-extract/clang-extract-0_pre20241220.ebuild b/dev-util/clang-extract/clang-extract-0_pre20241220.ebuild
new file mode 100644
index 000000000000..cf1c68c0a1ed
--- /dev/null
+++ b/dev-util/clang-extract/clang-extract-0_pre20241220.ebuild
@@ -0,0 +1,115 @@
+# Copyright 2024-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_COMPAT=( {16..19} )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit flag-o-matic llvm-r1 meson python-any-r1
+
+DESCRIPTION="Tool to extract code content from source files"
+HOMEPAGE="https://github.com/SUSE/clang-extract"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/SUSE/clang-extract.git"
+ inherit git-r3
+else
+ CLANG_EXTRACT_COMMIT="8344124f604e2ef9202177f5b9ed61962a37c4dc"
+ SRC_URI="
+ https://github.com/SUSE/clang-extract/archive/${CLANG_EXTRACT_COMMIT}.tar.gz -> ${P}.gh.tar.gz
+ "
+ S="${WORKDIR}"/${PN}-${CLANG_EXTRACT_COMMIT}
+
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/zstd:=
+ sys-libs/zlib
+ virtual/libelf
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ llvm-core/llvm:${LLVM_SLOT}
+ ')
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ $(llvm_gen_dep '
+ llvm-core/clang:${LLVM_SLOT}
+ ')
+ test? ( ${PYTHON_DEPS} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-meson.patch
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+ llvm-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # There's no need to manually add --gcc-install-dir to Clang invocations;
+ # we already have this setup properly via our Clang config files in
+ # /etc/clang.
+ sed -i -e '/add_project_argument.*gcc-install-dir/d' meson.build || die
+
+ # Testsuite makes some (bad) assumptions about layout
+ BUILD_DIR="${S}"/build
+}
+
+src_configure() {
+ # Use whatever CC/CXX llvm-r1 found for us, as meson.build
+ # asserts on GCC being used.
+ export CC=clang
+ export CXX=clang++
+ export PKG_CONFIG_PATH="$(get_llvm_prefix)/$(get_libdir)/pkgconfig:${PKG_CONFIG_PATH}"
+ # User flags may be expecting GCC
+ strip-unsupported-flags
+
+ meson_src_configure
+}
+
+src_test() {
+ # These hacks are inspired by dev-util/clazy.
+ #
+ # clang-extract wants to be installed in the directory of the clang binary,
+ # so it can find the llvm/clang via relative paths.
+ #
+ # Setup the directories and symlink the system include dir for that.
+ local -x LLVM_ROOT="$(get_llvm_prefix)"
+ 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
+ mkdir -p "${BUILD_DIR}${LLVM_ROOT}/bin" || die
+ ln -s "${BUILD_DIR}"/clang-extract "${BUILD_DIR}${LLVM_ROOT}/bin" || die
+ ln -s "${BUILD_DIR}"/ce-inline "${BUILD_DIR}${LLVM_ROOT}/bin" || die
+
+ # Wrap runtest.py so we always pass -bin-path.
+ #
+ # This is gnarly but we already have to make sure it uses the
+ # right Python, so it was quicker to just do the bash wrapper.
+ mv testsuite/lib/runtest.py{,.real} || die
+ cat <<-EOF > testsuite/lib/runtest.py || die
+ #!/bin/bash
+ export CLANG_NO_DEFAULT_CONFIG=1
+ ${EPYTHON} "${S}"/testsuite/lib/runtest.py.real \
+ -bin-path "${BUILD_DIR}${LLVM_ROOT}/bin/" \
+ "\$@"
+ EOF
+ chmod +x testsuite/lib/runtest.py || die
+
+ local -x PATH="${BUILD_DIR}/${LLVM_ROOT}/bin:${BUILD_DIR}/bin:${PATH}"
+ local -x LD_LIBRARY_PATH="${BUILD_DIR}/lib:${LD_LIBRARY_PATH}"
+
+ meson_src_test
+}
diff --git a/dev-util/clang-extract/clang-extract-9999.ebuild b/dev-util/clang-extract/clang-extract-9999.ebuild
index 0c1d8f39cd8e..cf1c68c0a1ed 100644
--- a/dev-util/clang-extract/clang-extract-9999.ebuild
+++ b/dev-util/clang-extract/clang-extract-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-LLVM_COMPAT=( {16..18} )
+LLVM_COMPAT=( {16..19} )
PYTHON_COMPAT=( python3_{10..13} )
inherit flag-o-matic llvm-r1 meson python-any-r1
@@ -14,7 +14,7 @@ if [[ ${PV} == 9999 ]] ; then
EGIT_REPO_URI="https://github.com/SUSE/clang-extract.git"
inherit git-r3
else
- CLANG_EXTRACT_COMMIT="ec46efd739f15ee49f99834ba56c019cbf69e4ed"
+ CLANG_EXTRACT_COMMIT="8344124f604e2ef9202177f5b9ed61962a37c4dc"
SRC_URI="
https://github.com/SUSE/clang-extract/archive/${CLANG_EXTRACT_COMMIT}.tar.gz -> ${P}.gh.tar.gz
"