[Update]: Recompiling the gcc package again as the version available in the Manjaro repo has been bumped up.
[Update-2]: Created gcc-9.2.0-5 packages so that it won't block pacman. I don't know if it's possible to use the debian gcc directly to the latest on the Manjaro repos.
[Update-3]: After all the DIY error avoiding, we have something running. Not impressive atm yet it gives a taste. It can be fast but it needs more help.
This is a short overview of my attempt and it's progress to get Hangover on the Pinebook Pro.
The end goal, is to try to use it to run games on it using open source tools now that ExaGear no longer has availablity to purchase license.
Overall breakdown of the steps required to get Hangover based on my current research:
- Get gcc-ada on Manjaro ARM (Pending)
- Get mingw on Manjaro ARM (requires gcc-ada)
- Compile and test Hangover
gcc-ada on Manjaro ARM(needs verification) mingw libraries required by Hangover (need to find pkgbuild files) Compile Hangover with all of it's depedencies
When you begin and attempt to compile Hangover, you will find that
i686-w64-mingw32-gcc aren't available on Arch ARM based distros.
Digging a little bit further for the requirements to compile those packages, you will find that
gcc-ada is the first obstacle.
Ada is self-compiling which means that it has to be running on the system to be compiled (very rough explanation). Ada is not available on Arch ARM (and Manjaro ARM by extentention), the option to get the package is bootstrapping it.
This pull request gave me the necessarry tools (hopefully) to begin the approach: https://github.com/archlinuxarm/PKGBUILDs/pull/1557
First up, create a PKGBUILD to bootstrap ada from the Debian packages.
This will result the following gcc package containing ada: https://drive.google.com/open?id=1istPlH1Gec3mwqAP5Aqn-86xEufrNq4W
Then, make changes to PKGBUILD of gcc found on Arch Arm repository based on the pull request.
Arch Arm gcc github: https://github.com/archlinuxarm/PKGBUILDs/blob/853e349d20997cfde60db062a3c11987c50fd87a/core/gcc/PKGBUILD
Gist-V1 with the changes (dirty/ needs cleanup): https://gist.github.com/psstoyanov/d197f69ed7e7ba0b6188bc58ae14ca69
- There were several issues until the gcc packages bellow were successfully compiled:
- Debian is using
aarch64-linux-gnunaming convention. Arch/ Manjaro are using
aarch64-unknown-linux-gnuwhich can cause a few libraries to be searched in the wrong location
- The original version of
islin the pull request is
15, while Arch ARM PKGBUILD is expecting
21. I had to play a bit with the versions and what was available on Debian before it didn't complain about it.
- Compiling and running the tests took about 11-12 hours total.
- Debian is using
GCC packages with Ada (v1):
- Don't install gcc-d. It causes a conflict (not sure if it is expected).
- Find and compile the required mingw packages
- Complete the Hangover requirements