Files
mosh/macosx/brew-deps.sh
John Hood 9ba07296f9 Fix Homebrew failure on Travis.
As predicted, 'brew unlink python' is no longer needed.
2018-08-02 21:42:49 -04:00

71 lines
1.7 KiB
Bash
Executable File

#!/bin/sh
#
# Install Homebrew dependencies
#
# This script handles build dependencies other than those provided by
# MacOS and Xcode, for a Mosh build using macosx/build.sh or the
# native autoconf/automake build for CI. It is intended to be used by
# a build system, and should be agnostic to any particular system.
#
# Similar scripts could be developed for MacPorts, direct dependency
# builds, etc.
#
#
# Install and/or configure the system used to provide dependencies.
#
install()
{
# Straight from https://brew.sh
if ! brew --version > /dev/null 2>&1; then
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
fi
}
#
# Install up-to-date build dependencies required for a development or
# CI build. These dependencies only need to provide runtime
# dependencies for the build system, support for things like previous
# OS versions and fat binaries is not needed.
#
deps()
{
brew update
brew update
brew upgrade
brew reinstall tmux
brew reinstall protobuf
}
#
# Install build dependencies required for the MacOS package build.
# Runtime dependencies are required to support the targeted OS X
# version, static libraries, and fat binaries for the package build.
#
# This reinstalls protobuf with --universal --build-bottle to get a
# fat library that will run on any machine. (This takes about 15
# minutes on current Travis infrastructure.)
#
package_deps()
{
deps
brew rm protobuf
brew install protobuf --universal --build-bottle
}
#
# Describe the dependencies installed and used as best as possible.
#
describe()
{
brew --version > brew-version.txt
brew info --json=v1 --installed > brew-info.json
}
#
# Do something.
#
set -e
"$@"