My progress at porting Ladybird, the SerenityOS Browser

That worked, thanks, compiled without any issue using the hrev57268

2 Likes

@3dEyes Is your native browser based on Ladybird already available somewhere?
Would be very interested in trying it out.
Can’t find anything on your Github account.

Not yet. I’m currently busy implementing a message looper. I’ll post it on github as soon as I get it more stable.

12 Likes

It does not seem to be compiling anymore.

6 posts were merged into an existing topic: 2FA requirement on GitHub?

Today I invested some time to make the latest version compile and run on Haiku again after @win8linux kindly offered to sent my patches back to upstream as I don’t have a M$ Github account anymore.
The idea came up in the topic about forking Ladybird from the main SerenityOS repo at Andreas Kling splits Ladybird web browser from SerenityOS, steps down as SerenityOS BDFL
My port is still based on the SerenityOS code,since that’s what I know best and it seems Ladybird is already replacing native parts with external libraries while I prefer as much own code from the SerenityOS project as possible.
Instead of wasting lots of disk space at Codeberg for a full mirror repository,I decided to only share patchfiles here that I generated with git format-patch and which can be applied using git am.
Here are the patches:
https://upload.odirf.de/file/66sQDpzb39U7.patch
https://upload.odirf.de/file/Y2G4B0pW43Y5.patch
https://upload.odirf.de/file/1rWwRCLB0SZ0.patch
https://upload.odirf.de/file/45FO825f77g2.patch
https://upload.odirf.de/file/ICaDe1JTqh90.patch
https://upload.odirf.de/file/W4Gbq7UE55O9.patch
https://upload.odirf.de/file/YDw2VXg1AGqM.patch
It’s not 100% perfect yet,for example it crashes on some heavy site that doesn’t crash on FreeBSD,and the WebProcess of a second tab does also instantly crash so you can only have one tab opened,which also isn’t the case on FreeBSD.
I’ll try to find the reasons and solutions for those bugs in the future,but todays patches make it more or less usable already.
And here’s a screenshot of the latest Ladybird browser showing the Haiku homepage :slight_smile:

14 Likes

So about the whole situation with SerenityOS and Ladybird, apparently cross-platform contributions should be going towards the Ladybird project instead of SerenityOS:

There are many messages from contributors in SerenityOS Discord that also seem to corroborate this. SerenityOS will just cherry-pick from Ladybird and go in a slightly more focused and different direction with a soft fork.

They could have really communicated that more clearly in the Readme.
I thought that both projects accept contributions,but go into slightly different directions.
Well,I’m now cloning the other Ladybird repo and will try if that one also works with my patches or if additional work is required.
Maybe you can still try to send the patches to SerenityOS,I guess it’s worth a try at least?

Frankly that remains to be seen I think the whole situation is kind of half hatched to begin with…

Just had a bit of a talk with SerenityOS contributors, they said that they won’t accept Haiku support patches but recommended sending them to the Ladybird folks instead.

I’m already starting to love the new Ladybird :roll_eyes:
Even on FreeBSD it does now throw errors,but that was fairly simple,only changing two MacOS ifdefs to catch all BSDs.
Then,on OpenIndiana,I’m stuck with one of the new dependencies not being in the repository at all,so I guess I’ll do that one at the end.
On Haiku the dependencies are there,but so are tons of new errors.
Firstly the same one as on FreeBSD,also easy to fix here,but now I’m blown away by a big wall of errors on different places,partially related to ICU.
Hell,why do they think it’s a good idea to require ICU and other stuff now?
It’s only two weeks of being independent from Serenity and so many major changes already.
We’ll see if I manage to make that all work.

Edit: @win8linux are you also interested in sending patches for other OSes to upstream or only Haiku?
FreeBSD is already done here on my computer and keeping it private would somehow be a waste of time for me.

2 Likes

I’m fine with sending patches for other OSes, if you have them.

3 Likes

27 posts were split to a new topic: ICU in Haiku

As a Haiku user - and web browser gatherer :slight_smile: - I take it interestingly as a good news that Ladybird development has a recap …

but

when we can put hands on ?
can we upgrade it on Beta4 ?

:nerd_face:

( I play over the hurrily expectations ! ;-)) )

These changes that you have mentioned, will it be updated in the Haikudepot? If I download Ladybird from Haikudepot, will it havethese changes that you have mentioned above?
Last time I tried Ladybird, it used to crash at random, hang up

It is unlikely that the new Ladybird update will appear in the Depot anytime soon,since it requires functions that,I think,are only available in the Nightly version currently,such as arc4random_buf()
You can,however,clone the Ladybird git repo and compile it yourself after my changes are merged.
Beware that Ladybird is still alpha software and will still crash from time to time,but the websites render a lot more correct now compared to the outdated version in the HaikuDepot,so it’s still worth the effort.

I have yet already managed to completely compile and run the new Ladybird from the forked repo.
I only need to do some cleanup,put my changes into commits and then you can give it a try.
Expect 2 or 3 hours,something like that.

5 Likes

Thanks for your efforts and reply :slight_smile:

The patches for the new Ladybird browser are now ready!
It has the same issue as the one from the SerenityOS repo that only one tab does work,but otherwise it works good.
https://upload.odirf.de/file/yHC62x3p0VCm.patch
https://upload.odirf.de/file/OHsQ3zF5WAHT.patch
https://upload.odirf.de/file/IBp94z142dy5.patch
https://upload.odirf.de/file/k22VDfBfF1wt.patch
https://upload.odirf.de/file/eHd75MYgtFgh.patch
https://upload.odirf.de/file/dM55uRoDsoGo.patch
https://upload.odirf.de/file/X94Qf5NQg7PO.patch
https://upload.odirf.de/file/ZKBLV8yRPYMo.patch
https://upload.odirf.de/file/LfW6ViE2Y497.patch
cc @win8linux

9 Likes

Aside from all this ICU talk, how is the process progressing? :wink:

6 Likes

Not much yet, since I’ve been busy for the last week and recently gotten rather sick. So, I haven’t been able to check the patches from @nipos yet unfortunately. Body willing, maybe I’ll be able to review patches for submission to upstream in a couple days.

2 Likes