@ai-ecoverse/wasix-ruby 3.4.11-13 → 3.4.11-14
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 +4 -3
- package/README.md +22 -0
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/bin/ruby +0 -0
- package/package.json +13 -8
package/PRESTAGE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# wasix-ruby 3.4.11-
|
|
1
|
+
# wasix-ruby 3.4.11-14
|
|
2
2
|
|
|
3
|
-
Built against wasix-sysroot **2025.9.30-
|
|
3
|
+
Built against wasix-sysroot **2025.9.30-30**. **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
|
|
|
@@ -18,7 +18,8 @@ linked against /home/runner/work/homescoop/homescoop/packages/wasix-ruby/work/de
|
|
|
18
18
|
|
|
19
19
|
## Relocation / RUBYLIB
|
|
20
20
|
- Stdlib under `lib/ruby/<API>` (e.g. **3.4.0**), arch `…/wasm32-wasi/rbconfig.rb`.
|
|
21
|
-
- `RUBYLIB` =
|
|
21
|
+
- `RUBYLIB` = api + `/wasm32-wasi` (and site_ruby, vendor_ruby when they hold files;
|
|
22
|
+
npm packs no empty directory), all `${package}/…`.
|
|
22
23
|
- **Certify only** at `/shared/lib/node_modules/@ai-ecoverse/wasix-ruby` with
|
|
23
24
|
manifest env. Never at `/ruby` (hides missing RUBYLIB — -3 false pass).
|
|
24
25
|
|
package/README.md
CHANGED
|
@@ -37,6 +37,28 @@ fails. `io/console` is built, so `irb` and reline work.
|
|
|
37
37
|
|
|
38
38
|
`TZ` is ignored: wasix-libc's localtime is UTC only (homescoop#193).
|
|
39
39
|
|
|
40
|
+
## 3.4.11-14: wasix-sysroot 2025.9.30-30
|
|
41
|
+
|
|
42
|
+
- POSIX record locks: `require "fcntl"` now defines `Fcntl::F_GETLK`,
|
|
43
|
+
`F_SETLK`, `F_SETLKW` and `F_RDLCK`/`F_WRLCK`/`F_UNLCK` (up to 3.4.11-13
|
|
44
|
+
they were missing: `NameError`), and `IO#fcntl` passes them to slicc-kernel
|
|
45
|
+
(≥ 1.100.0), which keeps the locks per process, as Linux does. A
|
|
46
|
+
`Process.spawn`ed ruby asking for a write lock on a range another process
|
|
47
|
+
holds gets `Errno::EAGAIN`, `F_SETLKW` waits for the unlock, and `F_GETLK`
|
|
48
|
+
names the holder. On an older kernel every lock is granted locally and
|
|
49
|
+
`F_GETLK` answers `F_UNLCK`. The struct is `[type, whence, start, len,
|
|
50
|
+
pid].pack("s s x4 q q l x4")` (32 bytes). `File#flock` is unchanged: an
|
|
51
|
+
advisory no-op that succeeds (`bundle install` and `gem install` lock
|
|
52
|
+
their files with it).
|
|
53
|
+
- `RUBYLIB` names only the package's library directories that exist,
|
|
54
|
+
`lib/ruby/3.4.0` and its `wasm32-wasi`. Up to 3.4.11-13 it also named
|
|
55
|
+
`site_ruby` and `vendor_ruby` (and their `wasm32-wasi`), which npm never
|
|
56
|
+
packs because they are empty, so every require of the standard library
|
|
57
|
+
first probed four missing directories. `ruby -rirb -e 1` makes about 16%
|
|
58
|
+
fewer file-system calls (slicc-kernel#774).
|
|
59
|
+
- wasix-sysroot -29 and -30 also bring `poll` with `events` 0 and named
|
|
60
|
+
semaphores (no Ruby API uses them).
|
|
61
|
+
|
|
40
62
|
## 3.4.11-13: wasix-sysroot 2025.9.30-28
|
|
41
63
|
|
|
42
64
|
A rebuild on wasix-sysroot -28, whose libc keeps real signal masks through
|
package/THIRD-PARTY-NOTICES.md
CHANGED
|
@@ -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-30; 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/ruby
CHANGED
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
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-14",
|
|
4
|
+
"description": "MRI Ruby for slicc WASIX (no epoll; asyncify spill 65536; date_core; wasix-sysroot 2025.9.30-30: user ids, traps and times from slicc-kernel)",
|
|
5
5
|
"engines": {
|
|
6
6
|
"slicc-kernel": ">=1.44.0"
|
|
7
7
|
},
|
|
8
8
|
"license": "Ruby",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/ai-ecoverse/homescoop.git",
|
|
12
|
+
"directory": "packages/wasix-ruby/package"
|
|
13
|
+
},
|
|
9
14
|
"files": [
|
|
10
15
|
"README.md",
|
|
11
16
|
"LICENSE",
|
|
@@ -34,7 +39,7 @@
|
|
|
34
39
|
"wasm": "bin/ruby",
|
|
35
40
|
"env": {
|
|
36
41
|
"PATH": "${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}",
|
|
37
|
-
"RUBYLIB": "${package}/lib/ruby/
|
|
42
|
+
"RUBYLIB": "${package}/lib/ruby/3.4.0:${package}/lib/ruby/3.4.0/wasm32-wasi",
|
|
38
43
|
"GEM_HOME": "${HOME}/.local/share/gem/ruby/3.4.0",
|
|
39
44
|
"GEM_PATH": "${HOME}/.local/share/gem/ruby/3.4.0:${package}/lib/ruby/gems/3.4.0"
|
|
40
45
|
}
|
|
@@ -46,7 +51,7 @@
|
|
|
46
51
|
],
|
|
47
52
|
"env": {
|
|
48
53
|
"PATH": "${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}",
|
|
49
|
-
"RUBYLIB": "${package}/lib/ruby/
|
|
54
|
+
"RUBYLIB": "${package}/lib/ruby/3.4.0:${package}/lib/ruby/3.4.0/wasm32-wasi",
|
|
50
55
|
"GEM_HOME": "${HOME}/.local/share/gem/ruby/3.4.0",
|
|
51
56
|
"GEM_PATH": "${HOME}/.local/share/gem/ruby/3.4.0:${package}/lib/ruby/gems/3.4.0"
|
|
52
57
|
}
|
|
@@ -58,7 +63,7 @@
|
|
|
58
63
|
],
|
|
59
64
|
"env": {
|
|
60
65
|
"PATH": "${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}",
|
|
61
|
-
"RUBYLIB": "${package}/lib/ruby/
|
|
66
|
+
"RUBYLIB": "${package}/lib/ruby/3.4.0:${package}/lib/ruby/3.4.0/wasm32-wasi",
|
|
62
67
|
"GEM_HOME": "${HOME}/.local/share/gem/ruby/3.4.0",
|
|
63
68
|
"GEM_PATH": "${HOME}/.local/share/gem/ruby/3.4.0:${package}/lib/ruby/gems/3.4.0"
|
|
64
69
|
}
|
|
@@ -70,7 +75,7 @@
|
|
|
70
75
|
],
|
|
71
76
|
"env": {
|
|
72
77
|
"PATH": "${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}",
|
|
73
|
-
"RUBYLIB": "${package}/lib/ruby/
|
|
78
|
+
"RUBYLIB": "${package}/lib/ruby/3.4.0:${package}/lib/ruby/3.4.0/wasm32-wasi",
|
|
74
79
|
"GEM_HOME": "${HOME}/.local/share/gem/ruby/3.4.0",
|
|
75
80
|
"GEM_PATH": "${HOME}/.local/share/gem/ruby/3.4.0:${package}/lib/ruby/gems/3.4.0"
|
|
76
81
|
}
|
|
@@ -82,7 +87,7 @@
|
|
|
82
87
|
],
|
|
83
88
|
"env": {
|
|
84
89
|
"PATH": "${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}",
|
|
85
|
-
"RUBYLIB": "${package}/lib/ruby/
|
|
90
|
+
"RUBYLIB": "${package}/lib/ruby/3.4.0:${package}/lib/ruby/3.4.0/wasm32-wasi",
|
|
86
91
|
"GEM_HOME": "${HOME}/.local/share/gem/ruby/3.4.0",
|
|
87
92
|
"GEM_PATH": "${HOME}/.local/share/gem/ruby/3.4.0:${package}/lib/ruby/gems/3.4.0"
|
|
88
93
|
}
|
|
@@ -94,7 +99,7 @@
|
|
|
94
99
|
],
|
|
95
100
|
"env": {
|
|
96
101
|
"PATH": "${HOME}/.local/share/gem/ruby/3.4.0/bin:${package}/bin:${PATH}",
|
|
97
|
-
"RUBYLIB": "${package}/lib/ruby/
|
|
102
|
+
"RUBYLIB": "${package}/lib/ruby/3.4.0:${package}/lib/ruby/3.4.0/wasm32-wasi",
|
|
98
103
|
"GEM_HOME": "${HOME}/.local/share/gem/ruby/3.4.0",
|
|
99
104
|
"GEM_PATH": "${HOME}/.local/share/gem/ruby/3.4.0:${package}/lib/ruby/gems/3.4.0"
|
|
100
105
|
}
|