summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSamuli Piippo <samuli.piippo@qt.io>2017-06-29 04:41:36 +0300
committerSamuli Piippo <samuli.piippo@qt.io>2017-08-10 06:48:21 +0000
commit75e2d5b7b68844e5c485a117bcdcfdb29250c7ec (patch)
tree23e0503258b116c8ec80034a372186c462aa3831
parent0bb90a0bd04bcc79a04936ca5b61f32e6f124825 (diff)
downloadmeta-boot2qt-75e2d5b7b68844e5c485a117bcdcfdb29250c7ec.tar.gz
mingw: upgrade windows python to 3.5.2
This adds support for 64bit windows toolchain with using different binary archives for the prebuild python when building i686 and x86_64 mingw toolchains. Task-number: QTBUG-58918 Change-Id: I1a02546749dd924fd3d2222bbbebf74b31dab07d Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
-rw-r--r--recipes/gdb/gdb-cross-canadian_7.%.bbappend25
-rw-r--r--recipes/gdb/gdb/0001-Do-not-use-win32-specific-filehandling.patch24
-rw-r--r--recipes/python/nativesdk-prebuild-python.inc (renamed from recipes/python/nativesdk-prebuild-python.bb)37
-rw-r--r--recipes/python/nativesdk-prebuild-python_i686.bb37
-rw-r--r--recipes/python/nativesdk-prebuild-python_x86_64.bb37
5 files changed, 135 insertions, 25 deletions
diff --git a/recipes/gdb/gdb-cross-canadian_7.%.bbappend b/recipes/gdb/gdb-cross-canadian_7.%.bbappend
index 0a8319c..a47bca7 100644
--- a/recipes/gdb/gdb-cross-canadian_7.%.bbappend
+++ b/recipes/gdb/gdb-cross-canadian_7.%.bbappend
@@ -27,14 +27,29 @@
27## 27##
28############################################################################ 28############################################################################
29 29
30FILESEXTRAPATHS_prepend_sdkmingw32 := "${THISDIR}/${BPN}:"
31SRC_URI_append_sdkmingw32 = " file://0001-Do-not-use-win32-specific-filehandling.patch"
32
30DEPENDS_append_sdkmingw32 = " nativesdk-prebuild-python" 33DEPENDS_append_sdkmingw32 = " nativesdk-prebuild-python"
31RDEPENDS_${PN}_append_sdkmingw32 = " nativesdk-prebuild-python" 34RDEPENDS_${PN}_append_sdkmingw32 = " nativesdk-prebuild-python"
32EXTRA_OECONF_remove_sdkmingw32 = " --without-python" 35EXTRA_OECONF_remove_sdkmingw32 = "--without-python --with-python=no"
33EXTRA_OECONF_append_sdkmingw32 = " --with-python" 36EXTRA_OECONF_append_sdkmingw32 = " --with-python=${WORKDIR}/python_win"
34CXXFLAGS_append_sdkmingw32 = " -D_hypot=hypot" 37CXXFLAGS_append_sdkmingw32 = " -D_hypot=hypot"
35 38
39do_configure_prepend_sdkmingw32() {
40cat > ${WORKDIR}/python_win << EOF
41#! /bin/sh
42case "\$2" in
43 --includes) echo "-I${STAGING_INCDIR}/${PYTHON_DIR}" ;;
44 --ldflags) echo "-Wl,-rpath-link,${STAGING_LIBDIR}/.. -lpython35" ;;
45 --exec-prefix) echo "${exec_prefix}" ;;
46 *) exit 1 ;;
47esac
48exit 0
49EOF
50 chmod +x ${WORKDIR}/python_win
51}
52
36do_install_append_sdkmingw32() { 53do_install_append_sdkmingw32() {
37 mkdir -p ${D}${bindir}/lib 54 ln -s ../python35.dll ${D}${bindir}/
38 cp -r ${STAGING_DIR_HOST}${exec_prefix}/lib/python2.7/* -d ${D}${bindir}/lib
39 cp ${STAGING_DIR_HOST}${exec_prefix}/bin/python27.dll ${D}${bindir}
40} 55}
diff --git a/recipes/gdb/gdb/0001-Do-not-use-win32-specific-filehandling.patch b/recipes/gdb/gdb/0001-Do-not-use-win32-specific-filehandling.patch
new file mode 100644
index 0000000..c9a20ed
--- /dev/null
+++ b/recipes/gdb/gdb/0001-Do-not-use-win32-specific-filehandling.patch
@@ -0,0 +1,24 @@
1From 3c928a3bf8d873f6173a076da6e4c1bc85e9a3a0 Mon Sep 17 00:00:00 2001
2From: Samuli Piippo <samuli.piippo@qt.io>
3Date: Wed, 28 Jun 2017 20:41:49 +0300
4Subject: [PATCH] Do not use win32 specific filehandling
5
6PyFile_FromString and PyFile_AsFile are no longer available in python3
7see https://sourceware.org/bugzilla/show_bug.cgi?id=15600
8---
9 gdb/python/python.c | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/gdb/python/python.c b/gdb/python/python.c
13index 9bccaa9..1d58dff 100644
14--- a/gdb/python/python.c
15+++ b/gdb/python/python.c
16@@ -374,7 +374,7 @@ python_interactive_command (char *arg, int from_tty)
17 static void
18 python_run_simple_file (FILE *file, const char *filename)
19 {
20-#ifndef _WIN32
21+#ifdef _WIN32
22
23 PyRun_SimpleFile (file, filename);
24
diff --git a/recipes/python/nativesdk-prebuild-python.bb b/recipes/python/nativesdk-prebuild-python.inc
index e8edb9e..71e8e72 100644
--- a/recipes/python/nativesdk-prebuild-python.bb
+++ b/recipes/python/nativesdk-prebuild-python.inc
@@ -1,6 +1,6 @@
1############################################################################ 1############################################################################
2## 2##
3## Copyright (C) 2016 The Qt Company Ltd. 3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/ 4## Contact: https://www.qt.io/licensing/
5## 5##
6## This file is part of the Boot to Qt meta layer. 6## This file is part of the Boot to Qt meta layer.
@@ -29,32 +29,29 @@
29 29
30LICENSE = "PSFv2" 30LICENSE = "PSFv2"
31 31
32LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Python-2.0;md5=a5c8025e305fb49e6d405769358851f6" 32LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4b8a9367e6bb2acb6f26dc08654f6ee5"
33 33
34inherit bin_package nativesdk 34do_unpack[depends] += "p7zip-native:do_populate_sysroot"
35 35
36COMPATIBLE_HOST = ".*-mingw.*" 36DEPENDS = "unzip-native"
37 37
38SRC_URI[md5sum] = "6d37712f01fa836b1303141a6d4cabda" 38inherit bin_package nativesdk python3-dir
39SRC_URI[sha256sum] = "3835868c171dddb8cb68ed5578b6d4d639387a038e999a5b008f393b704d6ad7" 39
40SRC_URI = "http://download.qt.io/development_releases/prebuilt/gdb/build-prerequisites/python.zip" 40PV = "3.5.2"
41 41
42S = "${WORKDIR}" 42S = "${WORKDIR}"
43 43
44do_install() { 44do_install() {
45 install -d ${D}${bindir} 45 install -d ${D}${includedir}/${PYTHON_DIR}
46 install ${WORKDIR}/python/python27.dll ${D}${bindir} 46 install -m 0644 ${S}/include/* ${D}${includedir}/${PYTHON_DIR}
47 install -d ${D}${includedir} 47
48 install ${WORKDIR}/python/include/* ${D}${includedir}
49 install -d ${D}${libdir} 48 install -d ${D}${libdir}
50 install ${WORKDIR}/python/libs/* ${D}${libdir} 49 install -m 0644 ${S}/libs/*.a ${D}${libdir}
51 install -d ${D}${libdir}/python2.7
52 cp -r ${WORKDIR}/python/lib/* ${D}${libdir}/python2.7
53}
54 50
55sysroot_stage_dirs_append() { 51 install -d ${D}${bindir}
56 sysroot_stage_dir $from${bindir} $to${bindir} 52 install -m 0644 ${S}/python.exe ${D}${bindir}
57} 53 install -m 0644 ${S}/python35.dll ${D}${bindir}
58 54
59# requires /usr/local/bin/python, but no providers found 55 install -d ${D}${libdir}/${PYTHON_DIR}
60INSANE_SKIP_${PN} += "file-rdeps" 56 unzip ${S}/python35.zip -d ${D}${libdir}/${PYTHON_DIR}
57}
diff --git a/recipes/python/nativesdk-prebuild-python_i686.bb b/recipes/python/nativesdk-prebuild-python_i686.bb
new file mode 100644
index 0000000..cf7204a
--- /dev/null
+++ b/recipes/python/nativesdk-prebuild-python_i686.bb
@@ -0,0 +1,37 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30require nativesdk-prebuild-python.inc
31
32COMPATIBLE_HOST = "i686.*-mingw.*"
33
34SRC_URI = "http://download.qt.io/development_releases/prebuilt/python/Python35-win-x86.7z"
35
36SRC_URI[md5sum] = "3da266445a4e6a93ff1949810141da8f"
37SRC_URI[sha256sum] = "b60c49227c6e920904d784681c16ee3591a18824c3abb89613813f93fde1c1f2"
diff --git a/recipes/python/nativesdk-prebuild-python_x86_64.bb b/recipes/python/nativesdk-prebuild-python_x86_64.bb
new file mode 100644
index 0000000..f0cc4ca
--- /dev/null
+++ b/recipes/python/nativesdk-prebuild-python_x86_64.bb
@@ -0,0 +1,37 @@
1############################################################################
2##
3## Copyright (C) 2017 The Qt Company Ltd.
4## Contact: https://www.qt.io/licensing/
5##
6## This file is part of the Boot to Qt meta layer.
7##
8## $QT_BEGIN_LICENSE:GPL$
9## Commercial License Usage
10## Licensees holding valid commercial Qt licenses may use this file in
11## accordance with the commercial license agreement provided with the
12## Software or, alternatively, in accordance with the terms contained in
13## a written agreement between you and The Qt Company. For licensing terms
14## and conditions see https://www.qt.io/terms-conditions. For further
15## information use the contact form at https://www.qt.io/contact-us.
16##
17## GNU General Public License Usage
18## Alternatively, this file may be used under the terms of the GNU
19## General Public License version 3 or (at your option) any later version
20## approved by the KDE Free Qt Foundation. The licenses are as published by
21## the Free Software Foundation and appearing in the file LICENSE.GPL3
22## included in the packaging of this file. Please review the following
23## information to ensure the GNU General Public License requirements will
24## be met: https://www.gnu.org/licenses/gpl-3.0.html.
25##
26## $QT_END_LICENSE$
27##
28############################################################################
29
30require nativesdk-prebuild-python.inc
31
32COMPATIBLE_HOST = "x86_64.*-mingw.*"
33
34SRC_URI = "http://download.qt.io/development_releases/prebuilt/python/Python35-win-x64.7z"
35
36SRC_URI[md5sum] = "08766b13bcbdcf8217a98bfc291d549f"
37SRC_URI[sha256sum] = "43e38c8a05dcbc2effd1915dbe2dc2be6e701ebf3eb00d6e45197ee773978124"