homebrew-core/Formula/clisp.rb
Jack Nagel 8c29982153 Revert "Rename readline to gnu-readline"
This reverts commit adee5315265cc46aa6a3057071527abb16e1cd94.

Turns out one of the "other things" is a dealbreaker.

We only create kegs using a formula's canonical name. However, we do not
check that this is the case when mapping existing kegs back to formula
objects, and thus a keg with a name that happens to be an alias can fool
Homebrew into thinking the canonically-named keg exists.

So anything that enumerates kegs and then tries to do stuff with the
resulting formula objects will just break. This is obviously worse than
the debugger being broken, so reverting this for the time being.
2012-11-10 21:12:26 -06:00

78 lines
2.5 KiB
Ruby

require 'formula'
class Clisp < Formula
homepage 'http://www.clisp.org/'
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'
sha1 '7e8d585ef8d0d6349ffe581d1ac08681e6e670d4'
depends_on 'libsigsegv'
depends_on 'readline'
# -Os causes the build to fail with C_CODE_ALIGNMENT is wrong
# superenv doeesn't yet support changing the optimization level
env :std
fails_with :llvm do
build 2334
cause "Configure fails on XCode 4/Snow Leopard."
end
def patches
{ :p0 => "https://trac.macports.org/export/89054/trunk/dports/lang/clisp/files/patch-src_lispbibl_d.diff",
:p1 => DATA }
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|
s.change_make_var! 'CFLAGS', "#{s.get_make_var('CFLAGS')} #{ENV['CFLAGS']}"
end
# The ulimit must be set, otherwise `make` will fail and tell you to do so
system "ulimit -s 16384 && make"
if MacOS.version >= :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
__END__
diff --git a/src/stream.d b/src/stream.d
index 5345ed6..cf14e29 100644
--- a/src/stream.d
+++ b/src/stream.d
@@ -3994,7 +3994,7 @@ global object iconv_range (object encoding, uintL start, uintL end, uintL maxint
nonreturning_function(extern, error_unencodable, (object encoding, chart ch));
/* Avoid annoying warning caused by a wrongly standardized iconv() prototype. */
-#ifdef GNU_LIBICONV
+#if defined(GNU_LIBICONV) && !defined(__APPLE_CC__)
#undef iconv
#define iconv(cd,inbuf,inbytesleft,outbuf,outbytesleft) \
libiconv(cd,(ICONV_CONST char **)(inbuf),inbytesleft,outbuf,outbytesleft)