* Update poetry to 1.6.1
* Don't use podman/docker to download compilers
* Fixup docker test
* Actually fix docker tests
* Use debug level when failing to get image manifest
---------
Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
* 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>
Add a new "Metal Gear Solid (overlays)" preset that uses `-G0` flag
instead of `-G8` flag, as was the case in the "Metal Gear Solid" preset
(preset for main executable).
Additionally add `-Wall` flag, because we use it very often in our
scratches.
* Add translations for ps1/maspsx compiler set
* Tell clang to compile and not link to remove need for lld binary
* Assume msdos assembler lives on PATH
* Overhaul download.py
* Attempt to fix docker ci
* Appease black
* Whoops, don't forget to detach
* Fix path to download.py
* fix perms (hack?)
* Add --platforms and --compilers args to download.py
* Try out --compiler dir arg for docker in ci
* Try to ignore that 500 error about image manifests
* it's --compilerS-dir
* Try again
* Try building our own podman (fallback to vfs when rootless)
* install distro 'podman' to get configuration (fixes fuse)
* mount /dev/fuse in ci
* dumb bugfix, .download_cache
* split compilers config out of download.py
* update poetry.lock
* Add psyq3.3 + psyq4.4 and migrate psyq4.3 scratches to psyq4.4
* docker_entrypoint.sh cleanup
* Try to protect against 'locating item named "manifest" for image with ID'
* better podman sanity check
* appease black
* use 'requests.get()' to grab remote image digest
* Update compilers repo to 'decompme/compilers'
* Fix description for psyq3.6
* Introduce MSVC7.0 (Visual Studio 2002) toolchain
This renames the msvc7.0 toolchain to msvc7.1 (as it is based on Visual
Studio 2003, which is msvc7.1), and introduces a new msvc7.0 toolchain
based on Visual Studio 2002.
* Add presets for Touhou 6 decompilation project
* Remove noexec from /sandbox/tmp in docker
The MSVC toolchains store intermediate artifacts in the /sandbox/tmp
folder, and need to be able to mmap them with PROT_EXEC rights, which is
prevented by the noexec flag that docker automatically puts on all
tmpfs. To avoid this, we need to ask docker to remove that flag.
* Add msvc4.0, msvc4.20 support + lego island preset
* Run black on download.py
* Cleanup - rename msvc dirs to fit with the rest of the ids
* msvc4x compilers: Rename the directory of the 'Bin' folder and fix exec status
* Use set_x instead of os.system
* Use intel syntax for win9x platforms
* Implement Win 9x platform and msvc compilers.
* Add credit info for Windows icon.
* Solve issue with read only temp dir for MSVC.
* Update armcc.zip link
* Add new dep to backend ci
---------
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Identify and throw RequestFailure errors, handle network errors with a special error page
* Blanket catch and handle all SWR network errors on the scratch page
* Revert scratcheditor / scratchpage change
* Have the scratch editor be able to gracefully handle being offline
* maintain "maintenance"
---------
Co-authored-by: ConorBobbleHat <c.github@firstpartners.net>