ladybird/Ports/serious-sam-classic/patches
Jelle Raaijmakers 1127bdb65c Ports: Add Serious Sam - The First Encounter
The actual port is SeriousSamClassic, but only The First Encounter is
built and installed. It should be relatively easy to also build and
install The Second Encounter from this port in the future.
2023-05-04 16:11:28 +02:00
..
0001-CMake-Remove-march-native.patch
0002-CMake-Set-the-install-prefix-to-our-staging-prefix.patch
0003-SamTFE-Force-__linux__-macro-to-be-1.patch
0004-Engine-Remove-malloc.h.patch
0005-Engine-Remove-static_assert-on-pthread_t.patch
0006-Engine-Add-missing-include-for-sys-select.h.patch
0007-Engine-Support-running-from-usr-local.patch
ReadMe.md

Patches for serious-sam-classic on SerenityOS

0001-CMake-Remove-march-native.patch

CMake: Remove -march=native

The compiler complains about this:

error: bad value 'native' for '-march=' switch

However, in the list of supported options, native is included - so there's something funky going on. Leaving this option out lets the game compile successfully.

0002-CMake-Set-the-install-prefix-to-our-staging-prefix.patch

CMake: Set the install prefix to our staging prefix

This makes sure the binaries are installed to /usr/local.

0003-SamTFE-Force-__linux__-macro-to-be-1.patch

SamTFE: Force linux macro to be 1

We are compatible with the Linux version, and setting this macro allows us to identify as Linux and compile successfully.

0004-Engine-Remove-malloc.h.patch

Engine: Remove malloc.h

This seems to be a non-standard header. The API used by the game already finds its way through the inclusion of other headers, so leave this out.

0005-Engine-Remove-static_assert-on-pthread_t.patch

Engine: Remove static_assert on pthread_t

In x86_64 Serenity, sizeof(size_t) == 8 and sizeof(pthread_t) == 4. The game seems to run just fine without this assertion, and changing pthread_t is quite the yak hole.

0006-Engine-Add-missing-include-for-sys-select.h.patch

Engine: Add missing include for <sys/select.h>

0007-Engine-Support-running-from-usr-local.patch

Engine: Support running from /usr/local

A lot of logic is hardcoded to /usr, so we push it in the right direction to allow it to run from /usr/local instead.