[webkit-dev] Port WebKit to GNUstep

Geoffrey Garen ggaren at apple.com
Thu May 11 19:58:17 PDT 2017


The bar is much higher for introducing a new port to WebKit.


> On May 11, 2017, at 7:54 PM, Daniel Ferreira (theiostream) <bnmvco at gmail.com> wrote:
> Hi there,
> My name is Daniel Ferreira and as a Google Summer of Code project I
> decided to tackle the ten-year-long[1] effort of porting WebKit to
> GNUstep one more time (and hopefully get somewhere this time).
> Since 2009, GNUstep has gained a lot of maturity in its graphics stack
> and on its implementation of CoreFoundation, so now having a WebKit
> port in it seems like a more plausible goal – as well as a fun
> challenge. This is very important to GS since it still has no web
> browser running on top of it.
> Also since 2009, it seems like WebKit has gained mature ports on GTK
> and Qt, which has made the demand for a GNUstep port quite smaller for
> the project. However, it does seem interesting to offer a
> cross-platform port that adds portability to a lot of currently
> Mac-specific code – a goal a GNUstep port would fulfill.
> In an ideal world, GNUstep would be mature enough for us to build the
> Mac port on a Linux machine pointing to GNUstep libraries and all
> would be well. Sadly, this is not the case and a GNUstep port on
> WebKit would require some adjustments on WebKit (although GNUstep
> certainly would receive many patches as well implementing stuff WebKit
> would use).
> That being said, I decided to try compiling WTF as a first approach to
> this undertaking, and I introduced a "PlatformGNUstep.cmake" file that
> is mostly a copy of PlatformMac.cmake. It ends up defining
> WTF_PLATFORM_MAC and WTF_PLATFORM_GNUSTEP as code macros, and whenever
> there is some Mac-specific code that GNUstep can't tackle, we try a
> cross-platform alternative. Otherwise, the behavior is just like that
> of the Mac port.
> Through some adjustments to WebKit code (e.g. GNUstep does not support
> XPC, QOS, Mach kernel memory operations, so in these cases we either
> do nothing or use Linux-specific code as an implementation) and
> GNUstep adjustments (regarding some missing CoreFoundation functions),
> I managed to get WTF compiled and linked. I'm now moving on to
> JavaScriptCore to be able to test everything (and very likely spend
> quite some time figuring out the most diverse issues that will show
> up).
> That being said, I will send a patch as soon as I get JSC in a
> semi-decent state. However I wondered if this introduce new platform +
> do the same thing as Mac port with some exceptions approach seems
> reasonable to the project now that I have realized it is actually
> feasible.
> Thanks,
> -- Daniel.
> [1]: https://lists.webkit.org/pipermail/webkit-dev/2009-October/010333.html
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

More information about the webkit-dev mailing list