-
Notifications
You must be signed in to change notification settings - Fork 262
Adding a new language
DOMjudge has a default set of languages but it is possible to add your own.
Every submission is ran in an isolated container so the best way to test a new language is to first get the new language installed in the container via the options of make-chroot start this container with domjudge_run_chroot and test if you can compile and run some default programs to verify that everything can work.
When this works start to build the run/build scripts by looking at similar languages which already exist in DOMjudge and create the language with you own build/run script.
Default DOMjudge will not mount the /tmp which is used by for example R, so in case of such failures check if the tmp dir can be set with an environment variable or extend the chroot-start-stop or look into CREATE_WRITABLE_TEMP_DIR defined here.
Be aware that providing writable directories opens up a security hole where the submission may write data to temp and this way pass information from one testcase run to the next.