Commit graph

32327 commits

Author SHA1 Message Date
Timothy Flynn
d5f14b5ff9 Meta: Move remove_unicode_data_if_version_changed to utils.cmake
This function will be used by the time zone database parser. Move it to
the common utilities file, and rename it remove_path_if_version_changed
to be more generic.
2022-01-08 12:45:34 +01:00
Timothy Flynn
a70e029236 Meta: Redefine link_with_unicode_data to not include unicode_data.cmake
This is to prevent an import cycle in a subsequent commit.
2022-01-08 12:45:34 +01:00
Timothy Flynn
363eafbc44 Meta: Remove -ldl linkage from LagomUnicode
This was needed for dlopen() on some systems, but is no longer needed as
of commit 1116a29c19.
2022-01-08 12:45:34 +01:00
Xavier Defrang
b1a15b02f1 PixelPaint+LibGfx: Add sepia color filter 2022-01-08 12:31:11 +01:00
Xavier Defrang
2502a88e49 LibGfx: Implement Grayscale/Invert filters as ColorFilter 2022-01-08 12:31:11 +01:00
Liav A
ff25958b51 Userland: Introduce the pmemdump utility
This utility helps to dump the physical memory space from /dev/mem.
It supports both read(2) and mmap(2) on it so we could use mmap(2) for
fast dumping of the memory, or read(2) when we need to read unaligned
physical regions.
2022-01-08 13:21:16 +02:00
Liav A
f7d1b8cd0c Kernel: Avoid potential memory info leak when doing mmap on /dev/mem
Although we can still consider this impossible to happen now, because
the mmap syscall entry code verifies that specified offset must be page
aligned, it's still a good practice to VERIFY we actually take a start
address as page-aligned in case of doing mmap on /dev/mem.

As for read(2) on /dev/mem, we don't map anything to userspace so it's
safe to read from whatever offset userspace specified as long as it does
not break the original rules of reading physical memory from /dev/mem.
2022-01-08 13:21:16 +02:00
Liav A
ca254699ec Kernel: Implement read functionality for MemoryDevice
So far we only had mmap(2) functionality on the /dev/mem device, but now
we can also do read(2) on it.

The test unit was updated to check we are doing it safely.
2022-01-08 13:21:16 +02:00
Liav A
6feb07fe43 Kernel: Remove needless did_seek method override in MemoryDevice class 2022-01-08 13:21:16 +02:00
Liav A
876559d283 Kernel: Change method name to clarify physical memory mmap validation 2022-01-08 13:21:16 +02:00
Rummskartoffel
f9c4f65e1f less: Fix crash on empty input 2022-01-08 11:56:37 +01:00
Jean-Paul Balabanian
a69598a670 KeyboardMapper: Add support for dynamic keyboard visualization 2022-01-08 11:50:26 +01:00
Jean-Paul Balabanian
d47573eba6 LibGUI: Add missing altgr() modifier key 2022-01-08 11:50:26 +01:00
Luke Wilde
87d19dfa28 Ports: Update curl port to version 7.81.0 2022-01-08 14:04:08 +03:30
Luke Wilde
e65052a208 Ports: Update zstd port to version 1.5.1 2022-01-08 14:04:08 +03:30
Luke Wilde
7110c0ecb0 Ports: Update OpenSSL port to version 1.1.1m 2022-01-08 14:04:08 +03:30
Luke Wilde
e9d26fb47d Ports: Update libtiff port to version 4.3.0 and use sha256
This uses sha256 instead of signatures like what has been done for the
other ports.

This version of libtiff uses the version of config.sub which has
Serenity in it, so this port no longer needs any patches! :^)
2022-01-08 13:50:48 +03:30
Ali Mohammad Pur
524381aa78 LibTLS: Mark the socket as idle after a TLS-level disconnection
This fixes a bunch of RequestServer spins.
2022-01-08 13:41:31 +03:30
Timothy Flynn
3938a2cca7 CI: Extract toolchain ccache in the Serenity build stage
The toolchain is built in a previous stage, but once the Serenity stage
has begun, we have to re-pull the toolchain from the Azure cache. There
is a timing window where a cache-busting change can be commited between
these steps; to alleviate the affect this has, pull the toolchain ccache
so that the build only takes a few minutes instead of a couple hours.
2022-01-07 18:16:30 -08:00
Jelle Raaijmakers
80626ca51f Ports: Remove unnecessary -lmodplug from tuxracer 2022-01-08 00:56:48 +01:00
Jelle Raaijmakers
2a85abb15d Ports: Fix dynamic load of libmodplug by SDL2_mixer
The configure script for `SDL2_mixer` was trying to find the shared
library for `libmodplug` in the wrong directories and with the wrong
filename. This installs the shared library as `libmodplug.so.1` and
symlinks to it from `libmodplug.so`, and instructs the `SDL2_mixer`
build to search for it in `/usr/local/lib`.

Fixes the build for ports Super-Mario, freeciv and dungeonrush.
2022-01-08 00:56:48 +01:00
Tim Schumacher
b7cf84f542 LibC: Fix up a few copy-pasted INTMAX parameter names 2022-01-08 00:46:30 +01:00
Tim Schumacher
d059bafd8a Ports: Include missing signal.h in emu2
This file apparently relies on the fact that `sys/wait.h` _may_ include
symbols from `signal.h`, but as we don't have that (and it isn't a
requirement), let's just add the include for `signal.h`.
2022-01-08 00:46:30 +01:00
Jelle Raaijmakers
11f1753be1 Ports: Unset env vars after configure in php
These environment variables would linger after the `php` port was done
building. This would pose issues in the future if other ports depend on
this package, since these vars then leak into the build scripts.
2022-01-08 00:45:49 +01:00
Jelle Raaijmakers
40737341a8 Ports: Update php port to version 8.1.1 2022-01-08 00:45:49 +01:00
Linus Groh
3301b0b33d LibJS: Remove duplicate assignment step from parse_iso_date_time()
This is an editorial change in the Temporal spec.

See: eb68de2
2022-01-08 00:31:28 +01:00
Jelle Raaijmakers
5293832fc3 Ports: Reinstate config.sub patch for libogg
Commit fee43e3544 broke the `libogg` port build by removing the
`config.sub` patch. This reinstates that patch.
2022-01-08 00:24:23 +01:00
Neolyum
2159385bb6 Spider: Add functionality to automatically move cards to valid stacks
This commit adds the possibility to use the secondary mouse button to
let the game move the selected card(s) to the next valid stack.
2022-01-08 00:11:51 +01:00
Julian Eigmüller
fec0829c86 man: Fix error handling when section is specified
Previously, man would only check if a path is not associated with a
manpage when no section was specified via the command line.

So `man gibberish` would fail with "no man page for gibberish", but `man
2 gibberish` would fail with a runtime error and still open a pipe to
  the pager leading to a nasty crash.

Moving the check outside the "if (!section)" block fixes this.

Also: if a section is specified, the error message now echoes it back
(no manpage for foo in section bar).
2022-01-07 21:31:46 +01:00
Dolphin von Chips
2aff8b4a27 Base: Port serenity-application template to LibMain 2022-01-07 20:59:21 +01:00
Martin Bříza
ddeacce905 Ports/qt6: Add qt6-serenity
And this is the platform plugin we need to run Qt6 apps properly
2022-01-07 18:38:32 +01:00
Martin Bříza
ac762c5520 Ports/qt6: Add a very basic Qt6 Base package
It's necessary to have a working serenity platform plugin for it to work
with GUI applications
2022-01-07 18:38:32 +01:00
Martin Bříza
41ea37f25a Toolchain/GCC: Declare we don't have memalign
I'm not even sure if this is a hack. However, we don't implement
memalign so it's necessary to tell GCC so it doesn't go looking for it
in their implementation of `new`
2022-01-07 18:38:32 +01:00
Martin Bříza
f3490f9327 LibC: Add mntent stub functions
These functions are required by Qt but since we don't really need them
for just basic apps, let's leave the implementation for later.
2022-01-07 18:38:32 +01:00
Liav A
3e066d380d Kernel/Memory: Remove needless VERIFY in /dev/mem mmap validation method
As it was pointed by Idan Horowitz, the rest of the method doesn't
assume we have any reserved ranges to allow mmap(2) to work on them, so
the VERIFY is not needed at all.
2022-01-07 19:13:27 +02:00
mjz19910
10ec98dd38 Everywhere: Fix spelling mistakes 2022-01-07 15:44:42 +01:00
Liav A
168063819d Meta: Remove explicit IDE attached drive from q35 setup
Use $SERENITY_BOOT_DRIVE to determine it for us.
2022-01-07 12:35:25 +01:00
Tim Schumacher
aa35b6e3c3 CI: Don't let APT ask for confirmation on package installation 2022-01-07 12:35:15 +01:00
Schlufi
55a7738837 AK: Use a full-period xorshift PRNG for double_hash
The previous implementation had some pretty short cycles and two fixed
points (1711463637 and 2389024350). If two keys hashed to one of these
values insertions and lookups would loop forever.
This version is based on a standard xorshift PRNG with period 2**32-1.
The all-zero state is usually forbidden, so we insert it into the cycle
at an arbitrary location.
2022-01-07 12:34:44 +01:00
Erlend Lind Madsen
aa6e5e8cdc Ports: Describe in README that 'depends' is an array
The README previously described `depends` as a space-separated
string. This is now changed to an array, which seem to be the
correct type used in the other Ports.
2022-01-07 14:57:50 +03:30
Andrew Kaster
c62c10caf0 Meta+CI+Documentation: Bump host gcc requirement up to gcc 11
Bump macOS CI version to macOS 11 while we're here.
2022-01-07 11:02:30 +01:00
Andrew Kaster
d70aba6a11 LibLine: Replace call to vfork() with fork()
We don't actually have a non-trivial vfork implementation, so just
call fork(). As a bonus, vfork() is deprecated in XCode 13.1 when
targeting macOS Big Sur, so this removes a blocker from updating our
macOS CI version.
2022-01-07 11:02:30 +01:00
mjz19910
3102d8e160 Everywhere: Fix many spelling errors 2022-01-07 10:56:59 +01:00
Brian Gianforcaro
6bf91d00ef run-tests: Make reproducing test failures behave closer to selftest mode
In CI / or local testing when you run `serenity.sh tests`, the system
will boot itself in self test mode, and the test runner will be launched
by SystemServer. Previously we were setting up settings for that
environment in the `SystemServer.ini`. This makes reproducing CI
failures a bit confusing, as the system will behavior differently if you
run in self-test mode, vs running `run-tests-and-shutdown.sh` or
`run-tests` manually in a session.

This change moves the settings to `run-tests`, so no matter how you try
to run the test runner, it will always behave the same.
2022-01-07 01:19:09 -08:00
Brian Gianforcaro
856fc76083 LibPthread: Remove bad spec link for pthread_{get/set}name_np APIs
I had somehow incorrectly added this link in a previous check-in.

Reported-by: Nico Weber <thakis@chromium.org>
2022-01-07 01:18:57 -08:00
Brian Gianforcaro
f4dd388caf LibPthread: Add POSIX spec link for pthread_sigmask API 2022-01-07 01:18:57 -08:00
Brian Gianforcaro
29716b9624 LibPthread: Add POSIX spec links for pthread_once API 2022-01-07 01:18:57 -08:00
Brian Gianforcaro
800f14298d LibPthread: Add POSIX spec links for pthread_cond API 2022-01-07 01:18:57 -08:00
Brian Gianforcaro
54e15821cd LibPthread: Add POSIX spec links for semaphore APIs 2022-01-07 01:18:57 -08:00
Brian Gianforcaro
84f74647ac LibC: Add POSIX spec links for unistd APIs 2022-01-07 01:18:57 -08:00