larsch / ocra

One-Click Ruby Application Builder
http://ocra.rubyforge.org/
833 stars 84 forks source link

OCRA on Linux? #176

Open rubyFeedback opened 3 years ago

rubyFeedback commented 3 years ago

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 ...)

maxirmx commented 7 months ago

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