PhoenicisOrg / phoenicis

Phoenicis PlayOnLinux and PlayOnMac 5 repository
https://phoenicis.org/
GNU Lesser General Public License v3.0
680 stars 73 forks source link

CONCEPT: Support all scripting langs #2027

Closed Kreyren closed 5 years ago

Kreyren commented 5 years ago

I was working on this concept that i think could be adapted in phoenicis.

Current

Currently we support only javascript with plan to support lutris scripts(https://github.com/PhoenicisOrg/phoenicis/issues/1716).

Expected

Support all scripting langs

How?

1) Make phoenicis execute all scripts (core functionality) 2) Adapt sandbox

Reasoning: We can make sandbox with a work and image directory where all the work would be done in work directory (What is currently beeing done using javascript) and then moved to image where image would have files alike: /home/$USER/Games/somegame which would be merged in live system if work was successful.

I believe that if we base scripts around making final configuration in image directory that we could use all scripting langs since we would expect from all these to provide this final configuration in image directory assuming that the work could be done in work directory.

Theoretically we would only have to adapt sandbox (which we are currently using anyway in a form of containers) and change javascript to output scripts in image from where they would be merged into a live system.


Inspired by paludis/portage concept.

plata commented 5 years ago

What's the advantage for our users?

Kreyren commented 5 years ago

@plata Users would be able to use any scripting lang to install phoenicisapp for contribution without additional maintainance.

plata commented 5 years ago

So? (I still do not see the benefit)

Kreyren commented 5 years ago

@plata Meaning that we could use any script to install phoenicisapp which is huge benefit.

plata commented 5 years ago

Why is it a benefit?

Kreyren commented 5 years ago

Does it provide support for any additional app?

Yes, because i prefer making bash/ion script instead of depending on provided imports + We can use POL4 and lutris scripts.

Does it increase maintenance effort?

Not really since you maintain javascript scripts and rest can be community maintained or built from scratch or used in separate repositories.

Does it increase the complexity and thus the potential for errors?

Depends on the script where my scripts are always perfect -> no errors

madoar commented 5 years ago

@Kreyren you're free to provide support for other scripting languages. Our focus is on providing support for JavaScript based scripts. This doesn't mean that we won't agree to adding support for other scripting languages, we just won't add them ourselves.

Feel free to provide a PR, if the extension is good and it fits inside Phoenicis I see no reason why we shouldn't merge it.

Kreyren commented 5 years ago

@madoar Making MR from me is not an option since i would probably have to change a way how phoenicis handles scripts which would be pita to agree on + i suck at java.

I will probably make the MR if none else wants to do it, but i would maintain it in my fork probably..

Currently willing to provide simple javascripts scripts and bash/shell code.

ghost commented 3 years ago

I would find that feature cool,cause it would be nice to use Lutris installers,cause that's the mainstreaming platform people make scripts for.

plata commented 3 years ago

See https://github.com/PhoenicisOrg/scripts/pull/788.