11class Ice < Formula
22 desc "Comprehensive RPC framework"
33 homepage "https://zeroc.com"
4- url "https://github.com/zeroc-ice/ice/archive/refs/tags/v3.7.10 .tar.gz"
5- sha256 "b90e9015ca9124a9eadfdfc49c5fba24d3550c547f166f3c9b2b5914c00fb1df "
4+ url "https://github.com/zeroc-ice/ice/archive/refs/tags/v3.8.0 .tar.gz"
5+ sha256 "ec03e18b1bb0e83547744f3d0d0b73b60e5b497bed10de6f933b54525802a3cb "
66 license "GPL-2.0-only"
77
88 livecheck do
@@ -38,22 +38,8 @@ class Ice < Formula
3838 end
3939
4040 def install
41- extra_cxxflags = [ ]
42-
43- # Workaround for Xcode 16 (LLVM 17) Clang bug that causes:
44- # include/Ice/OutgoingAsync.h: error: declaration shadows a local variable [-Werror,-Wshadow-uncaptured-local]
45- # Ref: https://github.com/llvm/llvm-project/issues/81307
46- # Ref: https://github.com/llvm/llvm-project/issues/71976
47- extra_cxxflags << "-Wno-shadow-uncaptured-local" if DevelopmentTools . clang_build_version >= 1600
48-
49- # Workaround for macOS 26 SDK
50- extra_cxxflags << "-Wno-deprecated-declarations" if DevelopmentTools . clang_build_version >= 1700
51-
52- # Workaround for Xcode 26 (Clang 17)
53- extra_cxxflags << "-Wno-reserved-user-defined-literal" if DevelopmentTools . clang_build_version >= 1700
54-
55- unless extra_cxxflags . empty?
56- inreplace "config/Make.rules.Darwin" , "-Wdocumentation " , "\\ 0#{ extra_cxxflags . join ( " " ) } "
41+ if DevelopmentTools . clang_build_version < 1700
42+ inreplace "config/Makefile.rules.Darwin" , "-Wl,-max_default_common_align,0x4000" , ""
5743 end
5844
5945 args = [
@@ -62,33 +48,11 @@ def install
6248 "USR_DIR_INSTALL=yes" , # ensure slice and man files are installed to share
6349 "MCPP_HOME=#{ Formula [ "mcpp" ] . opt_prefix } " ,
6450 "LMDB_HOME=#{ Formula [ "lmdb" ] . opt_prefix } " ,
65- "CONFIGS=shared cpp11-shared xcodesdk cpp11-xcodesdk " ,
51+ "CONFIGS=all " ,
6652 "PLATFORMS=all" ,
67- "SKIP=slice2confluence" ,
6853 "LANGUAGES=cpp" ,
6954 ]
70-
71- # Fails with Xcode < 12.5
72- inreplace "cpp/include/Ice/Object.h" , /^#.+"-Wdeprecated-copy-dtor"+/ , "" if OS . mac? && MacOS . version <= :catalina
73-
7455 system "make" , "install" , *args
75-
76- # We install these binaries to libexec because they conflict with those
77- # installed along with the ice packages from PyPI, RubyGems and npm.
78- ( libexec /"bin" ) . mkpath
79- %w[ slice2py slice2rb slice2js ] . each do |r |
80- mv bin /r , libexec /"bin"
81- end
82- end
83-
84- def caveats
85- <<~EOS
86- slice2py, slice2js and slice2rb were installed in:
87-
88- #{ opt_libexec } /bin
89-
90- You may wish to add this directory to your PATH.
91- EOS
9256 end
9357
9458 test do
@@ -105,13 +69,13 @@ module Test
10569 port = free_port
10670
10771 ( testpath /"Test.cpp" ) . write <<~CPP
72+ #include "Hello.h"
10873 #include <Ice/Ice.h>
109- #include <Hello.h>
11074
11175 class HelloI : public Test::Hello
11276 {
11377 public:
114- virtual void sayHello(const Ice::Current&) override {}
78+ void sayHello(const Ice::Current&) override {}
11579 };
11680
11781 int main(int argc, char* argv[])
@@ -124,10 +88,10 @@ class HelloI : public Test::Hello
12488 }
12589 CPP
12690
127- system bin / " slice2cpp", "Hello.ice"
128- system ENV . cxx , "-DICE_CPP11_MAPPING " , "-std=c++11 " , "-c" , "-I#{ include } " , "-I. ", "Hello.cpp"
129- system ENV . cxx , "-DICE_CPP11_MAPPING " , "-std=c++11 " , "-c" , "-I#{ include } " , "-I. ", "Test.cpp"
130- system ENV . cxx , "-L#{ lib } " , "-o" , "test" , "Test.o" , "Hello.o" , "-lIce++11 " , "-pthread "
91+ system " #{ bin } / slice2cpp", "Hello.ice"
92+ system ENV . cxx , "clang++ " , "-std=c++20 " , "-c" , "-I#{ include } " , "Hello.cpp"
93+ system ENV . cxx , "clang++ " , "-std=c++20 " , "-c" , "-I#{ include } " , "Test.cpp"
94+ system ENV . cxx , "clang++" , " -L#{ lib } ", "-o" , "test" , "Test.o" , "Hello.o" , "-lIce" , "-lpthread "
13195 system "./test"
13296 end
13397end
0 commit comments