Loading TODO +1 −1 Original line number Diff line number Diff line Loading @@ -5,4 +5,4 @@ X Better error messages X Show 'Downloading' and 'Installing' messages a la ruby-build * Rewrite RbConfig::CONFIG['CC'] on install * Patch rbx since the rewriter doesn't work there * rbenv-install should check for binary packages before building X rbenv-install should check for binary packages before building bin/rbenv-install +65 −15 Original line number Diff line number Diff line Loading @@ -2,19 +2,26 @@ set -e [ -n "$RBENV_DEBUG" ] && set -x # Provide rbenv completions if [ "$1" = "--complete" ]; then exec ruby-build --definitions fi resolve_link() { $(type -p greadlink readlink | head -1) $1 } if [ -z "$RBENV_ROOT" ]; then RBENV_ROOT="${HOME}/.rbenv" fi abs_dirname() { local cwd="$(pwd)" local path="$1" DEFINITION="$1" case "$DEFINITION" in "" | -* ) { echo "usage: rbenv install VERSION" while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" path="$(resolve_link "$name" || true)" done pwd cd "$cwd" } usage() { { echo "usage: rbenv install [--force-build | --force-package] VERSION" echo " rbenv install /path/to/definition" echo echo "Available versions:" Loading @@ -22,11 +29,54 @@ case "$DEFINITION" in echo } >&2 exit 1 } bin_dir="$(abs_dirname "$0")" export PATH="${bin_dir}:$PATH" # Provide rbenv completions if [ "$1" = "--complete" ]; then exec ruby-build --definitions fi force_build="" force_package="" if [ "$1" = "--force-build" ]; then force_build=1 shift elif [ "$1" = "--force-package" ]; then force_package=1 shift fi definition="$1" case "$definition" in "" | -* ) usage ;; esac VERSION_NAME="${DEFINITION##*/}" PREFIX="${RBENV_ROOT}/versions/${VERSION_NAME}" if [ -z "$RBENV_ROOT" ]; then RBENV_ROOT="${HOME}/.rbenv" fi version_name="${definition##*/}" prefix="${RBENV_ROOT}/versions/${version_name}" package() { ruby-package install $* "$definition" "$prefix" } build() { ruby-build "$definition" "$prefix" } if [ -n "$force_build" ]; then build elif [ -n "$force_package" ]; then package else package --fail-silently || build fi ruby-build "$DEFINITION" "$PREFIX" rbenv rehash libexec/ruby-package-fetch +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ else package_filename="${TMPDIR}/${package_name}.$$" echo "Downloading $package_url..." >&2 download "$package_url" "$package_filename" || { echo "error: couldn't fetch package \`$package' ($package_url)" echo "error: couldn't download package \`$package' ($package_url)" exit 1 } >&2 fi Loading
TODO +1 −1 Original line number Diff line number Diff line Loading @@ -5,4 +5,4 @@ X Better error messages X Show 'Downloading' and 'Installing' messages a la ruby-build * Rewrite RbConfig::CONFIG['CC'] on install * Patch rbx since the rewriter doesn't work there * rbenv-install should check for binary packages before building X rbenv-install should check for binary packages before building
bin/rbenv-install +65 −15 Original line number Diff line number Diff line Loading @@ -2,19 +2,26 @@ set -e [ -n "$RBENV_DEBUG" ] && set -x # Provide rbenv completions if [ "$1" = "--complete" ]; then exec ruby-build --definitions fi resolve_link() { $(type -p greadlink readlink | head -1) $1 } if [ -z "$RBENV_ROOT" ]; then RBENV_ROOT="${HOME}/.rbenv" fi abs_dirname() { local cwd="$(pwd)" local path="$1" DEFINITION="$1" case "$DEFINITION" in "" | -* ) { echo "usage: rbenv install VERSION" while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" path="$(resolve_link "$name" || true)" done pwd cd "$cwd" } usage() { { echo "usage: rbenv install [--force-build | --force-package] VERSION" echo " rbenv install /path/to/definition" echo echo "Available versions:" Loading @@ -22,11 +29,54 @@ case "$DEFINITION" in echo } >&2 exit 1 } bin_dir="$(abs_dirname "$0")" export PATH="${bin_dir}:$PATH" # Provide rbenv completions if [ "$1" = "--complete" ]; then exec ruby-build --definitions fi force_build="" force_package="" if [ "$1" = "--force-build" ]; then force_build=1 shift elif [ "$1" = "--force-package" ]; then force_package=1 shift fi definition="$1" case "$definition" in "" | -* ) usage ;; esac VERSION_NAME="${DEFINITION##*/}" PREFIX="${RBENV_ROOT}/versions/${VERSION_NAME}" if [ -z "$RBENV_ROOT" ]; then RBENV_ROOT="${HOME}/.rbenv" fi version_name="${definition##*/}" prefix="${RBENV_ROOT}/versions/${version_name}" package() { ruby-package install $* "$definition" "$prefix" } build() { ruby-build "$definition" "$prefix" } if [ -n "$force_build" ]; then build elif [ -n "$force_package" ]; then package else package --fail-silently || build fi ruby-build "$DEFINITION" "$PREFIX" rbenv rehash
libexec/ruby-package-fetch +1 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ else package_filename="${TMPDIR}/${package_name}.$$" echo "Downloading $package_url..." >&2 download "$package_url" "$package_filename" || { echo "error: couldn't fetch package \`$package' ($package_url)" echo "error: couldn't download package \`$package' ($package_url)" exit 1 } >&2 fi