diff options
Diffstat (limited to 'capstone/packages/rpm')
-rw-r--r-- | capstone/packages/rpm/capstone.spec | 167 |
1 files changed, 167 insertions, 0 deletions
diff --git a/capstone/packages/rpm/capstone.spec b/capstone/packages/rpm/capstone.spec new file mode 100644 index 000000000..7486bd598 --- /dev/null +++ b/capstone/packages/rpm/capstone.spec @@ -0,0 +1,167 @@ +Name: capstone +Version: 3.0.4 +Release: 2 +Summary: A lightweight multi-platform, multi-architecture disassembly framework + +License: BSD +URL: http://www.capstone-engine.org/ +Source0: http://www.capstone-engine.org/download/%{version}/%{name}-%{version}.tar.gz + +%if 0%{?fedora} > 12 +%global with_python3 1 +%else +%{!?__python2: %global __python2 /usr/bin/python2} +%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} +%endif + +%global srcname distribute + +BuildRequires: python2-devel +BuildRequires: jna +BuildRequires: java-devel +%if 0%{?with_python3} +BuildRequires: python3-devel +%endif # if with_python3 +%global _hardened_build 1 + + +%description +Capstone is a disassembly framework with the target of becoming the ultimate +disasm engine for binary analysis and reversing in the security community. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package python +Summary: Python bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description python +The %{name}-python package contains python bindings for %{name}. + +%if 0%{?with_python3} +%package python3 +Summary: Python3 bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description python3 +The %{name}-python3 package contains python3 bindings for %{name}. +%endif # with_python3 + +%package java +Summary: Java bindings for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description java +The %{name}-java package contains java bindings for %{name}. + +%prep +%setup -q + +%build +DESTDIR="%{buildroot}" V=1 CFLAGS="%{optflags}" \ +LIBDIRARCH="%{_lib}" INCDIR="%{_includedir}" make %{?_smp_mflags} + +# Fix pkgconfig file +sed -i 's;%{buildroot};;' capstone.pc +grep -v archive capstone.pc > capstone.pc.tmp +mv capstone.pc.tmp capstone.pc + +# build python bindings +pushd bindings/python +CFLAGS="%{optflags}" %{__python2} setup.py build +%if 0%{?with_python3} +CFLAGS="%{optflags}" %{__python3} setup.py build +%endif # with_python3 +popd + +# build java bindings +pushd bindings/java +make CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken +popd + +%install +DESTDIR=%{buildroot} LIBDIRARCH=%{_lib} \ +INCDIR="%{_includedir}" make install +find %{buildroot} -name '*.la' -exec rm -f {} ';' +find %{buildroot} -name '*.a' -exec rm -f {} ';' + +# install python bindings +pushd bindings/python +%{__python2} setup.py install --skip-build --root %{buildroot} +%if 0%{?with_python3} +%{__python3} setup.py install --skip-build --root %{buildroot} +%endif # with_python3 +popd + +# install java bindings +install -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name}.jar + +%check +ln -s libcapstone.so libcapstone.so.3 +make check LD_LIBRARY_PATH="`pwd`" + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +# %license does not work for RHEL<7 +%if 0%{?rhel} || 0%{?fedora} < 21 +%doc LICENSE.TXT LICENSE_LLVM.TXT +%else +%license LICENSE.TXT LICENSE_LLVM.TXT +%endif # %license workarond for RHEL<7 +%doc README ChangeLog +%{_libdir}/*.so.* + +%files devel +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/* + +%files python +%{python2_sitelib}/*egg-info +%{python2_sitelib}/%{name} + +%if 0%{?with_python3} +%files python3 +%{python3_sitelib}/*egg-info +%{python3_sitelib}/%{name} +%endif # _with_python3 + +%files java +%{_javadir}/ + +%changelog +* Thu Jul 16 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.4-2 +- Fix EPEL6 build problems + +* Wed Jul 15 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.4-1 +- new version 3.0.4. Includes security fixes. + +* Tue May 12 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.3-2 +- Addressed issues found during package review. + +* Fri May 08 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.3-1 +- Update to version 3.0.3 + +* Fri May 08 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.2-3 +- Added python3 and hardened build support. Update java building. +- Various cleanups. + +* Wed May 06 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.2-2 +- Update to 3.0.2. Fix 64bit issues. add %check. + +* Sat Sep 27 2014 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.2-2 +- Addressed issues found during package review. + +* Mon May 19 2014 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.2-1 +- Initial package |