serenity
serenity copied to clipboard
Ports: Add port for Jakt
Jakt depends on clang
, which is provided by the llvm
port so it makes sense that if you want the jakt compiler on serenity it should be provided by installing a port.
I've done some noodling and I think the following need to be figured out to add a port of jakt, I figure since new language features are being added now to the self host compiler that's the one we should aim to install on Serenity:
- [x] Jakt hasn't tagged any releases so we'd just fetch the tarball for whatever the latest commit to the jakt repo is as of when the port is added.
- [x] The rust jakt compiler is gone so rust is no longer needed ~~To bootstrap jakt on the build host rust and clang need to be installed,
package.sh
has no notion of "build dependencies" so I suppose it just has to do some custom checks and exit with an error.~~ - [ ] the clang toolchain targeting serenity needs to be available, so we should check for that and error out if it's not found.
- [ ] build jakt with the clang toolchain
- [ ] jakt currently has no installer (as far as I know) so the jakt binary needs to be copied to
/bin
and the runtime headers need to be available in the serenity filesystem as well. Maybe in/usr/include/jakt/runtime
? Before building the self hosting compiler I suppose it would need to be patched to look for the runtime in this location.
jakt currently has no installer
I added this yesterday :)
https://github.com/SerenityOS/jakt/blob/main/documentation/cmake-bootstrap.md
I added this yesterday :)
Nice! That definitely helps. I'm hoping to work on this port in the next couple of days 🤞🏼
I added this yesterday :)
Nice! That definitely helps. I'm hoping to work on this port in the next couple of days 🤞🏼
Any updates on the jakt port?
A Jakt port was added in #19796.