mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-17 19:13:13 -04:00
dev-libs/dyninst: rename sys-cluster/dyninst
Signed-off-by: Alessandro Barbieri <lssndrbarbieri@gmail.com>
This commit is contained in:
2
dev-libs/dyninst/Manifest
Normal file
2
dev-libs/dyninst/Manifest
Normal file
@@ -0,0 +1,2 @@
|
||||
DIST dyninst-11.0.1.tar.gz 9059074 BLAKE2B 5ef230d8c5c3253aa54c01387fbb8c6f1d57ea43cb7779e3761306c916cbcd00999ee48cb6d76daba3af45dca6388dcc4c71b527f176039a32130c1ef8f6d074 SHA512 9c439be0252edae0ed3fcfa05b38595b614a91b6627afa85db126df32d5c5de5dc9413a70caf52bee7ac2349d24947626f6370f0dbf19413916c39e01679444f
|
||||
DIST dyninst-12.1.0.tar.gz 8572639 BLAKE2B 74c835a3c6c6cc9a90d416fff0ea3b4039a55941cb3a7fd63cebd19420a690d6b4fd3d574b728cc9cac53034a6075ffe2a6e9885a7aa87e2d9d0fd798f5e9a29 SHA512 ec09b83f288afefd6a30a3253c91554d421305a43c2f2384435207dcabf523d5498d64873f876817c3108c3fc0a43fd4c48ce2c1ca873c73fb98a2d823446549
|
||||
62
dev-libs/dyninst/dyninst-11.0.1-r1.ebuild
Normal file
62
dev-libs/dyninst/dyninst-11.0.1-r1.ebuild
Normal file
@@ -0,0 +1,62 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="Tools for binary instrumentation, analysis, and modification"
|
||||
HOMEPAGE="
|
||||
https://dyninst.org/dyninst
|
||||
https://github.com/dyninst/dyninst
|
||||
"
|
||||
SRC_URI="https://github.com/dyninst/dyninst/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="doc openmp valgrind"
|
||||
|
||||
RDEPEND="
|
||||
<dev-cpp/tbb-2021
|
||||
dev-libs/boost:=
|
||||
virtual/libelf
|
||||
virtual/mpi
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="doc? ( dev-texlive/texlive-latex )"
|
||||
|
||||
PATCHES=( "${FILESDIR}/${P}-remove-executable-flag-from-dyninst_heap-section.patch" )
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DENABLE_STATIC_LIBS=NO
|
||||
-DSTERILE_BUILD=YES
|
||||
|
||||
-DADD_VALGRIND_ANNOTATIONS=$(usex valgrind)
|
||||
-DBUILD_DOCS=$(usex doc)
|
||||
-DUSE_OpenMP=$(usex openmp)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
einstalldocs
|
||||
if use doc; then
|
||||
mv "${ED}"/usr/share/doc/*.pdf "${ED}/usr/share/doc/${PF}" || die
|
||||
fi
|
||||
|
||||
if [[ ! -e "${ED}/usr/$(get_libdir)" ]]; then
|
||||
mv "${ED}/usr/lib" "${ED}/usr/$(get_libdir)" || die
|
||||
fi
|
||||
|
||||
mkdir -p "${ED}/usr/include/dyninst" || die
|
||||
mv "${ED}"/usr/include/*.h* "${ED}/usr/include/dyninst" || die
|
||||
|
||||
find "${ED}" -name '*.a' -delete || die
|
||||
}
|
||||
60
dev-libs/dyninst/dyninst-12.1.0.ebuild
Normal file
60
dev-libs/dyninst/dyninst-12.1.0.ebuild
Normal file
@@ -0,0 +1,60 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
CMAKE_MAKEFILE_GENERATOR="emake"
|
||||
|
||||
inherit cmake
|
||||
|
||||
DESCRIPTION="Tools for binary instrumentation, analysis, and modification"
|
||||
HOMEPAGE="
|
||||
https://dyninst.org/dyninst
|
||||
https://github.com/dyninst/dyninst
|
||||
"
|
||||
SRC_URI="https://github.com/dyninst/dyninst/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="doc openmp valgrind"
|
||||
|
||||
RDEPEND="
|
||||
<dev-cpp/tbb-2021
|
||||
dev-libs/boost:=
|
||||
virtual/libelf
|
||||
virtual/mpi
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="doc? ( dev-texlive/texlive-latex )"
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DENABLE_STATIC_LIBS=NO
|
||||
-DSTERILE_BUILD=ON
|
||||
|
||||
-DADD_VALGRIND_ANNOTATIONS=$(usex valgrind)
|
||||
-DBUILD_DOCS=$(usex doc)
|
||||
-DUSE_OpenMP=$(usex openmp)
|
||||
)
|
||||
cmake_src_configure
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cmake_src_install
|
||||
|
||||
einstalldocs
|
||||
if use doc; then
|
||||
mv "${ED}"/usr/share/doc/*.pdf "${ED}/usr/share/doc/${PF}" || die
|
||||
fi
|
||||
|
||||
if [[ ! -e "${ED}/usr/$(get_libdir)" ]]; then
|
||||
mv "${ED}/usr/lib" "${ED}/usr/$(get_libdir)" || die
|
||||
fi
|
||||
|
||||
mkdir -p "${ED}/usr/include/dyninst" || die
|
||||
mv "${ED}"/usr/include/*.h* "${ED}/usr/include/dyninst" || die
|
||||
|
||||
find "${ED}" -name '*.a' -delete || die
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
From f27f96cee0b73f770cf69cb98a5744f769014ee5 Mon Sep 17 00:00:00 2001
|
||||
From: "James A. Kupsch" <kupsch@cs.wisc.edu>
|
||||
Date: Mon, 30 Aug 2021 10:18:17 -0500
|
||||
Subject: [PATCH] remove executable flag from .dyninst_heap section
|
||||
|
||||
This prevents the library/object with this code from having a segment violates
|
||||
the W^X security property for segments as the current setting resulted in
|
||||
segment with both the WRITE and EXECUTE flags set. The function
|
||||
mark_heaps_exec() restores execute protection to just the heap arrays.
|
||||
--- a/dyninstAPI_RT/src/RTspace.S
|
||||
+++ b/dyninstAPI_RT/src/RTspace.S
|
||||
@@ -8,7 +8,7 @@
|
||||
.type DYNINSTstaticHeap_16M_anyHeap_1, @object
|
||||
.size DYNINSTstaticHeap_16M_anyHeap_1, 16777216
|
||||
|
||||
-.section .dyninst_heap,"awx",@nobits
|
||||
+.section .dyninst_heap,"aw",@nobits
|
||||
.align 16
|
||||
DYNINSTstaticHeap_512K_lowmemHeap_1:
|
||||
.skip 524288
|
||||
16
dev-libs/dyninst/metadata.xml
Normal file
16
dev-libs/dyninst/metadata.xml
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>lssndrbarbieri@gmail.com</email>
|
||||
<name>Alessandro Barbieri</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">dyninst/dyninst</remote-id>
|
||||
</upstream>
|
||||
<use>
|
||||
<flag name="openmp">Enable parallel code parsing</flag>
|
||||
<!--<flag name="rtlib">Build the RT library as a separate project so we can change compilers</flag>-->
|
||||
<flag name="valgrind">Enable annotations for Valgrind analysis</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
Reference in New Issue
Block a user