homebrew-core/Formula/gnu-smalltalk.rb
Jack Nagel fa3d89a7c0 Use automatic mirror selection for GNU downloads
It seems that the main GNU download site has issues in some places
outside the U.S., so we'll use the provided "ftpmirror.gnu.org" to pick
a nearby mirror.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2011-09-12 15:08:20 -05:00

55 lines
1.7 KiB
Ruby

require 'formula'
# References:
# * http://smalltalk.gnu.org/wiki/building-gst-guides
#
# Note that we build 32-bit, which means that 64-bit
# optional dependencies will break the build. You may need
# to "brew unlink" these before installing GNU Smalltalk and
# "brew link" them afterwards:
# * gdbm
class GnuSmalltalk < Formula
url 'http://ftpmirror.gnu.org/smalltalk/smalltalk-3.2.2.tar.gz'
homepage 'http://smalltalk.gnu.org/'
sha1 'a985d69e4760420614c9dfe4d3605e47c5eb8faa'
# 'gmp' is an optional dep, it is built 64-bit on Snow Leopard
# (and this brew is forced to build in 32-bit mode.)
depends_on 'readline'
fails_with_llvm "Codegen problems with LLVM"
def install
# 64-bit version doesn't build, so force 32 bits.
ENV.m32
if MacOS.prefer_64_bit? and Formula.factory('gdbm').installed?
onoe "A 64-bit gdbm will cause linker errors"
puts <<-EOS.undent
GNU Smalltak doesn't compile 64-bit clean on OS X, so having a
64-bit gdbm installed will break linking you may want to do:
$ brew unlink gdbm
$ brew install gnu-smalltalk
$ brew link gdbm
EOS
end
readline = Formula.factory('readline')
# GNU Smalltalk thinks it needs GNU awk, but it works fine
# with OS X awk, so let's trick configure.
here = Dir.pwd
system "ln -s /usr/bin/awk #{here}/gawk"
ENV['AWK'] = "#{here}/gawk"
ENV['FFI_CFLAGS'] = '-I/usr/include/ffi'
system "./configure", "--disable-debug", "--disable-dependency-tracking",
"--prefix=#{prefix}",
"--with-readline=#{readline.lib}"
system "make"
ENV.j1 # Parallel install doesn't work
system "make install"
end
end