leptris 1.9.162.5-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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -1
  3. data/Rakefile +16 -16
  4. data/lib/leptris/version.rb +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d94bbf339aada43aa8e5f7abacde4125f6cbfe2155dd66d2227d353f68559227
4
- data.tar.gz: 3a1eadd4695267e72fd0f2b48a8183f5bb4294f392b81c9c9e4350b16bf89f91
3
+ metadata.gz: 210112c3f5ff8c521e136403e6136ed3ac8333127620e75927b9c1490e7fc99e
4
+ data.tar.gz: 603ce7eb9a8115451f707553018a7bfa8bf7d7165cf68968c197c29b99d40ea6
5
5
  SHA512:
6
- metadata.gz: 0206d776e3db7c02447311042236685f3fd06437b8325c028f7833ffd6d8852538f0f0702a1aed1290680bf4390a5483ea8f15f6a26abc1db2c28405a168a076
7
- data.tar.gz: fcc2a4962f63d7e9c54bf03557ee1d7df6f7a3a6d17d3e8f51f12b3d14f12084e24a3f323e9eb3880a3d0378c012bf17d060062d22f4e0a3797bdde731bc2ce8
6
+ metadata.gz: fcd31e807435d4ee0327e535691b364f30a9f85d25e4cf822e6de60653f2bb78f804e4f5c24166f53e774f9d45422b3d1ae1df30be332b46281d501f4a7ccdef
7
+ data.tar.gz: b55db4976ed0c1029c5d3b0c587f232e7c0c692f9d3f91c2d2aedcfcac655a0cd7f955686c73f2f9816c3e65a34e18b6d43a8bdb7cb19e366dad1eefb6003f56
data/CHANGELOG.md CHANGED
@@ -5,7 +5,20 @@ 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.5] - 2026-09-14
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
9
22
 
10
23
  ### Fixed
11
24
 
data/Rakefile CHANGED
@@ -92,26 +92,26 @@ task :compile do
92
92
  ext_dir = "ext/leptris/native"
93
93
  Dir.chdir(ext_dir) do
94
94
  sh "ruby extconf.rb"
95
- sh "make"
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
99
113
  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.
114
+ # Build-log proof of the linkage contract: libSystem only.
115
115
  puts `otool -L #{bundle}`
116
116
  end
117
117
  cp(bundle, "lib/leptris/xml/#{File.basename(bundle)}")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Leptris
4
- VERSION = "1.9.162.5"
4
+ VERSION = "1.9.162.6"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: leptris
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.162.5
4
+ version: 1.9.162.6
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Ribose Inc.