aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning')
-rw-r--r--coin/provisioning/common/windows/python.ps128
-rw-r--r--coin/provisioning/common/windows/python3.ps125
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-python3.ps12
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/25-python.ps12
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/25-python3.ps12
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps12
8 files changed, 43 insertions, 20 deletions
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
index 05811c58..e2855c75 100644
--- a/coin/provisioning/common/windows/python.ps1
+++ b/coin/provisioning/common/windows/python.ps1
@@ -30,13 +30,17 @@
## $QT_END_LICENSE$
##
#############################################################################
-. "$PSScriptRoot\helpers.ps1"
# This script installs Python $version.
# Python is required for building Qt 5 from source.
+param(
+ [Int32]$archVer=32,
+ [string]$targetDir="C:\Python27"
+)
+. "$PSScriptRoot\helpers.ps1"
$version = "2.7.13"
-if (Is64BitWinHost) {
+if ( $archVer -eq 64 ) {
$arch = ".amd64"
$sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
} else {
@@ -51,17 +55,25 @@ Write-Host "Fetching from URL..."
Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
Write-Host "Installing $package..."
-Run-Executable "msiexec" "/passive /i $package ALLUSERS=1"
+Run-Executable "msiexec" "/passive /i $package TARGETDIR=$targetDir ALLUSERS=1"
# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB
Write-Host "Changing allowZip64 value to 'True'..."
-(Get-Content C:\Python27\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content C:\Python27\lib\zipfile.py
+(Get-Content $targetDir\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content $targetDir\lib\zipfile.py
Write-Host "Remove $package..."
Remove-Item -Path $package
-Add-Path "C:\Python27;C:\Python27\Scripts"
+# When installing 32 bit python to 64 bit host, we want to keep only default python in path
+# For cross-compilation we export some helper env variable
+if (($archVer -eq 32) -And (Is64BitWinHost)) {
+ Set-EnvironmentVariable "PYTHON2_32_PATH" "$targetDir"
+ Set-EnvironmentVariable "PIP2_32_PATH" "$targetDir\Scripts"
+} else {
+ Add-Path "$targetDir;$targetDir\Scripts"
+}
+
-Run-Executable "C:\Python27\python.exe" "-m ensurepip"
+Run-Executable "$targetDir\python.exe" "-m ensurepip"
# Install python virtual env
if (IsProxyEnabled) {
@@ -69,6 +81,6 @@ if (IsProxyEnabled) {
Write-Host "Using proxy ($proxy) with pip"
$pip_args = "--proxy=$proxy"
}
-Run-Executable "C:\Python27\Scripts\pip.exe" "$pip_args install virtualenv"
+Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install virtualenv"
-Write-Output "Python = $version" >> ~/versions.txt
+Write-Output "Python-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index d5d5998a..473fe65c 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -32,18 +32,20 @@
##
#############################################################################
-. "$PSScriptRoot\helpers.ps1"
-
# This script installs Python $version.
# Python3 is required for building some qt modules.
+param(
+ [Int32]$archVer=32,
+ [string]$install_path = "C:\Python36"
+)
+. "$PSScriptRoot\helpers.ps1"
$version = "3.6.1"
$package = "C:\Windows\temp\python-$version.exe"
-$install_path = "C:\Python36"
# check bit version
-if (Is64BitWinHost) {
- Write-Host "Running in 64 bit system"
+if ( $archVer -eq 64 ) {
+ Write-Host "Installing 64 bit Python"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/python-$version-amd64.exe"
$sha1 = "bf54252c4065b20f4a111cc39cf5215fb1edccff"
@@ -61,8 +63,15 @@ Run-Executable "$package" "/q TargetDir=$install_path"
Write-Host "Remove $package..."
Remove-Item -Path $package
-Set-EnvironmentVariable "PYTHON3_PATH" "$install_path"
-Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts"
+# For cross-compilation we export some helper env variable
+if (($archVer -eq 32) -And (Is64BitWinHost)) {
+ Set-EnvironmentVariable "PYTHON3_32_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP3_32_PATH" "$install_path\Scripts"
+} else {
+ Set-EnvironmentVariable "PYTHON3_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts"
+}
+
# Install python virtual env
if (IsProxyEnabled) {
@@ -72,5 +81,5 @@ if (IsProxyEnabled) {
}
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv"
-Write-Output "Python3 = $version" >> ~/versions.txt
+Write-Output "Python3-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
new file mode 100644
index 00000000..bd2d52c3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1
new file mode 100644
index 00000000..5ffeab3b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "C:\Python36_32"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
index 998e6bae..3201032d 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64
diff --git a/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1 b/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1
index 3e825ab8..e2e9be9c 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python.ps1"
+. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1 b/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
index 998e6bae..3201032d 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
+++ b/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1
index 998e6bae..3201032d 100644
--- a/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/08-python3.ps1
@@ -1 +1 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64