tools/checkout-deps.sh
author Scott Ehlert <ds@alliedmods.net>
Fri Mar 14 05:21:12 2014 -0500 (2014-03-14)
changeset 4284 ffbdeec249d9
parent 4283 7b53fb6f4e72
child 4325 c12f9b9042f9
permissions -rwxr-xr-x
Update checkout-deps script for Dota 2 on Linux and Mac OS X.
ds@4227
     1
#!/usr/bin/env bash
dvander@4104
     2
# This should be run inside a folder that contains sourcemod, otherwise, it will checkout things into "sm-dependencies".
dvander@4104
     3
ds@4227
     4
trap "exit" INT
ds@4227
     5
ds@4227
     6
ismac=0
ds@4228
     7
iswin=0
ds@4228
     8
ds@4228
     9
archive_ext=tar.gz
ds@4228
    10
decomp="tar zxvf"
ds@4228
    11
ds@4227
    12
if [ `uname` = "Darwin" ]; then
ds@4227
    13
  ismac=1
ds@4228
    14
elif [ `uname` != "Linux" ] && [ -n "${COMSPEC:+1}" ]; then
ds@4228
    15
  iswin=1
ds@4228
    16
  archive_ext=zip
ds@4228
    17
  decomp=unzip
ds@4227
    18
fi
ds@4227
    19
dvander@4104
    20
if [ ! -d "sourcemod-central" ]; then
dvander@4104
    21
  if [ ! -d "sourcemod-1.5" ]; then
dvander@4253
    22
    echo "Could not find a SourceMod repository; make sure you aren't running this script inside it."
dvander@4253
    23
    exit 1
dvander@4104
    24
  fi
dvander@4104
    25
fi
dvander@4104
    26
ds@4227
    27
if [ $ismac -eq 1 ]; then
ds@4227
    28
  mysqlver=mysql-5.5.28-osx10.5-x86
ds@4228
    29
  mysqlurl=http://cdn.mysql.com/archives/mysql-5.5/$mysqlver.$archive_ext
ds@4228
    30
elif [ $iswin -eq 1 ]; then
ds@4228
    31
  mysqlver=mysql-noinstall-5.0.24a-win32
ds@4228
    32
  mysqlurl=http://cdn.mysql.com/archives/mysql-5.0/$mysqlver.$archive_ext
ds@4228
    33
  # The folder in the zip archive does not contain the substring "-noinstall", so strip it
ds@4228
    34
  mysqlver=${mysqlver/-noinstall}
ds@4227
    35
else
ds@4227
    36
  mysqlver=mysql-5.6.15-linux-glibc2.5-i686
ds@4228
    37
  mysqlurl=http://cdn.mysql.com/archives/mysql-5.6/$mysqlver.$archive_ext
ds@4227
    38
fi
ds@4227
    39
dvander@4104
    40
if [ ! -d "mysql-5.0" ]; then
ds@4227
    41
  if [ `command -v wget` ]; then
ds@4228
    42
    wget $mysqlurl -O mysql.$archive_ext
ds@4227
    43
  elif [ `command -v curl` ]; then
ds@4228
    44
    curl -o mysql.$archive_ext $mysqlurl
ds@4227
    45
  else
ds@4227
    46
    echo "Failed to locate wget or curl. Install one of these programs to download MySQL."
ds@4227
    47
    exit 1
ds@4227
    48
  fi
ds@4228
    49
  $decomp mysql.$archive_ext
ds@4227
    50
  mv $mysqlver mysql-5.0
ds@4228
    51
  rm mysql.$archive_ext
dvander@4104
    52
fi
dvander@4104
    53
dvander@4104
    54
checkout ()
dvander@4104
    55
{
dvander@4104
    56
  if [ ! -d "$name" ]; then
skamonkey@4283
    57
    hg clone https://hg.alliedmods.net/$path/$name
dvander@4104
    58
  else
dvander@4104
    59
    cd $name
dvander@4104
    60
    hg pull -u
dvander@4104
    61
    cd ..
dvander@4104
    62
  fi
dvander@4104
    63
}
dvander@4104
    64
dvander@4104
    65
name=mmsource-1.10
dvander@4104
    66
path=releases
dvander@4104
    67
checkout
dvander@4104
    68
ds@4284
    69
sdks=( csgo hl2dm nd l4d2 dods l4d css tf2 insurgency 2013 dota )
ds@4227
    70
ds@4227
    71
if [ $ismac -eq 0 ]; then
ds@4228
    72
  # Checkout original HL2 SDK on Windows or Linux
ds@4227
    73
  name=hl2sdk
ds@4227
    74
  path=hl2sdks
ds@4227
    75
  checkout
ds@4228
    76
ds@4228
    77
  # Add these SDKs for Windows or Linux
ds@4228
    78
  sdks+=( ob blade )
ds@4228
    79
ds@4228
    80
  # Add more SDKs for Windows only
ds@4228
    81
  if [ $iswin -eq 1 ]; then
ds@4284
    82
    sdks+=( darkm swarm bgt eye )
ds@4228
    83
  fi
ds@4227
    84
fi
dvander@4104
    85
dvander@4104
    86
for sdk in "${sdks[@]}"
dvander@4104
    87
do
dvander@4104
    88
  name=hl2sdk-$sdk
dvander@4104
    89
  path=hl2sdks
dvander@4104
    90
  checkout
dvander@4104
    91
done
dvander@4104
    92
dvander@4253
    93
`python -c "import ambuild2"`
dvander@4253
    94
if [ $? -eq 1 ]; then
dvander@4253
    95
  name=ambuild
dvander@4253
    96
  path=ambuild
dvander@4253
    97
  checkout
dvander@4253
    98
dvander@4253
    99
  cd ambuild
dvander@4253
   100
  if [ $iswin -eq 1 ]; then
dvander@4253
   101
    python setup.py install
dvander@4253
   102
  else
dvander@4253
   103
    python setup.py build
dvander@4253
   104
    echo "About to install AMBuild - press Ctrl+C to abort, otherwise enter your password for sudo."
dvander@4253
   105
    sudo python setup.py install
dvander@4253
   106
  fi
dvander@4253
   107
fi