From 9a5256ed7a09ce56877ef277be18204d7914f91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mislav=20Marohni=C4=87?= Date: Tue, 28 Oct 2014 15:15:36 +0100 Subject: [PATCH] Work around Rubinius LLVM incompatibilities on Yosemite Rubinius fails to download a prebuilt LLVM on Yosemite since one is not available yet. Instead, download the prebuilt version for the previous OS X release. This fixes Rubinius 2.2.7+ builds, but the older ones still fail for me on Yosemite. This could be due to the fact that they're old releases which are not compatible with never dependencies on the system. --- bin/ruby-build | 11 ++++++++++- share/ruby-build/rbx-1.2.4 | 1 + share/ruby-build/rbx-2.0.0 | 1 + share/ruby-build/rbx-2.0.0-dev | 1 + share/ruby-build/rbx-2.0.0-rc1 | 1 + share/ruby-build/rbx-2.1.0 | 1 + share/ruby-build/rbx-2.1.1 | 1 + share/ruby-build/rbx-2.2.0 | 1 + share/ruby-build/rbx-2.2.1 | 1 + share/ruby-build/rbx-2.2.10 | 1 + share/ruby-build/rbx-2.2.2 | 1 + share/ruby-build/rbx-2.2.3 | 1 + share/ruby-build/rbx-2.2.4 | 1 + share/ruby-build/rbx-2.2.5 | 1 + share/ruby-build/rbx-2.2.6 | 1 + share/ruby-build/rbx-2.2.7 | 1 + share/ruby-build/rbx-2.2.9 | 1 + 17 files changed, 26 insertions(+), 1 deletion(-) diff --git a/bin/ruby-build b/bin/ruby-build index 37490876..db9a64b3 100755 --- a/bin/ruby-build +++ b/bin/ruby-build @@ -515,7 +515,7 @@ build_package_rbx() { local package_name="$1" { bundle --path=vendor/bundle - RUBYOPT="-rubygems $RUBYOPT" ./configure --prefix="$PREFIX_PATH" $RUBY_CONFIGURE_OPTS + 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" @@ -766,6 +766,15 @@ verify_gcc() { echo "$gcc" } +require_llvm() { + local llvm_version="$1" + if [ "$(uname -s)" = "Darwin" ] && [ "$(osx_version)" -ge 1010 ]; then + if [[ "$RUBY_CONFIGURE_OPTS" != *--llvm-* ]]; then + package_option ruby configure --prebuilt-name="llvm-3.2-x86_64-apple-darwin13.tar.bz2" + fi + fi +} + needs_yaml() { [[ "$RUBY_CONFIGURE_OPTS" != *--with-libyaml-dir=* ]] && ! use_homebrew_yaml diff --git a/share/ruby-build/rbx-1.2.4 b/share/ruby-build/rbx-1.2.4 index 01899d65..b14eaefa 100644 --- a/share/ruby-build/rbx-1.2.4 +++ b/share/ruby-build/rbx-1.2.4 @@ -1,2 +1,3 @@ +require_llvm 2.8 install_package "rubinius-1.2.4" "http://asset.rubini.us/rubinius-1.2.4-20110705.tar.gz#d474fb6f50292bff5211aaa80b1cead1fb3ed5c7c49223c51fddb8ffc5c3f23d" rbx install_package "rubygems-1.6.2" "http://production.cf.rubygems.org/rubygems/rubygems-1.6.2.tgz#cb5261818b931b5ea2cb54bc1d583c47823543fcf9682f0d6298849091c1cea7" ruby diff --git a/share/ruby-build/rbx-2.0.0 b/share/ruby-build/rbx-2.0.0 index f1749b1f..52432a50 100644 --- a/share/ruby-build/rbx-2.0.0 +++ b/share/ruby-build/rbx-2.0.0 @@ -1,2 +1,3 @@ +require_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" "http://releases.rubini.us/rubinius-2.0.0.tar.bz2#df039c7c52e9e42a2f3e0d0b67bf2c9b255769d1f8c3bac2333469ca8c0e04c4" rbx diff --git a/share/ruby-build/rbx-2.0.0-dev b/share/ruby-build/rbx-2.0.0-dev index 7579e69f..d07acb4c 100644 --- a/share/ruby-build/rbx-2.0.0-dev +++ b/share/ruby-build/rbx-2.0.0-dev @@ -1,2 +1,3 @@ +require_llvm 3.4.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 diff --git a/share/ruby-build/rbx-2.0.0-rc1 b/share/ruby-build/rbx-2.0.0-rc1 index f938a808..4d9d0ca8 100644 --- a/share/ruby-build/rbx-2.0.0-rc1 +++ b/share/ruby-build/rbx-2.0.0-rc1 @@ -1,2 +1,3 @@ +require_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 diff --git a/share/ruby-build/rbx-2.1.0 b/share/ruby-build/rbx-2.1.0 index 403e98b9..9b5cda2b 100644 --- a/share/ruby-build/rbx-2.1.0 +++ b/share/ruby-build/rbx-2.1.0 @@ -1,2 +1,3 @@ +require_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" "http://releases.rubini.us/rubinius-2.1.0.tar.bz2#78d7c2af7ebdf9b477a682cf4793e56e4139abed3cd752282e422d56e63b65b6" rbx diff --git a/share/ruby-build/rbx-2.1.1 b/share/ruby-build/rbx-2.1.1 index 86cd2a2c..003d734c 100644 --- a/share/ruby-build/rbx-2.1.1 +++ b/share/ruby-build/rbx-2.1.1 @@ -1,2 +1,3 @@ +require_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" "http://releases.rubini.us/rubinius-2.1.1.tar.bz2#e142c3f201e4ae9f3a6e6671298baabbd9bd906509c663adcf080bff4181ee96" rbx diff --git a/share/ruby-build/rbx-2.2.0 b/share/ruby-build/rbx-2.2.0 index 7c657d9e..aa0ea4bf 100644 --- a/share/ruby-build/rbx-2.2.0 +++ b/share/ruby-build/rbx-2.2.0 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.0" "http://releases.rubini.us/rubinius-2.2.0.tar.bz2#50e214b4d2f18d06453b8ef30dfd8268c5e94f8e97ccae877b90457d4c2b9a7e" rbx diff --git a/share/ruby-build/rbx-2.2.1 b/share/ruby-build/rbx-2.2.1 index 8267971d..f014edf9 100644 --- a/share/ruby-build/rbx-2.2.1 +++ b/share/ruby-build/rbx-2.2.1 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.1" "http://releases.rubini.us/rubinius-2.2.1.tar.bz2#2a2a4705cf517470b86b4a8e27e16b11ec363789b690411c792e0f8908c06cb0" rbx diff --git a/share/ruby-build/rbx-2.2.10 b/share/ruby-build/rbx-2.2.10 index 0a0c54e6..51431995 100644 --- a/share/ruby-build/rbx-2.2.10 +++ b/share/ruby-build/rbx-2.2.10 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.10" "http://releases.rubini.us/rubinius-2.2.10.tar.bz2#2a3e6b71f27073b8d83b9592b05523af70bc147ddcd0673bffae55b4167c9d81" rbx diff --git a/share/ruby-build/rbx-2.2.2 b/share/ruby-build/rbx-2.2.2 index e0458fe5..bad14152 100644 --- a/share/ruby-build/rbx-2.2.2 +++ b/share/ruby-build/rbx-2.2.2 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.2" "http://releases.rubini.us/rubinius-2.2.2.tar.bz2#a49d596f889405e4fc511da64b8afe5eccfafdcee5ea99be15d3ad36290ec2ba" rbx diff --git a/share/ruby-build/rbx-2.2.3 b/share/ruby-build/rbx-2.2.3 index e1279fca..68566393 100644 --- a/share/ruby-build/rbx-2.2.3 +++ b/share/ruby-build/rbx-2.2.3 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.3" "http://releases.rubini.us/rubinius-2.2.3.tar.bz2#b3426aa6996420f1d9d8a7926a94160b84d8bdf725793c64462b27b74f2f2acf" rbx diff --git a/share/ruby-build/rbx-2.2.4 b/share/ruby-build/rbx-2.2.4 index 879d0d28..97041a78 100644 --- a/share/ruby-build/rbx-2.2.4 +++ b/share/ruby-build/rbx-2.2.4 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.4" "http://releases.rubini.us/rubinius-2.2.4.tar.bz2#7d06d63d12d9eecff196d8f53953bd520c17fbb9baa921c5481c43af8129d85e" rbx diff --git a/share/ruby-build/rbx-2.2.5 b/share/ruby-build/rbx-2.2.5 index 4682c246..3f5360cd 100644 --- a/share/ruby-build/rbx-2.2.5 +++ b/share/ruby-build/rbx-2.2.5 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.5" "http://releases.rubini.us/rubinius-2.2.5.tar.bz2#42cfae89d481dfa5e0ccb53a67720f109fc6c2e1b6ca68a8ae9676be6d0457de" rbx diff --git a/share/ruby-build/rbx-2.2.6 b/share/ruby-build/rbx-2.2.6 index 1a8f575a..a563ccf2 100644 --- a/share/ruby-build/rbx-2.2.6 +++ b/share/ruby-build/rbx-2.2.6 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.6" "http://releases.rubini.us/rubinius-2.2.6.tar.bz2#8ad2cada05a20c708379c75607fd0c8259623b3699d36be41e509052164eb103" rbx diff --git a/share/ruby-build/rbx-2.2.7 b/share/ruby-build/rbx-2.2.7 index 5c4db172..7dd4d17d 100644 --- a/share/ruby-build/rbx-2.2.7 +++ b/share/ruby-build/rbx-2.2.7 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.7" "http://releases.rubini.us/rubinius-2.2.7.tar.bz2#e1244b60ed790a3a33a7126a587c35acd041dcb2022b894833518490e872dc3d" rbx diff --git a/share/ruby-build/rbx-2.2.9 b/share/ruby-build/rbx-2.2.9 index 3c308196..09b8f7a1 100644 --- a/share/ruby-build/rbx-2.2.9 +++ b/share/ruby-build/rbx-2.2.9 @@ -1 +1,2 @@ +require_llvm 3.2 install_package "rubinius-2.2.9" "http://releases.rubini.us/rubinius-2.2.9.tar.bz2#7b01a7f2508167e73b5273b4e55e6616fc7fd975e79c84c4d2e3ef83d849d2ce" rbx