summaryrefslogtreecommitdiff
path: root/Meta
AgeCommit message (Collapse)Author
2023-05-18Meta: Build abench on Lagomkleines Filmröllchen
This makes it possible to test audio decoding without much I/O overhead.
2023-05-17Meta/ShellCompletions: Use standard Serenity comment stylekleines Filmröllchen
2023-05-17Meta/ShellCompletions: Complete binaries for `run lagom`kleines Filmröllchen
This completion only works if you have lagom already built in some capacity, since it scans the build directory tree for binaries, removing known false positives. However, that is both more accurate than asking ninja for the targets and filtering those, and it also makes it independent of the build system used.
2023-05-17Meta/ShellCompletions: Mention $SERENITY_ARCH in target completionskleines Filmröllchen
2023-05-17Meta/ShellCompletions: Add toolchain completionkleines Filmröllchen
This is very convenient for anyone like me who regularly runs the Clang toolchain. The toolchain is not completed for Lagom and the toolchain-independent help command.
2023-05-17Meta/ShellCompletions: Complete command listkleines Filmröllchen
The command list was missing the help command, and the command order was different from the help output.
2023-05-17Meta: Make `SERENITY_RUN=ci` work with AArch64Daniel Bertalan
This in turn enables `./Meta/serenity.sh test aarch64` and the CI scripts to work with the AArch64 port. As the RPi doesn't have a debugcon-like device, we create two serial devices. The system console, UART0 is redirected to `debug.log`, while UART1 is made available to the userspace and is used as the stdout for the test runner script. We are not yet able to run the full test suite, as the kernel panics due to some unimplemented features. Note that Qemu `master` or our patched Qemu build is required for `SystemServer` to recognize the `system_mode=self-test` parameter.
2023-05-17LibCompress: Add a lot of debug logging to LZMATim Schumacher
2023-05-17Meta: Only enable the SPICE server when using the SPICE displayTim Schumacher
Newer versions of QEMU prevent the user from running a GL-rendered display while a SPICE display is active due to incompatibilities. Since there is no way to disable QEMUs (apparently implicit) SPICE display, make sure that we only enable SPICE support if the user requested running with SPICE specifically. In this case, QEMU picks the default SPICE client instead of rendering a display using whatever our default on that platform would be.
2023-05-16Meta: Copy GML source files to serenity installKarol Kosek
We already install C++ source files to allow debugging applications in HackStudio. Installing GML files can make editing application widgets a bit faster and easier, as you no longer need to copy files to the system. :^)
2023-05-14Meta: Remove unused debug flags, add missing GENERATE_DEBUGBen Wiederhake
Commands that were helpful while investigating this: ``` grep -P '^set' Meta/CMake/all_the_debug_macros.cmake \ | sed -Ee 's,set\((.+) ON\)$,\1,' > macros.lst for i in $(cat macros.lst); do echo -n "$i "; git grep -Pn '\b'"$i"'\b' | wc -l done | tee matches.lst sort -k2 -n matches.lst ```
2023-05-14Meta: Make *.in files accessible to QtCreatorBen Wiederhake
2023-05-14Meta: Enable DWARF 5 debug informationMacDue
For our use case DWARF 5 seems to work fine now (see previous commit)
2023-05-13Userland+Meta: Add new helper program for network settingsFabian Dellwing
This little program allows us to take the NetworkSettings app away from being an elevated GUI app. It receives a JsonObject on STDIN and writes it to the global Network configuration file. If the write was successfull it will apply the changes.
2023-05-13LibWeb: Capture realm in dictionary to C++ conversionLuke Wilde
Some types use the realm when converting to C++, such as unions.
2023-05-12LibGfx+Fuzz: Convert ImageDecoder::initialize to ErrorOrBen Wiederhake
This prevents callers from accidentally discarding the result of initialize(), which was the root cause of this OSS Fuzz bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55896&q=label%3AProj-serenity&sort=summary
2023-05-09AK: Add the `Input` word to input-only buffered streamsLucas CHOLLET
This concerns both `BufferedSeekable` and `BufferedFile`.
2023-05-09Userland: Show "Ladybird" instead of "Browser" in titles, menus, etcAndreas Kling
While the binary is still called "Browser" for now, let's make it clear that we're converging on a single name for this application.
2023-05-07Meta: Add get_number_of_processing_units() to shell_include.shKenneth Myhra
This adds the method get_number_of_processing_units() which returns the number of processing units the system has available.
2023-05-06LibWeb: Propagate errors from parse_css_value and property_initial_valueSam Atkins
2023-05-05Ladybird: Use vector icons in the browser toolbarAndreas Kling
We now load SVG icons (via the Qt resource system) and render them into a QIcon (with normal and disabled variants) using system colors. We also re-render them if the system color theme changes. This instantly makes Ladybird look less foreign on my Linux box. I drew the icons myself, and they could definitely be more optimized, but this was my first time using Inkscape. :^)
2023-05-02Everywhere: Make Lagom build with GCC 13Daniel Bertalan
GCC 13 was released on 2023-04-26. This commit fixes Lagom build errors when using an updated host toolchain: - Adds a workaround for a bug in constraint handling, which made LibJS fail to compile: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109683 - Silences the new `-Wdangling-reference` diagnostic globally. It produces multiple false positives with no clear way to silence them without `#pragmas`. - Silences `-Wself-move` in `RefPtr` tests as GCC 13 adds this previously Clang-exclusive warning.
2023-04-30Lagom: Enforce GC-allocated fields are visited in LibJSGCVerifierMatthew Olsson
2023-04-30Lagom: Enforce uniform calls to Base::visit_edges in LibJSGCVerifierMatthew Olsson
This ensures that all visit_edges implementations include a call to Base::visit_edges. In particular, this gives three nice benefits: - The call can't be forgotten (the main benefit, of course). - All of the calls look the same. In other words, always use "Base" instead of the actual concrete class. - Ensure the object has a call to JS_CELL or JS_OBJECT in the definition. Otherwise, Base will not be defined and the call will not compile.
2023-04-28Revert "Kernel/x86: Bake the Prekernel and the Kernel into one image"Tim Schumacher
Some hardware/software configurations crash KVM as soon as we try to start Serenity. The exact cause is currently unknown, so just fully revert it for now. This reverts commit 897c4e5145474d55b247a4a3b5e6bf5420279e2f.
2023-04-28LibWeb: Allow specifying a URL for an SVG fillMacDue
This does not do anything yet, but will allow for gradients later!
2023-04-28Kernel/x86: Bake the Prekernel and the Kernel into one imageLiav A
The new baked image is a Prekernel and a Kernel baked together now, so essentially we no longer need to pass the Prekernel as -kernel and the actual kernel image as -initrd to QEMU, leaving the option to pass an actual initrd or initramfs module later on with multiboot.
2023-04-28AK+Everywhere: Disallow Error::from_string_view(FooString)Ali Mohammad Pur
That pattern seems to show up a lot in code written by people that aren't intimately familiar with the lifetime model of Error and Strings. This commit makes the compiler detect it and present a more helpful diagnostic than "garbage string at runtime".
2023-04-27LibWeb: Add ReadableStreamBYOBReader to ReadableStreamReader typeMatthew Olsson
2023-04-27IPCMagicLinter: Port to `Core::File`Lucas CHOLLET
2023-04-27IPCMagicLinter: Use `LibMain`Lucas CHOLLET
2023-04-26LibWasm: Start implementing WASIAli Mohammad Pur
This commit starts adding support for WASI, along with the framework to implement all the functions (though only a couple are currently implemented).
2023-04-25Meta: Use common method exit_if_running_as_root() in serenity.shKenneth Myhra
This replaces the inline check for running as root with the common method exit_if_running_as_root().
2023-04-25Meta: Add exit_if_running_as_root() to shell_include.shKenneth Myhra
This adds the method exit_if_running_as_root() which checks if the script is executed under root, and if that's the case exits the script.
2023-04-23LibThreading: Create WorkerThread class run a single task concurrentlyZaggy1024
This class can be used to run a task in another thread, and allows the caller to wait for the task to complete to retrieve any error that may have occurred. Currently, it doesn't support functions returning a value on success, but with some template magic that should be possible. :^)
2023-04-21Meta: Add coreutils in macos Azure setupAliaksandr Kalenik
coreutils include timeout tool that is going to be used in layout tests script.
2023-04-21LibWeb: Return typed array and ArrayBuffer for BufferSource in IDL unionLuke Wilde
Previous this ignored typed arrays and ArrayBuffer, hitting the fallback JS -> C++ conversion case, typically stringifying them.
2023-04-18Meta: Move more common flags to common_compile_options.cmakeNico Weber
For the most part no behavior change, except that we now pass -Wno-implicit-const-int-float-conversion and -Wno-literal-suffix only to clang and gcc each in both lagom and serenity builds, while we previously passed them to both in lagom builds (and passed them to one each in serenity builds). The former is a clang flag, the latter a gcc flag, but since we also use -Wno-unknown-warning-option it doesn't really matter.
2023-04-17LibWeb: Properly reject abrupt completion in clean_up_on_returnMatthew Olsson
2023-04-17Meta: Move some flags to common_compile_options.cmakeNico Weber
No behavior change.
2023-04-15Meta: Allow overriding the calculated disk image inode countTim Schumacher
2023-04-15Meta: Add missing quotation marks for INODE_COUNT and INODE_SIZETim Schumacher
2023-04-15LibJS: Port iterator_step() to GCPtrLinus Groh
2023-04-14Lagom: Add an option for standalone fuzzers to BuildFuzzers.shTim Schumacher
This builds simple fuzzing binaries without any oss-fuzz specific configuration and without any LibFuzzer instrumentation.
2023-04-14LibJS: Port Value::get_method() to GCPtrLinus Groh
2023-04-14LibJS: Port Value::to_object() to NonnullGCPtrLinus Groh
2023-04-13LibLocale: Update to CLDR version 43.0.0Timothy Flynn
https://cldr.unicode.org/index/downloads/cldr-43
2023-04-13LibLocale: Prepare locale data generator for breaking changes in CLDR 43Timothy Flynn
In CLDR 42 and earlier, we were able to assume all cldr-localename files existed for every locale. They now do not exist for locales that don't provide any localized data. Namely, this is the "und" locale (which is an alias for the root locale, i.e. the locale we fall back to when a user provides an unknown locale). Further, we were previously able to assume that each currencies.json in cldr-numbers contained all currencies. This file now excludes currencies whose localized names are the same as the currency key. Therefore, we now preprocess currencies.json to discover all currencies ahead of time, much like we already do for languages.json.
2023-04-13LibJS: Make well-known symbol getters return NonnullGCPtrLinus Groh
None of these are ever null after the VM has been initialized, as proved by virtually every caller immediately dereferencing the raw pointer.
2023-04-13LibJS: Make intrinsics getters return NonnullGCPtrLinus Groh
Some of these are allocated upon initialization of the intrinsics, and some lazily, but in neither case the getters actually return a nullptr. This saves us a whole bunch of pointer dereferences (as NonnullGCPtr has an `operator T&()`), and also has the interesting side effect of forcing us to explicitly use the FunctionObject& overload of call(), as passing a NonnullGCPtr is ambigous - it could implicitly be turned into a Value _or_ a FunctionObject& (so we have to dereference manually).