53473b6bf5
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>
60 lines
1.8 KiB
Ruby
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
|