Skip to content

Commit

Permalink
Merge remote-tracking branch 'jeremy/install-git'
Browse files Browse the repository at this point in the history
  • Loading branch information
sstephenson committed Sep 14, 2011
2 parents f47e74a + 6ff599d commit a532580
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 12 deletions.
51 changes: 39 additions & 12 deletions bin/ruby-build
@@ -1,6 +1,6 @@
#!/usr/bin/env bash

RUBY_BUILD_VERSION="20110906.1"
RUBY_BUILD_VERSION="20110912.1"

set -E
exec 3<&2 # preserve original stderr at fd 3
Expand Down Expand Up @@ -35,36 +35,58 @@ build_failed() {
}

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_url="$2"
shift 2
shift

cd "$TEMP_PATH"
download_package "$package_name" "$package_url"
extract_package "$package_name"
cd "$package_name"
pushd "$package_name"
build_package "$package_name" $*
after_install_package "$package_name"
fix_directory_permissions
cd "$cwd"
popd

echo "Installed ${package_name} to ${PREFIX_PATH}" >&2
}

download_package() {
fetch_tarball() {
local package_name="$1"
local package_url="$2"

echo "Downloading ${package_url}..." >&2
{ curl "$package_url" > "${package_name}.tar.gz"
tar xzvf "${package_name}.tar.gz"
} >&4 2>&1
}

extract_package() {
fetch_git() {
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
}

Expand Down Expand Up @@ -94,6 +116,11 @@ build_package_standard() {
} >&4 2>&1
}

build_package_autoconf() {
{ autoconf
} >&4 2>&1
}

build_package_ruby() {
local package_name="$1"

Expand Down
4 changes: 4 additions & 0 deletions share/ruby-build/1.9.3-dev
@@ -0,0 +1,4 @@
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

0 comments on commit a532580

Please sign in to comment.