summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2022-07-06AK: Use an enum instead of a bool for String::replace(all_occurences)DexesTTP
This commit has no behavior changes. In particular, this does not fix any of the wrong uses of the previous default parameter (which used to be 'false', meaning "only replace the first occurence in the string"). It simply replaces the default uses by String::replace(..., ReplaceMode::FirstOnly), leaving them incorrect.
2022-07-05LibWeb: Implement XMLSerializerLuke Wilde
The main thing that is missing is validating certain pieces of data against XML productions in well-formed mode, but nothing uses well-formed mode right now. Required by Closure Library for sanitising HTML. https://github.com/google/closure-library/blob/e687b3d8ab014787b9f10b08b3f597b637392480/closure/goog/html/sanitizer/safedomtreeprocessor.js#L117
2022-07-04Lagom: Do not set -fno-semantic-interposition on macOSDaniel Bertalan
The Mach-O file format does not have ELF's interposition rules, so this flag does not make sense for macOS builds. While GCC silently accepts the unsupported option, Clang issues a warning for it. This commit makes it possible to build Lagom with LLVM from Homebrew.
2022-07-01LibUnicode: Generate data about DurationFormat-required units as wellIdan Horowitz
2022-07-01LibUnicode: Extract the timeSeparator numeric symbol from CLDRIdan Horowitz
This will be used by Intl.DurationFormat
2022-06-29LibWeb: Return instead of throwing on unknown enums in attribute settersLuke Wilde
I saw one site relying on this, where they are trying to set XHR.responseType to "text/plain", which is not a valid responseType. However, they also don't expect it to throw. The IDL spec special cases enumerations to make it return instead of throwing in this case.
2022-06-19Meta: Install runtime/utility from jakt to make hello-jakt build againAndrew Kaster
Also add a compile flag that fixes a warning from including <serenity.h>
2022-06-18Meta: Add a PNG size check to CI and pre-commit checkskleines Filmröllchen
This uses optipng to check how much size can be reduced on PNG files. If that's more than 2 KiB for at least one file, the check fails. As with other checks, it doesn't run if optipng is not installed.
2022-06-13LibWeb: Add ability to present LibGL framebuffer and add clearingLuke Wilde
2022-06-13LibWeb: Add the ability to retrieve a WebGL context from getContextLuke Wilde
2022-06-13LibWeb: Introduce the WebGL namespace and add WebGLContextEventLuke Wilde
2022-06-13LibWeb/IDL: Add support for returning JS::Object from IDL functionsLuke Wilde
2022-06-13LibWeb/IDL: Make inner type of typedef inherit nullable attributeLuke Wilde
2022-06-13LibWeb/IDL: Add support for returning nullable sequence typesLuke Wilde
2022-06-13LibWeb/IDL: Add support for optional enumsLuke Wilde
2022-06-13LibWeb/IDL: Add support for returning dictionariesLuke Wilde
2022-06-13LibWeb/IDL: Always throw an error if string does not match an enum valueLuke Wilde
Previously we only threw an error if the enum was used as a function argument. However, we are supposed to throw an error no matter the context it is used in.
2022-06-13LibWeb/IDL: Respect type of IDL constantsLuke Wilde
Previously we ignored the type and cast the value to i32 and then put it into a JS::Value.
2022-06-13LibWeb/IDL: Implement returning union types from IDL functionsLuke Wilde
2022-06-06LibWeb: Teach IDLParser about `long long`stelar7
2022-06-02Meta: Add check if AvailablePorts.md is sortedcircl
2022-05-31Meta: Add error message when running serenity.sh as rootAndrew Kaster
It's not a good idea, and it causes countless issues for people who do so and then try to run without root later.
2022-05-30Lagom/Fuzzers: Add CSS parser fuzzerLuke Wilde
2022-05-30Lagom/Fuzzers: Add XML parser fuzzerLuke Wilde
2022-05-29Lagom: Compile headless-browser on Lagom :^)DexesTTP
2022-05-29Lagom: Build LibWeb on LagomDexesTTP
2022-05-29Lagom: Disable the unused-private-field warning on Lagom's clang buildsDexesTTP
With the compilation of LibWeb, there's now quite a few cases where this warning gets triggered. Rather than trying to fix them all right away, we simply disable the warning for now. This workaround was proposed by Andrew Kaster and BertalanD who promised to open an issue about it!
2022-05-29Lagom: Compile LibWebSocket on LagomDexesTTP
2022-05-29Lagom: Compile all sources of LibGfxDexesTTP
The filters were missing from the compiled sources.
2022-05-29Meta: Update manpages website build script to handle non-icon imagesLinus Groh
Adding an image to man7/Audio-subsystem.md referencing a non-icon image file in the same directory broke the automated build of the manpages website, which was not prepared to handle this case.
2022-05-25Lagom: Fix leaks in the IDL Wrapper generatorDexesTTP
By using RefPtrs to handle interfaces, the IDL parser could store cyclic references to interfaces that import each other. One main example is the "EventTarget.idl" and the "AbortSignal.idl" files, which both reference each other. This caused huge amounts of memory not to be freed on exit. To fix this, the parsed IDL interfaces are now stored in a HashTable of NonnullOwnPtr<Interface>, which serves as the sole reference for every parsed interface. All other usages of the Interface are changed to use references instead of RefPtrs, or occasionally as raw pointers where references don't fit inside the data structures. This new HashTable is static, and as such will automatically be freed prior to exiting the generator. This ensures that the code generator properly cleans up after itself. With this change, The IDL code generators can properly run on Lagom when compiled with the -DENABLE_ADDRESS_SANITIZER=ON flag, and gets compiled properly on the CI :^)
2022-05-25Meta: Add -S to Jakt compiler invocation in compile_jaktMacDue
This prevents the Jakt compiler from attempting to compile the generated C++ source itself.
2022-05-24Meta: Shellcheck ignore for our expr use (SC2307)Nathan Wallace
2022-05-24Meta+Documentation: Bump required QEMU versionNathan Wallace
This commit bumps the required QEMU version to 6.2 and updates the version checking logic in Meta/run.sh to support checking against major and minor version numbers instead of checking against the major version only
2022-05-24Meta+CI: Upgrade to ubuntu-22.04Nathan Wallace
This commit upgrades Github Actions workers to ubuntu-22.04 As part of that change, we (currently) no longer need the backports nor toolchain-r/test PPAs, because ubuntu-22.04 include recent-enough version of QEMU and gcc
2022-05-23Meta+Userland: Add jakt as an optional Lagom ToolAndrew Kaster
We can now use ENABLE_JAKT to pull jakt as a host tool and use it to pre-process .jakt files into .cpp files for use in serenity applications
2022-05-21Meta: Add Brotli fuzzerMichiel Visser
2022-05-21LibCompress: Implement Brotli decompressorMichiel Visser
This implements the BrotliDecompressionStream, which is a Core::Stream that can decompress another Core::Stream.
2022-05-21Meta: Add option to disable Kernel Address SanitizerTimon Kruiper
By default we enable the Kernel Undefined Behavior Sanitizer, which checks for undefined behavior at runtime. However, sometimes a developer might want to turn that off, so now there is a easy way to do that.
2022-05-21LibCodeComprehension: Re-organize code comprehension related codeItamar
This moves all code comprehension-related code to a new library, LibCodeComprehension. This also moves some types related to code comprehension tasks (such as autocomplete, find declaration) out of LibGUI and into LibCodeComprehension.
2022-05-21Ports: Sanitize environment before handling PortsTim Schumacher
This keeps users from leaking their host environment variables (CFLAGS, etc.) into Ports, and it keeps us from leaking Port-specific settings into their dependencies.
2022-05-20Meta: Fix unused variable warning in lint-ports.pyDaniel Bertalan
This went undetected because I broke CI so the Python linter didn't run.
2022-05-19Meta: Disallow non-git patches for portsAli Mohammad Pur
2022-05-19Toolchain+Ports: Split the GCC patchesDaniel Bertalan
This shouldn't cause any breaking changes, so a toolchain rebuild is not required. As per Hendiadyoin's request, math errno is disabled by default, which should enable some extra compiler optimizations in LibGL and LibSoftGPU code that uses math functions heavily. Co-Authored-By: Ali Mohammad Pur <mpfard@serenityos.org>
2022-05-17Meta: Validate explicitly set TOOLCHAIN in `serenity.sh`Jelle Raaijmakers
Previously, `serenity.sh rebuild-toolchain x86_64 clang` would simply start building GCC instead and call it a day. With this change, if a toolchain is passed as an argument, it is validated if it is either "GNU" or "Clang" and exits with an error otherwise. The `TOOLCHAIN` value defaults to the `SERENITY_TOOLCHAIN` environment variable if not provided explicitly.
2022-05-14Meta: Move compiler flags into standalone CMake filesLinus Groh
This way we can have all of them in a single place, similar to how we structure options added via the serenity_option() macro.
2022-05-13Meta: Move LibWeb's CMake generation script to its own fileDexesTTP
This patch has no functional changes, but prepares the CMake script to be able to handle LibWeb on Lagom.
2022-05-09Ports: Convert GLTron patches to new formatJelle Raaijmakers
2022-05-08Meta: Remove hardcoded resize2fs executable pathLucas CHOLLET
Let which find the resize2fs executable path for us, and use `/usr/sbin` as a default.
2022-05-07Meta: Fix shellcheck errors in build-image-qemu.shLinus Groh