pax_global_header00006660000000000000000000000064126141314160014511gustar00rootroot0000000000000052 comment=4ed3974732b89c6a4fa4b1026344782b85a29c75 ruby-build-20151028/000077500000000000000000000000001261413141600140335ustar00rootroot00000000000000ruby-build-20151028/.travis.yml000066400000000000000000000007321261413141600161460ustar00rootroot00000000000000sudo: false install: git clone --depth 1 https://github.com/sstephenson/bats.git script: PATH="./bats/bin:$PATH" script/test language: c notifications: email: on_success: never env: global: - AMAZON_S3_BUCKET=ruby-build-mirror - AMAZON_ACCESS_KEY_ID=AKIAJKAUQVHU6X4CODDQ - secure: LTSvDP2o72nbECDwWsfwnsiETF4VpqrYN3y/ve68AZIMzfNWDB5vhqzMLU1ltFnSNxd71gTCGX2OEcsxdrfnG+Msu52v8FtJ7lz/b9xn83gGYrGnmEMzARtd1fnuzlWQh/1eNL9jrNl8FDhgjoTqKl2gF6fZBsQxcHRnvRSXcqE= ruby-build-20151028/LICENSE000066400000000000000000000020471261413141600150430ustar00rootroot00000000000000Copyright (c) 2012-2013 Sam Stephenson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ruby-build-20151028/README.md000066400000000000000000000231221261413141600153120ustar00rootroot00000000000000# ruby-build ruby-build is an [rbenv](https://github.com/sstephenson/rbenv) plugin that provides an `rbenv install` command to compile and install different versions of Ruby on UNIX-like systems. You can also use ruby-build without rbenv in environments where you need precise control over Ruby version installation. See the [list of releases](https://github.com/sstephenson/ruby-build/releases) for changes in each version. ## Installation ### Installing as an rbenv plugin (recommended) Installing ruby-build as an rbenv plugin will give you access to the `rbenv install` command. git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build This will install the latest development version of ruby-build into the `~/.rbenv/plugins/ruby-build` directory. From that directory, you can check out a specific release tag. To update ruby-build, run `git pull` to download the latest changes. ### Installing as a standalone program (advanced) Installing ruby-build as a standalone program will give you access to the `ruby-build` command for precise control over Ruby version installation. If you have rbenv installed, you will also be able to use the `rbenv install` command. git clone https://github.com/sstephenson/ruby-build.git cd ruby-build ./install.sh This will install ruby-build into `/usr/local`. If you do not have write permission to `/usr/local`, you will need to run `sudo ./install.sh` instead. You can install to a different prefix by setting the `PREFIX` environment variable. To update ruby-build after it has been installed, run `git pull` in your cloned copy of the repository, then re-run the install script. ### Installing with Homebrew (for OS X users) Mac OS X users can install ruby-build with the [Homebrew](http://brew.sh) package manager. This will give you access to the `ruby-build` command. If you have rbenv installed, you will also be able to use the `rbenv install` command. *This is the recommended method of installation if you installed rbenv with Homebrew.* brew install ruby-build Or, if you would like to install the latest development release: brew install --HEAD ruby-build ## Usage Before you begin, you should ensure that your build environment has the proper system dependencies for compiling the wanted Ruby version (see our [recommendations](https://github.com/sstephenson/ruby-build/wiki#suggested-build-environment)). ### Using `rbenv install` with rbenv To install a Ruby version for use with rbenv, run `rbenv install` with the exact name of the version you want to install. For example, rbenv install 2.2.0 Ruby versions will be installed into a directory of the same name under `~/.rbenv/versions`. To see a list of all available Ruby versions, run `rbenv install --list`. You may also tab-complete available Ruby versions if your rbenv installation is properly configured. ### Using `ruby-build` standalone If you have installed ruby-build as a standalone program, you can use the `ruby-build` command to compile and install Ruby versions into specific locations. Run the `ruby-build` command with the exact name of the version you want to install and the full path where you want to install it. For example, ruby-build 2.2.0 ~/local/ruby-2.2.0 To see a list of all available Ruby versions, run `ruby-build --definitions`. Pass the `-v` or `--verbose` flag to `ruby-build` as the first argument to see what's happening under the hood. ### Custom definitions Both `rbenv install` and `ruby-build` accept a path to a custom definition file in place of a version name. Custom definitions let you develop and install versions of Ruby that are not yet supported by ruby-build. See the [ruby-build built-in definitions][definitions] as a starting point for custom definition files. [definitions]: https://github.com/sstephenson/ruby-build/tree/master/share/ruby-build ### Special environment variables You can set certain environment variables to control the build process. * `TMPDIR` sets the location where ruby-build stores temporary files. * `RUBY_BUILD_BUILD_PATH` sets the location in which sources are downloaded and built. By default, this is a subdirectory of `TMPDIR`. * `RUBY_BUILD_CACHE_PATH`, if set, specifies a directory to use for caching downloaded package files. * `RUBY_BUILD_MIRROR_URL` overrides the default mirror URL root to one of your choosing. * `RUBY_BUILD_SKIP_MIRROR`, if set, forces ruby-build to download packages from their original source URLs instead of using a mirror. * `RUBY_BUILD_ROOT` overrides the default location from where build definitions in `share/ruby-build/` are looked up. * `RUBY_BUILD_DEFINITIONS` can be a list of colon-separated paths that get additionally searched when looking up build definitions. * `CC` sets the path to the C compiler. * `RUBY_CFLAGS` lets you pass additional options to the default `CFLAGS`. Use this to override, for instance, the `-O3` option. * `CONFIGURE_OPTS` lets you pass additional options to `./configure`. * `MAKE` lets you override the command to use for `make`. Useful for specifying GNU make (`gmake`) on some systems. * `MAKE_OPTS` (or `MAKEOPTS`) lets you pass additional options to `make`. * `MAKE_INSTALL_OPTS` lets you pass additional options to `make install`. * `RUBY_CONFIGURE_OPTS`, `RUBY_MAKE_OPTS` and `RUBY_MAKE_INSTALL_OPTS` allow you to specify configure and make options for buildling MRI. These variables will be passed to Ruby only, not any dependent packages (e.g. libyaml). ### Applying patches to Ruby before compiling Both `rbenv install` and `ruby-build` support the `--patch` (`-p`) flag that signals that a patch from stdin should be applied to Ruby, JRuby, or Rubinius source code before the `./configure` and compilation steps. Example usage: ```sh # applying a single patch $ rbenv install --patch 1.9.3-p429 < /path/to/ruby.patch # applying a patch from HTTP $ rbenv install --patch 1.9.3-p429 < <(curl -sSL http://git.io/ruby.patch) # applying multiple patches $ cat fix1.patch fix2.patch | rbenv install --patch 1.9.3-p429 ``` ### Checksum verification If you have the `shasum`, `openssl`, or `sha256sum` tool installed, ruby-build will automatically verify the SHA2 checksum of each downloaded package before installing it. Checksums are optional and specified as anchors on the package URL in each definition. (All bundled definitions include checksums.) ### Package download mirrors ruby-build will first attempt to download package files from a mirror hosted on Amazon CloudFront. If a package is not available on the mirror, if the mirror is down, or if the download is corrupt, ruby-build will fall back to the official URL specified in the definition file. You can point ruby-build to another mirror by specifying the `RUBY_BUILD_MIRROR_URL` environment variable--useful if you'd like to run your own local mirror, for example. Package mirror URLs are constructed by joining this variable with the SHA2 checksum of the package file. If you don't have an SHA2 program installed, ruby-build will skip the download mirror and use official URLs instead. You can force ruby-build to bypass the mirror by setting the `RUBY_BUILD_SKIP_MIRROR` environment variable. The official ruby-build download mirror is sponsored by [Basecamp](https://basecamp.com/). ### Package download caching You can instruct ruby-build to keep a local cache of downloaded package files by setting the `RUBY_BUILD_CACHE_PATH` environment variable. When set, package files will be kept in this directory after the first successful download and reused by subsequent invocations of `ruby-build` and `rbenv install`. The `rbenv install` command defaults this path to `~/.rbenv/cache`, so in most cases you can enable download caching simply by creating that directory. ### Keeping the build directory after installation Both `ruby-build` and `rbenv install` accept the `-k` or `--keep` flag, which tells ruby-build to keep the downloaded source after installation. This can be useful if you need to use `gdb` and `memprof` with Ruby. Source code will be kept in a parallel directory tree `~/.rbenv/sources` when using `--keep` with the `rbenv install` command. You should specify the location of the source code with the `RUBY_BUILD_BUILD_PATH` environment variable when using `--keep` with `ruby-build`. ## Getting Help Please see the [ruby-build wiki][wiki] for solutions to common problems. [wiki]: https://github.com/sstephenson/ruby-build/wiki If you can't find an answer on the wiki, open an issue on the [issue tracker](https://github.com/sstephenson/ruby-build/issues). Be sure to include the full build log for build failures. ### License (The MIT License) Copyright (c) 2012-2013 Sam Stephenson Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ruby-build-20151028/bin/000077500000000000000000000000001261413141600146035ustar00rootroot00000000000000ruby-build-20151028/bin/rbenv-install000077500000000000000000000141251261413141600173140ustar00rootroot00000000000000#!/usr/bin/env bash # # Summary: Install a Ruby version using ruby-build # # Usage: rbenv install [-f] [-kvp] # rbenv install [-f] [-kvp] # rbenv install -l|--list # # -l/--list List all available versions # -f/--force Install even if the version appears to be installed already # -s/--skip-existing Skip if the version appears to be installed already # # ruby-build options: # # -k/--keep Keep source tree in $RBENV_BUILD_ROOT after installation # (defaults to $RBENV_ROOT/sources) # -v/--verbose Verbose mode: print compilation status to stdout # -p/--patch Apply a patch from stdin before building # # For detailed information on installing Ruby versions with # ruby-build, including a list of environment variables for adjusting # compilation, see: https://github.com/sstephenson/ruby-build#usage # set -e [ -n "$RBENV_DEBUG" ] && set -x if [ -z "$RBENV_ROOT" ]; then RBENV_ROOT="${HOME}/.rbenv" fi # Add `share/ruby-build/` directory from each rbenv plugin to the list of # paths where build definitions are looked up. shopt -s nullglob for plugin_path in "$RBENV_ROOT"/plugins/*/share/ruby-build; do RUBY_BUILD_DEFINITIONS="${RUBY_BUILD_DEFINITIONS}:${plugin_path}" done export RUBY_BUILD_DEFINITIONS shopt -u nullglob # Provide rbenv completions if [ "$1" = "--complete" ]; then exec ruby-build --definitions fi # Load shared library functions eval "$(ruby-build --lib)" usage() { rbenv-help install 2>/dev/null [ -z "$1" ] || exit "$1" } definitions() { local query="$1" ruby-build --definitions | $(type -p ggrep grep | head -1) -F "$query" || true } indent() { sed 's/^/ /' } unset FORCE unset SKIP_EXISTING unset KEEP unset VERBOSE unset HAS_PATCH parse_options "$@" for option in "${OPTIONS[@]}"; do case "$option" in "h" | "help" ) usage 0 ;; "l" | "list" ) echo "Available versions:" definitions | indent exit ;; "f" | "force" ) FORCE=true ;; "s" | "skip-existing" ) SKIP_EXISTING=true ;; "k" | "keep" ) [ -n "${RBENV_BUILD_ROOT}" ] || RBENV_BUILD_ROOT="${RBENV_ROOT}/sources" ;; "v" | "verbose" ) VERBOSE="-v" ;; "p" | "patch" ) HAS_PATCH="-p" ;; "version" ) exec ruby-build --version ;; * ) usage 1 >&2 ;; esac done [ "${#ARGUMENTS[@]}" -le 1 ] || usage 1 >&2 unset VERSION_NAME # The first argument contains the definition to install. If the # argument is missing, try to install whatever local app-specific # version is specified by rbenv. Show usage instructions if a local # version is not specified. DEFINITION="${ARGUMENTS[0]}" [ -n "$DEFINITION" ] || DEFINITION="$(rbenv-local 2>/dev/null || true)" [ -n "$DEFINITION" ] || usage 1 >&2 # Define `before_install` and `after_install` functions that allow # plugin hooks to register a string of code for execution before or # after the installation process. declare -a before_hooks after_hooks before_install() { local hook="$1" before_hooks["${#before_hooks[@]}"]="$hook" } after_install() { local hook="$1" after_hooks["${#after_hooks[@]}"]="$hook" } OLDIFS="$IFS" IFS=$'\n' scripts=(`rbenv-hooks install`) IFS="$OLDIFS" for script in "${scripts[@]}"; do source "$script"; done # Set VERSION_NAME from $DEFINITION, if it is not already set. Then # compute the installation prefix. [ -n "$VERSION_NAME" ] || VERSION_NAME="${DEFINITION##*/}" PREFIX="${RBENV_ROOT}/versions/${VERSION_NAME}" [ -d "${PREFIX}" ] && PREFIX_EXISTS=1 # If the installation prefix exists, prompt for confirmation unless # the --force option was specified. if [ -d "${PREFIX}/bin" ]; then if [ -z "$FORCE" ] && [ -z "$SKIP_EXISTING" ]; then echo "rbenv: $PREFIX already exists" >&2 read -p "continue with installation? (y/N) " case "$REPLY" in y* | Y* ) ;; * ) exit 1 ;; esac elif [ -n "$SKIP_EXISTING" ]; then # Since we know the ruby version is already installed, and are opting to # not force installation of existing versions, we just `exit 0` here to # leave things happy exit 0 fi fi # If RBENV_BUILD_ROOT is set, always pass keep options to ruby-build. if [ -n "${RBENV_BUILD_ROOT}" ]; then export RUBY_BUILD_BUILD_PATH="${RBENV_BUILD_ROOT}/${VERSION_NAME}" KEEP="-k" fi # Set RUBY_BUILD_CACHE_PATH to $RBENV_ROOT/cache, if the directory # exists and the variable is not already set. if [ -z "${RUBY_BUILD_CACHE_PATH}" ] && [ -d "${RBENV_ROOT}/cache" ]; then export RUBY_BUILD_CACHE_PATH="${RBENV_ROOT}/cache" fi # Default RBENV_VERSION to the globally-specified Ruby version. (The # REE installer requires an existing Ruby installation to run. An # unsatisfied local .ruby-version file can cause the installer to # fail.) export RBENV_VERSION="$(rbenv-global 2>/dev/null || true)" # Execute `before_install` hooks. for hook in "${before_hooks[@]}"; do eval "$hook"; done # Plan cleanup on unsuccessful installation. cleanup() { [ -z "${PREFIX_EXISTS}" ] && rm -rf "$PREFIX" } trap cleanup SIGINT # Invoke `ruby-build` and record the exit status in $STATUS. STATUS=0 ruby-build $KEEP $VERBOSE $HAS_PATCH "$DEFINITION" "$PREFIX" || STATUS="$?" # Display a more helpful message if the definition wasn't found. if [ "$STATUS" == "2" ]; then { candidates="$(definitions "$DEFINITION")" here="$(dirname "${0%/*}")" if [ -n "$candidates" ]; then echo echo "The following versions contain \`$DEFINITION' in the name:" echo "$candidates" | indent fi echo echo "See all available versions with \`rbenv install --list'." echo echo -n "If the version you need is missing, try upgrading ruby-build" if [ "$here" != "${here#$(brew --prefix 2>/dev/null)}" ]; then printf ":\n\n" echo " brew update && brew upgrade ruby-build" elif [ -d "${here}/.git" ]; then printf ":\n\n" echo " cd ${here} && git pull && cd -" else printf ".\n" fi } >&2 fi # Execute `after_install` hooks. for hook in "${after_hooks[@]}"; do eval "$hook"; done # Run `rbenv-rehash` after a successful installation. if [ "$STATUS" == "0" ]; then rbenv-rehash else cleanup fi exit "$STATUS" ruby-build-20151028/bin/rbenv-uninstall000077500000000000000000000032161261413141600176560ustar00rootroot00000000000000#!/usr/bin/env bash # # Summary: Uninstall a specific Ruby version # # Usage: rbenv uninstall [-f|--force] # # -f Attempt to remove the specified version without prompting # for confirmation. If the version does not exist, do not # display an error message. # # See `rbenv versions` for a complete list of installed versions. # set -e # Provide rbenv completions if [ "$1" = "--complete" ]; then exec rbenv versions --bare fi usage() { rbenv-help uninstall 2>/dev/null [ -z "$1" ] || exit "$1" } if [ -z "$RBENV_ROOT" ]; then RBENV_ROOT="${HOME}/.rbenv" fi if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then usage 0 fi unset FORCE if [ "$1" = "-f" ] || [ "$1" = "--force" ]; then FORCE=true shift fi [ "$#" -eq 1 ] || usage 1 >&2 DEFINITION="$1" case "$DEFINITION" in "" | -* ) usage 1 >&2 ;; esac declare -a before_hooks after_hooks before_uninstall() { local hook="$1" before_hooks["${#before_hooks[@]}"]="$hook" } after_uninstall() { local hook="$1" after_hooks["${#after_hooks[@]}"]="$hook" } OLDIFS="$IFS" IFS=$'\n' scripts=(`rbenv-hooks uninstall`) IFS="$OLDIFS" for script in "${scripts[@]}"; do source "$script"; done VERSION_NAME="${DEFINITION##*/}" PREFIX="${RBENV_ROOT}/versions/${VERSION_NAME}" if [ -z "$FORCE" ]; then if [ ! -d "$PREFIX" ]; then echo "rbenv: version \`$VERSION_NAME' not installed" >&2 exit 1 fi read -p "rbenv: remove $PREFIX? " case "$REPLY" in y* | Y* ) ;; * ) exit 1 ;; esac fi for hook in "${before_hooks[@]}"; do eval "$hook"; done if [ -d "$PREFIX" ]; then rm -rf "$PREFIX" rbenv-rehash fi for hook in "${after_hooks[@]}"; do eval "$hook"; done ruby-build-20151028/bin/ruby-build000077500000000000000000000751311261413141600166160ustar00rootroot00000000000000#!/usr/bin/env bash # # Usage: ruby-build [-kvp] # ruby-build --definitions # # -k/--keep Do not remove source tree after installation # -v/--verbose Verbose mode: print compilation status to stdout # -p/--patch Apply a patch from stdin before building # -4/--ipv4 Resolve names to IPv4 addresses only # -6/--ipv6 Resolve names to IPv6 addresses only # --definitions List all built-in definitions # RUBY_BUILD_VERSION="20151028" OLDIFS="$IFS" set -E exec 3<&2 # preserve original stderr at fd 3 lib() { parse_options() { OPTIONS=() ARGUMENTS=() local arg option index for arg in "$@"; do if [ "${arg:0:1}" = "-" ]; then if [ "${arg:1:1}" = "-" ]; then OPTIONS[${#OPTIONS[*]}]="${arg:2}" else index=1 while option="${arg:$index:1}"; do [ -n "$option" ] || break OPTIONS[${#OPTIONS[*]}]="$option" index=$(($index+1)) done fi else ARGUMENTS[${#ARGUMENTS[*]}]="$arg" fi done } if [ "$1" == "--$FUNCNAME" ]; then declare -f "$FUNCNAME" echo "$FUNCNAME \"\$1\";" exit fi } lib "$1" resolve_link() { $(type -p greadlink readlink | head -1) "$1" } abs_dirname() { local cwd="$(pwd)" local path="$1" while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" path="$(resolve_link "$name" || true)" done pwd cd "$cwd" } capitalize() { printf "%s" "$1" | tr a-z A-Z } sanitize() { printf "%s" "$1" | sed "s/[^A-Za-z0-9.-]/_/g; s/__*/_/g" } colorize() { if [ -t 1 ]; then printf "\e[%sm%s\e[m" "$1" "$2" else echo -n "$2" fi } os_information() { if type -p lsb_release >/dev/null; then lsb_release -sir | xargs echo elif type -p sw_vers >/dev/null; then echo "OS X $(sw_vers -productVersion)" elif [ -r /etc/os-release ]; then source /etc/os-release echo "$NAME" $VERSION_ID else local os="$(cat /etc/{centos,redhat,fedora,system}-release /etc/debian_version 2>/dev/null | head -1)" echo "${os:-$(uname -sr)}" fi } # 9.1 -> 901 # 10.9 -> 1009 # 10.10 -> 1010 osx_version() { local -a ver IFS=. ver=( `sw_vers -productVersion` ) IFS="$OLDIFS" echo $(( ${ver[0]}*100 + ${ver[1]} )) } build_failed() { { echo colorize 1 "BUILD FAILED" echo " ($(os_information) using $(version))" echo if ! rmdir "${BUILD_PATH}" 2>/dev/null; then echo "Inspect or clean up the working tree at ${BUILD_PATH}" if file_is_not_empty "$LOG_PATH"; then colorize 33 "Results logged to ${LOG_PATH}" printf "\n\n" echo "Last 10 log lines:" tail -n 10 "$LOG_PATH" fi fi } >&3 exit 1 } file_is_not_empty() { local filename="$1" local line_count="$(wc -l "$filename" 2>/dev/null || true)" if [ -n "$line_count" ]; then words=( $line_count ) [ "${words[0]}" -gt 0 ] else return 1 fi } num_cpu_cores() { local num case "$(uname -s)" in Darwin | *BSD ) num="$(sysctl -n hw.ncpu 2>/dev/null || true)" ;; * ) num="$(grep ^processor /proc/cpuinfo 2>/dev/null | wc -l | xargs)" num="${num#0}" ;; esac echo "${num:-2}" } install_package() { install_package_using "tarball" 1 "$@" } install_git() { install_package_using "git" 2 "$@" } install_svn() { install_package_using "svn" 2 "$@" } install_package_using() { local package_type="$1" local package_type_nargs="$2" local package_name="$3" shift 3 local fetch_args=( "$package_name" "${@:1:$package_type_nargs}" ) local make_args=( "$package_name" ) local arg last_arg for arg in "${@:$(( $package_type_nargs + 1 ))}"; do if [ "$last_arg" = "--if" ]; then "$arg" || return 0 elif [ "$arg" != "--if" ]; then make_args["${#make_args[@]}"]="$arg" fi last_arg="$arg" done pushd "$BUILD_PATH" >&4 "fetch_${package_type}" "${fetch_args[@]}" make_package "${make_args[@]}" popd >&4 { echo "Installed ${package_name} to ${PREFIX_PATH}" echo } >&2 } make_package() { local package_name="$1" shift pushd "$package_name" >&4 before_install_package "$package_name" build_package "$package_name" $* after_install_package "$package_name" fix_directory_permissions popd >&4 } compute_sha2() { local output if type shasum &>/dev/null; then output="$(shasum -a 256 -b)" || return 1 echo "${output% *}" elif type openssl &>/dev/null; then local openssl="$(command -v "$(brew --prefix openssl 2>/dev/null || true)"/bin/openssl openssl | head -1)" output="$("$openssl" dgst -sha256 2>/dev/null)" || return 1 echo "${output##* }" elif type sha256sum &>/dev/null; then output="$(sha256sum --quiet)" || return 1 echo "${output% *}" else return 1 fi } compute_md5() { local output if type md5 &>/dev/null; then md5 -q elif type openssl &>/dev/null; then output="$(openssl md5)" || return 1 echo "${output##* }" elif type md5sum &>/dev/null; then output="$(md5sum -b)" || return 1 echo "${output% *}" else return 1 fi } verify_checksum() { # If there's no SHA2 support, return success [ -n "$HAS_SHA2_SUPPORT" ] || return 0 local checksum_command="compute_sha2" # If the specified filename doesn't exist, return success local filename="$1" [ -e "$filename" ] || return 0 # If there's no expected checksum, return success local expected_checksum=`echo "$2" | tr [A-Z] [a-z]` [ -n "$expected_checksum" ] || return 0 # If the checksum length is 32 chars, assume MD5, otherwise SHA2 if [ "${#expected_checksum}" -eq 32 ]; then [ -n "$HAS_MD5_SUPPORT" ] || return 0 checksum_command="compute_md5" fi # If the computed checksum is empty, return failure local computed_checksum=`echo "$($checksum_command < "$filename")" | tr [A-Z] [a-z]` [ -n "$computed_checksum" ] || return 1 if [ "$expected_checksum" != "$computed_checksum" ]; then { echo echo "checksum mismatch: ${filename} (file is corrupt)" echo "expected $expected_checksum, got $computed_checksum" echo } >&4 return 1 fi } http() { local method="$1" local url="$2" local file="$3" [ -n "$url" ] || return 1 if type curl &>/dev/null; then "http_${method}_curl" "$url" "$file" elif type wget &>/dev/null; then "http_${method}_wget" "$url" "$file" else echo "error: please install \`curl\` or \`wget\` and try again" >&2 exit 1 fi } http_head_curl() { options="" [ -n "${IPV4}" ] && options="--ipv4" [ -n "${IPV6}" ] && options="--ipv6" curl -qsILf ${options} "$1" >&4 2>&1 } http_get_curl() { options="" [ -n "${IPV4}" ] && options="--ipv4" [ -n "${IPV6}" ] && options="--ipv6" curl -q -o "${2:--}" -sSLf ${options} "$1" } http_head_wget() { options="" [ -n "${IPV4}" ] && options="--inet4-only" [ -n "${IPV6}" ] && options="--inet6-only" wget -q --spider ${options} "$1" >&4 2>&1 } http_get_wget() { options="" [ -n "${IPV4}" ] && options="--inet4-only" [ -n "${IPV6}" ] && options="--inet6-only" wget -nv ${options} -O "${2:--}" "$1" } fetch_tarball() { local package_name="$1" local package_url="$2" local mirror_url local checksum if [ "$package_url" != "${package_url/\#}" ]; then checksum="${package_url#*#}" package_url="${package_url%%#*}" if [ -n "$RUBY_BUILD_MIRROR_URL" ]; then mirror_url="${RUBY_BUILD_MIRROR_URL}/$checksum" fi fi local tar_args="xzf" local package_filename="${package_name}.tar.gz" if [ "$package_url" != "${package_url%bz2}" ]; then package_filename="${package_filename%.gz}.bz2" tar_args="${tar_args/z/j}" fi if ! reuse_existing_tarball "$package_filename" "$checksum"; then local tarball_filename=$(basename $package_url) echo "Downloading ${tarball_filename}..." >&2 http head "$mirror_url" && download_tarball "$mirror_url" "$package_filename" "$checksum" || download_tarball "$package_url" "$package_filename" "$checksum" fi { if tar $tar_args "$package_filename"; then if [ -z "$KEEP_BUILD_PATH" ]; then rm -f "$package_filename" else true fi fi } >&4 2>&1 } reuse_existing_tarball() { local package_filename="$1" local checksum="$2" # Reuse existing file in build location if [ -e "$package_filename" ] && verify_checksum "$package_filename" "$checksum"; then return 0 fi # Reuse previously downloaded file in cache location [ -n "$RUBY_BUILD_CACHE_PATH" ] || return 1 local cached_package_filename="${RUBY_BUILD_CACHE_PATH}/$package_filename" [ -e "$cached_package_filename" ] || return 1 verify_checksum "$cached_package_filename" "$checksum" >&4 2>&1 || return 1 ln -s "$cached_package_filename" "$package_filename" >&4 2>&1 || return 1 } download_tarball() { local package_url="$1" [ -n "$package_url" ] || return 1 local package_filename="$2" local checksum="$3" echo "-> $package_url" >&2 if http get "$package_url" "$package_filename" >&4 2>&1; then verify_checksum "$package_filename" "$checksum" >&4 2>&1 || return 1 else echo "error: failed to download $package_filename" >&2 return 1 fi if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then local cached_package_filename="${RUBY_BUILD_CACHE_PATH}/$package_filename" { mv "$package_filename" "$cached_package_filename" ln -s "$cached_package_filename" "$package_filename" } >&4 2>&1 || return 1 fi } fetch_git() { local package_name="$1" local git_url="$2" local git_ref="$3" echo "Cloning ${git_url}..." >&2 if type git &>/dev/null; then if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then pushd "$RUBY_BUILD_CACHE_PATH" >&4 local clone_name="$(sanitize "$git_url")" if [ -e "${clone_name}" ]; then { cd "${clone_name}" git fetch --force "$git_url" "+${git_ref}:${git_ref}" } >&4 2>&1 else git clone --bare --branch "$git_ref" "$git_url" "${clone_name}" >&4 2>&1 fi git_url="$RUBY_BUILD_CACHE_PATH/${clone_name}" popd >&4 fi if [ -e "${package_name}" ]; then ( cd "${package_name}" git fetch --depth 1 origin "+${git_ref}" git checkout -q -B "$git_ref" "origin/${git_ref}" ) >&4 2>&1 else git clone --depth 1 --branch "$git_ref" "$git_url" "${package_name}" >&4 2>&1 fi else echo "error: please install \`git\` and try again" >&2 exit 1 fi } fetch_svn() { local package_name="$1" local svn_url="$2" local svn_rev="$3" echo "Checking out ${svn_url}..." >&2 if type svn &>/dev/null; then svn co -r "$svn_rev" "$svn_url" "${package_name}" >&4 2>&1 else echo "error: please install Subversion and try again" >&2 exit 1 fi } build_package() { local package_name="$1" shift if [ "$#" -eq 0 ]; then local commands="standard" else local commands="$*" fi echo "Installing ${package_name}..." >&2 [ -n "$HAS_PATCH" ] && apply_ruby_patch "$package_name" for command in $commands; do "build_package_${command}" "$package_name" done } package_option() { local package_name="$1" local command_name="$2" local variable="$(capitalize "${package_name}_${command_name}")_OPTS_ARRAY" local array="$variable[@]" shift 2 local value=( "${!array}" "$@" ) eval "$variable=( \"\${value[@]}\" )" } build_package_standard() { local package_name="$1" if [ "${MAKEOPTS+defined}" ]; then MAKE_OPTS="$MAKEOPTS" elif [ -z "${MAKE_OPTS+defined}" ]; then MAKE_OPTS="-j $(num_cpu_cores)" fi # Support YAML_CONFIGURE_OPTS, RUBY_CONFIGURE_OPTS, etc. local package_var_name="$(capitalize "${package_name%%-*}")" local PACKAGE_CONFIGURE="${package_var_name}_CONFIGURE" local PACKAGE_PREFIX_PATH="${package_var_name}_PREFIX_PATH" local PACKAGE_CONFIGURE_OPTS="${package_var_name}_CONFIGURE_OPTS" local PACKAGE_CONFIGURE_OPTS_ARRAY="${package_var_name}_CONFIGURE_OPTS_ARRAY[@]" local PACKAGE_MAKE_OPTS="${package_var_name}_MAKE_OPTS" local PACKAGE_MAKE_OPTS_ARRAY="${package_var_name}_MAKE_OPTS_ARRAY[@]" local PACKAGE_MAKE_INSTALL_OPTS="${package_var_name}_MAKE_INSTALL_OPTS" local PACKAGE_MAKE_INSTALL_OPTS_ARRAY="${package_var_name}_MAKE_INSTALL_OPTS_ARRAY[@]" local PACKAGE_CFLAGS="${package_var_name}_CFLAGS" [ "$package_var_name" = "RUBY" ] && use_homebrew_readline || true ( if [ "${CFLAGS+defined}" ] || [ "${!PACKAGE_CFLAGS+defined}" ]; then export CFLAGS="$CFLAGS ${!PACKAGE_CFLAGS}" fi if [ -z "$CC" ] && [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then export CC=clang fi ${!PACKAGE_CONFIGURE:-./configure} --prefix="${!PACKAGE_PREFIX_PATH:-$PREFIX_PATH}" \ $CONFIGURE_OPTS ${!PACKAGE_CONFIGURE_OPTS} "${!PACKAGE_CONFIGURE_OPTS_ARRAY}" || return 1 ) >&4 2>&1 { "$MAKE" $MAKE_OPTS ${!PACKAGE_MAKE_OPTS} "${!PACKAGE_MAKE_OPTS_ARRAY}" "$MAKE" install $MAKE_INSTALL_OPTS ${!PACKAGE_MAKE_INSTALL_OPTS} "${!PACKAGE_MAKE_INSTALL_OPTS_ARRAY}" } >&4 2>&1 } build_package_autoconf() { { autoconf } >&4 2>&1 } build_package_ruby() { local package_name="$1" { "$RUBY_BIN" setup.rb } >&4 2>&1 } build_package_ree_installer() { build_package_auto_tcltk local options="" if [[ "Darwin" = "$(uname)" ]]; then options="--no-tcmalloc" fi local option for option in $RUBY_CONFIGURE_OPTS ${RUBY_CONFIGURE_OPTS_ARRAY[@]}; do options="$options -c $option" done # Work around install_useful_libraries crash with --dont-install-useful-gems mkdir -p "$PREFIX_PATH/lib/ruby/gems/1.8/gems" { ./installer --auto "$PREFIX_PATH" --dont-install-useful-gems $options $CONFIGURE_OPTS } >&4 2>&1 } build_package_rbx() { local package_name="$1" { [ ! -e "Gemfile" ] || bundle --path=vendor/bundle if [ -n "$RUBY_BUILD_CACHE_PATH" ]; then mkdir -p vendor ln -s "$RUBY_BUILD_CACHE_PATH" vendor/prebuilt fi RUBYOPT="-rubygems $RUBYOPT" ./configure --prefix="$PREFIX_PATH" $RUBY_CONFIGURE_OPTS "${RUBY_CONFIGURE_OPTS_ARRAY[@]}" rake install fix_rbx_gem_binstubs "$PREFIX_PATH" fix_rbx_irb "$PREFIX_PATH" } >&4 2>&1 } build_package_mruby() { local package_name="$1" { rake mkdir -p "$PREFIX_PATH" cp -fR build/host/* "$PREFIX_PATH" cd "$PREFIX_PATH/bin" ln -fs mruby ruby ln -fs mirb irb } >&4 2>&1 } build_package_maglev() { build_package_copy { cd "${PREFIX_PATH}" ./install.sh cd "${PREFIX_PATH}/bin" echo "Creating symlink for ruby*" ln -fs maglev-ruby ruby echo "Creating symlink for irb*" ln -fs maglev-irb irb } >&4 2>&1 echo echo "Run 'maglev start' to start up the stone before using 'ruby' or 'irb'" } build_package_topaz() { build_package_copy { cd "${PREFIX_PATH}/bin" echo "Creating symlink for ruby*" ln -fs topaz ruby } >&4 2>&1 } topaz_architecture() { case "$(uname -s)" in "Darwin") echo "osx64";; "Linux") [[ "$(uname -m)" = "x86_64" ]] && echo "linux64" || echo "linux32";; *) echo "no nightly builds available" >&2 exit 1;; esac } build_package_jruby() { build_package_copy cd "${PREFIX_PATH}/bin" ln -fs jruby ruby chmod +x ruby install_jruby_launcher remove_windows_files fix_jruby_shebangs } graal_architecture() { if [ "$(uname -m)" != "x86_64" ]; then echo "no nightly builds available" >&2 exit 1 fi case "$(uname -s)" in "Darwin") echo "macosx-x86_64";; "Linux") echo "linux-x86_64";; *) echo "no nightly builds available" >&2 exit 1;; esac } install_jruby_launcher() { # If this version of JRuby has been modified for Graal, don't overwrite the # launcher scripts if ! grep -q graalvm "${PREFIX_PATH}/bin/jruby"; then cd "${PREFIX_PATH}/bin" { ./ruby gem install jruby-launcher } >&4 2>&1 fi } fix_jruby_shebangs() { for file in "${PREFIX_PATH}/bin"/*; do if [ "$(head -c 20 "$file")" = "#!/usr/bin/env jruby" ]; then sed -i.bak "1 s:.*:#\!${PREFIX_PATH}\/bin\/jruby:" "$file" rm "$file".bak fi done } remove_windows_files() { cd "$PREFIX_PATH" rm -f bin/*.exe bin/*.dll bin/*.bat bin/jruby.sh } build_package_copy() { mkdir -p "$PREFIX_PATH" cp -fR . "$PREFIX_PATH" } before_install_package() { local stub=1 } after_install_package() { local stub=1 } fix_directory_permissions() { # Ensure installed directories are not world-writable to avoid Bundler warnings find "$PREFIX_PATH" -type d \( -perm -020 -o -perm -002 \) -exec chmod go-w {} \; } fix_rbx_gem_binstubs() { local prefix="$1" local gemdir="${prefix}/gems/bin" local bindir="${prefix}/bin" local file binstub # Symlink Rubinius' `gems/bin/` into `bin/` if [ -d "$gemdir" ] && [ ! -L "$gemdir" ]; then for file in "$gemdir"/*; do binstub="${bindir}/${file##*/}" rm -f "$binstub" { echo "#!${bindir}/ruby" grep -v '^#!' "$file" } > "$binstub" chmod +x "$binstub" done rm -rf "$gemdir" ln -s ../bin "$gemdir" fi } fix_rbx_irb() { local prefix="$1" "${prefix}/bin/irb" --version &>/dev/null || "${prefix}/bin/gem" install rubysl-tracer -v '~> 2.0' --no-rdoc --no-ri &>/dev/null || true } require_java7() { local version="$(java -version 2>&1 | grep '\(java\|openjdk\) version' | head -1)" if [[ $version != *1.[789]* ]]; then colorize 1 "ERROR" >&3 echo ": Java 7 required. Please install a 1.7-compatible JRE." >&3 return 1 fi } require_gcc() { local gcc="$(locate_gcc || true)" if [ -z "$gcc" ]; then { echo colorize 1 "ERROR" echo ": This package must be compiled with GCC, but ruby-build couldn't" echo "find a suitable \`gcc\` executable on your system. Please install GCC" echo "and try again." echo if [ "$(uname -s)" = "Darwin" ]; then colorize 1 "DETAILS" echo ": Apple no longer includes the official GCC compiler with Xcode" echo "as of version 4.2. Instead, the \`gcc\` executable is a symlink to" echo "\`llvm-gcc\`, a modified version of GCC which outputs LLVM bytecode." echo echo "For most programs the \`llvm-gcc\` compiler works fine. However," echo "versions of Ruby older than 1.9.3-p125 are incompatible with" echo "\`llvm-gcc\`. To build older versions of Ruby you must have the official" echo "GCC compiler installed on your system." echo colorize 1 "TO FIX THE PROBLEM" if type brew &>/dev/null; then echo ": Install Homebrew's apple-gcc42 package with this" echo -n "command: " colorize 4 "brew tap homebrew/dupes ; brew install apple-gcc42" else echo ": Install the official GCC compiler using these" echo -n "packages: " colorize 4 "https://github.com/kennethreitz/osx-gcc-installer/downloads" fi echo echo echo "You will need to install the official GCC compiler to build older" echo "versions of Ruby even if you have installed Apple's Command Line Tools" echo "for Xcode package. The Command Line Tools for Xcode package only" echo "includes \`llvm-gcc\`." fi } >&3 return 1 fi export CC="$gcc" if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then export MACOSX_DEPLOYMENT_TARGET=10.9 fi } locate_gcc() { local gcc gccs IFS=: gccs=($(gccs_in_path)) IFS="$OLDIFS" verify_gcc "$CC" || verify_gcc "$(command -v gcc || true)" || { for gcc in "${gccs[@]}"; do verify_gcc "$gcc" && break || true done } return 1 } gccs_in_path() { local gcc path paths local gccs=() IFS=: paths=($PATH) IFS="$OLDIFS" shopt -s nullglob for path in "${paths[@]}"; do for gcc in "$path"/gcc-*; do gccs["${#gccs[@]}"]="$gcc" done done shopt -u nullglob printf :%s "${gccs[@]}" } verify_gcc() { local gcc="$1" if [ -z "$gcc" ]; then return 1 fi local version="$("$gcc" --version 2>/dev/null || true)" if [ -z "$version" ]; then return 1 fi if echo "$version" | grep LLVM >/dev/null; then return 1 fi echo "$gcc" } require_llvm() { local llvm_version="$1" if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then if [[ "$RUBY_CONFIGURE_OPTS" != *--llvm-* ]]; then case "$llvm_version" in 3.2 ) package_option ruby configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2" ;; 3.5 ) local llvm_config="$(locate_llvm "$llvm_version")" if [ -n "$llvm_config" ]; then package_option ruby configure --llvm-config="$llvm_config" else { echo colorize 1 "ERROR" echo ": Rubinius will not be able to compile using Apple's LLVM-based " echo "build tools on OS X. You will need to install LLVM 3.5 first." echo colorize 1 "TO FIX THE PROBLEM" echo ": Install Homebrew's llvm package with this" echo -n "command: " colorize 4 "brew tap homebrew/versions ; brew install llvm35" echo } >&3 return 1 fi ;; esac fi fi } locate_llvm() { local llvm_version="$1" local package llvm_config shopt -s nullglob for package in `brew list 2>/dev/null | grep "^llvm"`; do llvm_config="$(echo "$(brew --prefix "$package")/bin/llvm-config"*)" if [ -n "$llvm_config" ] && [[ "$("$llvm_config" --version)" = "$llvm_version"* ]]; then echo "$llvm_config" break fi done shopt -u nullglob } needs_yaml() { [[ "$RUBY_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] && ! use_homebrew_yaml } use_homebrew_yaml() { local libdir="$(brew --prefix libyaml 2>/dev/null || true)" if [ -d "$libdir" ]; then package_option ruby configure --with-libyaml-dir="$libdir" else return 1 fi } use_homebrew_readline() { if [[ "$RUBY_CONFIGURE_OPTS" != *--with-readline-dir=* ]]; then local libdir="$(brew --prefix readline 2>/dev/null || true)" if [ -d "$libdir" ]; then package_option ruby configure --with-readline-dir="$libdir" else return 1 fi fi } has_broken_mac_openssl() { [ "$(uname -s)" = "Darwin" ] && [[ "$(/usr/bin/openssl version 2>/dev/null || true)" = "OpenSSL 0.9.8"?* ]] && [[ "$RUBY_CONFIGURE_OPTS" != *--with-openssl-dir=* ]] && ! use_homebrew_openssl } use_homebrew_openssl() { local ssldir="$(brew --prefix openssl 2>/dev/null || true)" if [ -d "$ssldir" ]; then package_option ruby configure --with-openssl-dir="$ssldir" else return 1 fi } build_package_mac_openssl() { # Install to a subdirectory since we don't want shims for bin/openssl. OPENSSL_PREFIX_PATH="${PREFIX_PATH}/openssl" # Put openssl.conf, certs, etc in ~/.rbenv/versions/*/openssl/ssl OPENSSLDIR="${OPENSSLDIR:-$OPENSSL_PREFIX_PATH/ssl}" # Tell Ruby to use this openssl for its extension. package_option ruby configure --with-openssl-dir="$OPENSSL_PREFIX_PATH" # Hint OpenSSL that we prefer a 64-bit build. export KERNEL_BITS="64" OPENSSL_CONFIGURE="${OPENSSL_CONFIGURE:-./config}" # Compile a shared lib with zlib dynamically linked, no kerberos. package_option openssl configure --openssldir="$OPENSSLDIR" zlib-dynamic no-ssl2 no-ssl3 no-krb5 shared # Default MAKE_OPTS are -j 2 which can confuse the build. Thankfully, make # gives precedence to the last -j option, so we can override that. package_option openssl make -j 1 build_package_standard "$@" # Extract root certs from the system keychain in .pem format and rehash. local pem_file="$OPENSSLDIR/cert.pem" security find-certificate -a -p /Library/Keychains/System.keychain > "$pem_file" security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$pem_file" } # Post-install check that the openssl extension was built. build_package_verify_openssl() { "$RUBY_BIN" -e ' manager = ARGV[0] packages = { "apt-get" => Hash.new {|h,k| "lib#{k}-dev" }.update( "openssl" => "libssl-dev", "zlib" => "zlib1g-dev" ), "yum" => Hash.new {|h,k| "#{k}-devel" }.update( "yaml" => "libyaml-devel" ) } failed = %w[openssl readline zlib yaml].reject do |lib| begin require lib rescue LoadError $stderr.puts "The Ruby #{lib} extension was not compiled." end end if failed.size > 0 $stderr.puts "ERROR: Ruby install aborted due to missing extensions" $stderr.print "Try running `%s install -y %s` to fetch missing dependencies.\n\n" % [ manager, failed.map { |lib| packages.fetch(manager)[lib] }.join(" ") ] unless manager.empty? $stderr.puts "Configure options used:" require "rbconfig"; require "shellwords" RbConfig::CONFIG.fetch("configure_args").shellsplit.each { |arg| $stderr.puts " #{arg}" } exit 1 end ' "$(basename "$(type -p yum apt-get | head -1)")" >&4 2>&1 } # Ensure that directories listed in LDFLAGS exist build_package_ldflags_dirs() { local arg for arg in $LDFLAGS; do case "$arg" in -L* ) mkdir -p "${arg#-L}" ;; esac done } build_package_auto_tcltk() { if [ "Darwin" = "$(uname -s)" ] && [ ! -d /usr/include/X11 ]; then if [ -d /opt/X11/include ]; then if [[ "$CPPFLAGS" != *-I/opt/X11/include* ]]; then export CPPFLAGS="-I/opt/X11/include $CPPFLAGS" fi else package_option ruby configure --without-tk fi fi } rake() { if [ -e "./Gemfile" ]; then bundle exec rake "$@" else isolated_gem_dependency "rake --version" rake -v '~> 10.1.0' command rake "$@" fi } bundle() { isolated_gem_dependency "bundle --version" bundler -v '~> 1.3.5' command bundle "$@" } isolated_gem_dependency() { set +E ( command $1 &>/dev/null ) || { set -E shift 1 isolated_gem_install "$@" } set -E } isolated_gem_install() { export GEM_HOME="${PWD}/.gem" export PATH="${GEM_HOME}/bin:${PATH}" gem install "$@" } apply_ruby_patch() { local patchfile case "$1" in ruby-* | jruby-* | rubinius-* ) patchfile="$(mktemp "${TMP}/ruby-patch.XXXXXX")" cat "${2:--}" >"$patchfile" local striplevel=0 grep -q '^diff --git a/' "$patchfile" && striplevel=1 patch -p$striplevel --force -i "$patchfile" ;; esac } version() { local git_revision # Read the revision from git if the remote points to "ruby-build" repository if GIT_DIR="$RUBY_BUILD_INSTALL_PREFIX/.git" git remote -v 2>/dev/null | grep -q /ruby-build; then git_revision="$(GIT_DIR="$RUBY_BUILD_INSTALL_PREFIX/.git" git describe --tags HEAD 2>/dev/null || true)" git_revision="${git_revision#v}" fi echo "ruby-build ${git_revision:-$RUBY_BUILD_VERSION}" } usage() { sed -ne '/^#/!q;s/.\{1,2\}//;1,2d;p' < "$0" [ -z "$1" ] || exit "$1" } list_definitions() { { for DEFINITION_DIR in "${RUBY_BUILD_DEFINITIONS[@]}"; do [ -d "$DEFINITION_DIR" ] && ls "$DEFINITION_DIR" done } | sort_versions | uniq } sort_versions() { sed 'h; s/[+-]/./g; s/.p\([[:digit:]]\)/.z\1/; s/$/.z/; G; s/\n/ /' | \ LC_ALL=C sort -t. -k 1,1 -k 2,2n -k 3,3n -k 4,4n -k 5,5n | awk '{print $2}' } unset VERBOSE unset KEEP_BUILD_PATH unset HAS_PATCH unset IPV4 unset IPV6 RUBY_BUILD_INSTALL_PREFIX="$(abs_dirname "$0")/.." IFS=: RUBY_BUILD_DEFINITIONS=($RUBY_BUILD_DEFINITIONS ${RUBY_BUILD_ROOT:-$RUBY_BUILD_INSTALL_PREFIX}/share/ruby-build) IFS="$OLDIFS" parse_options "$@" for option in "${OPTIONS[@]}"; do case "$option" in "h" | "help" ) version echo usage 0 ;; "definitions" ) list_definitions exit 0 ;; "k" | "keep" ) KEEP_BUILD_PATH=true ;; "v" | "verbose" ) VERBOSE=true ;; "p" | "patch" ) HAS_PATCH=true ;; "4" | "ipv4") IPV4=true ;; "6" | "ipv6") IPV6=true ;; "version" ) version exit 0 ;; esac done [ "${#ARGUMENTS[@]}" -eq 2 ] || usage 1 >&2 DEFINITION_PATH="${ARGUMENTS[0]}" if [ -z "$DEFINITION_PATH" ]; then usage 1 >&2 elif [ ! -f "$DEFINITION_PATH" ]; then for DEFINITION_DIR in "${RUBY_BUILD_DEFINITIONS[@]}"; do if [ -f "${DEFINITION_DIR}/${DEFINITION_PATH}" ]; then DEFINITION_PATH="${DEFINITION_DIR}/${DEFINITION_PATH}" break fi done if [ ! -f "$DEFINITION_PATH" ]; then echo "ruby-build: definition not found: ${DEFINITION_PATH}" >&2 exit 2 fi fi PREFIX_PATH="${ARGUMENTS[1]}" if [ -z "$PREFIX_PATH" ]; then usage 1 >&2 elif [ "${PREFIX_PATH#/}" = "$PREFIX_PATH" ]; then PREFIX_PATH="${PWD}/${PREFIX_PATH}" fi if [ -z "$TMPDIR" ]; then TMP="/tmp" else TMP="${TMPDIR%/}" fi # Check if TMPDIR is accessible and can hold executables. tmp_executable="${TMP}/ruby-build-test.$$" noexec="" if mkdir -p "$TMP" && touch "$tmp_executable" 2>/dev/null; then cat > "$tmp_executable" <<-EOF #!${BASH} exit 0 EOF chmod +x "$tmp_executable" else echo "ruby-build: TMPDIR=$TMP is set to a non-accessible location" >&2 exit 1 fi "$tmp_executable" 2>/dev/null || noexec=1 rm -f "$tmp_executable" if [ -n "$noexec" ]; then echo "ruby-build: TMPDIR=$TMP cannot hold executables (partition possibly mounted with \`noexec\`)" >&2 exit 1 fi # Work around warnings building Ruby 2.0 on Clang 2.x: # pass -Wno-error=shorten-64-to-32 if the compiler accepts it. # # When we set CFLAGS, Ruby won't apply its default flags, though. Since clang # builds 1.9.x and 2.x only, where -O3 is default, we can safely set that flag. # Ensure it's the first flag since later flags take precedence. if "${CC:-cc}" -x c /dev/null -E -Wno-error=shorten-64-to-32 &>/dev/null; then RUBY_CFLAGS="-O3 -Wno-error=shorten-64-to-32 $RUBY_CFLAGS" fi if [ -z "$MAKE" ]; then if [ "FreeBSD" = "$(uname -s)" ] && [ "$(uname -r | sed 's/[^[:digit:]].*//')" -lt 10 ]; then export MAKE="gmake" else export MAKE="make" fi fi if [ -n "$RUBY_BUILD_CACHE_PATH" ] && [ -d "$RUBY_BUILD_CACHE_PATH" ]; then RUBY_BUILD_CACHE_PATH="${RUBY_BUILD_CACHE_PATH%/}" else unset RUBY_BUILD_CACHE_PATH fi if [ -z "$RUBY_BUILD_MIRROR_URL" ]; then RUBY_BUILD_MIRROR_URL="https://dqw8nmjcqpjn7.cloudfront.net" else RUBY_BUILD_MIRROR_URL="${RUBY_BUILD_MIRROR_URL%/}" fi if [ -n "$RUBY_BUILD_SKIP_MIRROR" ]; then unset RUBY_BUILD_MIRROR_URL fi if echo test | compute_sha2 >/dev/null; then HAS_SHA2_SUPPORT=1 else unset HAS_SHA2_SUPPORT unset RUBY_BUILD_MIRROR_URL fi if echo test | compute_md5 >/dev/null; then HAS_MD5_SUPPORT=1 else unset HAS_MD5_SUPPORT fi SEED="$(date "+%Y%m%d%H%M%S").$$" LOG_PATH="${TMP}/ruby-build.${SEED}.log" RUBY_BIN="${PREFIX_PATH}/bin/ruby" CWD="$(pwd)" if [ -z "$RUBY_BUILD_BUILD_PATH" ]; then BUILD_PATH="${TMP}/ruby-build.${SEED}" else BUILD_PATH="$RUBY_BUILD_BUILD_PATH" fi exec 4<> "$LOG_PATH" # open the log file at fd 4 if [ -n "$VERBOSE" ]; then tail -f "$LOG_PATH" & TAIL_PID=$! trap "kill $TAIL_PID" SIGINT SIGTERM EXIT fi export LDFLAGS="-L${PREFIX_PATH}/lib ${LDFLAGS}" export CPPFLAGS="-I${PREFIX_PATH}/include ${CPPFLAGS}" unset RUBYOPT unset RUBYLIB trap build_failed ERR mkdir -p "$BUILD_PATH" source "$DEFINITION_PATH" [ -z "${KEEP_BUILD_PATH}" ] && rm -fr "$BUILD_PATH" trap - ERR ruby-build-20151028/install.sh000077500000000000000000000005451261413141600160440ustar00rootroot00000000000000#!/bin/sh # Usage: PREFIX=/usr/local ./install.sh # # Installs ruby-build under $PREFIX. set -e cd "$(dirname "$0")" if [ -z "${PREFIX}" ]; then PREFIX="/usr/local" fi BIN_PATH="${PREFIX}/bin" SHARE_PATH="${PREFIX}/share/ruby-build" mkdir -p "$BIN_PATH" "$SHARE_PATH" install -p bin/* "$BIN_PATH" install -p -m 0644 share/ruby-build/* "$SHARE_PATH" ruby-build-20151028/script/000077500000000000000000000000001261413141600153375ustar00rootroot00000000000000ruby-build-20151028/script/brew-publish000077500000000000000000000025041261413141600176710ustar00rootroot00000000000000#!/bin/bash # Usage: script/brew-publish [] # # Updates the `.rb` Homebrew formula to `` and sends a pull # request with the change. set -e brew_name="${1?}" version="${2?}" if ! type -p hub >/dev/null; then "ERROR: You have to install hub to proceed." >&2 exit 1 fi if [ -n "$3" ]; then gh_project="github.com/${3}" else gh_project="$(git remote -v | grep '^origin' | grep -oE 'github.com[:/][^/]+/[^/ ]+' | head -1)" gh_project="${gh_project%.git}" fi url="https://${gh_project/:/\/}/archive/${version}.tar.gz" checksum="$(curl -fsSL "$url" | shasum -a 256 -b | awk '{print $1}')" if [ -z "$checksum" ]; then echo "ERROR: calculating the checksum failed for $url" >&2 exit 1 fi pushd "$(brew --prefix)" git fetch -q origin master branch="${brew_name}-${version}" git checkout -q -B "$branch" origin/master formula="Library/Formula/${brew_name}.rb" sed -i.bak -E " s!^( url ).+!\\1\"${url}\"! s!^( sha256 ).+!\\1\"${checksum}\"! " "$formula" rm -f "${formula}.bak" git commit -m "${brew_name} ${version#v}" -- "$formula" # hackish way of getting the git remote name for user's fork fork_remote="$(hub fork 2>&1 | grep -oE 'remote:? \S+' | tail -1 | awk '{print $2}')" git push -u "$fork_remote" "$branch" hub pull-request -m "${brew_name} ${version#v}" git checkout -q - ruby-build-20151028/script/mirror000077500000000000000000000044711261413141600166050ustar00rootroot00000000000000#!/usr/bin/env bash # Usage: script/mirror update # script/mirror verify # script/mirror stats set -e eval "$(grep RUBY_BUILD_MIRROR_URL= ./bin/ruby-build | head -1)" help_text() { sed -ne '/^#/!q;s/.\{1,2\}//;1d;p' < "$0" } test_mirrored() { curl -qsSfIL "$RUBY_BUILD_MIRROR_URL/$1" >/dev/null 2>&1 } compute_sha2() { local output="$(openssl dgst -sha256)" echo "${output##* }" | tr '[A-Z]' '[a-z]' } download_package() { curl -qsSfL -o "$2" "$1" } download_and_verify() { local checksum local url="$1" local file="$2" local expected="$3" download_package "$url" "$file" checksum="$(compute_sha2 < "$file")" if [ "$checksum" != "$expected" ]; then echo "Error: $url doesn't match its checksum $expected" >&2 return 1 fi } changed_files() { git diff --name-only --diff-filter=ACMR "$@" } potentially_new_packages() { local files="$(changed_files "$1" -- ./share/ruby-build)" [ -n "$files" ] && extract_urls $files } extract_urls() { $(type -p ggrep grep | head -1) -hoe 'http[^"]\+#[^"]\+' "$@" | sort | uniq } update() { local url local checksum local file for url in $(potentially_new_packages "$1"); do checksum="${url#*#}" url="${url%#*}" if test_mirrored "$checksum"; then echo "Already mirrored: $url" else echo "Mirroring: $url" file="${TMPDIR:-/tmp}/$checksum" download_and_verify "$url" "$file" "$checksum" ./script/s3-put "$file" "${AMAZON_S3_BUCKET?}" fi done } verify() { local url local checksum local file for url in $(potentially_new_packages "$1"); do checksum="${url#*#}" url="${url%#*}" echo "Verifying checksum for $url" file="${TMPDIR:-/tmp}/$checksum" download_and_verify "$url" "$file" "$checksum" done } stats() { local packages=( $(extract_urls ./share/ruby-build/*) ) local total="${#packages[@]}" local confirmed=0 local checksum for url in "${packages[@]}"; do checksum="${url#*#}" if test_mirrored "$checksum"; then confirmed="$((confirmed + 1))" else echo "failed: $url" >&2 fi echo -n "." done echo echo "$confirmed/$total mirrored" } cmd="$1" case "$cmd" in update | verify | stats ) shift 1 "$cmd" "$@" ;; -h | --help ) help_text exit 0 ;; * ) help_text >&2 exit 1 ;; esac ruby-build-20151028/script/release000077500000000000000000000023541261413141600167110ustar00rootroot00000000000000#!/bin/bash # Usage: script/release # # - checks out the master branch # - changes version in `bin/ruby-build` to current date # - commits and tags the change # - pushes master + tag to GitHub # - opens pull request to update the Homebrew formula # # TODO: handle making multiple releases on the same date # TODO: publish release notes to GitHub set -e git fetch -q --tags origin master existing="$(git tag --points-at HEAD)" if [ -n "$existing" ]; then echo "Aborting: HEAD is already tagged as '${existing}'" >&2 exit 1 fi git checkout -q master binfile="bin/ruby-build" new_version="$(date '+%Y%m%d')" version_tag="v${new_version}" previous_tag="$(git tag | grep '^v' | sort | tail -1)" if git diff --quiet "${previous_tag}..HEAD" -- bin share; then echo "Aborting: No features to release since '${previous_tag}'" >&2 exit 1 fi # current="$($binfile --version | awk '{print $2}')" sed -i.bak -E "s!^(RUBY_BUILD_VERSION=).+!\\1\"${new_version}\"!" "$binfile" rm -f "${binfile}.bak" git commit -m "ruby-build ${new_version}" "$binfile" git tag "$version_tag" git push origin master "${version_tag}" # git log --no-merges --format='%w(0,0,2)* %B' --reverse "${previous_tag}..HEAD^" -- bin share script/brew-publish ruby-build "$version_tag" ruby-build-20151028/script/s3-put000077500000000000000000000022771261413141600164300ustar00rootroot00000000000000#!/usr/bin/env bash # Usage: s3-put [] # # Uploads a file to the Amazon S3 service. # # Depends on AWS credentials being set via env: # - AMAZON_ACCESS_KEY_ID # - AMAZON_SECRET_ACCESS_KEY # # Outputs the URL of the newly uploaded file. set -e authorization() { local signature="$(string_to_sign | hmac_sha1 | base64)" echo "AWS ${AMAZON_ACCESS_KEY_ID?}:${signature}" } hmac_sha1() { openssl dgst -binary -sha1 -hmac "${AMAZON_SECRET_ACCESS_KEY?}" } base64() { openssl enc -base64 } bin_md5() { openssl dgst -binary -md5 } string_to_sign() { echo "$http_method" echo "$content_md5" echo "$content_type" echo "$date" echo "x-amz-acl:$acl" printf "/$bucket/$remote_path" } date_string() { LC_TIME=C date "+%a, %d %h %Y %T %z" } file="$1" bucket="$2" content_type="$3" http_method=PUT acl="public-read" remote_path="${file##*/}" content_md5="$(bin_md5 < "$file" | base64)" date="$(date_string)" url="https://$bucket.s3.amazonaws.com/$remote_path" curl -qsSf -T "$file" \ -H "Authorization: $(authorization)" \ -H "x-amz-acl: $acl" \ -H "Date: $date" \ -H "Content-MD5: $content_md5" \ -H "Content-Type: $content_type" \ "$url" echo "$url" ruby-build-20151028/script/test000077500000000000000000000011101261413141600162350ustar00rootroot00000000000000#!/usr/bin/env bash set -e STATUS=0 bats ${CI:+--tap} test || STATUS="$?" if [ "${TRAVIS_PULL_REQUEST:-false}" != "false" ] && [ -z "$TRAVIS_COMMIT_RANGE" ]; then first_sha="$(curl -fsSL https://github.com/${TRAVIS_REPO_SLUG}/pull/${TRAVIS_PULL_REQUEST}.patch | head -1 | awk '{print $2}')" export TRAVIS_COMMIT_RANGE="${first_sha}^..${TRAVIS_COMMIT}" fi if [ "$TRAVIS_SECURE_ENV_VARS" = "true" ]; then ./script/mirror update "$TRAVIS_COMMIT_RANGE" elif [ "${TRAVIS_PULL_REQUEST:-false}" != "false" ]; then ./script/mirror verify "$TRAVIS_COMMIT_RANGE" fi exit "$STATUS" ruby-build-20151028/share/000077500000000000000000000000001261413141600151355ustar00rootroot00000000000000ruby-build-20151028/share/ruby-build/000077500000000000000000000000001261413141600172135ustar00rootroot00000000000000ruby-build-20151028/share/ruby-build/1.8.6-p383000066400000000000000000000005371261413141600203100ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.6-p383" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p383.tar.gz#cea6c67f737727007ec89d1c93fd7d0dba035220f981706091b8642d7a43c03a" auto_tcltk standard install_package "rubygems-1.3.7" "https://rubygems.org/rubygems/rubygems-1.3.7.tgz#388b90ae6273f655507b10c8ba6bee9ea72e7d49c3e610025531cb8c3ba67c9d" ruby ruby-build-20151028/share/ruby-build/1.8.6-p420000066400000000000000000000005371261413141600203000ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.6-p420" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p420.tar.gz#118e6f24afce8e8a10dced23635168e58da6c9121a21f120c82f425d40a1e321" auto_tcltk standard install_package "rubygems-1.3.7" "https://rubygems.org/rubygems/rubygems-1.3.7.tgz#388b90ae6273f655507b10c8ba6bee9ea72e7d49c3e610025531cb8c3ba67c9d" ruby ruby-build-20151028/share/ruby-build/1.8.7-p249000066400000000000000000000005371261413141600203120ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p249" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz#a969f5ec00f096f01650bfa594bc408f2e5cfc3de21b533ab62b4f29eb8ca653" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p302000066400000000000000000000005371261413141600203000ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p302" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p302.tar.gz#5883df5204de70762602ce885b18c8bf6c856d33298c35df9151031b2ce044a1" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p334000066400000000000000000000005371261413141600203050ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p334" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p334.tar.gz#68f68d6480955045661fab3be614c504bfcac167d070c6fdbfc9dbe2c5444bc0" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p352000066400000000000000000000005371261413141600203050ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p352" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p352.tar.gz#2325b9f9ab2af663469d057c6a1ef59d914a649808e9f6d1a4877c8973c2dad0" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p357000066400000000000000000000005371261413141600203120ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p357" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p357.tar.gz#2fdcac4eb37b2eba1a4eef392a2922e07a9222fc86d781d92154d716434b962c" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p358000066400000000000000000000005371261413141600203130ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p358" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p358.tar.gz#9e0856d58830e08f1e38233947d859898ae09d4780cb1a502108e41308de33cb" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p370000066400000000000000000000005371261413141600203050ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p370" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p370.tar.gz#bcd8db47adf6f5e3822b60a04785eedb1b97d41fbd7cb595d02759faa36581c6" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p371000066400000000000000000000005371261413141600203060ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p371" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p371.tar.gz#e60a322f8f2a616eba01651f5ab620e7e48e4f8adfe711aec61cc74a91d54d3c" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p374000066400000000000000000000005371261413141600203110ustar00rootroot00000000000000require_gcc install_package "ruby-1.8.7-p374" "https://cache.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p374.tar.gz#876eeeaaeeab10cbf4767833547d66d86d6717ef48fd3d89e27db8926a65276c" auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.8.7-p375000066400000000000000000000004431261413141600203060ustar00rootroot00000000000000require_gcc install_svn "ruby-1.8.7-p375" "http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8_7" "44351" autoconf auto_tcltk standard install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/1.9.1-p378000066400000000000000000000007601261413141600203060ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.1-p378" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.gz#b2960c330aa097c0cf90157a3133c6553ccdf8198e4c717c72cbe87c7f277547" install_package "rubygems-1.3.7" "https://rubygems.org/rubygems/rubygems-1.3.7.tgz#388b90ae6273f655507b10c8ba6bee9ea72e7d49c3e610025531cb8c3ba67c9d" ruby ruby-build-20151028/share/ruby-build/1.9.1-p430000066400000000000000000000007601261413141600202730ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.1-p430" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p430.tar.gz#6d28120e792a4a1cf32dd5f90c1643ecb48760157322a1bb267dd784d14fcb3a" install_package "rubygems-1.3.7" "https://rubygems.org/rubygems/rubygems-1.3.7.tgz#388b90ae6273f655507b10c8ba6bee9ea72e7d49c3e610025531cb8c3ba67c9d" ruby ruby-build-20151028/share/ruby-build/1.9.2-p0000066400000000000000000000007561261413141600201320ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.2-p0" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz#8c0c4e261a921b5c406bf9e76ac23bf3c915651534e9d1b9e8c5d0bee4a7285c" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.2-p180000066400000000000000000000007621261413141600203000ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.2-p180" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.gz#9027a5abaaadc2af85005ed74aeb628ce2326441874bf3d4f1a842663cde04f4" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.2-p290000066400000000000000000000007621261413141600203020ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.2-p290" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz#1cc817575c4944d3d78959024320ed1d5b7c2b4931a855772dacad7c3f6ebd7e" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.2-p318000066400000000000000000000007621261413141600203030ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.2-p318" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p318.tar.gz#891f707714cb7585ffc76dfaf855e4fcd5b2c0a64655b62d9b23b6a3985a2749" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.2-p320000066400000000000000000000007621261413141600202740ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.2-p320" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p320.tar.gz#39a1f046e8756c1885cde42b234bc608196e50feadf1d0f202f7634f4a4b1245" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.2-p326000066400000000000000000000006771261413141600203070ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_svn "ruby-1.9.2-p326" "http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_2" "44353" autoconf standard install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.2-p330000066400000000000000000000007631261413141600202760ustar00rootroot00000000000000require_gcc install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.2-p330" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p330.tar.gz#23ef45fdaecc5d6c7b4e9e2d51b23817fc6aa8225a20f123f7fa98760e8b5ca9" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.3-dev000066400000000000000000000007051261413141600203640ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_git "ruby-1.9.3-dev" "https://github.com/ruby/ruby.git" "ruby_1_9_3" autoconf standard ruby-build-20151028/share/ruby-build/1.9.3-p0000066400000000000000000000012571261413141600201300ustar00rootroot00000000000000require_gcc install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p0" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz#3b910042e3561f4296fd95d96bf30322e53eecf083992e5042a7680698cfa34e" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.3-p125000066400000000000000000000013041261413141600202710ustar00rootroot00000000000000[ -n "$CC" ] || export CC=cc install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p125" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz#8b3c035cf4f0ad6420f447d6a48e8817e5384d0504514939aeb156e251d44cce" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.3-p194000066400000000000000000000010131261413141600202740ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p194" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz#46e2fa80be7efed51bd9cdc529d1fe22ebc7567ee0f91db4ab855438cf4bd8bb" ruby-build-20151028/share/ruby-build/1.9.3-p286000066400000000000000000000010131261413141600202760ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p286" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz#e94367108751fd6bce79401d947baa66096c757fd3a0856350a2abd05d26d89d" ruby-build-20151028/share/ruby-build/1.9.3-p327000066400000000000000000000010131261413141600202720ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p327" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz#51dd76462d3f6eb2c659a75e90f949f56da58c42bfb5766212478160b7f23d71" ruby-build-20151028/share/ruby-build/1.9.3-p362000066400000000000000000000010131261413141600202710ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p362" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p362.tar.gz#eb593607862b16a28176ae6d086dbe3bd9bd41935ec999a8cd5ef8773e8239d6" ruby-build-20151028/share/ruby-build/1.9.3-p374000066400000000000000000000010131261413141600202740ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p374" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p374.tar.gz#0d0e32a3554867e3eddbb23fbf30a72c4748622e010c23e31302d899fc005574" ruby-build-20151028/share/ruby-build/1.9.3-p385000066400000000000000000000010131261413141600202760ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p385" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p385.tar.gz#4b15df007f5935ec9696d427d8d6265b121d944d237a2342d5beeeba9b8309d0" ruby-build-20151028/share/ruby-build/1.9.3-p392000066400000000000000000000010131261413141600202740ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p392" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz#8861ddadb2cd30fb30e42122741130d12f6543c3d62d05906cd41076db70975f" ruby-build-20151028/share/ruby-build/1.9.3-p429000066400000000000000000000010131261413141600202750ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p429" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.gz#d192d1afc46a7ef27b9d0a3c7a67b509048984db2c38907aa82641bdf980acf4" ruby-build-20151028/share/ruby-build/1.9.3-p448000066400000000000000000000010131261413141600202760ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p448" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz#2f35e186543a03bec5e603296d6d8828b94ca58bab049b67b1ceb61d381bc8a7" ruby-build-20151028/share/ruby-build/1.9.3-p484000066400000000000000000000010131261413141600202760ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p484" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p484.tar.gz#d684bc3a5ba72cda9ef30039f783c0f8cdc325bae5c8738c7bf05577cbe8f31d" ruby-build-20151028/share/ruby-build/1.9.3-p545000066400000000000000000000010131261413141600202740ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p545" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p545.tar.gz#05fb00ebd374ef800475eb40b71ebc42cc18c1f61f4885c11737f310d3d23111" ruby-build-20151028/share/ruby-build/1.9.3-p547000066400000000000000000000010131261413141600202760ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p547" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p547.tar.gz#9ba118e4aba04c430bc4d5efb09b31a0277e101c9fd2ef3b80b9c684d7ae57a1" ruby-build-20151028/share/ruby-build/1.9.3-p550000066400000000000000000000010131261413141600202700ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p550" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p550.tar.gz#d6cf008d9f3a9aeed2ef04428f19d66e28aed8a71456f7edba68627d3302cd6b" ruby-build-20151028/share/ruby-build/1.9.3-p551000066400000000000000000000010131261413141600202710ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-p551" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p551.tar.gz#bb5be55cd1f49c95bb05b6f587701376b53d310eb1bb7c76fbd445a1c75b51e8" ruby-build-20151028/share/ruby-build/1.9.3-preview1000066400000000000000000000012731261413141600213510ustar00rootroot00000000000000require_gcc install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-preview1" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-preview1.tar.gz#75c2dd57cabd67d8078a61db4ae86b22dc6f262b84460e5b95a0d8a327b36642" install_package "rubygems-1.8.23" "https://rubygems.org/rubygems/rubygems-1.8.23.tgz#e4a1c6bbaac411eaab94deae78228b7584033a1f10a022f52bffa9613aa29061" ruby ruby-build-20151028/share/ruby-build/1.9.3-rc1000066400000000000000000000010251261413141600202670ustar00rootroot00000000000000require_gcc install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-1.9.3-rc1" "https://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-rc1.tar.gz#bb1ae474d30e8681df89599520e766270c8e16450efdc01e099810f5e401eb94" ruby-build-20151028/share/ruby-build/2.0.0-dev000066400000000000000000000004571261413141600203550ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_git "ruby-2.0.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_0_0" autoconf standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p0000066400000000000000000000010371261413141600201110ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p0" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz#aff85ba5ceb70303cb7fb616f5db8b95ec47a8820116198d1c866cc4fff151ed" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p195000066400000000000000000000010431261413141600202650ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p195" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.gz#a2fe8d44eac3c27d191ca2d0ee2d871f9aed873c74491b2a8df229bfdc4e5a93" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p247000066400000000000000000000010431261413141600202630ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p247" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz#3e71042872c77726409460e8647a2f304083a15ae0defe90d8000a69917e20d3" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p353000066400000000000000000000010431261413141600202610ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p353" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz#465afc77d201b5815bb7ce3660a1f5a131f4429a3fa483c126ce66923e4726cc" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p451000066400000000000000000000010431261413141600202600ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p451" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p451.tar.gz#e6d6900eb4084053058349cfdbf63ad1414b6a8d75d58b47ed81010a9947e73b" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p481000066400000000000000000000005761261413141600202750ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p481" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p481.tar.gz#00dd3d72435eb77f2bd94537c1738e5219ca42b6d68df3d4f20c183f4bd12d0f" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p576000066400000000000000000000005761261413141600203020ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p576" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p576.tar.gz#9f5a593d81768c856155be6b2d2e357b961b5c43e04ba54c1ee511987fac2b66" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p594000066400000000000000000000005761261413141600203020ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p594" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p594.tar.gz#ee515dd7b17cdbc106396cd432f5662bb0b5afc05044469175914aab65f3c6e7" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p598000066400000000000000000000005761261413141600203060ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p598" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p598.tar.gz#4136bf7d764cbcc1c7da2824ed2826c3550f2b62af673c79ddbf9049b12095fd" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p643000066400000000000000000000005761261413141600202750ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p643" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p643.tar.gz#4bd267a4187e4bc25c1db08f9f9bdc0ce595a705569cac460d98c4f5b02e614e" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p645000066400000000000000000000005761261413141600202770ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p645" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p645.tar.gz#5e9f8effffe97cba5ef0015feec6e1e5f3bacf6ace78cd1cdf72708cd71cf4ab" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-p647000066400000000000000000000005761261413141600203010ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-p647" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p647.tar.gz#c88aaf5b4ec72e2cb7d290ff854f04d135939f6134f517002a9d65d5fc5e5bec" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-preview1000066400000000000000000000010531261413141600213320ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "ruby-2.0.0-preview1" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview1.tar.gz#94b585560c05cb40fadd03e675bd3beb8271c2e976b45644cc765bf854cfd80c" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-preview2000066400000000000000000000010531261413141600213330ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-preview2" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview2.tar.gz#03d15c7c643f737906c7736820bf4d6f3a71aa8f1dce343284240fee5665f970" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-rc1000066400000000000000000000010411261413141600202520ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-rc1" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-rc1.tar.gz#f9ca3e5b539ccf6bca6875d448a1aec34e73f7c173af180e58500c6f47096916" standard verify_openssl ruby-build-20151028/share/ruby-build/2.0.0-rc2000066400000000000000000000010411261413141600202530ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.0.0-rc2" "https://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-rc2.tar.gz#87072ab3e6d393d47f7402682364e4f24efe1c518969795cc01fcdeeb0e646f3" standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.0000066400000000000000000000010311261413141600175670ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.0" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.gz#3538ec1f6af96ed9deb04e0965274528162726cc9ba3625dcf23648df872d09d" standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.0-dev000066400000000000000000000004721261413141600203530ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_git "ruby-2.1.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_1" ldflags_dirs autoconf standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.0-preview1000066400000000000000000000010531261413141600213330ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.0-preview1" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0-preview1.tar.gz#747472fb33bcc529f1000e5320605a7e166a095d3805520b989e73b33c05b046" standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.0-preview2000066400000000000000000000010531261413141600213340ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.0-preview2" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0-preview2.tar.gz#a9b1dbc16090ddff8f6c6adbc1fd0473bcae8c69143cecabe65d55f95f6dbbfb" standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.0-rc1000066400000000000000000000010411261413141600202530ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.0-rc1" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0-rc1.tar.gz#1b467f13be6d3b3648a4de76b34b748781fe4f504a19c08ffa348c75dd62635e" standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.1000066400000000000000000000010461261413141600175760ustar00rootroot00000000000000install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" --if needs_yaml install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.1" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz#c843df31ae88ed49f5393142b02b9a9f5a6557453805fd489a76fbafeae88941" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.2000066400000000000000000000006011261413141600175730ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.2" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz#f22a6447811a81f3c808d1c2a5ce3b5f5f0955c68c9a749182feb425589e6635" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.3000066400000000000000000000006011261413141600175740ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.3" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.3.tar.gz#0818beb7b10ce9a058cd21d85cfe1dcd233e98b7342d32e9a5d4bebe98347f01" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.4000066400000000000000000000006011261413141600175750ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.4" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.4.tar.gz#bf9952cdeb3a0c6a5a27745c9b4c0e5e264e92b669b2b08efb363f5156549204" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.5000066400000000000000000000006011261413141600175760ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.5" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.5.tar.gz#4305cc6ceb094df55210d83548dcbeb5117d74eea25196a9b14fa268d354b100" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.6000066400000000000000000000006011261413141600175770ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.6" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.6.tar.gz#1e1362ae7427c91fa53dc9c05aee4ee200e2d7d8970a891c5bd76bee28d28be4" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.1.7000066400000000000000000000006011261413141600176000ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.1.7" "https://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.7.tar.gz#f59c1596ac39cc7e60126e7d3698c19f482f04060674fdfe0124e1752ba6dd81" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.0000066400000000000000000000006011261413141600175720ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.2.0" "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz#7671e394abfb5d262fbcd3b27a71bf78737c7e9347fa21c39e58b0bb9c4840fc" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.0-dev000066400000000000000000000004721261413141600203540ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_git "ruby-2.2.0-dev" "https://github.com/ruby/ruby.git" "ruby_2_2" ldflags_dirs autoconf standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.0-preview1000066400000000000000000000006231261413141600213360ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.2.0-preview1" "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0-preview1.tar.gz#7a49493d148a38eff9ab13e88601686985cadf2de86276ae796f5443deab3abb" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.0-preview2000066400000000000000000000006231261413141600213370ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.2.0-preview2" "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0-preview2.tar.gz#dfcef7b01bd3acb41da6689993ac8dd30e2ecd4fd14bc1a833f46188a9fe2614" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.0-rc1000066400000000000000000000006111261413141600202560ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.2.0-rc1" "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0-rc1.tar.gz#a59c8db71b967015ad7c259ba8ef638c7943ec78580412bb86e97791a9322b6b" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.1000066400000000000000000000006011261413141600175730ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.2.1" "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.1.tar.gz#5a4de38068eca8919cb087d338c0c2e3d72c9382c804fb27ab746e6c7819ab28" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.2000066400000000000000000000006011261413141600175740ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.2.2" "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.2.tar.gz#5ffc0f317e429e6b29d4a98ac521c3ce65481bfd22a8cf845fa02a7b113d9b44" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.2.3000066400000000000000000000006011261413141600175750ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_package "ruby-2.2.3" "https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.3.tar.gz#df795f2f99860745a416092a4004b016ccf77e8b82dec956b120f18bdc71edce" ldflags_dirs standard verify_openssl ruby-build-20151028/share/ruby-build/2.3.0-dev000066400000000000000000000004671261413141600203610ustar00rootroot00000000000000install_package "openssl-1.0.1p" "https://www.openssl.org/source/openssl-1.0.1p.tar.gz#bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1" mac_openssl --if has_broken_mac_openssl install_git "ruby-2.3.0-dev" "https://github.com/ruby/ruby.git" "trunk" ldflags_dirs autoconf standard verify_openssl ruby-build-20151028/share/ruby-build/jruby-1.5.6000066400000000000000000000002611261413141600207350ustar00rootroot00000000000000install_package "jruby-1.5.6" "https://s3.amazonaws.com/jruby-org/downloads/1.5.6/jruby-bin-1.5.6.tar.gz#545148197f98a4483276cdef5cedda0542a518d68d771c122f310195d8925089" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.3000066400000000000000000000002611261413141600207330ustar00rootroot00000000000000install_package "jruby-1.6.3" "https://s3.amazonaws.com/jruby-org/downloads/1.6.3/jruby-bin-1.6.3.tar.gz#9432fe3951782393d9755493585865190d7802e0bd162ff599e9c374605840ca" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.4000066400000000000000000000002611261413141600207340ustar00rootroot00000000000000install_package "jruby-1.6.4" "https://s3.amazonaws.com/jruby-org/downloads/1.6.4/jruby-bin-1.6.4.tar.gz#64fb1a850f3982d88166d68a3f830afbc81d14c1a20884a8076da010daa66e8a" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.5000066400000000000000000000002611261413141600207350ustar00rootroot00000000000000install_package "jruby-1.6.5" "https://s3.amazonaws.com/jruby-org/downloads/1.6.5/jruby-bin-1.6.5.tar.gz#e15a273bd78da1c63f77b90681d101df10bac62249833bb27a07c09216fb27f2" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.5.1000066400000000000000000000002671261413141600211020ustar00rootroot00000000000000install_package "jruby-1.6.5.1" "https://s3.amazonaws.com/jruby-org/downloads/1.6.5.1/jruby-bin-1.6.5.1.tar.gz#0d2751a1aca147a5b9c6ddeef395440207374611ef39bc538e9e829270d811c8" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.6000066400000000000000000000002611261413141600207360ustar00rootroot00000000000000install_package "jruby-1.6.6" "https://s3.amazonaws.com/jruby-org/downloads/1.6.6/jruby-bin-1.6.6.tar.gz#1ef255ec73b80474602029a61f84062876873065c0f3398c30bc04ddd14aa34f" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.7000066400000000000000000000002611261413141600207370ustar00rootroot00000000000000install_package "jruby-1.6.7" "https://s3.amazonaws.com/jruby-org/downloads/1.6.7/jruby-bin-1.6.7.tar.gz#88afbbb8fb4267547526a52f15d45ab447c1f2d1b197edc501e88dc9cb62a74c" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.7.2000066400000000000000000000002671261413141600211050ustar00rootroot00000000000000install_package "jruby-1.6.7.2" "https://s3.amazonaws.com/jruby-org/downloads/1.6.7.2/jruby-bin-1.6.7.2.tar.gz#6f04baa597941e48276a2edbb464afc6801f8f690fb978422e12029b7bfefe18" jruby ruby-build-20151028/share/ruby-build/jruby-1.6.8000066400000000000000000000002611261413141600207400ustar00rootroot00000000000000install_package "jruby-1.6.8" "https://s3.amazonaws.com/jruby-org/downloads/1.6.8/jruby-bin-1.6.8.tar.gz#e3b05f9cf0ba9b02e6cba75d5b62e2abf8ac7a4483c3713dc4eb83e3b8b162d4" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.0000066400000000000000000000002611261413141600207310ustar00rootroot00000000000000install_package "jruby-1.7.0" "https://s3.amazonaws.com/jruby-org/downloads/1.7.0/jruby-bin-1.7.0.tar.gz#1da3292a47dfc51410b007cf52f5997d048440aeb2ab25033f114e46b84af273" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.0-preview1000066400000000000000000000003141261413141600224700ustar00rootroot00000000000000install_package "jruby-1.7.0.preview1" "https://s3.amazonaws.com/jruby-org/downloads/1.7.0.preview1/jruby-bin-1.7.0.preview1.tar.gz#155839462fcb8eaab6af49f406499722c8fb82d00127bc6ed4b55d06cb690caf" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.0-preview2000066400000000000000000000003141261413141600224710ustar00rootroot00000000000000install_package "jruby-1.7.0.preview2" "https://s3.amazonaws.com/jruby-org/downloads/1.7.0.preview2/jruby-bin-1.7.0.preview2.tar.gz#cac0881da9d53905fe591a692583cce1e5c40fbca19f0218b6490ff3305185bb" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.0-rc1000066400000000000000000000002751261413141600214210ustar00rootroot00000000000000install_package "jruby-1.7.0.RC1" "https://s3.amazonaws.com/jruby-org/downloads/1.7.0.RC1/jruby-bin-1.7.0.RC1.tar.gz#a52ea970f116a11454a7c77c40b6700765def02ccbea45c16ed8cf110617fe94" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.0-rc2000066400000000000000000000002751261413141600214220ustar00rootroot00000000000000install_package "jruby-1.7.0.RC2" "https://s3.amazonaws.com/jruby-org/downloads/1.7.0.RC2/jruby-bin-1.7.0.RC2.tar.gz#db409e892782e39584bd2daca8b9fb7e937512cf73b23f3961efa165c09dc895" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.1000066400000000000000000000002611261413141600207320ustar00rootroot00000000000000install_package "jruby-1.7.1" "https://s3.amazonaws.com/jruby-org/downloads/1.7.1/jruby-bin-1.7.1.tar.gz#99cda09e0533752f83001c5bb76897d1edf4e58b96603d07e839719087c2a1bc" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.10000066400000000000000000000002641261413141600210150ustar00rootroot00000000000000install_package "jruby-1.7.10" "https://s3.amazonaws.com/jruby-org/downloads/1.7.10/jruby-bin-1.7.10.tar.gz#223285ee2fca5a4825f017b8a441232ec05d3fba5de213336c7ef6b6a36de651" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.11000066400000000000000000000002641261413141600210160ustar00rootroot00000000000000install_package "jruby-1.7.11" "https://s3.amazonaws.com/jruby-org/downloads/1.7.11/jruby-bin-1.7.11.tar.gz#d634ffc692a8ee5bae513266956609d41d785f912facf11749609a7763120fb3" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.12000066400000000000000000000002641261413141600210170ustar00rootroot00000000000000install_package "jruby-1.7.12" "https://s3.amazonaws.com/jruby-org/downloads/1.7.12/jruby-bin-1.7.12.tar.gz#2c15858dbc06d6346a30704fb6dcc779f2e67053566c9c21973f96e309eac609" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.13000066400000000000000000000002641261413141600210200ustar00rootroot00000000000000install_package "jruby-1.7.13" "https://s3.amazonaws.com/jruby-org/downloads/1.7.13/jruby-bin-1.7.13.tar.gz#faa1cd590f32f3cb92044d9abedf66ccea1d93a24236c877810c9b30e1e0577c" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.14000066400000000000000000000002641261413141600210210ustar00rootroot00000000000000install_package "jruby-1.7.14" "https://s3.amazonaws.com/jruby-org/downloads/1.7.14/jruby-bin-1.7.14.tar.gz#6c24d6dcf7a329f105e42293c89aa2d5564afdf145b03a492e8c44a4fbe9c371" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.15000066400000000000000000000002641261413141600210220ustar00rootroot00000000000000install_package "jruby-1.7.15" "https://s3.amazonaws.com/jruby-org/downloads/1.7.15/jruby-bin-1.7.15.tar.gz#894a905db860f8789e24a29e5178afedc497beb21ba914e8b1a315b31d6fdd5f" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.16000066400000000000000000000002641261413141600210230ustar00rootroot00000000000000install_package "jruby-1.7.16" "https://s3.amazonaws.com/jruby-org/downloads/1.7.16/jruby-bin-1.7.16.tar.gz#aa6efc47e7227556ffb60fcb054af06ee62d5abe053ea5f84e0db3158bbd61fc" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.16.1000066400000000000000000000002721261413141600211610ustar00rootroot00000000000000install_package "jruby-1.7.16.1" "https://s3.amazonaws.com/jruby.org/downloads/1.7.16.1/jruby-bin-1.7.16.1.tar.gz#855ed9f2c3c259a309f46b2c2d942615e87b1c3b5dda6911b739ad5a7e688f5b" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.16.2000066400000000000000000000002721261413141600211620ustar00rootroot00000000000000install_package "jruby-1.7.16.2" "https://s3.amazonaws.com/jruby.org/downloads/1.7.16.2/jruby-bin-1.7.16.2.tar.gz#5c57970b7e0e89e6947ae1467a688cecdff07d0590a7e9de52092f27c58eab05" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.17000066400000000000000000000002641261413141600210240ustar00rootroot00000000000000install_package "jruby-1.7.17" "https://s3.amazonaws.com/jruby.org/downloads/1.7.17/jruby-bin-1.7.17.tar.gz#eecd207b900e2b731cb10e8af71faab567a89222f975f87ed0a640bd3a9c4a18" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.18000066400000000000000000000002641261413141600210250ustar00rootroot00000000000000install_package "jruby-1.7.18" "https://s3.amazonaws.com/jruby.org/downloads/1.7.18/jruby-bin-1.7.18.tar.gz#eba6332d301c64bc5623c1d6f161762ef4fb9b38202350cdfc4e105775fbbf3c" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.19000066400000000000000000000002641261413141600210260ustar00rootroot00000000000000install_package "jruby-1.7.19" "https://s3.amazonaws.com/jruby.org/downloads/1.7.19/jruby-bin-1.7.19.tar.gz#8e34f8a94bb6abedc0f6f9d0cc174b4fadc78a50fb44804c16f19bf8f2586d5d" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.2000066400000000000000000000002611261413141600207330ustar00rootroot00000000000000install_package "jruby-1.7.2" "https://s3.amazonaws.com/jruby-org/downloads/1.7.2/jruby-bin-1.7.2.tar.gz#abe8fac0568add96240b1369c30e62480fcc00e1d142a594c52722333d95764b" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.20000066400000000000000000000002641261413141600210160ustar00rootroot00000000000000install_package "jruby-1.7.20" "https://s3.amazonaws.com/jruby.org/downloads/1.7.20/jruby-bin-1.7.20.tar.gz#4a99e7c11948ad345cbc957e9fd8c4ef9e76b219c70bab365dc19fc8e4e1ea59" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.20.1000066400000000000000000000002721261413141600211540ustar00rootroot00000000000000install_package "jruby-1.7.20.1" "https://s3.amazonaws.com/jruby.org/downloads/1.7.20.1/jruby-bin-1.7.20.1.tar.gz#70bbd607b44c355b2de275cf24f6e4f724b30ef0affdcc31bc755717ccb9045a" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.21000066400000000000000000000002641261413141600210170ustar00rootroot00000000000000install_package "jruby-1.7.21" "https://s3.amazonaws.com/jruby.org/downloads/1.7.21/jruby-bin-1.7.21.tar.gz#9fe56ea173af451ef262faaee6fb90464002584dbacc2523147f809e9d3a1c8b" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.22000066400000000000000000000002641261413141600210200ustar00rootroot00000000000000install_package "jruby-1.7.22" "https://s3.amazonaws.com/jruby.org/downloads/1.7.22/jruby-bin-1.7.22.tar.gz#554da042087bd4a787c73626c81fa354c9ce1168735032f7d954cffec85f5a4a" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.3000066400000000000000000000002611261413141600207340ustar00rootroot00000000000000install_package "jruby-1.7.3" "https://s3.amazonaws.com/jruby-org/downloads/1.7.3/jruby-bin-1.7.3.tar.gz#7809456743e058dc27e650ec62e5b527f51c65f3c5df7ddd3ad7296c74d3e35d" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.4000066400000000000000000000002611261413141600207350ustar00rootroot00000000000000install_package "jruby-1.7.4" "https://s3.amazonaws.com/jruby-org/downloads/1.7.4/jruby-bin-1.7.4.tar.gz#ef6dead787780f18a43758003689fd9ba40e64abc04cd41a6ff1eaf1557dfa69" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.5000066400000000000000000000002611261413141600207360ustar00rootroot00000000000000install_package "jruby-1.7.5" "https://s3.amazonaws.com/jruby-org/downloads/1.7.5/jruby-bin-1.7.5.tar.gz#9ebd082cf9f29697c76e503e00b79d30e3e9b87071afb8823c3b8b033f5f5723" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.6000066400000000000000000000002611261413141600207370ustar00rootroot00000000000000install_package "jruby-1.7.6" "https://s3.amazonaws.com/jruby-org/downloads/1.7.6/jruby-bin-1.7.6.tar.gz#16a64c56319fed34ec877cf151f2735c60457abe6c73d9dc32c56cce52b0ce45" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.7000066400000000000000000000002611261413141600207400ustar00rootroot00000000000000install_package "jruby-1.7.7" "https://s3.amazonaws.com/jruby-org/downloads/1.7.7/jruby-bin-1.7.7.tar.gz#907b24578604c3eded40b84a6380b7c64ab76a6b76b31cf343afdde8dbfeffd4" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.8000066400000000000000000000002611261413141600207410ustar00rootroot00000000000000install_package "jruby-1.7.8" "https://s3.amazonaws.com/jruby-org/downloads/1.7.8/jruby-bin-1.7.8.tar.gz#034ff3b501605a1d8e740387a5eae193faa96f7d07088b6727d2bcf2892db84a" jruby ruby-build-20151028/share/ruby-build/jruby-1.7.9000066400000000000000000000002611261413141600207420ustar00rootroot00000000000000install_package "jruby-1.7.9" "https://s3.amazonaws.com/jruby-org/downloads/1.7.9/jruby-bin-1.7.9.tar.gz#c7acd09c932941f04e231d43f47606eb2b6a2d6898ae3dc97dd432dcf1501824" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.0.0000066400000000000000000000003051261413141600210670ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.0.0" "https://s3.amazonaws.com/jruby.org/downloads/9.0.0.0/jruby-bin-9.0.0.0.tar.gz#655665db3a1dc0462cba99d45532ab57d8416b5f168d8a0081bde9b7a93a394e" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.0.0+graal-dev000066400000000000000000000002331261413141600227250ustar00rootroot00000000000000install_package "jruby-9.0.0.0-SNAPSHOT" "http://lafo.ssw.uni-linz.ac.at/graalvm/jruby-dist-9.0.0.0-SNAPSHOT+graal-$(graal_architecture)-bin.tar.gz" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.0.0-dev000066400000000000000000000002351261413141600216450ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.0.0-SNAPSHOT" "https://s3.amazonaws.com/ci.jruby.org/snapshots/master/jruby-dist-9.0.0.0-SNAPSHOT-bin.tar.gz" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.0.0.pre1000066400000000000000000000003241261413141600217360ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.0.0.pre1" "https://s3.amazonaws.com/jruby.org/downloads/9.0.0.0.pre1/jruby-bin-9.0.0.0.pre1.tar.gz#381da389b07c4692db5feeeeb6a21963cbdc86ee5172bd3f170bd081cc607354" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.0.0.pre2000066400000000000000000000003241261413141600217370ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.0.0.pre2" "https://s3.amazonaws.com/jruby.org/downloads/9.0.0.0.pre2/jruby-bin-9.0.0.0.pre2.tar.gz#6c9fd54c71bb64a04cea2af5938a67eab1ed951609fe999d6de88f6b98a6a1e4" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.0.0.rc1000066400000000000000000000003211261413141600215510ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.0.0.rc1" "https://s3.amazonaws.com/jruby.org/downloads/9.0.0.0.rc1/jruby-bin-9.0.0.0.rc1.tar.gz#b5c2bf5d4b22eba8ca62fe120aad682b8420454c12a426791a06f8efe6b90641" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.0.0.rc2000066400000000000000000000003211261413141600215520ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.0.0.rc2" "https://s3.amazonaws.com/jruby.org/downloads/9.0.0.0.rc2/jruby-bin-9.0.0.0.rc2.tar.gz#f337adb43f4972ace8a04f77d889b35bc4fa4efec99e98cc7ca2aac50f393329" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.1.0000066400000000000000000000003051261413141600210700ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.1.0" "https://s3.amazonaws.com/jruby.org/downloads/9.0.1.0/jruby-bin-9.0.1.0.tar.gz#3cab8ead2f080eb9cdf16fc30cbc1974c36a4a4e6c9d321d5a3bbd973b64527f" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.2.0+graal-dev000066400000000000000000000002331261413141600227270ustar00rootroot00000000000000install_package "jruby-9.0.2.0-SNAPSHOT" "http://lafo.ssw.uni-linz.ac.at/graalvm/jruby-dist-9.0.2.0-SNAPSHOT+graal-$(graal_architecture)-bin.tar.gz" jruby ruby-build-20151028/share/ruby-build/jruby-9.0.3.0000066400000000000000000000003051261413141600210720ustar00rootroot00000000000000require_java7 install_package "jruby-9.0.3.0" "https://s3.amazonaws.com/jruby.org/downloads/9.0.3.0/jruby-bin-9.0.3.0.tar.gz#e40c06d43cfbdd5b8447d07c0689183c70c4234da26621a177f426ebc5024cc1" jruby ruby-build-20151028/share/ruby-build/jruby-master+graal-dev000066400000000000000000000002071261413141600234170ustar00rootroot00000000000000install_package "jruby-master" "http://lafo.ssw.uni-linz.ac.at/graalvm/jruby-dist-master+graal-$(graal_architecture)-bin.tar.gz" jruby ruby-build-20151028/share/ruby-build/maglev-1.0.0000066400000000000000000000002461261413141600210450ustar00rootroot00000000000000install_package "MagLev-1.0.0" "http://seaside.gemtalksystems.com/maglev/MagLev-1.0.0.tar.gz#73401e9e69a336c2ca8369cc72e0d7f3ed867283252c385aea12ef44648c39be" maglev ruby-build-20151028/share/ruby-build/maglev-1.1.0-dev000066400000000000000000000001261261413141600216170ustar00rootroot00000000000000install_git "maglev-1.1.0-dev" "https://github.com/MagLev/maglev.git" "master" maglev ruby-build-20151028/share/ruby-build/maglev-2.0.0-dev000066400000000000000000000001261261413141600216170ustar00rootroot00000000000000install_git "maglev-2.0.0-dev" "https://github.com/MagLev/maglev.git" "master" maglev ruby-build-20151028/share/ruby-build/mruby-1.0.0000066400000000000000000000001321261413141600207220ustar00rootroot00000000000000install_package "mruby-1.0.0" "https://github.com/mruby/mruby/archive/1.0.0.tar.gz" mruby ruby-build-20151028/share/ruby-build/mruby-1.1.0000066400000000000000000000001321261413141600207230ustar00rootroot00000000000000install_package "mruby-1.1.0" "https://github.com/mruby/mruby/archive/1.1.0.tar.gz" mruby ruby-build-20151028/share/ruby-build/mruby-dev000066400000000000000000000001141261413141600210440ustar00rootroot00000000000000install_git "mruby-dev" "https://github.com/mruby/mruby.git" "master" mruby ruby-build-20151028/share/ruby-build/rbx-1.2.4000066400000000000000000000005331261413141600203720ustar00rootroot00000000000000require_llvm 2.8 install_package "rubinius-1.2.4" "https://s3.amazonaws.com/asset.rubini.us/rubinius-1.2.4-20110705.tar.gz#d474fb6f50292bff5211aaa80b1cead1fb3ed5c7c49223c51fddb8ffc5c3f23d" rbx install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/rbx-2.0.0000066400000000000000000000005211261413141600203620ustar00rootroot00000000000000require_llvm 3.2 install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" install_package "rubinius-2.0.0" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.0.0.tar.bz2#df039c7c52e9e42a2f3e0d0b67bf2c9b255769d1f8c3bac2333469ca8c0e04c4" rbx ruby-build-20151028/share/ruby-build/rbx-2.0.0-dev000066400000000000000000000003771261413141600211470ustar00rootroot00000000000000require_llvm 3.2 install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" install_git "rubinius-2.0.0-dev" "https://github.com/rubinius/rubinius.git" "master" rbx ruby-build-20151028/share/ruby-build/rbx-2.0.0-rc1000066400000000000000000000005411261413141600210470ustar00rootroot00000000000000require_llvm 3.2 install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" install_package "rubinius-release-2.0.0-rc1" "https://nodeload.github.com/rubinius/rubinius/tar.gz/release-2.0.0-rc1#ac1f5a657682904ec227fe5e2410dbdfbfa0abf86cdee722c81fa6b3609c8ab3" rbx ruby-build-20151028/share/ruby-build/rbx-2.1.0000066400000000000000000000005211261413141600203630ustar00rootroot00000000000000require_llvm 3.2 install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" install_package "rubinius-2.1.0" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.1.0.tar.bz2#78d7c2af7ebdf9b477a682cf4793e56e4139abed3cd752282e422d56e63b65b6" rbx ruby-build-20151028/share/ruby-build/rbx-2.1.1000066400000000000000000000005211261413141600203640ustar00rootroot00000000000000require_llvm 3.2 install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#7da6971b4bd08a986dd2a61353bc422362bd0edcc67d7ebaac68c95f74182749" install_package "rubinius-2.1.1" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.1.1.tar.bz2#e142c3f201e4ae9f3a6e6671298baabbd9bd906509c663adcf080bff4181ee96" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.0000066400000000000000000000002741261413141600203710ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.0" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.0.tar.bz2#50e214b4d2f18d06453b8ef30dfd8268c5e94f8e97ccae877b90457d4c2b9a7e" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.1000066400000000000000000000002741261413141600203720ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.1" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.1.tar.bz2#2a2a4705cf517470b86b4a8e27e16b11ec363789b690411c792e0f8908c06cb0" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.10000066400000000000000000000002761261413141600204540ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.10" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.10.tar.bz2#3cb1a6ab2eba19b6dc84734666bb17a34332d247641b1a88b4c9324c69347780" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.2000066400000000000000000000002741261413141600203730ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.2" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.2.tar.bz2#a49d596f889405e4fc511da64b8afe5eccfafdcee5ea99be15d3ad36290ec2ba" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.3000066400000000000000000000002741261413141600203740ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.3" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.3.tar.bz2#b3426aa6996420f1d9d8a7926a94160b84d8bdf725793c64462b27b74f2f2acf" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.4000066400000000000000000000002741261413141600203750ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.4" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.4.tar.bz2#7d06d63d12d9eecff196d8f53953bd520c17fbb9baa921c5481c43af8129d85e" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.5000066400000000000000000000002741261413141600203760ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.5" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.5.tar.bz2#42cfae89d481dfa5e0ccb53a67720f109fc6c2e1b6ca68a8ae9676be6d0457de" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.6000066400000000000000000000002741261413141600203770ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.6" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.6.tar.bz2#8ad2cada05a20c708379c75607fd0c8259623b3699d36be41e509052164eb103" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.7000066400000000000000000000002741261413141600204000ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.7" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.7.tar.bz2#e1244b60ed790a3a33a7126a587c35acd041dcb2022b894833518490e872dc3d" rbx ruby-build-20151028/share/ruby-build/rbx-2.2.9000066400000000000000000000002741261413141600204020ustar00rootroot00000000000000require_llvm 3.2 install_package "rubinius-2.2.9" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.2.9.tar.bz2#7b01a7f2508167e73b5273b4e55e6616fc7fd975e79c84c4d2e3ef83d849d2ce" rbx ruby-build-20151028/share/ruby-build/rbx-2.3.0000066400000000000000000000002741261413141600203720ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.3.0" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.3.0.tar.bz2#9953c3af5e9694540859eaf55164a38d0c32c3ad35457e4351d20c28a25fecaa" rbx ruby-build-20151028/share/ruby-build/rbx-2.4.0000066400000000000000000000002741261413141600203730ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.4.0" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.4.0.tar.bz2#89390e8dd890ac4b8ad931e6277714e3d55560ee2f236b756bb4f83ee26eb9b0" rbx ruby-build-20151028/share/ruby-build/rbx-2.4.1000066400000000000000000000002741261413141600203740ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.4.1" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.4.1.tar.bz2#a5967afe9f9305c08f97a22dd210922c33be79b293fc346f617ff31f280f136e" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.0000066400000000000000000000002741261413141600203740ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.0" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.0.tar.bz2#9f14a47080e8f175afb94f6e600812115185c91f2e081f976262aea7804e4ceb" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.1000066400000000000000000000002741261413141600203750ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.1" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.1.tar.bz2#00d6f23b7632d035d322209e736a9341155350a9d169e8471d38a554a8e26600" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.2000066400000000000000000000002741261413141600203760ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.2" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.2.tar.bz2#1b077537224d4ff1f8c628e5bbe0621dc6f833bc2d67a03aa10173b72299a1a8" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.3000066400000000000000000000002741261413141600203770ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.3" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.3.tar.bz2#9af4d6e9d1e78a586579c86b9eb9a082cb863885d4a7cf33989d73280461e5fc" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.4000066400000000000000000000002741261413141600204000ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.4" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.4.tar.bz2#ed7104f6177dc2c5be346e5a7349118601d8b0b0a37eb76fa1a78da21b3fbcfc" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.5000066400000000000000000000002741261413141600204010ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.5" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.5.tar.bz2#217659849ca2c67322d24ce7167e760dc835f32a701ca6e558703914ca82d02f" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.6000066400000000000000000000002741261413141600204020ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.6" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.6.tar.bz2#a81f57c6a9d38122a974df1debd5dd7900cb9d4a5cd621b2105de716990f807a" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.7000066400000000000000000000002741261413141600204030ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.7" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.7.tar.bz2#8ba8e75835e6df38453f6b6f65bdd296abee2df89ce488e6cc914059b6e1b385" rbx ruby-build-20151028/share/ruby-build/rbx-2.5.8000066400000000000000000000002741261413141600204040ustar00rootroot00000000000000require_llvm 3.5 install_package "rubinius-2.5.8" "https://s3.amazonaws.com/releases.rubini.us/rubinius-2.5.8.tar.bz2#d6b411732aa035865f2855845abe5405119560f0979062672d576601de89e59a" rbx ruby-build-20151028/share/ruby-build/ree-1.8.7-2011.03000066400000000000000000000005771261413141600211750ustar00rootroot00000000000000require_gcc install_package "ruby-enterprise-1.8.7-2011.03" "https://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2011.03.tar.gz#0c0ddbc43b3aef49686db27e761e55a23437f12e1f00b6fe55d94724637bff6b" ree_installer install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/ree-1.8.7-2011.12000066400000000000000000000005771261413141600211750ustar00rootroot00000000000000require_gcc install_package "ruby-enterprise-1.8.7-2011.12" "https://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2011.12.tar.gz#9a8efc4befc136e17a1360de549aac9e79283c7238a13215350720e4393c5da2" ree_installer install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/ree-1.8.7-2012.01000066400000000000000000000005771261413141600211740ustar00rootroot00000000000000require_gcc install_package "ruby-enterprise-1.8.7-2012.01" "https://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2012.01.tar.gz#c0c4779fc473fc9843c0008acfbae2e2bdf3472b454c7fe6ff0ac4139a691e65" ree_installer install_package "rubygems-1.6.2" "https://rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby ruby-build-20151028/share/ruby-build/ree-1.8.7-2012.02000066400000000000000000000003451261413141600211660ustar00rootroot00000000000000require_gcc install_package "ruby-enterprise-1.8.7-2012.02" "https://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2012.02.tar.gz#ecf4a6d4c96b547b3bf4b6be14e082ddaa781e83ad7f69437cd3169fb7576e42" ree_installer ruby-build-20151028/share/ruby-build/topaz-dev000066400000000000000000000001431261413141600210450ustar00rootroot00000000000000install_package topaz "http://topazruby.com/builds/$(topaz_architecture)/latest/?_=.tar.bz2" topaz ruby-build-20151028/test/000077500000000000000000000000001261413141600150125ustar00rootroot00000000000000ruby-build-20151028/test/arguments.bats000066400000000000000000000011331261413141600176700ustar00rootroot00000000000000#!/usr/bin/env bats load test_helper @test "not enough arguments for ruby-build" { # use empty inline definition so nothing gets built anyway local definition="${TMP}/build-definition" echo '' > "$definition" run ruby-build "$definition" assert_failure assert_output_contains 'Usage: ruby-build' } @test "extra arguments for ruby-build" { # use empty inline definition so nothing gets built anyway local definition="${TMP}/build-definition" echo '' > "$definition" run ruby-build "$definition" "${TMP}/install" "" assert_failure assert_output_contains 'Usage: ruby-build' } ruby-build-20151028/test/build.bats000066400000000000000000000326771261413141600170030ustar00rootroot00000000000000#!/usr/bin/env bats load test_helper export RUBY_BUILD_CACHE_PATH="$TMP/cache" export MAKE=make export MAKE_OPTS="-j 2" export CC=cc export -n RUBY_CONFIGURE_OPTS setup() { mkdir -p "$INSTALL_ROOT" stub md5 false stub curl false } executable() { local file="$1" mkdir -p "${file%/*}" cat > "$file" chmod +x "$file" } cached_tarball() { mkdir -p "$RUBY_BUILD_CACHE_PATH" pushd "$RUBY_BUILD_CACHE_PATH" >/dev/null tarball "$@" popd >/dev/null } tarball() { local name="$1" local path="$PWD/$name" local configure="$path/configure" shift 1 executable "$configure" <> build.log OUT for file; do mkdir -p "$(dirname "${path}/${file}")" touch "${path}/${file}" done tar czf "${path}.tar.gz" -C "${path%/*}" "$name" } stub_make_install() { stub "$MAKE" \ " : echo \"$MAKE \$@\" >> build.log" \ "install : echo \"$MAKE \$@\" >> build.log && cat build.log >> '$INSTALL_ROOT/build.log'" } assert_build_log() { run cat "$INSTALL_ROOT/build.log" assert_output } @test "yaml is installed for ruby" { cached_tarball "yaml-0.1.6" cached_tarball "ruby-2.0.0" stub brew false stub_make_install stub_make_install install_fixture definitions/needs-yaml assert_success unstub make assert_build_log <> build.log' TMPDIR="$TMP" install_fixture --patch definitions/needs-yaml <<<"" assert_success unstub make unstub patch assert_build_log <> build.log' TMPDIR="$TMP" install_fixture --patch definitions/needs-yaml <<<"diff --git a/script.rb" assert_success unstub make unstub patch assert_build_log <> build.log' stub_make_install export RUBY_CONFIGURE="${TMP}/custom-configure" run_inline_definition <> build.log' \ '--version : echo 1' \ " exec rake install : { cat build.log; echo bundle \"\$@\"; } >> '$INSTALL_ROOT/build.log'" run_inline_definition <>' OUT cached_tarball "rubinius-2.0.0" bin/ruby stub bundle false stub rake \ '--version : echo 1' \ "install : mkdir -p '$INSTALL_ROOT'; cp -fR . '$INSTALL_ROOT'" run_inline_definition <>' OUT } @test "JRuby build" { executable "${RUBY_BUILD_CACHE_PATH}/jruby-1.7.9/bin/jruby" <> ../build.log OUT executable "${RUBY_BUILD_CACHE_PATH}/jruby-1.7.9/bin/gem" <> ../build.log OUT cached_tarball "jruby-9000.dev" run_inline_definition <&2' run_inline_definition <&2' run_inline_definition <&2; echo 'java version \"1.8.0_31\"' >&2" run_inline_definition <&2" run_inline_definition <&2; echo 4.2.1' run_inline_definition < ./configure < "${TMP}/definitions/1.9.3-test" mkdir -p "${TMP}/other" echo false > "${TMP}/other/1.9.3-test" run bin/ruby-build "1.9.3-test" "${TMP}/install" assert_success "" } @test "installing nonexistent definition" { run ruby-build "nonexistent" "${TMP}/install" assert [ "$status" -eq 2 ] assert_output "ruby-build: definition not found: nonexistent" } @test "sorting Ruby versions" { export RUBY_BUILD_ROOT="$TMP" mkdir -p "${RUBY_BUILD_ROOT}/share/ruby-build" expected="1.9.3-dev 1.9.3-preview1 1.9.3-rc1 1.9.3-p0 1.9.3-p125 2.1.0-dev 2.1.0-rc1 2.1.0 2.1.1 2.2.0-dev jruby-1.6.5 jruby-1.6.5.1 jruby-1.7.0-preview1 jruby-1.7.0-rc1 jruby-1.7.0 jruby-1.7.1 jruby-1.7.9 jruby-1.7.10 jruby-9000-dev jruby-9000" for ver in "$expected"; do touch "${RUBY_BUILD_ROOT}/share/ruby-build/$ver" done run ruby-build --definitions assert_success "$expected" } @test "removing duplicate Ruby versions" { export RUBY_BUILD_ROOT="$TMP" export RUBY_BUILD_DEFINITIONS="${RUBY_BUILD_ROOT}/share/ruby-build" mkdir -p "$RUBY_BUILD_DEFINITIONS" touch "${RUBY_BUILD_DEFINITIONS}/1.9.3" touch "${RUBY_BUILD_DEFINITIONS}/2.2.0" run ruby-build --definitions assert_success assert_output < http://example.com/packages/package-1.0.0.tar.gz" assert_output_contains "error: failed to download package-1.0.0.tar.gz" } @test "fetching from git repository" { stub git "clone --depth 1 --branch master http://example.com/packages/package.git package-dev : mkdir package-dev" run_inline_definition <dQ:ÎÖ&K‹µiul+о½$î:éFc(ruby-build-20151028/test/hooks.bats000066400000000000000000000022321261413141600170070ustar00rootroot00000000000000#!/usr/bin/env bats load test_helper setup() { export RBENV_ROOT="${TMP}/rbenv" export HOOK_PATH="${TMP}/i has hooks" mkdir -p "$HOOK_PATH" } @test "rbenv-install hooks" { cat > "${HOOK_PATH}/install.bash" < "$definition" <<<"echo ruby-build" run rbenv-install "$definition" assert_success assert_output <<-OUT before: ${RBENV_ROOT}/versions/2.0.0 ruby-build after: 0 rehashed OUT } @test "rbenv-uninstall hooks" { cat > "${HOOK_PATH}/uninstall.bash" <&2 [ "$status" -eq 0 ] [ -x "${INSTALL_ROOT}/bin/package" ] unstub curl unstub shasum } @test "package URL with checksum but no shasum support bypasses mirror" { stub shasum false stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3" install_fixture definitions/with-checksum [ "$status" -eq 0 ] [ -x "${INSTALL_ROOT}/bin/package" ] unstub curl unstub shasum } @test "package URL with checksum hits mirror first" { local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5" local mirror_url="${RUBY_BUILD_MIRROR_URL}/$checksum" stub shasum true "echo $checksum" stub curl "-*I* $mirror_url : true" \ "-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" install_fixture definitions/with-checksum [ "$status" -eq 0 ] [ -x "${INSTALL_ROOT}/bin/package" ] unstub curl unstub shasum } @test "package is fetched from original URL if mirror download fails" { local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5" local mirror_url="${RUBY_BUILD_MIRROR_URL}/$checksum" stub shasum true "echo $checksum" stub curl "-*I* $mirror_url : false" \ "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3" install_fixture definitions/with-checksum [ "$status" -eq 0 ] [ -x "${INSTALL_ROOT}/bin/package" ] unstub curl unstub shasum } @test "package is fetched from original URL if mirror download checksum is invalid" { local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5" local mirror_url="${RUBY_BUILD_MIRROR_URL}/$checksum" stub shasum true "echo invalid" "echo $checksum" stub curl "-*I* $mirror_url : true" \ "-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \ "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3" install_fixture definitions/with-checksum echo "$output" >&2 [ "$status" -eq 0 ] [ -x "${INSTALL_ROOT}/bin/package" ] unstub curl unstub shasum } @test "default mirror URL" { export RUBY_BUILD_MIRROR_URL= local checksum="ba988b1bb4250dee0b9dd3d4d722f9c64b2bacfc805d1b6eba7426bda72dd3c5" stub shasum true "echo $checksum" stub curl "-*I* : true" \ "-q -o * -*S* https://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \ install_fixture definitions/with-checksum [ "$status" -eq 0 ] [ -x "${INSTALL_ROOT}/bin/package" ] unstub curl unstub shasum } ruby-build-20151028/test/rbenv.bats000066400000000000000000000107501261413141600170040ustar00rootroot00000000000000#!/usr/bin/env bats load test_helper export RBENV_ROOT="${TMP}/rbenv" setup() { stub rbenv-hooks 'install : true' stub rbenv-rehash 'true' } stub_ruby_build() { stub ruby-build "--lib : $BATS_TEST_DIRNAME/../bin/ruby-build --lib" "$@" } @test "install proper" { stub_ruby_build 'echo ruby-build "$@"' run rbenv-install 2.1.2 assert_success "ruby-build 2.1.2 ${RBENV_ROOT}/versions/2.1.2" unstub ruby-build unstub rbenv-hooks unstub rbenv-rehash } @test "install rbenv local version by default" { stub_ruby_build 'echo ruby-build "$1"' stub rbenv-local 'echo 2.1.2' run rbenv-install assert_success "ruby-build 2.1.2" unstub ruby-build unstub rbenv-local } @test "list available versions" { stub_ruby_build \ "--definitions : echo 1.8.7 1.9.3-p0 1.9.3-p194 2.1.2 | tr ' ' $'\\n'" run rbenv-install --list assert_success assert_output <&2 && exit 2' \ "--definitions : echo 1.8.7 1.9.3-p0 1.9.3-p194 2.1.2 | tr ' ' $'\\n'" run rbenv-install 1.9.3 assert_failure assert_output <&2 && exit 2' \ "--definitions : true" run rbenv-install 1.9.3 assert_failure assert_output <&${!_STUB_DEBUG} fi [ -e "${!_STUB_PLAN}" ] || exit 1 [ -n "${!_STUB_RUN}" ] || eval "${_STUB_RUN}"="${TMPDIR}/${program}-stub-run" # Initialize or load the stub run information. eval "${_STUB_INDEX}"=1 eval "${_STUB_RESULT}"=0 [ ! -e "${!_STUB_RUN}" ] || source "${!_STUB_RUN}" # Loop over each line in the plan. index=0 while IFS= read -r line; do index=$(($index + 1)) if [ -z "${!_STUB_END}" ] && [ $index -eq "${!_STUB_INDEX}" ]; then # We found the plan line we're interested in. # Start off by assuming success. result=0 # Split the line into an array of arguments to # match and a command to run to produce output. command=" $line" if [ "$command" != "${command/ : }" ]; then patterns="${command%% : *}" command="${command#* : }" fi # Naively split patterns by whitespace for now. # In the future, use a sed script to split while # respecting quoting. set -f patterns=($patterns) set +f arguments=("$@") # Match the expected argument patterns to actual # arguments. for (( i=0; i<${#patterns[@]}; i++ )); do pattern="${patterns[$i]}" argument="${arguments[$i]}" case "$argument" in $pattern ) ;; * ) result=1 ;; esac done # If the arguments matched, evaluate the command # in a subshell. Otherwise, log the failure. if [ $result -eq 0 ] ; then set +e ( eval "$command" ) status="$?" set -e else eval "${_STUB_RESULT}"=1 fi fi done < "${!_STUB_PLAN}" if [ -n "${!_STUB_END}" ]; then # Clean up the run file. rm -f "${!_STUB_RUN}" # If the number of lines in the plan is larger than # the requested index, we failed. if [ $index -ge "${!_STUB_INDEX}" ]; then eval "${_STUB_RESULT}"=1 fi # Return the result. exit "${!_STUB_RESULT}" else # If the requested index is larger than the number # of lines in the plan file, we failed. if [ "${!_STUB_INDEX}" -gt $index ]; then eval "${_STUB_RESULT}"=1 fi # Write out the run information. { echo "${_STUB_INDEX}=$((${!_STUB_INDEX} + 1))" echo "${_STUB_RESULT}=${!_STUB_RESULT}" } > "${!_STUB_RUN}" exit "$status" fi ruby-build-20151028/test/test_helper.bash000066400000000000000000000051331261413141600201710ustar00rootroot00000000000000export TMP="$BATS_TEST_DIRNAME/tmp" if [ "$FIXTURE_ROOT" != "$BATS_TEST_DIRNAME/fixtures" ]; then export FIXTURE_ROOT="$BATS_TEST_DIRNAME/fixtures" export INSTALL_ROOT="$TMP/install" PATH=/usr/bin:/usr/sbin:/bin/:/sbin PATH="$BATS_TEST_DIRNAME/../bin:$PATH" PATH="$TMP/bin:$PATH" export PATH fi teardown() { rm -fr "$TMP"/* } stub() { local program="$1" local prefix="$(echo "$program" | tr a-z- A-Z_)" shift export "${prefix}_STUB_PLAN"="${TMP}/${program}-stub-plan" export "${prefix}_STUB_RUN"="${TMP}/${program}-stub-run" export "${prefix}_STUB_END"= mkdir -p "${TMP}/bin" ln -sf "${BATS_TEST_DIRNAME}/stubs/stub" "${TMP}/bin/${program}" touch "${TMP}/${program}-stub-plan" for arg in "$@"; do printf "%s\n" "$arg" >> "${TMP}/${program}-stub-plan"; done } unstub() { local program="$1" local prefix="$(echo "$program" | tr a-z- A-Z_)" local path="${TMP}/bin/${program}" export "${prefix}_STUB_END"=1 local STATUS=0 "$path" || STATUS="$?" rm -f "$path" rm -f "${TMP}/${program}-stub-plan" "${TMP}/${program}-stub-run" return "$STATUS" } run_inline_definition() { local definition="${TMP}/build-definition" cat > "$definition" run ruby-build "$definition" "${1:-$INSTALL_ROOT}" } install_fixture() { local args while [ "${1#-}" != "$1" ]; do args="$args $1" shift 1 done local name="$1" local destination="$2" [ -n "$destination" ] || destination="$INSTALL_ROOT" run ruby-build $args "$FIXTURE_ROOT/$name" "$destination" } assert() { if ! "$@"; then flunk "failed: $@" fi } flunk() { { if [ "$#" -eq 0 ]; then cat - else echo "$@" fi } | sed "s:${TMP}:\${TMP}:g" >&2 return 1 } assert_success() { if [ "$status" -ne 0 ]; then { echo "command failed with exit status $status" echo "output: $output" } | flunk elif [ "$#" -gt 0 ]; then assert_output "$1" fi } assert_failure() { if [ "$status" -eq 0 ]; then flunk "expected failed exit status" elif [ "$#" -gt 0 ]; then assert_output "$1" fi } assert_equal() { if [ "$1" != "$2" ]; then { echo "expected: $1" echo "actual: $2" } | flunk fi } assert_output() { local expected if [ $# -eq 0 ]; then expected="$(cat -)" else expected="$1" fi assert_equal "$expected" "$output" } assert_output_contains() { local expected="$1" if [ -z "$expected" ]; then echo "assert_output_contains needs an argument" >&2 return 1 fi echo "$output" | $(type -p ggrep grep | head -1) -F "$expected" >/dev/null || { { echo "expected output to contain $expected" echo "actual: $output" } | flunk } } ruby-build-20151028/test/tmp/000077500000000000000000000000001261413141600156125ustar00rootroot00000000000000ruby-build-20151028/test/tmp/.gitignore000066400000000000000000000000021261413141600175720ustar00rootroot00000000000000* ruby-build-20151028/test/version.bats000066400000000000000000000021121261413141600173460ustar00rootroot00000000000000#!/usr/bin/env bats load test_helper bats_bin="${BATS_TEST_DIRNAME}/../bin/ruby-build" static_version="$(grep VERSION "$bats_bin" | head -1 | cut -d'"' -f 2)" @test "ruby-build static version" { stub git 'echo "ASPLODE" >&2; exit 1' run ruby-build --version assert_success "ruby-build ${static_version}" unstub git } @test "ruby-build git version" { stub git \ 'remote -v : echo origin https://github.com/sstephenson/ruby-build.git' \ "describe --tags HEAD : echo v1984-12-gSHA" run ruby-build --version assert_success "ruby-build 1984-12-gSHA" unstub git } @test "git describe fails" { stub git \ 'remote -v : echo origin https://github.com/sstephenson/ruby-build.git' \ "describe --tags HEAD : echo ASPLODE >&2; exit 1" run ruby-build --version assert_success "ruby-build ${static_version}" unstub git } @test "git remote doesn't match" { stub git \ 'remote -v : echo origin https://github.com/Homebrew/homebrew.git' \ "describe --tags HEAD : echo v1984-12-gSHA" run ruby-build --version assert_success "ruby-build ${static_version}" }