71 lines
3.2 KiB
Ruby
71 lines
3.2 KiB
Ruby
class Opencascade < Formula
|
|
desc "3D modeling and numerical simulation software for CAD/CAM/CAE"
|
|
homepage "https://dev.opencascade.org/"
|
|
url "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V7_5_3;sf=tgz"
|
|
version "7.5.3"
|
|
sha256 "cc3d3fd9f76526502c3d9025b651f45b034187430f231414c97dda756572410b"
|
|
license "LGPL-2.1-only"
|
|
|
|
# The first-party download page (https://dev.opencascade.org/release)
|
|
# references version 7.5.0 and hasn't been updated for later maintenance
|
|
# releases (e.g., 7.5.3, 7.5.2), so we check the Git tags instead. Release
|
|
# information is posted at https://dev.opencascade.org/forums/occt-releases
|
|
# but the text varies enough that we can't reliably match versions from it.
|
|
livecheck do
|
|
url "https://git.dev.opencascade.org/repos/occt.git"
|
|
regex(/^v?(\d+(?:[._]\d+)+(?:p\d+)?)$/i)
|
|
strategy :git do |tags, regex|
|
|
tags.map { |tag| tag[regex, 1]&.gsub("_", ".") }.compact
|
|
end
|
|
end
|
|
|
|
bottle do
|
|
sha256 cellar: :any, arm64_big_sur: "8952db5aa30f06b1a0bfb8dda92f4aee1d64559e5015796bac0b24f6555fdfef"
|
|
sha256 cellar: :any, big_sur: "26b5e960b52eb222a23419139b3b9eb28e8ae5908b2d611d9d4bd02d1aab08c1"
|
|
sha256 cellar: :any, catalina: "6d0a12b0f347117f2763274e30eb0b6002c47c830e1f5983ed7ce6295e586ed6"
|
|
end
|
|
|
|
depends_on "cmake" => :build
|
|
depends_on "doxygen" => :build
|
|
depends_on "rapidjson" => :build
|
|
depends_on "freeimage"
|
|
depends_on "freetype"
|
|
depends_on "tbb@2020"
|
|
depends_on "tcl-tk"
|
|
|
|
def install
|
|
tcltk = Formula["tcl-tk"]
|
|
system "cmake", ".",
|
|
"-DUSE_FREEIMAGE=ON",
|
|
"-DUSE_RAPIDJSON=ON",
|
|
"-DUSE_TBB=ON",
|
|
"-DINSTALL_DOC_Overview=ON",
|
|
"-D3RDPARTY_FREEIMAGE_DIR=#{Formula["freeimage"].opt_prefix}",
|
|
"-D3RDPARTY_FREETYPE_DIR=#{Formula["freetype"].opt_prefix}",
|
|
"-D3RDPARTY_RAPIDJSON_DIR=#{Formula["rapidjson"].opt_prefix}",
|
|
"-D3RDPARTY_RAPIDJSON_INCLUDE_DIR=#{Formula["rapidjson"].opt_include}",
|
|
"-D3RDPARTY_TBB_DIR=#{Formula["tbb@2020"].opt_prefix}",
|
|
"-D3RDPARTY_TCL_DIR:PATH=#{tcltk.opt_prefix}",
|
|
"-D3RDPARTY_TK_DIR:PATH=#{tcltk.opt_prefix}",
|
|
"-D3RDPARTY_TCL_INCLUDE_DIR:PATH=#{tcltk.opt_include}",
|
|
"-D3RDPARTY_TK_INCLUDE_DIR:PATH=#{tcltk.opt_include}",
|
|
"-D3RDPARTY_TCL_LIBRARY_DIR:PATH=#{tcltk.opt_lib}",
|
|
"-D3RDPARTY_TK_LIBRARY_DIR:PATH=#{tcltk.opt_lib}",
|
|
"-D3RDPARTY_TCL_LIBRARY:FILEPATH=#{tcltk.opt_lib}/libtcl#{tcltk.version.major_minor}.dylib",
|
|
"-D3RDPARTY_TK_LIBRARY:FILEPATH=#{tcltk.opt_lib}/libtk#{tcltk.version.major_minor}.dylib",
|
|
"-DCMAKE_INSTALL_RPATH:FILEPATH=#{lib}",
|
|
*std_cmake_args
|
|
system "make", "install"
|
|
|
|
bin.env_script_all_files(libexec/"bin", CASROOT: prefix)
|
|
|
|
# Some apps expect resources in legacy ${CASROOT}/src directory
|
|
prefix.install_symlink pkgshare/"resources" => "src"
|
|
end
|
|
|
|
test do
|
|
output = shell_output("#{bin}/DRAWEXE -c \"pload ALL\"")
|
|
assert_equal "1", output.chomp
|
|
end
|
|
end
|