mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-17 19:13:13 -04:00
dev-util/annobin: initial import
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
1
dev-util/annobin/Manifest
Normal file
1
dev-util/annobin/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST annobin-10.58.tar.xz 846744 BLAKE2B 86a7beb46d7fce153f44d2a42e538ff99d40de239655f001580e34c8e0f40fe4309b908681047d012dc315977a93889f9e4e05f00a97145c5c04663d5f239fb8 SHA512 7d40fe9ddbee788db3331ec138aa588936d726ec50e0286b23be3792f20c2fc111c635b70598e0d8b6ba24a92de514fc637d5cea6b9d7781de781fbf244dfbd8
|
||||
83
dev-util/annobin/annobin-10.58.ebuild
Normal file
83
dev-util/annobin/annobin-10.58.ebuild
Normal file
@@ -0,0 +1,83 @@
|
||||
# Copyright 2018-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit autotools llvm toolchain-funcs
|
||||
|
||||
DESCRIPTION="Binary annotation compiler plugin and tools"
|
||||
HOMEPAGE="https://nickc.fedorapeople.org"
|
||||
SRC_URI="https://nickc.fedorapeople.org/${P}.tar.xz"
|
||||
|
||||
KEYWORDS="~amd64"
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
IUSE="clang doc llvm test"
|
||||
|
||||
RDEPEND="
|
||||
app-arch/rpm
|
||||
dev-libs/elfutils
|
||||
sys-libs/binutils-libs
|
||||
|
||||
clang? ( <sys-devel/clang-13:= )
|
||||
!clang? ( llvm? ( <sys-devel/llvm-13:= ) )
|
||||
llvm? (
|
||||
|| (
|
||||
sys-devel/llvm:11
|
||||
sys-devel/llvm:12
|
||||
sys-devel/llvm:13
|
||||
)
|
||||
)
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-fix-bashism.patch"
|
||||
"${FILESDIR}/${P}-demangle.h-path.patch"
|
||||
)
|
||||
REQUIRED_USE="clang? ( llvm )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
pkg_pretend() {
|
||||
if [[ ${MERGE_TYPE} != binary ]]; then
|
||||
if ! tc-is-gcc ; then
|
||||
eerror "${PN} is a gcc plugin. Please emerge using gcc as CC"
|
||||
die "use gcc"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
sed -i 's|2.69|2.71|g' config/override.m4 || die
|
||||
|
||||
if use llvm; then
|
||||
local llvmdir="$(get_llvm_prefix -d)"
|
||||
local llvm_plugindir
|
||||
llvm_plugindir="$(
|
||||
clang --print-search-dirs | gawk -e\
|
||||
'BEGIN { FS = ":" } /libraries/ { print gensub(" =","",1,$2) } END { }'
|
||||
)"
|
||||
einfo $llvm_plugindir
|
||||
|
||||
sed -i "/^INCDIR.*/ s|$| -I${llvmdir}/include|" {llvm,clang}-plugin/Makefile.in || die
|
||||
sed -i "/^CLANG_LIBS.*/ s|$| -L${llvmdir}/$(get_libdir)|" clang-plugin/Makefile.in || die
|
||||
sed -i 's/print-seach-dirs/print-search-dirs/g' {llvm,clang}-plugin/Makefile.in || die
|
||||
sed -i "s|^PLUGIN_INSTALL_DIR =.*|PLUGIN_INSTALL_DIR = \$\{DESTDIR\}/$(realpath ${llvm_plugindir})|" {llvm,clang}-plugin/Makefile.in || die
|
||||
fi
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--with-libelf
|
||||
--with-gcc-plugin-dir=$($(tc-getCC) -print-file-name=plugin)
|
||||
--without-debuginfod # we don't have it enabled, comes with elfutils
|
||||
$(use_with clang)
|
||||
$(use_with llvm)
|
||||
$(use_with test tests)
|
||||
$(use_with doc docs)
|
||||
)
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
12
dev-util/annobin/files/annobin-10.58-demangle.h-path.patch
Normal file
12
dev-util/annobin/files/annobin-10.58-demangle.h-path.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff '--color=auto' -ru /var/tmp/portage/dev-util/annobin-10.58/work/annobin-10.58/annocheck/annocheck.h annobin-10.58/annocheck/annocheck.h
|
||||
--- /var/tmp/portage/dev-util/annobin-10.58/work/annobin-10.58/annocheck/annocheck.h 2022-03-14 12:43:07.000000000 +0100
|
||||
+++ annobin-10.58/annocheck/annocheck.h 2022-03-20 08:36:28.373389297 +0100
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <elfutils/libdw.h>
|
||||
|
||||
#include <libiberty.h>
|
||||
-#include <demangle.h>
|
||||
+#include <libiberty/demangle.h>
|
||||
|
||||
#define PACKAGE "annocheck"
|
||||
|
||||
28
dev-util/annobin/files/annobin-10.58-fix-bashism.patch
Normal file
28
dev-util/annobin/files/annobin-10.58-fix-bashism.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
--- a/config/debuginfod.m4
|
||||
+++ b/config/debuginfod.m4
|
||||
@@ -34,5 +34,5 @@
|
||||
fi
|
||||
fi
|
||||
AM_CONDITIONAL([HAVE_DEBUGINFOD],
|
||||
- [test x"$have_debuginfod_lib" == xyes -a x"$have_debuginfod_h" == xyes])
|
||||
+ [test x"$have_debuginfod_lib" = xyes && x"$have_debuginfod_h" = xyes])
|
||||
])
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -149,13 +149,13 @@
|
||||
AM_CONDITIONAL([COND_DOCS], [test "$with_docs" != no])
|
||||
AM_CONDITIONAL([COND_TESTS], [test "$with_tests" != no])
|
||||
AM_CONDITIONAL([COND_ANNOCHECK], [test "$with_annocheck" != no])
|
||||
-AM_CONDITIONAL([COND_CLANG], [test "$with_clang_plugin" == yes])
|
||||
+AM_CONDITIONAL([COND_CLANG], [test "$with_clang_plugin" = yes])
|
||||
AM_CONDITIONAL([COND_GCC_PLUGIN], [test "$with_gcc_plugin" != no])
|
||||
-AM_CONDITIONAL([COND_LLVM], [test "$with_llvm_plugin" == yes])
|
||||
+AM_CONDITIONAL([COND_LLVM], [test "$with_llvm_plugin" = yes])
|
||||
|
||||
AC_CONFIG_FILES(Makefile)
|
||||
|
||||
-if test "$with_annocheck" != no -o test "$with_gcc_plugin" != no; then
|
||||
+if test "$with_annocheck" != no || test "$with_gcc_plugin" != no; then
|
||||
AC_CONFIG_HEADERS(gcc-plugin/config.h)
|
||||
fi
|
||||
if test "$with_docs" != no; then
|
||||
18
dev-util/annobin/metadata.xml
Normal file
18
dev-util/annobin/metadata.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<description>co-maintainers welcome</description>
|
||||
<email>lssndrbarbieri@gmail.com</email>
|
||||
<name>Alessandro Barbieri</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
A plugin for GCC that records extra information in the files that it compiles.
|
||||
This information can be used to analyze the files, and provide the loader
|
||||
with extra information about the requirements of the loaded file.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="clang">Build the clang plugin</flag>
|
||||
<flag name="llvm">Build the LLVM plugin</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user