<div dir="ltr">Hello WebKittens,
<div><br></div><div>JavaScriptCore use in non-OSX environment looks emerging[1].</div><div>In addition to that, sometimes, people would like to build JavaScriptCore to see what is happning in JavaScriptCore development[2].</div><div>However, if you don't have an OSX machine, it is a little bit difficult.</div><div>One possible solution is GTK+ port, it is nice way to build JSC in Linux.</div><div>But it involves many dependencies (Mesa, glib etc.), that are not necessary for JavaScriptCore and this is a barrier to join JSC development from non OSX world.</div><div><br></div><div>While building whole WebKit requires many dependencies, JavaScriptCore does not.</div><div>In Nix environment, JavaScriptCore only requires</div><div><br></div><div>1. ICU (for WTF unicode libraries and i18n in JSC)</div><div>2. LLVM (for FTL!)</div><div><br></div><div>That's all. Maintaining the brand new port is tough work.</div><div>But maintaining Nix port only for JSC is much much easier since WTF and JSC are well written for Nix.</div><div>In fact, I can build JSC in Nix environment with very small effort, essentially just adding CMakeLists.txt. Here is my initial attempt[2].</div><div><br></div><div>So, the proposal is, how about adding new port NixJSC?</div><div>I think it encourages OSS development for JSC.</div><div>Unfortunately I cannot attend Fall WebKit MTG, but this could become a nice topic for the MTG :)</div><div><br></div><div>Here is the plan about the NixJSC port.</div><div><br></div><div>1. Add new port NixJSC. It provides JavaScriptCore build for Nix environment. Not provide WebCore, WebKit, WebKit2, etc. It will just build WTF, bmalloc, and JSC.</div><div>2. This port should be suitable for development. So I think aggressively enabling features is nice for this port; like, enabling FTL!</div><div>3. I think this would become a nice playground for OSX guys to enable features in Nix environment. GTK+ and EFL are somewhat production port. But NixJSC is intended to be used for development.</div><div><br></div><div>If it is introduced, at least, I can support this port.</div><div><br></div><div>[1]: <a href="https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/jni/third-party/jsc/Android.mk" target="_blank">https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/jni/third-party/jsc/Android.mk</a></div><div>[2]: <a href="https://twitter.com/BrendanEich/status/652108576836743168" target="_blank">https://twitter.com/BrendanEich/status/652108576836743168</a></div><div>[3]: <a href="https://github.com/Constellation/webkit/commit/a2908e97939ea2881e15ba2d820c377f9bd09297" target="_blank">https://github.com/Constellation/webkit/commit/a2908e97939ea2881e15ba2d820c377f9bd09297</a></div></div>