capstone/capstone.spec
openeuler-ci-bot 98e937f3f0 remove python2
Merge pull request !2 from zhanzhimin/master
2020-10-30 15:17:16 +08:00

145 lines
3.5 KiB
RPMSpec

%bcond_with java
Name: capstone
Version: 4.0.1
Release: 3
Summary: A lightweight multi-platform, multi-architecture disassembly framework
License: BSD
URL: http://www.capstone-engine.org/
Source0: https://github.com/aquynh/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz
Patch0: 0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch
%global with_python3 1
BuildRequires: gcc git capstone
%if 0%{with java}
Buildrequires: jna java-devel
%endif
%if 0%{?with_python3}
BuildRequires: python%{python3_pkgversion} python%{python3_pkgversion}-devel python%{python3_pkgversion}-setuptools
%endif
%description
Capstone is a lightweight multi-platform, multi-architecture disassembly framework.It supports multi-architectures,
Multiple platforms. Clean & intuitive is the key principle in designing the API for Capstone. Capstone is thread-safe.
%package -n %{name}-devel
Summary: Development headers and libraries to build upon %{name}
Requires:%{name} = %{version}-%{release}
%description -n %{name}-devel
Development headers and libraries to build upon %{name}
%if 0%{?with_python3}
%package -n python%{python3_pkgversion}-capstone
Requires: %{name} = %{version}-%{release}
Summary: Python3 bindings for %{name}
Provides: %{name}-python%{python3_pkgversion} = %{version}-%{release}
Provides: %{name}-python%{python3_pkgversion}%{?_isa} = %{version}-%{release}
Obsoletes: %{name}-python%{python3_pkgversion} < %{version}-%{release}
%{?python_provide:%python_provide python%{python3_pkgversion}-capstone}
%description -n python%{python3_pkgversion}-capstone
Python3 bindings for %{name}.
%endif
%if 0%{with java}
%package java
Summary: Java bindings for %{name}
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description java
This package contains java bindings for %{name}.
%endif
%prep
%autosetup -n %{name}-%{version} -p1 -Sgit
%build
DESTDIR="%{buildroot}" V=1 CFLAGS="%{optflags}" \
LIBDIRARCH="%{_lib}" INCDIR="%{_includedir}" \
make PYTHON2=%{__python2} PYTHON3=%{__python3} %{?_smp_mflags}
sed -i 's;%{buildroot};;' capstone.pc
grep -v archive capstone.pc > capstone.pc.tmp
mv capstone.pc.tmp capstone.pc
pushd bindings/python
%if 0%{?with_python3}
%py3_build
%endif
popd
%if 0%{with java}
pushd bindings/java
%if 0%{?with_python3}
make PYTHON2=%{__python3} PYTHON3=%{__python3} CFLAGS="%{optflags}"
%endif
popd
%endif
%install
DESTDIR=%{buildroot} LIBDIRARCH=%{_lib} \
INCDIR="%{_includedir}" make install
%delete_la_and_a
cp -a %{_libdir}/libcapstone.so.3 %{buildroot}%{_libdir}
pushd bindings/python
%if 0%{?with_python3}
%py3_install
%endif
popd
%if 0%{with java}
install -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name}.jar
%endif
%pre
%preun
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%license LICENSE.TXT LICENSE_LLVM.TXT
%doc CREDITS.TXT ChangeLog README.md SPONSORS.TXT
%{_libdir}/*.so.*
%{_bindir}/cstool
%files devel
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%if 0%{?with_python3}
%files -n python%{python3_pkgversion}-capstone
%{python3_sitelib}/*egg-info
%{python3_sitelib}/%{name}
%endif
%if 0%{with java}
%files java
%{_javadir}/
%endif
%changelog
* Fri Oct 30 2020 wangjie<wangjie294@huawei.com> -4.0.1-3
- Type:NA
- ID:NA
- SUG:NA
- DESC:remove python2
* Mon Oct 28 2019 caomeng <caomeng5@huawei.com> - 4.0.1-2
- Type:NA
- ID:NA
- SUG:NA
- DESC:add bcondwith java
* Sat Oct 12 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.0.1-1
- Package init