#
# radare2 spec file
#

# GUTHUB INFO ABOUT USER
%global gituser     radare
%global gitname     radare2

# PREAMBLE
# SHORT DESCRIPTION
summary: A reverse engineering framework.
# NAME OF THE PACKAGE
name: radare2
# VERSION OF THE SOFTWARE BEING PACKAGED
version: 2.6.0
release: alt1
# SOFTWARE LICENSE INFORMATION
license: LGPLv3
# GROUP
group: Development/Tools
# URL
url: http://radare.org/
# SOURCE
source: https://github.com/%{gituser}/%{gitname}/archive/%{version}.tar.gz
# PACKAGER
packager: Nikita Ermakov <arei@altlinux.org>

# PATCHES
patch0: fix_libr_install.patch
patch1: fix_libr_ldflags.patch

buildrequires: pkgconfig sed make git-core libnss-mdns python3-module-yieldfrom java-devel jna python-devel capstone-devel

# ./shlr/zip/zlib/README
provides: bundled(zlib)

# ./libr/magic/README
provides: bundled(magic)

# ./shlr/capstone.sh
# capstone-devel package is used

# ./shlr/sdb/README.md
provides: bundled(sdb)

# ./shlr/sdb/src/json/README
provides: bundled(js0n)

# libr/util/regex/README
provides: bundled(openbsdregex)

# ./shlr/tcc/README.md
provides: bundled(tcc)

# ./shlr/lz4/README.md
provides: bundled(lz4)

# ./libr/asm/arch/tricore/README.md
# ./libr/asm/arch/ppc/gnu/
# ./libr/asm/arch/arm/gnu/
provides: bundled(binutils) = 2.13

# ./libr/asm/arch/avr/README
provides: bundled(vavrdisasm) = 1.6

%description
A reverse engineering framework and command line tools.

# DEVEL VERSION
%package devel
summary: Development files for radare2.
license: LGPLv3
group:   Development/Tools
requires: %{name} = %{version}
%description devel
Development files for radare2 package.

# PREPARATION
%prep
%setup -n %{name}-%{version}
%patch0 -p1
%patch1 -p1

# BUILD
%build
%configure --with-syscapstone
# fix libr Makefile
LIBCAPSTONE_A=$(pkg-config --variable=libdir capstone)
sed -i -- "s|\.\./shlr/capstone/libcapstone.\${\(EXT_AR[^}]*\)}|${LIBCAPSTONE_A}/libcapstone.a|g" libr/Makefile
LDFLAGS="-lutil -ldl -lpthread -lm" CFLAGS="%{optflags} -fPIC -I../include" make %{?_smp_mflags} LIBDIR=%{_libdir} PREFIX=%{_prefix} DATADIR=%{_datadir}

# INSTALL
%install
NOSUDO=1 make install DESTDIR=%{buildroot} LIBDIR=%{_libdir} PREFIX=%{_prefix}
cp shlr/sdb/src/libsdb.a %{buildroot}/%{_libdir}/libsdb.a
cp -r shlr/heap/include/r_jemalloc %{buildroot}/%{_includedir}/

# FILES FOR DEVELOPMENT VERSION
%files devel
%{_libdir}/libr*.a
%{_libdir}/libsdb.a
%{_libdir}/pkgconfig/*.pc
%dir %{_includedir}/libr
%dir %{_includedir}/r_jemalloc
%{_includedir}/libr/*
%{_includedir}/r_jemalloc/*

# FILES
%files
%doc AUTHORS.md DEVELOPERS.md COPYING COPYING.LESSER CONTRIBUTING.md README.md
%{_docdir}/%{name}
%{_bindir}/*
%{_libdir}/libr*.so*
%dir %{_datadir}/%{name}
%{_datadir}/%{name}/last
%dir %{_datadir}/%{name}/%{version}
%{_datadir}/%{name}/%{version}/*
%{_mandir}/man1/*
%{_mandir}/man7/*
%{_libdir}/%{name}/*

# CHANGE LOG
%changelog
* Fri Jun 29 2018 Nikita Ermakov <arei@altlinux.org> %{version}-%{release}
- Initial build for ALT Linux Sisyphus
