@ai-ecoverse/wasix-ruby 3.4.11-17 → 3.4.11-19

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 CHANGED
@@ -1,6 +1,6 @@
1
- # wasix-ruby 3.4.11-17
1
+ # wasix-ruby 3.4.11-19
2
2
 
3
- Built against wasix-sysroot **2025.9.30-32**. **No epoll**: SLICC returns ENOSYS (52)
3
+ Built against wasix-sysroot **2025.9.30-34**. **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
 
@@ -26,8 +26,8 @@ linked against /home/runner/work/homescoop/homescoop/packages/wasix-ruby/work/de
26
26
  ## Gems / flock / uid (-5)
27
27
  - `GEM_HOME=${HOME}/.local/share/gem/ruby/3.4.0` (writable under SLICC HOME).
28
28
  - `GEM_PATH=${HOME}/.local/share/gem/ruby/3.4.0:${package}/lib/ruby/gems/3.4.0`.
29
- - `File#flock` / `missing/flock.c` `__wasi__`: whole-file fcntl record locks (since 3.4.11-17,
30
- homescoop#578; up to -16 a no-op success; upstream EINVAL).
29
+ - `File#flock`: libc's flock(2) through slicc.flock, per open file description (since 3.4.11-18,
30
+ wasix-sysroot -34; -17 whole-file fcntl record locks, homescoop#578; up to -16 a no-op success).
31
31
  - `Process.uid`/`euid`/`gid`/`groups`, `Etc.getpwuid` and `Dir.home` come from
32
32
  slicc-kernel's process credentials (wasix-sysroot -20, slicc-kernel >= 1.44.0):
33
33
  root is uid 0 with home /root; a `kernel.users.add` user gets its own ids.
package/README.md CHANGED
@@ -37,7 +37,18 @@ 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-17: File#flock excludes other processes
40
+ ## 3.4.11-18: real File#flock (wasix-sysroot -34; slicc-kernel ≥ 1.120.0)
41
+
42
+ - **What changed:** `File#flock` is libc's `flock(2)`, through slicc-kernel's `slicc.flock`.
43
+ - **Semantics, as on Linux:**
44
+ - a lock belongs to the open file description, on any IO: a file, a pipe, a terminal, a socket or a directory;
45
+ - a second `File.open` of the same file, or a pipe's other end, conflicts;
46
+ - a `dup` and a spawned child's inherited descriptor share the lock;
47
+ - `LOCK_EX` on a read-only file excludes.
48
+ - **Before:** -17 used whole-file fcntl record locks, which belonged to the process, covered regular files only, and on a read-only handle took a read lock instead of `LOCK_EX`.
49
+ - **Kernel:** this needs slicc-kernel ≥ 1.120.0 (engines).
50
+
51
+ ## 3.4.11-17: File#flock excludes other processes (up to -17)
41
52
 
42
53
  `File#flock` takes whole-file `fcntl` record locks (`LOCK_SH` → read lock,
43
54
  `LOCK_EX` → write lock, `LOCK_UN` → unlock; `LOCK_NB` doesn't wait), which
@@ -2,7 +2,7 @@
2
2
 
3
3
  bin/ruby statically links the following (ext/openssl, ext/zlib, ext/psych, and wasix-libc).
4
4
 
5
- ## OpenSSL 3.5.9 (@ai-ecoverse/wasix-openssl 3.5.9-3), Apache-2.0
5
+ ## OpenSSL 3.5.9 (@ai-ecoverse/wasix-openssl 3.5.9-4), Apache-2.0
6
6
 
7
7
  ```text
8
8
 
@@ -184,7 +184,7 @@ bin/ruby statically links the following (ext/openssl, ext/zlib, ext/psych, and w
184
184
  END OF TERMS AND CONDITIONS
185
185
  ```
186
186
 
187
- ## zlib 1.3.1 (@ai-ecoverse/wasix-zlib 1.3.1-2)
187
+ ## zlib 1.3.1 (@ai-ecoverse/wasix-zlib 1.3.1-3)
188
188
 
189
189
  ```text
190
190
  Copyright notice:
@@ -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-32; files from tag v2025-09-02.1)
239
+ ## wasix-libc (@ai-ecoverse/wasix-sysroot 2025.9.30-34; files from tag v2026-07-03.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,9 +1,9 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/wasix-ruby",
3
- "version": "3.4.11-17",
4
- "description": "MRI Ruby for slicc WASIX (no epoll; asyncify spill 65536; date_core; wasix-sysroot 2025.9.30-32: user ids, traps and times from slicc-kernel)",
3
+ "version": "3.4.11-19",
4
+ "description": "MRI Ruby for slicc WASIX (no epoll; asyncify spill 65536; date_core; wasix-sysroot 2025.9.30-34: user ids, traps, flock and times from slicc-kernel)",
5
5
  "engines": {
6
- "slicc-kernel": ">=1.100.0"
6
+ "slicc-kernel": ">=1.120.0"
7
7
  },
8
8
  "license": "Ruby",
9
9
  "repository": {