pyside2 [WIP]: Update to 5.14.2

This commit is contained in:
Alexey Pavlov
2020-04-21 12:07:41 +03:00
parent 1d745102af
commit 46fc26daf6
9 changed files with 99 additions and 459 deletions

View File

@@ -1,25 +1,25 @@
diff -Naur a/sources/pyside2/CMakeLists.txt b/sources/pyside2/CMakeLists.txt
--- a/sources/pyside2/CMakeLists.txt 2018-06-19 16:00:53.944984400 +0300
+++b/sources/pyside2/CMakeLists.txt 2018-06-19 16:18:12.926410700 +0300
@@ -498,7 +498,7 @@
endif()
@@ -232,7 +232,7 @@
use_protected_as_public_hack()
# Build with Address sanitizer enabled if requested. This may break things, so use at your own risk.
-if (SANITIZE_ADDRESS AND NOT MSVC)
+if (SANITIZE_ADDRESS AND NOT WIN32)
# Currently this does not check that the clang / gcc version used supports Address sanitizer,
# so once again, use at your own risk.
add_compile_options("-fsanitize=address" "-g" "-fno-omit-frame-pointer")
setup_sanitize_address()
endif()
--- a/sources/pyside2/cmake/Macros/PySideModules.cmake.orig 2015-06-26 11:55:02.330400000 +0300
+++ b/sources/pyside2/cmake/Macros/PySideModules.cmake 2015-06-26 12:29:31.912800000 +0300
@@ -83,9 +83,9 @@
add_custom_command(OUTPUT ${${module_sources}}
COMMAND "${SHIBOKEN_BINARY}" ${GENERATOR_EXTRA_FLAGS}
"${pyside2_BINARY_DIR}/${module_name}_global.h"
@@ -123,9 +123,9 @@
BYPRODUCTS ${${module_SOURCES}}
COMMAND Shiboken2::shiboken2 ${GENERATOR_EXTRA_FLAGS}
"${pyside2_BINARY_DIR}/${module_NAME}_global.h"
- --include-paths=${shiboken_include_dirs}
+ --include-paths="${shiboken_include_dirs}"
${shiboken_framework_include_dirs_option}
- --typesystem-paths=${pyside_binary_dir}${PATH_SEP}${pyside2_SOURCE_DIR}${PATH_SEP}${${module_typesystem_path}}
- --typesystem-paths=${pyside_binary_dir}${PATH_SEP}${pyside2_SOURCE_DIR}${PATH_SEP}${${module_TYPESYSTEM_PATH}}
+ --typesystem-paths="${pyside_binary_dir}${PATH_SEP}${pyside2_SOURCE_DIR}${PATH_SEP}${${module_typesystem_path}}"
--output-directory=${CMAKE_CURRENT_BINARY_DIR}
--license-file=${CMAKE_CURRENT_SOURCE_DIR}/../licensecomment.txt

View File

@@ -1,40 +0,0 @@
diff -Naur a/sources/pyside2/libpyside/PySide2Config.cmake.in b/sources/pyside2/libpyside/PySide2Config.cmake.in
--- a/sources/pyside2/libpyside/PySide2Config.cmake.in 2018-06-12 00:53:26.000000000 +0300
+++ b/sources/pyside2/libpyside/PySide2Config.cmake.in 2018-06-19 16:20:04.342783400 +0300
@@ -1,5 +1,7 @@
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
if (NOT PYTHON_CONFIG_SUFFIX)
message(STATUS "PySide2Config: Using default python: @SHIBOKEN_PYTHON_CONFIG_SUFFIX@")
SET(PYTHON_CONFIG_SUFFIX @SHIBOKEN_PYTHON_CONFIG_SUFFIX@)
endif()
-include(@LIB_INSTALL_DIR@/cmake/PySide2-@BINDING_API_VERSION@/PySide2Config${PYTHON_CONFIG_SUFFIX}.cmake)
+include(${PACKAGE_PREFIX_DIR}/lib/cmake/PySide2-@BINDING_API_VERSION@/PySide2Config${PYTHON_CONFIG_SUFFIX}.cmake)
diff -Naur a/sources/pyside2/libpyside/PySide2Config-spec.cmake.in b/sources/pyside2/libpyside/PySide2Config-spec.cmake.in
--- a/sources/pyside2/libpyside/PySide2Config-spec.cmake.in 2018-06-12 00:53:26.000000000 +0300
+++ b/sources/pyside2/libpyside/PySide2Config-spec.cmake.in 2018-06-19 16:19:41.582481600 +0300
@@ -3,16 +3,18 @@
# PYSIDE_PYTHONPATH - Path to where the PySide2 Python module files could be found
# PYSIDE_TYPESYSTEMS - Type system files that should be used by other bindings extending PySide2
-SET(PYSIDE_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include/PySide2@pyside2_SUFFIX@")
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
+SET(PYSIDE_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include/PySide2@pyside2_SUFFIX@")
# Platform specific library names
if(MSVC)
- SET(PYSIDE_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@.lib")
+ SET(PYSIDE_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@.lib")
elseif(CYGWIN)
- SET(PYSIDE_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@CMAKE_IMPORT_LIBRARY_SUFFIX@")
+ SET(PYSIDE_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@CMAKE_IMPORT_LIBRARY_SUFFIX@")
elseif(WIN32)
- SET(PYSIDE_LIBRARY "@CMAKE_INSTALL_PREFIX@/bin/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
+ SET(PYSIDE_LIBRARY "${PACKAGE_PREFIX_DIR}/bin/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
else()
- SET(PYSIDE_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
+ SET(PYSIDE_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/@CMAKE_SHARED_LIBRARY_PREFIX@pyside2@pyside2_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
endif()
SET(PYSIDE_PYTHONPATH "@PYTHON_SITE_PACKAGES@")
-SET(PYSIDE_TYPESYSTEMS "@CMAKE_INSTALL_PREFIX@/share/PySide2@pyside2_SUFFIX@/typesystems")
+SET(PYSIDE_TYPESYSTEMS "${PACKAGE_PREFIX_DIR}/share/PySide2@pyside2_SUFFIX@/typesystems")

View File

@@ -1,12 +0,0 @@
--- a/sources/pyside2/CMakeLists.txt 2018-06-19 15:54:43.493795800 +0300
+++ b/sources/pyside2/CMakeLists.txt 2018-06-19 15:55:15.539628700 +0300
@@ -204,6 +204,9 @@
# Qt5: this flag has changed from /Zc:wchar_t- in Qt4.X
set(CMAKE_CXX_FLAGS "/Zc:wchar_t /GR /EHsc /DNOCOLOR /DWIN32 /D_WINDOWS /D_SCL_SECURE_NO_WARNINGS") # XXX
else()
+ if(MINGW)
+ set(CMAKE_CXX_FLAGS "-DNOCOLOR -DWIN32 -D_WINDOWS -D_SCL_SECURE_NO_WARNINGS")
+ endif()
if(CMAKE_HOST_UNIX AND NOT CYGWIN)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden -Wno-strict-aliasing")
endif()

View File

@@ -2,61 +2,46 @@
_realname=pyside2
pkgbase=mingw-w64-${_realname}-qt5
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-common-qt5 ${MINGW_PACKAGE_PREFIX}-python{2,3}-${_realname}-qt5)
pkgver=5.11.0
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-qt5)
pkgdesc="Provides LGPL Qt5 bindings for Python and related tools for binding generation (mingw-w64)"
pkgver=5.14.2
pkgrel=1
arch=('any')
url="https://doc-snapshots.qt.io/qtforpython/"
license=("LGPL")
install=${_realname}-${CARCH}.install
source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${pkgver}-src/pyside-setup-everywhere-src-${pkgver}.tar.xz
001-pyside.patch
002-cmake-relative-paths.patch
003-mingw-adjust-flags.patch)
sha256sums=('fbc412c4544bca308291a08a5173a949ca530d801f00b8337902a5067e490922'
'a5b7d7542c0a75641f1b9cdcdeb46c89367df0be8a895734ab31a5105c0dc94f'
'8ad89154490d159b3f8d32acc04e25b65e8a501313bfd12a515608beaf778ad8'
'8ac1fcbce6eb44c35949900e4d013da204b6e4109ed20595ff5185a26dd8e4ef')
depends=("${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-shiboken2-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-qt5")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-python2-setuptools"
"${MINGW_PACKAGE_PREFIX}-python3-setuptools"
"${MINGW_PACKAGE_PREFIX}-python2-shiboken2-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-python3-shiboken2-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-qt5")
"${MINGW_PACKAGE_PREFIX}-python-setuptools")
options=('staticlibs' 'strip')
install=${_realname}-${CARCH}.install
source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${pkgver}-src/pyside-setup-opensource-src-${pkgver}.tar.xz
001-pyside.patch)
sha256sums=('7c7af33792de57255dbdc165c808e1f03a2520295c5922d9897aca8ad1be92b3'
'9bb699a4c11e038fd156744ee7e772e437dafbd266509d0fa238b4794a42d94d')
prepare() {
cd "${srcdir}"/pyside-setup-everywhere-src-${pkgver}
cd "${srcdir}"/pyside-setup-opensource-src-${pkgver}
patch -p1 -i ${srcdir}/001-pyside.patch
patch -p1 -i ${srcdir}/002-cmake-relative-paths.patch
patch -p1 -i ${srcdir}/003-mingw-adjust-flags.patch
}
build() {
for pyv in python2 python3; do
local _conf=
if [ "${pyv}" = "python2" ]; then
_conf="-DPYTHON_CONFIG_SUFFIX=-python2.7"
fi
[[ -d ${srcdir}/build-${MINGW_CHOST}-${pyv} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}-${pyv}
mkdir -p ${srcdir}/build-${MINGW_CHOST}-${pyv}
pushd ${srcdir}/build-${MINGW_CHOST}-${pyv} > /dev/null
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
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 \
../pyside-setup-everywhere-src-${pkgver}/sources/pyside2
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/python.exe \
../pyside-setup-opensource-src-${pkgver}/sources/pyside2
MSYS2_ARG_CONV_EXCL="--include-paths=;--typesystem-paths=" \
make
popd > /dev/null
done
MSYS2_ARG_CONV_EXCL="--include-paths=;--typesystem-paths=" \
make
}
@@ -73,79 +58,9 @@ fix_paths() {
done
}
package_pyside-common() {
pkgdesc="Provides LGPL Qt5 bindings for Python and related tools for binding generation (Common files)(mingw-w64)"
cd ${srcdir}/build-${MINGW_CHOST}-python3
package() {
cd ${srcdir}/build-${MINGW_CHOST}
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/PySide2-${pkgver}/PySide2Config*python*.cmake
fix_paths
}
package_python2-pyside() {
pkgdesc="Provides LGPL Qt5 bindings for Python and related tools for binding generation (Python2)(mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-pyside2-common-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-python2-shiboken2-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-qt5")
cd ${srcdir}/build-${MINGW_CHOST}-python2
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/PySide2-${pkgver}/PySide2ConfigVersion.cmake
rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide2-${pkgver}/PySide2Config.cmake
fix_paths
}
package_python3-pyside() {
pkgdesc="Provides LGPL Qt5 bindings for Python and related tools for binding generation (Python3)(mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-pyside2-common-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-python3"
"${MINGW_PACKAGE_PREFIX}-python3-shiboken2-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-qt5")
cd ${srcdir}/build-${MINGW_CHOST}-python3
make DESTDIR=${pkgdir} install
rm -rf ${pkgdir}${MINGW_PREFIX}/{include,share}
rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide2-${pkgver}/PySide2ConfigVersion.cmake
rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/PySide2-${pkgver}/PySide2Config.cmake
fix_paths
}
# Wrappers
package_mingw-w64-i686-pyside2-common-qt5() {
package_pyside-common
}
package_mingw-w64-i686-python2-pyside2-qt5() {
package_python2-pyside
}
package_mingw-w64-i686-python3-pyside2-qt5() {
package_python3-pyside
}
package_mingw-w64-x86_64-pyside2-common-qt5() {
package_pyside-common
}
package_mingw-w64-x86_64-python2-pyside2-qt5() {
package_python2-pyside
}
package_mingw-w64-x86_64-python3-pyside2-qt5() {
package_python3-pyside
}

View File

@@ -2,124 +2,47 @@
_realname=pyside2-tools
pkgbase=mingw-w64-${_realname}-qt5
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-common-qt5 ${MINGW_PACKAGE_PREFIX}-python{2,3}-${_realname}-qt5)
pkgver=5.11.0
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-qt5)
pkgdesc="PySide2 lupdate, rcc, and uic development tools (mingw-w64)"
pkgver=5.14.2
pkgrel=1
pkgdesc="Python bindings for Qt5 (mingw-w64)"
arch=('any')
url="https://doc-snapshots.qt.io/qtforpython/"
license=("LGPL")
source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${pkgver}-src/pyside-setup-everywhere-src-${pkgver}.tar.xz)
sha256sums=('53129fd85e133ef630144c0598d25c451eab72019cdcb1012f2aec773a3f25be')
depends=("${MINGW_PACKAGE_PREFIX}-qt5")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-python2-pyside-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-python3-pyside-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-pyside-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-qt5")
options=('staticlibs' 'strip')
source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${pkgver}-src/pyside-setup-opensource-src-${pkgver}.tar.xz)
sha256sums=('7c7af33792de57255dbdc165c808e1f03a2520295c5922d9897aca8ad1be92b3')
prepare() {
cd ${srcdir}/pyside-setup-everywhere-src-${pkgver}
cd ${srcdir}/pyside-setup-opensource-src-${pkgver}
}
build() {
for pyv in python2 python3; do
local _conf=
if [ "${pyv}" = "python2" ]; then
_conf="-DPYTHON_CONFIG_SUFFIX=-python2.7"
fi
[[ -d ${srcdir}/build-${MINGW_CHOST}-${pyv} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}-${pyv}
mkdir -p build-${MINGW_CHOST}-${pyv}
pushd ${srcdir}/build-${MINGW_CHOST}-${pyv} > /dev/null
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 \
../pyside-setup-everywhere-src-${pkgver}/sources/pyside2-tools
make
popd > /dev/null
done
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
mkdir -p build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}-${pyv}
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/python.exe \
../pyside-setup-opensource-src-${pkgver}/sources/pyside2-tools
make
}
package_pyside-tools-common() {
pkgdesc="PySide2 lupdate, rcc, and uic development tools (Common Files) (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-qt5")
cd ${srcdir}/build-${MINGW_CHOST}-python3
package() {
cd ${srcdir}/build-${MINGW_CHOST}
make DESTDIR=${pkgdir} install
rm -rf "${pkgdir}${MINGW_PREFIX}"/lib
rm -f "${pkgdir}${MINGW_PREFIX}"/bin/pyside2-uic
rm -f "${pkgdir}${MINGW_PREFIX}"/share/man/man1/pyside2-uic*
}
package_python2-pyside-tools() {
pkgdesc="PySide2 lupdate, rcc, and uic development tools (for Python 2) (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-pyside2-tools-common-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-python2-pyside2-qt5=${pkgver}")
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-}pyside2-uic
mv "${pkgdir}${MINGW_PREFIX}"/share/man/man1/{,python2-}pyside2-uic.1
rm -rf "${pkgdir}${MINGW_PREFIX}"/lib/python2*/site-packages/pyside2uic/{port_v3,pyside-uic.1}
rm -f "${pkgdir}${MINGW_PREFIX}"/bin/pyside2-{lupdate,rcc}
rm -f "${pkgdir}${MINGW_PREFIX}"/share/man/man1/pyside2-{lupdate,rcc}*
${MINGW_PREFIX}/bin/python2 -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python2*/site-packages/pyside2uic/
${MINGW_PREFIX}/bin/python2 -O -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python2*/site-packages/pyside2uic/
}
package_python3-pyside-tools() {
pkgdesc="PySide2 lupdate, rcc, and uic development tools (for Python 3) (mingw-w64)"
depends=("${MINGW_PACKAGE_PREFIX}-pyside2-tools-common-qt5=${pkgver}"
"${MINGW_PACKAGE_PREFIX}-python3-pyside2-qt5=${pkgver}")
cd ${srcdir}/build-${MINGW_CHOST}-python3
make DESTDIR=${pkgdir} install
rm -rf "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pyside2uic/{port_v2,pyside2-uic.1}
rm -f "${pkgdir}${MINGW_PREFIX}"/bin/pyside2-{lupdate,rcc}
rm -f "${pkgdir}${MINGW_PREFIX}"/share/man/man1/pyside2-{lupdate,rcc}*
${MINGW_PREFIX}/bin/python3 -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pyside2uic/
${MINGW_PREFIX}/bin/python3 -O -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pyside2uic/
}
# Wrappers
package_mingw-w64-i686-pyside2-tools-common-qt5() {
package_pyside-tools-common
}
package_mingw-w64-i686-python2-pyside2-tools-qt5() {
package_python2-pyside-tools
}
package_mingw-w64-i686-python3-pyside2-tools-qt5() {
package_python3-pyside-tools
}
package_mingw-w64-x86_64-pyside2-tools-common-qt5() {
package_pyside-tools-common
}
package_mingw-w64-x86_64-python2-pyside2-tools-qt5() {
package_python2-pyside-tools
}
package_mingw-w64-x86_64-python3-pyside2-tools-qt5() {
package_python3-pyside-tools
${MINGW_PREFIX}/bin/python -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pyside2uic/
${MINGW_PREFIX}/bin/python -O -m compileall "${pkgdir}${MINGW_PREFIX}"/lib/python3*/site-packages/pyside2uic/
}

View File

@@ -34,30 +34,19 @@
#endif
// from pymacro.h
diff -Naur a/sources/shiboken2/ApiExtractor/clangparser/clangparser.cpp b/sources/shiboken2/ApiExtractor/clangparser/clangparser.cpp
--- a/sources/shiboken2/ApiExtractor/clangparser/clangparser.cpp 2018-06-12 00:53:26.000000000 +0300
+++ b/sources/shiboken2/ApiExtractor/clangparser/clangparser.cpp 2018-06-19 16:21:09.415505300 +0300
@@ -196,7 +196,7 @@
| CXTranslationUnit_Incomplete;
static const QByteArrayList defaultArgs = {
-#if defined(Q_CC_MSVC) && _MSC_VER > 1900
+#if (defined(Q_CC_MSVC) && _MSC_VER > 1900) || defined(__MINGW32__)
"-std=c++1z", // Fixes constexpr errors in MSVC2017 library headers with Clang 4.1
#else
"-std=c++14", // ! otherwise, t.h is parsed as "C"
diff -Naur a/sources/shiboken2/CMakeLists.txt b/sources/shiboken2/CMakeLists.txt
--- a/sources/shiboken2/CMakeLists.txt 2018-06-12 00:53:26.000000000 +0300
+++ b/sources/shiboken2/CMakeLists.txt 2018-06-19 16:21:51.647920900 +0300
@@ -368,7 +368,7 @@
endif()
@@ -137,7 +137,7 @@
# Build with Address sanitizer enabled if requested. This may break things, so use at your own risk.
# Build with Address sanitizer enabled if requested.
# This may break things, so use at your own risk.
-if (SANITIZE_ADDRESS AND NOT MSVC)
+if (SANITIZE_ADDRESS AND NOT WIN32)
# Currently this does not check that the clang / gcc version used supports Address sanitizer,
# so once again, use at your own risk.
add_compile_options("-fsanitize=address" "-g" "-fno-omit-frame-pointer")
set_sanitize_address()
endif()
# Detect if the python libs were compiled in debug mode
diff -Naur a/sources/shiboken2/generator/generator.h b/sources/shiboken2/generator/generator.h
--- a/sources/shiboken2/generator/generator.h 2018-06-12 00:53:26.000000000 +0300
+++ b/sources/shiboken2/generator/generator.h 2018-06-19 16:23:02.031946600 +0300

View File

@@ -25,47 +25,3 @@ diff -Naur pyside-setup-everywhere-src-5.11.0-orig/sources/shiboken2/data/Genera
SET(GENERATORRUNNER_PLUGIN_DIR "@generator_plugin_DIR@")
-SET(GENERATORRUNNER_BINARY "@CMAKE_INSTALL_PREFIX@/bin/generatorrunner@generator_SUFFIX@")
+SET(GENERATORRUNNER_BINARY "${PACKAGE_PREFIX_DIR}/bin/generatorrunner@generator_SUFFIX@")
diff -Naur pyside-setup-everywhere-src-5.11.0-orig/sources/shiboken2/data/Shiboken2Config.cmake.in pyside-setup-everywhere-src-5.11.0/sources/shiboken2/data/Shiboken2Config.cmake.in
--- pyside-setup-everywhere-src-5.11.0-orig/sources/shiboken2/data/Shiboken2Config.cmake.in 2018-06-12 00:53:26.000000000 +0300
+++ pyside-setup-everywhere-src-5.11.0/sources/shiboken2/data/Shiboken2Config.cmake.in 2018-06-19 12:00:51.251087500 +0300
@@ -1,5 +1,7 @@
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
if (NOT PYTHON_CONFIG_SUFFIX)
message(STATUS "Shiboken2Config: Using default python: @PYTHON_CONFIG_SUFFIX@")
SET(PYTHON_CONFIG_SUFFIX @PYTHON_CONFIG_SUFFIX@)
endif()
-include("@LIB_INSTALL_DIR@/cmake/Shiboken2-@shiboken2_VERSION@/Shiboken2Config${PYTHON_CONFIG_SUFFIX}.cmake")
+include("${PACKAGE_PREFIX_DIR}/lib/cmake/Shiboken2-@shiboken2_VERSION@/Shiboken2Config${PYTHON_CONFIG_SUFFIX}.cmake")
diff -Naur pyside-setup-everywhere-src-5.11.0-orig/sources/shiboken2/data/Shiboken2Config-spec.cmake.in pyside-setup-everywhere-src-5.11.0/sources/shiboken2/data/Shiboken2Config-spec.cmake.in
--- pyside-setup-everywhere-src-5.11.0-orig/sources/shiboken2/data/Shiboken2Config-spec.cmake.in 2018-06-12 00:53:26.000000000 +0300
+++ pyside-setup-everywhere-src-5.11.0/sources/shiboken2/data/Shiboken2Config-spec.cmake.in 2018-06-19 12:02:06.570392200 +0300
@@ -5,15 +5,17 @@
# SHIBOKEN_PYTHON_INTERPRETER - Python interpreter (regular or debug) to be used with the bindings.
# SHIBOKEN_PYTHON_LIBRARIES - Python libraries (regular or debug) Shiboken is linked against.
-SET(SHIBOKEN_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include/shiboken2@shiboken2_SUFFIX@")
+get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../../" ABSOLUTE)
+
+SET(SHIBOKEN_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include/shiboken2@shiboken2_SUFFIX@")
if(MSVC)
- SET(SHIBOKEN_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@.lib")
+ SET(SHIBOKEN_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@.lib")
elseif(CYGWIN)
- SET(SHIBOKEN_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_IMPORT_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_IMPORT_LIBRARY_SUFFIX@")
+ SET(SHIBOKEN_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/@CMAKE_IMPORT_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_IMPORT_LIBRARY_SUFFIX@")
elseif(WIN32)
- SET(SHIBOKEN_LIBRARY "@CMAKE_INSTALL_PREFIX@/bin/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
+ SET(SHIBOKEN_LIBRARY "${PACKAGE_PREFIX_DIR}/bin/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
else()
- SET(SHIBOKEN_LIBRARY "@LIB_INSTALL_DIR@/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
+ SET(SHIBOKEN_LIBRARY "${PACKAGE_PREFIX_DIR}/lib/@CMAKE_SHARED_LIBRARY_PREFIX@shiboken2@shiboken2_SUFFIX@@PYTHON_SHARED_LIBRARY_SUFFIX@@LIBRARY_OUTPUT_SUFFIX@@CMAKE_SHARED_LIBRARY_SUFFIX@")
endif()
SET(SHIBOKEN_PYTHON_INCLUDE_DIR "@SBK_PYTHON_INCLUDE_DIR@")
SET(SHIBOKEN_PYTHON_INCLUDE_DIR "@SBK_PYTHON_INCLUDE_DIR@")
@@ -29,4 +31,4 @@
message(STATUS "libshiboken built for @SHIBOKEN_BUILD_TYPE@")
@SBK_ADD_PY_DEBUG_DEFINITION@
-set(SHIBOKEN_BINARY "@CMAKE_INSTALL_PREFIX@/bin/@SHIBOKEN_GENERATOR@")
+set(SHIBOKEN_BINARY "${PACKAGE_PREFIX_DIR}/bin/@SHIBOKEN_GENERATOR@")

View File

@@ -1,12 +0,0 @@
--- a/sources/shiboken2/CMakeLists.txt 2018-06-19 15:17:59.381727800 +0300
+++ b/sources/shiboken2/CMakeLists.txt 2018-06-19 15:19:24.220580300 +0300
@@ -329,6 +329,9 @@
# Qt5: this flag has changed from /Zc:wchar_t- in Qt4.X
set(CMAKE_CXX_FLAGS "/Zc:wchar_t /GR /EHsc /DWIN32 /D_WINDOWS /D_SCL_SECURE_NO_WARNINGS")
else()
+ if(MINGW)
+ set(CMAKE_CXX_FLAGS "-DWIN32 -D_WINDOWS -D_SCL_SECURE_NO_WARNINGS")
+ endif()
if(CMAKE_HOST_UNIX AND NOT CYGWIN)
add_definitions(-fPIC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fvisibility=hidden -Wno-strict-aliasing")

View File

@@ -2,57 +2,52 @@
_realname=shiboken2
pkgbase=mingw-w64-${_realname}-qt5
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-qt5 ${MINGW_PACKAGE_PREFIX}-python{2,3}-${_realname}-qt5)
pkgver=5.11.0
pkgname=(${MINGW_PACKAGE_PREFIX}-${_realname}-qt5)
pkgdesc="CPython bindings generator for C++ libraries (mingw-w64)"
pkgver=5.14.2
pkgrel=1
arch=('any')
url="https://doc-snapshots.qt.io/qtforpython/"
license=("LGPL")
source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${pkgver}-src/pyside-setup-everywhere-src-${pkgver}.tar.xz
001-shiboken.patch
002-cmake-relative-paths.patch
003-mingw-adjust-flags.patch)
sha256sums=('fbc412c4544bca308291a08a5173a949ca530d801f00b8337902a5067e490922'
'7fbf1140d6c63b6c1a6f621b800654236dd5e8b0ff0bbd42c5e5940a51f0052d'
'da64af18fbc52e34eed454287de01cecebf069354d2a206f172dad329065fdd6'
'3acdc6da5bc063256dce0ca31ed4dee2f35beb734792675a4c2bafdb2e365019')
depends=("${MINGW_PACKAGE_PREFIX}-python"
"${MINGW_PACKAGE_PREFIX}-qt5")
makedepends=("${MINGW_PACKAGE_PREFIX}-clang"
"${MINGW_PACKAGE_PREFIX}-cmake"
"${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-libxml2"
"${MINGW_PACKAGE_PREFIX}-libxslt"
"${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-python3"
"${MINGW_PACKAGE_PREFIX}-qt5")
"${MINGW_PACKAGE_PREFIX}-libxslt")
options=('staticlibs' 'strip')
install=${_realname}-${CARCH}.install
source=(https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${pkgver}-src/pyside-setup-opensource-src-${pkgver}.tar.xz
001-shiboken.patch
002-cmake-relative-paths.patch)
sha256sums=('7c7af33792de57255dbdc165c808e1f03a2520295c5922d9897aca8ad1be92b3'
'1dd8273f99c2d1a9e82f7c0c3c03afcc73ce9bc75e68b8bd1863cf41674da25d'
'e8fce91fee692a3ef906c841575e53e141a58c0c97c63fd1d94bed5a823190f9')
prepare() {
cd ${srcdir}/pyside-setup-everywhere-src-${pkgver}
cd ${srcdir}/pyside-setup-opensource-src-${pkgver}
patch -p1 -i ${srcdir}/001-shiboken.patch
patch -p1 -i ${srcdir}/002-cmake-relative-paths.patch
patch -p1 -i ${srcdir}/003-mingw-adjust-flags.patch
}
build() {
for pyv in python2 python3; do
[[ -d ${srcdir}/build-${MINGW_CHOST}-${pyv} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}-${pyv}
mkdir -p ${srcdir}/build-${MINGW_CHOST}-${pyv}
pushd ${srcdir}/build-${MINGW_CHOST}-${pyv} > /dev/null
CXXFLAGS+=" -D__USE_MINGW_ANSI_STDIO=1"
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" \
${MINGW_PREFIX}/bin/cmake \
-G"MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_C_COMPILER=${MINGW_PREFIX}/bin/clang.exe \
-DCMAKE_CXX_COMPILER=${MINGW_PREFIX}/bin/clang++.exe \
-DCMAKE_BUILD_TYPE=Release \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/${pyv}.exe \
../pyside-setup-everywhere-src-${pkgver}/sources/shiboken2
MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX" \
${MINGW_PREFIX}/bin/cmake \
-G"MSYS Makefiles" \
-DCMAKE_INSTALL_PREFIX=${MINGW_PREFIX} \
-DCMAKE_C_COMPILER=${MINGW_PREFIX}/bin/clang.exe \
-DCMAKE_CXX_COMPILER=${MINGW_PREFIX}/bin/clang++.exe \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTS=OFF \
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python.exe \
../pyside-setup-opensource-src-${pkgver}/sources/shiboken2
make
popd > /dev/null
done
make
}
@@ -69,83 +64,9 @@ fix_paths() {
done
}
package_shiboken() {
pkgdesc="CPython bindings generator for C++ libraries (mingw-w64)"
makedepends=("${MINGW_PACKAGE_PREFIX}-clang"
"${MINGW_PACKAGE_PREFIX}-libxml2"
"${MINGW_PACKAGE_PREFIX}-libxslt"
"${MINGW_PACKAGE_PREFIX}-python3"
"${MINGW_PACKAGE_PREFIX}-qt5")
cd ${srcdir}/build-${MINGW_CHOST}-python3
package() {
cd ${srcdir}/build-${MINGW_CHOST}
make DESTDIR=${pkgdir} install
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/Shiboken2-${pkgver}/Shiboken2Config*python*.cmake
fix_paths
}
package_python2-shiboken() {
pkgdesc="Support library for Python2 bindings (mingw-w64)"
install=${_realname}-${CARCH}.install
depends=("${MINGW_PACKAGE_PREFIX}-python2"
"${MINGW_PACKAGE_PREFIX}-shiboken2-qt5=${pkgver}")
cd ${srcdir}/build-${MINGW_CHOST}-python2
make DESTDIR=${pkgdir} install
mv ${pkgdir}${MINGW_PREFIX}/lib/pkgconfig/shiboken2{,-py2}.pc
rm ${pkgdir}${MINGW_PREFIX}/bin/*.exe
rm -rf ${pkgdir}${MINGW_PREFIX}/{include,share}
rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken2-${pkgver}/Shiboken2ConfigVersion.cmake
rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken2-${pkgver}/Shiboken2Config.cmake
fix_paths
}
package_python3-shiboken() {
pkgdesc="Support library for Python3 bindings (mingw-w64)"
install=${_realname}-${CARCH}.install
depends=("${MINGW_PACKAGE_PREFIX}-python3"
"${MINGW_PACKAGE_PREFIX}-shiboken2-qt5=${pkgver}")
cd ${srcdir}/build-${MINGW_CHOST}-python3
make DESTDIR=${pkgdir} install
rm ${pkgdir}${MINGW_PREFIX}/bin/*.exe
rm -rf ${pkgdir}${MINGW_PREFIX}/{include,share}
rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken2-${pkgver}/Shiboken2ConfigVersion.cmake
rm ${pkgdir}${MINGW_PREFIX}/lib/cmake/Shiboken2-${pkgver}/Shiboken2Config.cmake
fix_paths
}
# Wrappers
package_mingw-w64-i686-shiboken2-qt5() {
package_shiboken
}
package_mingw-w64-i686-python2-shiboken2-qt5() {
package_python2-shiboken
}
package_mingw-w64-i686-python3-shiboken2-qt5() {
package_python3-shiboken
}
package_mingw-w64-x86_64-shiboken2-qt5() {
package_shiboken
}
package_mingw-w64-x86_64-python2-shiboken2-qt5() {
package_python2-shiboken
}
package_mingw-w64-x86_64-python3-shiboken2-qt5() {
package_python3-shiboken
}