Name: rizin Summary: UNIX-like reverse engineering framework and command-line tool-set Version: 0.3.1 URL: https://rizin.re/ VCS: https://github.com/rizinorg/rizin %global gituser rizinorg %global gitname rizin %global rel 1 Release: %{rel}%{?dist} Source0: https://github.com/%{gituser}/%{gitname}/releases/download/v%{version}/%{name}-src-v%{version}.tar.xz License: Apache-2.0, BSD-2-Clause, BSD-3-Clause, CC-BY-SA-4.0, CC0-1.0, GPL-1.0-or-later, GPL-2.0-only, GPL-2.0-or-later, GPL-3.0-or-later, LGPL-2.0-or-later, LGPL-2.1-only, LGPL-2.1-or-later, LGPL-3.0-only, MIT, MS-PL, NCSA, RSA-MD BuildRequires: gcc BuildRequires: meson BuildRequires: ninja-build BuildRequires: pkgconfig BuildRequires: pkgconfig(libmagic) BuildRequires: pkgconfig(libxxhash) BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(libzip) BuildRequires: pkgconfig(zlib) BuildRequires: pkgconfig(liblz4) BuildRequires: pkgconfig(capstone) >= 3.0.4 BuildRequires: pkgconfig(libuv) BuildRequires: pkgconfig(openssl) Requires: %{name}-common = %{version}-%{release} # Package contains several bundled libraries that are used in Fedora builds # ./shlr/spp/README.md # SPP stands for Simple Pre-Processor, a templating language. # https://github.com/rizinorg/spp Provides: bundled(spp) = 1.2.0 # ./shlr/sdb/README.md # sdb is a simple string key/value database based on djb's cdb # https://github.com/rizinorg/sdb Provides: bundled(sdb) = db7edd4a96a89b6749b677a85d7fa4ee2c6fbbb9 # ./shlr/sdb/src/json/README # https://github.com/quartzjer/js0n # JSON support for sdb Provides: bundled(js0n) # librz/util/regex/README # Modified OpenBSD regex to be portable # cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src/lib/libc/regex # version from 2010/11/21 00:02:30, version of files ranges from v1.11 to v1.20 Provides: bundled(openbsdregex) = 1.11 # ./librz/asm/arch/tricore/README.md # Based on code from https://www.hightec-rt.com/en/downloads/sources/14-sources-for-tricore-v3-3-7-9-binutils-1.html # part of binutils to read machine code for Tricore architecture # ./librz/asm/arch/ppc/gnu/ # part of binutils to read machine code for ppc architecture # ./librz/asm/arch/arm/gnu/ Provides: bundled(binutils) = 2.13 # ./librz/asm/arch/avr/README # * This code has been ripped from vavrdisasm 1.6 Provides: bundled(vavrdisasm) = 1.6 %description Rizin is a free and open-source Reverse Engineering framework, providing a complete binary analysis experience with features like Disassembler, Hexadecimal editor, Emulation, Binary inspection, Debugger, and more. Rizin is a fork of radare2 with a focus on usability, working features and code cleanliness. %package devel Summary: Development files for the rizin package Requires: %{name}%{?_isa} = %{version}-%{release} Requires: file-devel Requires: openssl-devel %description devel Development files for the rizin package. See rizin package for more information. %package common Summary: Arch-independent SDB files for the rizin package BuildArch: noarch Requires: %{name} = %{version}-%{release} %description common Arch-independent SDB files used by rizin package. See rizin package for more information %prep # Build from git release version %setup -n %{gitname}-v%{version} %build # Whereever possible use the system-wide libraries instead of bundles %meson \ -Duse_sys_magic=enabled \ -Duse_sys_libzip=enabled \ -Duse_sys_zlib=enabled \ -Duse_sys_lz4=enabled \ -Duse_sys_xxhash=enabled \ -Duse_sys_openssl=enabled \ -Duse_sys_libuv=enabled \ -Duse_sys_capstone=enabled \ %ifarch s390x -Ddebugger=false \ %endif -Denable_tests=false \ -Denable_rz_test=false \ -Dlocal=disabled \ -Dpackager="Fedora" \ -Dpackager_version="%{version}-%{release}" %meson_build %install %meson_install %ldconfig_scriptlets %check # Do not run the unit testsuite yet - it pulls another big repository # https://github.com/rizinorg/rizin-testbins from github %files %doc CONTRIBUTING.md DEVELOPERS.md README.md SECURITY.md BUILDING.md %license COPYING COPYING.LESSER %{_bindir}/r* %{_libdir}/librz_*.so.%{version}* %{_mandir}/man1/rizin.1.* %{_mandir}/man1/rz*.1.* %{_mandir}/man7/rz-esil.7.* %files devel %{_includedir}/librz %{_libdir}/librz*.so %{_libdir}/pkgconfig/*.pc %files common %{_datadir}/%{name}/%{version}/asm %{_datadir}/%{name}/%{version}/cons %{_datadir}/%{name}/%{version}/flag %{_datadir}/%{name}/%{version}/format %{_datadir}/%{name}/%{version}/fortunes %{_datadir}/%{name}/%{version}/hud %{_datadir}/%{name}/%{version}/magic %{_datadir}/%{name}/%{version}/opcodes %{_datadir}/%{name}/%{version}/reg %{_datadir}/%{name}/%{version}/syscall %{_datadir}/%{name}/%{version}/types %dir %{_datadir}/%{name} %dir %{_datadir}/doc/%{name} %dir %{_datadir}/%{name}/%{version} %changelog * Mon Nov 29 2021 Riccardo Schirone - 0.3.1-1 - Rebase to upstream version 0.3.1 * Mon Sep 27 2021 Riccardo Schirone - 0.3.0-1 - Rebase to upstream version 0.3.0 * Tue Sep 14 2021 Sahana Prasad - 0.2.0-2.2 - Rebuilt with OpenSSL 3.0.0 * Fri Jul 23 2021 Fedora Release Engineering - 0.2.0-2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Tue Apr 20 2021 Riccardo Schirone - 0.2.0-2 - Apply patch to avoid symbols collision * Mon Apr 12 2021 Riccardo Schirone - 0.2.0-1 - Rebase to upstream version 0.2.0 * Tue Mar 30 2021 Riccardo Schirone - 0.1.2-1 - Initial SPEC file