objeck / objeck-lang

Objeck is a modern object-oriented programming language with functional features tailored for machine learning. It emphasizes expression, simplicity, portability, and scalability. The programming environment consists of a compiler, virtual machine, REPL shell, and command line debugger with IDE plugins.
https://objeck.org
Other
154 stars 11 forks source link

Install Objeck #453

Closed ghost closed 7 months ago

ghost commented 7 months ago

Objeck is standalone. But what if someone want to install it to, for example, /usr, or, /usr/local? Does the current directory structure of an Objeck distribution compatible with the Linux/Unix FHS? In addition to the deploy scripts to deploy a standalone distribution of Objeck, please add install scripts to actually install it.

objeck commented 7 months ago

I usually install objeck in the /opt directory and update the paths per the readme. It has been years since I wrote a Linux .deb installer. As I am working on new features, it would be great if someone contributed such a script.

ghost commented 7 months ago

I usually install objeck in the /opt directory and update the paths per the readme. It has been years since I wrote a Linux .deb installer. As I am working on new features, it would be great if someone contributed such a script.

No. I'm not asking you to make a Debian package. I'm asking you to make a shell script, in the same spirit as your deploy shell script, to install Objeck to the file system. For example, if install to /usr/local, binaries will go to /usr/local/bin, documents and examples will go to /usr/local/share and libraries will go to /usr/local/lib. Please have a look at the Linux/Unix FHS to see where to put things. The following is only my own proposal:

The binaries in the bin and app directories of the Objeck distro will be installed to /usr/bin.

The doc and examples directories of the Objeck distro will be installed to /usr/local/share/objeck, so it will be /usr/local/share/objeck/doc and /usr/local/share/objeck/examples.

The contents under the lib directory of the Objeck distro will be installed to /usr/local/lib/objeck.

If you are OK with this layout then I think I could write the install shell script myself. It's simple. The only thing I want to make sure is how to configure Objeck for it to work with the new directory layout.