Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev-util/radare2: verbump to 5.5.4 #23184

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 4 additions & 0 deletions dev-util/radare2/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
DIST radare2-4.5.1.tar.gz 8266567 BLAKE2B 0d23c1d47dd79ffd9398ca7b2c8b383ba6a7e3ec662046d1111ab34cabcdaaf1fdd449686433b3229e3c22c31c705530b0a85bbd22b5fc79891a5ad292ba0ff1 SHA512 f08a4cd1e0d65643463d9f9dbb1aacfe793c7b411ec820a18b75a5975d265cfc2cf91e593522c8823aa369098ded21415939acb07c84d8acd102889bf5aed899
DIST radare2-5.3.1.tar.gz 8500461 BLAKE2B 8b29e81c90f477e313f5d14dea707f3e8d47c9abbe1f9ca2c7caef98a85b38a5b5e37a31063be289c55fda041e10b8403895f863dd602091ab5307213605260d SHA512 34c96c7c863fb8a59f1d03539375d5b8f31f6021dc84ce943daa163d8a0227bf3156963cc187c366790abec4381da6aa987248e76570a498cfcdeb982cb2ffc0
DIST radare2-5.5.4-vector35-arm64.tar.gz 1021299 BLAKE2B 389bdc43e90ba71961e5d8afca495bd63b25d4c0dc9513c5e9cc0770f091199197dc1e4b8a9d4c57206acfd892a6b4ff9ba8b0f925e493f540956c64edfcd809 SHA512 7762cee60acc7605c2c127acab646c5c58c5736e6801058eec69c2da52901d0ecab85b0496d798be6403bedf27ffd4fe4e3a8d47c8802af1fe3805a4ac32ae26
DIST radare2-5.5.4-vector35-armv7.tar.gz 255288 BLAKE2B ca96b3f68381a0987c4efa10dcb798194486019762e89d1eb19a3fd24f6983535eea792099c60e4c1a9d2bdb5baab119fe2e9a7a889fad5a14023e5f984959b8 SHA512 e9eb6cee02bbbb265914b1f9118c7a143ed76a201c085af5516855475bf7f3ad5f9c82d1548e85a0339fbc33e029ef0e4be9d8cef68d212ae16ce1a7f18453ff
DIST radare2-5.5.4.tar.gz 9610424 BLAKE2B 4e113d854a55597270663f9c18f1d71da21fa8e539a997773f30178e93de54d397f56103813ec2c60cfabdf2d811151ad7285fc479e1ee681687831030e18da2 SHA512 b64268a8fcfbd89455b991557c82bb24d5f42471f4424cd971c1143ff604720fb4c00216a7054d72df6bbbdace1b814a6c3538708926c229dd2f8476b7d325da
DIST radare2-testbins-a6d1a0331605b4a5db9aa9260386c850d484dc70.tar.gz 118148516 BLAKE2B 9b1a1861b4aea7db1cc364d16577a2b7afe082b0838178d307ed24704710edfa572533bab9b194d38c1b294e5a4fb522d1a93e92a1c577ca6622a16d94209bd5 SHA512 8888fab0d2295e92c4bd0ab4c2ba646951e41cc4c1f9915d501a27fbff21e82d5340d1a9255d998dcf0e209a57bb35fc714adcb31ed7adb58aa412f6202e69c6
22 changes: 22 additions & 0 deletions dev-util/radare2/files/radare2-5.5.0-vector35.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
--- a/libr/asm/arch/arm/v35arm64/Makefile
+++ b/libr/asm/arch/arm/v35arm64/Makefile
@@ -30,8 +30,7 @@ $(ALIBS): arch-arm64 arch-armv7

## ARM64
arch-arm64:
- git clone -q https://github.com/radareorg/vector35-arch-arm64 arch-arm64
- cd arch-arm64 && git checkout -q radare2 > /dev/null && git reset --hard $(ARCH_ARM64_COMMIT)
+ cd arch-arm64

$(V35ARM64_HOME)/arm64dis.a arm64dis.a: $(ALIBS)
rm -f arm64dis.$(EXT_AR)
@@ -40,8 +39,7 @@ $(V35ARM64_HOME)/arm64dis.a arm64dis.a: $(ALIBS)

## ARMV7
arch-armv7:
- git clone -q https://github.com/radareorg/vector35-arch-armv7 arch-armv7
- cd arch-armv7 && git checkout -q radare2 > /dev/null && git reset --hard $(ARCH_ARMV7_COMMIT)
+ cd arch-armv7

$(V35ARMV7_HOME)/armv7dis.a armv7dis.a: $(ALIBS)
rm -f armv7dis.$(EXT_AR)
106 changes: 106 additions & 0 deletions dev-util/radare2/radare2-5.5.4.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

inherit bash-completion-r1 toolchain-funcs

DESCRIPTION="unix-like reverse engineering framework and commandline tools"
HOMEPAGE="http://www.radare.org"

ARM64_COMMIT=3c5eaba46dab72ecb7d5f5b865a13fdeee95b464
ARMV7_COMMIT=dde39f69ffea19fc37e681874b12cb4707bc4f30
BINS_COMMIT=a6d1a0331605b4a5db9aa9260386c850d484dc70

if [[ ${PV} == *9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/radareorg/radare2"
else
SRC_URI="https://github.com/radareorg/radare2/archive/${PV}.tar.gz -> ${P}.tar.gz
https://github.com/radareorg/vector35-arch-arm64/archive/${ARM64_COMMIT}.tar.gz -> ${P}-vector35-arm64.tar.gz
https://github.com/radareorg/vector35-arch-armv7/archive/${ARMV7_COMMIT}.tar.gz -> ${P}-vector35-armv7.tar.gz
test? ( https://github.com/radareorg/radare2-testbins/archive/${BINS_COMMIT}.tar.gz -> radare2-testbins-${BINS_COMMIT}.tar.gz )
"

KEYWORDS="~amd64 ~arm ~arm64 ~x86"
fi

LICENSE="GPL-2"
SLOT="0"
IUSE="ssl test"

# Need to audit licenses of the binaries used for testing
RESTRICT="test"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you able to get tests working locally? This situation is obviously not ideal, but ensuring tests work for at least yourself would be great.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, kind of, it works if I first emerge emerge radare2 and then I execute the tests. I don't know if it's possible to do an src_install before src_test is executed so all needed libs and binaries and in the correct paths, changing the path to include all stuff seems very ugly.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know if it's possible to do an src_install before src_test is executed so all needed libs and binaries and in the correct paths, changing the path to include all stuff seems very ugly.

Yes, you can use the "${BUILD_DIR}" most likely for that. It's somewhat commonly used, the python eclasses even has built-in helpers for that.


RDEPEND="
dev-libs/libzip:=
dev-libs/xxhash
sys-apps/file
sys-libs/zlib
dev-libs/capstone:0=
ssl? ( dev-libs/openssl:0= )
"
DEPEND="
${RDEPEND}
dev-util/gperf
"
BDEPEND="virtual/pkgconfig"

PATCHES=( "${FILESDIR}/${PN}-5.5.0-vector35.patch" )

src_prepare() {
default

# Hack for vector35 arm plugins
mv "${WORKDIR}/vector35-arch-arm64-${ARM64_COMMIT}" libr/asm/arch/arm/v35arm64/arch-arm64 || die
mv "${WORKDIR}/vector35-arch-armv7-${ARMV7_COMMIT}" libr/asm/arch/arm/v35arm64/arch-armv7 || die

if use test; then
cp -r "${WORKDIR}/radare2-testbins-${BINS_COMMIT}" "${S}/test/bins" || die
cp -r "${WORKDIR}/radare2-testbins-${BINS_COMMIT}" "${S}" || die
fi

# Fix hardcoded docdir for fortunes
sed -i -e "/^#define R2_FORTUNES/s/radare2/$PF/" \
libr/include/r_userconf.h.acr
}

src_configure() {
# Ideally these should be set by ./configure
tc-export CC AR LD OBJCOPY RANLIB
export HOST_CC=${CC}

econf \
--without-libuv \
--with-syscapstone \
--with-sysmagic \
--with-sysxxhash \
--with-syszip \
$(use_with ssl openssl)
}

src_install() {
default

insinto /usr/share/zsh/site-functions
doins doc/zsh/_*

newbashcomp doc/bash_autocompletion.sh "${PN}"
bashcomp_alias "${PN}" rafind2 r2 rabin2 rasm2 radiff2

# a workaround for unstable $(INSTALL) call, bug #574866
local d
for d in doc/*; do
if [[ -d ${d} ]]; then
rm -rfv "${d}" || die "failed to delete '${d}'"
fi
done

# These are not really docs. radare assumes
# uncompressed files: bug #761250
docompress -x /usr/share/doc/${PF}/fortunes.{creepy,fun,nsfw,tips}
}

src_test() {
emake -C test -k unit_tests || die
}