oasislinux / oasis

a small statically-linked linux system
Other
2.82k stars 86 forks source link

Leaving Netsurf in favor of Neosurf(Netsurf fork with various improvements) #68

Open xplshn opened 1 year ago

xplshn commented 1 year ago

Code can be found here: https://github.com/CobaltBSD/neosurf Features include: Visurf support, with various upstream improvements and fixes Various upstream improvements and UI enhancements to Gtk frontend Removed compatibility for super old and/or obscure libraries/software/operating systems Dedicated LibreSSL support Various privacy improvements Rewritten build system

xplshn commented 1 year ago

Also, another alternative that is also light, but more compatible with newer web standards is Ladybird, from SerenityOS: Source and blogpost from developers here https://github.com/SerenityOS/serenity/tree/master/Ladybird

Its got a HaikuOS port so I don't think it'll be so difficult, check the build docs here: https://github.com/SerenityOS/serenity/blob/master/Documentation/BuildInstructionsLadybird.md

Its got a QT frontend

hovercats commented 1 year ago

this, or rather visurf was mentioned in #45. I dont see this getting any different respons from the dev. Ladybug requires qt6, which Im guessing uses dlopen() so static linking isnt possible.

rochus-keller commented 10 months ago

Ladybug requires qt6, which Im guessing uses dlopen() so static linking isnt possible.

Apparently there are more options to statically build Qt6 than in Qt5. But in any case I was able to create a version of Qt5 which does a full static build from scratch, including plugins (see https://github.com/rochus-keller/LeanQt).

hovercats commented 10 months ago

Interesting. Thatll certenly raise the bar from netsurf, and maybe one can have a more modern browser. Albeit its written in C++, so wont fit Oasis' goals, but ill check it.

rochus-keller commented 10 months ago

Albeit its written in C++

LeanQt only depends on C++98, for which a (lean) compiler is available on nearly every platform, and it can even do without exceptions if need be. If one can live with C++98, LLVM/Clang 2.7 is good enough. That version was still somewhat lean and much faster than today's LLVM versions with more than 70% of today's performance (see e.g. https://gist.github.com/zeux/3ce4fcc3a43072b4315abde95319ecb6). If no exceptions are required (or only a primitive form like longjmp), a compiler could quite easily be constructed based on cproc and cfront (see https://www.softwarepreservation.org/projects/c_plus_plus/index.html#cfront). So you wouldn't have to bend Oasis' goals too much to achieve this.

hovercats commented 10 months ago

LeanQt only depends on C++98 Which is still C++. And for oasis, that is a strict no no from Oasis' standpoint.

In any case, this looks interesting, for me personally atleast. As a statically linked somewhat modern browser capable of using JS has been something ive been wanting for some time now.

rochus-keller commented 10 months ago

Which is still C++

Sure, but I gave you a perspective how to translate C++ to C using yet another preprocessor. But of course it's up to the Oasis development team to decide what they want to do.

hovercats commented 10 months ago

Sure. Maybe @michaelforney wish to chime in here with his wisdome. But Im guessing no, because simplicity is also a goal here.

Im not really part of the developement team, so to speak. I mostly just make PRs for updates and such where Im able.