larsch/ocra

OCRA on Linux?

Opened this issue · 1 comments

In other github issue discussions here Lars points out the time constraints, so I am
not expecting this suggestion to be easily implemented. But I hope it may serve
a bit as a discussion section before being closed - something perhaps 1-3 months
or so to keep it open would be nice.

Lately I used ocra on windows and it worked; I had to fiddle about a bit but I got
.exe files and they were running fine. I was a bit surprised about:

File.exist?

checks not working "properly" in the sense that the paths seem to be different.
For instance, I distribute yaml files under lib/yaml/ but when this is in an ocra
built .exe, the paths seem different or something. That made me fix my gems,
so when I try to load any yaml file, I always now first do a File.exist? check. :D

Anyway. That is a small issue.

The more interesting thing would be if ocra could be used to distribute "one
bundle" that can work on windows and linux. The latter does not need to pull
in all shared libraries or static libraries. I am more referring to a single file
that people on linux could simply run, where ruby is also part of that. I don't
know how easy it is to do that. Or, more importantly, what steps would be
necessary. But it would be super convenient to quickly distribute such a
file. Right now my code works fine via ruby; people can use gem install
too, and this all works. But it all creates knowledge barriers for people
who don't know ruby and/or are elderly. So for these people, the non-tech
folks, a one-click installer is super-convenient. Like an .exe file, but also
works on Linux.

I don't mean to support all distributions or bundle everything in it. It's
ok for linux users to first clean up their own system, so that executable
file for linux really just is mostly the ruby binary, and then the application,
and all necessary gems.

Anyway - I don't want to write too much, but it would be pretty nifty if
we could have one-clickable installers on every major OS, a bit like
how libui and ruby-libui works (I tried it on windows and the libui
GUI works fine on windows, whereas I can not compile gtk on
windows without missing symbols ...)

https://github.com/tamatebako/tebako supports Ubuntu, Alpine and MacOS packaging