diff --git a/.github/workflows/ci_brew_opm-flow_resinsight_macos.yml b/.github/workflows/ci_brew_opm-flow_resinsight_macos.yml index 61ff6d2..2ea65e5 100644 --- a/.github/workflows/ci_brew_opm-flow_resinsight_macos.yml +++ b/.github/workflows/ci_brew_opm-flow_resinsight_macos.yml @@ -1,9 +1,6 @@ name: Install OPM Flow and ResInsight in macOS using brew on: - push: - branches: - - main pull_request: jobs: @@ -26,17 +23,18 @@ jobs: - name: Tap local Homebrew repo (PR version) run: | brew tap cssr-tools/opm $PWD - - - name: Install OPM Flow (from PR) - run: | - brew install opm-simulators - which flow + brew trust cssr-tools/opm - name: Install ResInsight (from PR) run: | - brew install resinsight + brew install resinsight -y which resinsight + - name: Install OPM Flow (from PR) + run: | + brew install opm-simulators -y + which flow + - name: Run OPM Flow (parallel) run: | curl -O https://raw.githubusercontent.com/OPM/opm-tests/master/spe1/SPE1CASE1.DATA diff --git a/README.md b/README.md index 2169e98..5139ac0 100644 --- a/README.md +++ b/README.md @@ -3,12 +3,14 @@ # Installing ResInsight and OPM Flow with support for mpirun in macOS using brew -This repository uses [_brew_](https://brew.sh) to build [_ResInsight_](https://resinsight.org) (v2025.12.0) and [_OPM Flow_](https://opm-project.org/?page_id=19) (v2026.04) in macOS Tahoe in GitHub Actions, showing the status and details of the build in the [_Actions_](https://github.com/cssr-tools/homebrew-opm/actions). +This repository uses [_brew_](https://brew.sh) to build [_ResInsight_](https://resinsight.org) (v2026.06.1) and [_OPM Flow_](https://opm-project.org/?page_id=19) (v2026.04) in macOS Tahoe in GitHub Actions, showing the status and details of the build in the [_Actions_](https://github.com/cssr-tools/homebrew-opm/actions). See [_this script_](https://github.com/cssr-tools/homebrew-opm/blob/main/.github/workflows/ci_brew_opm-flow_resinsight_macos.yml) that is run in GitHub actions. ```bash -brew install cssr-tools/opm/opm-simulators -brew install cssr-tools/opm/resinsight +brew tap cssr-tools/opm +brew trust cssr-tools/opm +brew install cssr-tools/opm/opm-simulators -y +brew install cssr-tools/opm/resinsight -y ``` After you execute the above lines, you can check if the installation of OPM Flow succeded by typing in the terminal `flow --help`, and ResInsight is launched by typing `resinsight`. diff --git a/open-zgy.patch b/open-zgy.patch deleted file mode 100644 index 26b2961..0000000 --- a/open-zgy.patch +++ /dev/null @@ -1,159 +0,0 @@ -diff --git a/native/src/exception.cpp b/native/src/exception.cpp -index bb6717c..666fa4e 100644 ---- a/native/src/exception.cpp -+++ b/native/src/exception.cpp -@@ -57,8 +57,9 @@ namespace { - buf[sizeof(buf)-1] = '\0'; - errstring = std::string(buf); - #else -- char *e = strerror_r(system_errno, buf, sizeof(buf)-1); -- errstring = std::string(e ? e : ""); -+ // char *e = strerror_r(system_errno, buf, sizeof(buf)-1); -+ // errstring = std::string(e ? e : ""); -+ errstring = "Unknown errno " + std::to_string(system_errno); - #endif - if (errstring.empty()) // should never happen; strerror should do it. - errstring = "Unknown errno " + std::to_string(system_errno); -diff --git a/native/src/impl/bulk.cpp b/native/src/impl/bulk.cpp -index d716501..72d8bcf 100644 ---- a/native/src/impl/bulk.cpp -+++ b/native/src/impl/bulk.cpp -@@ -146,7 +146,9 @@ - #include - #include - #include --#include -+inline int omp_get_max_threads() { return 1; } -+inline int omp_get_num_threads() { return 1; } -+inline int omp_get_thread_num() { return 0; } - #include - - namespace InternalZGY { -diff --git a/native/src/impl/edgebrick.h b/native/src/impl/edgebrick.h -index 97fc62d..b106d91 100644 ---- a/native/src/impl/edgebrick.h -+++ b/native/src/impl/edgebrick.h -@@ -68,9 +68,9 @@ public: - , roi_(roi) - , pos_{ (atend ? size[0] : 0), 0, 0 } - { -- for (int dim = 0; dim < 3; ++dim) -- if (roi[dim] < 0 || size[dim] < 0 || roi[dim] > size[dim]) -- throw OpenZGY::Errors::ZgyInternalError("Bad size in BrickIterator"); -+ // for (int dim = 0; dim < 3; ++dim) -+ // if (roi[dim] < 0 || size[dim] < 0 || roi[dim] > size[dim]) -+ // throw OpenZGY::Errors::ZgyInternalError("Bad size in BrickIterator"); - } - - reference operator*() const { return *data_ptr_; } -diff --git a/native/src/impl/file_sd.cpp b/native/src/impl/file_sd.cpp -index 08e82d8..a55f604 100644 ---- a/native/src/impl/file_sd.cpp -+++ b/native/src/impl/file_sd.cpp -@@ -41,7 +41,9 @@ - #include - #include - #include --#include -+inline int omp_get_max_threads() { return 1; } -+inline int omp_get_num_threads() { return 1; } -+inline int omp_get_thread_num() { return 0; } - - // It would have been nice to have similar include paths in Linux and Windows - // but that is a cosmetic issue only and it is only a problem in this file. -diff --git a/native/src/impl/mtguard.cpp b/native/src/impl/mtguard.cpp -index dcf1b01..e1a5a91 100644 ---- a/native/src/impl/mtguard.cpp -+++ b/native/src/impl/mtguard.cpp -@@ -17,7 +17,9 @@ - - #include - #include --#include -+inline int omp_get_max_threads() { return 1; } -+inline int omp_get_num_threads() { return 1; } -+inline int omp_get_thread_num() { return 0; } - - namespace { - /** -@@ -176,11 +178,11 @@ MTGuard::finished() { - */ - void - MTGuard::fail() { -- if (_errors.fetch_add(1) == 0) { -- _first_ex = std::current_exception(); -- if (!_first_ex) -- _first_ex = std::make_exception_ptr(std::runtime_error("fail() with no current exception.")); -- } -+ // if (_errors.fetch_add(1) == 0) { -+ // _first_ex = std::current_exception(); -+ // if (!_first_ex) -+ // _first_ex = std::make_exception_ptr(std::runtime_error("fail() with no current exception.")); -+ // } - } - - MTGuardWithProgress::MTGuardWithProgress(const progress_fn fn, std::int64_t total) -diff --git a/native/src/impl/workorder.cpp b/native/src/impl/workorder.cpp -index 3e42f93..a6d5745 100644 ---- a/native/src/impl/workorder.cpp -+++ b/native/src/impl/workorder.cpp -@@ -21,7 +21,9 @@ - #include - #include - #include --#include -+inline int omp_get_max_threads() { return 1; } -+inline int omp_get_num_threads() { return 1; } -+inline int omp_get_thread_num() { return 0; } - #include - #include - #include -@@ -654,12 +656,12 @@ WorkOrderTP::~WorkOrderTP() - */ - void - WorkOrderTP::fail() { -- if (errors_.fetch_add(1) == 0) { -- first_ex_ = std::current_exception(); -- if (!first_ex_) -- first_ex_ = std::make_exception_ptr -- (std::runtime_error("fail() with no current exception.")); -- } -+ // if (errors_.fetch_add(1) == 0) { -+ // first_ex_ = std::current_exception(); -+ // if (!first_ex_) -+ // first_ex_ = std::make_exception_ptr -+ // (std::runtime_error("fail() with no current exception.")); -+ // } - } - - void -diff --git a/native/src/tools/zgycopyc.cpp b/native/src/tools/zgycopyc.cpp -index 0be5de2..18b9580 100644 ---- a/native/src/tools/zgycopyc.cpp -+++ b/native/src/tools/zgycopyc.cpp -@@ -42,7 +42,9 @@ - #include - #include - #include --#include -+inline int omp_get_max_threads() { return 1; } -+inline int omp_get_num_threads() { return 1; } -+inline int omp_get_thread_num() { return 0; } - #include - #include - #include -diff --git a/wrapper/wrappermodule.cpp b/wrapper/wrappermodule.cpp -index d152332..d4540bf 100644 ---- a/wrapper/wrappermodule.cpp -+++ b/wrapper/wrappermodule.cpp -@@ -51,7 +51,9 @@ - - #include - #include --#include -+inline int omp_get_max_threads() { return 1; } -+inline int omp_get_num_threads() { return 1; } -+inline int omp_get_thread_num() { return 0; } - #include - #include - #include diff --git a/opm-common.rb b/opm-common.rb index b179849..3970ac5 100644 --- a/opm-common.rb +++ b/opm-common.rb @@ -26,6 +26,8 @@ class OpmCommon < Formula depends_on "pybind11" def install + inreplace buildpath/"opm/input/eclipse/EclipseState/InitConfig/Equil.cpp", "#include ", "#include " + inreplace buildpath/"opm/input/eclipse/Schedule/Group/GuideRate.cpp", "#include ", "#include " mkdir "build" do system "cmake", "..", *std_cmake_args, "-DWITH_NDEBUG=1", diff --git a/resinsight.patch b/resinsight.patch deleted file mode 100644 index 869c259..0000000 --- a/resinsight.patch +++ /dev/null @@ -1,331 +0,0 @@ -diff --git a/ApplicationExeCode/RiaMainTools.cpp b/ApplicationExeCode/RiaMainTools.cpp -index c110b1c17..37f7b3cb5 100644 ---- a/ApplicationExeCode/RiaMainTools.cpp -+++ b/ApplicationExeCode/RiaMainTools.cpp -@@ -31,28 +31,46 @@ - - #include - --#include -+#include -+ -+#if __has_include() -+ #include -+ #define HAVE_STD_STACKTRACE 1 -+#else -+ #define HAVE_STD_STACKTRACE 0 -+#endif - - namespace internal - { - // Custom formatter for stacktrace --std::string formatStacktrace( const std::stacktrace& st ) -+std::string formatStacktrace( -+#if HAVE_STD_STACKTRACE -+ const std::stacktrace& st -+#else -+ const void* /*unused*/ -+#endif -+) - { - std::stringstream ss; -+#if HAVE_STD_STACKTRACE - int frame = 0; - for ( const auto& entry : st ) - { - ss << " [" << frame++ << "] " << entry.description() << " at " << entry.source_file() << ":" - << entry.source_line() << "\n"; - } -+#else -+ ss << "std::stacktrace is not supported on this compiler\n"; -+#endif - return ss.str(); - } -+ - } // namespace internal - - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- --void manageSegFailure( int signalCode ) -+void manageSegFailure(int signalCode) - { - // Executing function here is not safe, but works as expected on Windows. Behavior on Linux is undefined, but will - // work in some cases. -@@ -70,10 +88,14 @@ void manageSegFailure( int signalCode ) - - fileLogger->error( str.toStdString().data() ); - -+#if HAVE_STD_STACKTRACE - auto st = std::stacktrace::current(); - std::string message = "Stack trace:\n" + internal::formatStacktrace( st ); -- logger->error( message.data() ); -+#else -+ std::string message = "Stack trace:\nstd::stacktrace is not supported on this compiler\n"; -+#endif - -+ logger->error(message.data()); - fileLogger->flush(); - } - } -diff --git a/ApplicationLibCode/FileInterface/RifArrowTools.cpp b/ApplicationLibCode/FileInterface/RifArrowTools.cpp -index b9661c829..f3233a003 100644 ---- a/ApplicationLibCode/FileInterface/RifArrowTools.cpp -+++ b/ApplicationLibCode/FileInterface/RifArrowTools.cpp -@@ -34,7 +34,7 @@ QString RifArrowTools::readFirstRowsOfTable( const QByteArray& contents ) - - // Open Parquet file reader - std::unique_ptr arrow_reader; -- if ( !parquet::arrow::OpenFile( input, pool, &arrow_reader ).ok() ) -+ if ( !parquet::arrow::OpenFile( input, pool ).ok() ) - { - return {}; - } -diff --git a/ApplicationLibCode/FileInterface/RifOsduWellLogReader.cpp b/ApplicationLibCode/FileInterface/RifOsduWellLogReader.cpp -index 31c98527b..350c4a464 100644 ---- a/ApplicationLibCode/FileInterface/RifOsduWellLogReader.cpp -+++ b/ApplicationLibCode/FileInterface/RifOsduWellLogReader.cpp -@@ -46,7 +46,7 @@ std::pair, QString> RifOsduWellLogReader::readWellL - - // Open Parquet file reader - std::unique_ptr arrow_reader; -- if ( !parquet::arrow::OpenFile( input, pool, &arrow_reader ).ok() ) -+ if ( !parquet::arrow::OpenFile( input, pool ).ok() ) - { - return { nullptr, "Unable to read parquet data." }; - } -diff --git a/ApplicationLibCode/FileInterface/RifOsduWellPathReader.cpp b/ApplicationLibCode/FileInterface/RifOsduWellPathReader.cpp -index df8ec4e98..c84760c2d 100644 ---- a/ApplicationLibCode/FileInterface/RifOsduWellPathReader.cpp -+++ b/ApplicationLibCode/FileInterface/RifOsduWellPathReader.cpp -@@ -117,7 +117,7 @@ std::pair, QString> RifOsduWellPathReader::readWellPathDat - - // Open Parquet file reader - std::unique_ptr arrow_reader; -- if ( !parquet::arrow::OpenFile( input, pool, &arrow_reader ).ok() ) -+ if ( !parquet::arrow::OpenFile( input, pool ).ok() ) - { - return { nullptr, "Unable to read parquet data." }; - } -diff --git a/ApplicationLibCode/FileInterface/RifVtkImportUtil.cpp b/ApplicationLibCode/FileInterface/RifVtkImportUtil.cpp -index e16c113d5..39c80ea04 100644 ---- a/ApplicationLibCode/FileInterface/RifVtkImportUtil.cpp -+++ b/ApplicationLibCode/FileInterface/RifVtkImportUtil.cpp -@@ -21,7 +21,6 @@ - #include "RiaStdStringTools.h" - - #include --#include - #include - #include - #include -@@ -178,46 +177,106 @@ std::vector RifVtkImportUtil::parsePvdDatasets( co - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- --std::vector RifVtkImportUtil::parseVec3ds( std::string_view text ) -+std::vector RifVtkImportUtil::parseVec3ds(std::string_view text) - { -- std::ispanstream iss( text ); -- - std::vector vecs; - -- std::string xStr, yStr, zStr; -- while ( iss >> xStr >> yStr >> zStr ) -+ while (!text.empty()) - { -+ // Trim leading whitespace -+ while (!text.empty() && std::isspace(static_cast(text.front()))) -+ text.remove_prefix(1); -+ -+ // Extract three tokens -+ auto read_token = [&](std::string_view& sv) -> std::string_view { -+ size_t i = 0; -+ while (i < sv.size() && !std::isspace(static_cast(sv[i]))) -+ ++i; -+ std::string_view tok = sv.substr(0, i); -+ sv.remove_prefix(i); -+ return tok; -+ }; -+ -+ if (text.empty()) -+ break; -+ -+ auto xs = read_token(text); -+ auto ys = read_token(text); -+ auto zs = read_token(text); -+ - double x, y, z; -- if ( !RiaStdStringTools::toDouble( xStr, x ) || !RiaStdStringTools::toDouble( yStr, y ) || !RiaStdStringTools::toDouble( zStr, z ) ) -+ if (!RiaStdStringTools::toDouble(xs, x) || -+ !RiaStdStringTools::toDouble(ys, y) || -+ !RiaStdStringTools::toDouble(zs, z)) - { - return {}; - } - -- vecs.emplace_back( x, y, z ); -+ vecs.emplace_back(x, y, z); - } - - return vecs; - } - -+ - //-------------------------------------------------------------------------------------------------- - /// - //-------------------------------------------------------------------------------------------------- --std::vector RifVtkImportUtil::parseVec3fs( std::string_view text ) -+std::vector RifVtkImportUtil::parseVec3fs(std::string_view text) - { -- std::ispanstream iss( text ); -- - std::vector vecs; - -- std::string xStr, yStr, zStr; -- while ( iss >> xStr >> yStr >> zStr ) -+ auto trim_left = [](std::string_view& sv) { -+ while (!sv.empty() && -+ std::isspace(static_cast(sv.front()))) -+ { -+ sv.remove_prefix(1); -+ } -+ }; -+ -+ auto read_token = [&](std::string_view& sv) -> std::string_view { -+ trim_left(sv); -+ if (sv.empty()) -+ return {}; -+ -+ size_t i = 0; -+ while (i < sv.size() && -+ !std::isspace(static_cast(sv[i]))) -+ { -+ ++i; -+ } -+ -+ std::string_view tok = sv.substr(0, i); -+ sv.remove_prefix(i); -+ return tok; -+ }; -+ -+ while (true) - { -+ trim_left(text); -+ if (text.empty()) -+ break; -+ -+ std::string_view xs = read_token(text); -+ std::string_view ys = read_token(text); -+ std::string_view zs = read_token(text); -+ -+ if (xs.empty() || ys.empty() || zs.empty()) -+ break; -+ - double x, y, z; -- if ( !RiaStdStringTools::toDouble( xStr, x ) || !RiaStdStringTools::toDouble( yStr, y ) || !RiaStdStringTools::toDouble( zStr, z ) ) -+ if (!RiaStdStringTools::toDouble(xs, x) || -+ !RiaStdStringTools::toDouble(ys, y) || -+ !RiaStdStringTools::toDouble(zs, z)) - { - return {}; - } - -- vecs.emplace_back( static_cast( x ), static_cast( y ), static_cast( z ) ); -+ vecs.emplace_back( -+ static_cast(x), -+ static_cast(y), -+ static_cast(z) -+ ); - } - - return vecs; -diff --git a/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp b/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp -index c42126034..9f55b86bc 100644 ---- a/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp -+++ b/ApplicationLibCode/ProjectDataModel/Summary/Sumo/RimSummaryEnsembleSumo.cpp -@@ -161,7 +161,7 @@ std::shared_ptr RimSummaryEnsembleSumo::readParquetTable( const QB - - std::shared_ptr table; - std::unique_ptr arrow_reader; -- if ( auto openResult = parquet::arrow::OpenFile( input, pool, &arrow_reader ); openResult.ok() ) -+ if ( auto openResult = parquet::arrow::OpenFile( input, pool ); openResult.ok() ) - { - if ( auto readResult = arrow_reader->ReadTable( &table ); readResult.ok() ) - { -@@ -176,7 +176,7 @@ std::shared_ptr RimSummaryEnsembleSumo::readParquetTable( const QB - else - { - RiaLogging::warning( -- QString( "Parquet: Not able to open data stream. Message: %1" ).arg( QString::fromStdString( openResult.ToString() ) ) ); -+ QString( "Parquet: Not able to open data stream." )); - } - - return table; -diff --git a/ApplicationLibCode/UnitTests/RifParquetReader-Test.cpp b/ApplicationLibCode/UnitTests/RifParquetReader-Test.cpp -index 0a88dee51..4e83f5f05 100644 ---- a/ApplicationLibCode/UnitTests/RifParquetReader-Test.cpp -+++ b/ApplicationLibCode/UnitTests/RifParquetReader-Test.cpp -@@ -32,7 +32,7 @@ TEST( RifParquetReaderTest, ReadValidFile ) - - // Open Parquet file reader - std::unique_ptr arrow_reader; -- EXPECT_TRUE( parquet::arrow::OpenFile( input, pool, &arrow_reader ).ok() ); -+ EXPECT_TRUE( parquet::arrow::OpenFile( input, pool ).ok() ); - - // Read entire file as a single Arrow table - std::shared_ptr table; -diff --git a/ApplicationLibCode/UserInterface/RiuMainWindow.cpp b/ApplicationLibCode/UserInterface/RiuMainWindow.cpp -index af2a1579c..f3dca7e0e 100644 ---- a/ApplicationLibCode/UserInterface/RiuMainWindow.cpp -+++ b/ApplicationLibCode/UserInterface/RiuMainWindow.cpp -@@ -147,6 +147,9 @@ RiuMainWindow::RiuMainWindow() - createMenus(); - createToolBars(); - createDockPanels(); -+ // Pre-populate the Windows menu so it is not empty on creation. On macOS, the native menu bar -+ // hides empty menus, preventing the aboutToShow signal from ever firing. -+ slotBuildWindowActions(); - - setAcceptDrops( true ); - -diff --git a/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp b/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp -index f5b26a49f..52904a825 100644 ---- a/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp -+++ b/ApplicationLibCode/UserInterface/RiuPlotMainWindow.cpp -@@ -132,6 +132,9 @@ RiuPlotMainWindow::RiuPlotMainWindow() - createMenus(); - createToolBars(); - createDockPanels(); -+ // Pre-populate the Windows menu so it is not empty on creation. On macOS, the native menu bar -+ // hides empty menus, preventing the aboutToShow signal from ever firing. -+ slotBuildWindowActions(); - - setAcceptDrops( true ); - -diff --git a/ThirdParty/NRLib/CMakeLists.txt b/ThirdParty/NRLib/CMakeLists.txt -index 858365e8a..f9c700e3e 100644 ---- a/ThirdParty/NRLib/CMakeLists.txt -+++ b/ThirdParty/NRLib/CMakeLists.txt -@@ -37,7 +37,7 @@ target_include_directories(${PROJECT_NAME} - ${CMAKE_CURRENT_SOURCE_DIR}/nrlib/well - ) - --find_package(Boost REQUIRED filesystem system) -+find_package(Boost REQUIRED filesystem) - - target_link_libraries(${PROJECT_NAME} - Boost::filesystem -diff --git a/ThirdParty/custom-opm-flowdiag-app/CMakeLists.txt b/ThirdParty/custom-opm-flowdiag-app/CMakeLists.txt -index c9f65024e..ba6829571 100644 ---- a/ThirdParty/custom-opm-flowdiag-app/CMakeLists.txt -+++ b/ThirdParty/custom-opm-flowdiag-app/CMakeLists.txt -@@ -30,7 +30,7 @@ add_library(custom-opm-flowdiag-app - ${project_source_files_complete_path1} - ) - --find_package(Boost REQUIRED filesystem system) -+find_package(Boost REQUIRED filesystem) - - target_link_libraries(custom-opm-flowdiag-app - resdata diff --git a/resinsight.rb b/resinsight.rb index 53a5ba7..5ef040d 100644 --- a/resinsight.rb +++ b/resinsight.rb @@ -3,42 +3,39 @@ class Resinsight < Formula homepage "https://resinsight.org" url "https://github.com/OPM/ResInsight", using: :git, - tag: "v2025.12.0", - revision: "57430b5c6b1099d82e722e12ff087469a8d10d65" + tag: "v2026.06.1", + revision: "6913dfd3201deead2a60f818d33dfa1efc49a426" license "GPL-3.0-or-later" depends_on "pkg-config" => :build depends_on "cmake" => :build depends_on "apache-arrow" - depends_on "boost" depends_on "fast_float" + depends_on "nanoflann" depends_on "type-lite" - depends_on "llvm@20" + depends_on "clipper2" depends_on "pugixml" depends_on "spdlog" depends_on "libomp" + depends_on "boost" depends_on "eigen" depends_on "fmt" depends_on "qt" def install - ENV.prepend_path "PATH", Formula["llvm@20"].opt_bin + ENV["CC"] = "/usr/bin/clang" + ENV["CXX"] = "/usr/bin/clang++" items = Dir[".[!.]*"] + Dir["*"] tmp = buildpath/"tmp" mkdir tmp FileUtils.mv(items, tmp) system "git", "-C", tmp, "submodule", "update", "--init", "--recursive" - system "find", "tmp/ThirdParty/custom-opm-common", "-type", "f", "(", "-name", "*.cpp", "-o", "-name", "*.hpp", ")", "-exec", "sed", "-i", "", - "s|#include ", "#include \n#include " - system "git", "-C", tmp/"ThirdParty/openzgy/open-zgy", "apply", "#{Pathname.new(__FILE__).dirname}/open-zgy.patch" - system "git", "-C", tmp, "apply", "#{Pathname.new(__FILE__).dirname}/resinsight.patch" system "cmake", "-S", tmp, *std_cmake_args, "-DRESINSIGHT_USE_OPENMP=0", "-DRESINSIGHT_ENABLE_OPENVDS=0", "-DHOMEBREW_ALLOW_FETCHCONTENT=1", "-DCMAKE_POLICY_VERSION_MINIMUM=3.10", - "-DCMAKE_PREFIX_PATH=#{Formula["boost@1.85"].include}", "-DCMAKE_DISABLE_FIND_PACKAGE_OpenMP=1" + system "make" prefix.install "ResInsight.app" bin.write_exec_script "#{prefix}/ResInsight.app/Contents/MacOS/resinsight" diff --git a/trilinos.rb b/trilinos.rb index c782512..f339c0b 100644 --- a/trilinos.rb +++ b/trilinos.rb @@ -3,8 +3,8 @@ class Trilinos < Formula homepage "trilinos.org/" url "https://github.com/trilinos/Trilinos", using: :git, - tag: "trilinos-release-17-1-0", - revision: "6eff987504144a20ce3e94346a689306a8230705" + tag: "trilinos-release-17-1-1", + revision: "8e7286cc842cfb2a614f407e63dffd3e1fcea1bc" license "BSD-3-Clause" depends_on "cmake" => :build