Name: rizin Summary: UNIX-like reverse engineering framework and command-line tool-set Version: 0.4.1 URL: https://rizin.re/ VCS: https://github.com/rizinorg/rizin %global gituser rizinorg %global gitname rizin %global rel 1 %global shortversion %(c=%{version}; echo ${c} | cut -d'.' -f-2) Release: %{rel}%{?dist}.1 Source0: https://github.com/%{gituser}/%{gitname}/releases/download/v%{version}/%{name}-src-v%{version}.tar.xz License: LGPLv3+ and GPLv2+ and BSD and MIT and ASL 2.0 and MPLv2.0 and zlib BuildRequires: gcc BuildRequires: meson BuildRequires: ninja-build BuildRequires: pkgconfig BuildRequires: python3-pyyaml 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}* %{_libdir}/librz_*.so.%{shortversion} %{_mandir}/man1/rizin.1.* %{_mandir}/man1/rz*.1.* %{_mandir}/man7/rz-esil.7.* %files devel %{_includedir}/librz %{_libdir}/librz*.so %{_libdir}/pkgconfig/*.pc %{_libdir}/cmake/**/*.cmake %dir %{_libdir}/cmake %dir %{_libdir}/cmake/** %files common %{_datadir}/%{name}/asm %{_datadir}/%{name}/cons %{_datadir}/%{name}/flag %{_datadir}/%{name}/format %{_datadir}/%{name}/fortunes %{_datadir}/%{name}/hud %{_datadir}/%{name}/magic %{_datadir}/%{name}/opcodes %{_datadir}/%{name}/reg %{_datadir}/%{name}/syscall %{_datadir}/%{name}/types %dir %{_datadir}/%{name} %changelog * Sat Sep 10 2022 Richard Hughes - 0.4.1-1 - Rebase to upstream version 0.4.1 - Fixed CVE-2022-36039 - Fixed CVE-2022-36040 - Fixed CVE-2022-36041 - Fixed CVE-2022-36042 - Fixed CVE-2022-36043 - Fixed CVE-2022-36044 * Sat Jul 23 2022 Fedora Release Engineering - 0.4.0-2.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jun 28 2022 Riccardo Schirone - 0.4.0-2 - Increase release number to put in the side-tag * Mon Jun 27 2022 Riccardo Schirone - 0.4.0-1 - Rebase to upstream version 0.4.0 * Fri Jan 21 2022 Fedora Release Engineering - 0.3.4-1.1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Jan 11 2022 Riccardo Schirone - 0.3.4-1 - Rebase to upstream version 0.3.4 * Mon Jan 3 2022 Riccardo Schirone - 0.3.2-1 - Rebase to upstream version 0.3.2 * 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