1*9a0e4156SSadaf EbrahimiName: capstone 2*9a0e4156SSadaf EbrahimiVersion: 3.0.4 3*9a0e4156SSadaf EbrahimiRelease: 2 4*9a0e4156SSadaf EbrahimiSummary: A lightweight multi-platform, multi-architecture disassembly framework 5*9a0e4156SSadaf Ebrahimi 6*9a0e4156SSadaf EbrahimiLicense: BSD 7*9a0e4156SSadaf EbrahimiURL: http://www.capstone-engine.org/ 8*9a0e4156SSadaf EbrahimiSource0: http://www.capstone-engine.org/download/%{version}/%{name}-%{version}.tar.gz 9*9a0e4156SSadaf Ebrahimi 10*9a0e4156SSadaf Ebrahimi%if 0%{?fedora} > 12 11*9a0e4156SSadaf Ebrahimi%global with_python3 1 12*9a0e4156SSadaf Ebrahimi%else 13*9a0e4156SSadaf Ebrahimi%{!?__python2: %global __python2 /usr/bin/python2} 14*9a0e4156SSadaf Ebrahimi%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print (get_python_lib())")} 15*9a0e4156SSadaf Ebrahimi%endif 16*9a0e4156SSadaf Ebrahimi 17*9a0e4156SSadaf Ebrahimi%global srcname distribute 18*9a0e4156SSadaf Ebrahimi 19*9a0e4156SSadaf EbrahimiBuildRequires: python2-devel 20*9a0e4156SSadaf EbrahimiBuildRequires: jna 21*9a0e4156SSadaf EbrahimiBuildRequires: java-devel 22*9a0e4156SSadaf Ebrahimi%if 0%{?with_python3} 23*9a0e4156SSadaf EbrahimiBuildRequires: python3-devel 24*9a0e4156SSadaf Ebrahimi%endif # if with_python3 25*9a0e4156SSadaf Ebrahimi%global _hardened_build 1 26*9a0e4156SSadaf Ebrahimi 27*9a0e4156SSadaf Ebrahimi 28*9a0e4156SSadaf Ebrahimi%description 29*9a0e4156SSadaf EbrahimiCapstone is a disassembly framework with the target of becoming the ultimate 30*9a0e4156SSadaf Ebrahimidisasm engine for binary analysis and reversing in the security community. 31*9a0e4156SSadaf Ebrahimi 32*9a0e4156SSadaf Ebrahimi%package devel 33*9a0e4156SSadaf EbrahimiSummary: Development files for %{name} 34*9a0e4156SSadaf EbrahimiRequires: %{name}%{?_isa} = %{version}-%{release} 35*9a0e4156SSadaf Ebrahimi 36*9a0e4156SSadaf Ebrahimi%description devel 37*9a0e4156SSadaf EbrahimiThe %{name}-devel package contains libraries and header files for 38*9a0e4156SSadaf Ebrahimideveloping applications that use %{name}. 39*9a0e4156SSadaf Ebrahimi 40*9a0e4156SSadaf Ebrahimi%package python 41*9a0e4156SSadaf EbrahimiSummary: Python bindings for %{name} 42*9a0e4156SSadaf EbrahimiRequires: %{name}%{?_isa} = %{version}-%{release} 43*9a0e4156SSadaf Ebrahimi 44*9a0e4156SSadaf Ebrahimi%description python 45*9a0e4156SSadaf EbrahimiThe %{name}-python package contains python bindings for %{name}. 46*9a0e4156SSadaf Ebrahimi 47*9a0e4156SSadaf Ebrahimi%if 0%{?with_python3} 48*9a0e4156SSadaf Ebrahimi%package python3 49*9a0e4156SSadaf EbrahimiSummary: Python3 bindings for %{name} 50*9a0e4156SSadaf EbrahimiRequires: %{name}%{?_isa} = %{version}-%{release} 51*9a0e4156SSadaf Ebrahimi 52*9a0e4156SSadaf Ebrahimi%description python3 53*9a0e4156SSadaf EbrahimiThe %{name}-python3 package contains python3 bindings for %{name}. 54*9a0e4156SSadaf Ebrahimi%endif # with_python3 55*9a0e4156SSadaf Ebrahimi 56*9a0e4156SSadaf Ebrahimi%package java 57*9a0e4156SSadaf EbrahimiSummary: Java bindings for %{name} 58*9a0e4156SSadaf EbrahimiRequires: %{name} = %{version}-%{release} 59*9a0e4156SSadaf EbrahimiBuildArch: noarch 60*9a0e4156SSadaf Ebrahimi 61*9a0e4156SSadaf Ebrahimi%description java 62*9a0e4156SSadaf EbrahimiThe %{name}-java package contains java bindings for %{name}. 63*9a0e4156SSadaf Ebrahimi 64*9a0e4156SSadaf Ebrahimi%prep 65*9a0e4156SSadaf Ebrahimi%setup -q 66*9a0e4156SSadaf Ebrahimi 67*9a0e4156SSadaf Ebrahimi%build 68*9a0e4156SSadaf EbrahimiDESTDIR="%{buildroot}" V=1 CFLAGS="%{optflags}" \ 69*9a0e4156SSadaf EbrahimiLIBDIRARCH="%{_lib}" INCDIR="%{_includedir}" make %{?_smp_mflags} 70*9a0e4156SSadaf Ebrahimi 71*9a0e4156SSadaf Ebrahimi# Fix pkgconfig file 72*9a0e4156SSadaf Ebrahimised -i 's;%{buildroot};;' capstone.pc 73*9a0e4156SSadaf Ebrahimigrep -v archive capstone.pc > capstone.pc.tmp 74*9a0e4156SSadaf Ebrahimimv capstone.pc.tmp capstone.pc 75*9a0e4156SSadaf Ebrahimi 76*9a0e4156SSadaf Ebrahimi# build python bindings 77*9a0e4156SSadaf Ebrahimipushd bindings/python 78*9a0e4156SSadaf EbrahimiCFLAGS="%{optflags}" %{__python2} setup.py build 79*9a0e4156SSadaf Ebrahimi%if 0%{?with_python3} 80*9a0e4156SSadaf EbrahimiCFLAGS="%{optflags}" %{__python3} setup.py build 81*9a0e4156SSadaf Ebrahimi%endif # with_python3 82*9a0e4156SSadaf Ebrahimipopd 83*9a0e4156SSadaf Ebrahimi 84*9a0e4156SSadaf Ebrahimi# build java bindings 85*9a0e4156SSadaf Ebrahimipushd bindings/java 86*9a0e4156SSadaf Ebrahimimake CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken 87*9a0e4156SSadaf Ebrahimipopd 88*9a0e4156SSadaf Ebrahimi 89*9a0e4156SSadaf Ebrahimi%install 90*9a0e4156SSadaf EbrahimiDESTDIR=%{buildroot} LIBDIRARCH=%{_lib} \ 91*9a0e4156SSadaf EbrahimiINCDIR="%{_includedir}" make install 92*9a0e4156SSadaf Ebrahimifind %{buildroot} -name '*.la' -exec rm -f {} ';' 93*9a0e4156SSadaf Ebrahimifind %{buildroot} -name '*.a' -exec rm -f {} ';' 94*9a0e4156SSadaf Ebrahimi 95*9a0e4156SSadaf Ebrahimi# install python bindings 96*9a0e4156SSadaf Ebrahimipushd bindings/python 97*9a0e4156SSadaf Ebrahimi%{__python2} setup.py install --skip-build --root %{buildroot} 98*9a0e4156SSadaf Ebrahimi%if 0%{?with_python3} 99*9a0e4156SSadaf Ebrahimi%{__python3} setup.py install --skip-build --root %{buildroot} 100*9a0e4156SSadaf Ebrahimi%endif # with_python3 101*9a0e4156SSadaf Ebrahimipopd 102*9a0e4156SSadaf Ebrahimi 103*9a0e4156SSadaf Ebrahimi# install java bindings 104*9a0e4156SSadaf Ebrahimiinstall -D -p -m 0644 bindings/java/%{name}.jar %{buildroot}/%{_javadir}/%{name}.jar 105*9a0e4156SSadaf Ebrahimi 106*9a0e4156SSadaf Ebrahimi%check 107*9a0e4156SSadaf Ebrahimiln -s libcapstone.so libcapstone.so.3 108*9a0e4156SSadaf Ebrahimimake check LD_LIBRARY_PATH="`pwd`" 109*9a0e4156SSadaf Ebrahimi 110*9a0e4156SSadaf Ebrahimi%post -p /sbin/ldconfig 111*9a0e4156SSadaf Ebrahimi 112*9a0e4156SSadaf Ebrahimi%postun -p /sbin/ldconfig 113*9a0e4156SSadaf Ebrahimi 114*9a0e4156SSadaf Ebrahimi 115*9a0e4156SSadaf Ebrahimi%files 116*9a0e4156SSadaf Ebrahimi# %license does not work for RHEL<7 117*9a0e4156SSadaf Ebrahimi%if 0%{?rhel} || 0%{?fedora} < 21 118*9a0e4156SSadaf Ebrahimi%doc LICENSE.TXT LICENSE_LLVM.TXT 119*9a0e4156SSadaf Ebrahimi%else 120*9a0e4156SSadaf Ebrahimi%license LICENSE.TXT LICENSE_LLVM.TXT 121*9a0e4156SSadaf Ebrahimi%endif # %license workarond for RHEL<7 122*9a0e4156SSadaf Ebrahimi%doc README ChangeLog 123*9a0e4156SSadaf Ebrahimi%{_libdir}/*.so.* 124*9a0e4156SSadaf Ebrahimi 125*9a0e4156SSadaf Ebrahimi%files devel 126*9a0e4156SSadaf Ebrahimi%{_includedir}/* 127*9a0e4156SSadaf Ebrahimi%{_libdir}/*.so 128*9a0e4156SSadaf Ebrahimi%{_libdir}/pkgconfig/* 129*9a0e4156SSadaf Ebrahimi 130*9a0e4156SSadaf Ebrahimi%files python 131*9a0e4156SSadaf Ebrahimi%{python2_sitelib}/*egg-info 132*9a0e4156SSadaf Ebrahimi%{python2_sitelib}/%{name} 133*9a0e4156SSadaf Ebrahimi 134*9a0e4156SSadaf Ebrahimi%if 0%{?with_python3} 135*9a0e4156SSadaf Ebrahimi%files python3 136*9a0e4156SSadaf Ebrahimi%{python3_sitelib}/*egg-info 137*9a0e4156SSadaf Ebrahimi%{python3_sitelib}/%{name} 138*9a0e4156SSadaf Ebrahimi%endif # _with_python3 139*9a0e4156SSadaf Ebrahimi 140*9a0e4156SSadaf Ebrahimi%files java 141*9a0e4156SSadaf Ebrahimi%{_javadir}/ 142*9a0e4156SSadaf Ebrahimi 143*9a0e4156SSadaf Ebrahimi%changelog 144*9a0e4156SSadaf Ebrahimi* Thu Jul 16 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.4-2 145*9a0e4156SSadaf Ebrahimi- Fix EPEL6 build problems 146*9a0e4156SSadaf Ebrahimi 147*9a0e4156SSadaf Ebrahimi* Wed Jul 15 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.4-1 148*9a0e4156SSadaf Ebrahimi- new version 3.0.4. Includes security fixes. 149*9a0e4156SSadaf Ebrahimi 150*9a0e4156SSadaf Ebrahimi* Tue May 12 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.3-2 151*9a0e4156SSadaf Ebrahimi- Addressed issues found during package review. 152*9a0e4156SSadaf Ebrahimi 153*9a0e4156SSadaf Ebrahimi* Fri May 08 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.3-1 154*9a0e4156SSadaf Ebrahimi- Update to version 3.0.3 155*9a0e4156SSadaf Ebrahimi 156*9a0e4156SSadaf Ebrahimi* Fri May 08 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.2-3 157*9a0e4156SSadaf Ebrahimi- Added python3 and hardened build support. Update java building. 158*9a0e4156SSadaf Ebrahimi- Various cleanups. 159*9a0e4156SSadaf Ebrahimi 160*9a0e4156SSadaf Ebrahimi* Wed May 06 2015 Stefan Cornelius <scorneli@redhat.com> - 3.0.2-2 161*9a0e4156SSadaf Ebrahimi- Update to 3.0.2. Fix 64bit issues. add %check. 162*9a0e4156SSadaf Ebrahimi 163*9a0e4156SSadaf Ebrahimi* Sat Sep 27 2014 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.2-2 164*9a0e4156SSadaf Ebrahimi- Addressed issues found during package review. 165*9a0e4156SSadaf Ebrahimi 166*9a0e4156SSadaf Ebrahimi* Mon May 19 2014 Adel Gadllah <adel.gadllah@gmail.com> - 2.1.2-1 167*9a0e4156SSadaf Ebrahimi- Initial package 168