distorm: Update to 3.3.8

This commit is contained in:
Alexey Pavlov
2018-11-16 13:54:53 +03:00
parent 076c360ee7
commit 2fd2f5f504
2 changed files with 61 additions and 20 deletions

View File

@@ -1,11 +1,32 @@
--- distorm-3.3.0/setup.py.orig 2016-05-17 14:02:58.274320400 +0300
+++ distorm-3.3.0/setup.py 2016-05-17 14:03:39.420820400 +0300
@@ -177,7 +177,7 @@
# Setup the library
--- distorm-3.3.8/setup.py.orig 2018-11-16 13:39:57.421840000 +0300
+++ distorm-3.3.8/setup.py 2018-11-16 13:38:57.190134200 +0300
@@ -82,7 +82,7 @@
"""Customized build command"""
def run(self):
log.info('running custom_build')
- if 'windows' in platform.system().lower():
+ if 'windows' in platform.system().lower() and not 'GCC' in sys.version:
bits = 'win32' # x86 by default
# If x64 is specified in command line, change it here
for i in sys.argv:
@@ -225,8 +225,19 @@
ext_modules = None
libraries = None
- if 'windows' in system:
+ if 'windows' in system and not 'GCC' in sys.version:
package_data = []
if 'windows' in system:
- package_data = ['distorm3.dll']
+ if 'GCC' in sys.version:
+ libraries = [(
+ 'distorm3', dict(
+ package='distorm3',
+ sources=get_sources,
+ include_dirs=['src', 'include'],
+ extra_compile_args=['-fPIC', '-O2', '-Wall',
+ '-DSUPPORT_64BIT_OFFSET',
+ '-DDISTORM_STATIC',
+ '-Wl,--out-implib,libdistorm3.dll.a']))]
+ else:
+ package_data = ['distorm3.dll']
elif 'darwin' in system or 'macosx' in system:
libraries = [(
'distorm3', dict(
package='distorm3',

View File

@@ -3,44 +3,64 @@
_realname=distorm
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.3.4
pkgver=3.3.8
pkgrel=1
pkgdesc="Powerful disassembler library for x86/AMD64 (mingw-w64)"
arch=('any')
url="https://github.com/gdabah/distorm"
license=('GPL3')
#depends=("${MINGW_PACKAGE_PREFIX}-python2")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc")
optdepends=("${MINGW_PACKAGE_PREFIX}-python2")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-python3")
optdepends=("${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-python3")
options=('strip' 'staticlibs')
source=(${_realname}-${pkgver}.tar.gz::https://github.com/gdabah/distorm/archive/v${pkgver}.tar.gz
Makefile
001-detect-mingw-python.patch)
sha256sums=('28e766b116a9b8294ff5ceb1dcfd83a9b0e2ffba1dfbbb6ef84ab18f9b138aee'
sha256sums=('bf73d776d160b3d978c2117624eb80bd99ae4d8b59598553c40b11e3e159ce0d'
'a35882522a38d3ab685fd33dba746baf3704e6932e1c5707a8bd97e37ac51766'
'bbe2c5bc9a088f93017b0f730b9b8730e943855a89085863bc674b528b9f59bb')
'eb200545cf74a51b28c8cbbc994e5d9f52fcf86b2b0600625452d4d2f4555641')
prepare() {
cd ${_realname}-${pkgver}
patch -p1 -i ${srcdir}/001-detect-mingw-python.patch
cp -f ${srcdir}/Makefile make/win32/
cd ${srcdir}
cp -rf ${_realname}-${pkgver} ${_realname}-${pkgver}-py2
cp -rf ${_realname}-${pkgver} ${_realname}-${pkgver}-py3
sed -e '1i#!/usr/bin/env python3' -i ${_realname}-${pkgver}-py3/examples/python/sample.py
sed -e '1i#!/usr/bin/env python2' -i ${_realname}-${pkgver}-py2/examples/python/sample.py
}
build() {
cd ${_realname}-${pkgver}
cd ${srcdir}/${_realname}-${pkgver}-py2
make -C make/win32
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python2 setup.py build
cd ${srcdir}/${_realname}-${pkgver}-py3
make -C make/win32
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python3 setup.py build
}
package() {
cd ${_realname}-${pkgver}
cd ${srcdir}/${_realname}-${pkgver}-py2
make -C make/win32 DESTDIR="${pkgdir}" INSTALL_PREFIX=${MINGW_PREFIX} install
sed -e '1i#!/usr/bin/env python2' -i python/distorm3/sample.py
install -Dm 755 python/distorm3/sample.py "${pkgdir}${MINGW_PREFIX}/bin/disasm.py"
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python2 setup.py install --prefix=${MINGW_PREFIX#\/} --root="${pkgdir}" -O1
${MINGW_PREFIX}/bin/python2 setup.py install --prefix=${MINGW_PREFIX#\/} --root="${pkgdir}" --skip-build -O1
install -Dm 644 include/*.h -t "${pkgdir}${MINGW_PREFIX}/include"
install -Dm 644 COPYING "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE"
install -Dm 755 examples/python/sample.py -t "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/sample.py"
cd ${srcdir}/${_realname}-${pkgver}-py3
MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \
${MINGW_PREFIX}/bin/python3 setup.py install --prefix=${MINGW_PREFIX#\/} --root="${pkgdir}" --skip-build -O1
install -Dm 755 examples/python/sample.py -t "${pkgdir}${MINGW_PREFIX}/share/doc/${_realname}/sample3.py"
}