## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 1;
    base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}"));
    print(release_number + base_release_number - 1);
}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}}
## END: Set by rpmautospec

Name:           unicorn
Version:        2.1.1
Release:        %autorelease
Summary:        Lightweight multi-platform, multi-architecture CPU emulator framework

# GPLv2:        Most of unicorn is licensed under the GPLv2, with exception
#               being the code which followed the project's fork of QEMU.
# LGPLv2:       Portions of code from QEMU
# MIT:          Portions of code from QEMU
# BSD:          Portions of code from QEMU
# Automatically converted from old format: GPLv2 and LGPLv2+ and MIT and BSD - review is highly recommended.
License:        GPL-2.0-only AND LicenseRef-Callaway-LGPLv2+ AND LicenseRef-Callaway-MIT AND LicenseRef-Callaway-BSD
URL:            https://www.unicorn-engine.org/
Source0:        https://github.com/unicorn-engine/%{name}/archive/%{version}/%{name}-%{version}.tar.gz

BuildRequires:  cmake
BuildRequires:  gcc
BuildRequires:  python3-devel
BuildRequires:  python3-setuptools

# Much of Unicorn follows from QEMU, which the Unicorn project forked in
# 2015. Since then, the Unicorn team has applied a number of bugfixes to
# the forked QEMU code along with the modifications necessary for Unicorn.
# QEMU 2.2.1 formed the basis of this work. The Unicorn project documents
# the relationship between Unicorn and QEMU at
# http://www.unicorn-engine.org/docs/beyond_qemu.html.
Provides: bundled(qemu) = 2.2.1

# https://bugzilla.redhat.com/show_bug.cgi?id=2223039
# https://github.com/unicorn-engine/unicorn/issues/1840
ExcludeArch:    s390x

%description
Unicorn is a lightweight multi-platform, multi-architecture CPU emulator
framework.

%package devel
Summary:        Files needed to develop applications using unicorn
Requires:       %{name} = %{version}-%{release}

%description devel
This package provides the libraries, include files, and other resources
needed for developing applications using unicorn.

%package -n python3-unicorn
Summary:        %{summary}
Requires:       %{name} = %{version}-%{release}
Requires:       python3-setuptools
%{?python_provide:%python_provide python3-%{name}}

%description -n python3-unicorn
The unicorn-python3 package contains python3 bindings for unicorn.

%prep
%autosetup -n %{name}-%{version} -p1

%build
%cmake
%cmake_build

pushd bindings/python
%py3_build
popd

%install
%cmake_install

pushd bindings/python
%py3_install
popd

rm $RPM_BUILD_ROOT%{_libdir}/libunicorn.a

%check
%ctest

%files
%doc AUTHORS.TXT ChangeLog CREDITS.TXT README.md
%license COPYING
%{_libdir}/libunicorn.so.2

%files devel
%{_libdir}/libunicorn.so
%{_libdir}/pkgconfig/unicorn.pc
%{_includedir}/unicorn/

%files -n python3-unicorn
%{python3_sitelib}/%{name}-%{version}-py%{python3_version}.egg-info/
%{python3_sitelib}/%{name}/

%changelog
## START: Generated by rpmautospec
* Fri Sep 27 2024 Fabian Affolter <mail@fabian-affolter.ch> - 2.1.1-1
- Update to latest upstream release (closes rhbz#2315358)

* Thu Sep 26 2024 Fabian Affolter <mail@fabian-affolter.ch> - 2.1.0-1
- Update to latest upstream release (closes rhbz#2314072)

* Wed Sep 04 2024 Miroslav Suchý <msuchy@redhat.com> - 2.0.1.post1-8
- convert license to SPDX

* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1.post1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Fri Jun 07 2024 Python Maint <python-maint@redhat.com> - 2.0.1.post1-6
- Rebuilt for Python 3.13

* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1.post1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.1.post1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Fri Jul 14 2023 W. Michael Petullo <mike@flyn.org> - 2.0.1.post1-3
- Exclude s390x until build works again

* Fri Jul 14 2023 W. Michael Petullo <mike@flyn.org> - 2.0.1.post1-2
- Modify to use GitHub source, not PyPi source

* Fri Jul 14 2023 W. Michael Petullo <mike@flyn.org> - 2.0.1.post1-1
- Update to 2.0.1.post1

* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 2.0.1-3
- Rebuilt for Python 3.12

* Thu May 18 2023 W. Michael Petullo <mike@flyn.org> - 2.0.1-2
- Add cmake as build requirement

* Thu May 18 2023 W. Michael Petullo <mike@flyn.org> - 2.0.1-1
- Update to 2.0.1

* Sat Jan 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 1.0.3-5
- Rebuilt for Python 3.11

* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Sat Jan 08 2022 W. Michael Petullo <mike@flyn.org> - 1.0.3-3
- Remove obsolete patch file

* Sat Jan 08 2022 W. Michael Petullo <mike@flyn.org> - 1.0.3-2
- * Sat Jan 08 2022 W. Michael Petullo <mike@flyn.org> - 1.0.3-2 - Patch to
  use libunicorn.so.1, not libunicorn.so (Red Hat Bugzilla #2004320) -
  Require python3-setuptools at runtime (Red Hat Bugzilla #2004320)

* Thu Aug 26 2021 Fabian Affolter <mail@fabian-affolter.ch> - 1.0.3-1
- * Thu Aug 26 2021 Fabian Affolter <mail@fabian-affolter.ch> - 1.0.3-1 -
  Update to latest upstream release 1.0.3 (rhbz#1965152)

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.0.2-13
- Rebuilt for Python 3.10

* Thu May 06 2021 Tomas Hrnciar <thrnciar@redhat.com> - 1.0.2-12
- Add BuildRequire on setuptools

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Sat Jan 09 2021 Tom Stellard <tstellar@redhat.com> - 1.0.2-10
- Add BuildRequires: make

* Fri Nov 06 2020 W. Michael Petullo <mike@flyn.org> - 1.0.2-9
- Update to 1.0.2

* Thu Aug 06 2020 W. Michael Petullo <mike@flyn.org> - 1.0.2-8
- Revert source name, as I had made use of wrong source tarball

* Thu Aug 06 2020 W. Michael Petullo <mike@flyn.org> - 1.0.2-7
- Fix source name

* Thu Aug 06 2020 W. Michael Petullo <mike@flyn.org> - 1.0.2-6
- Update to 1.0.2-rc4 to satisfy python-angr (Red Hat Bugzilla #1858455 and
  #1865272)

* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 13 2020 Miro Hrončok <miro@hroncok.cz> - 1.0.2-4
- Replace Python version glob with macro (needed for Python 3.10+)

* Tue May 26 2020 Miro Hrončok <miro@hroncok.cz> - 1.0.2-3
- Rebuilt for Python 3.9

* Mon May 18 2020 W. Michael Petullo <mike@flyn.org> - 1.0.2-2
- Add unicorn-1.0.2-rc3.tar.gz

* Mon May 18 2020 W. Michael Petullo <mike@flyn.org> - 1.0.2-1
- Update to 1.0.2-rc3 to satisfy pwntools (Red Hat Bugzilla #1836767 and
  #1833654)

* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Sep 05 2019 Miro Hrončok <miro@hroncok.cz> - 1.0.1-7
- Subpackage python2-unicorn has been removed

* Mon Aug 19 2019 Miro Hrončok <miro@hroncok.cz> - 1.0.1-6
- Rebuilt for Python 3.8

* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Sun Jul 22 2018 W. Michael Petullo <mike@flyn.org> - 1.0.1-3
- Add patch to use python2 rather than python when building

* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Jul 03 2018 W. Michael Petullo <mike@flyn.org> - 1.0.1-1
- Initial import (#1594431)
## END: Generated by rpmautospec