summaryrefslogtreecommitdiffstats
path: root/puppet/modules
diff options
context:
space:
mode:
authorHeikki Halmet <heikki.halmet@digia.com>2014-10-14 10:30:00 +0300
committerTony Sarajärvi <tony.sarajarvi@digia.com>2014-10-14 13:18:28 +0200
commit44bb0560ec090ac24424ff0697c31c6bc4c01280 (patch)
tree83f80267f8548afd574eb34cc1edf591e176dae8 /puppet/modules
parentb194054f3ad92da20fffbbf89f169f101d6024c8 (diff)
Add MinGW 4.9.1 to Windows 7 CI - and Packaging nodes
This will install MinGW 4.9.1 i686 posix dwarf to x86 nodes and MinGW 4.9.1 x86_64 posix seh to x64 nodes Change-Id: I00da44251efe6f87587594e683e1e0b6dd0e18d5 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@digia.com>
Diffstat (limited to 'puppet/modules')
-rw-r--r--puppet/modules/ci_tester/manifests/windows.pp1
-rw-r--r--puppet/modules/mingw491/manifests/init.pp5
-rw-r--r--puppet/modules/mingw491/manifests/windows.pp48
-rw-r--r--puppet/modules/mingw491/tests/mingw491.pp3
-rw-r--r--puppet/modules/packaging_tester/manifests/windows.pp1
5 files changed, 58 insertions, 0 deletions
diff --git a/puppet/modules/ci_tester/manifests/windows.pp b/puppet/modules/ci_tester/manifests/windows.pp
index 1ac3b81..40dc676 100644
--- a/puppet/modules/ci_tester/manifests/windows.pp
+++ b/puppet/modules/ci_tester/manifests/windows.pp
@@ -4,6 +4,7 @@ class ci_tester::windows inherits ci_tester::base {
include mingw
include mingw48
include mingw482
+ include mingw491
include openssl
include strawberryperl
include strawberryperl_portable
diff --git a/puppet/modules/mingw491/manifests/init.pp b/puppet/modules/mingw491/manifests/init.pp
new file mode 100644
index 0000000..c8d011b
--- /dev/null
+++ b/puppet/modules/mingw491/manifests/init.pp
@@ -0,0 +1,5 @@
+class mingw491 {
+ case $::kernel {
+ windows: { include mingw491::windows }
+ }
+}
diff --git a/puppet/modules/mingw491/manifests/windows.pp b/puppet/modules/mingw491/manifests/windows.pp
new file mode 100644
index 0000000..8989f7a
--- /dev/null
+++ b/puppet/modules/mingw491/manifests/windows.pp
@@ -0,0 +1,48 @@
+# Downloads the 4.9.1 version of mingw from $input and installs to the specified $path.
+
+class mingw491::windows(
+ $version = '4.9.1',
+ $altversion = '491',
+ $path = 'C:\mingw491',
+
+ # Additional options for installed MinGW version, See also: http://qt-project.org/wiki/MinGW-64-bit
+ # Note: Changing any of these won't trigger MinGW re-installation.
+ #
+ # either 'posix' or 'win32', we use 'posix' since it is more popular
+ $threading = 'posix',
+
+ # installed revision
+ $revision = 'rev1'
+){
+ # Match revision, match with both 'r8' and 'rev8' style patterns.
+ # Just for checking if correct revision is already installed.
+ $match_revision = regsubst($revision, 'rev', 'r(ev)?')
+
+ $os_bit = $::architecture ? {
+ x64 => "x86_64",
+ default => "i686"
+ }
+
+ # 'seh' for x64 and 'dwarf' for x86
+ $exceptions = $::architecture ? {
+ x64 => "seh",
+ default => "dwarf"
+ }
+
+ # installer file URL
+ $url = "${input}/windows/${os_bit}-${version}-release-${threading}-${exceptions}-rt_v3-${revision}.7z"
+
+ $binary = $::architecture ? {
+ x64 => "$path\\mingw64\\bin\\g++.exe",
+ default => "$path\\mingw32\\bin\\g++.exe"
+ }
+
+ windows::zip_package { "mingw491":
+ url => $url,
+ version => $version,
+ version_flags => "-print-search-dirs",
+ version_expression => "${os_bit}-${altversion}-${threading}-${exceptions}-rt_v3-${match_revision}",
+ path => $path,
+ binary => "$binary"
+ }
+}
diff --git a/puppet/modules/mingw491/tests/mingw491.pp b/puppet/modules/mingw491/tests/mingw491.pp
new file mode 100644
index 0000000..583d916
--- /dev/null
+++ b/puppet/modules/mingw491/tests/mingw491.pp
@@ -0,0 +1,3 @@
+include mingw491
+
+selftest::expect_no_warnings { "no warnings from mingw491": }
diff --git a/puppet/modules/packaging_tester/manifests/windows.pp b/puppet/modules/packaging_tester/manifests/windows.pp
index 48aafa6..f5eedf5 100644
--- a/puppet/modules/packaging_tester/manifests/windows.pp
+++ b/puppet/modules/packaging_tester/manifests/windows.pp
@@ -4,6 +4,7 @@ class packaging_tester::windows inherits packaging_tester::base {
include mingw
include mingw48
include mingw482
+ include mingw491
include openssl
include strawberryperl
include strawberryperl_portable