Commit a5325806 by Sam Stephenson

Merge remote-tracking branch 'jeremy/install-git'

parents f47e74aa 6ff599d6
#!/usr/bin/env bash #!/usr/bin/env bash
RUBY_BUILD_VERSION="20110906.1" RUBY_BUILD_VERSION="20110912.1"
set -E set -E
exec 3<&2 # preserve original stderr at fd 3 exec 3<&2 # preserve original stderr at fd 3
...@@ -35,36 +35,58 @@ build_failed() { ...@@ -35,36 +35,58 @@ build_failed() {
} }
install_package() { install_package() {
local cwd="$(pwd)" install_package_using "tarball" 1 $*
}
install_git() {
install_package_using "git" 2 $*
}
install_package_using() {
local package_type="$1"
local package_type_nargs="$2"
local package_name="$3"
shift 3
pushd "$TEMP_PATH"
"fetch_${package_type}" "$package_name" $*
shift $(($package_type_nargs))
make_package "$package_name" $*
popd
echo "Installed ${package_name} to ${PREFIX_PATH}" >&2
}
make_package() {
local package_name="$1" local package_name="$1"
local package_url="$2" shift
shift 2
cd "$TEMP_PATH" pushd "$package_name"
download_package "$package_name" "$package_url"
extract_package "$package_name"
cd "$package_name"
build_package "$package_name" $* build_package "$package_name" $*
after_install_package "$package_name" after_install_package "$package_name"
fix_directory_permissions fix_directory_permissions
cd "$cwd" popd
echo "Installed ${package_name} to ${PREFIX_PATH}" >&2 echo "Installed ${package_name} to ${PREFIX_PATH}" >&2
} }
download_package() { fetch_tarball() {
local package_name="$1" local package_name="$1"
local package_url="$2" local package_url="$2"
echo "Downloading ${package_url}..." >&2 echo "Downloading ${package_url}..." >&2
{ curl "$package_url" > "${package_name}.tar.gz" { curl "$package_url" > "${package_name}.tar.gz"
tar xzvf "${package_name}.tar.gz"
} >&4 2>&1 } >&4 2>&1
} }
extract_package() { fetch_git() {
local package_name="$1" local package_name="$1"
local git_url="$2"
local git_ref="$3"
{ tar xzvf "${package_name}.tar.gz" echo "Cloning ${git_url}..." >&2
{ git clone --depth 1 --branch "$git_ref" "$git_url" "${package_name}"
} >&4 2>&1 } >&4 2>&1
} }
...@@ -94,6 +116,11 @@ build_package_standard() { ...@@ -94,6 +116,11 @@ build_package_standard() {
} >&4 2>&1 } >&4 2>&1
} }
build_package_autoconf() {
{ autoconf
} >&4 2>&1
}
build_package_ruby() { build_package_ruby() {
local package_name="$1" local package_name="$1"
......
use_gcc42_on_lion
install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz"
install_git "ruby-1.9.3-dev" "https://github.com/ruby/ruby.git" "ruby_1_9_3" autoconf standard
install_package "rubygems-1.8.10" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz" ruby
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment