122 Commits

Author SHA1 Message Date
Mark Street 0a41ddbc1d Ubuntu 24.04 (#1448)
* Switch to Ubuntu 24.04

* Hack for libtinfo5

* remove deprecated 'version:' from docker-compose

* Mount /sys as read-only for dosemu2

* Workaround for psyq+dosemu2

* disable apparmor

* Ignore font-config error

* FIXME -> NOTE
2025-02-10 10:01:41 +00:00
Mark Street 03bfe3de4d Do not emit #line directive for Ido w/ Pascal (#1416) 2025-01-24 20:47:44 +09:00
Luke Street 2c2f876e22 Experimental objdiff integration (client-side) (#1329)
* Experimental objdiff integration (client-side)

* Work around next.js stupidity

* Port performance improvements to main diff view
2024-08-23 14:43:26 +09:00
Ethan Roseman 11b09b99f5 Family fix! (#1275)
* Family fix?

* oopth

* goofs

* good?
2024-06-10 05:46:15 -04:00
Mark Street 8f601c5506 Make libraries platform-specific redux (#1195)
* Make libraries platform-specific redux

* mypy
2024-04-10 21:02:03 +01:00
Mark Street dfdd4ec869 Fix incorrect line numbers when creating scratch with bad asm (#1197) 2024-04-08 19:20:15 +01:00
Simon Lindholm e18c9c840e Add current.o to export zip (#953) 2024-02-08 03:46:44 +09:00
Luke Street 5369f81263 Support binary target_obj in scratch creation (#943)
* Support binary `target_obj` in scratch creation

Also support `--disassemble=` in `diff_flags`,
so the scratch can be limited to a single function
within the object.

Resolves https://github.com/decompme/decomp.me/issues/215

* Test fixes

* Validate uploaded file size & magic

Remove `-D` from `skip_flags_with_args`,
we want to keep defines.
2024-01-17 15:52:41 +09:00
Ethan Roseman 4ae89872e2 Presets in the DB (#897)
* Organize tests, update settings, backend deps

* Remove project import code from backend

* Remove some frontent project code

* more progress, project cleanup

* more preset work

* .

* upd8z

* Admins can delete scratches & preset migration

* bye, source presets

* fixes & changes

* Preset in admin panel & rename migration

* mypy

* Fix perset viewset & tests

* Change compilers hash files

* test annotations so Windows doesn't run them

* Mark nits

* Preset auto ID field

* scratch as reference (1/?)

* backend fixes to preset (2/3)

* Use preset ID instead of name in frontend

* update frogger preset

* I broke one of the ten commandments of react

* finishing touches (3/3 lol)

* Update serializers.py
2023-10-27 23:40:59 +09:00
Robin Lambertz e1c33d47d3 Support libraries in decomp.me (#843)
* Add script to download libraries, and download directx

* Add libraries endpoint

* Allow compiling with a library

* Add new libraries tab in frontend

* Add libraries support in CI

* Better look for the libraries

* Give pretty names to libraries

* Move Libraries to live under CompilerOpts

* typechecking hackery

* Make libraries trigger autorecomp and set the unsaved flag

* Fix libraryVersions

* Add new libraries download script to CI, docker and docs

---------

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
2023-09-30 14:54:40 +09:00
Mark Street 57d7aba006 Ensure compiler.path exists before mounting it (#863) 2023-09-21 09:06:35 +09:00
Seeky 6bd3732b44 Fix gc/wii error messages (#828) 2023-08-31 02:27:06 +09:00
Mark Street 39107971e5 Fixup paths to wacom tools (#800)
* Update compiler_wrapper.py

* Update platforms.py

* Update compiler_wrapper.py

* Update compiler_wrapper.py

* Update diff_wrapper.py

* dumb whitespace

* Update diff_wrapper.py
2023-07-03 21:51:58 +09:00
Mark Street f33102beca Better asm diff error handling (#776)
* better asm-differ exception handling

* simplifying

* add 'asm-differ:' error text back in

* preemtively fix tests?

* appease black, maybe mypy too
2023-06-04 00:37:03 +09:00
ConorB 906aa4a8a8 Switch timeout mechanism to subprocess.run (#659)
* Switch to subprocess.run for timeouts

* [experiment] Set CI TIMEOUT_SCALE_FACTOR to 1

* supress parameterized.expand error in event of no compilers, change TIMEOUT_SCALE_FACTOR in CI to 2

* Exempt dummy compilers from nsjail bind mounts, disable nsjail time limits

* Don't run timeout test on windows

* Decouple test_compiler_timeout's timeout from global timeout settings, reset TIMEOUT_SCALE_FACTOR to 10

* Have DummyLongRunningCompiler subclass DummyCompiler

* Have a timeout of zero disable timeouts entirely

* Skip test_zero_timeout on windows

* black

Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
2023-01-21 03:04:27 +09:00
ConorB 721a08ccdf Make exception_on_timeout production-compatible, add more timeouts (#653)
* Force exception_on_timeout to use spawn to make gunicorn happy

* black

* Have test_fpr_reg_names_output and test_giant_compilation test for success as opposed to a lack of output

* Refactor timeouts for:
- compiling
- decompiling
- assembling
- disassembling

* Move m2c timeout wrapper to prevent interfering with StringIO

* Increase default timeouts by an order of magnitude to investigate failing CI tests

* Add timeout scale factor, have CI timeouts be 10x default

Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>
2023-01-15 01:28:48 +09:00
Elliptic Ellipsis 414fc21bb0 Use a local var instead of modifying 2022-11-15 22:46:15 +00:00
Elliptic Ellipsis 072e7fd717 Fix late_rodata edit 2022-11-15 21:45:17 +00:00
Elliptic Ellipsis f697da0212 Clean up the late rodata handling a bit more. 2022-11-14 03:49:59 +00:00
Ethan Roseman 54cdb50fc6 Timer logging (#576) 2022-10-29 11:17:07 +09:00
EllipticEllipsis 9a402d70c5 Pascal language support (ido7.1Pascal compiler) (#570)
* Add 4 minimal IDOs and a "language" compiler flag

* Update recomp version

* Add compilers to list and json

* Add presets and remove alphabetical sorting

* Remove extra C IDOs

* Convert language to an enum

* get_file_extension function

* Review

* Proper Pascal test

* Auto-imports grr...
2022-10-27 11:47:45 +09:00
Max Thomas 7c800fcdb5 Fix incorrect line numbers on NDS MWCC (#505)
* Turn off msg_show_realref to force #line to work on NDS MWCC

* Interleave stdout and stderr for sandbox run

* fix formatting

* feedback

* formatting
2022-08-11 17:19:38 +09:00
Ethan Roseman 191e6d2bc7 Beginning wibo migration + test stuff (#502)
* Beginning wibo migration + test stuff

* go back and make sure docker is installed after purging everything for wine...
2022-08-09 06:46:19 +09:00
Mark Street 0611cb7ab4 provide stdout/stderr to user if compilation succeeds but no .o is generated (#497) 2022-07-30 06:37:10 -04:00
Ethan Roseman 91131f9b4d Revert "Replace wine with wibo (#484)"
This reverts commit e67c36d5a7.
2022-07-29 11:41:20 -04:00