-
Notifications
You must be signed in to change notification settings - Fork 29
Packaging.md
Packaging is going to be enormous. It was very hard for Shoes. It's going to be hard for us. It's also going to have massive overlap with multi-platform issues.
Ruby is already hard to package. We don't want to require a full software-dev-style Ruby install on every machine that can run Scarpe. So we'll want something like Traveling Ruby to install a packaged end-user Ruby instead. It could be some other way of packaging Ruby executables but that field is pretty dead as I write this (Oct 2023).
Yousaf Nabi has been maintaining an alternate fork of Traveling Ruby for projects he's doing, which is probably our best bet: old release issue, more recent release issue, his fork of traveling_ruby.
However, traveling_ruby doesn't support Windows native gems, and native gems are really important to Shoes. For native gems and very recent Ruby, Yousaf recommends a fork of OCRA, a Windows Ruby installer
Testing this stuff is going to be very hard. We'll need to test with a (probably virtual) machine of the appropriate type that doesn't have Scarpe installed and simulate the Ruby-and-Scarpe installation, run the Shoes-Spec tests, etc. Going to be a fair bit of effort.
There's an old Shoes walkthrough that talks more about how Shoes3 did this stuff.
Compatibility and packaging are hard. One great thing about Scarpe-Wasm is that it's cross-platform by nature. But it's also much harder to use it for the kind of "duct tape" debugging and UI apps that Scarpe is so good at, since it can't easily run a command-line program on your local computer.
Old Shoes included binject as a dependency.