Add PySide packages for Qt4

This commit is contained in:
Alexpux
2015-06-27 09:55:09 +03:00
parent c4db49e236
commit 9bc36e4dab
9 changed files with 601 additions and 0 deletions

View File

@@ -0,0 +1,141 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Xin Sun <sun.simpson@gmail.com>
_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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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}

View File

@@ -0,0 +1,123 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Xin Sun <sun.simpson@gmail.com>
_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
}

View File

@@ -0,0 +1,156 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
# Contributor: Xin Sun <sun.simpson@gmail.com>
_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
}

View File

@@ -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
}

View File

@@ -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
}

View File

@@ -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<unsigned long>(this); }
+ inline uintptr_t identifier() const { return reinterpret_cast<uintptr_t>(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 <math.h>
#include <float.h>
+#ifndef __MINGW64_VERSION_MAJOR
static inline bool isfinite(double a) { return _finite(a); }
+#endif
#else
#include <cmath>
#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 ";