* Catch login failures and raise an exception
* Trying to fix library serialization crap (not working)
* Use validated_data instead of data
* Promments
* Update Frogger's compiler preset.
More investigation was done, and it was discovered that there was an official release of PsyQ GCC 2.6.3. However, it has not surfaced online. I have compiled a Win32 version which is compatible with the original PsyQ toolchain, but this is likely unnecessary for decomp.me
* Changed my mind about adding -G8.
The flag -G8 is correct when building the full game, but it produces less accurate code on decomp.me for some reason.
* Add libraries support to presets
* Add directx 5 to lego island preset
* Move libraries to named globals
* Fix bug preventing changing the version of a library
* Avoid warning in git init when downloading libs
* Remove unused --libraries argument
* Take a Path when parsing libraries-dir
* Simplify expression of default libraries_dir
* Ensure the branch name is always a string
* Move git download to a dedicated function
* Emit error if get_library fails to create include dir
* 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