diff --git a/.gitignore b/.gitignore index e69de29..11b9f51 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,5 @@ +/capstone-3.0.4-e710e4f.tar.gz +/capstone-3.0.5-db19431.tar.gz +/capstone-4.0.0-75c0528.tar.gz +/capstone-4.0.1.tar.gz +/capstone-4.0.2.tar.gz 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..b45690a --- /dev/null +++ b/0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch @@ -0,0 +1,30 @@ +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-python.patch b/capstone-python.patch new file mode 100644 index 0000000..ca09d66 --- /dev/null +++ b/capstone-python.patch @@ -0,0 +1,158 @@ +diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/java/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/java/Makefile +--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/java/Makefile 2018-07-18 18:17:10.000000000 +0200 ++++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/java/Makefile 2018-08-28 10:58:38.806217484 +0200 +@@ -20,6 +20,8 @@ + endif + endif + ++PYTHON2 = python ++ + CAPSTONE_JAVA = Capstone.java Arm_const.java Arm64_const.java Mips_const.java \ + X86_const.java Xcore_const.java Ppc_const.java Sparc_const.java\ + Sysz_const.java \ +@@ -47,7 +49,7 @@ + TestPpc.java TestSparc.java TestSystemz.java + + gen_const: +- cd ../ && python const_generator.py java ++ cd ../ && $(PYTHON2) const_generator.py java + + jna: + @if [ ! $(JNA) ]; then echo "*** Unable to find JNA ***"; exit 1; fi +diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/Makefile +--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/Makefile 2018-07-18 18:17:10.000000000 +0200 ++++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/Makefile 2018-08-28 11:01:51.152374258 +0200 +@@ -12,6 +12,8 @@ + TEST_X86 = $(TMPDIR)/test_x86 + TEST_XCORE = $(TMPDIR)/test_xcore + ++PYTHON2 = python ++ + .PHONY: all expected python java ocaml + + all: +@@ -39,15 +41,15 @@ + + python: FORCE + cd python && $(MAKE) +- python python/test.py > $(TEST)_o +- python python/test_arm.py > $(TEST_ARM)_o +- python python/test_arm64.py > $(TEST_ARM64)_o +- python python/test_mips.py > $(TEST_MIPS)_o +- python python/test_ppc.py > $(TEST_PPC)_o +- python python/test_sparc.py > $(TEST_SPARC)_o +- python python/test_systemz.py > $(TEST_SYSZ)_o +- python python/test_x86.py > $(TEST_X86)_o +- python python/test_xcore.py > $(TEST_XCORE)_o ++ $(PYTHON2) python/test.py > $(TEST)_o ++ $(PYTHON2) python/test_arm.py > $(TEST_ARM)_o ++ $(PYTHON2) python/test_arm64.py > $(TEST_ARM64)_o ++ $(PYTHON2) python/test_mips.py > $(TEST_MIPS)_o ++ $(PYTHON2) python/test_ppc.py > $(TEST_PPC)_o ++ $(PYTHON2) python/test_sparc.py > $(TEST_SPARC)_o ++ $(PYTHON2) python/test_systemz.py > $(TEST_SYSZ)_o ++ $(PYTHON2) python/test_x86.py > $(TEST_X86)_o ++ $(PYTHON2) python/test_xcore.py > $(TEST_XCORE)_o + $(MAKE) test_diff + + java: FORCE +diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/ocaml/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/ocaml/Makefile +--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/ocaml/Makefile 2018-07-18 18:17:10.000000000 +0200 ++++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/ocaml/Makefile 2018-08-28 10:58:06.166700040 +0200 +@@ -3,6 +3,7 @@ + + LIB = capstone + FLAGS = '-Wall -Wextra -Wwrite-strings' ++PYTHON2 = python + + all: arm_const.cmxa arm64_const.cmxa mips_const.cmxa ppc_const.cmxa sparc_const.cmxa sysz_const.cmxa x86_const.cmxa xcore_const.cmxa arm.cmxa arm64.cmxa mips.cmxa ppc.cmxa x86.cmxa sparc.cmxa systemz.cmxa xcore.cmxa capstone.cmxa test_basic.cmx test_detail.cmx test_x86.cmx test_arm.cmx test_arm64.cmx test_mips.cmx test_ppc.cmx test_sparc.cmx test_systemz.cmx test_xcore.cmx ocaml.o + ocamlopt -o test_basic -ccopt $(FLAGS) ocaml.o capstone.cmx test_basic.cmx -cclib -l$(LIB) +@@ -258,7 +259,7 @@ + rm -f *.[oa] *.so *.cm[ixoa] *.cmxa *.mli test_basic test_detail test_x86 test_arm test_arm64 test_mips test_ppc test_sparc test_systemz test_xcore + + gen_const: +- cd .. && python const_generator.py ocaml ++ cd .. && $(PYTHON2) const_generator.py ocaml + + TESTS = test_basic test_detail test_arm test_arm64 test_mips test_ppc + TESTS += test_sparc test_systemz test_x86 test_xcore +diff -ru capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/python/Makefile capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/python/Makefile +--- capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.orig/bindings/python/Makefile 2018-07-18 18:17:10.000000000 +0200 ++++ capstone-db19431d4bb787019ca94d8f2a558f0ed46341a7.new/bindings/python/Makefile 2018-08-28 10:56:16.869315933 +0200 +@@ -1,60 +1,63 @@ ++PYTHON2 = python ++PYTHON3 = python3 ++ + .PHONY: gen_const install install3 install_cython sdist sdist3 bdist bdist3 clean check + + gen_const: +- cd .. && python const_generator.py python ++ cd .. && $(PYTHON2) const_generator.py python + + install: + rm -rf src/ + if test -n "${DESTDIR}"; then \ +- python setup.py build install --root="${DESTDIR}"; \ ++ $(PYTHON2) setup.py build install --root="${DESTDIR}"; \ + else \ +- python setup.py build install; \ ++ $(PYTHON2) setup.py build install; \ + fi + + install3: + rm -rf src/ + if test -n "${DESTDIR}"; then \ +- python3 setup.py build install --root="${DESTDIR}"; \ ++ $(PYTHON3) setup.py build install --root="${DESTDIR}"; \ + else \ +- python3 setup.py build install; \ ++ $(PYTHON3) setup.py build install; \ + fi + + # NOTE: Newer cython can be installed by: sudo pip install --upgrade cython + install_cython: + rm -rf src/ + if test -n "${DESTDIR}"; then \ +- python setup_cython.py build install --root="${DESTDIR}"; \ ++ $(PYTHON2) setup_cython.py build install --root="${DESTDIR}"; \ + else \ +- python setup_cython.py build install; \ ++ $(PYTHON2) setup_cython.py build install; \ + fi + + install3_cython: + rm -rf src/ + if test -n "${DESTDIR}"; then \ +- python3 setup_cython.py build install --root="${DESTDIR}"; \ ++ $(PYTHON3) setup_cython.py build install --root="${DESTDIR}"; \ + else \ +- python3 setup_cython.py build install; \ ++ $(PYTHON3) setup_cython.py build install; \ + fi + + # build & upload PyPi package with source code of the core + sdist: + rm -rf src/ dist/ +- python setup.py sdist register upload ++ $(PYTHON2) setup.py sdist register upload + + # build & upload PyPi package with source code of the core + sdist3: + rm -rf src/ dist/ +- python3 setup.py sdist register upload ++ $(PYTHON3) setup.py sdist register upload + + # build & upload PyPi package with prebuilt core + bdist: + rm -rf src/ dist/ +- python setup.py bdist_wheel register upload ++ $(PYTHON2) setup.py bdist_wheel register upload + + # build & upload PyPi package with prebuilt core + bdist3: + rm -rf src/ dist/ +- python3 setup.py bdist_wheel register upload ++ $(PYTHON3) setup.py bdist_wheel register upload + + clean: + rm -rf build/ src/ dist/ *.egg-info diff --git a/capstone.rpmlintrc b/capstone.rpmlintrc new file mode 100644 index 0000000..edf9709 --- /dev/null +++ b/capstone.rpmlintrc @@ -0,0 +1,6 @@ +from Config import addFilter + +addFilter('capstone.*: macro-in-comment.*') +addFilter('capstone.*: rpm-buildroot-usage %build sed -i .s;%{buildroot};;.*') +addFilter('capstone.*: specfile-error warning: Macro expanded in comment on line ..: %{gituser}/%{gitname}/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz') + diff --git a/capstone.spec b/capstone.spec new file mode 100644 index 0000000..daaef62 --- /dev/null +++ b/capstone.spec @@ -0,0 +1,364 @@ +Name: capstone +Version: 4.0.2 +Release: 3%{?dist} +Summary: A lightweight multi-platform, multi-architecture disassembly framework + +%global gituser aquynh +%global gitname capstone +# 4.0.1 release +%global commit f9c6a90489be7b3637ff1c7298e45efafe7cf1b9 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) + +License: BSD +URL: http://www.capstone-engine.org/ +# https://github.com/aquynh/capstone/releases +#Source0: https://github.com/%{gituser}/%{gitname}/archive/%{commit}/%{name}-%{version}-%{shortcommit}.tar.gz +Source0: https://github.com/%{gituser}/%{gitname}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz + +# Test suite binary samples to be used for disassembly +# Source1: + +# Fedora 29 makes python executable separate from python2 and python3. This patch makes +# it possible to specify PYTHON2 and PYTHON3 binary to be explicit that by "python" we mean "python2" +# Patch0: capstone-python.patch + +# Upstream patch which fixes libcapstone.pc. +# See: https://github.com/aquynh/capstone/issues/1339 +# Patch1: 0001-Fix-include-path-in-pkg-config-for-Makefile-too-1339.patch + +%global common_desc %{expand: +Capstone is a disassembly framework with the target of becoming the ultimate +disasm engine for binary analysis and reversing in the security community.} + +# Build with python3 package by default +%bcond_without python3 + +# Build without python2 package for newer releases f32+ and rhel8+ +%if (0%{?fedora} && 0%{?fedora} >= 32 ) || ( 0%{?rhel} && 0%{?rhel} >= 8 ) +%bcond_with python2 +%else +%bcond_without python2 +%endif + + +%global srcname distribute + +BuildRequires: gcc +BuildRequires: git +BuildRequires: jna +BuildRequires: java-devel + +%if 0%{?with_python2} +BuildRequires: python2 +BuildRequires: python2-devel +BuildRequires: python2-setuptools +%endif # if with_python2 + +%if 0%{?with_python3} +BuildRequires: python%{python3_pkgversion} +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: python%{python3_pkgversion}-setuptools +%endif # if with_python3 + +%global _hardened_build 1 + + +%description +%{common_desc} + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +%{common_desc} +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + + +%if 0%{?with_python2} +%package -n python2-capstone +%{?python_provide:%python_provide python2-capstone} +# Remove before F30 +Provides: %{name}-python = %{version}-%{release} +Provides: %{name}-python%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python < %{version}-%{release} +Summary: Python bindings for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n python2-capstone +%{common_desc} +The python2-capstone package contains python bindings for %{name}. +%endif # with_python2 + + + +%if 0%{?with_python3} +%package -n python%{python3_pkgversion}-capstone +%{?python_provide:%python_provide python%{python3_pkgversion}-capstone} +Provides: %{name}-python%{python3_pkgversion} = %{version}-%{release} +Provides: %{name}-python%{python3_pkgversion}%{?_isa} = %{version}-%{release} +Obsoletes: %{name}-python%{python3_pkgversion} < %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Summary: Python3 bindings for %{name} + + +%description -n python%{python3_pkgversion}-capstone +%{common_desc} +The python%{python3_pkgversion}-capstone package contains python3 bindings for %{name}. +%endif # with_python3 + + + +%package java +Summary: Java bindings for %{name} +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description java +%{common_desc} +The %{name}-java package contains java bindings for %{name}. + + + +%prep +# autosetup -n %{gitname}-%{commit} -S git +%autosetup -n %{gitname}-%{version} -S git + + + +%build +#DESTDIR="%{buildroot}" +V=1 CFLAGS="%{optflags}" \ +PREFIX="%{_prefix}" LIBDIRARCH="%{_lib}" INCDIR="%{_includedir}" \ +%make_build PYTHON2=%{__python2} PYTHON3=%{__python3} + +# 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 + +%if 0%{?with_python2} +CFLAGS="%{optflags}" %{__python2} setup.py build +%endif # with_python2 + +%if 0%{?with_python3} +CFLAGS="%{optflags}" %{__python3} setup.py build +%endif # with_python3 +popd + +# build java bindings needs some python +pushd bindings/java +%if 0%{?with_python3} +%make_build PYTHON2=%{__python3} PYTHON3=%{__python3} CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken +%else +%make_build PYTHON2=%{__python2} PYTHON3=%{__python2} CFLAGS="%{optflags}" # %{?_smp_mflags} parallel seems broken +%endif +popd + + + +%install +DESTDIR=%{buildroot} PREFIX="%{_prefix}" 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 +%if 0%{?with_python2} +%{__python2} setup.py install --skip-build --root %{buildroot} +%endif # with_python2 + +%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.4 +#make check LD_LIBRARY_PATH="`pwd`" + + + +%ldconfig_scriptlets + + + +%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 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 # _with_python2 + + + +%if 0%{?with_python3} +%files -n python%{python3_pkgversion}-capstone +%{python3_sitelib}/*egg-info +%{python3_sitelib}/%{name} +%endif # _with_python3 + + + +%files java +%{_javadir}/ + +%changelog +* Mon Jul 27 2020 Fedora Release Engineering - 4.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 22 2020 Riccardo Schirone - 4.0.2-2 +- Use make_build macro instead of make (thanks to tstellar) + +* Mon Jul 20 2020 Riccardo Schirone - 4.0.2-1 +- Rebase to upstream version 4.0.2 + +* Fri Jul 10 2020 Jiri Vanek - 4.0.1-13 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue May 26 2020 Miro Hrončok - 4.0.1-12 +- Rebuilt for Python 3.9 + +* Tue Jan 28 2020 Fedora Release Engineering - 4.0.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 21 2020 Kalev Lember - 4.0.1-10 +- Avoid hardcoding /usr prefix + +* Tue Oct 15 2019 Michal Ambroz - 4.0.1-9 +- do not build python2 package for rhel8 + +* Thu Oct 10 2019 Michal Ambroz - 4.0.1-8 +- fix descriptions of sub-packages +- remove buildroot from the build phase + +* Thu Oct 10 2019 Michal Ambroz - 4.0.1-7 +- remove python2 from rawhide/fc32 package + +* Thu Oct 03 2019 Miro Hrončok - 4.0.1-6 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 4.0.1-5 +- Rebuilt for Python 3.8 + +* Wed Jul 24 2019 Fedora Release Engineering - 4.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 4.0.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jan 12 2019 Richard W.M. Jones - 4.0.1-2 +- Add upstream patch which fixes libcapstone.pc + https://github.com/aquynh/capstone/issues/1339 + +* Fri Jan 11 2019 Michal Ambroz - 4.0.1-1 +- bump to 4.0.1 release + +* Mon Aug 27 2018 Michal Ambroz - 3.0.5-1 +- bump to 3.0.5 + +* Thu Jul 12 2018 Fedora Release Engineering - 3.0.4-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jul 02 2018 Miro Hrončok - 3.0.4-17 +- Rebuilt for Python 3.7 + +* Tue Jun 26 2018 Michal Ambroz - 3.0.4-16 +- unify the naming convention for the python packages +- fix the python3 package naming for EPEL7 + +* Tue Jun 19 2018 Miro Hrončok - 3.0.4-15 +- Rebuilt for Python 3.7 + +* Fri Feb 09 2018 Igor Gnatenko - 3.0.4-14 +- Escape macros in %%changelog + +* Wed Feb 07 2018 Fedora Release Engineering - 3.0.4-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Aug 20 2017 Zbigniew Jędrzejewski-Szmek - 3.0.4-12 +- Add Provides for the old name without %%_isa + +* Sat Aug 19 2017 Zbigniew Jędrzejewski-Szmek - 3.0.4-11 +- Python 2 binary package renamed to python2-capstone + See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3 + +* Wed Aug 02 2017 Fedora Release Engineering - 3.0.4-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.0.4-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 3.0.4-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro Hrončok - 3.0.4-7 +- Rebuild for Python 3.6 + +* Tue Jul 19 2016 Fedora Release Engineering - 3.0.4-6 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Wed Feb 03 2016 Fedora Release Engineering - 3.0.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Oct 27 2015 Stefan Cornelius - 3.0.4-4 +- Really add dist tag this time + +* Sun Oct 25 2015 Stefan Cornelius - 3.0.4-3 +- Fix issues found during package review: dist tag, git sources + +* Thu Jul 16 2015 Stefan Cornelius - 3.0.4-2 +- Fix EPEL6 build problems + +* Wed Jul 15 2015 Stefan Cornelius - 3.0.4-1 +- new version 3.0.4. Includes security fixes. + +* Tue May 12 2015 Stefan Cornelius - 3.0.3-2 +- Addressed issues found during package review. + +* Fri May 08 2015 Stefan Cornelius - 3.0.3-1 +- Update to version 3.0.3 + +* Fri May 08 2015 Stefan Cornelius - 3.0.2-3 +- Added python3 and hardened build support. Update java building. +- Various cleanups. + +* Wed May 06 2015 Stefan Cornelius - 3.0.2-2 +- Update to 3.0.2. Fix 64bit issues. add %%check. + +* Sat Sep 27 2014 Adel Gadllah - 2.1.2-2 +- Addressed issues found during package review. + +* Mon May 19 2014 Adel Gadllah - 2.1.2-1 +- Initial package diff --git a/sources b/sources new file mode 100644 index 0000000..657d090 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (capstone-4.0.2.tar.gz) = 7f93534517307b737422a8825b66b2a1f3e1cca2049465d60ab12595940154aaf843ba40ed348fce58de58b990c19a0caef289060eb72898cb008a88c470970e