You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have checked the repository for duplicate issues.
What enhancement would you like to see?
Improve the way we build the app. This has multiple parts, so pardon the simple name of the issue.
While getting set up for #82, I realized that the way we build the app has a lot to be desired. Especially for Mac users. This mainly boils down to how many dependencies there are, and how they get installed. The key issues are:
CTRPluginFramework lacks instructions of Mac. I was able to get this working by manually adding the [thepixellizeross-lib] section of the the "Linux (dkp-pacman)" instructions (skipping [thepixellizeross-linux]) to pacman.conf, which seemed to work just fine, but this is not documented anywhere
3gxtool does not support Mac at all. I was able to get it building by making minor changes to CMakeLists.txt and extern/dynalo/include/dynalo/detail/config.hpp to trick it into building despite not supporting Mac (which seems to work), but this again not documented anywhere. I did find https://github.com/biometrix76/3gxtool which claims to have added Mac support, but it also changed a ton of files I didn't need to change so I wasn't sure how legit it was (and I didn't feel like digging through it all)
It's honestly just a shit ton of stuff to download, build, and install
While ideally the issues like Mac support would be fixed upstream, we can't control other projects and we have other options. Namely, we could provide a Dockerfile that handles dependencies and building for us so we don't have to worry about those issues. Inkay already does this as well (https://github.com/PretendoNetwork/Inkay/blob/main/.github/workflows/ci.yml). The only concern is making sure bannertool is present (I suggested last year vendoring these dependencies, to avoid them from going down again, but was met with pushback on that).
Checked Existing
What enhancement would you like to see?
Improve the way we build the app. This has multiple parts, so pardon the simple name of the issue.
While getting set up for #82, I realized that the way we build the app has a lot to be desired. Especially for Mac users. This mainly boils down to how many dependencies there are, and how they get installed. The key issues are:
[thepixellizeross-lib]section of the the "Linux (dkp-pacman)" instructions (skipping[thepixellizeross-linux]) topacman.conf, which seemed to work just fine, but this is not documented anywhereCMakeLists.txtandextern/dynalo/include/dynalo/detail/config.hppto trick it into building despite not supporting Mac (which seems to work), but this again not documented anywhere. I did find https://github.com/biometrix76/3gxtool which claims to have added Mac support, but it also changed a ton of files I didn't need to change so I wasn't sure how legit it was (and I didn't feel like digging through it all)While ideally the issues like Mac support would be fixed upstream, we can't control other projects and we have other options. Namely, we could provide a Dockerfile that handles dependencies and building for us so we don't have to worry about those issues. Inkay already does this as well (https://github.com/PretendoNetwork/Inkay/blob/main/.github/workflows/ci.yml). The only concern is making sure bannertool is present (I suggested last year vendoring these dependencies, to avoid them from going down again, but was met with pushback on that).
Additionally, I think it would be good to look into automating the builds. That way we can use CI to push new releases, using the above build system. Inkay also does this already (https://github.com/PretendoNetwork/Inkay/blob/main/Dockerfile).
Any other details to share? (OPTIONAL)
No response