2010-10-05 03:39:21 +00:00
|
|
|
require 'formula'
|
|
|
|
|
2011-03-10 05:11:03 +00:00
|
|
|
class Clisp < Formula
|
2012-06-11 15:24:31 +00:00
|
|
|
homepage 'http://www.clisp.org/'
|
2011-09-12 16:31:30 +00:00
|
|
|
url 'http://ftpmirror.gnu.org/clisp/release/2.49/clisp-2.49.tar.bz2'
|
2011-11-30 18:56:07 +00:00
|
|
|
mirror 'http://ftp.gnu.org/gnu/clisp/release/2.49/clisp-2.49.tar.bz2'
|
2012-06-11 15:24:31 +00:00
|
|
|
sha1 '7e8d585ef8d0d6349ffe581d1ac08681e6e670d4'
|
2010-10-05 03:39:21 +00:00
|
|
|
|
|
|
|
depends_on 'libsigsegv'
|
2012-11-11 03:12:26 +00:00
|
|
|
depends_on 'readline'
|
2010-10-05 03:39:21 +00:00
|
|
|
|
2012-10-01 15:46:08 +00:00
|
|
|
# -Os causes the build to fail with C_CODE_ALIGNMENT is wrong
|
|
|
|
# superenv doeesn't yet support changing the optimization level
|
|
|
|
env :std
|
|
|
|
|
2012-03-18 20:33:24 +00:00
|
|
|
fails_with :llvm do
|
|
|
|
build 2334
|
|
|
|
cause "Configure fails on XCode 4/Snow Leopard."
|
|
|
|
end
|
2012-01-18 23:44:52 +00:00
|
|
|
|
|
|
|
def patches
|
2012-02-25 07:39:12 +00:00
|
|
|
{ :p0 => "https://trac.macports.org/export/89054/trunk/dports/lang/clisp/files/patch-src_lispbibl_d.diff",
|
|
|
|
:p1 => DATA }
|
2012-01-18 23:44:52 +00:00
|
|
|
end
|
2010-10-05 03:39:21 +00:00
|
|
|
|
2011-03-21 21:24:22 +00:00
|
|
|
def install
|
|
|
|
ENV.j1 # This build isn't parallel safe.
|
2012-02-24 15:42:11 +00:00
|
|
|
ENV.remove_from_cflags /-O./
|
2011-03-19 21:06:10 +00:00
|
|
|
|
2010-10-05 03:39:21 +00:00
|
|
|
# Clisp requires to select word size explicitly this way,
|
|
|
|
# set it in CFLAGS won't work.
|
2011-03-18 17:30:47 +00:00
|
|
|
ENV['CC'] = "#{ENV.cc} -m#{MacOS.prefer_64_bit? ? 64 : 32}"
|
2010-10-05 03:39:21 +00:00
|
|
|
|
|
|
|
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|
|
2012-08-30 23:34:38 +00:00
|
|
|
s.change_make_var! 'CFLAGS', "#{s.get_make_var('CFLAGS')} #{ENV['CFLAGS']}"
|
2010-10-05 03:39:21 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
# The ulimit must be set, otherwise `make` will fail and tell you to do so
|
|
|
|
system "ulimit -s 16384 && make"
|
|
|
|
|
2012-09-05 04:04:01 +00:00
|
|
|
if MacOS.version >= :lion
|
2011-08-11 19:39:03 +00:00
|
|
|
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
|
|
|
|
|
2010-10-05 03:39:21 +00:00
|
|
|
system "make install"
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def test
|
2012-05-15 21:36:45 +00:00
|
|
|
system "#{bin}/clisp", "--version"
|
2010-10-05 03:39:21 +00:00
|
|
|
end
|
|
|
|
end
|
2012-02-25 07:39:12 +00:00
|
|
|
|
|
|
|
__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)
|