sbcl: 32-bit install must get 32-bit bootstrap

Add a resource for downloading the current 32-bit binary
build to use as the bootstrap when installing 32-bit.
Without this sbcl cannot be installed on a 32-bit machine.

With this commit installing on x86_64 machine using the
32-bit option will bootstrap from the 32-bit binary.
Bootstrap to 32-bit from the 64-bit should work, as any boostrap
that can run should produce the same result, but this ensures
at install time that the machine can run the 32-bit version.

Updated the version of the 64-bit bootstrap file
from 1.1.0 to 1.1.8 and added a comment on where to find
documented the list of latest binary versions.

Closes Homebrew/homebrew#26850.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This commit is contained in:
Sidney Markowitz 2014-02-20 12:35:37 +13:00 committed by Adam Vandenberg
parent 6c62f8c8bc
commit 69fce4e503

View file

@ -23,9 +23,16 @@ class Sbcl < Formula
option "with-ldb", "Include low-level debugger in the build"
option "with-internal-xref", "Include XREF information for SBCL internals (increases core size by 5-6MB)"
resource 'bootstrap' do
url 'http://downloads.sourceforge.net/project/sbcl/sbcl/1.1.0/sbcl-1.1.0-x86-64-darwin-binary.tar.bz2'
sha1 'ed2069e124027c43926728c48d604efbb4e33950'
# Current binary versions are listed at http://sbcl.sourceforge.net/platform-table.html
resource 'bootstrap64' do
url 'http://downloads.sourceforge.net/project/sbcl/sbcl/1.1.8/sbcl-1.1.8-x86-64-darwin-binary.tar.bz2'
sha1 'cffd8c568588f48bd0c69295a385b662d27983cf'
end
resource 'bootstrap32' do
url 'http://downloads.sourceforge.net/project/sbcl/sbcl/1.1.6/sbcl-1.1.6-x86-darwin-binary.tar.bz2'
sha1 '35a76b93f8714bc34ba127df4aaf69aacfc08164'
end
def patches
@ -61,7 +68,8 @@ class Sbcl < Formula
value =~ /[\x80-\xff]/n
end
resource('bootstrap').stage do
bootstrap = (build.build_32_bit? || !MacOS.prefer_64_bit?) ? 'bootstrap32' : 'bootstrap64'
resource(bootstrap).stage do
# We only need the binaries for bootstrapping, so don't install anything:
command = Dir.pwd + "/src/runtime/sbcl"
core = Dir.pwd + "/output/sbcl.core"