homebrew-core/Formula/swi-prolog.rb
Jack Nagel 53473b6bf5 Clean up MacOS version method usage
The MacOS.version? family of methods (other than "leopard?") are poorly
defined and lead to confusing code. Replace them in formulae with more
explicit comparisons.

"MacOS.version" is a special version object that can be compared to
numerics, symbols, and strings using the standard Ruby comparison
methods.

The old methods were moved to compat when the version comparison code
was merged, and they must remain there "forever", but they should not be
used in new code.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2012-09-10 16:16:54 -05:00

60 lines
1.8 KiB
Ruby

require 'formula'
class SwiProlog < Formula
homepage 'http://www.swi-prolog.org/'
url 'http://www.swi-prolog.org/download/stable/src/pl-6.0.2.tar.gz'
sha256 '9dbc4d3aef399204263f168583e54468078528bff75c48c7895ae3efe5499b75'
head 'git://www.swi-prolog.org/home/pl/git/pl.git'
option 'lite', "Disable all packages"
option 'with-jpl', "Enable JPL (Java Prolog Bridge)"
option 'with-xpce', "Enable XPCE (Prolog Native GUI Library)"
depends_on 'readline'
depends_on 'gmp'
if build.include? 'with-xpce'
depends_on 'pkg-config' => :build
depends_on :x11
depends_on 'jpeg'
end
# 10.5 versions of these are too old
if MacOS.version == :leopard
depends_on 'fontconfig'
depends_on 'expat'
end
fails_with :llvm do
build 2335
cause "Exported procedure chr_translate:chr_translate_line_info/3 is not defined"
end
def install
args = ["--prefix=#{prefix}", "--mandir=#{man}"]
ENV.append 'DISABLE_PKGS', "jpl" unless build.include? "with-jpl"
ENV.append 'DISABLE_PKGS', "xpce" unless build.include? 'with-xpce'
# SWI-Prolog's Makefiles don't add CPPFLAGS to the compile command, but do
# include CIFLAGS. Setting it here. Also, they clobber CFLAGS, so including
# the Homebrew-generated CFLAGS into COFLAGS here.
ENV['CIFLAGS'] = ENV['CPPFLAGS']
ENV['COFLAGS'] = ENV['CFLAGS']
# Build the packages unless --lite option specified
args << "--with-world" unless build.include? "lite"
# './prepare' prompts the user to build documentation
# (which requires other modules). '3' is the option
# to ignore documentation.
system "echo '3' | ./prepare" if build.head?
system "./configure", *args
system "make"
system "make install"
end
def test
system "#{bin}/swipl", "--version"
end
end