commit 988d6c966e79355967d3618030f58babe76edf24 Author: zhuchunyi Date: Wed Nov 6 19:04:02 2019 +0800 update code diff --git a/0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch b/0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch new file mode 100644 index 0000000..1e933c6 --- /dev/null +++ b/0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch @@ -0,0 +1,29 @@ +From d36b7395e69c70a8d98f78f2bcb20a32bf9f3173 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Fri, 11 Jan 2019 13:48:11 +0000 +Subject: [PATCH] Fix include path in pkg-config for Makefile too (#1339). + +Commit 0a39b785d3 fixed the pkg-config include path when using cmake. +However it didn't fix it for the Makefile. This fixes the Makefile +path. + +Signed-off-by: Richard W.M. Jones +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 378f2fea..4a2c2d35 100644 +--- a/Makefile ++++ b/Makefile +@@ -514,7 +514,7 @@ define generate-pkgcfg + echo 'Description: Capstone disassembly engine' >> $(PKGCFGF) + echo 'Version: $(PKG_VERSION)' >> $(PKGCFGF) + echo 'libdir=$(LIBDIR)' >> $(PKGCFGF) +- echo 'includedir=$(INCDIR)' >> $(PKGCFGF) ++ echo 'includedir=$(INCDIR)/capstone' >> $(PKGCFGF) + echo 'archive=$${libdir}/libcapstone.a' >> $(PKGCFGF) + echo 'Libs: -L$${libdir} -lcapstone' >> $(PKGCFGF) + echo 'Cflags: -I$${includedir}' >> $(PKGCFGF) +-- +2.20.1 diff --git a/capstone-4.0.1.tar.gz b/capstone-4.0.1.tar.gz new file mode 100644 index 0000000..e5bf450 Binary files /dev/null and b/capstone-4.0.1.tar.gz differ diff --git a/capstone.spec b/capstone.spec new file mode 100644 index 0000000..a65634a --- /dev/null +++ b/capstone.spec @@ -0,0 +1,170 @@ +%bcond_with java +Name: capstone +Version: 4.0.1 +Release: 2 +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 +%global with_python2 1 + +BuildRequires: gcc git capstone + +%if 0%{with java} +Buildrequires: jna java-devel +%endif + +%if 0%{?with_python2} +BuildRequires: python2 python2-devel python2-setuptools +%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_python2} +%package -n python2-capstone +Summary: Python bindings for %{name} +Requires: %{name} = %{version}-%{release} +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python < %{version}-%{release} +%{?python_provide:%python_provide python2-capstone} + +%description -n python2-capstone +%{common_desc} +Python bindings for %{name}. +%endif + +%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 +%py2_build +%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}" +%else +make PYTHON2=%{__python2} PYTHON3=%{__python2} 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_python2} +%py2_install +%endif + +%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_python2} +%files -n python2-capstone +%{python2_sitelib}/*egg-info +%{python2_sitelib}/%{name} +%endif + +%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 +* Mon Oct 28 2019 caomeng - 4.0.1-2 +- Type:NA +- ID:NA +- SUG:NA +- DESC:add bcondwith java + +* Sat Oct 12 2019 openEuler Buildteam - 4.0.1-1 +- Package init