homebrew-core/Formula/clisp.rb
Nick Saika f3de375947 clisp: turn off optimization
Fixes some build issues on Lion.

Apparently it's enough to remove just the '-O' flags and preserve our
other optimization flags. This may only be needed on Lion, but frankly
clisp tends to have issues on all platforms so it's probably acceptable
to just disable it everywhere.

Closes Homebrew/homebrew#10450.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-02-24 19:35:04 -06:00

61 lines
1.8 KiB
Ruby

require 'formula'
class Clisp < Formula
url 'http://ftpmirror.gnu.org/clisp/release/2.49/clisp-2.49.tar.bz2'
mirror 'http://ftp.gnu.org/gnu/clisp/release/2.49/clisp-2.49.tar.bz2'
homepage 'http://clisp.cons.org/'
md5 '1962b99d5e530390ec3829236d168649'
depends_on 'libiconv'
depends_on 'libsigsegv'
depends_on 'readline'
skip_clean :all # otherwise abort trap
fails_with_llvm "Configure fails on XCode 4/Snow Leopard.", :build => 2334
def patches
{ :p0 => "https://trac.macports.org/export/89054/trunk/dports/lang/clisp/files/patch-src_lispbibl_d.diff" }
end
def install
ENV.j1 # This build isn't parallel safe.
ENV.remove_from_cflags /-O./
# Clisp requires to select word size explicitly this way,
# set it in CFLAGS won't work.
ENV['CC'] = "#{ENV.cc} -m#{MacOS.prefer_64_bit? ? 64 : 32}"
system "./configure", "--prefix=#{prefix}",
"--with-readline=yes"
cd "src" do
# Multiple -O options will be in the generated Makefile,
# make Homebrew's the last such option so it's effective.
inreplace "Makefile" do |s|
cf = s.get_make_var("CFLAGS")
cf.gsub! ENV['CFLAGS'], ''
cf += ' '+ENV['CFLAGS']
s.change_make_var! 'CFLAGS', cf
end
# The ulimit must be set, otherwise `make` will fail and tell you to do so
system "ulimit -s 16384 && make"
if MacOS.lion?
opoo "`make check` fails on Lion, so we are skipping it."
puts "But it probably means there will be other issues too."
puts "Please take them upstream to the clisp project itself."
else
# Considering the complexity of this package, a self-check is highly recommended.
system "make check"
end
system "make install"
end
end
def test
system "#{bin}/clisp --version"
end
end