tebako 0.12.12 → 0.12.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cbeaa96ed5adc8b64a5b45221d29cbb3f5b54fda39a1cf6d8c5c5b2783325d1a
4
- data.tar.gz: d9caebc260d253d3331ceb1a8fdc44fa54afcd7e206039a10c41fad015bc0564
3
+ metadata.gz: e5dfbc9c8a17708a202aa333ed09c402b36b6d706f2887c388ff347c894b0aed
4
+ data.tar.gz: 0ada18f007357af9d5b3669d7978798b3ba75f8e7a33da21db54ef0d5aeb942b
5
5
  SHA512:
6
- metadata.gz: 2677f3e56a34f9733010fcc991c20bbd82ba4568f48a00128e0da4e143ff53193d6208d049af068143f91c85d32f06a0ea9d9529ac54505fe18f38f1746a15d5
7
- data.tar.gz: 1acc1c09d10b14f8bcf10f4a121d00dec596e797b733d40ada3e8a376c910b32ab1e8e24834addda583319fc62720db8debaa1ed75b8ebe79b52e331bc8febcf
6
+ metadata.gz: 862754c38a4a4cfaad4efb5d5b8ae17e8e710e4ff6207514dffa9b65f2254300dd545e526c19f3e7af4f716aa5f7c13f13ab75108ae300357d3d2e553f2552c1
7
+ data.tar.gz: 77a2252f8ee30c8c8ffaa1329f4ada031fc31b9e22e24228886d5a8a59c5e23da8894eea94233e0159f3d08e58ef6d3d7ead9ef25efc290d7ce593de65489400
data/CMakeLists.txt CHANGED
@@ -108,14 +108,15 @@ elseif("${OSTYPE_TXT}" MATCHES "^msys*" OR "${OSTYPE_TXT}" MATCHES "^cygwin*")
108
108
  set(RUBY_WITHOUT_EXT "dbm,syslog,pty,gdbm,readline,-test-/*")
109
109
  elseif("${OSTYPE_TXT}" MATCHES "^darwin.*")
110
110
  set(IS_DARWIN ON)
111
- if(${RUBY_VER} VERSION_LESS "3.1.0")
112
- set(OPENSSL_VER "1.1")
113
- else(${RUBY_VER} VERSION_LESS "3.1.0")
114
- set(OPENSSL_VER "3")
115
- endif(${RUBY_VER} VERSION_LESS "3.1.0")
116
- set(BUILD_OPENSSL_ROOT_DIR "${BREW_PREFIX}/opt/openssl@${OPENSSL_VER}")
117
111
  endif()
118
112
 
113
+ if(${RUBY_VER} VERSION_LESS "3.1.0")
114
+ set(OPENSSL_VER "1.1")
115
+ else(${RUBY_VER} VERSION_LESS "3.1.0")
116
+ set(OPENSSL_VER "3")
117
+ endif(${RUBY_VER} VERSION_LESS "3.1.0")
118
+
119
+
119
120
  if(IS_DARWIN)
120
121
  execute_process(
121
122
  COMMAND "sysctl" "-n" "hw.ncpu"
@@ -177,7 +178,7 @@ string(CONCAT RUBY_API_VER ${RUBY_VER_BASE} ".0")
177
178
  # list(GET LIBDWARFS_WR_VER_COMPONENTS 2 LIBDWARFS_WR_VER_PATCH)
178
179
  # set (LIBDWARFS_WR_VER_M ${LIBDWARFS_WR_VER_MAJOR}.${LIBDWARFS_WR_VER_MINOR}.${LIBDWARFS_WR_VER_PATCH})
179
180
  #else(DWARFS_PRELOAD)
180
- def_ext_prj_g(DWARFS_WR "v0.9.5")
181
+ def_ext_prj_g(DWARFS_WR "v0.9.6")
181
182
  #endif(DWARFS_PRELOAD)
182
183
 
183
184
  def_ext_prj_g(PATCHELF "65e14792061c298f1d2bc44becd48a10cbf0bc81")
@@ -288,6 +289,7 @@ else(DWARFS_PRELOAD)
288
289
  -DWITH_ASAN:BOOL=OFF
289
290
  -DWITH_COVERAGE:BOOL=OFF
290
291
  -DTEBAKO_BUILD_SCOPE=MKD
292
+ -DOPENSSL_VERSION=${OPENSSL_VER}
291
293
  -DRB_W32=${RB_W32}
292
294
  -GNinja
293
295
  BUILD_BYPRODUCTS ${__LIBDWARFS_WR}
@@ -335,6 +337,9 @@ if(IS_DARWIN)
335
337
  else(IS_DARWIN)
336
338
  if(IS_MUSL)
337
339
  string(CONCAT RUBY_C_FLAGS ${RUBY_C_FLAGS} " -DENABLE_PATH_CHECK=0")
340
+ if("${OPENSSL_VER}" EQUAL "1.1")
341
+ set(OPENSSL_RUBY_OPTION "--with-openssl-dir=${DEPS}")
342
+ endif("${OPENSSL_VER}" EQUAL "1.1")
338
343
  endif(IS_MUSL)
339
344
 
340
345
  if(RB_W32)
data/README.adoc CHANGED
@@ -104,7 +104,7 @@ higher.
104
104
  | 2.7.8 | Linux, macOS
105
105
  | 3.0.7 | Linux, macOS
106
106
  | 3.1.6 | Linux, macOS, Windows
107
- | 3.2.{4,5,6} | Linux, macOS, Windows
107
+ | 3.2.{4,5,6,7} | Linux, macOS, Windows
108
108
  | 3.3.{3,4,5,6,7} | Linux, macOS, Windows
109
109
  | 3.4.1 | Linux, macOS, Windows
110
110
 
@@ -781,7 +781,7 @@ the Tebako root folder (see details: <<root-folder-selection>>)
781
781
 
782
782
  `Ruby`::
783
783
  this parameter defines Ruby version that will be packaged (optional, defaults to
784
- `3.2.6`)
784
+ `3.3.7`)
785
785
 
786
786
  `project-root`::
787
787
  a folder at the host source file system where project files are located.
@@ -1092,7 +1092,7 @@ specified in Gemfile.
1092
1092
  | The version specified by `--Ruby` option if it is supported and satisfies Gemfile requirement; error otherwise
1093
1093
  | The minimal supported Ruby version that satisfies Gemfile requirement; error otherwise
1094
1094
  | *Not specified*
1095
- | The version specified by `--Ruby` option if it is supported; error otherwise | Default Tebako Ruby version (3.2.6).
1095
+ | The version specified by `--Ruby` option if it is supported; error otherwise | Default Tebako Ruby version (3.3.7).
1096
1096
 
1097
1097
  |===
1098
1098
 
data/common.env CHANGED
@@ -1,5 +1,5 @@
1
1
  BUILD_TYPE=Release
2
2
  DEPS=deps
3
3
  INCBIN_TAG=348e36b
4
- DWARFS_WR_TAG=v0.9.5
5
- RUBY_VER=3.2.6
4
+ DWARFS_WR_TAG=v0.9.6
5
+ RUBY_VER=3.3.7
@@ -68,7 +68,7 @@ module Tebako
68
68
  def deploy
69
69
  BuildHelpers.with_env(deploy_env) do
70
70
  update_rubygems
71
- system("#{gem_command} env") if @verbose
71
+ system("#{@gem_command} env") if @verbose
72
72
  install_gem("tebako-runtime")
73
73
  install_gem("bundler", @bundler_version) if @needs_bundler
74
74
  deploy_solution
@@ -236,7 +236,7 @@ module Tebako
236
236
  def msys_patches
237
237
  pm = msys_base_patches
238
238
 
239
- if @ruby_ver.ruby337?
239
+ if @ruby_ver.ruby3x7?
240
240
  # ....................................................
241
241
  # RUBY_EXTERN shall be extern for static build but is set to __declspec(dllimport) for encodin libarary
242
242
  pm.store("include/ruby/onigmo.h", INCLUDE_RUBY_ONIGMO_H_PATCH)
@@ -35,16 +35,6 @@ require_relative "patch_buildsystem"
35
35
  module Tebako
36
36
  # Packager module
37
37
  module Packager
38
- class << self
39
- def crt_pass2_patch(ostype, deps_lib_dir, ruby_ver)
40
- scmb = ScenarioManagerBase.new(ostype)
41
- if scmb.msys?
42
- Pass2MSysPatch.new(ostype, deps_lib_dir, ruby_ver)
43
- else
44
- Pass2NonMSysPatch.new(ostype, deps_lib_dir, ruby_ver)
45
- end
46
- end
47
- end
48
38
  # Ruby patching definitions (pass2)
49
39
  class Pass2Patch < Patch
50
40
  def initialize(ostype, deps_lib_dir, ruby_ver)
@@ -62,6 +52,12 @@ module Tebako
62
52
  pm
63
53
  end
64
54
 
55
+ protected
56
+
57
+ def io_c_patch
58
+ PatchHelpers.patch_c_file_pre("/* define system APIs */")
59
+ end
60
+
65
61
  private
66
62
 
67
63
  include Tebako::Packager::PatchBuildsystem
@@ -88,17 +84,6 @@ module Tebako
88
84
  patch
89
85
  end
90
86
 
91
- def io_c_msys_patch
92
- patch = @ruby_ver.ruby32? ? IO_C_MSYS_PATCH : IO_C_MSYS_PATCH_PRE_32
93
- patch.merge(IO_C_MSYS_BASE_PATCH)
94
- end
95
-
96
- def io_c_patch
97
- patch = PatchHelpers.patch_c_file_pre("/* define system APIs */")
98
- patch.merge!(io_c_msys_patch) if @scmb.msys?
99
- patch
100
- end
101
-
102
87
  def util_c_patch
103
88
  if @ruby_ver.ruby31?
104
89
  PatchHelpers.patch_c_file_post("#endif /* !HAVE_GNU_QSORT_R */")
@@ -140,69 +125,6 @@ module Tebako
140
125
  end
141
126
  end
142
127
 
143
- # Msys Pass2 patches
144
- class Pass2MSysPatch < Pass2Patch
145
- def patch_map
146
- pm = super
147
- pm.merge!(msys_patches)
148
- pm.store("config.status", get_config_status_patch(@ostype, @deps_lib_dir, @ruby_ver))
149
- pm
150
- end
151
-
152
- private
153
-
154
- include Tebako::Packager::PatchBuildsystem
155
- include Tebako::Packager::PatchLiterals
156
-
157
- # Other MSYS (GNUMakefile) specific patches
158
- # - The same issue with libraries as for Makefile above
159
- # - 'Kill' ruby.exp regeneration on pass2
160
- # since we want to use output from pass1 for implib generation
161
- # [VERY UGLY HACK]
162
- # - Introduce LIBRUBY dependency on static extensions
163
- # This is an addition to COMMON_MK_PATCH specified above
164
- def gnumakefile_in_patch_p2 # rubocop:disable Metrics/MethodLength
165
- objext = @ruby_ver.ruby32? ? "$(OBJEXT)" : "@OBJEXT@"
166
-
167
- {
168
- "$(Q) $(DLLWRAP) \\" => GNUMAKEFILE_IN_DLLTOOL_SUBST,
169
-
170
- "--output-exp=$(RUBY_EXP) \\" => "# tebako patched --output-exp=$(RUBY_EXP) \\",
171
-
172
- "--export-all $(LIBRUBY_A) $(LIBS) -o $(PROGRAM)" =>
173
- "# tebako patched --export-all $(LIBRUBY_A) $(LIBS) -o $(PROGRAM)",
174
-
175
- "@rm -f $(PROGRAM)" => "# tebako patched @rm -f $(PROGRAM)",
176
-
177
- " $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) dmyext.o $(SOLIBS) -o $(PROGRAM)" =>
178
- "# tebako patched $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) dmyext.o $(SOLIBS) -o $(PROGRAM)",
179
-
180
- "$(WPROGRAM): $(RUBYW_INSTALL_NAME).res.#{objext}" =>
181
- "$(WPROGRAM): $(RUBYW_INSTALL_NAME).res.#{objext} $(WINMAINOBJ) # tebako patched",
182
-
183
- "RUBYDEF = $(DLL_BASE_NAME).def" => GNUMAKEFILE_IN_WINMAIN_SUBST,
184
-
185
- "$(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@" =>
186
- "$(WINMAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) -o $@ # tebako patched",
187
-
188
- "$(RUBY_EXP): $(LIBRUBY_A)" => "dummy.exp: $(LIBRUBY_A) # tebako patched",
189
-
190
- "$(PROGRAM): $(RUBY_INSTALL_NAME).res.#{objext}" =>
191
- "$(PROGRAM): $(RUBY_INSTALL_NAME).res.#{objext} $(LIBRUBY_A) # tebako patched\n" \
192
- "$(LIBRUBY_A): $(LIBRUBY_A_OBJS) $(INITOBJS) # tebako patched\n"
193
- }
194
- end
195
-
196
- def msys_patches
197
- {
198
- "cygwin/GNUmakefile.in" => gnumakefile_in_patch_p2,
199
- "ruby.c" => RUBY_C_MSYS_PATCHES,
200
- "win32/file.c" => WIN32_FILE_C_MSYS_PATCHES,
201
- "win32/win32.c" => WIN32_WIN32_C_MSYS_PATCHES
202
- }
203
- end
204
- end
205
-
206
128
  # Non-msys Pass2 patches
207
129
  class Pass2NonMSysPatch < Pass2Patch
208
130
  def patch_map
@@ -212,7 +134,6 @@ module Tebako
212
134
  pm
213
135
  end
214
136
 
215
- include Tebako::Packager::PatchBuildsystem
216
137
  include Tebako::Packager::PatchLiterals
217
138
  end
218
139
  end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2021-2025 [Ribose Inc](https://www.ribose.com).
4
+ # All rights reserved.
5
+ # This file is a part of tebako
6
+ #
7
+ # Redistribution and use in source and binary forms, with or without
8
+ # modification, are permitted provided that the following conditions
9
+ # are met:
10
+ # 1. Redistributions of source code must retain the above copyright
11
+ # notice, this list of conditions and the following disclaimer.
12
+ # 2. Redistributions in binary form must reproduce the above copyright
13
+ # notice, this list of conditions and the following disclaimer in the
14
+ # documentation and/or other materials provided with the distribution.
15
+ #
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
+ # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
+ # POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ require_relative "pass2_patch"
29
+ require_relative "pass2msys_patch"
30
+
31
+ # Tebako - an executable packager
32
+ module Tebako
33
+ # Packager module
34
+ module Packager
35
+ class << self
36
+ def crt_pass2_patch(ostype, deps_lib_dir, ruby_ver)
37
+ scmb = ScenarioManagerBase.new(ostype)
38
+ if scmb.msys?
39
+ Pass2MSysPatch.new(ostype, deps_lib_dir, ruby_ver)
40
+ else
41
+ Pass2NonMSysPatch.new(ostype, deps_lib_dir, ruby_ver)
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,186 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2021-2025 [Ribose Inc](https://www.ribose.com).
4
+ # All rights reserved.
5
+ # This file is a part of tebako
6
+ #
7
+ # Redistribution and use in source and binary forms, with or without
8
+ # modification, are permitted provided that the following conditions
9
+ # are met:
10
+ # 1. Redistributions of source code must retain the above copyright
11
+ # notice, this list of conditions and the following disclaimer.
12
+ # 2. Redistributions in binary form must reproduce the above copyright
13
+ # notice, this list of conditions and the following disclaimer in the
14
+ # documentation and/or other materials provided with the distribution.
15
+ #
16
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
+ # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18
+ # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
20
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26
+ # POSSIBILITY OF SUCH DAMAGE.
27
+
28
+ require_relative "pass2_patch"
29
+ require_relative "patch_helpers"
30
+ require_relative "patch_literals"
31
+
32
+ # Tebako - an executable packager
33
+ module Tebako
34
+ # Packager module
35
+ module Packager
36
+ IO_C_MSYS_BASE_PATCH = {
37
+ "#define open rb_w32_uopen" => "#define open(p, f, m) tebako_open(3, (p), (f), (m))"
38
+ }.freeze
39
+
40
+ IO_C_MSYS_PATCH_PRE_32 = {
41
+ "(rb_w32_io_cancelable_p((fptr)->fd) ? Qnil : rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_READABLE), Qnil))" =>
42
+ "((is_tebako_file_descriptor((fptr)->fd) || rb_w32_io_cancelable_p((fptr)->fd)) ? \\\n" \
43
+ "Qnil : rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_READABLE), Qnil))"
44
+ }.freeze
45
+
46
+ IO_C_MSYS_PATCH = {
47
+ "(rb_w32_io_cancelable_p((fptr)->fd) ? Qnil : rb_io_wait(fptr->self, " \
48
+ "RB_INT2NUM(RUBY_IO_READABLE), RUBY_IO_TIMEOUT_DEFAULT))" =>
49
+ "((is_tebako_file_descriptor((fptr)->fd) || rb_w32_io_cancelable_p((fptr)->fd)) ? \\\n" \
50
+ "Qnil : rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_READABLE), RUBY_IO_TIMEOUT_DEFAULT))"
51
+ }.freeze
52
+
53
+ RUBY_C_MSYS_PATH_SUBST = <<~SUBST
54
+ /* -- Start of tebako patch -- */
55
+ VALUE path = within_tebako_memfs(paths) ?
56
+ rb_str_new_cstr(paths) :
57
+ RUBY_RELATIVE(paths, len);
58
+ /* -- End of tebako patch -- */
59
+ SUBST
60
+
61
+ RUBY_C_MSYS_PATCHES = {
62
+ "#ifndef MAXPATHLEN" => "#{PatchLiterals::C_FILE_SUBST_LESS}\n#ifndef MAXPATHLEN",
63
+ "VALUE path = RUBY_RELATIVE(paths, len);" => RUBY_C_MSYS_PATH_SUBST
64
+ }.freeze
65
+
66
+ WIN32_FILE_C_MSYS_SUBST = <<~SUBST
67
+ /* -- Start of tebako patch -- */
68
+ if (tebako_file_load_ok(path)) return ret;
69
+ /* -- End of tebako patch -- */
70
+ wpath = mbstr_to_wstr(CP_UTF8, path, -1, &len);
71
+ SUBST
72
+
73
+ WIN32_FILE_C_MSYS_PATCHES = {
74
+ "#ifndef INVALID_FILE_ATTRIBUTES" => "#{PatchLiterals::C_FILE_SUBST_LESS}\n#ifndef INVALID_FILE_ATTRIBUTES",
75
+ "wpath = mbstr_to_wstr(CP_UTF8, path, -1, &len);" => WIN32_FILE_C_MSYS_SUBST
76
+ }.freeze
77
+
78
+ WIN32_WIN32_C_MSYS_SUBST = <<~SUBST
79
+ /* -- Start of tebako patch -- */
80
+ if (is_tebako_cwd()) {
81
+ char* tebako_cwd = tebako_getcwd(NULL,0);
82
+ if (tebako_cwd == NULL) {
83
+ errno = ENOMEM;
84
+ return NULL;
85
+ }
86
+ len = strlen(tebako_cwd) + 1;
87
+
88
+ if (buffer) {
89
+ if (size < len) {
90
+ free(tebako_cwd);
91
+ errno = ERANGE;
92
+ return NULL;
93
+ }
94
+ }
95
+ else {
96
+ buffer = (*alloc)(len, arg);
97
+ if (!buffer) {
98
+ free(tebako_cwd);
99
+ errno = ENOMEM;
100
+ return NULL;
101
+ }
102
+ }
103
+ translate_char(tebako_cwd, (char)0x5c, '/', CP_UTF8);
104
+ strcpy(buffer, tebako_cwd);
105
+ free(tebako_cwd);
106
+ return buffer;
107
+ }
108
+ /* -- End of tebako patch -- */
109
+
110
+ len = GetCurrentDirectoryW(0, NULL);
111
+ SUBST
112
+
113
+ WIN32_WIN32_C_MSYS_PATCHES = {
114
+ "#if defined _MSC_VER && _MSC_VER <= 1200" =>
115
+ "#{PatchLiterals::C_FILE_SUBST_LESS}\n#if defined _MSC_VER && _MSC_VER <= 1200",
116
+ "len = GetCurrentDirectoryW(0, NULL);" => WIN32_WIN32_C_MSYS_SUBST
117
+ }.freeze
118
+
119
+ # Msys Pass2 patches
120
+ class Pass2MSysPatch < Pass2Patch
121
+ def patch_map
122
+ pm = super
123
+ pm.merge!(msys_patches)
124
+ pm.store("config.status", get_config_status_patch(@ostype, @deps_lib_dir, @ruby_ver))
125
+ pm
126
+ end
127
+
128
+ private
129
+
130
+ # Other MSYS (GNUMakefile) specific patches
131
+ # - The same issue with libraries as for Makefile above
132
+ # - 'Kill' ruby.exp regeneration on pass2
133
+ # since we want to use output from pass1 for implib generation
134
+ # [VERY UGLY HACK]
135
+ # - Introduce LIBRUBY dependency on static extensions
136
+ # This is an addition to COMMON_MK_PATCH specified above
137
+ def gnumakefile_in_patch_p2 # rubocop:disable Metrics/MethodLength
138
+ objext = @ruby_ver.ruby32? ? "$(OBJEXT)" : "@OBJEXT@"
139
+
140
+ {
141
+ "$(Q) $(DLLWRAP) \\" => GNUMAKEFILE_IN_DLLTOOL_SUBST,
142
+
143
+ "--output-exp=$(RUBY_EXP) \\" => "# tebako patched --output-exp=$(RUBY_EXP) \\",
144
+
145
+ "--export-all $(LIBRUBY_A) $(LIBS) -o $(PROGRAM)" =>
146
+ "# tebako patched --export-all $(LIBRUBY_A) $(LIBS) -o $(PROGRAM)",
147
+
148
+ "@rm -f $(PROGRAM)" => "# tebako patched @rm -f $(PROGRAM)",
149
+
150
+ " $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) dmyext.o $(SOLIBS) -o $(PROGRAM)" =>
151
+ "# tebako patched $(Q) $(LDSHARED) $(DLDFLAGS) $(OBJS) dmyext.o $(SOLIBS) -o $(PROGRAM)",
152
+
153
+ "$(WPROGRAM): $(RUBYW_INSTALL_NAME).res.#{objext}" =>
154
+ "$(WPROGRAM): $(RUBYW_INSTALL_NAME).res.#{objext} $(WINMAINOBJ) # tebako patched",
155
+
156
+ "RUBYDEF = $(DLL_BASE_NAME).def" => GNUMAKEFILE_IN_WINMAIN_SUBST,
157
+
158
+ "$(MAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(LIBS) -o $@" =>
159
+ "$(WINMAINOBJ) $(EXTOBJS) $(LIBRUBYARG) $(MAINLIBS) -o $@ # tebako patched",
160
+
161
+ "$(RUBY_EXP): $(LIBRUBY_A)" => "dummy.exp: $(LIBRUBY_A) # tebako patched",
162
+
163
+ "$(PROGRAM): $(RUBY_INSTALL_NAME).res.#{objext}" =>
164
+ "$(PROGRAM): $(RUBY_INSTALL_NAME).res.#{objext} $(LIBRUBY_A) # tebako patched\n" \
165
+ "$(LIBRUBY_A): $(LIBRUBY_A_OBJS) $(INITOBJS) # tebako patched\n"
166
+ }
167
+ end
168
+
169
+ def io_c_patch
170
+ patch = super
171
+ patch.merge!(@ruby_ver.ruby32? ? IO_C_MSYS_PATCH : IO_C_MSYS_PATCH_PRE_32)
172
+ patch.merge!(IO_C_MSYS_BASE_PATCH)
173
+ patch
174
+ end
175
+
176
+ def msys_patches
177
+ {
178
+ "cygwin/GNUmakefile.in" => gnumakefile_in_patch_p2,
179
+ "ruby.c" => RUBY_C_MSYS_PATCHES,
180
+ "win32/file.c" => WIN32_FILE_C_MSYS_PATCHES,
181
+ "win32/win32.c" => WIN32_WIN32_C_MSYS_PATCHES
182
+ }
183
+ end
184
+ end
185
+ end
186
+ end
@@ -220,23 +220,6 @@ module Tebako
220
220
  flags = fcntl(fd, F_GETFD); /* should not fail except EBADF. */
221
221
  SUBST
222
222
 
223
- IO_C_MSYS_BASE_PATCH = {
224
- "#define open rb_w32_uopen" => "#define open(p, f, m) tebako_open(3, (p), (f), (m))"
225
- }.freeze
226
-
227
- IO_C_MSYS_PATCH_PRE_32 = {
228
- "(rb_w32_io_cancelable_p((fptr)->fd) ? Qnil : rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_READABLE), Qnil))" =>
229
- "((is_tebako_file_descriptor((fptr)->fd) || rb_w32_io_cancelable_p((fptr)->fd)) ? \\\n" \
230
- "Qnil : rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_READABLE), Qnil))"
231
- }.freeze
232
-
233
- IO_C_MSYS_PATCH = {
234
- "(rb_w32_io_cancelable_p((fptr)->fd) ? Qnil : rb_io_wait(fptr->self, " \
235
- "RB_INT2NUM(RUBY_IO_READABLE), RUBY_IO_TIMEOUT_DEFAULT))" =>
236
- "((is_tebako_file_descriptor((fptr)->fd) || rb_w32_io_cancelable_p((fptr)->fd)) ? \\\n" \
237
- "Qnil : rb_io_wait(fptr->self, RB_INT2NUM(RUBY_IO_READABLE), RUBY_IO_TIMEOUT_DEFAULT))"
238
- }.freeze
239
-
240
223
  FILE_C_MSYS_SUBST = <<~SUBST
241
224
  /* -- Start of tebako patch -- */
242
225
  if (is_tebako_file_descriptor((fptr)->fd)) return ENOTSUP;
@@ -248,71 +231,6 @@ module Tebako
248
231
  "while ((int)rb_thread_io_blocking_region(rb_thread_flock, op, fptr->fd) < 0) {" => FILE_C_MSYS_SUBST
249
232
  }.freeze
250
233
 
251
- RUBY_C_MSYS_PATH_SUBST = <<~SUBST
252
- /* -- Start of tebako patch -- */
253
- VALUE path = within_tebako_memfs(paths) ?
254
- rb_str_new_cstr(paths) :
255
- RUBY_RELATIVE(paths, len);
256
- /* -- End of tebako patch -- */
257
- SUBST
258
-
259
- RUBY_C_MSYS_PATCHES = {
260
- "#ifndef MAXPATHLEN" => "#{C_FILE_SUBST_LESS}\n#ifndef MAXPATHLEN",
261
- "VALUE path = RUBY_RELATIVE(paths, len);" => RUBY_C_MSYS_PATH_SUBST
262
- }.freeze
263
-
264
- WIN32_FILE_C_MSYS_SUBST = <<~SUBST
265
- /* -- Start of tebako patch -- */
266
- if (tebako_file_load_ok(path)) return ret;
267
- /* -- End of tebako patch -- */
268
- wpath = mbstr_to_wstr(CP_UTF8, path, -1, &len);
269
- SUBST
270
-
271
- WIN32_FILE_C_MSYS_PATCHES = {
272
- "#ifndef INVALID_FILE_ATTRIBUTES" => "#{C_FILE_SUBST_LESS}\n#ifndef INVALID_FILE_ATTRIBUTES",
273
- "wpath = mbstr_to_wstr(CP_UTF8, path, -1, &len);" => WIN32_FILE_C_MSYS_SUBST
274
- }.freeze
275
-
276
- WIN32_WIN32_C_MSYS_SUBST = <<~SUBST
277
- /* -- Start of tebako patch -- */
278
- if (is_tebako_cwd()) {
279
- char* tebako_cwd = tebako_getcwd(NULL,0);
280
- if (tebako_cwd == NULL) {
281
- errno = ENOMEM;
282
- return NULL;
283
- }
284
- len = strlen(tebako_cwd) + 1;
285
-
286
- if (buffer) {
287
- if (size < len) {
288
- free(tebako_cwd);
289
- errno = ERANGE;
290
- return NULL;
291
- }
292
- }
293
- else {
294
- buffer = (*alloc)(len, arg);
295
- if (!buffer) {
296
- free(tebako_cwd);
297
- errno = ENOMEM;
298
- return NULL;
299
- }
300
- }
301
- translate_char(tebako_cwd, (char)0x5c, '/', CP_UTF8);
302
- strcpy(buffer, tebako_cwd);
303
- free(tebako_cwd);
304
- return buffer;
305
- }
306
- /* -- End of tebako patch -- */
307
-
308
- len = GetCurrentDirectoryW(0, NULL);
309
- SUBST
310
-
311
- WIN32_WIN32_C_MSYS_PATCHES = {
312
- "#if defined _MSC_VER && _MSC_VER <= 1200" => "#{C_FILE_SUBST_LESS}\n#if defined _MSC_VER && _MSC_VER <= 1200",
313
- "len = GetCurrentDirectoryW(0, NULL);" => WIN32_WIN32_C_MSYS_SUBST
314
- }.freeze
315
-
316
234
  LINUX_PATCHES = {
317
235
  "ext/extmk.rb" => {
318
236
  "mf.macro \"EXTLIBS\", $extlibs" => "# mf.macro \"EXTLIBS\", $extlibs tebako patched"
@@ -35,7 +35,7 @@ require_relative "ruby_builder"
35
35
  require_relative "stripper"
36
36
  require_relative "packager/pass1_patch"
37
37
  require_relative "packager/pass1a_patch"
38
- require_relative "packager/pass2_patch"
38
+ require_relative "packager/pass2_patch_crt"
39
39
  require_relative "packager/patch_helpers"
40
40
 
41
41
  # Tebako - an executable packager
@@ -39,6 +39,7 @@ module Tebako
39
39
  "3.2.4" => "c72b3c5c30482dca18b0f868c9075f3f47d8168eaf626d4e682ce5b59c858692",
40
40
  "3.2.5" => "ef0610b498f60fb5cfd77b51adb3c10f4ca8ed9a17cb87c61e5bea314ac34a16",
41
41
  "3.2.6" => "d9cb65ecdf3f18669639f2638b63379ed6fbb17d93ae4e726d4eb2bf68a48370",
42
+ "3.2.7" => "8488fa620ff0333c16d437f2b890bba3b67f8745fdecb1472568a6114aad9741",
42
43
  "3.3.3" => "83c05b2177ee9c335b631b29b8c077b4770166d02fa527f3a9f6a40d13f3cce2",
43
44
  "3.3.4" => "fe6a30f97d54e029768f2ddf4923699c416cdbc3a6e96db3e2d5716c7db96a34",
44
45
  "3.3.5" => "3781a3504222c2f26cb4b9eb9c1a12dbf4944d366ce24a9ff8cf99ecbce75196",
@@ -48,7 +49,7 @@ module Tebako
48
49
  }.freeze
49
50
 
50
51
  MIN_RUBY_VERSION_WINDOWS = "3.1.6"
51
- DEFAULT_RUBY_VERSION = "3.2.6"
52
+ DEFAULT_RUBY_VERSION = "3.3.7"
52
53
 
53
54
  def initialize(ruby_version)
54
55
  @ruby_version = ruby_version.nil? ? DEFAULT_RUBY_VERSION : ruby_version
@@ -90,8 +91,14 @@ module Tebako
90
91
  @ruby33 ||= ruby3x? && @ruby_version[2].to_i >= 3
91
92
  end
92
93
 
93
- def ruby337?
94
- @ruby337 ||= ruby34? || (ruby33? && @ruby_version[2] == "3" && @ruby_version[4].to_i >= 7)
94
+ def ruby33only?
95
+ @ruby33only ||= ruby3x? && @ruby_version[2] == "3"
96
+ end
97
+
98
+ def ruby3x7?
99
+ @ruby3x7 ||= ruby34? ||
100
+ (ruby33only? && @ruby_version[4].to_i >= 7) ||
101
+ (ruby32only? && @ruby_version[4].to_i >= 7)
95
102
  end
96
103
 
97
104
  def ruby34?
@@ -26,5 +26,5 @@
26
26
  # POSSIBILITY OF SUCH DAMAGE.
27
27
 
28
28
  module Tebako
29
- VERSION = "0.12.12"
29
+ VERSION = "0.12.14"
30
30
  end
@@ -182,3 +182,29 @@ jobs:
182
182
 
183
183
  - name: Run CMake test
184
184
  run: cmake -B test.build -S tests/cmake
185
+
186
+ test-setup-openssl-alpine:
187
+ name: test openssl 1.1.1 setup on alpine
188
+ runs-on: ubuntu-latest
189
+ container:
190
+ image: alpine:3.17
191
+
192
+ steps:
193
+ - name: Install packages
194
+ run: |
195
+ apk --no-cache --upgrade add git bash cmake make build-base autoconf binutils-dev linux-headers
196
+ git config --global --add safe.directory $PWD
197
+
198
+ - name: Checkout
199
+ uses: actions/checkout@v4
200
+
201
+ - name: Run cmake script
202
+ run: |
203
+ cmake -B build/setup-openssl tests/setup-openssl
204
+ cmake --build build/setup-openssl
205
+
206
+ - name: Test
207
+ run: |
208
+ set -o errexit -o pipefail -o noclobber -o nounset
209
+ v=$(build/setup-openssl/deps/bin/openssl version)
210
+ [ "$v" = "OpenSSL 1.1.1w 11 Sep 2023" ]
@@ -499,6 +499,8 @@ EOM
499
499
  defined_msc_ver_to_win32 "$1/folly/external/farmhash/farmhash.cpp"
500
500
  defined_msc_ver_to_win32 "$1/folly/detail/IPAddressSource.h"
501
501
  defined_msc_ver_to_win32 "$1/folly/portability/Sockets.cpp"
502
+ defined_win32_to_msc_ver "$1/folly/portability/Sched.h"
503
+ defined_win32_to_msc_ver "$1/folly/portability/Sched.cpp"
502
504
 
503
505
  defined_n_win32_to_msc_ver "$1/folly/portability/Dirent.h"
504
506
  defined_win32_to_msc_ver "$1/folly/portability/Dirent.cpp"
@@ -55,7 +55,10 @@ if (CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
55
55
 
56
56
  message(STATUS "Using brew environment at ${BREW_PREFIX}")
57
57
  # https://github.com/actions/virtual-environments/blob/main/images/macos/macos-10.15-Readme.me
58
- set(OPENSSL_ROOT_DIR "${BREW_PREFIX}/opt/openssl@3")
58
+ if(NOT DEFINED OPENSSL_VERSION)
59
+ set(OPENSSL_VERSION "3")
60
+ endif()
61
+ set(OPENSSL_ROOT_DIR "${BREW_PREFIX}/opt/openssl@${OPENSSL_VERSION}")
59
62
  set(CMAKE_PREFIX_PATH "${BREW_PREFIX}")
60
63
  include_directories("${OPENSSL_ROOT_DIR}/include")
61
64
  include_directories("${BREW_PREFIX}/include")
@@ -80,7 +83,7 @@ if (CMAKE_HOST_SYSTEM_NAME MATCHES "Darwin")
80
83
  set(CMAKE_CXX_FLAGS "-DTARGET_OS_SIMULATOR=0 -DTARGET_OS_IPHONE=0")
81
84
 
82
85
  set(BUILD_CMAKE_ARGUMENTS -DCMAKE_PREFIX_PATH=${BUILD_CMAKE_PREFIX_PATH}
83
- -DOPENSSL_ROOT_DIR=${BUILD_OPENSSL_ROOT_DIR}
86
+ -DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}
84
87
  -DBISON_EXECUTABLE=${BISON_EXECUTABLE}
85
88
  -DFLEX_EXECUTABLE=${FLEX_EXECUTABLE}
86
89
  )
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2022-2024 [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2022-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
3
  # This file is a part of tebako
4
4
  #
@@ -27,6 +27,10 @@ def_ext_prj_t(LIBARCHIVE "3.6.2" "9e2c1b80d5fbe59b61308fdfab6c79b5021d7ff4ff2489
27
27
 
28
28
  message(STATUS "Collecting libarchive - " v${LIBARCHIVE_VER} " at " ${LIBARCHIVE_SOURCE_DIR})
29
29
 
30
+ if(DEFINED OPENSSL_ROOT_DIR)
31
+ set(OPENSSL_DIR_OPT "-DOPENSSL_ROOT_DIR=${OPENSSL_ROOT_DIR}")
32
+ endif(DEFINED OPENSSL_ROOT_DIR)
33
+
30
34
  set(CMAKE_ARGUMENTS -DCMAKE_INSTALL_PREFIX=${DEPS}
31
35
  -DCMAKE_BUILD_TYPE=Release
32
36
  -DBUILD_SHARED_LIBS:BOOL=OFF
@@ -41,13 +45,14 @@ set(CMAKE_ARGUMENTS -DCMAKE_INSTALL_PREFIX=${DEPS}
41
45
  -DENABLE_TEST:BOOL=OFF
42
46
  -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
43
47
  -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
48
+ ${OPENSSL_DIR_OPT}
44
49
  )
45
50
 
46
- if(TEBAKO_BUILD_TARGET)
51
+ if(DEFINED TEBAKO_BUILD_TARGET)
47
52
  list(APPEND CMAKE_ARGUMENTS -DCMAKE_C_FLAGS=--target=${TEBAKO_BUILD_TARGET})
48
53
  list(APPEND CMAKE_ARGUMENTS -DCMAKE_EXE_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
49
54
  list(APPEND CMAKE_ARGUMENTS -DCMAKE_SHARED_LINKER_FLAGS=--target=${TEBAKO_BUILD_TARGET})
50
- endif(TEBAKO_BUILD_TARGET)
55
+ endif(DEFINED TEBAKO_BUILD_TARGET)
51
56
 
52
57
  # ...................................................................
53
58
  # libarchive is the module that creates the real pain here
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2023 [Ribose Inc](https://www.ribose.com).
1
+ # Copyright (c) 2023-2025 [Ribose Inc](https://www.ribose.com).
2
2
  # All rights reserved.
3
3
  # This file is a part of tebako
4
4
  #
@@ -38,6 +38,7 @@ if(OPENSSL_RES EQUAL 0)
38
38
  message(STATUS "Found OpenSSL version ${OPENSSL_VER} at ${DEPS}/bin/openssl")
39
39
  if((${OPENSSL_VER} VERSION_GREATER_EQUAL "1.1.0") AND (${OPENSSL_VER} VERSION_LESS "3.0.0"))
40
40
  set(WITH_OPENSSL_BUILD OFF)
41
+ set(OPENSSL_ROOT_DIR "${DEPS}")
41
42
  endif((${OPENSSL_VER} VERSION_GREATER_EQUAL "1.1.0") AND (${OPENSSL_VER} VERSION_LESS "3.0.0"))
42
43
  endif(OPENSSL_RES EQUAL 0)
43
44
 
@@ -67,3 +68,28 @@ if(WITH_OPENSSL_BUILD)
67
68
  endif((${OPENSSL_VER} VERSION_GREATER_EQUAL "1.1.0") AND (${OPENSSL_VER} VERSION_LESS "3.0.0"))
68
69
  endif(OPENSSL_RES EQUAL 0)
69
70
  endif(WITH_OPENSSL_BUILD)
71
+
72
+ if(WITH_OPENSSL_BUILD)
73
+ message(STATUS "Building OpenSSL 1.1.1w")
74
+ def_ext_prj_g(OPENSSL "OpenSSL_1_1_1w")
75
+
76
+ set(__LIBSSL "${DEPS}/lib/libssl.a")
77
+ set(__LIBCRYPTO "${DEPS}/lib/libcrypto.a")
78
+
79
+ ExternalProject_Add(${OPENSSL_PRJ}
80
+ PREFIX ${DEPS}
81
+ GIT_REPOSITORY "https://github.com/openssl/openssl.git"
82
+ GIT_TAG ${OPENSSL_TAG}
83
+ UPDATE_COMMAND ""
84
+ SOURCE_DIR ${OPENSSL_SOURCE_DIR}
85
+ BINARY_DIR ${OPENSSL_BINARY_DIR}
86
+ CONFIGURE_COMMAND ${GNU_BASH} -c "${OPENSSL_SOURCE_DIR}/config \
87
+ --openssldir=${DEPS} \
88
+ --prefix=${DEPS} \
89
+ no-shared"
90
+ BUILD_BYPRODUCTS ${__LIBSSL} ${__LIBCRYPTO}
91
+ )
92
+
93
+ set(OPENSSL_ROOT_DIR "${DEPS}")
94
+
95
+ endif(WITH_OPENSSL_BUILD)
@@ -0,0 +1,34 @@
1
+ # Copyright (c) 2025, [Ribose Inc](https://www.ribose.com).
2
+ # All rights reserved.
3
+ # This file is a part of tebako
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions
7
+ # are met:
8
+ # 1. Redistributions of source code must retain the above copyright
9
+ # notice, this list of conditions and the following disclaimer.
10
+ # 2. Redistributions in binary form must reproduce the above copyright
11
+ # notice, this list of conditions and the following disclaimer in the
12
+ # documentation and/or other materials provided with the distribution.
13
+ #
14
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16
+ # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
18
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
+ # POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ cmake_minimum_required(VERSION 3.24.0)
27
+ project(setup-openssl)
28
+
29
+ include(ExternalProject)
30
+
31
+ set(GNU_BASH bash)
32
+
33
+ include(${ROOT}/tools/cmake-scripts/def-external-project.cmake)
34
+ include(${ROOT}/tools/cmake-scripts/setup-openssl-1.1.1.cmake)
@@ -0,0 +1,36 @@
1
+ # Copyright (c) 2025, [Ribose Inc](https://www.ribose.com).
2
+ # All rights reserved.
3
+ # This file is a part of tebako
4
+ #
5
+ # Redistribution and use in source and binary forms, with or without
6
+ # modification, are permitted provided that the following conditions
7
+ # are met:
8
+ # 1. Redistributions of source code must retain the above copyright
9
+ # notice, this list of conditions and the following disclaimer.
10
+ # 2. Redistributions in binary form must reproduce the above copyright
11
+ # notice, this list of conditions and the following disclaimer in the
12
+ # documentation and/or other materials provided with the distribution.
13
+ #
14
+ # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
15
+ # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
16
+ # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17
+ # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS
18
+ # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19
+ # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20
+ # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21
+ # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22
+ # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23
+ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24
+ # POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ cmake_minimum_required(VERSION 3.24.0)
27
+ project(setup-openssl-test)
28
+
29
+ include(ExternalProject)
30
+
31
+ set(ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../..)
32
+ set(DEPS ${CMAKE_CURRENT_BINARY_DIR}/deps)
33
+ set(GNU_BASH bash)
34
+
35
+ include(${ROOT}/cmake-scripts/def-external-project.cmake)
36
+ include(${ROOT}/cmake-scripts/setup-openssl-1.1.1.cmake)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tebako
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.12
4
+ version: 0.12.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-02-14 00:00:00.000000000 Z
11
+ date: 2025-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -219,6 +219,8 @@ files:
219
219
  - lib/tebako/packager/pass1_patch.rb
220
220
  - lib/tebako/packager/pass1a_patch.rb
221
221
  - lib/tebako/packager/pass2_patch.rb
222
+ - lib/tebako/packager/pass2_patch_crt.rb
223
+ - lib/tebako/packager/pass2msys_patch.rb
222
224
  - lib/tebako/packager/patch.rb
223
225
  - lib/tebako/packager/patch_buildsystem.rb
224
226
  - lib/tebako/packager/patch_helpers.rb
@@ -254,14 +256,16 @@ files:
254
256
  - tools/cmake-scripts/setup-libfmt.cmake
255
257
  - tools/cmake-scripts/setup-libhowardhinnerdate.cmake
256
258
  - tools/cmake-scripts/setup-libutfcpp.cmake
257
- - tools/cmake-scripts/setup-openssl.cmake
259
+ - tools/cmake-scripts/setup-openssl-1.1.1.cmake
258
260
  - tools/cmake-scripts/version.cmake
261
+ - tools/dwarfs-test-helper/CMakeLists.txt
259
262
  - tools/include/pro-statvfs.h
260
263
  - tools/tests/cmake/CMakeLists.txt
261
264
  - tools/tests/setup-libfmt/CMakeLists.txt
262
265
  - tools/tests/setup-libhowardhinnerdate/CMakeLists.txt
263
266
  - tools/tests/setup-librachive/CMakeLists.txt
264
267
  - tools/tests/setup-libutfcpp/CMakeLists.txt
268
+ - tools/tests/setup-openssl/CMakeLists.txt
265
269
  homepage: https://github.com/tamatebako/tebako
266
270
  licenses:
267
271
  - BSD-2-Clause
@@ -292,7 +296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
292
296
  - !ruby/object:Gem::Version
293
297
  version: '0'
294
298
  requirements: []
295
- rubygems_version: 3.4.19
299
+ rubygems_version: 3.5.22
296
300
  signing_key:
297
301
  specification_version: 4
298
302
  summary: Packager for Ruby executables