diff --git a/mingw-w64-pyside-qt4/PKGBUILD b/mingw-w64-pyside-qt4/PKGBUILD new file mode 100644 index 0000000000..69ddfe2e66 --- /dev/null +++ b/mingw-w64-pyside-qt4/PKGBUILD @@ -0,0 +1,141 @@ +# Maintainer: Alexey Pavlov +# Contributor: Xin Sun + +_realname=pyside +pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-common ${MINGW_PACKAGE_PREFIX}-python{2,3}-${_realname}) +pkgver=1.2.2 +pkgrel=1 +arch=('any') +url="http://pyside.github.io/docs/pyside/" +license=("LGPL") +install=${_realname}-${CARCH}.install +source=(https://pypi.python.org/packages/source/P/PySide/PySide-${pkgver}.tar.gz + pyside.patch) +md5sums=('c45bc400c8a86d6b35f34c29e379e44d' + 'c56a8aa26cb6c940f2bd992e58567e80') +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-python2-shiboken" + "${MINGW_PACKAGE_PREFIX}-python3-shiboken" + "${MINGW_PACKAGE_PREFIX}-qt4") +options=('staticlibs' 'strip') + +prepare() { + cd ${srcdir}/${_realname}-${pkgver} + patch -p1 -i ${srcdir}/pyside.patch +} + +build() { + for pyv in python2 python3; do + local _conf= + if [ "${pyv}" = "python2" ]; then + _conf="-DPYTHON_SUFFIX=-python2.7" + fi + [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} + cp -rf PySide-${pkgver} build-${MINGW_CHOST}-${pyv} + pushd ${srcdir}/build-${MINGW_CHOST}-${pyv}/sources/pyside > /dev/null + + export MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + -DCMAKE_BUILD_TYPE=RELEASE \ + ${_conf} \ + -DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/${pyv}.exe + + make + + popd > /dev/null + done + +} + +fix_paths() { + local prefixwin=$(cygpath -am ${MINGW_PREFIX}) + local prefixinst=$(cygpath -am ${pkgdir}${MINGW_PREFIX}) + + local _files=$(find ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide-${pkgver} -type f -iname "*.cmake" -o -iname "*.pc") + for f in ${_files}; do + plain "Patching ${f}..." + sed -e "s|${prefixwin}|${MINGW_PREFIX}|g" \ + -e "s|${prefixinst}|${MINGW_PREFIX}|g" \ + -i ${f} + done +} + +package_pyside-common() { + pkgdesc="Provides LGPL Qt bindings for Python and related tools for binding generation (Common files)(mingw-w64)" + + cd ${srcdir}/build-${MINGW_CHOST}-python3/sources/pyside + make DESTDIR=${pkgdir} install + + rm -rf ${pkgdir}${MINGW_PREFIX}/bin + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/python* + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/libpyside* + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide-${pkgver}/PySideConfig*python*.cmake + + fix_paths +} + +package_python2-pyside() { + pkgdesc="Provides LGPL Qt bindings for Python and related tools for binding generation (Python2)(mingw-w64)" + makedepends=("${MINGW_PACKAGE_PREFIX}-pyside-common" + "${MINGW_PACKAGE_PREFIX}-python2" + "${MINGW_PACKAGE_PREFIX}-python2-shiboken" + "${MINGW_PACKAGE_PREFIX}-qt4") + + cd ${srcdir}/build-${MINGW_CHOST}-python2/sources/pyside + make DESTDIR=${pkgdir} install + + #install -Dm644 PySideConfig-python2.7.cmake ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide-${pkgver}/ + mv ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/pyside{,-py2}.pc + + rm -rf ${pkgdir}${MINGW_PREFIX}/{include,share} + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide-${pkgver}/PySideConfigVersion.cmake + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide-${pkgver}/PySideConfig.cmake + + fix_paths +} + +package_python3-pyside() { + pkgdesc="Provides LGPL Qt bindings for Python and related tools for binding generation (Python3)(mingw-w64)" + makedepends=("${MINGW_PACKAGE_PREFIX}-pyside-common" + "${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-python3-shiboken" + "${MINGW_PACKAGE_PREFIX}-qt4") + + cd ${srcdir}/build-${MINGW_CHOST}-python3/sources/pyside + make DESTDIR=${pkgdir} install + + rm -rf ${pkgdir}${MINGW_PREFIX}/{include,share} + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide-${pkgver}/PySideConfigVersion.cmake + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide-${pkgver}/PySideConfig.cmake + + fix_paths +} + +# Wrappers +package_mingw-w64-i686-pyside-common() { + package_pyside-common +} + +package_mingw-w64-i686-python2-pyside() { + package_python2-pyside +} + +package_mingw-w64-i686-python3-pyside() { + package_python3-pyside +} + +package_mingw-w64-x86_64-pyside-common() { + package_pyside-common +} + +package_mingw-w64-x86_64-python2-pyside() { + package_python2-pyside +} + +package_mingw-w64-x86_64-python3-pyside() { + package_python3-pyside +} diff --git a/mingw-w64-pyside-qt4/pyside-i686.install b/mingw-w64-pyside-qt4/pyside-i686.install new file mode 100644 index 0000000000..40f180a3df --- /dev/null +++ b/mingw-w64-pyside-qt4/pyside-i686.install @@ -0,0 +1,14 @@ +post_install() { + cd mingw32 + local _prefix=$(pwd -W) + cd - + for f in mingw32/lib/cmake/PySide-*/*.cmake; do + # Do it twice if we already process one of the files + sed -e "s|${_prefix}|/mingw32|g" -i ${f} + sed -e "s|/mingw32|${_prefix}|g" -i ${f} + done +} + +post_upgrade() { + post_install +} diff --git a/mingw-w64-pyside-qt4/pyside-x86_64.install b/mingw-w64-pyside-qt4/pyside-x86_64.install new file mode 100644 index 0000000000..d5ca01db90 --- /dev/null +++ b/mingw-w64-pyside-qt4/pyside-x86_64.install @@ -0,0 +1,14 @@ +post_install() { + cd mingw64 + local _prefix=$(pwd -W) + cd - + for f in mingw64/lib/cmake/PySide-*/*.cmake; do + # Do it twice if we already process one of the files + sed -e "s|${_prefix}|/mingw64|g" -i ${f} + sed -e "s|/mingw64|${_prefix}|g" -i ${f} + done +} + +post_upgrade() { + post_install +} diff --git a/mingw-w64-pyside-qt4/pyside.patch b/mingw-w64-pyside-qt4/pyside.patch new file mode 100644 index 0000000000..c1a21fcdb8 --- /dev/null +++ b/mingw-w64-pyside-qt4/pyside.patch @@ -0,0 +1,57 @@ +--- PySide-1.2.2/sources/pyside/CMakeLists.txt.orig 2015-06-26 11:33:00.602600000 +0300 ++++ PySide-1.2.2/sources/pyside/CMakeLists.txt 2015-06-26 11:33:35.406200000 +0300 +@@ -31,6 +31,9 @@ + if(MSVC) + set(CMAKE_CXX_FLAGS "/Zc:wchar_t- /GR /EHsc /DNOCOLOR /DWIN32 /D_WINDOWS /D_SCL_SECURE_NO_WARNINGS") + else() ++ if(MINGW) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWIN32 -D_WINDOWS") ++ endif() + if(CMAKE_HOST_UNIX AND NOT CYGWIN) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden -Wno-strict-aliasing") + endif() +--- PySide-1.2.2/sources/pyside/cmake/Macros/PySideModules.cmake.orig 2015-06-26 11:55:02.330400000 +0300 ++++ PySide-1.2.2/sources/pyside/cmake/Macros/PySideModules.cmake 2015-06-26 12:29:31.912800000 +0300 +@@ -22,8 +22,8 @@ + add_custom_command(OUTPUT ${${module_sources}} + COMMAND ${SHIBOKEN_BINARY} ${GENERATOR_EXTRA_FLAGS} + ${pyside_BINARY_DIR}/pyside_global.h +- --include-paths=${pyside_SOURCE_DIR}${PATH_SEP}${QT_INCLUDE_DIR} +- --typesystem-paths=${pyside_SOURCE_DIR}${PATH_SEP}${${module_typesystem_path}} ++ --include-paths="${pyside_SOURCE_DIR}${PATH_SEP}${QT_INCLUDE_DIR}" ++ --typesystem-paths="${pyside_SOURCE_DIR}${PATH_SEP}${${module_typesystem_path}}" + --output-directory=${CMAKE_CURRENT_BINARY_DIR} + --license-file=${CMAKE_CURRENT_SOURCE_DIR}/../licensecomment.txt + ${typesystem_path} +--- PySide-1.2.2/sources/pyside/PySide/QtCore/CMakeLists.txt.orig 2015-06-26 18:45:26.695000000 +0300 ++++ PySide-1.2.2/sources/pyside/PySide/QtCore/CMakeLists.txt 2015-06-26 18:45:55.158800000 +0300 +@@ -42,7 +42,7 @@ + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/point_wrapper.cpp + ) + else() +- set(SPECIFIC_OS_FILES "") ++ set(SPECIFIC_OS_FILES ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsystemsemaphore_wrapper.cpp) + endif() + + set(QtCore_SRC +@@ -111,7 +111,6 @@ + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsocketnotifier_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsysinfo_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsystemlocale_wrapper.cpp +-${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qsystemsemaphore_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qt_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qtconcurrent_wrapper.cpp + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtCore/qtcore_module_wrapper.cpp +--- PySide-1.2.2/sources/pyside/tests/pysidetest/CMakeLists.txt.orig 2015-06-26 12:32:49.376400000 +0300 ++++ PySide-1.2.2/sources/pyside/tests/pysidetest/CMakeLists.txt 2015-06-26 12:33:01.903200000 +0300 +@@ -36,8 +36,8 @@ + add_custom_command(OUTPUT ${testbinding_SRC} + COMMAND ${SHIBOKEN_BINARY} ${GENERATOR_EXTRA_FLAGS} + ${CMAKE_CURRENT_SOURCE_DIR}/pysidetest_global.h +- --include-paths=${pyside_BINARY_DIR}${PATH_SEP}${CMAKE_CURRENT_SOURCE_DIR}${PATH_SEP}${QT_INCLUDE_DIR}${PATH_SEP}${QT_QTCORE_INCLUDE_DIR}${PATH_SEP}${QT_QTGUI_INCLUDE_DIR} +- --typesystem-paths=${CMAKE_CURRENT_SOURCE_DIR}${PATH_SEP}${pyside_SOURCE_DIR}${PATH_SEP}${QtCore_SOURCE_DIR}${PATH_SEP}${QtCore_BINARY_DIR}${PATH_SEP}${QtGui_SOURCE_DIR}${PATH_SEP}${QtGui_BINARY_DIR} ++ --include-paths="${pyside_BINARY_DIR}${PATH_SEP}${CMAKE_CURRENT_SOURCE_DIR}${PATH_SEP}${QT_INCLUDE_DIR}${PATH_SEP}${QT_QTCORE_INCLUDE_DIR}${PATH_SEP}${QT_QTGUI_INCLUDE_DIR}" ++ --typesystem-paths="${CMAKE_CURRENT_SOURCE_DIR}${PATH_SEP}${pyside_SOURCE_DIR}${PATH_SEP}${QtCore_SOURCE_DIR}${PATH_SEP}${QtCore_BINARY_DIR}${PATH_SEP}${QtGui_SOURCE_DIR}${PATH_SEP}${QtGui_BINARY_DIR}" + --output-directory=${CMAKE_CURRENT_BINARY_DIR} + ${CMAKE_CURRENT_SOURCE_DIR}/typesystem_pysidetest.xml + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} diff --git a/mingw-w64-pyside-tools-qt4/PKGBUILD b/mingw-w64-pyside-tools-qt4/PKGBUILD new file mode 100644 index 0000000000..531da63fb1 --- /dev/null +++ b/mingw-w64-pyside-tools-qt4/PKGBUILD @@ -0,0 +1,123 @@ +# Maintainer: Alexey Pavlov +# Contributor: Xin Sun + +_realname=pyside-tools +pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-common ${MINGW_PACKAGE_PREFIX}-python{2,3}-${_realname}) +pkgver=1.2.2 +pkgrel=1 +pkgdesc="Python bindings for Qt4 (mingw-w64)" +arch=('any') +url="http://pyside.github.io/docs/pyside/" +license=("LGPL") +source=(https://pypi.python.org/packages/source/P/PySide/PySide-${pkgver}.tar.gz) +md5sums=('c45bc400c8a86d6b35f34c29e379e44d') +makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cmake" + "${MINGW_PACKAGE_PREFIX}-python2-pyside" + "${MINGW_PACKAGE_PREFIX}-python3-pyside" + "${MINGW_PACKAGE_PREFIX}-qt4") +options=('staticlibs' 'strip') + +prepare() { + cd ${srcdir}/PySide-${pkgver} +} + +build() { + for pyv in python2 python3; do + local _conf= + if [ "${pyv}" = "python2" ]; then + _conf="-DPYTHON_SUFFIX=-python2.7 -DPYTHON_BASENAME=-python2.7" + fi + [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} + cp -rf PySide-${pkgver} build-${MINGW_CHOST}-${pyv} + pushd ${srcdir}/build-${MINGW_CHOST}-${pyv}/sources/pyside-tools > /dev/null + + export MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + ${_conf} \ + -DCMAKE_BUILD_TYPE=RELEASE \ + + make + + popd > /dev/null + done + +} + +package_pyside-tools-common() { + pkgdesc="PySide lupdate, rcc, and uic development tools (Common Files) (mingw-w64)" + depends=("${MINGW_PACKAGE_PREFIX}-qt4") + + cd ${srcdir}/build-${MINGW_CHOST}-python3/sources/pyside-tools + make DESTDIR=${pkgdir} install + + rm -rf "${pkgdir}${MINGW_PREFIX}"/lib + rm -f "${pkgdir}${MINGW_PREFIX}"/bin/pyside-uic + rm -f "${pkgdir}${MINGW_PREFIX}"/share/man/man1/pyside-uic* +} + +package_python2-pyside-tools() { + pkgdesc="PySide lupdate, rcc, and uic development tools (for Python 2) (mingw-w64)" + makedepends=("${MINGW_PACKAGE_PREFIX}-pyside-tools-common" + "${MINGW_PACKAGE_PREFIX}-python2-pyside") + + cd ${srcdir}/build-${MINGW_CHOST}-python2/sources/pyside-tools + make DESTDIR=${pkgdir} install + + find "${pkgdir}${MINGW_PREFIX}" -type f -exec \ + sed -i -e '1 s|^#! *${MINGW_PREFIX}/bin/python[0-9.]*|#!${MINGW_PREFIX}/bin/python2|' \ + -e '1 s|^#! *${MINGW_PREFIX}/bin/env python[0-9.]*|#!${MINGW_PREFIX}/bin/env python2|' {} + + + mv "${pkgdir}${MINGW_PREFIX}"/bin/{,python2-}pyside-uic + mv "${pkgdir}${MINGW_PREFIX}"/share/man/man1/{,python2-}pyside-uic.1 + + rm -rf "${pkgdir}${MINGW_PREFIX}"/lib/python2*/site-packages/pysideuic/{port_v3,pyside-uic.1} + rm -f "${pkgdir}${MINGW_PREFIX}"/bin/pyside-{lupdate,rcc} + rm -f "${pkgdir}${MINGW_PREFIX}"/share/man/man1/pyside-{lupdate,rcc}* + + ${MINGW_PREFIX}/bin/python2 -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python2*/site-packages/pysideuic/ + ${MINGW_PREFIX}/bin/python2 -O -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python2*/site-packages/pysideuic/ +} + +package_python3-pyside-tools() { + pkgdesc="PySide lupdate, rcc, and uic development tools (for Python 3) (mingw-w64)" + makedepends=("${MINGW_PACKAGE_PREFIX}-pyside-tools-common" + "${MINGW_PACKAGE_PREFIX}-python3-pyside") + + cd ${srcdir}/build-${MINGW_CHOST}-python3/sources/pyside-tools + make DESTDIR=${pkgdir} install + + rm -rf "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pysideuic/{port_v2,pyside-uic.1} + rm -f "${pkgdir}${MINGW_PREFIX}"/bin/pyside-{lupdate,rcc} + rm -f "${pkgdir}${MINGW_PREFIX}"/share/man/man1/pyside-{lupdate,rcc}* + + ${MINGW_PREFIX}/bin/python3 -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pysideuic/ + ${MINGW_PREFIX}/bin/python3 -O -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pysideuic/ +} + +# Wrappers +package_mingw-w64-i686-pyside-tools-common() { + package_pyside-tools-common +} + +package_mingw-w64-i686-python2-pyside-tools() { + package_python2-pyside-tools +} + +package_mingw-w64-i686-python3-pyside-tools() { + package_python3-pyside-tools +} + +package_mingw-w64-x86_64-pyside-tools-common() { + package_pyside-tools-common +} + +package_mingw-w64-x86_64-python2-pyside-tools() { + package_python2-pyside-tools +} + +package_mingw-w64-x86_64-python3-pyside-tools() { + package_python3-pyside-tools +} diff --git a/mingw-w64-shiboken-qt4/PKGBUILD b/mingw-w64-shiboken-qt4/PKGBUILD new file mode 100644 index 0000000000..4384455730 --- /dev/null +++ b/mingw-w64-shiboken-qt4/PKGBUILD @@ -0,0 +1,156 @@ +# Maintainer: Alexey Pavlov +# Contributor: Xin Sun + +_realname=shiboken +pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname} ${MINGW_PACKAGE_PREFIX}-python{2,3}-${_realname}) +pkgver=1.2.2 +pkgrel=1 +arch=('any') +url="http://pyside.github.io/docs/pyside/" +license=("LGPL") +install=${_realname}-${CARCH}.install +source=(https://pypi.python.org/packages/source/P/PySide/PySide-${pkgver}.tar.gz + shiboken.patch) +md5sums=('c45bc400c8a86d6b35f34c29e379e44d' + 'ae1f4fb9f824adb3246fbfda2e0e577e') +makedepends=("${MINGW_PACKAGE_PREFIX}-libxml2" + "${MINGW_PACKAGE_PREFIX}-libxslt" + "${MINGW_PACKAGE_PREFIX}-python2" + "${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-qt4" + "${MINGW_PACKAGE_PREFIX}-gcc" + "${MINGW_PACKAGE_PREFIX}-cmake") +options=('staticlibs' 'strip') + +prepare() { + cd ${srcdir}/PySide-${pkgver} + patch -p1 -i ${srcdir}/shiboken.patch +} + +build() { + for pyv in python2 python3; do + local _conf= + if [ "${pyv}" = "python3" ]; then + _conf="-DUSE_PYTHON3=yes" + fi + [[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST} + cp -rf PySide-${pkgver} build-${MINGW_CHOST}-${pyv} + pushd ${srcdir}/build-${MINGW_CHOST}-${pyv}/sources/shiboken > /dev/null + + export MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" + ${MINGW_PREFIX}/bin/cmake \ + -G"MSYS Makefiles" \ + -DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \ + ${_conf} \ + -DCMAKE_BUILD_TYPE=RELEASE \ + -DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/${pyv}.exe \ + + make + + popd > /dev/null + done + +} + +fix_paths() { + local prefixwin=$(cygpath -am ${MINGW_PREFIX}) + local prefixinst=$(cygpath -am ${pkgdir}${MINGW_PREFIX}) + + local _files=$(find ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver} -type f -iname "*.cmake" -o -iname "*.pc") + for f in ${_files}; do + plain "Patching ${f}..." + sed -e "s|${prefixwin}|${MINGW_PREFIX}|g" \ + -e "s|${prefixinst}|${MINGW_PREFIX}|g" \ + -i ${f} + done +} + +package_shiboken() { + pkgdesc="CPython bindings generator for C++ libraries (mingw-w64)" + makedepends=("${MINGW_PACKAGE_PREFIX}-libxml2" + "${MINGW_PACKAGE_PREFIX}-libxslt" + "${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-qt4") + + cd ${srcdir}/build-${MINGW_CHOST}-python3/sources/shiboken + make DESTDIR=${pkgdir} install + + cd ${srcdir}/build-${MINGW_CHOST}-python2/sources/shiboken/data + #install -Dm644 ShibokenConfig-python2.7.cmake ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver}/ + #install -Dm644 shiboken.pc ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/Shiboken-py2.pc + + rm ${pkgdir}${MINGW_PREFIX}/bin/*.dll + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/python* + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/libshiboken* + rm -rf ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver}/ShibokenConfig*python*.cmake + + fix_paths +} + +package_python2-shiboken() { + pkgdesc="Support library for Python2 bindings (mingw-w64)" + makedepends=("${MINGW_PACKAGE_PREFIX}-libxml2" + "${MINGW_PACKAGE_PREFIX}-libxslt" + "${MINGW_PACKAGE_PREFIX}-python2" + "${MINGW_PACKAGE_PREFIX}-shiboken" + "${MINGW_PACKAGE_PREFIX}-qt4") + + cd ${srcdir}/build-${MINGW_CHOST}-python2/sources/shiboken + make DESTDIR=${pkgdir} install + + cd data + install -Dm644 ShibokenConfig-python2.7.cmake ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver}/ + mv ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/shiboken{,-py2}.pc + + rm ${pkgdir}${MINGW_PREFIX}/bin/*.exe + rm -rf ${pkgdir}${MINGW_PREFIX}/{include,share} + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver}/ShibokenConfigVersion.cmake + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver}/ShibokenConfig.cmake + + fix_paths +} + +package_python3-shiboken() { + pkgdesc="Support library for Python3 bindings (mingw-w64)" + makedepends=("${MINGW_PACKAGE_PREFIX}-libxml2" + "${MINGW_PACKAGE_PREFIX}-libxslt" + "${MINGW_PACKAGE_PREFIX}-python3" + "${MINGW_PACKAGE_PREFIX}-shiboken" + "${MINGW_PACKAGE_PREFIX}-qt4") + + cd ${srcdir}/build-${MINGW_CHOST}-python3/sources/shiboken + make DESTDIR=${pkgdir} install + + rm ${pkgdir}${MINGW_PREFIX}/bin/*.exe + rm -rf ${pkgdir}${MINGW_PREFIX}/{include,share} + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver}/ShibokenConfigVersion.cmake + rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken-${pkgver}/ShibokenConfig.cmake + + fix_paths +} + +# Wrappers +package_mingw-w64-i686-shiboken() { + package_shiboken +} + +package_mingw-w64-i686-python2-shiboken() { + package_python2-shiboken +} + +package_mingw-w64-i686-python3-shiboken() { + package_python3-shiboken +} + +package_mingw-w64-x86_64-shiboken() { + package_shiboken +} + +package_mingw-w64-x86_64-python2-shiboken() { + package_python2-shiboken +} + +package_mingw-w64-x86_64-python3-shiboken() { + package_python3-shiboken +} diff --git a/mingw-w64-shiboken-qt4/shiboken-i686.install b/mingw-w64-shiboken-qt4/shiboken-i686.install new file mode 100644 index 0000000000..d5c739ecc5 --- /dev/null +++ b/mingw-w64-shiboken-qt4/shiboken-i686.install @@ -0,0 +1,14 @@ +post_install() { + cd mingw32 + local _prefix=$(pwd -W) + cd - + for f in mingw32/lib/cmake/Shiboken-*/*.cmake; do + # Do sed twice if we already process one of the files + sed -e "s|${_prefix}|/mingw32|g" -i ${f} + sed -e "s|/mingw32|${_prefix}|g" -i ${f} + done +} + +post_upgrade() { + post_install +} diff --git a/mingw-w64-shiboken-qt4/shiboken-x86_64.install b/mingw-w64-shiboken-qt4/shiboken-x86_64.install new file mode 100644 index 0000000000..6c5578ead7 --- /dev/null +++ b/mingw-w64-shiboken-qt4/shiboken-x86_64.install @@ -0,0 +1,14 @@ +post_install() { + cd mingw64 + local _prefix=$(pwd -W) + cd - + for f in mingw64/lib/cmake/Shiboken-*/*.cmake; do + # Do sed twice if we already process one of the files + sed -e "s|${_prefix}|/mingw64|g" -i ${f} + sed -e "s|/mingw64|${_prefix}|g" -i ${f} + done +} + +post_upgrade() { + post_install +} diff --git a/mingw-w64-shiboken-qt4/shiboken.patch b/mingw-w64-shiboken-qt4/shiboken.patch new file mode 100644 index 0000000000..b60a4fa2c7 --- /dev/null +++ b/mingw-w64-shiboken-qt4/shiboken.patch @@ -0,0 +1,68 @@ +--- PySide-1.2.2/sources/shiboken/CMakeLists.txt.orig 2015-06-26 11:25:44.610800000 +0300 ++++ PySide-1.2.2/sources/shiboken/CMakeLists.txt 2015-06-26 11:27:46.225600000 +0300 +@@ -49,6 +49,9 @@ + if(MSVC) + set(CMAKE_CXX_FLAGS "/Zc:wchar_t- /GR /EHsc /DWIN32 /D_WINDOWS /D_SCL_SECURE_NO_WARNINGS") + else() ++ if(MINGW) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DWIN32 -D_WINDOWS") ++ endif() + if(CMAKE_HOST_UNIX AND NOT CYGWIN) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden -Wno-strict-aliasing") + endif() +--- PySide-1.2.2/sources/shiboken/shibokenmodule/CMakeLists.txt.orig 2015-06-26 07:00:25.341400000 +0300 ++++ PySide-1.2.2/sources/shiboken/shibokenmodule/CMakeLists.txt 2015-06-26 07:00:39.974200000 +0300 +@@ -9,7 +9,7 @@ + ) + + add_custom_command(OUTPUT ${sample_SRC} +-COMMAND ${shibokengenerator_BINARY_DIR}/shiboken --project-file=${CMAKE_CURRENT_BINARY_DIR}/shibokenmodule.txt ${GENERATOR_EXTRA_FLAGS} ++COMMAND ${shibokengenerator_BINARY_DIR}/shiboken.exe --project-file=${CMAKE_CURRENT_BINARY_DIR}/shibokenmodule.txt ${GENERATOR_EXTRA_FLAGS} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Running generator for 'shiboken'..." + ) +--- PySide-1.2.2/sources/shiboken/tests/libsample/objecttype.h.orig 2015-06-26 10:11:42.262200000 +0300 ++++ PySide-1.2.2/sources/shiboken/tests/libsample/objecttype.h 2015-06-26 10:15:29.335800000 +0300 +@@ -70,7 +70,7 @@ + Str objectName() const; + void setObjectName(const Str& name); + +- inline unsigned long identifier() const { return reinterpret_cast(this); } ++ inline uintptr_t identifier() const { return reinterpret_cast(this); } + + bool causeEvent(Event::EventType eventType); + +--- PySide-1.2.2/sources/shiboken/tests/libsample/transform.cpp.orig 2015-06-26 07:02:00.766600000 +0300 ++++ PySide-1.2.2/sources/shiboken/tests/libsample/transform.cpp 2015-06-26 07:02:07.271800000 +0300 +@@ -27,7 +27,9 @@ + #ifdef _WIN32 + #include + #include ++#ifndef __MINGW64_VERSION_MAJOR + static inline bool isfinite(double a) { return _finite(a); } ++#endif + #else + #include + #endif +--- PySide-1.2.2/sources/shiboken/libshiboken/sbkpython.h.orig 2015-06-26 08:56:26.421800000 +0300 ++++ PySide-1.2.2/sources/shiboken/libshiboken/sbkpython.h 2015-06-26 08:56:29.666600000 +0300 +@@ -51,7 +51,7 @@ + #define SBK_STR_NAME "str" + #define SBK_PyMethod_New(X, Y) PyMethod_New(X, Y, (PyObject*)Py_TYPE(Y)) + +- #define Py_hash_t long ++ #define Py_hash_t Py_ssize_t + #endif + + #endif +--- PySide-1.2.2/sources/shiboken/generator/shiboken/overloaddata.cpp.orig 2015-06-26 10:00:46.779800000 +0300 ++++ PySide-1.2.2/sources/shiboken/generator/shiboken/overloaddata.cpp 2015-06-26 10:02:01.441400000 +0300 +@@ -882,7 +882,7 @@ + + s << "}" << endl; + } else { +- QString argId = QString("arg_%1").arg((ulong)this); ++ QString argId = QString("arg_%1").arg((uintptr_t)this); + s << argId << ';' << endl; + + s << indent << '"' << argId << "\" [shape=\"plaintext\" style=\"filled,bold\" margin=\"0\" fontname=\"freemono\" fillcolor=\"white\" penwidth=1 ";