Commit graph

1329 commits

Author SHA1 Message Date
Kenneth Myhra
8989482293 Ports/glib: Do not flag support for extended attributes (xattr) 2022-10-03 22:48:56 +01:00
Kenneth Myhra
64b46794b9 Ports/glib: Update GLib to version 2.74.0 2022-10-03 22:48:56 +01:00
Liav A
74018be739 Meta: Make x86-64 target the default
This is a preparation to check if our users find noticeable bugs in the
x86-64 target, before we can decide if we want to remove the i686 target
for good.
2022-10-03 11:14:53 +02:00
Andrew Kaster
32c9be30dc Ports/mold: Update to 1.5.1 and use CMake instead of Makefile
Per the release notes for 1.5.0, the CMake build is preferred going
forward. This lets us drop some Makefile patches and pass them as CMake
options instead, with the exception of disabling mold-wrapper.so.
2022-10-03 10:01:06 +01:00
djwisdom
7618f2290f Base: Update ports serenity-theming use latest commit f0100c2 2022-10-02 18:48:47 +01:00
Tim Schumacher
b288cd6976 Ports/sdl12-compat: Update to version 1.2.56 2022-10-02 00:59:39 +01:00
DJtheRedstoner
add7dd66f6 Ports/OpenJDK: Use posix_fallocate 2022-10-01 19:17:50 +01:00
DJtheRedstoner
bd08587ac9 Ports/OpenJDK: Update for the removal of StringView(char const*) 2022-10-01 19:17:50 +01:00
Tim Schumacher
1faca15193 Toolchain: Move the binutils patch into its own folder
This makes binutils compatible with `./package.sh dev`, so that we can
regenerate patches more easily, and neatly stack (temporary) patches on
top.
2022-10-01 18:43:29 +01:00
Tim Schumacher
be6b3710c8 Ports/qemu: Use the coarse monotonic clock for timing CPU ticks
While this loses quite a bit of accuracy (although to no apparent
decrease in emulation quality) , it helps avoiding the additional
overhead of the `clock_gettime` syscall (as `CLOCK_MONOTONIC_COARSE`
is forwarded using the mapped time page) and we don't have to do a
HPET timer read for each tick.

This results in a decrease of Serenity boot time from 1h16m down to
42m when running on Serenity.
2022-09-30 20:13:11 -07:00
Tim Schumacher
46b8a4cda3 Ports: Only regenerate patches if there are actual changed commits
We were previously comparing the hash against the hash after the initial
import, which caused us to regenerate patches every time as long as we
did have patches (even if they haven't changed at all) and the script
entirely missing that it should remove patches if the current commit is
the "import" commit.
2022-09-18 13:00:46 +04:30
Tim Schumacher
c1dc8c9ccb Ports: Handle generating a ReadMe for an empty patch directory 2022-09-18 13:00:46 +04:30
Tim Schumacher
f6005764d7 Ports: Place tags at important points in the commit history
This helps with easier rebasing and for easier comparing or returning to
the state at which the last actual on-disk patches were.
2022-09-18 13:00:46 +04:30
Tim Schumacher
1b9fb7041d Ports: Unify the git "origin" and the working copy
I've lost more changes to "you forgot to push the changed commits to the
remote" than I'd like to admit, so let's just unify both and only ever
use the actual working repository for detemining whether any patches
have changed.
2022-09-18 13:00:46 +04:30
Tim Schumacher
cb2f0d9861 Toolchain: Regenerate patches using the latest format rules 2022-09-18 13:00:46 +04:30
Tim Schumacher
453323f3c1 Ports: Force full-length file indices when formatting patches
This keeps file index lengths from being dependent on internals of the
repository.
2022-09-18 13:00:46 +04:30
Tim Schumacher
72c059535e Ports: Follow symlinks while discovering whether a port has patches
This enables us to use `./package.sh dev` with LLVM and GCC.
2022-09-18 13:00:46 +04:30
Tim Schumacher
4d29489705 Ports: Keep [...] prefixes while importing patches
This stops us from mangling our LLVM patch names and titles when using
`./package.sh dev`, as they like to put their category names in square
brackets.
2022-09-18 13:00:46 +04:30
Jelle Raaijmakers
09d211e08a Ports: Make SDL2 build since recent GL::create_context changes
We also directly invoke `::present` on `GLContext` instead of going
through the static method `GL::present_context`.
2022-09-17 19:38:30 +02:00
Tim Schumacher
119567e176 Ports: Remove the duplicated Clang compiler symlinks
Those have been added to the Clang build script in
d4d6f2d945, and now that the Clang version
has been updated, everyone should have those symlinks already anyways.
2022-09-16 05:39:28 +00:00
Tim Schumacher
f45238db0f Toolchain: Update to LLVM 15.0.0 2022-09-16 05:39:28 +00:00
Jelle Raaijmakers
7e85ec3431 Ports: Do not allow clean* to be overridden
There were only two packages making use of this functionality, but it
seems more sensible to have a fixed implementation for the cleaning of
ports - especially now they delete the entire build directory and/or
dist files.
2022-09-13 13:44:01 -04:00
Jelle Raaijmakers
5bfc61bc69 Ports: Actually clean port build directory
The functionality for `./package.sh clean` was a bit weird: based on
whether you were working in dev mode, it would try to delete either
`$workdir` or `$nongit_workdir` and `*.out` from your `pwd`.

The new functionality is pretty clear: `./package.sh clean` deletes the
entire build directory for the port regardless of what mode you're in,
`./package.sh clean_dist` removes all `$files`, and
`./package.sh clean_all` does both.
2022-09-13 13:44:01 -04:00
djwisdom
27fa038ffa Ports: Update serenity-theming use latest commit fbd26ec 2022-09-13 13:40:26 -04:00
Jelle Raaijmakers
9cf329183f Ports: Update Quake III's launcher name
Following what is commonly used on the internet as the game's title,
and making it consistent with Quake II.
2022-09-09 15:15:22 +02:00
Jelle Raaijmakers
39a9ebf4fc Ports: Update launcher path to Quake II
The launcher was not created as a result of the path not being
absolute. Also set a more commonly used title for the launcher.
2022-09-09 15:15:22 +02:00
djwisdom
dd510b24c9 Ports: Update serenity-theming use latest commit 3b4e1f2 2022-09-08 18:07:07 +01:00
Jelle Raaijmakers
f3877daac5 Ports: Build Quake in parallel
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.
2022-09-08 12:08:09 -04:00
Jelle Raaijmakers
71c7ac3510 Ports: Remove invalid copy action from PrBoom+ build
This was a test that should have been removed in the previous PR.
2022-09-05 23:26:18 +02:00
Jelle Raaijmakers
6af184b48b Ports: Support SDL_WINDOWEVENT_CLOSE in SDL2
This allows PrBoom+ to properly quit the application when closing the
main window.
2022-09-03 00:07:24 +02:00
Jelle Raaijmakers
180effa8ac Ports: Add PrBoom+
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.
2022-09-03 00:07:24 +02:00
Jelle Raaijmakers
808e0c9b17 Ports: Add TiMidity++
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
2022-09-03 00:07:24 +02:00
Humberto Alves
fb5a39498a Ports/python3: Make pip work
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.
2022-09-02 14:03:24 +01:00
Jelle Raaijmakers
fa2ece1183 Ports: Tidy up Quake2 platform patch
There were a lot of unrelated formatting changes in the patch, which is
now shrunk by roughly 60%.
2022-08-31 14:25:15 +01:00
Jelle Raaijmakers
b057a2d82b Ports: Fix Quake2 dynamic loading issues
Our DynamicLoader would choke on a couple of missing symbols. I'm not
certain how this could have worked before, but there we go. :^)
2022-08-31 14:25:15 +01:00
Jelle Raaijmakers
45b9fc2bad Ports: Move Quake2 port in-tree
All commits have been combined into one platform support patch.
2022-08-31 14:25:15 +01:00
Jelle Raaijmakers
14ece2ac90 Ports: Support "restarts" in SDL2
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.
2022-08-31 12:42:55 +01:00
Valtteri Koskivuori
adf85c719a Ports: Disable libsamplerate dependency for SDL2
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.
2022-08-28 22:54:11 +01:00
Kenneth Myhra
e22311370b Ports/glib: Update GLib to version 2.73.3 2022-08-28 15:42:14 +01:00
Kenneth Myhra
f99eb2d11b Ports/glib: Switch to the offical Release tarball for GLib
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
2022-08-28 15:42:14 +01:00
djwisdom
98672e09dd Ports: Update serenity-theming use latest commit 624c29a 2022-08-27 03:34:04 +00:00
Brian Gianforcaro
14264ca022 Ports: Update gcc to version 12.2.0 2022-08-24 22:24:34 +00:00
Brian Gianforcaro
46f41f40a2 Ports: Update binutils to version 2.39 2022-08-24 22:24:34 +00:00
Jelle Raaijmakers
eb6b78b950 Ports: Set correct path in .la files for libvorbis
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 :^)
2022-08-24 12:14:18 +02:00
Jelle Raaijmakers
07a7d3e136 Ports: Select right config tools for SDL_mixer
Previously, you would need `sdl-config` and `libmikmod-config` on your
host machine to get SDL_mixer to build. With this patch, it always
works :^)
2022-08-24 11:59:50 +02:00
Brian Gianforcaro
77a725b6f4 Ports: Update stress-ng to version 0.14.03
The stress-ng project appears to have addressed all the issues
we had been patching, and thus we no longer need almost all of
these patches.
2022-08-24 07:29:49 +00:00
Tim Schumacher
a0820b205c Ports/SDL2_ttf: Update to 2.20.1 2022-08-23 13:30:48 +01:00
Tim Schumacher
4678028842 Ports/SDL2_net: Update to 2.2.0 2022-08-23 13:30:48 +01:00
Tim Schumacher
ebf713da60 Ports/SDL2_mixer: Update to 2.6.2 2022-08-23 13:30:48 +01:00
Tim Schumacher
1ce3b9ea48 Ports/SDL2_image: Update to 2.6.2 2022-08-23 13:30:48 +01:00