145 lines
3.5 KiB
RPMSpec
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
|