Instead of overwriting the existing `-j` makeopt, we only append
options. This brings the build time for the Quake port down from 24.3s
to 4.4s on my machine.
Music (MIDI) works through TiMidity++ and OpenGL support works, but is
still very buggy. Sometimes PrBoom+ fails to load its own configuration
file, which can be worked around by deleting it.
Also add it as a dependency for the `SDL_mixer` and `SDL2_mixer` ports.
Eawpats GUS patches are installed as part of the port, because without
patches TiMidity++ is not able to generate any sound. The license for
these is "fameware", credit to Andrew Suffield:
https://lists.debian.org/debian-legal/2002/09/msg00137.html
Add two patches to allow Python's package manager to work on Serenity:
- The first one enables zlib module, which is needed for `ensurepip`
command;
- The second patch fixes pip downloads, so it's possible to install
packages from the PyPI repository.
SDL2 applications are prone to reinitializing the SDL components when,
for example, changing the display resolution. This would lead to
crashes since we were doing things in the wrong order.
* We now decouple `GLContext` from `SDL_Window` a bit more, allowing
the window to be destroyed before the GLContext.
* Do not quit the `GUI::Application`, let our event loop handle exiting
These changes allow changing the display resolution in the Quake3 port.
On Arch Linux, the build was picking up the system libsamplerate, which
is undesirable. Unlikely that it is needed on Serenity, so disabling it
is a good workaround.
The GLib repository contains several submodules which is part of the
build process, but the source code for these submodule is not part of
the Source code tarball generated by Gitlab. Switching to download the
Release tarball from download.gnome.org solves this issue. It first
became apparent in version 2.73.x.
Additional information at: https://gitlab.gnome.org/GNOME/glib/-/issues/2716
These libtool archives incorrectly pointed to `/usr/local` causing
other ports not to be able to find the libvorbis libraries.
We cannot use `configure --prefix=...` since that will add up with our
fixed `make DESTDIR=...` logic, causing the path to be duplicated.
We can also not change that `DESTDIR` logic without influencing all
other port builds.
Finally, `configure --with-sysroot=...` doesn't work since not all
other ports (such as SDL_mixer) have a recent enough libtool to
understand the sysroot syntax.
So let's `sed` this and be done with it :^)
bzip2's Makefile uses the '=' operator to set these variables so they
cannot be overridden by just the environment variables; we have to pass
them on the command line.
This change ensures that the system ar/ranlib are no longer used, so the
port can be build on macOS or non-x86 Linux.
This was as simple as copying over the libtool patches from libvorbis
and removing now-unneeded Serenity-awareness patches.
Co-authored-by: Tim Schumacher <timschumi@gmx.de>