Riccardo Schirone 8ee4cd7
Name:           rizin
Riccardo Schirone 8ee4cd7
Summary:        UNIX-like reverse engineering framework and command-line tool-set
Riccardo Schirone 947d2a5
Version:        0.6.1
Riccardo Schirone 8ee4cd7
URL:            https://rizin.re/
Riccardo Schirone 8ee4cd7
VCS:            https://github.com/rizinorg/rizin
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%global         gituser         rizinorg
Riccardo Schirone 8ee4cd7
%global         gitname         rizin
Riccardo Schirone d8937e9
%global         baserelease     1
2f9b0d6
%global         shortversion    %(c=%{version}; echo ${c} | cut -d'.' -f-2)
Riccardo Schirone 8ee4cd7
17f3f57
Release:        %{baserelease}%{?dist}
Riccardo Schirone 4617338
Source0:        https://github.com/%{gituser}/%{gitname}/releases/download/v%{version}/%{name}-src-v%{version}.tar.xz
Riccardo Schirone 8ee4cd7
Riccardo Schirone 7016aa8
License:        LGPLv3+ and GPLv2+ and BSD and MIT and ASL 2.0 and MPLv2.0 and zlib
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
BuildRequires:  gcc
Riccardo Schirone 8ee4cd7
BuildRequires:  meson
Riccardo Schirone 8ee4cd7
BuildRequires:  ninja-build
Riccardo Schirone 8ee4cd7
BuildRequires:  pkgconfig
Richard Hughes 574cb83
BuildRequires:  python3-pyyaml
Riccardo Schirone 8ee4cd7
8e10139
%if 0%{?rhel}
8e10139
# rhel8 file-devel package stil doesn't provide pkgconfig 
8e10139
BuildRequires:  file-devel
8e10139
%else
Riccardo Schirone bf4b91a
BuildRequires:  pkgconfig(libmagic)
8e10139
%endif
Riccardo Schirone bf4b91a
BuildRequires:  pkgconfig(libxxhash)
Riccardo Schirone 8ee4cd7
BuildRequires:  pkgconfig(bzip2)
Riccardo Schirone 8ee4cd7
BuildRequires:  pkgconfig(libzip)
Riccardo Schirone 8ee4cd7
BuildRequires:  pkgconfig(zlib)
Riccardo Schirone 8ee4cd7
BuildRequires:  pkgconfig(liblz4)
Riccardo Schirone 8ee4cd7
BuildRequires:  pkgconfig(capstone) >= 3.0.4
Riccardo Schirone 8ee4cd7
BuildRequires:  pkgconfig(openssl)
4941a87
BuildRequires:  pkgconfig(tree-sitter)
4941a87
BuildRequires:  pkgconfig(liblzma)
4941a87
BuildRequires:  pkgconfig(libmspack)
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Requires:       %{name}-common = %{version}-%{release}
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
# Package contains several bundled libraries that are used in Fedora builds
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
# ./shlr/spp/README.md
Riccardo Schirone 8ee4cd7
# SPP stands for Simple Pre-Processor, a templating language.
Riccardo Schirone 8ee4cd7
# https://github.com/rizinorg/spp
Riccardo Schirone 8ee4cd7
Provides:       bundled(spp) = 1.2.0
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
# ./shlr/sdb/README.md
Riccardo Schirone 8ee4cd7
# sdb is a simple string key/value database based on djb's cdb
Riccardo Schirone 8ee4cd7
# https://github.com/rizinorg/sdb
Riccardo Schirone bf4b91a
Provides:       bundled(sdb) = db7edd4a96a89b6749b677a85d7fa4ee2c6fbbb9
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
# librz/util/regex/README
Riccardo Schirone 8ee4cd7
# Modified OpenBSD regex to be portable
Riccardo Schirone 8ee4cd7
# cvs -qd anoncvs@anoncvs.ca.openbsd.org:/cvs get -P src/lib/libc/regex
Riccardo Schirone 8ee4cd7
# version from 2010/11/21 00:02:30, version of files ranges from v1.11 to v1.20
Riccardo Schirone 8ee4cd7
Provides:       bundled(openbsdregex) = 1.11
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
# ./librz/asm/arch/tricore/README.md
Riccardo Schirone 8ee4cd7
# Based on code from https://www.hightec-rt.com/en/downloads/sources/14-sources-for-tricore-v3-3-7-9-binutils-1.html
Riccardo Schirone 8ee4cd7
# part of binutils to read machine code for Tricore architecture
Riccardo Schirone 8ee4cd7
# ./librz/asm/arch/ppc/gnu/
Riccardo Schirone 8ee4cd7
# part of binutils to read machine code for ppc architecture
Riccardo Schirone 8ee4cd7
# ./librz/asm/arch/arm/gnu/
Riccardo Schirone 8ee4cd7
Provides:       bundled(binutils) = 2.13
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
# ./librz/asm/arch/avr/README
Riccardo Schirone 8ee4cd7
# * This code has been ripped from vavrdisasm 1.6
Riccardo Schirone 8ee4cd7
Provides:       bundled(vavrdisasm) = 1.6
Riccardo Schirone 8ee4cd7
4941a87
# rizin-v0.5.0/subprojects/blake3
4941a87
# url = https://github.com/BLAKE3-team/BLAKE3.git
4941a87
# revision = f84636e59ce575e5dd127399e0c7de0c1ea595da
4941a87
Provides:       bundled(blake3) = 1.3.1
4941a87
4941a87
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%description
Riccardo Schirone 8ee4cd7
Rizin is a free and open-source Reverse Engineering framework, providing a
Riccardo Schirone 8ee4cd7
complete binary analysis experience with features like Disassembler,
Riccardo Schirone 8ee4cd7
Hexadecimal editor, Emulation, Binary inspection, Debugger, and more.
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Rizin is a fork of radare2 with a focus on usability, working features and code
Riccardo Schirone 8ee4cd7
cleanliness.
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%package devel
Riccardo Schirone 8ee4cd7
Summary:        Development files for the rizin package
Riccardo Schirone 8ee4cd7
Requires:       %{name}%{?_isa} = %{version}-%{release}
Riccardo Schirone 8ee4cd7
Requires:       file-devel
Riccardo Schirone 8ee4cd7
Requires:       openssl-devel
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%description devel
Riccardo Schirone 8ee4cd7
Development files for the rizin package. See rizin package for more
Riccardo Schirone 8ee4cd7
information.
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%package common
Riccardo Schirone 8ee4cd7
Summary:        Arch-independent SDB files for the rizin package
Riccardo Schirone 8ee4cd7
BuildArch:      noarch
Riccardo Schirone 8ee4cd7
Requires:       %{name} = %{version}-%{release}
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%description common
Riccardo Schirone 8ee4cd7
Arch-independent SDB files used by rizin package. See rizin package for more
Riccardo Schirone 8ee4cd7
information
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%prep
Riccardo Schirone 8ee4cd7
# Build from git release version
4941a87
%autosetup -n %{gitname}-v%{version}
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%build
Riccardo Schirone 8ee4cd7
# Whereever possible use the system-wide libraries instead of bundles
Riccardo Schirone 8ee4cd7
%meson \
Riccardo Schirone 4617338
    -Duse_sys_magic=enabled \
Riccardo Schirone 4617338
    -Duse_sys_libzip=enabled \
Riccardo Schirone 4617338
    -Duse_sys_zlib=enabled \
Riccardo Schirone 4617338
    -Duse_sys_lz4=enabled \
Riccardo Schirone 4617338
    -Duse_sys_xxhash=enabled \
Riccardo Schirone 4617338
    -Duse_sys_openssl=enabled \
Riccardo Schirone 4617338
    -Duse_sys_capstone=enabled \
4941a87
    -Duse_sys_tree_sitter=enabled \
4941a87
    -Duse_sys_lzma=enabled \
4941a87
    -Duse_sys_libmspack=enabled \
Riccardo Schirone 8ee4cd7
%ifarch s390x
Riccardo Schirone 8ee4cd7
    -Ddebugger=false \
Riccardo Schirone 8ee4cd7
%endif
Riccardo Schirone 8ee4cd7
    -Denable_tests=false \
Riccardo Schirone 8ee4cd7
    -Denable_rz_test=false \
Riccardo Schirone 4617338
    -Dlocal=disabled \
Riccardo Schirone 4617338
    -Dpackager="Fedora" \
Riccardo Schirone 4617338
    -Dpackager_version="%{version}-%{release}"
Riccardo Schirone 8ee4cd7
%meson_build
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%install
Riccardo Schirone 8ee4cd7
%meson_install
Riccardo Schirone 8ee4cd7
%ldconfig_scriptlets
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%check
Riccardo Schirone 8ee4cd7
# Do not run the unit testsuite yet - it pulls another big repository
Riccardo Schirone 8ee4cd7
# https://github.com/rizinorg/rizin-testbins from github
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%files
Riccardo Schirone 8ee4cd7
%doc CONTRIBUTING.md DEVELOPERS.md README.md SECURITY.md BUILDING.md
Riccardo Schirone 8ee4cd7
%license COPYING COPYING.LESSER
Riccardo Schirone 8ee4cd7
%{_bindir}/r*
Riccardo Schirone 8ee4cd7
%{_libdir}/librz_*.so.%{version}*
2f9b0d6
%{_libdir}/librz_*.so.%{shortversion}
Riccardo Schirone 8ee4cd7
%{_mandir}/man1/rizin.1.*
Riccardo Schirone 8ee4cd7
%{_mandir}/man1/rz*.1.*
Riccardo Schirone 8ee4cd7
%{_mandir}/man7/rz-esil.7.*
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%files devel
Riccardo Schirone 8ee4cd7
%{_includedir}/librz
Riccardo Schirone 8ee4cd7
%{_libdir}/librz*.so
Riccardo Schirone 8ee4cd7
%{_libdir}/pkgconfig/*.pc
6cfc4da
%{_libdir}/cmake/**/*.cmake
6cfc4da
%dir %{_libdir}/cmake
6cfc4da
%dir %{_libdir}/cmake/**
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%files common
6cfc4da
%{_datadir}/%{name}/asm
6cfc4da
%{_datadir}/%{name}/cons
6cfc4da
%{_datadir}/%{name}/flag
6cfc4da
%{_datadir}/%{name}/format
6cfc4da
%{_datadir}/%{name}/fortunes
6cfc4da
%{_datadir}/%{name}/hud
6cfc4da
%{_datadir}/%{name}/magic
6cfc4da
%{_datadir}/%{name}/opcodes
6cfc4da
%{_datadir}/%{name}/reg
6cfc4da
%{_datadir}/%{name}/syscall
6cfc4da
%{_datadir}/%{name}/types
Riccardo Schirone 8ee4cd7
%dir %{_datadir}/%{name}
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
Riccardo Schirone 8ee4cd7
%changelog
Riccardo Schirone d8937e9
* Mon Aug 21 2023 Riccardo Schirone <rschirone91@gmail.com> - 0.6.1-1
Riccardo Schirone d8937e9
- Rebase to upstream version 0.6.1
Riccardo Schirone d8937e9
98e41f2
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.2-3
98e41f2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
98e41f2
17f3f57
* Wed Jul 12 2023 Michal Ambroz <rebus _AT seznam.cz> - 0.5.2-2
17f3f57
- cosmetics, remove the excessive .2 in the release
17f3f57
- use baserelese (recognized by rpmdev-bumpspec used for massrebuilds)
17f3f57
- prepare to sync for the feature branches
9e8dc82
- fix dependencies for rhel
17f3f57
17f3f57
* Wed May 17 2023 Riccardo Schirone <rschirone91@gmail.com> - 0.5.2-1.2
944b77b
- Rebase to upstream version 0.5.2
944b77b
05181f9
* Tue Mar 14 2023 Riccardo Schirone <rschirone91@gmail.com> - 0.5.1-1
05181f9
- Rebase to upstream version 0.5.1
05181f9
4941a87
* Sun Feb 19 2023 Michal Ambroz <rebus _AT seznam.cz> - 0.5.0-1
4941a87
- Rebase to upstream version 0.5.0
4941a87
c8ab4c6
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-1.2
c8ab4c6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
c8ab4c6
Richard Hughes 58999a2
* Sat Sep 10 2022 Richard Hughes <richard@hughsie.com> - 0.4.1-1
Richard Hughes 58999a2
- Rebase to upstream version 0.4.1
Richard Hughes 58999a2
- Fixed CVE-2022-36039
Richard Hughes 58999a2
- Fixed CVE-2022-36040
Richard Hughes 58999a2
- Fixed CVE-2022-36041
Richard Hughes 58999a2
- Fixed CVE-2022-36042
Richard Hughes 58999a2
- Fixed CVE-2022-36043
Richard Hughes 58999a2
- Fixed CVE-2022-36044
Richard Hughes 58999a2
d20e761
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-2.1
d20e761
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
d20e761
54680bf
* Tue Jun 28 2022 Riccardo Schirone <rschirone91@gmail.com> - 0.4.0-2
54680bf
- Increase release number to put in the side-tag
54680bf
2f9b0d6
* Mon Jun 27 2022 Riccardo Schirone <rschirone91@gmail.com> - 0.4.0-1
2f9b0d6
- Rebase to upstream version 0.4.0
2f9b0d6
5e4db93
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-1.1
5e4db93
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
5e4db93
Riccardo Schirone 7016aa8
* Tue Jan 11 2022 Riccardo Schirone <rschirone91@gmail.com> - 0.3.4-1
Riccardo Schirone 7016aa8
- Rebase to upstream version 0.3.4
Riccardo Schirone 7016aa8
Riccardo Schirone 7016aa8
* Mon Jan 3 2022 Riccardo Schirone <rschirone91@gmail.com> - 0.3.2-1
Riccardo Schirone 7016aa8
- Rebase to upstream version 0.3.2
Riccardo Schirone 7016aa8
Riccardo Schirone bf4b91a
* Mon Nov 29 2021 Riccardo Schirone <rschirone91@gmail.com> - 0.3.1-1
Riccardo Schirone bf4b91a
- Rebase to upstream version 0.3.1
Riccardo Schirone bf4b91a
Riccardo Schirone b17b458
* Mon Sep 27 2021 Riccardo Schirone <rschirone91@gmail.com> - 0.3.0-1
Riccardo Schirone b17b458
- Rebase to upstream version 0.3.0
Riccardo Schirone b17b458
24c35be
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 0.2.0-2.2
24c35be
- Rebuilt with OpenSSL 3.0.0
24c35be
8b7d523
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.2.0-2.1
8b7d523
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
8b7d523
Riccardo Schirone 68815e1
* Tue Apr 20 2021 Riccardo Schirone <rschirone91@gmail.com> - 0.2.0-2
Riccardo Schirone 68815e1
- Apply patch to avoid symbols collision
Riccardo Schirone 68815e1
Riccardo Schirone 4617338
* Mon Apr 12 2021 Riccardo Schirone <rschirone91@gmail.com> - 0.2.0-1
Riccardo Schirone 4617338
- Rebase to upstream version 0.2.0
Riccardo Schirone 4617338
Riccardo Schirone 8ee4cd7
* Tue Mar 30 2021 Riccardo Schirone <rschirone91@gmail.com> - 0.1.2-1
Riccardo Schirone 8ee4cd7
- Initial SPEC file