.. | ||
0000-no_wide_string.patch | ||
0002-stoi-atoi.patch | ||
0003-stoi-atoi-2.patch | ||
0004-snprintf.patch | ||
0005-stod.patch | ||
0006-stoll.patch | ||
0007-utimes-utime.patch | ||
0008-unix-stuff.patch | ||
0009-purge-non-serenity-syscalls.patch | ||
0010-don-t-use-siginfo.patch | ||
0011-Fixed-your-code-rot-cmake.patch | ||
0012-bin-bash.patch | ||
0013-platform-serenityos.patch | ||
0014-cmcurl-include-unistd.patch | ||
0015-atoll.patch | ||
0016-conflicting-0.patch | ||
0017-conflicting-1.patch | ||
0018-isfinite.patch | ||
0019-libuv-so_linger.patch | ||
0020-libuv-ipv6.patch | ||
0021-libcurl-no-ipv6.patch | ||
0022-remove-mutex.patch | ||
0023-lround.patch | ||
0024-shared-mutex.patch | ||
0025-uv-platform.patch | ||
0026-curl-struct-stat.patch | ||
0027-libuv-platform-serenity.patch | ||
0028-cmake-disable-tests.patch | ||
ReadMe.md |
Patches for CMake (and submodules) on SerenityOS
0000-no_wide_string.patch
We don't support wide strings, and our libstdc++ doesn't have std::wstring
.
This patch is a big hack to wipe wide strings out of the codebase; naturally, it very likely breaks unicode.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0002-stoi-atoi.patch
and 0003-stoi-atoi-2.patch
For some reason, our libstdc++ does not define std::stoi
, these two patches change different overloads of this function to the equivalent C functions.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0004-snprintf.patch
Our libstdc++ does not define std::printf
and std::snprintf
, this patch simply removes the std
namespace.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0005-stod.patch
and 0006-stoll.patch
Our libstdc++ does not define std::stod
and std::stoll
, this patch swaps them with the equivalent C functions.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0007-utimes-utime.patch
utimes
is a deprecated POSIX API, and we do not support it, this patch uses the equivalent utime
function instead.
Status
- Local?
- Should be merged to upstream? (Once cleaned up)
- Resolves issue(s) with our side of things
- Hack
0008-unix-stuff.patch
This patch removes the use of {get,set}priority()
as we do not support it.
it also removes two functions with the correct conditions (the same conditions as their dependents are removed with).
Status
- Local?
- Should be merged to upstream? Partially.
- Resolves issue(s) with our side of things
- Hack
0009-purge-non-serenity-syscalls.patch
This patch removes syscalls and options not defined in serenity.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0010-don-t-use-siginfo.patch
We don't support SIGINFO. This patch removes uses of SIGINFO.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0011-Fixed-your-code-rot-cmake.patch
This purely fixes code issues with cmake. very funny patch.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0012-bin-bash.patch
This patch swaps out /bin/sh
for /bin/bash
in two scripts that need it.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0013-platform-serenityos.patch
This patch adds the SerenityOS platform config file to CMake.
Status
- Local?
- Should be merged to upstream? If we want to have cmake support serenity out of the box.
- Resolves issue(s) with our side of things
- Hack
0014-cmcurl-include-unistd.patch
Everyone gets this wrong. most platforms are very lax with these includes, but we're not one of them.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0015-atoll.patch
Our libstdc++ does not define std::atoll
, this patch uses the equivalent C function instead.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0016-conflicting-0.patch
and 0017-conflicting-1.patch
These two defines make GCC very sad. reasons are unknown at this time.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0018-isfinite.patch
Our math.h
already defines isfinite
.
Status
- Local?
- Should be merged to upstream? If we want to have cmake support serenity out of the box.
- Resolves issue(s) with our side of things
- Hack
0019-libuv-so_linger.patch
We don't have SO_LINGER
or its associated struct. This patch removes them.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0020-libuv-ipv6.patch
cmlibuv assumes the platform has definitions for (and supports) IPv6; this patch removes IPv6-specific things from libuv.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0021-libcurl-no-ipv6.patch
libcurl has a IPV6 switch, but uses AF_INET6
unconditionally in one place. this patch disables IPV6 and makes that one use conditional.
Status
- Local? Partially.
- Should be merged to upstream? Partially.
- Resolves issue(s) with our side of things
- Hack
0022-remove-mutex.patch
and 0024-shared-mutex.patch
We don't have mutexes, and out libstdc++ does not define std::mutex
.
This patch removes all uses of std::mutex
, std::condition_variable
, and anything that depends on them; and replaces them with single-threaded equivalents.
This will break horribly with smp.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0023-lround.patch
Our libstdc++ (and stdlib) does not have lround
, this patch replaces that with somewhat equivalent C stdlib functions.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0025-uv-platform.patch
This patch adds the definitions necessary to compile libuv on Serenity.
Status
- Local?
- Should be merged to upstream? If we want to have cmake support serenity out of the box.
- Resolves issue(s) with our side of things
- Hack
0026-curl-struct-stat.patch
For unknown reasons, curl_setup_once.h
does not include sys/stat.h
. this patch includes sys/stat.h
.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0027-libuv-platform-serenity.patch
This patch adds a platform-specific conditional include to uv/unix.h
.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack
0028-cmake-disable-tests.patch
We don't care about building tests for now, and it makes the compilation much faster.
Status
- Local?
- Should be merged to upstream?
- Resolves issue(s) with our side of things
- Hack