leptris 1.9.162.4-aarch64-linux → 1.9.162.6-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 +26 -1
- data/Rakefile +19 -1
- 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: 210112c3f5ff8c521e136403e6136ed3ac8333127620e75927b9c1490e7fc99e
|
|
4
|
+
data.tar.gz: 603ce7eb9a8115451f707553018a7bfa8bf7d7165cf68968c197c29b99d40ea6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: fcd31e807435d4ee0327e535691b364f30a9f85d25e4cf822e6de60653f2bb78f804e4f5c24166f53e774f9d45422b3d1ae1df30be332b46281d501f4a7ccdef
|
|
7
|
+
data.tar.gz: b55db4976ed0c1029c5d3b0c587f232e7c0c692f9d3f91c2d2aedcfcac655a0cd7f955686c73f2f9816c3e65a34e18b6d43a8bdb7cb19e366dad1eefb6003f56
|
data/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,32 @@ 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.6] - 2026-09-14
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- **Native layer linkage, resolved**: setup-ruby's custom rubies
|
|
13
|
+
link libruby by absolute runner path through mkmf no matter
|
|
14
|
+
which RbConfig entries are cleared (and a post-link
|
|
15
|
+
install_name_tool rewrite rebinds every Ruby symbol to the
|
|
16
|
+
replacement — 1.9.162.5's "Symbol not found: rb_cObject"). The
|
|
17
|
+
darwin bundle is now linked directly in the Rakefile: compile
|
|
18
|
+
via the Makefile, link with pure -undefined dynamic_lookup and
|
|
19
|
+
-mmacosx-version-min=11.0 — no libruby LC_LOAD_DYLIB can exist.
|
|
20
|
+
Build log prints otool -L as the standing contract check.
|
|
21
|
+
\n## [1.9.162.5] - 2026-09-14
|
|
22
|
+
|
|
23
|
+
### Fixed
|
|
24
|
+
|
|
25
|
+
- **Native layer linkage, third round**: the runner-side
|
|
26
|
+
libruby reference came from setup-ruby's LIBRUBYARG_SHARED
|
|
27
|
+
(an absolute runner path recorded as LC_LOAD_DYLIB —
|
|
28
|
+
unresolvable on user machines), not from the link flags. The
|
|
29
|
+
extconf now clears the libruby link args for the bundle target
|
|
30
|
+
(Ruby symbols resolve from the loading interpreter); the
|
|
31
|
+
Rakefile prints otool -L into the build log as the standing
|
|
32
|
+
linkage contract check.
|
|
33
|
+
\n## [1.9.162.4] - 2026-09-14
|
|
9
34
|
|
|
10
35
|
### Fixed
|
|
11
36
|
|
data/Rakefile
CHANGED
|
@@ -92,10 +92,28 @@ task :compile do
|
|
|
92
92
|
ext_dir = "ext/leptris/native"
|
|
93
93
|
Dir.chdir(ext_dir) do
|
|
94
94
|
sh "ruby extconf.rb"
|
|
95
|
-
|
|
95
|
+
if RUBY_PLATFORM =~ /darwin/
|
|
96
|
+
# Link the bundle ourselves: setup-ruby's custom rubies make
|
|
97
|
+
# mkmf link libruby by absolute runner path no matter which
|
|
98
|
+
# RbConfig entries are cleared, and any libruby
|
|
99
|
+
# LC_LOAD_DYLIB is unresolvable on user machines. Compile
|
|
100
|
+
# via the Makefile, link with pure -undefined dynamic_lookup
|
|
101
|
+
# (Ruby symbols resolve from the loading interpreter) and a
|
|
102
|
+
# conservative deployment target.
|
|
103
|
+
sh "make native.o"
|
|
104
|
+
sh "cc -dynamic -bundle -undefined dynamic_lookup " \
|
|
105
|
+
"-mmacosx-version-min=#{ENV['MACOSX_DEPLOYMENT_TARGET'] || '11.0'} " \
|
|
106
|
+
"-o native.bundle native.o"
|
|
107
|
+
else
|
|
108
|
+
sh "make"
|
|
109
|
+
end
|
|
96
110
|
end
|
|
97
111
|
bundle = Dir.glob("#{ext_dir}/native.{bundle,so,dll}").first
|
|
98
112
|
raise "native layer bundle not found after build" unless bundle
|
|
113
|
+
if RUBY_PLATFORM =~ /darwin/
|
|
114
|
+
# Build-log proof of the linkage contract: libSystem only.
|
|
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