diff --git a/compiler-cpp-src-thrift-generator.patch b/compiler-cpp-src-thrift-generator.patch deleted file mode 100644 index d1b7692..0000000 --- a/compiler-cpp-src-thrift-generator.patch +++ /dev/null @@ -1,553 +0,0 @@ ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_xml_generator.cc.orig 2025-08-04 14:38:17.848945376 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_xml_generator.cc 2025-08-04 15:37:52.156774966 -0400 -@@ -17,6 +17,7 @@ - * under the License. - */ - -+#include - #include - #include - #include -@@ -84,6 +85,7 @@ - void init_generator() override; - void close_generator() override; - std::string display_name() const override; -+ std::string xml_autogen_comment(); - - void generate_program() override; - -@@ -149,12 +151,13 @@ - void write_element_string(string name, string value); - void write_value(t_type* tvalue); - void write_const_value(t_const_value* value); -- virtual std::string xml_autogen_comment() { -- return std::string("\n") + " * Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" -- + " *\n" + " * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n"; -- } - }; - -+std::string t_xml_generator::xml_autogen_comment() { -+ return std::string("'") + "Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" + "\n" -+ + "DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" + "'!\n"; -+} -+ - void t_xml_generator::init_generator() { - MKDIR(get_out_dir().c_str()); - ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_delphi_generator.cc.orig 2025-08-05 07:22:28.924176865 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_delphi_generator.cc 2025-08-05 07:25:26.650236588 -0400 -@@ -371,11 +371,7 @@ - void write_struct(std::string line); - void write_service(std::string line); - -- std::string autogen_comment() override { -- return std::string("(**\n") + " * Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" -- + " *\n" + " * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" -- + " *)\n"; -- } -+ std::string delphi_autogen_comment(); - - string replace_all(string contents, string search, string replace); - string xml_encode(string contents); -@@ -490,6 +486,11 @@ - std::ostream& indent_impl(std::ostream& os) { return os << indent_impl(); }; - }; - -+std::string t_delphi_generator::delphi_autogen_comment() { -+ return std::string("(**\n") + " * Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" -+ + " *\n" + " * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n *)\n"; -+ } -+ - string t_delphi_generator::replace_all(string contents, string search, string repl) { - string str(contents); - -@@ -722,7 +723,7 @@ - - f_all.open(f_name); - -- f_all << autogen_comment() << endl; -+ f_all << delphi_autogen_comment() << endl; - generate_delphi_doc(f_all, program_); - f_all << "unit " << unitname << ";" << endl << endl; - f_all << "{$WARN SYMBOL_DEPRECATED OFF}" << endl; ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_haxe_generator.cc.orig 2025-08-05 08:00:57.821921061 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_haxe_generator.cc 2025-08-05 08:29:16.248683254 -0400 -@@ -313,19 +313,19 @@ - * - * @return List of imports for haxe types that are used in here - */ --string t_haxe_generator::haxe_type_imports() { -- return string() -- + "import org.apache.thrift.helper.*;\n" -- + "import haxe.io.Bytes;\n" -- + "import haxe.ds.IntMap;\n" -- + "import haxe.ds.StringMap;\n" -- + "import haxe.ds.ObjectMap;\n" -- + "import org.apache.thrift.helper.ObjectSet;\n" -- + "\n" -- + "#if flash\n" -- + "import flash.errors.ArgumentError;\n" -- + "#end\n" -- + "\n"; -+std::string t_haxe_generator::haxe_type_imports() { -+ return std::string( -+ "import org.apache.thrift.helper.*;\n" -+ "import haxe.io.Bytes;\n" -+ "import haxe.ds.IntMap;\n" -+ "import haxe.ds.StringMap;\n" -+ "import haxe.ds.ObjectMap;\n" -+ "import org.apache.thrift.helper.ObjectSet;\n" -+ "\n" -+ "#if flash\n" -+ "import flash.errors.ArgumentError;\n" -+ "#end\n" -+ "\n"); - } - - /** -@@ -333,12 +333,12 @@ - * - * @return List of imports necessary for thrift - */ --string t_haxe_generator::haxe_thrift_imports() { -- return string() -- + "import org.apache.thrift.*;\n" -- + "import org.apache.thrift.meta_data.*;\n" -- + "import org.apache.thrift.protocol.*;\n" -- + "\n"; -+std::string t_haxe_generator::haxe_thrift_imports() { -+ return std::string( -+ "import org.apache.thrift.*;\n" -+ "import org.apache.thrift.meta_data.*;\n" -+ "import org.apache.thrift.protocol.*;\n" -+ "\n"); - } - - /** -@@ -346,7 +346,7 @@ - * - * @return List of imports necessary for a given t_struct - */ --string t_haxe_generator::haxe_thrift_gen_imports(t_struct* tstruct, string& imports) { -+std::string t_haxe_generator::haxe_thrift_gen_imports(t_struct* tstruct, std::string& imports) { - - const vector& members = tstruct->get_members(); - vector::const_iterator m_iter; -@@ -355,7 +355,7 @@ - for (m_iter = members.begin(); m_iter != members.end(); ++m_iter) { - t_program* program = (*m_iter)->get_type()->get_program(); - if (program != nullptr && program != program_) { -- string package = make_package_name( program->get_namespace("haxe")); -+ std::string package = make_package_name( program->get_namespace("haxe")); - if (!package.empty()) { - if (imports.find(package + "." + (*m_iter)->get_type()->get_name()) == string::npos) { - imports.append("import " + package + "." + get_cap_name((*m_iter)->get_type()->get_name()) + ";\n"); -@@ -371,8 +371,8 @@ - * - * @return List of imports necessary for a given t_service - */ --string t_haxe_generator::haxe_thrift_gen_imports(t_service* tservice) { -- string imports; -+std::string t_haxe_generator::haxe_thrift_gen_imports(t_service* tservice) { -+ std::string imports; - const vector& functions = tservice->get_functions(); - vector::const_iterator f_iter; - -@@ -380,7 +380,7 @@ - for (f_iter = functions.begin(); f_iter != functions.end(); ++f_iter) { - t_program* program = (*f_iter)->get_returntype()->get_program(); - if (program != nullptr && program != program_) { -- string package = make_package_name( program->get_namespace("haxe")); -+ std::string package = make_package_name( program->get_namespace("haxe")); - if (!package.empty()) { - if (imports.find(package + "." + (*f_iter)->get_returntype()->get_name()) == string::npos) { - imports.append("import " + package + "." + get_cap_name((*f_iter)->get_returntype()->get_name())+ ";\n"); -@@ -419,7 +419,7 @@ - */ - void t_haxe_generator::generate_enum(t_enum* tenum) { - // Make output file -- string f_enum_name = package_dir_ + "/" + get_cap_name(tenum->get_name()) + ".hx"; -+ std::string f_enum_name = package_dir_ + "/" + get_cap_name(tenum->get_name()) + ".hx"; - ofstream_with_content_based_conditional_update f_enum; - f_enum.open(f_enum_name.c_str()); - -@@ -481,7 +481,7 @@ - return; - } - -- string f_consts_name = package_dir_ + "/" + get_cap_name(program_name_) + "Constants.hx"; -+ std::string f_consts_name = package_dir_ + "/" + get_cap_name(program_name_) + "Constants.hx"; - ofstream_with_content_based_conditional_update f_consts; - f_consts.open(f_consts_name.c_str()); - -@@ -509,7 +509,7 @@ - } - - void t_haxe_generator::print_const_value(std::ostream& out, -- string name, -+ std::string name, - t_type* type, - t_const_value* value) { - type = get_true_type(type); ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_generator.h.orig 2025-08-05 08:54:30.790114246 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_generator.h 2025-08-05 08:56:23.064220140 -0400 -@@ -207,9 +207,7 @@ - + " * @generated\n" + " */\n"; - } - -- virtual std::string autogen_summary() { -- return std::string("Autogenerated by Thrift Compiler (") + THRIFT_VERSION + ")"; -- } -+ std::string autogen_summary(); - - /** - * Indentation level modifiers ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_st_generator.cc.orig 2025-08-05 07:41:50.871944030 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_st_generator.cc 2025-08-05 13:02:16.075895211 -0400 -@@ -212,9 +212,9 @@ - /** - * Autogen'd comment - */ --string t_st_generator::st_autogen_comment() { -- return std::string("'") + "Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" + "\n" -- + "DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" + "'!\n"; -+std::string t_st_generator::st_autogen_comment() { -+ return std::string("'Autogenerated by Thrift Compiler (") + THRIFT_VERSION + ")\n" -+ + "DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n'!\n"; - } - - void t_st_generator::generate_force_consts() { ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_generator.cc.orig 2025-08-05 08:56:37.378978641 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_generator.cc 2025-08-05 14:52:28.171996778 -0400 -@@ -18,7 +18,15 @@ - */ - - #include "thrift/generate/t_generator.h" --using namespace std; -+using std::map; -+using std::ofstream; -+using std::ostream; -+using std::ostringstream; -+using std::string; -+using std::stringstream; -+using std::vector; -+using std::stack; -+using std::set; - - /** - * Top level program generation function. Calls the generator subclass methods -@@ -166,7 +174,7 @@ - const string& comment_end) { - if (!comment_start.empty()) - indent(out) << comment_start; -- stringstream docs(contents, ios_base::in); -+ std::stringstream docs(contents, std::ios_base::in); - while (!(docs.eof() || docs.fail())) { - char line[1024]; - docs.getline(line, 1024); -@@ -256,3 +264,12 @@ - : short_name_(short_name), long_name_(long_name), documentation_(documentation) { - t_generator_registry::register_generator(this); - } -+ -+std::string t_generator::autogen_summary() { -+ std::string summary; -+ summary.reserve(128); -+ summary += "\nAutogenerated by Thrift Compiler ("; -+ summary += THRIFT_VERSION; -+ summary += ")\n"; -+ return summary; -+} ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_ocaml_generator.cc.orig 2025-08-05 15:26:13.192881959 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_ocaml_generator.cc 2025-08-05 16:14:30.751712514 -0400 -@@ -147,7 +147,7 @@ - */ - - /** Need to disable codegen comment for unit tests to be version-agnostic */ -- virtual std::string ocaml_autogen_comment(); -+ std::string ocaml_autogen_comment(); - - std::string ocaml_imports(); - std::string type_name(t_type* ttype); -@@ -250,9 +250,14 @@ - /** - * Autogen'd comment - */ --string t_ocaml_generator::ocaml_autogen_comment() { -- return std::string("(*\n") + " Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" + "\n" -- + " DO NOT EDIT UNLESS YOU ARE SURE YOU KNOW WHAT YOU ARE DOING\n" + "*)\n"; -+std::string t_ocaml_generator::ocaml_autogen_comment() { -+ std::string comment; -+ comment.reserve(256); -+ comment += "(*\nAutogenerated by Thrift Compiler ("; -+ comment += THRIFT_VERSION; -+ comment += ")\n\n"; -+ comment += "DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n'*)\n"; -+ return comment; - } - - /** ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_erl_generator.cc.orig 2025-08-05 06:44:05.974173879 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_erl_generator.cc 2025-08-05 18:22:44.776857772 -0400 -@@ -327,10 +327,14 @@ - /** - * Autogen'd comment - */ --string t_erl_generator::erl_autogen_comment() { -- return std::string("%%\n") + "%% Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" -- + "%%\n" + "%% DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" -- + "%%\n"; -+std::string t_erl_generator::erl_autogen_comment() { -+ std::string comment; -+ comment.reserve(256); -+ comment += "%%\n%% Autogenerated by Thrift Compiler ("; -+ comment += THRIFT_VERSION; -+ comment += ")\n%%\n"; -+ comment += "%% DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n%%\n"; -+ return comment; - } - - /** ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_js_generator.cc.orig 2025-08-05 17:40:43.927226068 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_js_generator.cc 2025-08-05 18:41:15.771457833 -0400 -@@ -237,11 +237,7 @@ - void parse_imports(t_program* program, const std::string& imports_string); - void parse_thrift_package_output_directory(const std::string& thrift_package_output_directory); - -- std::string autogen_comment() override { -- return std::string("//\n") + "// Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" -- + "//\n" + "// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" -- + "//\n"; -- } -+ std::string autogen_comment(); - - t_type* get_contained_type(t_type* t); - -@@ -435,6 +431,16 @@ - ofstream_with_content_based_conditional_update f_service_ts_; - }; - -+std::string t_js_generator::autogen_comment() { -+ std::string comment; -+ comment.reserve(256); -+ comment += "//\n// Autogenerated by Thrift Compiler ("; -+ comment += THRIFT_VERSION; -+ comment += ")\n"; -+ comment += "//\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n"; -+ return comment; -+} -+ - /** - * Prepares for file generation by opening up the necessary file output - * streams. ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_go_generator.cc.orig 2025-08-05 08:36:19.359430996 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_go_generator.cc 2025-08-06 07:28:46.462692125 -0400 -@@ -679,24 +679,27 @@ - * Autogen'd comment. The different text is necessary due to - * https://github.com/golang/go/issues/13560#issuecomment-288457920 - */ --string t_go_generator::go_autogen_comment() { -- return -- std::string() + -- "// Code generated by Thrift Compiler (" + THRIFT_VERSION + "). DO NOT EDIT.\n\n"; -+std::string t_go_generator::go_autogen_comment() { -+ std::string comment; -+ comment.reserve(256); -+ comment += "// Autogenerated by Thrift Compiler ("; -+ comment += THRIFT_VERSION; -+ comment += ")\n\n// DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n//\n"; -+ return comment; - } - - /** - * Prints standard thrift package - */ --string t_go_generator::go_package() { -- return string("package ") + package_name_ + "\n\n"; -+std::string t_go_generator::go_package() { -+ return std::string("package ") + package_name_ + "\n\n"; - } - - /** - * Render the beginning of the import statement. - * If consts include the additional imports. - */ --string t_go_generator::go_imports_begin(bool consts) { -+std::string t_go_generator::go_imports_begin(bool consts) { - std::vector system_packages; - system_packages.push_back("bytes"); - system_packages.push_back("context"); -@@ -723,8 +726,8 @@ - * These "_ =" prevent the go compiler complaining about unused imports. - * This will have to do in lieu of more intelligent import statement construction - */ --string t_go_generator::go_imports_end() { -- string import_end = string( -+std::string t_go_generator::go_imports_end() { -+ std::string import_end = string( - ")\n\n" - "// (needed to ensure safety because of naive import list construction.)\n" - "var _ = bytes.Equal\n" ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_perl_generator.cc.orig 2025-08-05 06:49:45.658579711 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_perl_generator.cc 2025-08-06 07:50:36.953301418 -0400 -@@ -153,10 +153,7 @@ - std::string argument_list(t_struct* tstruct); - std::string type_to_enum(t_type* ttype); - -- std::string autogen_comment() override { -- return std::string("#\n") + "# Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" -- + "#\n" + "# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" + "#\n"; -- } -+ std::string perl_autogen_comment(); - - void perl_namespace_dirs(t_program* p, std::list& dirs) { - std::string ns = p->get_namespace("perl"); -@@ -217,6 +214,15 @@ - bool f_types_use_includes_emitted_; - }; - -+std::string t_perl_generator::perl_autogen_comment() { -+ std::string comment; -+ comment.reserve(256); -+ comment += "#\n# Autogenerated by Thrift Compiler ("; -+ comment += THRIFT_VERSION; -+ comment += ")\n#\n DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n#\n"; -+ return comment; -+} -+ - /** - * Prepares for file generation by opening up the necessary file output - * streams. -@@ -243,10 +249,10 @@ - f_consts_.open(f_consts_name.c_str()); - - // Print header -- f_types_ << autogen_comment() << perl_includes(); -+ f_types_ << perl_autogen_comment() << perl_includes(); - - // Print header -- f_consts_ << autogen_comment() << "package " << perl_namespace(program_) << "Constants;" << endl -+ f_consts_ << perl_autogen_comment() << "package " << perl_namespace(program_) << "Constants;" << endl - << perl_includes() << endl; - } - -@@ -675,7 +681,7 @@ - string f_service_name = get_namespace_out_dir() + service_name_ + ".pm"; - f_service_.open(f_service_name.c_str()); - -- f_service_ << autogen_comment() << perl_includes(); -+ f_service_ << perl_autogen_comment() << perl_includes(); - - bool done = false; - generate_use_includes(f_service_, done, tservice, true); ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_xsd_generator.cc.orig 2025-08-06 08:24:24.106666466 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_xsd_generator.cc 2025-08-06 08:27:46.233264170 -0400 -@@ -17,6 +17,7 @@ - * under the License. - */ - -+#include - #include - #include - #include -@@ -95,11 +96,7 @@ - std::string type_name(t_type* ttype); - std::string base_type_name(t_base_type::t_base tbase); - -- virtual std::string xml_autogen_comment() { -- return std::string("\n"; -- } -+ std::string xml_autogen_comment(); - - /** - * Output xsd/php file -@@ -113,6 +110,15 @@ - std::ostringstream s_xsd_types_; - }; - -+std::string t_xsd_generator::xml_autogen_comment() { -+ std::string comment; -+ comment.reserve(256); -+ comment += "\n"; -+ return comment; -+} -+ - void t_xsd_generator::init_generator() { - // Make output directory - MKDIR(get_out_dir().c_str()); ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_rb_generator.cc.orig 2025-08-05 06:52:06.709253127 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_rb_generator.cc 2025-08-06 08:46:59.505068090 -0400 -@@ -328,9 +328,13 @@ - /** - * Autogen'd comment - */ --string t_rb_generator::rb_autogen_comment() { -- return std::string("#\n") + "# Autogenerated by Thrift Compiler (" + THRIFT_VERSION + ")\n" -- + "#\n" + "# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" + "#\n"; -+std::string t_rb_generator::rb_autogen_comment() { -+ std::string comment; -+ comment.reserve(256); -+ comment += "#\n# Autogenerated by Thrift Compiler ("; -+ comment += THRIFT_VERSION; -+ comment += ")\n#\n#DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n#\n"; -+ return comment; - } - - /** ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_lua_generator.cc.orig 2025-08-06 08:53:27.475932591 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_lua_generator.cc 2025-08-06 08:57:37.135854100 -0400 -@@ -157,10 +157,11 @@ - static std::string get_namespace(const t_program* program); - - std::string autogen_comment() override { -- return std::string("--\n") + "-- Autogenerated by Thrift\n" + "--\n" -- + "-- DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" + "-- @" -- "generated\n" -- + "--\n"; -+ return std::string( -+ "--\n-- Autogenerated by Thrift\n--\n" -+ "-- DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING\n" -+ "-- @generated\n--\n" -+ ); - } - - /** ---- thrift-0.20.0/compiler/cpp/src/thrift/generate/t_javame_generator.cc.orig 2025-08-05 06:46:58.897327122 -0400 -+++ thrift-0.20.0/compiler/cpp/src/thrift/generate/t_javame_generator.cc 2025-08-06 09:24:15.878425693 -0400 -@@ -290,9 +290,12 @@ - * - * @return List of imports for Java types that are used in here - */ --string t_javame_generator::java_type_imports() { -- return string() + "import java.util.Hashtable;\n" + "import java.util.Vector;\n" -- + "import java.util.Enumeration;\n\n"; -+std::string t_javame_generator::java_type_imports() { -+ return std::string( -+ "import java.util.Hashtable;\n" -+ "import java.util.Vector;\n" -+ "import java.util.Enumeration;\n\n" -+ ); - } - - /** -@@ -300,9 +303,13 @@ - * - * @return List of imports necessary for thrift - */ --string t_javame_generator::java_thrift_imports() { -- return string() + "import org.apache.thrift.*;\n" + "import org.apache.thrift.meta_data.*;\n" -- + "import org.apache.thrift.transport.*;\n" + "import org.apache.thrift.protocol.*;\n\n"; -+std::string t_javame_generator::java_thrift_imports() { -+ return std::string( -+ "import org.apache.thrift.*;\n" -+ "import org.apache.thrift.meta_data.*;\n" -+ "import org.apache.thrift.transport.*;\n" -+ "import org.apache.thrift.protocol.*;\n\n" -+ ); - } - - /** diff --git a/gcc15.patch b/gcc15.patch new file mode 100644 index 0000000..2f3294c --- /dev/null +++ b/gcc15.patch @@ -0,0 +1,47 @@ +From 1920f04398ca32e320f6cf942534ba9d8b3231fd Mon Sep 17 00:00:00 2001 +From: Sutou Kouhei +Date: Mon, 23 Dec 2024 12:33:22 +0900 +Subject: [PATCH] THRIFT-5842: Add missing cstdint include for int64_t in + Mutex.h + +Client: cpp + +GCC 15 (not released yet) requires `#include ` for `int64_t` +but `lib/cpp/src/thrift/concurrency/Mutex.h` doesn't have it. So we +can't build Thrift with GCC 15: + + [80/359] Building CXX object lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o + FAILED: lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o + /bin/g++-15 -DBOOST_ALL_DYN_LINK -DBOOST_TEST_DYN_LINK -DTHRIFT_STATIC_DEFINE -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/kou/work/cpp/thrift.kou.build/lib/cpp -I/home/kou/work/cpp/thrift.kou/lib/cpp -I/home/kou/work/cpp/thrift.kou.build -I/home/kou/work/cpp/thrift.kou/lib/cpp/src -g -std=c++11 -MD -MT lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -MF lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o.d -o lib/cpp/CMakeFiles/thrift.dir/src/thrift/transport/TSSLServerSocket.cpp.o -c /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp + In file included from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TServerSocket.h:25, + from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.h:23, + from /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/transport/TSSLServerSocket.cpp:21: + /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:47:26: error: 'int64_t' has not been declared + 47 | virtual bool timedlock(int64_t milliseconds) const; + | ^~~~~~~ + /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:25:1: note: 'int64_t' is defined in header ''; this is probably fixable by adding '#include ' + 24 | #include + +++ |+#include + 25 | + /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: error: 'int64_t' has not been declared + 60 | Guard(const Mutex& value, int64_t timeout = 0) : mutex_(&value) { + | ^~~~~~~ + /home/kou/work/cpp/thrift.kou/lib/cpp/src/thrift/concurrency/Mutex.h:60:29: note: 'int64_t' is defined in header ''; this is probably fixable by adding '#include ' + +See also: https://github.com/apache/arrow/issues/45096 +--- + lib/cpp/src/thrift/concurrency/Mutex.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/lib/cpp/src/thrift/concurrency/Mutex.h b/lib/cpp/src/thrift/concurrency/Mutex.h +index 1e5c3fba37c..12f1729d6bf 100644 +--- a/lib/cpp/src/thrift/concurrency/Mutex.h ++++ b/lib/cpp/src/thrift/concurrency/Mutex.h +@@ -20,6 +20,7 @@ + #ifndef _THRIFT_CONCURRENCY_MUTEX_H_ + #define _THRIFT_CONCURRENCY_MUTEX_H_ 1 + ++#include + #include + #include + diff --git a/thrift.spec b/thrift.spec index a11350c..dc82a8e 100644 --- a/thrift.spec +++ b/thrift.spec @@ -71,7 +71,7 @@ # change is a SONAME change and dependencies need to be rebuilt Name: thrift Version: 0.20.0 -Release: 4%{?dist} +Release: 8%{?dist} Summary: Software framework for cross-language services development # Parts of the source are used under the BSD and zlib licenses, but @@ -90,8 +90,9 @@ Source1: https://repo1.maven.org/maven2/org/apache/thrift/lib%{name}/%{version}/ Source2: https://raw.github.com/apache/%{name}/%{version}/bootstrap.sh # fix configure.ac insistence on using /usr/local/lib for JAVA_PREFIX -Patch: configure-java-prefix.patch -Patch: compiler-cpp-src-thrift-generator.patch +Patch2: configure-java-prefix.patch +# fix build with GCC 15: https://github.com/apache/thrift/pull/3078 +Patch3: gcc15.patch # BuildRequires for language-specific bindings are listed under these @@ -448,8 +449,20 @@ find %{buildroot} -name \*.py -exec grep -q /usr/bin/env {} \; -print | xargs -r %changelog -* Wed Aug 6 2025 Kaleb S. KEITHLEY - 0.20.0-4 -- rebuild w/ fix for compiler strings +* Fri Sep 19 2025 Python Maint - 0.20.0-8 +- Rebuilt for Python 3.14.0rc3 bytecode + +* Fri Aug 15 2025 Python Maint - 0.20.0-7 +- Rebuilt for Python 3.14.0rc2 bytecode + +* Fri Jul 25 2025 Fedora Release Engineering - 0.20.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Jun 03 2025 Python Maint - 0.20.0-5 +- Rebuilt for Python 3.14 + +* Sun Jan 19 2025 Fedora Release Engineering - 0.20.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Sat Jul 20 2024 Fedora Release Engineering - 0.20.0-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild