diff options
author | Samuli Piippo <samuli.piippo@qt.io> | 2017-06-29 04:41:36 +0300 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@qt.io> | 2017-08-10 06:48:21 +0000 |
commit | 75e2d5b7b68844e5c485a117bcdcfdb29250c7ec (patch) | |
tree | 23e0503258b116c8ec80034a372186c462aa3831 | |
parent | 0bb90a0bd04bcc79a04936ca5b61f32e6f124825 (diff) | |
download | meta-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.%.bbappend | 25 | ||||
-rw-r--r-- | recipes/gdb/gdb/0001-Do-not-use-win32-specific-filehandling.patch | 24 | ||||
-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.bb | 37 | ||||
-rw-r--r-- | recipes/python/nativesdk-prebuild-python_x86_64.bb | 37 |
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 | ||
30 | FILESEXTRAPATHS_prepend_sdkmingw32 := "${THISDIR}/${BPN}:" | ||
31 | SRC_URI_append_sdkmingw32 = " file://0001-Do-not-use-win32-specific-filehandling.patch" | ||
32 | |||
30 | DEPENDS_append_sdkmingw32 = " nativesdk-prebuild-python" | 33 | DEPENDS_append_sdkmingw32 = " nativesdk-prebuild-python" |
31 | RDEPENDS_${PN}_append_sdkmingw32 = " nativesdk-prebuild-python" | 34 | RDEPENDS_${PN}_append_sdkmingw32 = " nativesdk-prebuild-python" |
32 | EXTRA_OECONF_remove_sdkmingw32 = " --without-python" | 35 | EXTRA_OECONF_remove_sdkmingw32 = "--without-python --with-python=no" |
33 | EXTRA_OECONF_append_sdkmingw32 = " --with-python" | 36 | EXTRA_OECONF_append_sdkmingw32 = " --with-python=${WORKDIR}/python_win" |
34 | CXXFLAGS_append_sdkmingw32 = " -D_hypot=hypot" | 37 | CXXFLAGS_append_sdkmingw32 = " -D_hypot=hypot" |
35 | 38 | ||
39 | do_configure_prepend_sdkmingw32() { | ||
40 | cat > ${WORKDIR}/python_win << EOF | ||
41 | #! /bin/sh | ||
42 | case "\$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 ;; | ||
47 | esac | ||
48 | exit 0 | ||
49 | EOF | ||
50 | chmod +x ${WORKDIR}/python_win | ||
51 | } | ||
52 | |||
36 | do_install_append_sdkmingw32() { | 53 | do_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 @@ | |||
1 | From 3c928a3bf8d873f6173a076da6e4c1bc85e9a3a0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuli Piippo <samuli.piippo@qt.io> | ||
3 | Date: Wed, 28 Jun 2017 20:41:49 +0300 | ||
4 | Subject: [PATCH] Do not use win32 specific filehandling | ||
5 | |||
6 | PyFile_FromString and PyFile_AsFile are no longer available in python3 | ||
7 | see 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 | |||
12 | diff --git a/gdb/python/python.c b/gdb/python/python.c | ||
13 | index 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 | ||
30 | LICENSE = "PSFv2" | 30 | LICENSE = "PSFv2" |
31 | 31 | ||
32 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Python-2.0;md5=a5c8025e305fb49e6d405769358851f6" | 32 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4b8a9367e6bb2acb6f26dc08654f6ee5" |
33 | 33 | ||
34 | inherit bin_package nativesdk | 34 | do_unpack[depends] += "p7zip-native:do_populate_sysroot" |
35 | 35 | ||
36 | COMPATIBLE_HOST = ".*-mingw.*" | 36 | DEPENDS = "unzip-native" |
37 | 37 | ||
38 | SRC_URI[md5sum] = "6d37712f01fa836b1303141a6d4cabda" | 38 | inherit bin_package nativesdk python3-dir |
39 | SRC_URI[sha256sum] = "3835868c171dddb8cb68ed5578b6d4d639387a038e999a5b008f393b704d6ad7" | 39 | |
40 | SRC_URI = "http://download.qt.io/development_releases/prebuilt/gdb/build-prerequisites/python.zip" | 40 | PV = "3.5.2" |
41 | 41 | ||
42 | S = "${WORKDIR}" | 42 | S = "${WORKDIR}" |
43 | 43 | ||
44 | do_install() { | 44 | do_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 | ||
55 | sysroot_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} |
60 | INSANE_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 | |||
30 | require nativesdk-prebuild-python.inc | ||
31 | |||
32 | COMPATIBLE_HOST = "i686.*-mingw.*" | ||
33 | |||
34 | SRC_URI = "http://download.qt.io/development_releases/prebuilt/python/Python35-win-x86.7z" | ||
35 | |||
36 | SRC_URI[md5sum] = "3da266445a4e6a93ff1949810141da8f" | ||
37 | SRC_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 | |||
30 | require nativesdk-prebuild-python.inc | ||
31 | |||
32 | COMPATIBLE_HOST = "x86_64.*-mingw.*" | ||
33 | |||
34 | SRC_URI = "http://download.qt.io/development_releases/prebuilt/python/Python35-win-x64.7z" | ||
35 | |||
36 | SRC_URI[md5sum] = "08766b13bcbdcf8217a98bfc291d549f" | ||
37 | SRC_URI[sha256sum] = "43e38c8a05dcbc2effd1915dbe2dc2be6e701ebf3eb00d6e45197ee773978124" | ||