Ruby Head compatibility
Nessuno ha ancora preso questa issue.
- Lingua principale
- Ruby
- Stelle
- 875
- Fork
- 68
- Merge medio
- 9g 5h
- PR unite (30g)
- 1
Descrizione
I'm actively experimenting with the head Ruby builds (mostly due to #555) and collecting some compatibility
issues compared to 3.3 release here.
Gem/lib versions:
- ruby_wasm: 2.7.0
- js: 2.7.0
- Tempfile vs. /dev/null: https://github.com/ruby/tempfile/pull/38
This commit broke loading tempfile.rb: https://github.com/ruby/ruby/commit/136cbf04419acf993357701e54712f921a294355
require "tempfile"
# => 'File#initialize': No such file or directory @ rb_sysopen - /dev/null (Errno::ENOENT)
Not sure how to properly handle /dev/null in Wasm, though; maybe, we should return nil for IO::NULL and check for nil-ness whenever it's used 🤔
- Fails to require
digest/sha1: https://github.com/ruby/digest/pull/71
require "digest/sha1"
#=> <internal:/usr/local/lib/ruby/3.4.0+0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require': rb_digest_wrap_metadata not found (LoadError)
<internal:/usr/local/lib/ruby/3.4.0+0/rubygems/core_ext/kernel_require.rb>:136:in 'Kernel#require'
eval:3:in '<main>'
-e:in 'Kernel.eval'
Worked fine in 3.3.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Riproduci i due errori con ruby.wasm 2.7.0, iniziando dagli esempi di require per tempfile.rb e digest/sha1. Esamina le pull request referenziate relative a tempfile e digest e il commit di Ruby, quindi confronta il comportamento con Ruby 3.3. Il lavoro è completato quando entrambe le librerie vengono caricate correttamente nella build WebAssembly head.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- ruby, wasm
- Ambito
- operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100