tebako 0.15.4 → 0.15.6
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 +4 -4
- data/lib/tebako/packager/pass1_patch.rb +7 -1
- data/lib/tebako/packager/pass2msys_patch.rb +7 -1
- data/lib/tebako/packager/patch.rb +26 -0
- data/lib/tebako/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c715e1aa147daa49822f94e67fccd62fba55abebce35579a9b5aec3fc13dd400
|
|
4
|
+
data.tar.gz: b9d4d2d079162a8e557c88cd46ee827fd82b3b7cbca6ebd4adf0935b25a4c266
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: abe104408b954c1da7cb133c9c55c5d3c9926bcf5e253e9b633d4a954cb333b78272a3128cb119554d27e3616f02ef48d1db80c51ae90710e520fca25c774234
|
|
7
|
+
data.tar.gz: fbae51e79b5525115f05f043c39d98d06a9e9b9ba4ccbd1a2ff2d31be0f035765b830e70cdce7b030c321b22eb853528297f90bed634a8927a929083614bddfb
|
|
@@ -265,7 +265,13 @@ module Tebako
|
|
|
265
265
|
# ....................................................
|
|
266
266
|
# Rename ruby's clock_gettime/clock_getres fallbacks before the
|
|
267
267
|
# toolchain build (winpthreads static-inline collision)
|
|
268
|
-
"win32/win32.c" => WIN32_WIN32_C_CLOCK_PATCH
|
|
268
|
+
"win32/win32.c" => WIN32_WIN32_C_CLOCK_PATCH,
|
|
269
|
+
# ....................................................
|
|
270
|
+
# Group-wrap the static-ext ruby.exe link libraries
|
|
271
|
+
"common.mk" => COMMON_MK_STATIC_RUBY_LINK_PATCH,
|
|
272
|
+
# ....................................................
|
|
273
|
+
# Group-wrap the generated Makefile's PROGRAM link (msys)
|
|
274
|
+
"template/Makefile.in" => TEMPLATE_MAKEFILE_IN_STATIC_RUBY_LINK_PATCH
|
|
269
275
|
}
|
|
270
276
|
end
|
|
271
277
|
|
|
@@ -185,7 +185,13 @@ module Tebako
|
|
|
185
185
|
"cygwin/GNUmakefile.in" => gnumakefile_in_patch_p2,
|
|
186
186
|
"ruby.c" => RUBY_C_MSYS_PATCHES,
|
|
187
187
|
"win32/file.c" => WIN32_FILE_C_MSYS_PATCHES,
|
|
188
|
-
"win32/win32.c" => WIN32_WIN32_C_MSYS_PATCHES
|
|
188
|
+
"win32/win32.c" => WIN32_WIN32_C_MSYS_PATCHES,
|
|
189
|
+
# Group-wrap the static-ext ruby.exe link libraries for the final
|
|
190
|
+
# build (same common.mk STATIC_RUBY rule as the toolchain build)
|
|
191
|
+
"common.mk" => COMMON_MK_STATIC_RUBY_LINK_PATCH,
|
|
192
|
+
# ....................................................
|
|
193
|
+
# Group-wrap the generated Makefile's PROGRAM link (msys)
|
|
194
|
+
"template/Makefile.in" => TEMPLATE_MAKEFILE_IN_STATIC_RUBY_LINK_PATCH
|
|
189
195
|
}
|
|
190
196
|
end
|
|
191
197
|
end
|
|
@@ -44,6 +44,32 @@ module Tebako
|
|
|
44
44
|
# End of tebako patch
|
|
45
45
|
SUBST
|
|
46
46
|
|
|
47
|
+
# The static-ext ruby.exe link (common.mk STATIC_RUBY rule, identical in
|
|
48
|
+
# ruby 3.1-4.0) puts the vcpkg static OpenSSL ahead of the Windows system
|
|
49
|
+
# libs it references (Cert* from crypt32, WspiapiGet* from ws2_32); GNU
|
|
50
|
+
# ld's single pass then leaves them unresolved (tebako#345). Group-wrap
|
|
51
|
+
# the libs so resolution is order-insensitive. Shared across Pass1
|
|
52
|
+
# (toolchain build) and Pass2 (final build, re-patched from pristine).
|
|
53
|
+
COMMON_MK_STATIC_RUBY_LINK_PATCH = {
|
|
54
|
+
"$(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@" =>
|
|
55
|
+
"$(MAINOBJ) $(DLDOBJS) $(LIBRUBY_A) -Wl,--start-group $(MAINLIBS) $(EXTLIBS) $(LIBS) " \
|
|
56
|
+
"-Wl,--end-group $(OUTFLAG)$@ # tebako patched"
|
|
57
|
+
}.freeze
|
|
58
|
+
|
|
59
|
+
# The PROGRAM link in template/Makefile.in (the generated Makefile --
|
|
60
|
+
# the one the exts.mk submake actually links ruby.exe with) has the same
|
|
61
|
+
# static-lib ordering problem on msys. Ruby 3.3+ links
|
|
62
|
+
# MAINLIBS+EXTLIBS; 3.1/3.2 link MAINLIBS+LIBS+EXTLIBS -- wrap both
|
|
63
|
+
# shapes (only one matches per version, the other is a harmless no-op).
|
|
64
|
+
TEMPLATE_MAKEFILE_IN_STATIC_RUBY_LINK_PATCH = {
|
|
65
|
+
"$(LIBRUBYARG) $(MAINLIBS) $(EXTLIBS) $(OUTFLAG)$@" =>
|
|
66
|
+
"$(LIBRUBYARG) -Wl,--start-group $(MAINLIBS) $(EXTLIBS) -Wl,--end-group $(OUTFLAG)$@ " \
|
|
67
|
+
"# tebako patched",
|
|
68
|
+
"$(LIBRUBYARG) $(MAINLIBS) $(LIBS) $(EXTLIBS) $(OUTFLAG)$@" =>
|
|
69
|
+
"$(LIBRUBYARG) -Wl,--start-group $(MAINLIBS) $(LIBS) $(EXTLIBS) -Wl,--end-group " \
|
|
70
|
+
"$(OUTFLAG)$@ # tebako patched"
|
|
71
|
+
}.freeze
|
|
72
|
+
|
|
47
73
|
# Ruby patching definitions (common base)
|
|
48
74
|
class Patch
|
|
49
75
|
def patch_map
|
data/lib/tebako/version.rb
CHANGED