* 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 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
* Add 1.2.5n compiler, and use it for melee/pikmin
* Update compiler zip to include 1.2.5n
* migration
---------
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Backend updates, mypy fixes
* new migration (oops), some fixes
* Frontend updates
* cleanup
* Prevent problems panel from starting open if there are no problems
(fixes#703)
* update again
* oopz
* stylelint
* Update checkout version
* Fix test
* Fix test - device.ts still being used on the server :/
* fix cod
* Download PSY-Q 3.x compilers
* Add PSY-Q 3.3 and PSY-Q 3.6 PlayStation 1 compilers
* Remove gcc2.6.3-mipsel for good
* Actually install compilers
* Clean-up psyq-msdos folder after downloading it
* Map /proc to allow dosemu2 to run
* Allow to compile with PSY-Q 3.6
* Remove debugging stuff
* Add PSY-Q 3.5 and remove 3.3
* Let ASPSX to be quiet
* Completely replace PSY-Q 3.3 with 3.5
* Modify Castlevania preset
* Add migration from gcc2.6.3-mipsel to psyq3.6
* clean-up
* Typo
* Install DOSEMU in the CI
* Group ENABLE_PS1_SUPPORT set-up
* fix migration script
* Unset the HOME directory globally
* New line
* undo more auto-formatting
* Remove unnecessary comment
* fix
* More autoformatting shenanigans
* Try to fix CI pipeline
* Fix download script
* lint
* lint
* Fix dosemu setup
* Speed-up PSYQ MSDOS compiler
* debugging stuff for the tests
this commit will be reverted
* testing sandbox thingie
* Revert "debugging stuff for the tests"
This reverts commit 6d026b9214.
* Trimming down what Sandbox mounts
* Mount all /dev but read only
* add projects list
* new project page
* mypy
* allow '.' in github identifiers
* implement project create
* project settings
* disallow anons from being project members
* uploadable project icon
* docker attempt
* fix tests
* add tests
* add description form
* refactor to add useEntity and FieldSet
* move FieldSet out of subdirectory
* use same page for project tabs
* scroll up to UnderlineNav when tab changes
* stylelint
* configure vscode mypy extension
* mypy
* fix mypy and dmypy
dmypy does not support follow_imports=silent. Instead we explicitly
disable most checks for asm_differ and m2c, which
has the same effect
* remove redundant mypy flags
* FieldSet style tweaks
* give UnderlineNav horiz padding
* fix swr mutate of project header
* few tweaks to help docker (#550)
* eth changes
* use POST/DELETE rather than PUT for project members
* add migration
* fix pr creation
* simplify project platform derivation
Co-authored-by: Mark Street <22226349+mkst@users.noreply.github.com>
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Begin implementing random pseudonyms for anonymous users
* Switch pseudonyms from [Adjective] / [Person] to [Adjective] / [Animal]
* Have the migration assign all users pseudonyms
(instead of lazily upon profile use)
* Tweak path handling, None checks
* Remove 'psyq gcc w/ gnu as' compilers (repoint scratches to psyq assembler version)
* update migration filter
* no need to download binutils for psyq anymore
* too many und_er_sc_ores
* More proper diff_label fix with a test
* 'fix' mypy
* suggestions
* fix type checking for lru_cache
* Return type annotation for Sandbox __enter__
* thanks comment
* remove unnecessary part of test
* remove test
* add 'parent' url to TerseScratchSerializer
* add family page
* link to family in AboutScratch
* bump react-laag
* ui to edit diff label
* use User-Agent Client Hints API if supported
* fix pwa icons
* use carets instead of slashes between breadcrumbs
* use breadcrumbs on project function page
* fix save problem
* allow diff_label on compile
* a
* change placeholder
* new diff flags fix
* diff flags stuff
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
* Trying to add a new section
* objdump section is no longer borken
* objdump section is a bit more independent from the compilerargs one
* add objdump_flags to database
* Allow to save objdump flags on change
* Actually pass the objdump flags to objdump
* Allow adding objdump flags to presets
* add short description to compilers.json
* filter_objdump_flags
* Introduce GCCMIPSCompiler class
* Add -M gekko / broadway by default for gc/wii compilers
* format autogenerated file
* type annotation
* Disable enum trailing comma warnings on Majora's Mask
* wip
* flags as array, backend parsing, frontend cleanup
* style scratch options
* loose ends
* only show diff opts section if there are any options to show
* fix mypy
Co-authored-by: Ethan Roseman <ethteck@gmail.com>
Co-authored-by: Alex Bates <alex@nanaian.town>
* Add psyq4.0
* Add psyq4.3 -> gcc2.7.2-psyq migration
* re-adding changes I rebased away...
* fix typo
* Add -quiet to 2.6.3-mipsel and use simple cpp
* fixup PR comments
* ensure scratches with old psyq compilers use new compiler ids
* Appease black
* Scratch name, score, description added
* Fix .gitignore
* test
* error
* comment
* new ido recomp release
* mypy
* Fix ido errors
* update score on creation and fork
* test for creation
* empty name if no label
* remove return
* ensure arch order from API
* Backend changes to diff from label rather than 0, also possibly fix#109
* implement diff_label frontend & fix assemble_asm
* Log stack trace if asm-differ fails
* don't return { obj } from api
* slight change in stub func code
* GET /compilers returns arches for compilers
* GET /compilers returns arches for compilers
* keep compiler_ids
* Obtain ido from download script, add comment for permuter api support
* Clean m2c wrapper code, add left pointer style, add test
* fix 3 tests
* list arches from api
* fix cookies in DEBUG
SameSite=None is incompatible with Secure, and this causes some browsers
to ignore the cookie altogether.
* fix test
Regression due to changing API to not return { "user": User } but
rather just the User object itself.
* fix create scratch without glabel
This works around a backend bug
* add label select on scratch creation
* show compilers/presets for current arch only
- fixes#92
- fixes#132
* fix mypy issues
* arch on scratch
* use .env.local instead of local.env
* fix unset compiler not considering arch
* fix compiler opts not displaying on first load if compiler is not gcc 2.8.1
Co-authored-by: Ethan Roseman <ethteck@gmail.com>