Commit Graph

32410 Commits

Author SHA1 Message Date
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: https://github.com/tc39/proposal-temporal/commit/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
Brian Gianforcaro
c6c59653ce CI: Update the lint commits error message to be more user friendly
We often see PR's opened and then immediately closed because folks think
they did something bad, or don't know how to fix the situation. So lets
try to give them a few pointers.
2022-01-07 00:39:12 -08:00
Guilherme Gonçalves
f91d471843 LibSQL: Implement LIKE SQL expressions 2022-01-07 10:50:39 +03:30
Guilherme Gonçalves
e957c078d5 LibSQL: Properly parse ESCAPE expressions
The evaluation order of method parameters is unspecified in C++, and
so we couldn't rely on parse_statement() being called before
parse_escape() when building a MatchExpression.

With this patch, we explicitly parse what we need in the right order,
before building the MatchExpression object.
2022-01-07 10:50:39 +03:30
Andrew Kaster
d1e3470438 LibTest: Use Array instead of fold expression in __testjs_last()
This avoids a -Wunused-value warning with clang-14.
2022-01-07 10:26:18 +03:30
Brian Gianforcaro
e2e9560580 Ports/stress-ng: Remove patches which disable lchown testing
Serenity's LibC now supports lchown, so we no longer need to disable
these stressors. The port can build and run cleanly without these
patches.
2022-01-06 18:52:26 -08:00
Brian Gianforcaro
c21622ff4d Ports/stress-ng: Update to the latest version - v0.13.10 2022-01-06 18:52:26 -08:00
Filiph Sandström
645712be3b EmojiInputDialog: Ensure that all buttons are equal width
Previously we only set the min size which meant that some emoji buttons
was larger than others :^)
2022-01-07 05:49:12 +03:30
Noah Rosamilia
f3b5f03b2a Ports: Add npiet
Add interpreter for piet programming language
https://www.bertnase.de/npiet/
https://www.dangermouse.net/esoteric/piet.html
2022-01-07 02:12:51 +01:00
Noah Rosamilia
e570f9abc5 Ports: Add libgd
Required for npiet port
2022-01-07 02:12:51 +01:00
Andreas Kling
0631d3fed5 LibCore: Guard access to EventLoop notifiers set with a mutex
This fixes a CI flake we've been seeing lately in TestLibCoreStream.

The solution itself is somewhat of a stop-gap as there are more thorough
event loop threading improvements in the works.
2022-01-07 00:50:26 +01:00
Julian Offenhäuser
f0b500a062 Base: Adjust long s character (017f) in Csilla and Katica fonts 2022-01-07 00:17:49 +01:00
Rafał Babiarz
ea90a1ebac Ports: Add liboggz port 2022-01-06 23:19:20 +01:00
Andreas Kling
626507943c Kernel: Remove redundant socket_by_tuple removal in ~TCPSocket() 2022-01-06 22:51:28 +01:00
Linus Groh
3bd7f5b89e LibJS: Fully parse the TimeZoneIANAName production
Currently does nothing as we'll declare everything other than UTC as
invalid, but it's a first step towards supporting named time zones :^)
2022-01-06 22:40:09 +01:00
Tom
6a4d06e739 Kernel: Only use multiboot framebuffer details if present
We should only look at the framebuffer structure members if the
MULTIBOOT_INFO_FRAMEBUFFER_INFO bit is set in the flags field.

Also add some logging if we ignored the fbdev command line argument
due to either not having a framebuffer provided by the bootloader, or
because we don't support the framebuffer format.
2022-01-06 22:34:11 +01:00
Tom
785c10fda9 Kernel: Add option to force using only the bootloader framebuffer
This allows forcing the use of only the framebuffer set up by the
bootloader and skips instantiating devices for any other graphics
cards that may be present.
2022-01-06 22:34:11 +01:00
Andreas Kling
01b3666894 Kernel: Lock TCPSocket lookup table across destruction
Use the same trick as SlavePTY and override unref() to provide safe
removal from the sockets_by_tuple table when destroying a TCPSocket.

This should fix the TCPSocket::from_tuple() flake seen on CI.
2022-01-06 22:30:40 +01:00