79 lines
2.6 KiB
Ruby
79 lines
2.6 KiB
Ruby
class GnuCobol < Formula
|
|
desc "Implements much of the COBOL 85 and COBOL 2002 standards"
|
|
homepage "http://www.opencobol.org/"
|
|
revision 5
|
|
|
|
stable do
|
|
url "https://downloads.sourceforge.net/project/open-cobol/gnu-cobol/1.1/gnu-cobol-1.1.tar.gz"
|
|
sha256 "5cd6c99b2b1c82fd0c8fffbb350aaf255d484cde43cf5d9b92de1379343b3d7e"
|
|
|
|
fails_with :clang do
|
|
cause <<~EOS
|
|
Building with Clang configures GNU-COBOL to use Clang as its compiler,
|
|
which causes subsequent GNU-COBOL-based builds to fail.
|
|
EOS
|
|
end
|
|
end
|
|
|
|
bottle do
|
|
sha256 "d8d90339937363e53f4555e93d195d3c9d69f495876cfe975c320dbfbf130b8a" => :high_sierra
|
|
sha256 "af857363783841c39c355677f7ef68f68239cfa66e4f31e9105d6399c30fc957" => :sierra
|
|
sha256 "580728d788d7e3a818a8d50d945ca4c7dafacbfa8eecd78d0fac364d63c0657e" => :el_capitan
|
|
sha256 "ec0481e921b59ac386a1e2a1266cb86b671a82fa466e6478f8581f4f2b114881" => :yosemite
|
|
end
|
|
|
|
devel do
|
|
version "2.0_nightly_r658"
|
|
url "https://downloads.sourceforge.net/project/open-cobol/gnu-cobol/2.0/gnu-cobol-2.0_nightly_r658.tar.gz"
|
|
sha256 "0a210d10624a53904871526afd69a6bef9feab40c2766386f74477598a313ae8"
|
|
end
|
|
|
|
depends_on "autoconf" => :build
|
|
depends_on "automake" => :build
|
|
depends_on "berkeley-db"
|
|
depends_on "gmp"
|
|
depends_on "gcc"
|
|
|
|
conflicts_with "open-cobol",
|
|
:because => "both install `cob-config`, `cobc` and `cobcrun` binaries"
|
|
|
|
def install
|
|
# both environment variables are needed to be set
|
|
# the cobol compiler takes these variables for calling cc during its run
|
|
# if the paths to gmp and bdb are not provided, the run of cobc fails
|
|
gmp = Formula["gmp"]
|
|
bdb = Formula["berkeley-db"]
|
|
ENV.append "CPPFLAGS", "-I#{gmp.opt_include} -I#{bdb.opt_include}"
|
|
ENV.append "LDFLAGS", "-L#{gmp.opt_lib} -L#{bdb.opt_lib}"
|
|
|
|
args = ["--prefix=#{prefix}", "--infodir=#{info}"]
|
|
args << "--with-libiconv-prefix=/usr"
|
|
args << "--with-libintl-prefix=/usr"
|
|
|
|
if build.stable?
|
|
system "aclocal"
|
|
|
|
# fix referencing of libintl and libiconv for ld
|
|
# bug report can be found here: https://sourceforge.net/p/open-cobol/bugs/93/
|
|
inreplace "configure", "-R$found_dir", "-L$found_dir"
|
|
|
|
args << "--with-cc=#{ENV.cc}"
|
|
end
|
|
|
|
system "./configure", *args
|
|
system "make", "install"
|
|
end
|
|
|
|
test do
|
|
(testpath/"hello.cob").write <<~EOS
|
|
* COBOL must be indented
|
|
000001 IDENTIFICATION DIVISION.
|
|
000002 PROGRAM-ID. hello.
|
|
000003 PROCEDURE DIVISION.
|
|
000004 DISPLAY "Hello World!".
|
|
000005 STOP RUN.
|
|
EOS
|
|
system "#{bin}/cobc", "-x", testpath/"hello.cob"
|
|
system testpath/"hello"
|
|
end
|
|
end
|