@ai-ecoverse/wasix-ruby 3.4.11-11 → 3.4.11-13
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.
- package/PRESTAGE.md +2 -2
- package/README.md +38 -5
- package/THIRD-PARTY-NOTICES.md +2 -2
- package/bin/bundle +1 -1
- package/bin/bundler +1 -1
- package/bin/erb +1 -1
- package/bin/gem +1 -1
- package/bin/irb +1 -1
- package/bin/rake +1 -1
- package/bin/ruby +0 -0
- package/lib/ruby/3.4.0/wasm32-wasi/rbconfig.rb +8 -4
- package/package.json +8 -8
- package/bin/ruby.wasm +0 -0
package/PRESTAGE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# wasix-ruby 3.4.11-
|
|
1
|
+
# wasix-ruby 3.4.11-13
|
|
2
2
|
|
|
3
|
-
Built against wasix-sysroot **2025.9.30-
|
|
3
|
+
Built against wasix-sysroot **2025.9.30-28**. **No epoll**: SLICC returns ENOSYS (52)
|
|
4
4
|
for `epoll_create`; MRI is compiled with `USE_MN_THREADS=0` and
|
|
5
5
|
`HAVE_SYS_EPOLL_H=0` (also kqueue/eventfd/timerfd off) so it uses poll()/timer-thread.
|
|
6
6
|
|
package/README.md
CHANGED
|
@@ -2,10 +2,33 @@
|
|
|
2
2
|
|
|
3
3
|
MRI Ruby for slicc WASIX. No epoll (poll fallback). See PRESTAGE.md.
|
|
4
4
|
|
|
5
|
-
Built on wasix-sysroot 2025.9.30-
|
|
6
|
-
PRESTAGE.md).
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
Built on wasix-sysroot 2025.9.30-28 or later (the WASIX libc and headers; see
|
|
6
|
+
PRESTAGE.md).
|
|
7
|
+
|
|
8
|
+
## The interpreter path (3.4.11-12)
|
|
9
|
+
|
|
10
|
+
`Gem.ruby` and `RbConfig.ruby` are the first `ruby` on PATH outside the
|
|
11
|
+
package, which is slicc-kernel's `/usr/bin/ruby` command. Run through it,
|
|
12
|
+
ruby gets the command's `RUBYLIB`, `GEM_HOME` and `GEM_PATH` defaults, so
|
|
13
|
+
`system(Gem.ruby, "-e", "exit 3")` exits 3 from any process, and RubyGems
|
|
14
|
+
writes `#!/usr/bin/ruby` into the gem executables it installs. Without a
|
|
15
|
+
`ruby` on PATH they fall back to the package's `bin/ruby`.
|
|
16
|
+
|
|
17
|
+
`bin/ruby` (`RbConfig::CONFIG["bindir"]`) is the wasm module itself, so the
|
|
18
|
+
kernel can exec it by path and use it in a shebang. It doesn't get the
|
|
19
|
+
command's environment: started from ruby (which passes its own `RUBYLIB` and
|
|
20
|
+
`GEM_*` on) it works fully, but started from a shell without them ruby can't
|
|
21
|
+
find RubyGems (`RubyGems were not loaded`). Use `ruby` or `/usr/bin/ruby` from a
|
|
22
|
+
shell. The package's `gem`, `bundle`, `rake`, `irb` and `erb` scripts start
|
|
23
|
+
with `#!/usr/bin/env ruby`, so they also run by path.
|
|
24
|
+
|
|
25
|
+
Up to 3.4.11-11 `bin/ruby` was a 7-byte `#!wasm` marker that the kernel
|
|
26
|
+
can't exec: `system(Gem.ruby, …)` gave 127, and the executables RubyGems
|
|
27
|
+
installed (shebang `#!…/wasix-ruby/bin/ruby`) gave "bad interpreter". Those
|
|
28
|
+
executables now run when started from ruby; to make them run from a shell
|
|
29
|
+
too, rewrite their shebangs with `gem pristine --only-executables <gem>…`
|
|
30
|
+
for the gems you installed (`--all` would also rewrite the package's own
|
|
31
|
+
gems).
|
|
9
32
|
|
|
10
33
|
Since 3.4.11-8, single-fd waits (`IO#wait_readable`, blocking `TCPSocket.new`,
|
|
11
34
|
`Net::HTTP`, blocking `SSLSocket#connect`/`#accept`) use poll(): WASIX's select()
|
|
@@ -14,6 +37,14 @@ fails. `io/console` is built, so `irb` and reline work.
|
|
|
14
37
|
|
|
15
38
|
`TZ` is ignored: wasix-libc's localtime is UTC only (homescoop#193).
|
|
16
39
|
|
|
40
|
+
## 3.4.11-13: wasix-sysroot 2025.9.30-28
|
|
41
|
+
|
|
42
|
+
A rebuild on wasix-sysroot -28, whose libc keeps real signal masks through
|
|
43
|
+
slicc-kernel (≥ 1.88.0), so MRI's own `pthread_sigmask`/`sigprocmask` calls
|
|
44
|
+
now take effect. Ruby has no API of its own for masks, so
|
|
45
|
+
nothing changes at the Ruby level: `Signal.trap` handlers still run when
|
|
46
|
+
other threads are busy.
|
|
47
|
+
|
|
17
48
|
## 3.4.11-11: wasix-sysroot 2025.9.30-27
|
|
18
49
|
|
|
19
50
|
- `File.utime(nil, nil, f)` and `FileUtils.touch(f)` set the times to now;
|
|
@@ -34,7 +65,9 @@ Command env puts user gem bins ahead of the package:
|
|
|
34
65
|
${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}
|
|
35
66
|
```
|
|
36
67
|
|
|
37
|
-
|
|
68
|
+
Those are defaults: a `PATH` the caller already has wins, as it does when you
|
|
69
|
+
start `ruby` from bash. To run gem executables **by name**, add the user gem
|
|
70
|
+
bin directory to your PATH, e.g. in `~/.bashrc`:
|
|
38
71
|
|
|
39
72
|
```bash
|
|
40
73
|
export PATH="$HOME/.local/share/gem/ruby/3.4.0/bin:$PATH"
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Third-party notices
|
|
2
2
|
|
|
3
|
-
ruby
|
|
3
|
+
bin/ruby statically links the following (ext/openssl, ext/zlib, ext/psych, and wasix-libc).
|
|
4
4
|
|
|
5
5
|
## OpenSSL 3.5.9 (@ai-ecoverse/wasix-openssl 3.5.9-3), Apache-2.0
|
|
6
6
|
|
|
@@ -236,7 +236,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
236
236
|
SOFTWARE.
|
|
237
237
|
```
|
|
238
238
|
|
|
239
|
-
## wasix-libc (@ai-ecoverse/wasix-sysroot 2025.9.30-
|
|
239
|
+
## wasix-libc (@ai-ecoverse/wasix-sysroot 2025.9.30-28; files from tag v2025-09-02.1)
|
|
240
240
|
|
|
241
241
|
```text
|
|
242
242
|
wasi-libc as a whole is multi-licensed under the
|
package/bin/bundle
CHANGED
package/bin/bundler
CHANGED
package/bin/erb
CHANGED
package/bin/gem
CHANGED
package/bin/irb
CHANGED
package/bin/rake
CHANGED
package/bin/ruby
CHANGED
|
Binary file
|
|
@@ -357,10 +357,14 @@ module RbConfig
|
|
|
357
357
|
#
|
|
358
358
|
# returns the absolute pathname of the ruby command.
|
|
359
359
|
def RbConfig.ruby
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
360
|
+
name = RbConfig::CONFIG["ruby_install_name"] + RbConfig::CONFIG["EXEEXT"]
|
|
361
|
+
own = File.join(RbConfig::CONFIG["bindir"], name)
|
|
362
|
+
ENV.fetch("PATH", "").split(File::PATH_SEPARATOR).each do |dir|
|
|
363
|
+
next unless dir.start_with?("/")
|
|
364
|
+
path = File.join(dir, name)
|
|
365
|
+
return path if path != own && File.file?(path)
|
|
366
|
+
end
|
|
367
|
+
own
|
|
364
368
|
end
|
|
365
369
|
end
|
|
366
370
|
CROSS_COMPILING = nil unless defined? CROSS_COMPILING
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-ecoverse/wasix-ruby",
|
|
3
|
-
"version": "3.4.11-
|
|
4
|
-
"description": "MRI Ruby for slicc WASIX (no epoll; asyncify spill 65536; date_core; wasix-sysroot 2025.9.30-
|
|
3
|
+
"version": "3.4.11-13",
|
|
4
|
+
"description": "MRI Ruby for slicc WASIX (no epoll; asyncify spill 65536; date_core; wasix-sysroot 2025.9.30-28: user ids, traps and times from slicc-kernel)",
|
|
5
5
|
"engines": {
|
|
6
6
|
"slicc-kernel": ">=1.44.0"
|
|
7
7
|
},
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"abi": "wasi",
|
|
32
32
|
"commands": {
|
|
33
33
|
"ruby": {
|
|
34
|
-
"wasm": "bin/ruby
|
|
34
|
+
"wasm": "bin/ruby",
|
|
35
35
|
"env": {
|
|
36
36
|
"PATH": "${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}",
|
|
37
37
|
"RUBYLIB": "${package}/lib/ruby/site_ruby/3.4.0:${package}/lib/ruby/site_ruby/3.4.0/wasm32-wasi:${package}/lib/ruby/vendor_ruby/3.4.0:${package}/lib/ruby/vendor_ruby/3.4.0/wasm32-wasi:${package}/lib/ruby/3.4.0:${package}/lib/ruby/3.4.0/wasm32-wasi",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"gem": {
|
|
43
|
-
"wasm": "bin/ruby
|
|
43
|
+
"wasm": "bin/ruby",
|
|
44
44
|
"args": [
|
|
45
45
|
"${package}/bin/gem"
|
|
46
46
|
],
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
}
|
|
53
53
|
},
|
|
54
54
|
"bundle": {
|
|
55
|
-
"wasm": "bin/ruby
|
|
55
|
+
"wasm": "bin/ruby",
|
|
56
56
|
"args": [
|
|
57
57
|
"${package}/bin/bundle"
|
|
58
58
|
],
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
"rake": {
|
|
67
|
-
"wasm": "bin/ruby
|
|
67
|
+
"wasm": "bin/ruby",
|
|
68
68
|
"args": [
|
|
69
69
|
"${package}/bin/rake"
|
|
70
70
|
],
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
}
|
|
77
77
|
},
|
|
78
78
|
"irb": {
|
|
79
|
-
"wasm": "bin/ruby
|
|
79
|
+
"wasm": "bin/ruby",
|
|
80
80
|
"args": [
|
|
81
81
|
"${package}/bin/irb"
|
|
82
82
|
],
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
}
|
|
89
89
|
},
|
|
90
90
|
"erb": {
|
|
91
|
-
"wasm": "bin/ruby
|
|
91
|
+
"wasm": "bin/ruby",
|
|
92
92
|
"args": [
|
|
93
93
|
"${package}/bin/erb"
|
|
94
94
|
],
|
package/bin/ruby.wasm
DELETED
|
Binary file
|