Commit graph

38420 commits

Author SHA1 Message Date
Tim Schumacher
f31f25b918 Ports: Use our built-in config.sub download for libuuid 2022-05-25 22:54:04 +01:00
Tim Schumacher
2c886fa93f Ports: Use the official release tarball for libuuid
These already come preconfigured
2022-05-25 22:54:04 +01:00
Tim Schumacher
f81e47eea8 Ports: Allow selecting multiple config_{sub,guess}_paths
Some ports may have more than one `config.sub` that is in use (vendored
dependencies, etc.). Instead of fiddling about with space-delimited
strings, let's just make that setting into an array right away.
2022-05-25 22:54:04 +01:00
Tim Schumacher
ff90647958 Ports: Fix a typo in get_new_config_guess
While we're at it, we might as well replace the download arguments in
`get_new_config_{sub,guess}` with the variable we defined earlier.
2022-05-25 22:54:04 +01:00
DexesTTP
2ab8d474c6 Lagom: Fix leaks in the IDL Wrapper generator
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-25 22:25:09 +01:00
Karol Kosek
67f1ac5de7 ThemeEditor: Use 'open' icon instead of ellipsis on path picker button
The ellipsis seemed a little unclear for me.
2022-05-25 13:42:53 +02:00
Karol Kosek
2d6edd5898 ThemeEditor: Show unsaved changes prompt also in the quit action
While the app displayed the prompt on the close button press, the quit
action from the menu didn't do so.
2022-05-25 13:42:53 +02:00
MacDue
4656198127 Meta: Add -S to Jakt compiler invocation in compile_jakt
This prevents the Jakt compiler from attempting to compile the
generated C++ source itself.
2022-05-25 09:48:28 +02:00
Linus Groh
9400b76d79 LibJS: Remove assertions replaced with structured headers
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/74fd5e8
2022-05-25 00:25:23 +01:00
Linus Groh
c3f1d8f5ba LibJS: Correct section IDs of Temporal .prototype property clauses
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/e4eb181
2022-05-25 00:25:23 +01:00
Linus Groh
ae1fdf299d LibJS: Use the rounding abstract operations from Intl.NumberFormat V3
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/75279e5

Co-Authored-By: Idan Horowitz <idan.horowitz@gmail.com>
2022-05-25 00:25:23 +01:00
Linus Groh
93a20b3bfb LibJS: Use default argument of CalendarDateFromFields
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/7a4a518
2022-05-25 00:25:23 +01:00
Linus Groh
cf1ea18b7f LibJS: Align DifferenceTemporalPlainTime with other Difference* AOs
This is an editorial change in the Temporal spec.

See: https://github.com/tc39/proposal-temporal/commit/70f739d
2022-05-25 00:25:23 +01:00
Linus Groh
89d4094709 LibJS: Mark concrete method calls of Environment Records with ?/!
This is an editorial change in the ECMA-262 spec.

See: https://github.com/tc39/ecma262/commit/7ae3ecf
2022-05-25 00:25:23 +01:00
Nathan Wallace
cdc5ed2fb5 Meta: Shellcheck ignore for our expr use (SC2307) 2022-05-24 06:30:57 -04:00
Nathan Wallace
0c0a760aad Meta+Documentation: Bump required QEMU version
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-24 06:30:57 -04:00
Nathan Wallace
2f1029e7c4 Meta+CI: Upgrade to ubuntu-22.04
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-24 06:30:57 -04:00
Karol Kosek
6a4b125fe5 Spreadsheet: Make save functions take a Core::File instead of a filename
This allows us to use FileSystemAccessClient functions.
2022-05-24 03:36:04 +04:30
Karol Kosek
04443eb847 Spreadsheet: Open files using FileSystemAccessClient::try_open_file() 2022-05-24 03:36:04 +04:30
Karol Kosek
d877c2fcd6 Spreadsheet: Remove unused Workbook::load() function 2022-05-24 03:36:04 +04:30
Karol Kosek
01824fd19a Spreadsheet: Use TRY() on file load and save 2022-05-24 03:36:04 +04:30
Andrew Kaster
ca42da23c2 Meta+Userland: Add jakt as an optional Lagom Tool
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-23 23:05:45 +02:00
Peter Elliott
f19aad8336 Ports: Port GNU guile 2022-05-23 00:13:26 +02:00
Peter Elliott
f6943c85b0 Kernel: Fix EINVAL when mmaping with address and no MAP_FIXED
The current behavior accidently trys to allocate 0 bytes when a non-null
address is provided and MAP_FIXED is specified. This is clearly a bug.
2022-05-23 00:13:26 +02:00
Peter Elliott
0b9a9c7708 Ports: Port libunistring 2022-05-23 00:13:26 +02:00
Peter Elliott
1c86678a64 Kernel: Change values of SHUT_{RD,WR,RDWR}
For some reason, guile requires these to be specific values.
2022-05-23 00:13:26 +02:00
Peter Elliott
3f0be4e9ea LibC: Add barebones <complex.h> 2022-05-23 00:13:26 +02:00
Peter Elliott
8a007e755d Ports/bdwgc: Build using automake
This provides the necessary pkg-config files for other automake ports
that depend on it.
2022-05-23 00:13:26 +02:00
Andrew Smith
bccf0a9346 PixelPaint: Allow layer to "scale" location when resizing 2022-05-23 00:12:19 +02:00
Andrew Smith
02399d4775 PixelPaint: Add Image>Resize Image... dialog. (Front end) 2022-05-23 00:12:19 +02:00
Andrew Smith
abaecb878b LibGUI: Add on_return_pressed function to SpinBox 2022-05-23 00:12:19 +02:00
Karol Kosek
f9940390a3 SystemServer: Create a /dev/full device using numbers 1, 7
Previously, the device wasn't being created.

The new numbers correspond to those in the FullDevice (which is also
a Linux's full device number).

Also, I've tweaked the permissions to give everyone read-write access
to it.
2022-05-23 00:12:00 +02:00
Tim Schumacher
ee66ed6248 Ports: Fully delete Co-Authored-By lines from the ReadMe
Otherwise, this results in a number of empty lines where
Co-Authored-By would have been.
2022-05-22 00:11:16 +01:00
Tim Schumacher
6641868c35 Ports: Bring all ReadMes in line with their respective patches 2022-05-22 00:11:16 +01:00
Tim Schumacher
0e0db33a2a Ports: Don't unset {HOME,USER,TERM,PATH}
These are required for the `dev` environment (or more precisely, `git`)
to work.
2022-05-22 00:11:16 +01:00
Karol Kosek
169498f9db Spreadsheet: Recognize sheets files by mime type, not by file extension
These conditions weren't executed since 933a717f3b and always showed
a file import/export wizard.
2022-05-22 03:08:53 +04:30
Karol Kosek
f47bcddb5b LibCore: Set mime type for .sheets files to application/x-sheets+json
This is our own format, used by Spreadsheet.
2022-05-22 03:08:53 +04:30
Michiel Visser
1621724123 Meta: Add Brotli fuzzer 2022-05-21 22:41:40 +02:00
Michiel Visser
7278ad761e LibHTTP+LibWeb: Accept Brotli encoded responses 2022-05-21 22:41:40 +02:00
Michiel Visser
d6a5b11f04 LibCompress: Implement Brotli decompressor
This implements the BrotliDecompressionStream, which is a Core::Stream
that can decompress another Core::Stream.
2022-05-21 22:41:40 +02:00
Michiel Visser
68772463cb LibCore: Add Stream::read_all() 2022-05-21 22:41:40 +02:00
Michiel Visser
af50b0363b LibCore: Add LittleEndianInputBitStream
As a complement to BigEndianInputStream, this will read the bits from
the lowest bits in a byte first.
2022-05-21 22:41:40 +02:00
Sam Atkins
4253594d16 ThemeEditor: Position preview windows based on the title height
This means all three window titles are visible, regardless of what the
TitleHeight and BorderThickness values are.  :^)

The one exception is when TitleHeight is less than the height of the
title text. WindowManager ensures that the real title height is at
least enough to fit the text, so if the value is set to less than that,
the window titles will start to overlap. So, don't set values that are
impossibly small!
2022-05-21 22:25:33 +02:00
Sam Atkins
f617d72bee ThemeEditor: Make MainWidget responsible for holding the edited Palette
Previously, the PreviewWidget was responsible for this, but we will soon
have multiple preview widgets, so having it here will make more sense.
2022-05-21 22:25:33 +02:00
Sam Atkins
48122e29c3 ThemeEditor: Convert the widget-preview layout to GML
This has the nice bonus of fixing the appearance of the status bar. :^)
2022-05-21 22:25:33 +02:00
Sam Atkins
4edc33b4a6 ThemeEditor: Arrange the theme properties into groups
This makes it clearer which properties are related, instead of them all
being in one list per tab.
2022-05-21 22:25:33 +02:00
Sam Atkins
423383e9aa ThemeEditor: Give each theme property its own editing widget
This is quite a radical change. The previous UI was very easy to add new
properties to (just add to the FooRole enum and it automatically
works), but not so nice to use: A ComboBox for selecting a property,
and then a box to edit that property's value. This makes it difficult
to compare different properties or edit multiple together without a lot
of back-and-forth.

This new design gives each property its own editing widgets, with those
categorized into several tabs. To try and avoid increasing the
maintenance burden for this, the UI is generated from the
`windows_tab`, `widgets_tab` and `syntax_highlighting_tab` variables,
which are basically just lists of which properties go in that tab. One
of the `FooProperty.gml` files is loaded to create each property's
widgets.
2022-05-21 22:25:33 +02:00
Sam Atkins
aadb35ff46 LibGUI: Add ability to position checkboxes to the right of their text
This uses the new `checkbox_position` property, which can be "Left"
or "Right".
2022-05-21 22:25:33 +02:00
Sam Atkins
0ef3c15822 ThemeEditor: Actually save alignment roles 2022-05-21 22:25:33 +02:00
Sam Atkins
8915b3227c ThemeEditor: Extract most logic into a MainWidget class 2022-05-21 22:25:33 +02:00