leptris 1.9.162.4-aarch64-linux → 1.9.162.5-aarch64-linux
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/CHANGELOG.md +13 -1
- data/Rakefile +18 -0
- data/ext/leptris/native/extconf.rb +12 -0
- data/lib/leptris/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: d94bbf339aada43aa8e5f7abacde4125f6cbfe2155dd66d2227d353f68559227
|
|
4
|
+
data.tar.gz: 3a1eadd4695267e72fd0f2b48a8183f5bb4294f392b81c9c9e4350b16bf89f91
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0206d776e3db7c02447311042236685f3fd06437b8325c028f7833ffd6d8852538f0f0702a1aed1290680bf4390a5483ea8f15f6a26abc1db2c28405a168a076
|
|
7
|
+
data.tar.gz: fcc2a4962f63d7e9c54bf03557ee1d7df6f7a3a6d17d3e8f51f12b3d14f12084e24a3f323e9eb3880a3d0378c012bf17d060062d22f4e0a3797bdde731bc2ce8
|
data/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,19 @@ All notable changes to Leptris will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [1.9.162.
|
|
8
|
+
## [1.9.162.5] - 2026-09-14
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Native layer linkage, third round**: the runner-side
|
|
13
|
+
libruby reference came from setup-ruby's LIBRUBYARG_SHARED
|
|
14
|
+
(an absolute runner path recorded as LC_LOAD_DYLIB —
|
|
15
|
+
unresolvable on user machines), not from the link flags. The
|
|
16
|
+
extconf now clears the libruby link args for the bundle target
|
|
17
|
+
(Ruby symbols resolve from the loading interpreter); the
|
|
18
|
+
Rakefile prints otool -L into the build log as the standing
|
|
19
|
+
linkage contract check.
|
|
20
|
+
\n## [1.9.162.4] - 2026-09-14
|
|
9
21
|
|
|
10
22
|
### Fixed
|
|
11
23
|
|
data/Rakefile
CHANGED
|
@@ -96,6 +96,24 @@ task :compile do
|
|
|
96
96
|
end
|
|
97
97
|
bundle = Dir.glob("#{ext_dir}/native.{bundle,so,dll}").first
|
|
98
98
|
raise "native layer bundle not found after build" unless bundle
|
|
99
|
+
if RUBY_PLATFORM =~ /darwin/
|
|
100
|
+
# The linkage contract is libSystem-only. setup-ruby's custom
|
|
101
|
+
# rubies make mkmf link libruby by absolute runner path
|
|
102
|
+
# (unresolvable on user machines) regardless of cleared
|
|
103
|
+
# RbConfig entries — rewrite that dependency post-link: Ruby
|
|
104
|
+
# symbols resolve from the loading interpreter via
|
|
105
|
+
# -undefined dynamic_lookup, so the libruby LC_LOAD_DYLIB is
|
|
106
|
+
# dead weight; point it at libSystem and re-sign (arm64
|
|
107
|
+
# requires a valid signature after any rewrite).
|
|
108
|
+
`otool -L #{bundle}`.lines.each do |line|
|
|
109
|
+
if (libruby = line[/\S*libruby[\d.]*\.dylib/])
|
|
110
|
+
sh "install_name_tool -change #{libruby} /usr/lib/libSystem.B.dylib #{bundle}"
|
|
111
|
+
end
|
|
112
|
+
end
|
|
113
|
+
sh "codesign --force -s - #{bundle}" if RUBY_PLATFORM =~ /arm64/
|
|
114
|
+
# Build-log proof of the contract.
|
|
115
|
+
puts `otool -L #{bundle}`
|
|
116
|
+
end
|
|
99
117
|
cp(bundle, "lib/leptris/xml/#{File.basename(bundle)}")
|
|
100
118
|
puts "Vendored native layer (#{File.basename(bundle)}) into lib/leptris/xml/"
|
|
101
119
|
end
|
|
@@ -21,5 +21,17 @@ if RUBY_PLATFORM =~ /darwin/
|
|
|
21
21
|
[$LDFLAGS, $DLDFLAGS].each do |var|
|
|
22
22
|
var << lookup unless var.include?("dynamic_lookup")
|
|
23
23
|
end
|
|
24
|
+
# setup-ruby builds carry the RUNNER's absolute libruby path in
|
|
25
|
+
# LIBRUBYARG_SHARED — recorded as an LC_LOAD_DYLIB in the
|
|
26
|
+
# bundle, unresolvable on user machines. A Ruby extension
|
|
27
|
+
# resolves Ruby symbols from the loading interpreter; never
|
|
28
|
+
# link libruby.
|
|
29
|
+
# BOTH maps: mkmf's Makefile interpolates from MAKEFILE_CONFIG,
|
|
30
|
+
# not CONFIG — clearing only CONFIG is a silent no-op (caught via
|
|
31
|
+
# the build-log otool on the runner).
|
|
32
|
+
RbConfig::CONFIG["LIBRUBYARG_SHARED"] = ""
|
|
33
|
+
RbConfig::CONFIG["LIBRUBYARG_STATIC"] = ""
|
|
34
|
+
RbConfig::MAKEFILE_CONFIG["LIBRUBYARG_SHARED"] = ""
|
|
35
|
+
RbConfig::MAKEFILE_CONFIG["LIBRUBYARG_STATIC"] = ""
|
|
24
36
|
end
|
|
25
37
|
create_makefile("leptris/xml/native")
|
data/lib/leptris/version.rb
CHANGED