Mac Builds
pfirsich opened this issue · 2 comments
I could just implement what the Game Distribution page tells me to do, but I have no way of testing it, because I do not have a Mac. And even if someone would test this for me, I would require continuous assistance, because I do not want to have code lying around that I can not test myself at all (someone else would have to take responsibility for it).
I also have no idea how to handle shared libraries.
@hollunder on the löve Discord has asked me about this feature and offered to test and debug it once I implemented the basic version. During my attempt to do that, I encountered a comical amount of roadblocks:
- The trivial solution would be to extract, modify and compress the .zip containing the love.app directory from the löve downloads page. Sadly I cannot do that, because Windows does not support symlinks unless in Developer Mode or unless the application is ran as Administrator. So I think I have to modify the .zip in place.
- The first thing I would have to do is rename love.app to Game.app. Sadly Python does not support renaming directories in zip files.
- Therefore I need to read the file and write it to another directory again. Unfortunately Python's zipfile module also does not support symlinks, which are present in the love.app file from the download page.
My only, very sad, idea would be to use platform specific command line tools. For Windows I would use 7zip, but sadly the command line tool version of it is distributed as a .7z.
I am pretty annoyed by this whole thing, so for now I will just use the the zip
and unzip
command line utilities commonly present on Linux, extract the full thing, modify and compress it again. This feature will be restricted to Linux only. I know it is silly, but a proper solution seems surprisingly effortful and I think restricting a feature to Linux is fine, because it's very easy to get Linux virtual machines and you could run makelove in a GitHub Action for free.
I am not sure what exactly a proper solution would look like, but even though I might not work on it right away, I would really like to figure it out.