klange / toaruos

A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
https://toaruos.org/
University of Illinois/NCSA Open Source License
6.03k stars 475 forks source link

Restore Netsurf port #277

Open klange opened 1 year ago

klange commented 1 year ago

ToaruOS once had a port of Netsurf, circa 2016. We should bring that back.

Netsurf has some dependencies which don't exist in the current port catalog:

During the last port of Netsurf, we did not have a BSD sockets layer and the Curl port was largely stubbed, so I'm not sure we were ever even able to load web pages, just local files on disk. I expect things will go a bit better this time around.

The framebuffer backend for Netsurf supports SDL, and the first pass at porting Netsurf should use it. A future improvement might be to write a native Yutani frontend - possibly one that makes use of our menu and button libraries.

klange commented 1 year ago

Curl builds with minor patches. Some changes to our libc were implemented to support it, but it also needs a couple of kludges to disable calls to select that were not guarded behind HAVE_SELECT, as well as disabling some uses of getaddrinfo that were not allowing failure.

Screenshot from 2023-04-17 15-45-40

Additionally, some changes to the configure script were necessary to support shared library builds, which are now functioning.

I will formulate patches for these changes and prepare Curl for packaging. My next focus will be on zlib, libpng, and freetype.

klange commented 1 year ago