aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/packages/rpm
diff options
context:
space:
mode:
Diffstat (limited to 'capstone/packages/rpm')
-rw-r--r--capstone/packages/rpm/capstone.spec167
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