I tried it only two weeks ago on latest Haiku Nightly 64bit.
Rebasing the patchset over the current source worked without any conflicts, if I remember right.
The browser still worked fine, but crashed often, not much changed here.
Note that most work nowadays goes into the forked Ladybird that is developed outside of SerenityOS.
I also tried porting that one to Haiku, but failed at its dependencies.
Most of them were rather easy to port, not so with Angle, then I’ve given up.
I assume it is this GitHub - google/angle: A conformant OpenGL ES implementation for Windows, Mac, Linux, iOS and Android.?
Can you elaborate on the problems faced? Perhaps x512 or kallisti5 might help if it is graphics related?
Yes,it’s that.
Here’s a screenshot of the error message when trying to compile it: Making sure you're not a bot!
It fails early in the build system without even starting to compile the code.
It complains about build/config/gclient_args.gni not existing and I can confirm that this file is really not there.
I should note that Angle has dozens of dependencies it includes as submodules,and some of them seem to require authentication to clone (WTF?) so that could explain the missing files.
After all,that thing seems like a huge mess and I didn’t feel like wasting more time on it.
Did you try ./build/install-build-deps.sh ? This is Linux only but it may work
Yes,and it’s not only Linux-only but even then,it expects apt-get so it’s Debian-based-only.
Here’s the result of trying to run it:
install-build-deps.py [ERROR]: lsb_release not found in $PATH
install-build-deps.py [ERROR]: try: sudo apt-get install lsb-release
And even if it worked,I’m not sure if it would be of much help.
I looked into the file and it does only install system packages that are required to build Angle,but my problem is (most likely) with the submodules in the Git repository itself.
I tried myself and got stuck to CIPD not working correctly while installing depot_tools
Submodules need to be initialized one time:
git submodule update --init --recursive
then whenever you update your repo, make sure submodules are synchronized:
git submodule update
That’s all there is to it.