Commit graph

42485 commits

Author SHA1 Message Date
Linus Groh
bc2ebcadc0 Everywhere: Require version >= 12 for GCC host compiler
So far we've gotten away with using GCC 11 for Lagom and to compile the
toolchain, but via #15795 we discovered a compiler bug that has been
fixed in the latest version but would error the build with CI's GCC 11.
Time for an upgrade :^)

We already use ubuntu-22.04 images in most places, so this is pretty
straightforward. The only exception is Idan's self-hosted runner, which
uses Ubuntu Focal. LibJS should build fine with GCC 11, still.
2022-10-25 23:15:51 +01:00
Luke Wilde
28bc3a76d9 LibWeb: Remove old assertion in host_enqueue_promise_job context hack
We no longer need to pull a global object from somewhere to push an
execution context onto the stack, so the assertion no longer makes
sense.
2022-10-25 22:54:07 +01:00
Liav A
a0c41fc3f0 Base: Describe the moved SysFS power_state node in SysFS document 2022-10-25 15:33:34 -06:00
Liav A
75f01692b4 Kernel+Userland: Move /sys/firmware/power_state to /sys/kernel directory
Let's put the power_state global node into the /sys/kernel directory,
because that directory represents all global nodes and variables being
related to the Kernel. It's also a mutable node, that is more acceptable
being in the mentioned directory due to the fact that all other files in
the /sys/firmware directory are just firmware blobs and are not mutable
at all.
2022-10-25 15:33:34 -06:00
Liav A
8c21d974b2 Base: Remove all global entries from the ProcFS document 2022-10-25 15:33:34 -06:00
Liav A
dc5b28e26c Kernel/ProcFS: Remove all unnecessary components
Now that all global nodes are located in the /sys/kernel directory, we
can safely drop the global nodes in /proc, which includes both /proc/net
and /proc/sys directories as well.
This in fact leaves the ProcFS to only have subdirectories for processes
and the "self" symbolic link to reflect the current process being run.
2022-10-25 15:33:34 -06:00
Liav A
1c5e09f789 Base: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
9d1ba0e6ad Utilities: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
35c98a031a Services: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
b579d9518c LibSymbolication: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
c7dca00b65 LibCore: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
5dfb2b18f3 Applications: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
6e508573a0 Applets: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
ec96aee8e3 Tests: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
6c37f04e88 Ports/OpenJDK: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
c8a7a3e43f Ports/libuv: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
78ca32d14c Ports/neofetch: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
a0ed543993 sysctl: Use /sys/kernel/variables/ directory instead of /proc/sys 2022-10-25 15:33:34 -06:00
Liav A
4556fdc891 Base: Document the new /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A
a91589c09b Kernel: Introduce global variables and stats in /sys/kernel directory
The ProcFS is an utter mess currently, so let's start move things that
are not related to processes-info. To ensure it's done in a sane manner,
we start by duplicating all /proc/ global nodes to the /sys/kernel/
directory, then we will move Userland to use the new directory so the
old directory nodes can be removed from the /proc directory.
2022-10-25 15:33:34 -06:00
skelegorg
db2e1bfa02 LibGUI: Fix EditingEngine Shift + Up/Down highlight behavior
Fix unwanted behavior in the EditingEngine where using Shift + Up or
Down keys will not highlight to the beginning or end of the first or
last lines of the file. Fix issue #15695
2022-10-25 18:35:53 +01:00
Linus Groh
edf3aee4df Ports/python3: Update Python to 3.11.0
This now requires `--host` and `--with-build-python` to be passed to the
configure script when cross compiling; the former we simply do like in
many other package.sh scripts as well, the latter we point to `python3`,
which is expected to match the port's version anyway.
2022-10-25 13:11:42 +01:00
Linus Groh
35ec636b5d Ports/python3: Reformat package.sh according to our current guidelines 2022-10-25 13:11:42 +01:00
Mykola
97c0f603e3 Base: Add just a bit more emojis
Added:
	1F4D6 # 📖 E0.6 open book
	1F4F9 # 📹 E0.6 video camera
	1F52C # 🔬 E1.0 microscope
	1F52D # 🔭 E1.0 telescope
	1F697 # 🚗 E0.6 automobile
	1F69B # 🚛 E1.0 articulated lorry
	1F9FE # 🧾 E11.0 receipt
	1F9FF # 🧿 E11.0 nazar amulet
	1FAA1 # 🪡 E13.0 sewing needle
	1FAD3 # 🫓 E13.0 flatbread
2022-10-25 12:55:07 +01:00
demostanis
34acae90c7 Userland: Let applications make use of make_command_palette_action() 2022-10-25 10:21:18 +01:00
demostanis
eb8c2bde90 LibGUI: Don't show the command palette action in the command palette 2022-10-25 10:21:18 +01:00
demostanis
28c1d7011f LibGUI: Remove Window::set_blocks_command_palette()
Since the logic to open the command palette is now in the form of an
action, its keybinding is only bound when the window active. Thus, when
a combo box or the emoji input dialog is active, the window isn't, and
the command palette doesn't show up, without requiring special checks.
2022-10-25 10:21:18 +01:00
demostanis
6bb512d0b2 LibGUI: Add CommonActions::make_command_palette_action() 2022-10-25 10:21:18 +01:00
Timothy Flynn
b077fccd3d LibLocale+LibJS: Update to CLDR version 42.0.0
There were some notable changes to the CLDR JSON format and data in this
release.

The patterns for a date at a specific time, i.e. "{date} at {time}", now
appear under the "atTime" attribute of the "dateTimeFormats" object.

Locale specific changes that affected test-js:

All locales:

* In many patterns, the code points U+00A0 (NO-BREAK SPACE) and U+202F
  (NARROW NO-BREAK SPACE) are now used in place of an ASCII space. For
  example, before the "dayPeriod" fields AM and PM.

* Separators such as U+2013 (EN DASH) are now surrounded by U+2009 (THIN
  SPACE) in place of an ASCII space character.

Locale "en":

* Narrow localizations of time formats are even more narrow. For
  example, the abbreviation "wk." for "week" is now just "wk".

Locale "ar":

* The code point U+060C (ARABIC COMMA) is now used in place of an ASCII
  comma.

* The code point U+200F (RIGHT-TO-LEFT MARK) now appears at the
  beginning of many localizations.

* When the "latn" numbering system is used for currency formatting, the
  currency symbol more consistently is placed at the end of the pattern.

Locale "he":

* The "many" plural rules category has been removed.

Locales "zh" and "es-419":

* Several display-name localizations were changed.
2022-10-25 10:10:39 +01:00
Zaggy1024
b87398341b LibVideo: Add CICP parsing to MatroskaReader
This will allow correct independent code points to be selected from VP9
in WebM, since the VP9 bitstream does not specify them independently.
2022-10-25 11:06:11 +02:00
Zaggy1024
cd127b65c3 LibVideo: Implement CICP color space conversion
This adds a struct called CodingIndependentCodePoints and related enums
that are used by video codecs to define its color space that frames
must be converted from when displaying a video.

Pre-multiplied matrices and lookup tables are stored to avoid most of
the floating point division and exponentiation in the conversion.
2022-10-25 11:06:11 +02:00
Zaggy1024
ba79de0439 LibGfx: Make Matrix and VectorN more constexpr-friendly
This allows the copy constructor of Matrix to be called constexpr,
which should allow more values to be compile-time calculated.

Likewise, VectorN.data() is now constexpr so that it can be compile-time
evaluated.
2022-10-25 11:06:11 +02:00
Peter Elliott
0994e6964b Ports: Fix return statuses with new buildsteps
previously every buildstep would return a success error code. As a
result, all the steps would run even if previous steps failed.

I've also added a red status message when this happens.
2022-10-25 09:34:53 +02:00
Liav A
03ae9f94cf Kernel/FileSystem: Remove hardcoded unveil path of /usr/lib/Loader.so
If a program needs to execute a dynamic executable program, then it
should unveil /usr/lib/Loader.so by itself and not rely on the Kernel to
allow using this binary without any sense of respect to unveil promises
being made by the running parent program.
2022-10-24 19:41:32 -06:00
Liav A
d102ea5f81 Userland: Unveil /usr/lib/Loader.so when using 'x' permissions on unveil
We should not rely on the Kernel to unveil this for us, so if a program
needs to execute another program it should unveil the dynamic loader too
to prevent crashing.
To do this, we check if the user program tried to unveil a binary with
at least using the 'x' permission, so we will try to also unveil the
dynamic loader too.
2022-10-24 19:41:32 -06:00
crpz1
30dc304429 Inspector: Reopen picker UI after selecting Inspector 2022-10-24 23:58:13 +01:00
Eli Youngs
7b05f2c4d6 mv: Support the '--no-clobber' option 2022-10-24 23:48:14 +01:00
Timothy Slater
0d7d759095 PixelPaint: Limit editing tools to selection
This effectively creates a double-buffer for tools to use when modifying
the layer's bitmap (content or mask). Once the changes have been made
the tool reports to the layer that it has made changes along with a Rect
of the changed region. The layer will then merge the changes from the
scratch image to the real bitmap. This merge is done as follows: If a
given pixel is inside the selected region, the pixel from the scratch
bitmap is copied to the real bitmap. If the pixel is not inside the
selected region, the pixel from the real bitmap is copied to the scratch
bitmap.

As an optimization, when there is no selection active, the new method
for getting the scratch bitmap will return the real bitmap and no
merging will need to take place.
2022-10-24 23:46:22 +01:00
demostanis
7c33f8f7df AK: Add SplitBehavior::KeepTrailingSeparator with tests 2022-10-24 23:29:18 +01:00
demostanis
3e8b5ac920 AK+Everywhere: Turn bool keep_empty to an enum in split* functions 2022-10-24 23:29:18 +01:00
Sam Atkins
f485db2501 LibGfx: Make Rect::set_{bottom,right}_without_resize() work for non-int 2022-10-24 23:14:57 +01:00
Karol Kosek
37729f5b91 GMLPlayground: Restrict filesystem access using unveil() 2022-10-24 23:09:30 +01:00
Karol Kosek
25104a30c1 GMLPlayground: Open and save files using FileSystemAccessClient 2022-10-24 23:09:30 +01:00
networkException
681e36706b LibWeb: Implement recent changes to module script fetching
This patch implements all changes to the specification touching the
subset of module script fetching we support.

Notably it adds parts of the specification for supporting import maps.

With this we are also able to get rid of a non standard workaround for a
spec issue we discovered while initially implementing module scripts :^)
2022-10-24 23:06:56 +01:00
networkException
9afea1248f LibWeb: Add disallow further import maps steps to ESO 2022-10-24 23:06:56 +01:00
networkException
794dc2e16b LibWeb: Expose an import map and import maps allowed on Window 2022-10-24 23:06:56 +01:00
networkException
d7947995d9 LibWeb: Add the ImportMap struct 2022-10-24 23:06:56 +01:00
networkException
ee27d8cdfd LibWeb: Add is_code_unit_prefix() function 2022-10-24 23:06:56 +01:00
Yedaya Katsman
dcad8494d6 LibJS: Accept calendar names case-insensitively
This is a normative change in the Temporal spec

See tc39/proposal-temporal@03101c6
2022-10-24 23:00:19 +01:00
Linus Groh
b00d49bbf0 LibWeb: Teach MainThreadVM about module scripts 2022-10-24 22:58:51 +01:00