From 4ee63411fdbbe5befdea40df44f76e9a01351abf Mon Sep 17 00:00:00 2001 From: Alexey Pavlov Date: Thu, 16 May 2019 11:52:12 +0300 Subject: [PATCH] python_ics: New 4.0 release. Python 2 support dropped --- mingw-w64-python-python_ics/PKGBUILD | 77 -------- mingw-w64-python2-python_ics/PKGBUILD | 41 ++++ .../mingw-build.patch | 0 mingw-w64-python3-python_ics/PKGBUILD | 41 ++++ .../mingw-build.patch | 177 ++++++++++++++++++ 5 files changed, 259 insertions(+), 77 deletions(-) delete mode 100644 mingw-w64-python-python_ics/PKGBUILD create mode 100644 mingw-w64-python2-python_ics/PKGBUILD rename {mingw-w64-python-python_ics => mingw-w64-python2-python_ics}/mingw-build.patch (100%) create mode 100644 mingw-w64-python3-python_ics/PKGBUILD create mode 100644 mingw-w64-python3-python_ics/mingw-build.patch diff --git a/mingw-w64-python-python_ics/PKGBUILD b/mingw-w64-python-python_ics/PKGBUILD deleted file mode 100644 index fe03da677d..0000000000 --- a/mingw-w64-python-python_ics/PKGBUILD +++ /dev/null @@ -1,77 +0,0 @@ -# Maintainer: Alexey Pavlov - -_realname=python_ics -pkgbase=mingw-w64-python-${_realname} -pkgname=("${MINGW_PACKAGE_PREFIX}-python2-${_realname}" "${MINGW_PACKAGE_PREFIX}-python3-${_realname}") -pkgver=3.1 -pkgrel=1 -pkgdesc="Python C Code module for interfacing to the icsneo40 dynamic library (mingw-w64)" -arch=('any') -url='https://github.com/intrepidcs/python_ics/' -license=('MIT') -makedepends=("${MINGW_PACKAGE_PREFIX}-python2" - "${MINGW_PACKAGE_PREFIX}-python3" - "${MINGW_PACKAGE_PREFIX}-python3-setuptools" - "${MINGW_PACKAGE_PREFIX}-python2-setuptools") -options=('staticlibs' 'strip' '!debug') -source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/intrepidcs/python_ics/archive/${pkgver}.tar.gz" - mingw-build.patch) -sha512sums=('d2437950c77a4bf0f77d632bb04ce23e1cb6b8a19708d9ba0c01a5f0729fb17bce11b8037db959d08b0c9a9ed5471e49a1ad39e0db448146003576afd6325f61' - '3c8622868fc017ca8d7f4ceb7ab7bfd4e2bfb6cc9be437f0a923b02d525fa23e3349990b5dc055e04a47be79a01ecdcd6358b7169d6e4f23cbaa7e47425b3bd5') - -prepare() { - cd ${_realname}-${pkgver} - patch -p1 -i ${srcdir}/mingw-build.patch - - cd "${srcdir}" - for builddir in python{2,3}-build-${CARCH}; do - rm -rf ${builddir} | true - cp -r "${_realname}-${pkgver}" "${builddir}" - done -} - -build() { - for pver in {2,3}; do - msg "Python ${pver} build for ${CARCH}" - cd "${srcdir}/python${pver}-build-${CARCH}" - ${MINGW_PREFIX}/bin/python${pver} setup.py build - done -} - -package_python3-python_ics() { - depends=("${MINGW_PACKAGE_PREFIX}-python3") - - cd "${srcdir}/python3-build-${CARCH}" - MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ - ${MINGW_PREFIX}/bin/python3 setup.py install --prefix=${MINGW_PREFIX} \ - --root="${pkgdir}" --optimize=1 --skip-build - - #install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-${_realname}/LICENSE.txt" -} - -package_python2-python_ics() { - depends=("${MINGW_PACKAGE_PREFIX}-python2") - - cd "${srcdir}/python2-build-${CARCH}" - MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ - ${MINGW_PREFIX}/bin/python2 setup.py install --prefix=${MINGW_PREFIX} \ - --root="${pkgdir}" --optimize=1 --skip-build - - #install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python2-${_realname}/LICENSE.txt" -} - -package_mingw-w64-i686-python2-python_ics() { - package_python2-python_ics -} - -package_mingw-w64-i686-python3-python_ics() { - package_python3-python_ics -} - -package_mingw-w64-x86_64-python2-python_ics() { - package_python2-python_ics -} - -package_mingw-w64-x86_64-python3-python_ics() { - package_python3-python_ics -} diff --git a/mingw-w64-python2-python_ics/PKGBUILD b/mingw-w64-python2-python_ics/PKGBUILD new file mode 100644 index 0000000000..d1b6c9de14 --- /dev/null +++ b/mingw-w64-python2-python_ics/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Alexey Pavlov + +_realname=python_ics +pkgbase=mingw-w64-python2-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-python2-${_realname}") +pkgver=3.1 +pkgrel=1 +pkgdesc="Python C Code module for interfacing to the icsneo40 dynamic library (mingw-w64)" +arch=('any') +url='https://github.com/intrepidcs/python_ics/' +license=('MIT') +depends=("${MINGW_PACKAGE_PREFIX}-python2") +makedepends=("${MINGW_PACKAGE_PREFIX}-python2" + "${MINGW_PACKAGE_PREFIX}-python2-setuptools") +options=('staticlibs' 'strip' '!debug') +source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/intrepidcs/python_ics/archive/${pkgver}.tar.gz" + mingw-build.patch) +sha512sums=('d2437950c77a4bf0f77d632bb04ce23e1cb6b8a19708d9ba0c01a5f0729fb17bce11b8037db959d08b0c9a9ed5471e49a1ad39e0db448146003576afd6325f61' + '3c8622868fc017ca8d7f4ceb7ab7bfd4e2bfb6cc9be437f0a923b02d525fa23e3349990b5dc055e04a47be79a01ecdcd6358b7169d6e4f23cbaa7e47425b3bd5') + +prepare() { + cd ${_realname}-${pkgver} + patch -p1 -i ${srcdir}/mingw-build.patch + + cd "${srcdir}" + cp -r "${_realname}-${pkgver}" "python2-build-${CARCH}" +} + +build() { + cd "${srcdir}/python2-build-${CARCH}" + ${MINGW_PREFIX}/bin/python2 setup.py build +} + +package() { + cd "${srcdir}/python2-build-${CARCH}" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python2 setup.py install --prefix=${MINGW_PREFIX} \ + --root="${pkgdir}" --optimize=1 --skip-build + + #install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python2-${_realname}/LICENSE.txt" +} diff --git a/mingw-w64-python-python_ics/mingw-build.patch b/mingw-w64-python2-python_ics/mingw-build.patch similarity index 100% rename from mingw-w64-python-python_ics/mingw-build.patch rename to mingw-w64-python2-python_ics/mingw-build.patch diff --git a/mingw-w64-python3-python_ics/PKGBUILD b/mingw-w64-python3-python_ics/PKGBUILD new file mode 100644 index 0000000000..3d59de877e --- /dev/null +++ b/mingw-w64-python3-python_ics/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Alexey Pavlov + +_realname=python_ics +pkgbase=mingw-w64-python2-${_realname} +pkgname=("${MINGW_PACKAGE_PREFIX}-python3-${_realname}") +pkgver=4.0 +pkgrel=1 +pkgdesc="Python C Code module for interfacing to the icsneo40 dynamic library (mingw-w64)" +arch=('any') +url='https://github.com/intrepidcs/python_ics/' +license=('MIT') +depends=("${MINGW_PACKAGE_PREFIX}-python3") +makedepends=("${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-python3-setuptools") +options=('staticlibs' 'strip' '!debug') +source=("${_realname}-${pkgver}.tar.gz"::"https://github.com/intrepidcs/python_ics/archive/v${pkgver}.tar.gz" + mingw-build.patch) +sha512sums=('ef6dd23802df96ecb3c832d61247bae2478525c109d883513df7adcedb695315b03df301a72392db6a43aae1df1368d46f61352cbe9aac9d2b8b3f867ae8981e' + '3c8622868fc017ca8d7f4ceb7ab7bfd4e2bfb6cc9be437f0a923b02d525fa23e3349990b5dc055e04a47be79a01ecdcd6358b7169d6e4f23cbaa7e47425b3bd5') + +prepare() { + cd ${_realname}-${pkgver} + patch -p1 -i ${srcdir}/mingw-build.patch + + cd "${srcdir}" + cp -r "${_realname}-${pkgver}" "python3-build-${CARCH}" +} + +build() { + cd "${srcdir}/python3-build-${CARCH}" + ${MINGW_PREFIX}/bin/python3 setup.py build +} + +package() { + cd "${srcdir}/python3-build-${CARCH}" + MSYS2_ARG_CONV_EXCL="--prefix=;--install-scripts=;--install-platlib=" \ + ${MINGW_PREFIX}/bin/python3 setup.py install --prefix=${MINGW_PREFIX} \ + --root="${pkgdir}" --optimize=1 --skip-build + + #install -Dm644 LICENSE.txt "${pkgdir}${MINGW_PREFIX}/share/licenses/python3-${_realname}/LICENSE.txt" +} diff --git a/mingw-w64-python3-python_ics/mingw-build.patch b/mingw-w64-python3-python_ics/mingw-build.patch new file mode 100644 index 0000000000..cc14a63208 --- /dev/null +++ b/mingw-w64-python3-python_ics/mingw-build.patch @@ -0,0 +1,177 @@ +diff -Naur python_ics-2.15/src/methods.cpp python2-build-x86_64/src/methods.cpp +--- python_ics-2.15/src/methods.cpp 2018-12-21 13:58:55.346242300 +0300 ++++ python2-build-x86_64/src/methods.cpp 2018-12-21 13:56:07.033930100 +0300 +@@ -38,7 +38,7 @@ + extern PyTypeObject spy_message_object_type; + // __func__, __FUNCTION__ and __PRETTY_FUNCTION__ are not preprocessor macros. + // but MSVC doesn't follow c standard and treats __FUNCTION__ as a string literal macro... +-#if (defined(_WIN32) || defined(__WIN32__)) ++#if defined(_MSC_VER) + #define arg_parse(a,f) a f + #else + const char* arg_parse(const char* args, const char* func) +@@ -182,7 +182,7 @@ + if (device_type && PyLong_Check(device_type)) + #else + if (device_type && PyInt_Check(device_type)) +-#endif PY_MAJOR_VERSION >= 3 ++#endif // PY_MAJOR_VERSION >= 3 + { + legacy_dev_type = PyLong_AsLong(device_type); + use_legacy_device_type = true; +@@ -1297,7 +1297,7 @@ + } + + #define _get_vcan3_settings(handle) __get_vcan3_settings(handle, __FUNCTION__); +-static PyObject* __get_vcan3_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_vcan3_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&vcan3_settings_object_type, NULL); + if (!settings) { +@@ -1334,7 +1334,7 @@ + } + + #define _get_vcan412_settings(handle) __get_vcan412_settings(handle, __FUNCTION__); +-static PyObject* __get_vcan412_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_vcan412_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&vcan412_settings_object_type, NULL); + if (!settings) { +@@ -1377,7 +1377,7 @@ + + #if 0 // Not implemented in 802 + #define _get_vcan4_settings(handle) __get_vcan4_settings(handle, __FUNCTION__); +-static PyObject* __get_vcan4_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_vcan4_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&vcan4_settings_object_type, NULL); + if (!settings) { +@@ -1430,7 +1430,7 @@ + #endif // 0 + + #define _get_vcanrf_settings(handle) __get_vcanrf_settings(handle, __FUNCTION__); +-static PyObject* __get_vcanrf_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_vcanrf_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&vcanrf_settings_object_type, NULL); + if (!settings) { +@@ -1496,7 +1496,7 @@ + } + + #define _get_fire_settings(handle) __get_fire_settings(handle, __FUNCTION__); +-static PyObject* __get_fire_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_fire_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&fire_settings_object_type, NULL); + if (!settings) { +@@ -1593,7 +1593,7 @@ + } + + #define _get_cyan_settings(handle) __get_cyan_settings(handle, __FUNCTION__); +-static PyObject* __get_cyan_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_cyan_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&cyan_settings_object_type, NULL); + if (!settings) { +@@ -1706,7 +1706,7 @@ + } + + #define _get_rad_galaxy_settings(handle) __get_rad_galaxy_settings(handle, __FUNCTION__); +-static PyObject* __get_rad_galaxy_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_rad_galaxy_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&rad_galaxy_settings_object_type, NULL); + if (!settings) { +@@ -1792,7 +1792,7 @@ + } + + #define _get_vividcan_settings(handle) __get_vividcan_settings(handle, __FUNCTION__); +-static PyObject* __get_vividcan_settings(ICS_HANDLE handle, char* func_name) ++static PyObject* __get_vividcan_settings(ICS_HANDLE handle, const char* func_name) + { + PyObject* settings = PyObject_CallObject((PyObject*)&vividcan_settings_object_type, NULL); + if (!settings) { +@@ -1914,7 +1914,7 @@ + return set_ics_exception(exception_runtime_error(), "This is a bug!"); + } + +-static PyObject* __set_vcan3_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_vcan3_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +@@ -1945,7 +1945,7 @@ + } + #define _set_vcan3_settings(handle, settings, save) __set_vcan3_settings(handle, settings, save, __FUNCTION__); + +-static PyObject* __set_vcan412_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_vcan412_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +@@ -1982,7 +1982,7 @@ + #define _set_vcan412_settings(handle, settings, save) __set_vcan412_settings(handle, settings, save, __FUNCTION__); + + #if 0 // not implemented in 802 +-static PyObject* __set_vcan4_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_vcan4_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +@@ -2029,7 +2029,7 @@ + #define _set_vcan4_settings(handle, settings, save) __set_vcan4_settings(handle, settings, save, __FUNCTION__); + #endif // 0 + +-static PyObject* __set_vcanrf_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_vcanrf_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +@@ -2081,7 +2081,7 @@ + } + #define _set_vcanrf_settings(handle, settings, save) __set_vcanrf_settings(handle, settings, save, __FUNCTION__); + +-static PyObject* __set_fire_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_fire_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +@@ -2156,7 +2156,7 @@ + } + #define _set_fire_settings(handle, settings, save) __set_fire_settings(handle, settings, save, __FUNCTION__); + +-static PyObject* __set_cyan_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_cyan_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +@@ -2248,7 +2248,7 @@ + } + #define _set_cyan_settings(handle, settings, save) __set_cyan_settings(handle, settings, save, __FUNCTION__); + +-static PyObject* __set_rad_galaxy_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_rad_galaxy_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +@@ -2324,7 +2324,7 @@ + } + #define _set_rad_galaxy_settings(handle, settings, save) __set_rad_galaxy_settings(handle, settings, save, __FUNCTION__); + +-static PyObject* __set_vividcan_settings(ICS_HANDLE handle, PyObject* settings, int& save, char* func_name) ++static PyObject* __set_vividcan_settings(ICS_HANDLE handle, PyObject* settings, int& save, const char* func_name) + { + try + { +diff -Naur python_ics-2.15/include/object_vcanrf_settings.h python2-build-x86_64/include/object_vcanrf_settings.h +--- python_ics-2.15/include/object_vcanrf_settings.h 2018-07-16 21:07:55.000000000 +0300 ++++ python2-build-x86_64/include/object_vcanrf_settings.h 2018-12-21 13:24:14.969597400 +0300 +@@ -63,7 +63,7 @@ + { "idle_wakeup_network_enables_1", T_USHORT, offsetof(vcanrf_settings_object, s.idle_wakeup_network_enables_1), 0, "" }, + { "idle_wakeup_network_enables_2", T_USHORT, offsetof(vcanrf_settings_object, s.idle_wakeup_network_enables_2), 0, "" }, + //{ "reservedZero", T_USHORT, offsetof(vcanrf_settings_object, s.reservedZero), 0, "" }, +- { NULL, 0, 0, 0, 0 }, ++ { NULL, 0, 0, 0, NULL }, + }; + + static int vcanrf_settings_object_init(vcanrf_settings_object* self, PyObject* args, PyObject* kwds)