[DRE-commits] [ruby-build] 01/04: Imported Upstream version 20140408

Sebastian Boehm sometimesfood-guest at moszumanska.debian.org
Wed Apr 9 15:50:43 UTC 2014


This is an automated email from the git hooks/post-receive script.

sometimesfood-guest pushed a commit to branch master
in repository ruby-build.

commit f9aedb0a6479423ae41440da617339f9252a0233
Author: Sebastian Boehm <sebastian at sometimesfood.org>
Date:   Wed Apr 9 17:11:23 2014 +0200

    Imported Upstream version 20140408
---
 CHANGELOG.md                          | 348 ----------------------------------
 README.md                             |   3 +
 bin/rbenv-install                     |  40 ++--
 bin/ruby-build                        |  53 ++++--
 share/ruby-build/1.9.1-p378           |   2 +-
 share/ruby-build/1.9.1-p430           |   2 +-
 share/ruby-build/1.9.2-p0             |   2 +-
 share/ruby-build/1.9.2-p180           |   2 +-
 share/ruby-build/1.9.2-p290           |   2 +-
 share/ruby-build/1.9.2-p318           |   2 +-
 share/ruby-build/1.9.2-p320           |   2 +-
 share/ruby-build/1.9.2-p326           |   2 +-
 share/ruby-build/1.9.3-dev            |   2 +-
 share/ruby-build/1.9.3-p0             |   2 +-
 share/ruby-build/1.9.3-p125           |   2 +-
 share/ruby-build/1.9.3-p194           |   2 +-
 share/ruby-build/1.9.3-p286           |   2 +-
 share/ruby-build/1.9.3-p327           |   2 +-
 share/ruby-build/1.9.3-p362           |   2 +-
 share/ruby-build/1.9.3-p374           |   2 +-
 share/ruby-build/1.9.3-p385           |   2 +-
 share/ruby-build/1.9.3-p392           |   2 +-
 share/ruby-build/1.9.3-p429           |   2 +-
 share/ruby-build/1.9.3-p448           |   2 +-
 share/ruby-build/1.9.3-p484           |   2 +-
 share/ruby-build/1.9.3-p545           |   2 +-
 share/ruby-build/1.9.3-preview1       |   2 +-
 share/ruby-build/1.9.3-rc1            |   2 +-
 share/ruby-build/2.0.0-dev            |   2 +-
 share/ruby-build/2.0.0-p0             |   4 +-
 share/ruby-build/2.0.0-p195           |   4 +-
 share/ruby-build/2.0.0-p247           |   4 +-
 share/ruby-build/2.0.0-p353           |   4 +-
 share/ruby-build/2.0.0-p451           |   3 +-
 share/ruby-build/2.0.0-preview1       |   4 +-
 share/ruby-build/2.0.0-preview2       |   4 +-
 share/ruby-build/2.0.0-rc1            |   4 +-
 share/ruby-build/2.0.0-rc2            |   4 +-
 share/ruby-build/2.1.0                |   4 +-
 share/ruby-build/2.1.0-dev            |   2 +-
 share/ruby-build/2.1.0-preview1       |   4 +-
 share/ruby-build/2.1.0-preview2       |   4 +-
 share/ruby-build/2.1.0-rc1            |   4 +-
 share/ruby-build/2.1.1                |   3 +-
 share/ruby-build/2.2.0-dev            |   2 +-
 share/ruby-build/jruby-1.7.11         |   1 +
 share/ruby-build/jruby-9000+graal-dev |   1 +
 share/ruby-build/rbx-2.0.0            |   2 +-
 share/ruby-build/rbx-2.0.0-dev        |   2 +-
 share/ruby-build/rbx-2.0.0-rc1        |   2 +-
 share/ruby-build/rbx-2.1.0            |   2 +-
 share/ruby-build/rbx-2.1.1            |   2 +-
 share/ruby-build/rbx-2.2.0            |   2 +-
 share/ruby-build/rbx-2.2.1            |   2 +-
 share/ruby-build/rbx-2.2.2            |   2 +-
 share/ruby-build/rbx-2.2.3            |   2 +-
 share/ruby-build/rbx-2.2.4            |   2 +-
 share/ruby-build/rbx-2.2.5            |   2 +-
 share/ruby-build/rbx-2.2.6            |   2 +
 test/build.bats                       |  75 +++++++-
 test/cache.bats                       |   6 +-
 test/checksum.bats                    |  53 +++++-
 test/fixtures/definitions/needs-yaml  |   2 +-
 test/mirror.bats                      |  14 +-
 64 files changed, 269 insertions(+), 459 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index 972561d..0000000
--- a/CHANGELOG.md
+++ /dev/null
@@ -1,348 +0,0 @@
-## Version History
-
-#### 20140224.1
-* Add Ruby 2.0.0-p451
-* Add Ruby 2.1.1
-
-#### 20140224
-* Add Ruby 1.9.3-p545
-* Add mruby 1.0.0
-* Improve Java 7 detection
-
-#### 20140214
-* Install libyaml 0.1.5 for Ruby 2.x
-* Require Java 7 for jruby-9000-dev
-* Update MagLev branch from master-1.9 to master
-
-#### 20140210
-* Add Rubinius 2.2.4
-* Add JRuby 9000-dev
-
-#### 20140204
-* Add Rubinius 2.2.4
-* Update libyaml to version 0.1.5
-
-Note: If Psych::LIBYAML_VERSION < '0.1.5' you should update and rebuild Ruby.
-For more informaton see CVE-2013-6393.
-
-#### 20140110.1
-* Fix bug in JRuby 1.7.10 definition
-
-#### 20140110
-* Add JRuby 1.7.10
-* Add Rubinius 2.2.2
-* Add Rubinius 2.2.3
-
-#### 20131225.1
-* Fix typos in Ruby 2.1.0, 2.1.0-dev, and 2.2.0-dev definitions
-
-#### 20131225
-* Add Ruby 1.8.7-p375
-* Add Ruby 1.9.2-p326
-* Update Ruby 2.1.0-dev git branch
-* Add Ruby 2.1.0
-* Add Ruby 2.2.0-dev
-
-#### 20131220.1
-* Fix JRuby installation on non-BSD systems
-
-#### 20131220
-* Transform JRuby shebangs to absolute paths, fixing edge-case recursion in rbenv
-* Add `--patch` command-line option to patch Ruby from stdin before building
-* Add Ruby 2.1.0-rc1
-
-#### 20131211
-* Fix extracting topaz-dev archive
-* Auto-detect and link to Homebrew's readline
-* Fix irb, rake, rdoc, ri for rbx-2.2.1
-
-#### 20131206
-* Add JRuby 1.7.9
-
-#### 20131122.1
-* Fix typo in 2.1.0-preview2 definition
-
-#### 20131122
-* Add Ruby 1.9.3-p484
-* Add Ruby 2.0.0-p353
-* Add Ruby 2.1.0-preview2
-* Add Rubinius 2.2.0
-* Add Rubinius 2.2.1
-
-#### 20131115
-* Add JRuby 1.7.7
-* Add JRuby 1.7.8
-
-#### 20131030
-* Install the Rubinius bundle in isolation
-* Fix false "BUILD FAILED" message when installing Rubinius
-* Fix installing REE on OS X 10.8+ with no XQuartz
-
-#### 20131028
-* Abort early for invalid TMPDIR
-* Enable compiling Ruby 1.8 on OS X 10.8+ without extra flags
-* Detect number of CPU cores used for `make`
-* Fix installing Ruby 2.1.0 from trunk
-* Install Rake and Bundler in isolation when required
-* Clearer error message when HTTP download fails
-* Set default MAKE=gmake on FreeBSD
-* Support relative path as install prefix
-* Use libyaml from Homebrew if available
-
-#### 20131024
-* Add JRuby 1.7.6
-* Add Rubinius 2.1.0
-* Add Rubinius 2.1.1
-
-#### 20131008
-* Add JRuby 1.7.5
-* Add Rubinius 2.0.0
-
-#### 20130923
-* Add Ruby 2.1.0-preview1
-
-#### 20130907
-* Revert using mirror site
-
-#### 20130901
-* Use www.dnsbalance.ring.gr.jp
-* Do not set the Rubinius gems directory to the prefix
-
-#### 20130806
-* Change protocol of the ruby-lang.org server from HTTP to FTP
-
-#### 20130628
-* Add Ruby 2.0.0-p247
-* Add Ruby 1.9.3-p448
-* Add Ruby 1.8.7-p374
-* Add MagLev 2.0.0-dev from git
-* Use Homebrew openssl if available
-
-#### 20130518
-* Add JRuby 1.7.4
-
-#### 20130514
-* Add Ruby 2.0.0-p195
-* Add Ruby 1.9.3-p429
-* Add Ruby 1.9.2-p0
-* Add Ruby 1.9.1-p430
-
-#### 20130501
-* Cache git clone directory
-* Restore -O3 default when building with clang
-* Build REE --without-tk on Darwin if X11 is missing
-* Pass $RUBY_CONFIGURE_OPTS to REE installer with -c
-* Default RBENV_VERSION to the globally-specified Ruby
-
-#### 20130408
-* Add mruby-dev
-* Add topaz-dev :gem:
-* List matching definitions on ambiguous version specification
-* Use `--continue` when downloading tarball
-* Keep source tarball if `--keep` or `tar xf` fails
-
-#### 20130227
-* Default Ruby CFLAGS to `-Wno-error=shorten-64-to-32`; don't set `CC`
-* Upgrades rubygems for 1.9.1: 1.3.5 -> 1.3.7
-
-#### 20130226
-* Build a shared openssl to link to Ruby 2.0.0
-
-#### 20130225
-* Add Ruby 2.1.0-dev
-* Rename the CAfile to cert.pem
-* Fix exit status of install with verbose
-
-#### 20130224
-* Happy 20th :birthday:, Ruby!
-* Add Ruby 2.0.0-p0
-* Autoclean on unsuccessful installation
-
-#### 20130222
-* Upgrade to OpenSSL 1.0.1e
-* Add JRuby 1.7.3
-* Add Ruby 1.9.3-p392
-
-#### 20130208
-* Add Ruby 2.0.0-rc2
-* Build OpenSSL for Ruby 2.0 on OS X
-
-#### 20130206
-* Add Ruby 1.9.3-p385
-
-#### 20130129
-* Change `rbenv install` to attempt to install the local app-specific
-  version when it is invoked without any arguments
-* Add interactive confirmation to `rbenv install` when the destination prefix
-  exists. Pass `-f` or `--force` to force installation of versions that are
-  already installed
-* Add support for specifying which program to use for `make` via the `$MAKE`
-  environment variable. FreeBSD users can now instruct ruby-build to use GNU
-  make by setting `MAKE=gmake`
-* Modify the post-install process to invoke `chmod` only for group- or
-  world-writable directories
-* Add `before_install` and `after_install` hooks for `rbenv install` plugins to
-  facilitate post-installation automation
-
-#### 20130118
-* Add Ruby 2.0.0-rc1
-* Add Ruby 1.9.3-p374
-
-#### 20130104
-* Add JRuby 1.7.2
-
-#### 20121227
-* Add Ruby 1.9.3-p362
-* Add Ruby 1.8.7-p371
-* Move the default ruby-build mirror from GitHub Downloads to Amazon CloudFront
-
-#### 20121204
-* Add JRuby 1.7.1
-
-#### 20121201
-* Add Ruby 2.0.0-preview2
-
-#### 20121120
-* Add optional package checksum support. When a package URL is annotated with
-  an MD5 checksum, ruby-build will use it to verify the contents of the
-  downloaded file. Package URLs in all existing definitions have been updated
-  with checksum annotations
-* Add an optional package download cache. When the `RUBY_BUILD_CACHE_PATH`
-  environment variable is set to a directory of your choice, ruby-build will
-  store downloaded packages there and reuse them for future installations
-* Add mirror support for faster package downloads. Packages on the official
-  ruby-build mirror will be served via S3. You can point ruby-build to your own
-  local package mirror by setting the `RUBY_BUILD_MIRROR_URL` environment
-  variable
-
-#### 20121110
-* Add Ruby 1.9.3-p327
-* Fetch Ruby 2.0.0.dev and 1.9.3.dev via Git instead of Subversion
-
-#### 20121104
-* Add Ruby 2.0.0-preview1
-* Add Rubinius 2.0.0-rc1
-
-#### 20121022
-* Add JRuby 1.7.0
-
-#### 20121020
-
-* Add Ruby 1.9.3-p286
-* Add JRuby 1.7.0-rc2
-* Add JRuby 1.7.0-rc1
-* Add JRuby 1.6.8
-* Add JRuby 1.5.6
-* Fetch Ruby 2.0.0.dev via Subversion instead of Git
-* Allow hooks to be defined for `rbenv-install`
-
-#### 20120815
-
-* Add MagLev 1.1.0-dev from git
-* Add Ruby 1.8.7-p370 (for those having trouble
-  installing 1.8.7 with newer versions of glibc, please see
-  https://github.com/sstephenson/ruby-build/pull/195#issuecomment-7743664)
-* Update the package URL in the definition for JRuby 1.7.0-preview1
-* Add JRuby 1.7.0-preview2
-* Update the Rubinius 2.0.0-dev definition to use the bundled RubyGems version
-  instead of installing its own
-* Add an `rbenv uninstall` command for removing installed versions
-* Improved the option parsing for `ruby-build` and `rbenv-install` so
-  options may be placed in any order, and short options may be
-  combined (e.g. `-kv`)
-* Add a `-l`/`--list` option to `rbenv install` to list all available
-  definitions
-* Add a `-v`/`--verbose` option to `rbenv install` to invoke `ruby-build` in
-  verbose mode
-* Documented the `-k`/`--keep` flag in the command-line help for
-  `ruby-build` and `rbenv install`
-
-#### 20120524
-
-* Add JRuby 1.6.7.2 and 1.7.0-preview1
-* Removed the definition for JRuby 1.7.0-dev (in general we do not
-  like to remove definitions, but the JRuby team has deleted the
-  1.7.0-dev package from their servers -- caveat emptor)
-* Added support for specifying the build location with the
-  `RUBY_BUILD_BUILD_PATH` environment variable
-* Add a `-k`/`--keep` flag to `ruby-build` and `rbenv install` for
-  keeping the source code around after installation
-* Update the README to emphasize installation as an rbenv plugin
-
-#### 20120423
-
-* Improved error messages when dependencies are missing
-* XCode 4.3+ may be used to build 1.9.3-p125 and later
-* Update all Ruby 1.9.2 and 1.9.3 definitions to RubyGems 1.8.23
-* Add REE 1.8.7-2012.02 and 1.8.7-2009.10
-* Add JRuby 1.6.7
-* Add Ruby 1.9.2-p318, 1.9.2-p320, and 1.9.3-p194
-
-#### 20120216
-
-* Add REE 1.8.7-2011.12 and 1.8.7-2012.01
-* Add JRuby 1.6.5.1 and 1.6.6
-* Add Ruby 1.8.7-p358 and 1.9.3-p125
-* Update the README with instructions for installing ruby-build as an rbenv
-  plugin
-
-#### 20111230
-
-* Add MagLev 1.0.0
-* Added support for overriding `make` options with the
-  `$MAKEOPTS`/`$MAKE_OPTS` environment variable
-* Removed RubyGems installations from JRuby definitions in favor of
-  the bundled RubyGems versions
-* Add a `before_install_package` hook
-* Add REE 1.8.7-2009.09 and 1.8.7-2010.01
-* Add Ruby 1.8.6-p383, 1.8.7-p302 and 1.8.7-p357
-* Update the JRuby 1.7.0-dev snapshot URL
-* Changed the GCC detector to look for `gcc-*` anywhere in the
-  `$PATH`, not just `/usr/bin`
-
-#### 20111030
-
-* Add Ruby 1.8.7-p334
-* Renamed the 1.9.4-dev definition to 2.0.0-dev to reflect the new
-  version numbering scheme
-* ruby-build now automatically displays the last 10 lines of the error
-  log, if any, when a build fails
-* Improve the GCC detection routines and add a more helpful error message for
-  Xcode 4.2 users
-* JRuby installation no longer requires the install prefix to exist
-  first
-* You can now pass `$CONFIGURE_OPTS` to the REE definitions
-* Add JRuby 1.6.5
-* Add Ruby 1.9.2-p180
-* Add Ruby 1.9.3-p0
-
-#### 20110928
-
-* ruby-build now uses the `--with-gcc` configure flag on OS X Lion
-* Add REE 1.8.7-2010.02 and 1.8.6-2009.06
-* Modified `rbenv-install` to run `rbenv rehash` after installation
-* Add Ruby 1.9.3-rc1
-* Update the JRuby defintions to install the `jruby-launcher` gem
-* Update the Rubinius 2.0.0 definition to point to the master branch
-* Add JRuby 1.7.0-dev
-* Add Ruby 1.9.4-dev
-
-#### 20110914
-
-* Add Rubinius 2.0.0-dev for Rubinius 2.0.0 from git
-* Added support for setting `./configure` options with the
-  `CONFIGURE_OPTS` environment variable
-* Add Ruby 1.9.3-dev from git
-* Add support for fetching package sources via git
-* Add an `rbenv-install` script which provides an `install` command for rbenv users
-
-#### 20110906.1
-
-* Changed the REE definition not to install its default gem
-  collection
-* Reverted a poorly-tested change that intended to enable support for
-  relative installation paths
-
-#### 20110906
-
- * Initial public release
diff --git a/README.md b/README.md
index 0cc568b..0a9033a 100644
--- a/README.md
+++ b/README.md
@@ -7,6 +7,9 @@ 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
 
diff --git a/bin/rbenv-install b/bin/rbenv-install
index 9b725b7..8de9841 100755
--- a/bin/rbenv-install
+++ b/bin/rbenv-install
@@ -6,15 +6,16 @@
 #        rbenv install [-f] [-kvp] <definition-file>
 #        rbenv install -l|--list
 #
-#   -l/--list        List all available versions
-#   -f/--force       Install even if the version appears to be installed already
+#   -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
+#   -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
@@ -51,6 +52,7 @@ indent() {
 }
 
 unset FORCE
+unset SKIP_EXISTING
 unset KEEP
 unset VERBOSE
 unset HAS_PATCH
@@ -69,6 +71,9 @@ for option in "${OPTIONS[@]}"; do
   "f" | "force" )
     FORCE=true
     ;;
+  "s" | "skip-existing" )
+    SKIP_EXISTING=true
+    ;;
   "k" | "keep" )
     [ -n "${RBENV_BUILD_ROOT}" ] || RBENV_BUILD_ROOT="${RBENV_ROOT}/sources"
     ;;
@@ -128,14 +133,21 @@ PREFIX="${RBENV_ROOT}/versions/${VERSION_NAME}"
 
 # If the installation prefix exists, prompt for confirmation unless
 # the --force option was specified.
-if [ -z "$FORCE" ] && [ -d "${PREFIX}/bin" ]; then
-  echo "rbenv: $PREFIX already exists" >&2
-  read -p "continue with installation? (y/N) "
-
-  case "$REPLY" in
-  y* | Y* ) ;;
-  * ) exit 1 ;;
-  esac
+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.
diff --git a/bin/ruby-build b/bin/ruby-build
index 6a02f8a..7053d7d 100755
--- a/bin/ruby-build
+++ b/bin/ruby-build
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 
-RUBY_BUILD_VERSION="20140224.1"
+RUBY_BUILD_VERSION="20140408"
 
 set -E
 exec 3<&2 # preserve original stderr at fd 3
@@ -227,7 +227,7 @@ http_head_curl() {
 }
 
 http_get_curl() {
-  curl -C - -o "${2:--}" -qsSLf "$1"
+  curl -q -o "${2:--}" -sSLf "$1"
 }
 
 http_head_wget() {
@@ -235,7 +235,7 @@ http_head_wget() {
 }
 
 http_get_wget() {
-  wget -nv -c -O "${2:--}" "$1"
+  wget -nv -O "${2:--}" "$1"
 }
 
 fetch_tarball() {
@@ -261,7 +261,7 @@ fetch_tarball() {
     tar_args="${tar_args/z/j}"
   fi
 
-  if ! symlink_tarball_from_cache "$package_filename" "$checksum"; then
+  if ! reuse_existing_tarball "$package_filename" "$checksum"; then
     echo "Downloading ${package_filename}..." >&2
     http head "$mirror_url" &&
     download_tarball "$mirror_url" "$package_filename" "$checksum" ||
@@ -278,13 +278,19 @@ fetch_tarball() {
   } >&4 2>&1
 }
 
-symlink_tarball_from_cache() {
-  [ -n "$RUBY_BUILD_CACHE_PATH" ] || return 1
-
+reuse_existing_tarball() {
   local package_filename="$1"
-  local cached_package_filename="${RUBY_BUILD_CACHE_PATH}/$package_filename"
   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
@@ -519,10 +525,29 @@ build_package_jruby() {
   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() {
-  cd "${PREFIX_PATH}/bin"
-  { ./ruby gem install jruby-launcher
-  } >&4 2>&1
+  # 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() {
@@ -567,7 +592,9 @@ fix_rbx_gem_binstubs() {
     for file in "$gemdir"/*; do
       binstub="${bindir}/${file##*/}"
       rm -f "$binstub"
-      sed -E "s:^#\!.+:#\!${bindir}/ruby:" < "$file" > "$binstub"
+      { echo "#!${bindir}/ruby"
+        cat "$file"
+      } > "$binstub"
       chmod +x "$binstub"
     done
     rm -rf "$gemdir"
@@ -893,7 +920,7 @@ done
 DEFINITION_PATH="${ARGUMENTS[0]}"
 if [ -z "$DEFINITION_PATH" ]; then
   usage
-elif [ ! -e "$DEFINITION_PATH" ]; then
+elif [ ! -f "$DEFINITION_PATH" ]; then
   BUILTIN_DEFINITION_PATH="${RUBY_BUILD_ROOT}/share/ruby-build/${DEFINITION_PATH}"
   if [ -e "$BUILTIN_DEFINITION_PATH" ]; then
     DEFINITION_PATH="$BUILTIN_DEFINITION_PATH"
diff --git a/share/ruby-build/1.9.1-p378 b/share/ruby-build/1.9.1-p378
index c6fdc26..6cde966 100644
--- a/share/ruby-build/1.9.1-p378
+++ b/share/ruby-build/1.9.1-p378
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.1-p378" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.gz#9fc5941bda150ac0a33b299e1e53654c"
 install_package "rubygems-1.3.7" "http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz#e85cfadd025ff6ab689375adbf344bbe" ruby
diff --git a/share/ruby-build/1.9.1-p430 b/share/ruby-build/1.9.1-p430
index 4870c10..9b86c8b 100644
--- a/share/ruby-build/1.9.1-p430
+++ b/share/ruby-build/1.9.1-p430
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.1-p430" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p430.tar.gz#093d17e911b1f7306de95422ec332826"
 install_package "rubygems-1.3.7" "http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz#e85cfadd025ff6ab689375adbf344bbe" ruby
diff --git a/share/ruby-build/1.9.2-p0 b/share/ruby-build/1.9.2-p0
index 9b1252c..ff5588d 100644
--- a/share/ruby-build/1.9.2-p0
+++ b/share/ruby-build/1.9.2-p0
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.2-p0" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.gz#755aba44607c580fddc25e7c89260460"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.2-p180 b/share/ruby-build/1.9.2-p180
index 9addcff..a24a62d 100644
--- a/share/ruby-build/1.9.2-p180
+++ b/share/ruby-build/1.9.2-p180
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.2-p180" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.gz#0d6953820c9918820dd916e79f4bfde8"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.2-p290 b/share/ruby-build/1.9.2-p290
index fcdc054..03139cf 100644
--- a/share/ruby-build/1.9.2-p290
+++ b/share/ruby-build/1.9.2-p290
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.2-p290" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz#604da71839a6ae02b5b5b5e1b792d5eb"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.2-p318 b/share/ruby-build/1.9.2-p318
index e4ef92a..2a493f2 100644
--- a/share/ruby-build/1.9.2-p318
+++ b/share/ruby-build/1.9.2-p318
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.2-p318" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p318.tar.gz#cc7bf1025128e1985882ae243f348802"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.2-p320 b/share/ruby-build/1.9.2-p320
index cee9c6b..73b4d59 100644
--- a/share/ruby-build/1.9.2-p320
+++ b/share/ruby-build/1.9.2-p320
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.2-p320" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p320.tar.gz#5ef5d9c07af207710bd9c2ad1cef4b42"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.2-p326 b/share/ruby-build/1.9.2-p326
index 5171a3e..d53726c 100644
--- a/share/ruby-build/1.9.2-p326
+++ b/share/ruby-build/1.9.2-p326
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --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" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.3-dev b/share/ruby-build/1.9.3-dev
index 6e53fb4..1b659fe 100644
--- a/share/ruby-build/1.9.3-dev
+++ b/share/ruby-build/1.9.3-dev
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_git "ruby-1.9.3-dev" "https://github.com/ruby/ruby.git" "ruby_1_9_3" autoconf standard
diff --git a/share/ruby-build/1.9.3-p0 b/share/ruby-build/1.9.3-p0
index ec24df5..da8f0ad 100644
--- a/share/ruby-build/1.9.3-p0
+++ b/share/ruby-build/1.9.3-p0
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p0" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz#8e2fef56185cfbaf29d0c8329fc77c05"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.3-p125 b/share/ruby-build/1.9.3-p125
index 0dc1734..6a68903 100644
--- a/share/ruby-build/1.9.3-p125
+++ b/share/ruby-build/1.9.3-p125
@@ -1,4 +1,4 @@
 [ -n "$CC" ] || export CC=cc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p125" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz#e3ea86b9d3fc2d3ec867f66969ae3b92"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.3-p194 b/share/ruby-build/1.9.3-p194
index 969162a..9c1752a 100644
--- a/share/ruby-build/1.9.3-p194
+++ b/share/ruby-build/1.9.3-p194
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p194" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz#bc0c715c69da4d1d8bd57069c19f6c0e"
diff --git a/share/ruby-build/1.9.3-p286 b/share/ruby-build/1.9.3-p286
index c7ffe14..1d4552a 100644
--- a/share/ruby-build/1.9.3-p286
+++ b/share/ruby-build/1.9.3-p286
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p286" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p286.tar.gz#e2469b55c2a3d0d643097d47fe4984bb"
diff --git a/share/ruby-build/1.9.3-p327 b/share/ruby-build/1.9.3-p327
index 50bbbef..6975c56 100644
--- a/share/ruby-build/1.9.3-p327
+++ b/share/ruby-build/1.9.3-p327
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p327" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz#96118e856b502b5d7b3a4398e6c6e98c"
diff --git a/share/ruby-build/1.9.3-p362 b/share/ruby-build/1.9.3-p362
index 50e40f2..6aaf35a 100644
--- a/share/ruby-build/1.9.3-p362
+++ b/share/ruby-build/1.9.3-p362
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p362" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p362.tar.gz#1efc2316dc50e97591792d90647fade2"
diff --git a/share/ruby-build/1.9.3-p374 b/share/ruby-build/1.9.3-p374
index df80255..6839d69 100644
--- a/share/ruby-build/1.9.3-p374
+++ b/share/ruby-build/1.9.3-p374
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p374" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p374.tar.gz#90b6c327abcdf30a954c2d6ae44da2a9"
diff --git a/share/ruby-build/1.9.3-p385 b/share/ruby-build/1.9.3-p385
index 4dfe84a..40d7d36 100644
--- a/share/ruby-build/1.9.3-p385
+++ b/share/ruby-build/1.9.3-p385
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p385" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p385.tar.gz#3e0d7f8512400c1a6732327728a56f1d"
diff --git a/share/ruby-build/1.9.3-p392 b/share/ruby-build/1.9.3-p392
index 43258d8..b44367e 100644
--- a/share/ruby-build/1.9.3-p392
+++ b/share/ruby-build/1.9.3-p392
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p392" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p392.tar.gz#f689a7b61379f83cbbed3c7077d83859"
diff --git a/share/ruby-build/1.9.3-p429 b/share/ruby-build/1.9.3-p429
index 034b65a..6e16a2b 100644
--- a/share/ruby-build/1.9.3-p429
+++ b/share/ruby-build/1.9.3-p429
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p429" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p429.tar.gz#993c72f7f805a9eb453f90b0b7fe0d2b"
diff --git a/share/ruby-build/1.9.3-p448 b/share/ruby-build/1.9.3-p448
index e1a9e3f..2fdc916 100644
--- a/share/ruby-build/1.9.3-p448
+++ b/share/ruby-build/1.9.3-p448
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p448" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p448.tar.gz#a893cff26bcf351b8975ebf2a63b1023"
diff --git a/share/ruby-build/1.9.3-p484 b/share/ruby-build/1.9.3-p484
index eddf4af..ae1b5d3 100644
--- a/share/ruby-build/1.9.3-p484
+++ b/share/ruby-build/1.9.3-p484
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p484" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p484.tar.gz#8ac0dee72fe12d75c8b2d0ef5d0c2968"
diff --git a/share/ruby-build/1.9.3-p545 b/share/ruby-build/1.9.3-p545
index 5b75e06..b0cf429 100644
--- a/share/ruby-build/1.9.3-p545
+++ b/share/ruby-build/1.9.3-p545
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-p545" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p545.tar.gz#8e8f6e4d7d0bb54e0edf8d9c4120f40c"
diff --git a/share/ruby-build/1.9.3-preview1 b/share/ruby-build/1.9.3-preview1
index e2e8b2f..539be46 100644
--- a/share/ruby-build/1.9.3-preview1
+++ b/share/ruby-build/1.9.3-preview1
@@ -1,4 +1,4 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-preview1" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-preview1.tar.gz#0f0220be4cc7c51a82c1bd8f6a0969f3"
 install_package "rubygems-1.8.23" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.23.tgz#178b0ebae78dbb46963c51ad29bb6bd9" ruby
diff --git a/share/ruby-build/1.9.3-rc1 b/share/ruby-build/1.9.3-rc1
index 65c747f..b55475c 100644
--- a/share/ruby-build/1.9.3-rc1
+++ b/share/ruby-build/1.9.3-rc1
@@ -1,3 +1,3 @@
 require_gcc
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-1.9.3-rc1" "http://cache.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-rc1.tar.gz#46a2a481536ca0ca0b80ad2b091df68e"
diff --git a/share/ruby-build/2.0.0-dev b/share/ruby-build/2.0.0-dev
index 0729e7e..1fd5370 100644
--- a/share/ruby-build/2.0.0-dev
+++ b/share/ruby-build/2.0.0-dev
@@ -1,2 +1,2 @@
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" 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
diff --git a/share/ruby-build/2.0.0-p0 b/share/ruby-build/2.0.0-p0
index 9495677..8cabcd4 100644
--- a/share/ruby-build/2.0.0-p0
+++ b/share/ruby-build/2.0.0-p0
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-p0" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p0.tar.gz#50d307c4dc9297ae59952527be4e755d" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-p195 b/share/ruby-build/2.0.0-p195
index 031d811..f0fc7ad 100644
--- a/share/ruby-build/2.0.0-p195
+++ b/share/ruby-build/2.0.0-p195
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-p195" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.gz#0672e5af309ae99d1703d0e96eff8ea5" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-p247 b/share/ruby-build/2.0.0-p247
index 209ef5f..5c8d1fc 100644
--- a/share/ruby-build/2.0.0-p247
+++ b/share/ruby-build/2.0.0-p247
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-p247" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz#c351450a0bed670e0f5ca07da3458a5b" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-p353 b/share/ruby-build/2.0.0-p353
index 47d787c..ce528a5 100644
--- a/share/ruby-build/2.0.0-p353
+++ b/share/ruby-build/2.0.0-p353
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-p353" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz#78282433fb697dd3613613ff55d734c1" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-p451 b/share/ruby-build/2.0.0-p451
index 318005e..cab4e0c 100644
--- a/share/ruby-build/2.0.0-p451
+++ b/share/ruby-build/2.0.0-p451
@@ -1,2 +1,3 @@
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-p451" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p451.tar.gz#9227787a9636551f1749ee8394b5ffe5" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-preview1 b/share/ruby-build/2.0.0-preview1
index 668214e..c4d5fd8 100644
--- a/share/ruby-build/2.0.0-preview1
+++ b/share/ruby-build/2.0.0-preview1
@@ -1,3 +1,3 @@
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "ruby-2.0.0-preview1" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview1.tar.gz#c7d73f3ddb6d25e7733626ddbad04158" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-preview2 b/share/ruby-build/2.0.0-preview2
index 226f9df..1afa2f3 100644
--- a/share/ruby-build/2.0.0-preview2
+++ b/share/ruby-build/2.0.0-preview2
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-preview2" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-preview2.tar.gz#eaddcbf63dc775708de45c7a81ab54b9" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-rc1 b/share/ruby-build/2.0.0-rc1
index 581d062..e3fe14b 100644
--- a/share/ruby-build/2.0.0-rc1
+++ b/share/ruby-build/2.0.0-rc1
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-rc1" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-rc1.tar.gz#7d587dde85e0edf7a2e4f6783e6c0e2e" standard verify_openssl
diff --git a/share/ruby-build/2.0.0-rc2 b/share/ruby-build/2.0.0-rc2
index b2ca161..ba110fa 100644
--- a/share/ruby-build/2.0.0-rc2
+++ b/share/ruby-build/2.0.0-rc2
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.0.0-rc2" "http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-rc2.tar.gz#9d5e6f26db7c8c3ddefc81fdb19bd41a" standard verify_openssl
diff --git a/share/ruby-build/2.1.0 b/share/ruby-build/2.1.0
index 97cbe61..7de9c49 100644
--- a/share/ruby-build/2.1.0
+++ b/share/ruby-build/2.1.0
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.1.0" "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.gz#9e6386d53f5200a3e7069107405b93f7" ldflags_dirs standard verify_openssl
diff --git a/share/ruby-build/2.1.0-dev b/share/ruby-build/2.1.0-dev
index a928605..e85e192 100644
--- a/share/ruby-build/2.1.0-dev
+++ b/share/ruby-build/2.1.0-dev
@@ -1,2 +1,2 @@
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" 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
diff --git a/share/ruby-build/2.1.0-preview1 b/share/ruby-build/2.1.0-preview1
index 969a37c..84b8390 100644
--- a/share/ruby-build/2.1.0-preview1
+++ b/share/ruby-build/2.1.0-preview1
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.1.0-preview1" "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0-preview1.tar.gz#9df4f546f6b961895ba58a8afdf857da" standard verify_openssl
diff --git a/share/ruby-build/2.1.0-preview2 b/share/ruby-build/2.1.0-preview2
index c67f92f..98d7765 100644
--- a/share/ruby-build/2.1.0-preview2
+++ b/share/ruby-build/2.1.0-preview2
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.1.0-preview2" "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0-preview2.tar.gz#ba2b95d174e156b417a4d580a452eaf5" ldflags_dirs standard verify_openssl
diff --git a/share/ruby-build/2.1.0-rc1 b/share/ruby-build/2.1.0-rc1
index 6c2f865..21f20f3 100644
--- a/share/ruby-build/2.1.0-rc1
+++ b/share/ruby-build/2.1.0-rc1
@@ -1,3 +1,3 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.1.0-rc1" "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0-rc1.tar.gz#a16561f64d78a902fab08693a300df98" ldflags_dirs standard verify_openssl
diff --git a/share/ruby-build/2.1.1 b/share/ruby-build/2.1.1
index b1b400a..d13a8cb 100644
--- a/share/ruby-build/2.1.1
+++ b/share/ruby-build/2.1.1
@@ -1,2 +1,3 @@
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_package "ruby-2.1.1" "http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz#e57fdbb8ed56e70c43f39c79da1654b2" ldflags_dirs standard verify_openssl
diff --git a/share/ruby-build/2.2.0-dev b/share/ruby-build/2.2.0-dev
index 0ca95f6..5546a90 100644
--- a/share/ruby-build/2.2.0-dev
+++ b/share/ruby-build/2.2.0-dev
@@ -1,2 +1,2 @@
-install_package "openssl-1.0.1e" "https://www.openssl.org/source/openssl-1.0.1e.tar.gz#66bf6f10f060d561929de96f9dfe5b8c" mac_openssl --if has_broken_mac_openssl
+install_package "openssl-1.0.1g" "https://www.openssl.org/source/openssl-1.0.1g.tar.gz#de62b43dfcd858e66a74bee1c834e959" mac_openssl --if has_broken_mac_openssl
 install_git "ruby-2.2.0-dev" "https://github.com/ruby/ruby.git" "trunk" ldflags_dirs autoconf standard verify_openssl
diff --git a/share/ruby-build/jruby-1.7.11 b/share/ruby-build/jruby-1.7.11
new file mode 100644
index 0000000..6b5a984
--- /dev/null
+++ b/share/ruby-build/jruby-1.7.11
@@ -0,0 +1 @@
+install_package "jruby-1.7.11" "http://jruby.org.s3.amazonaws.com/downloads/1.7.11/jruby-bin-1.7.11.tar.gz#d6e6ab72426fa7fdc9ae55950980d877" jruby
diff --git a/share/ruby-build/jruby-9000+graal-dev b/share/ruby-build/jruby-9000+graal-dev
new file mode 100644
index 0000000..4a46628
--- /dev/null
+++ b/share/ruby-build/jruby-9000+graal-dev
@@ -0,0 +1 @@
+install_package "jruby-9000.dev" "http://lafo.ssw.uni-linz.ac.at/graalvm/jruby-dist-9000+graal-$(graal_architecture).dev-bin.tar.gz" jruby
diff --git a/share/ruby-build/rbx-2.0.0 b/share/ruby-build/rbx-2.0.0
index cd22be4..883b028 100644
--- a/share/ruby-build/rbx-2.0.0
+++ b/share/ruby-build/rbx-2.0.0
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.0.0" "http://releases.rubini.us/rubinius-2.0.0.tar.bz2#62e379e044c822b81e7b20a27daf133e" rbx
diff --git a/share/ruby-build/rbx-2.0.0-dev b/share/ruby-build/rbx-2.0.0-dev
index 8ceda8a..70d1e66 100644
--- a/share/ruby-build/rbx-2.0.0-dev
+++ b/share/ruby-build/rbx-2.0.0-dev
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_git "rubinius-2.0.0-dev" "https://github.com/rubinius/rubinius.git" "master" rbx
diff --git a/share/ruby-build/rbx-2.0.0-rc1 b/share/ruby-build/rbx-2.0.0-rc1
index 51f9e9e..6cd852f 100644
--- a/share/ruby-build/rbx-2.0.0-rc1
+++ b/share/ruby-build/rbx-2.0.0-rc1
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-release-2.0.0-rc1" "https://nodeload.github.com/rubinius/rubinius/tar.gz/release-2.0.0-rc1#d9726d9eb34c861b9f6596bf478a3116" rbx
diff --git a/share/ruby-build/rbx-2.1.0 b/share/ruby-build/rbx-2.1.0
index cafda2f..5dc1aa2 100644
--- a/share/ruby-build/rbx-2.1.0
+++ b/share/ruby-build/rbx-2.1.0
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.1.0" "http://releases.rubini.us/rubinius-2.1.0.tar.bz2#908053f38fd840c75a93aab7487c20a5" rbx
diff --git a/share/ruby-build/rbx-2.1.1 b/share/ruby-build/rbx-2.1.1
index 7aea0cd..fc2fd6b 100644
--- a/share/ruby-build/rbx-2.1.1
+++ b/share/ruby-build/rbx-2.1.1
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.1.1" "http://releases.rubini.us/rubinius-2.1.1.tar.bz2#6b4df0caec5ea88373e113f97a3b4c72" rbx
diff --git a/share/ruby-build/rbx-2.2.0 b/share/ruby-build/rbx-2.2.0
index 4bb32af..9e3e220 100644
--- a/share/ruby-build/rbx-2.2.0
+++ b/share/ruby-build/rbx-2.2.0
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.2.0" "http://releases.rubini.us/rubinius-2.2.0.tar.bz2#f1fbc6f3baf1da5ad86b3858f30f3349" rbx
diff --git a/share/ruby-build/rbx-2.2.1 b/share/ruby-build/rbx-2.2.1
index 92a0ff6..c25cbe0 100644
--- a/share/ruby-build/rbx-2.2.1
+++ b/share/ruby-build/rbx-2.2.1
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.2.1" "http://releases.rubini.us/rubinius-2.2.1.tar.bz2#83c4d61d5fdb070d11babd867852277b" rbx
diff --git a/share/ruby-build/rbx-2.2.2 b/share/ruby-build/rbx-2.2.2
index b3ba1c6..3b81a01 100644
--- a/share/ruby-build/rbx-2.2.2
+++ b/share/ruby-build/rbx-2.2.2
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.2.2" "http://releases.rubini.us/rubinius-2.2.2.tar.bz2#ac70d629ea43525d91e81f4ccf135299" rbx
diff --git a/share/ruby-build/rbx-2.2.3 b/share/ruby-build/rbx-2.2.3
index b07795a..c6a39fd 100644
--- a/share/ruby-build/rbx-2.2.3
+++ b/share/ruby-build/rbx-2.2.3
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.2.3" "http://releases.rubini.us/rubinius-2.2.3.tar.bz2#d9978cf1a4e8f0310db63e49834f9837" rbx
diff --git a/share/ruby-build/rbx-2.2.4 b/share/ruby-build/rbx-2.2.4
index 59b72b8..ccde401 100644
--- a/share/ruby-build/rbx-2.2.4
+++ b/share/ruby-build/rbx-2.2.4
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.2.4" "http://releases.rubini.us/rubinius-2.2.4.tar.bz2#c10699da85a8eb5861a37b29077213bd" rbx
diff --git a/share/ruby-build/rbx-2.2.5 b/share/ruby-build/rbx-2.2.5
index f536f01..7a960c1 100644
--- a/share/ruby-build/rbx-2.2.5
+++ b/share/ruby-build/rbx-2.2.5
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz#24f6093c1e840ca5df2eb09291a1dbf1" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
 install_package "rubinius-2.2.5" "http://releases.rubini.us/rubinius-2.2.5.tar.bz2" rbx
diff --git a/share/ruby-build/rbx-2.2.6 b/share/ruby-build/rbx-2.2.6
new file mode 100644
index 0000000..c3790ce
--- /dev/null
+++ b/share/ruby-build/rbx-2.2.6
@@ -0,0 +1,2 @@
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz#5fe00cda18ca5daeb43762b80c38e06e" --if needs_yaml
+install_package "rubinius-2.2.6" "http://releases.rubini.us/rubinius-2.2.6.tar.bz2" rbx
diff --git a/test/build.bats b/test/build.bats
index 1d15b18..f965073 100644
--- a/test/build.bats
+++ b/test/build.bats
@@ -56,7 +56,7 @@ assert_build_log() {
 }
 
 @test "yaml is installed for ruby" {
-  cached_tarball "yaml-0.1.5"
+  cached_tarball "yaml-0.1.6"
   cached_tarball "ruby-2.0.0"
 
   stub brew false
@@ -69,7 +69,7 @@ assert_build_log() {
   unstub make
 
   assert_build_log <<OUT
-yaml-0.1.5: --prefix=$INSTALL_ROOT
+yaml-0.1.6: --prefix=$INSTALL_ROOT
 make -j 2
 make install
 ruby-2.0.0: --prefix=$INSTALL_ROOT
@@ -79,7 +79,7 @@ OUT
 }
 
 @test "apply ruby patch before building" {
-  cached_tarball "yaml-0.1.5"
+  cached_tarball "yaml-0.1.6"
   cached_tarball "ruby-2.0.0"
 
   stub brew false
@@ -94,7 +94,7 @@ OUT
   unstub patch
 
   assert_build_log <<OUT
-yaml-0.1.5: --prefix=$INSTALL_ROOT
+yaml-0.1.6: --prefix=$INSTALL_ROOT
 make -j 2
 make install
 patch -p0 -i -
@@ -386,6 +386,57 @@ bundle exec rake install
 OUT
 }
 
+ at test "fixes rbx binstubs" {
+  executable "${RUBY_BUILD_CACHE_PATH}/rubinius-2.0.0/gems/bin/rake" <<OUT
+#!rbx
+puts 'rake'
+OUT
+  executable "${RUBY_BUILD_CACHE_PATH}/rubinius-2.0.0/gems/bin/irb" <<OUT
+#!rbx
+print '>>'
+OUT
+  cached_tarball "rubinius-2.0.0" bin/ruby
+
+  stub bundle '--version : echo 1' true
+  stub rake \
+    '--version : echo 1' \
+    "install : mkdir -p '$INSTALL_ROOT'; cp -fR . '$INSTALL_ROOT'"
+
+  run_inline_definition <<DEF
+install_package "rubinius-2.0.0" "http://releases.rubini.us/rubinius-2.0.0.tar.gz" rbx
+DEF
+  assert_success
+
+  unstub bundle
+  unstub rake
+
+  run ls "${INSTALL_ROOT}/bin"
+  assert_output <<OUT
+irb
+rake
+ruby
+OUT
+
+  run $(type -p greadlink readlink | head -1) "${INSTALL_ROOT}/gems/bin"
+  assert_success '../bin'
+
+  assert [ -x "${INSTALL_ROOT}/bin/rake" ]
+  run cat "${INSTALL_ROOT}/bin/rake"
+  assert_output <<OUT
+#!${INSTALL_ROOT}/bin/ruby
+#!rbx
+puts 'rake'
+OUT
+
+  assert [ -x "${INSTALL_ROOT}/bin/irb" ]
+  run cat "${INSTALL_ROOT}/bin/irb"
+  assert_output <<OUT
+#!${INSTALL_ROOT}/bin/ruby
+#!rbx
+print '>>'
+OUT
+}
+
 @test "JRuby build" {
   executable "${RUBY_BUILD_CACHE_PATH}/jruby-1.7.9/bin/jruby" <<OUT
 #!${BASH}
@@ -421,6 +472,22 @@ nice gem things
 OUT
 }
 
+ at test "JRuby+Graal does not install launchers" {
+  executable "${RUBY_BUILD_CACHE_PATH}/jruby-9000.dev/bin/jruby" <<OUT
+#!${BASH}
+# graalvm
+echo jruby "\$@" >> ../build.log
+OUT
+  cached_tarball "jruby-9000.dev"
+
+  run_inline_definition <<DEF
+install_package "jruby-9000.dev" "http://lafo.ssw.uni-linz.ac.at/jruby-9000+graal-macosx-x86_64.tar.gz" jruby
+DEF
+  assert_success
+
+  assert [ ! -e "$INSTALL_ROOT/build.log" ]
+}
+
 @test "JRuby Java 7 missing" {
   cached_tarball "jruby-9000.dev" bin/jruby
 
diff --git a/test/cache.bats b/test/cache.bats
index 8c71c35..8819fac 100644
--- a/test/cache.bats
+++ b/test/cache.bats
@@ -11,7 +11,7 @@ setup() {
 
 @test "packages are saved to download cache" {
   stub md5 true
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/without-checksum
   [ "$status" -eq 0 ]
@@ -59,7 +59,7 @@ setup() {
 
   stub md5 true "echo invalid" "echo $checksum"
   stub curl "-*I* : true" \
-    "-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
+    "-q -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
 
   touch "${RUBY_BUILD_CACHE_PATH}/package-1.0.0.tar.gz"
 
@@ -76,7 +76,7 @@ setup() {
 
 @test "nonexistent cache directory is ignored" {
   stub md5 true
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   export RUBY_BUILD_CACHE_PATH="${TMP}/nonexistent"
 
diff --git a/test/checksum.bats b/test/checksum.bats
index 3c4ffc3..5bdbf1d 100644
--- a/test/checksum.bats
+++ b/test/checksum.bats
@@ -7,7 +7,7 @@ export RUBY_BUILD_CACHE_PATH=
 
 @test "package URL without checksum" {
   stub md5 true
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/without-checksum
   [ "$status" -eq 0 ]
@@ -20,7 +20,7 @@ export RUBY_BUILD_CACHE_PATH=
 
 @test "package URL with valid checksum" {
   stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/with-checksum
   [ "$status" -eq 0 ]
@@ -33,7 +33,7 @@ export RUBY_BUILD_CACHE_PATH=
 
 @test "package URL with invalid checksum" {
   stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/with-invalid-checksum
   [ "$status" -eq 1 ]
@@ -46,7 +46,7 @@ export RUBY_BUILD_CACHE_PATH=
 
 @test "package URL with checksum but no MD5 support" {
   stub md5 false
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/with-checksum
   [ "$status" -eq 0 ]
@@ -59,7 +59,7 @@ export RUBY_BUILD_CACHE_PATH=
 
 @test "package with invalid checksum" {
   stub md5 true "echo invalid"
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/with-checksum
   [ "$status" -eq 1 ]
@@ -68,3 +68,46 @@ export RUBY_BUILD_CACHE_PATH=
   unstub curl
   unstub md5
 }
+
+ at test "existing tarball in build location is reused" {
+  stub md5 true "echo 83e6d7725e20166024a1eb74cde80677"
+  stub curl false
+  stub wget false
+
+  export -n RUBY_BUILD_CACHE_PATH
+  export RUBY_BUILD_BUILD_PATH="${TMP}/build"
+
+  mkdir -p "$RUBY_BUILD_BUILD_PATH"
+  ln -s "${FIXTURE_ROOT}/package-1.0.0.tar.gz" "$RUBY_BUILD_BUILD_PATH"
+
+  run_inline_definition <<DEF
+install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#83e6d7725e20166024a1eb74cde80677" copy
+DEF
+
+  assert_success
+  [ -x "${INSTALL_ROOT}/bin/package" ]
+
+  unstub md5
+}
+
+ at test "existing tarball in build location is discarded if not matching checksum" {
+  stub md5 true \
+    "echo invalid" \
+    "echo 83e6d7725e20166024a1eb74cde80677"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
+
+  export -n RUBY_BUILD_CACHE_PATH
+  export RUBY_BUILD_BUILD_PATH="${TMP}/build"
+
+  mkdir -p "$RUBY_BUILD_BUILD_PATH"
+  touch "${RUBY_BUILD_BUILD_PATH}/package-1.0.0.tar.gz"
+
+  run_inline_definition <<DEF
+install_package "package-1.0.0" "http://example.com/packages/package-1.0.0.tar.gz#83e6d7725e20166024a1eb74cde80677" copy
+DEF
+
+  assert_success
+  [ -x "${INSTALL_ROOT}/bin/package" ]
+
+  unstub md5
+}
diff --git a/test/fixtures/definitions/needs-yaml b/test/fixtures/definitions/needs-yaml
index b63728f..64ccd77 100644
--- a/test/fixtures/definitions/needs-yaml
+++ b/test/fixtures/definitions/needs-yaml
@@ -1,2 +1,2 @@
-install_package "yaml-0.1.5" "http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz" --if needs_yaml
+install_package "yaml-0.1.6" "http://pyyaml.org/download/libyaml/yaml-0.1.6.tar.gz" --if needs_yaml
 install_package "ruby-2.0.0" "http://ruby-lang.org/ruby/2.0/ruby-2.0.0.tar.gz"
diff --git a/test/mirror.bats b/test/mirror.bats
index 9ec45b5..96571de 100644
--- a/test/mirror.bats
+++ b/test/mirror.bats
@@ -8,7 +8,7 @@ export RUBY_BUILD_MIRROR_URL=http://mirror.example.com
 
 @test "package URL without checksum bypasses mirror" {
   stub md5 true
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/without-checksum
   echo "$output" >&2
@@ -22,7 +22,7 @@ export RUBY_BUILD_MIRROR_URL=http://mirror.example.com
 
 @test "package URL with checksum but no MD5 support bypasses mirror" {
   stub md5 false
-  stub curl "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+  stub curl "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/with-checksum
   [ "$status" -eq 0 ]
@@ -39,7 +39,7 @@ export RUBY_BUILD_MIRROR_URL=http://mirror.example.com
 
   stub md5 true "echo $checksum"
   stub curl "-*I* $mirror_url : true" \
-    "-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4"
+    "-q -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3"
 
   install_fixture definitions/with-checksum
   [ "$status" -eq 0 ]
@@ -56,7 +56,7 @@ export RUBY_BUILD_MIRROR_URL=http://mirror.example.com
 
   stub md5 true "echo $checksum"
   stub curl "-*I* $mirror_url : false" \
-    "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+    "-q -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${5##*/} \$3"
 
   install_fixture definitions/with-checksum
   [ "$status" -eq 0 ]
@@ -73,8 +73,8 @@ export RUBY_BUILD_MIRROR_URL=http://mirror.example.com
 
   stub md5 true "echo invalid" "echo $checksum"
   stub curl "-*I* $mirror_url : true" \
-    "-C - -o * -*S* $mirror_url : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
-    "-C - -o * -*S* http://example.com/* : cp $FIXTURE_ROOT/\${6##*/} \$4"
+    "-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
@@ -92,7 +92,7 @@ export RUBY_BUILD_MIRROR_URL=http://mirror.example.com
 
   stub md5 true "echo $checksum"
   stub curl "-*I* : true" \
-    "-C - -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$4" \
+    "-q -o * -*S* http://?*/$checksum : cp $FIXTURE_ROOT/package-1.0.0.tar.gz \$3" \
 
   install_fixture definitions/with-checksum
   [ "$status" -eq 0 ]

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/ruby-build.git



More information about the Pkg-ruby-extras-commits mailing list