Temporarily remove iOS due to code signing issues
[mirror/qt/qt5.git] / coin / provisioning / common / macos / install-commandlinetools.sh
1 #!/bin/bash
2
3 #############################################################################
4 ##
5 ## Copyright (C) 2017 The Qt Company Ltd.
6 ## Contact: http://www.qt.io/licensing/
7 ##
8 ## This file is part of the test suite of the Qt Toolkit.
9 ##
10 ## $QT_BEGIN_LICENSE:LGPL21$
11 ## Commercial License Usage
12 ## Licensees holding valid commercial Qt licenses may use this file in
13 ## accordance with the commercial license agreement provided with the
14 ## Software or, alternatively, in accordance with the terms contained in
15 ## a written agreement between you and The Qt Company. For licensing terms
16 ## and conditions see http://www.qt.io/terms-conditions. For further
17 ## information use the contact form at http://www.qt.io/contact-us.
18 ##
19 ## GNU Lesser General Public License Usage
20 ## Alternatively, this file may be used under the terms of the GNU Lesser
21 ## General Public License version 2.1 or version 3 as published by the Free
22 ## Software Foundation and appearing in the file LICENSE.LGPLv21 and
23 ## LICENSE.LGPLv3 included in the packaging of this file. Please review the
24 ## following information to ensure the GNU Lesser General Public License
25 ## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
26 ## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
27 ##
28 ## As a special exception, The Qt Company gives you certain additional
29 ## rights. These rights are described in The Qt Company LGPL Exception
30 ## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
31 ##
32 ## $QT_END_LICENSE$
33 ##
34 #############################################################################
35 source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
36 source "${BASH_SOURCE%/*}/../unix/try_catch.sh"
37 set -ex
38
39 # Command line tools is need by Homebrew
40
41 function InstallCommandLineTools {
42
43     ExceptionMount=101
44     ExceptionInstall=102
45     ExceptionUnmount=103
46
47     url=$1
48     url_alt=$2
49     expectedSha1=$3
50     packageName=$4
51     version=$5
52
53     try
54     (
55         DownloadURL $url $url_alt $expectedSha1 /tmp/$packageName
56         echo "Mounting $packageName"
57         hdiutil attach /tmp/$packageName || throw $ExceptionMount
58         cd "/Volumes/Command Line Developer Tools"
59         echo "Installing"
60         sudo installer -verbose -pkg *.pkg -target / || throw $ExceptionInstall
61         cd /
62         # Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted
63         sleep 3
64         echo "Unmounting"
65         umount /Volumes/Command\ Line\ Developer\ Tools/ || throw $ExceptionUnmount
66         echo "Removing $packageName"
67         rm /tmp/$packageName
68
69         echo "Command Line Tools = $version" >> ~/versions.txt
70     )
71     catch || {
72         case $ex_code in
73             $ExceptionMount)
74                 echo "Failed to mount."
75                 exit 1;
76             ;;
77             $ExceptionInstall)
78                 echo "Failed to install command line tools."
79                 exit 1;
80             ;;
81             $ExceptionUnmount)
82                 echo "Failed to unmount."
83                 exit 1;
84
85         esac
86     }
87
88 }