diff --git a/mingw-w64-distorm/001-detect-mingw-python.patch b/mingw-w64-distorm/001-detect-mingw-python.patch index 85de50918d..d5903c798d 100644 --- a/mingw-w64-distorm/001-detect-mingw-python.patch +++ b/mingw-w64-distorm/001-detect-mingw-python.patch @@ -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', diff --git a/mingw-w64-distorm/PKGBUILD b/mingw-w64-distorm/PKGBUILD index c389a56a61..c0ad21c6c5 100644 --- a/mingw-w64-distorm/PKGBUILD +++ b/mingw-w64-distorm/PKGBUILD @@ -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" }