diff -Nru ruby-build-20110928/bin/ruby-build ruby-build-20111030/bin/ruby-build --- ruby-build-20110928/bin/ruby-build 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/bin/ruby-build 2011-10-30 16:02:34.000000000 +0000 @@ -1,6 +1,6 @@ #!/usr/bin/env bash -RUBY_BUILD_VERSION="20110928" +RUBY_BUILD_VERSION="20111030" set -E exec 3<&2 # preserve original stderr at fd 3 @@ -27,13 +27,33 @@ { echo echo "BUILD FAILED" echo - echo "Inspect or clean up the working tree at ${TEMP_PATH}" - echo "Results logged to ${LOG_PATH}" - echo + + if ! rmdir "${TEMP_PATH}" 2>/dev/null; then + echo "Inspect or clean up the working tree at ${TEMP_PATH}" + + if file_is_not_empty "$LOG_PATH"; then + echo "Results logged to ${LOG_PATH}" + echo + 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 +} + install_package() { install_package_using "tarball" 1 $* } @@ -135,7 +155,7 @@ # 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 + { ./installer --auto "$PREFIX_PATH" --dont-install-useful-gems $options $CONFIGURE_OPTS } >&4 2>&1 } @@ -167,6 +187,7 @@ } build_package_copy() { + mkdir -p "$PREFIX_PATH" cp -R . "$PREFIX_PATH" } @@ -179,13 +200,62 @@ find "$PREFIX_PATH" -type d -exec chmod go-w {} \; } -use_gcc42_on_lion() { - if [ "$(uname -s)" = "Darwin" ]; then - if [ "$(expr "$(sw_vers -productVersion | cut -f 2 -d .)" \>= 7 || true)" -eq 1 ]; then - export CC=/usr/bin/gcc-4.2 - CONFIGURE_OPTS="--with-gcc=$CC $CONFIGURE_OPTS" - fi +require_gcc() { + local gcc="$(locate_gcc || true)" + if [ -z "$gcc" ]; then + { echo + echo "ERROR: This package must be compiled with GCC, and we" + echo "couldn't find a suitable \`gcc' binary on your system." + echo "Please install GCC and try again." + echo + + if [ "$(uname -s)" = "Darwin" ]; then + echo "As of version 4.2, Xcode is LLVM-only and no longer" + echo "includes GCC. You can install GCC with these binary" + echo "packages on Mac OS X:" + echo + echo "https://github.com/kennethreitz/osx-gcc-installer/downloads" + echo + fi + } >&3 + return 1 + fi + + export CC="$gcc" +} + +locate_gcc() { + local gcc gccs + shopt -s nullglob + gccs=( /usr/bin/gcc-* ) + shopt -u nullglob + + verify_gcc "$CC" || + verify_gcc "$(command -v gcc || true)" || { + for gcc in "${gccs[@]}"; do + verify_gcc "$gcc" && break || true + done + } + + return 1 +} + +verify_gcc() { + local gcc="$1" + if [ -z "$gcc" ]; then + return 1 fi + + local version="$("$gcc" --version || true)" + if [ -z "$version" ]; then + return 1 + fi + + if echo "$version" | grep LLVM >/dev/null; then + return 1 + fi + + echo "$gcc" } version() { diff -Nru ruby-build-20110928/debian/changelog ruby-build-20111030/debian/changelog --- ruby-build-20110928/debian/changelog 2011-10-12 14:27:58.000000000 +0000 +++ ruby-build-20111030/debian/changelog 2011-11-03 20:51:42.000000000 +0000 @@ -1,3 +1,9 @@ +ruby-build (20111030-1) lucid; urgency=low + + * New upstream release + + -- Sebastian Boehm Thu, 03 Nov 2011 21:51:06 +0100 + ruby-build (20110928-1) lucid; urgency=low * First release diff -Nru ruby-build-20110928/debian/lintian-overrides ruby-build-20111030/debian/lintian-overrides --- ruby-build-20110928/debian/lintian-overrides 2011-10-12 14:24:28.000000000 +0000 +++ ruby-build-20111030/debian/lintian-overrides 2011-11-03 20:52:52.000000000 +0000 @@ -1,3 +1,2 @@ -ruby-build: new-package-should-close-itp-bug ruby-build: binary-without-manpage usr/bin/ruby-build ruby-build: binary-without-manpage usr/bin/rbenv-install diff -Nru ruby-build-20110928/README.md ruby-build-20111030/README.md --- ruby-build-20110928/README.md 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/README.md 2011-10-30 16:02:34.000000000 +0000 @@ -37,6 +37,22 @@ ### Version History +#### 20111030 + +* Added a Ruby 1.8.7-p334 definition. +* 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. +* Improved the GCC detection routines and added 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. +* Added a JRuby 1.6.5 definition. +* Added a Ruby 1.9.2-p180 definition. +* Added a Ruby 1.9.3-p0 definition. + #### 20110928 * ruby-build now uses the `--with-gcc` configure flag on OS X Lion. diff -Nru ruby-build-20110928/share/ruby-build/1.8.6-p420 ruby-build-20111030/share/ruby-build/1.8.6-p420 --- ruby-build-20110928/share/ruby-build/1.8.6-p420 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.8.6-p420 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,3 @@ -use_gcc42_on_lion +require_gcc install_package "ruby-1.8.6-p420" "http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6-p420.tar.gz" install_package "rubygems-1.3.7" "http://production.cf.rubygems.org/rubygems/rubygems-1.3.7.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.8.7-p249 ruby-build-20111030/share/ruby-build/1.8.7-p249 --- ruby-build-20110928/share/ruby-build/1.8.7-p249 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.8.7-p249 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,3 @@ -use_gcc42_on_lion +require_gcc install_package "ruby-1.8.7-p249" "http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p249.tar.gz" install_package "rubygems-1.6.2" "http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.8.7-p334 ruby-build-20111030/share/ruby-build/1.8.7-p334 --- ruby-build-20110928/share/ruby-build/1.8.7-p334 1970-01-01 00:00:00.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.8.7-p334 2011-10-30 16:02:34.000000000 +0000 @@ -0,0 +1,3 @@ +require_gcc +install_package "ruby-1.8.7-p334" "http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p334.tar.gz" +install_package "rubygems-1.6.2" "http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.8.7-p352 ruby-build-20111030/share/ruby-build/1.8.7-p352 --- ruby-build-20110928/share/ruby-build/1.8.7-p352 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.8.7-p352 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,3 @@ -use_gcc42_on_lion +require_gcc install_package "ruby-1.8.7-p352" "http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p352.tar.gz" install_package "rubygems-1.6.2" "http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.9.1-p378 ruby-build-20111030/share/ruby-build/1.9.1-p378 --- ruby-build-20110928/share/ruby-build/1.9.1-p378 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.1-p378 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,4 @@ +require_gcc install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" install_package "ruby-1.9.1-p378" "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p378.tar.gz" install_package "rubygems-1.3.5" "http://production.cf.rubygems.org/rubygems/rubygems-1.3.5.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.9.2-p180 ruby-build-20111030/share/ruby-build/1.9.2-p180 --- ruby-build-20110928/share/ruby-build/1.9.2-p180 1970-01-01 00:00:00.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.2-p180 2011-10-30 16:02:34.000000000 +0000 @@ -0,0 +1,3 @@ +install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" +install_package "ruby-1.9.2-p180" "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p180.tar.gz" +install_package "rubygems-1.8.10" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.9.2-p290 ruby-build-20111030/share/ruby-build/1.9.2-p290 --- ruby-build-20110928/share/ruby-build/1.9.2-p290 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.2-p290 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,4 @@ +require_gcc install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" install_package "ruby-1.9.2-p290" "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p290.tar.gz" install_package "rubygems-1.8.10" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.9.3-dev ruby-build-20111030/share/ruby-build/1.9.3-dev --- ruby-build-20110928/share/ruby-build/1.9.3-dev 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.3-dev 2011-10-30 16:02:34.000000000 +0000 @@ -1,4 +1,4 @@ -use_gcc42_on_lion +require_gcc install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" install_git "ruby-1.9.3-dev" "https://github.com/ruby/ruby.git" "ruby_1_9_3" autoconf standard install_package "rubygems-1.8.10" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.9.3-p0 ruby-build-20111030/share/ruby-build/1.9.3-p0 --- ruby-build-20110928/share/ruby-build/1.9.3-p0 1970-01-01 00:00:00.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.3-p0 2011-10-30 16:02:34.000000000 +0000 @@ -0,0 +1,3 @@ +require_gcc +install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" +install_package "ruby-1.9.3-p0" "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.gz" diff -Nru ruby-build-20110928/share/ruby-build/1.9.3-preview1 ruby-build-20111030/share/ruby-build/1.9.3-preview1 --- ruby-build-20110928/share/ruby-build/1.9.3-preview1 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.3-preview1 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,4 @@ +require_gcc install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" install_package "ruby-1.9.3-preview1" "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-preview1.tar.gz" install_package "rubygems-1.8.10" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/1.9.3-rc1 ruby-build-20111030/share/ruby-build/1.9.3-rc1 --- ruby-build-20110928/share/ruby-build/1.9.3-rc1 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.3-rc1 2011-10-30 16:02:34.000000000 +0000 @@ -1,2 +1,3 @@ +require_gcc install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" install_package "ruby-1.9.3-rc1" "http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-rc1.tar.gz" diff -Nru ruby-build-20110928/share/ruby-build/1.9.4-dev ruby-build-20111030/share/ruby-build/1.9.4-dev --- ruby-build-20110928/share/ruby-build/1.9.4-dev 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/1.9.4-dev 1970-01-01 00:00:00.000000000 +0000 @@ -1,4 +0,0 @@ -use_gcc42_on_lion -install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" -install_git "ruby-1.9.4-dev" "https://github.com/ruby/ruby.git" "trunk" autoconf standard -install_package "rubygems-1.8.10" "http://production.cf.rubygems.org/rubygems/rubygems-1.8.10.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/2.0.0-dev ruby-build-20111030/share/ruby-build/2.0.0-dev --- ruby-build-20110928/share/ruby-build/2.0.0-dev 1970-01-01 00:00:00.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/2.0.0-dev 2011-10-30 16:02:34.000000000 +0000 @@ -0,0 +1,3 @@ +require_gcc +install_package "yaml-0.1.4" "http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz" +install_git "ruby-2.0.0-dev" "https://github.com/ruby/ruby.git" "trunk" autoconf standard diff -Nru ruby-build-20110928/share/ruby-build/jruby-1.6.5 ruby-build-20111030/share/ruby-build/jruby-1.6.5 --- ruby-build-20110928/share/ruby-build/jruby-1.6.5 1970-01-01 00:00:00.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/jruby-1.6.5 2011-10-30 16:02:34.000000000 +0000 @@ -0,0 +1 @@ +install_package "jruby-1.6.5" "http://jruby.org.s3.amazonaws.com/downloads/1.6.5/jruby-bin-1.6.5.tar.gz" jruby diff -Nru ruby-build-20110928/share/ruby-build/ree-1.8.6-2009.06 ruby-build-20111030/share/ruby-build/ree-1.8.6-2009.06 --- ruby-build-20110928/share/ruby-build/ree-1.8.6-2009.06 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/ree-1.8.6-2009.06 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,3 @@ -use_gcc42_on_lion +require_gcc install_package "ruby-enterprise-1.8.6-20090610" "http://files.rubyforge.vm.bytemark.co.uk/emm-ruby/ruby-enterprise-1.8.6-20090610.tar.gz" ree_installer install_package "rubygems-1.4.2" "http://production.cf.rubygems.org/rubygems/rubygems-1.4.2.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/ree-1.8.7-2010.02 ruby-build-20111030/share/ruby-build/ree-1.8.7-2010.02 --- ruby-build-20110928/share/ruby-build/ree-1.8.7-2010.02 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/ree-1.8.7-2010.02 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,3 @@ -use_gcc42_on_lion +require_gcc install_package "ruby-enterprise-1.8.7-2010.02" "http://files.rubyforge.vm.bytemark.co.uk/emm-ruby/ruby-enterprise-1.8.7-2010.02.tar.gz" ree_installer install_package "rubygems-1.6.2" "http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz" ruby diff -Nru ruby-build-20110928/share/ruby-build/ree-1.8.7-2011.03 ruby-build-20111030/share/ruby-build/ree-1.8.7-2011.03 --- ruby-build-20110928/share/ruby-build/ree-1.8.7-2011.03 2011-09-28 18:19:50.000000000 +0000 +++ ruby-build-20111030/share/ruby-build/ree-1.8.7-2011.03 2011-10-30 16:02:34.000000000 +0000 @@ -1,3 +1,3 @@ -use_gcc42_on_lion +require_gcc install_package "ruby-enterprise-1.8.7-2011.03" "http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2011.03.tar.gz" ree_installer install_package "rubygems-1.6.2" "http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz" ruby