|
1 | 1 | #!/usr/bin/env bash |
2 | 2 |
|
3 | | -RUBY_BUILD_VERSION="20110906.1" |
| 3 | +RUBY_BUILD_VERSION="20110912.1" |
4 | 4 |
|
5 | 5 | set -E |
6 | 6 | exec 3<&2 # preserve original stderr at fd 3 |
@@ -35,36 +35,58 @@ build_failed() { |
35 | 35 | } |
36 | 36 |
|
37 | 37 | install_package() { |
38 | | - local cwd="$(pwd)" |
| 38 | + install_package_using "tarball" 1 $* |
| 39 | +} |
| 40 | + |
| 41 | +install_git() { |
| 42 | + install_package_using "git" 2 $* |
| 43 | +} |
| 44 | + |
| 45 | +install_package_using() { |
| 46 | + local package_type="$1" |
| 47 | + local package_type_nargs="$2" |
| 48 | + local package_name="$3" |
| 49 | + shift 3 |
| 50 | + |
| 51 | + pushd "$TEMP_PATH" |
| 52 | + "fetch_${package_type}" "$package_name" $* |
| 53 | + shift $(($package_type_nargs)) |
| 54 | + make_package "$package_name" $* |
| 55 | + popd |
| 56 | + |
| 57 | + echo "Installed ${package_name} to ${PREFIX_PATH}" >&2 |
| 58 | +} |
| 59 | + |
| 60 | +make_package() { |
39 | 61 | local package_name="$1" |
40 | | - local package_url="$2" |
41 | | - shift 2 |
| 62 | + shift |
42 | 63 |
|
43 | | - cd "$TEMP_PATH" |
44 | | - download_package "$package_name" "$package_url" |
45 | | - extract_package "$package_name" |
46 | | - cd "$package_name" |
| 64 | + pushd "$package_name" |
47 | 65 | build_package "$package_name" $* |
48 | 66 | after_install_package "$package_name" |
49 | 67 | fix_directory_permissions |
50 | | - cd "$cwd" |
| 68 | + popd |
51 | 69 |
|
52 | 70 | echo "Installed ${package_name} to ${PREFIX_PATH}" >&2 |
53 | 71 | } |
54 | 72 |
|
55 | | -download_package() { |
| 73 | +fetch_tarball() { |
56 | 74 | local package_name="$1" |
57 | 75 | local package_url="$2" |
58 | 76 |
|
59 | 77 | echo "Downloading ${package_url}..." >&2 |
60 | 78 | { curl "$package_url" > "${package_name}.tar.gz" |
| 79 | + tar xzvf "${package_name}.tar.gz" |
61 | 80 | } >&4 2>&1 |
62 | 81 | } |
63 | 82 |
|
64 | | -extract_package() { |
| 83 | +fetch_git() { |
65 | 84 | local package_name="$1" |
| 85 | + local git_url="$2" |
| 86 | + local git_ref="$3" |
66 | 87 |
|
67 | | - { tar xzvf "${package_name}.tar.gz" |
| 88 | + echo "Cloning ${git_url}..." >&2 |
| 89 | + { git clone --depth 1 --branch "$git_ref" "$git_url" "${package_name}" |
68 | 90 | } >&4 2>&1 |
69 | 91 | } |
70 | 92 |
|
@@ -94,6 +116,11 @@ build_package_standard() { |
94 | 116 | } >&4 2>&1 |
95 | 117 | } |
96 | 118 |
|
| 119 | +build_package_autoconf() { |
| 120 | + { autoconf |
| 121 | + } >&4 2>&1 |
| 122 | +} |
| 123 | + |
97 | 124 | build_package_ruby() { |
98 | 125 | local package_name="$1" |
99 | 126 |
|
|
0 commit comments