56 lines
2.5 KiB
Ruby
56 lines
2.5 KiB
Ruby
class Eiffelstudio < Formula
|
|
desc "Development environment for the Eiffel language"
|
|
homepage "https://www.eiffel.com"
|
|
url "https://ftp.eiffel.com/pub/download/19.05/eiffelstudio-19.05.10.3187.tar"
|
|
sha256 "b5f883353405eb9ce834c50a863b3721b21c35950a226103e6d01d0101a932b3"
|
|
license "GPL-2.0"
|
|
|
|
bottle do
|
|
sha256 cellar: :any, arm64_monterey: "0e98c32215210bcb4d600b6ad37ecfc07679464fa1bab017ba97fdf92dd1c3f8"
|
|
sha256 cellar: :any, arm64_big_sur: "247ae6f6d6c9a15fb568d7a67150ed74f75b7718fff8391f746f5fae89adce54"
|
|
sha256 cellar: :any, monterey: "7c86824f5449c8306aef55e527b43ec3de6b7a7bb39b3d6a8e9c12999aa4db83"
|
|
sha256 cellar: :any, big_sur: "aeb6b50791dc52a1911e04309f88a37ffbc597ae077124cbcdd983366c2d02f7"
|
|
sha256 cellar: :any, catalina: "a75094bbba27a570e33d7efb5136526da56a8328c0177ad7ca4dff6e217ba49e"
|
|
sha256 cellar: :any, mojave: "8a7764d27dccc50a8bd8d34175591c90bd52ef8c3e3bf256a941cfccbd0e7f84"
|
|
sha256 cellar: :any, high_sierra: "1204b20cd8146aeb89dc15b904ee792cfe6dd7141bc30536beba436efa667cea"
|
|
sha256 cellar: :any, sierra: "4f8f7374ec1a2032334dd13ddf00d93b3feda22c75d884f7c0f8fe799f27643b"
|
|
sha256 cellar: :any_skip_relocation, x86_64_linux: "b55211f955c38a4db7852f19c03e81ee60c1178edb4d035a7730a1283f57252e"
|
|
end
|
|
|
|
depends_on "pkg-config" => :build
|
|
depends_on "gtk+"
|
|
|
|
uses_from_macos "pax" => :build
|
|
|
|
def install
|
|
# Fix flat namespace usage in C shared library.
|
|
if OS.mac?
|
|
system "tar", "xf", "c.tar.bz2"
|
|
inreplace "C/CONFIGS/macosx-x86-64", "-flat_namespace -undefined suppress", "-undefined dynamic_lookup"
|
|
system "tar", "cjf", "c.tar.bz2", "C"
|
|
end
|
|
|
|
os = OS.mac? ? "macosx" : OS.kernel_name.downcase
|
|
os_tag = "#{os}-x86-64"
|
|
system "./compile_exes", os_tag
|
|
system "./make_images", os_tag
|
|
prefix.install Dir["Eiffel_19.05/*"]
|
|
eiffel_env = { ISE_EIFFEL: prefix, ISE_PLATFORM: os_tag }
|
|
{
|
|
studio: %w[ec ecb estudio finish_freezing],
|
|
tools: %w[compile_all iron syntax_updater],
|
|
vision2_demo: %w[vision2_demo],
|
|
}.each do |subdir, targets|
|
|
targets.each do |target|
|
|
(bin/target).write_env_script prefix/subdir.to_s/"spec"/os_tag/"bin"/target, eiffel_env
|
|
end
|
|
end
|
|
end
|
|
|
|
test do
|
|
# More extensive testing requires the full test suite
|
|
# which is not part of this package.
|
|
system bin/"ec", "-version"
|
|
end
|
|
end
|