Commit graph

759 commits

Author SHA1 Message Date
Jelle Raaijmakers b2e0bf24ef Ports: Add missing GLtron port dependencies 2022-01-12 01:08:38 +01:00
Jelle Raaijmakers 90d70479b8 Ports: Correct EOL in GLtron patch
The line endings for this patch were inadvertently normalized because
of our old `.gitattributes` rules.
2022-01-12 01:08:38 +01:00
Jelle Raaijmakers c7e021c1f1 Ports: Add GLTron
The patches mainly convert this SDL1 game to SDL2. It has some
graphical artifacts, but it's playable!
2022-01-11 23:47:42 +01:00
Jesse Buhagiar 5e20c45174 Ports: Add Half-Life Port :^)
Add a port of Half-Life, the classic game by VALVe Software
2022-01-11 15:03:55 +01:00
Andrew Kaster 4ebcae9f4f Ports: Add mold port
The port exposes some dynamic loader and toolchain shortcomings,
namely RTLD_NEXT, RTLD_NOLOAD, and std::filesystem. Hopefully we can
discover a ton of multi-threading bugs in Serenity with this port :^)
2022-01-11 11:47:48 +01:00
Linus Groh b8d640c3f9 Ports: Remove wireguard-tools strsep() replacement patch 2022-01-10 23:47:30 +01:00
Daniel Bertalan 78fa430ca1 Ports: Update bash port to version 5.1.16
The `remove-conflicting-declaration-in-glob` patch seems to not be
needed anymore.
2022-01-10 23:03:24 +01:00
Linus Groh d099527dbb Ports: Add wireguard-tools
What will it take to port WireGuard to SerenityOS? No idea. But this is
a start :^)
2022-01-10 21:22:41 +01:00
Daniel Bertalan b19cc3cdcb Toolchain: Backport --update-section support to llvm-objcopy
This commit backports the LLVM commit that adds support for the
`--update-section` flag to llvm-objcopy. We use this feature of GNU
objcopy to embed the symbol map in the kernel.

The corresponding LLVM Phabricator Differential Revision can be found
here: https://reviews.llvm.org/D112116

This patch is identical to the upstream commit, except for two hunks
that had to be changed as they didn't apply cleanly.
2022-01-10 09:55:45 +03:30
Andrew Kaster da00ccb26a Ports: Add "-ldl" as CMAKE_DL_LIBS in CMake platform patch 2022-01-09 23:32:03 +01:00
Andrew Kaster d8110e3bac Ports: Add ccache port to make compiling on Serenity more fun :^) 2022-01-09 23:32:03 +01:00
Andrew Kaster 12c352dfc9 Ports: Convert curl port to use CMake, remove two autoconf patches
This removes the shlib hack from the install step, which repackaged the
static library as the shared one. It also has the benefit of making the
port work with the Clang toolchain :^).
2022-01-09 23:32:03 +01:00
Jelle Raaijmakers 1d627f1b2c Ports: Patch out SDL timer lock from ScummVM
This change is backported from upstream master and prevents unnecessary
spam to our debug console about NULL mutexes.
2022-01-09 23:23:01 +01:00
Jelle Raaijmakers 3ce1118af1 Ports: Compile ScummVM with OpenGL support
By default, ScummVM will still run in software rendering mode, but the
options to enable OpenGL will become available.
2022-01-09 23:23:01 +01:00
Jelle Raaijmakers 6e64ad829a Ports: Update ScummVM to version 2.5.1 2022-01-09 23:23:01 +01:00
Noah Rosamilia 860d142c8c Ports: Add interactive mode to .port_include.sh
Running `./package.sh interactive` in a port directory will
spawn a new shell with the serenity build environment set up.
This makes porting software much easier as build commands can
be run interactively instead of having to modify package.sh
just to test things.
2022-01-08 22:43:29 -08:00
Andrew Kaster 3ff7b76502 Ports: Don't try to enable PGO for python3 when cross-compiling
The --enable-optimizations flag attempts to enable PGO. Profile-guided
optimization is great in general, but will not work at all when doing a
cross-compile. If there's a more fine-grained flag for generic
optimization levels that doesn't try to do PGO, we should enable that
instead. The flag also enables `-fno-semantic-interposition`, but our
GCC patches enable that by default for -fPIC anyway, so that's not
necessary.
2022-01-08 18:56:29 +01:00
Andrew Kaster 498d3d8537 Ports: Add $READELF and $HOST_READELF variables to include scripts
Ports such as python require a distinction between host readelf and
target readelf. Set a toolchain-specific varaible for these, but be sure
save off the host readelf binary in case anyone needs it later.

This is part of allowing python to build with the Clang toolchain.
2022-01-08 18:56:29 +01:00
Andrew Kaster b85c785c12 Ports: Add /usr/local/lib to openssl's library search path
This allows building with the clang toolchain. We might consider a more
global patch in the future for this, it seems a lot of packages need
help to find /usr/local/lib.
2022-01-08 18:56:29 +01:00
Andrew Kaster 0a04f4ae86 Ports: Patch sqlite's configure script to let it build as a shared lib
By telling the libtool-related configure checks that the serenity
platform does in fact support shared libs, we can get a VERSYM-free
shared lib out of sqlite. This probably applies to other ports as well.

Suggested-by: Daniel Bertalan <dani@danielbertalan.dev>
2022-01-08 18:56:29 +01:00
Luke Wilde 87d19dfa28 Ports: Update curl port to version 7.81.0 2022-01-08 14:04:08 +03:30
Luke Wilde e65052a208 Ports: Update zstd port to version 1.5.1 2022-01-08 14:04:08 +03:30
Luke Wilde 7110c0ecb0 Ports: Update OpenSSL port to version 1.1.1m 2022-01-08 14:04:08 +03:30
Luke Wilde e9d26fb47d Ports: Update libtiff port to version 4.3.0 and use sha256
This uses sha256 instead of signatures like what has been done for the
other ports.

This version of libtiff uses the version of config.sub which has
Serenity in it, so this port no longer needs any patches! :^)
2022-01-08 13:50:48 +03:30
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 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
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
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
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
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
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
Rafał Babiarz ea90a1ebac Ports: Add liboggz port 2022-01-06 23:19:20 +01:00
Tim Schumacher fa902cd5d5 Ports: Fix the sha256sum for libjpeg
While the modification time still points back to 2020, it looks like the
tarball got updated secretly.
2022-01-05 22:53:53 -08:00
Rafał Babiarz fee43e3544 Ports: Updated libogg to version 1.3.5 2022-01-05 16:35:49 -08:00
Daniel Bertalan 84c6d6649e Toolchain: Fix building the aarch64 toolchain
The `aarch64/t-aarch64` makefile fragment needs to be included for the
aarch64-specific parts of GCC to be built. Before 738e52da5, this was
done implicitly, but now it is not. This caused the following error when
building the toolchain: "aarch64-builtins.o: No such file or directory".
2022-01-04 17:40:09 +00:00
Andrew Kaster 4dc538da0e Ports: Remove build-crt patch from llvm
This patch has been integrated into the toolchain.patch file.
2022-01-03 11:08:45 +00:00
Liav A 4abc2f669a Ports: Add pfetch utility
This is a nice and small utility that prints system info based on POSIX
interfaces only.
2022-01-01 17:35:17 +00:00
Jelle Raaijmakers 8d8f74e334 Ports: Implement SDL_QUIT event in Tux Racer
This allows the user to close Tux Racer by closing the window.
2021-12-30 14:24:29 +01:00
Brian Gianforcaro e308536005 Ports/gdb: Add basic ptrace based native target for SerenityOS/i386
This patch adds a ptrace based gdb backend, which is then enlightended
to known how to read the serenity i386 registers via ptrace.

This is just a basic implementation to get the port bootstrapped.
2021-12-29 03:17:41 -08:00
Brian Gianforcaro 6137b9f272 Ports/gdb: Fix compiler -fpermissive warnings from using latest GCC
These are compilation errors coming form upstream gdb.
2021-12-29 03:17:41 -08:00
Daniel Bertalan 9f2e8683de Ports/gdb: Use mmap instead of malloc for sigaltstack()
Stack regions can't be made volatile, which makes it impossible for
malloc to manage memory that's used for `sigaltstack()`. Let's use mmap
instead.

Co-authored-by: Idan Horowitz <idan.horowitz@gmail.com>
2021-12-29 03:17:41 -08:00
Brian Gianforcaro bd3bbd0329 Ports: Add initial GDB 11.1 port
This builds and runs, but crashes when you attempt to try to debug
something at the moment.
2021-12-29 03:17:41 -08:00
Brian Gianforcaro ec21edb602 Ports: Update stress-ng port to 0.13.09
This change updates the port to the latest version, as part of that work
I basically reported the application, as we have added a lot of LibC
functionality which we were missing before. I've also updated the port
to mark stressor's we don't support as nops, instead of trying to avoid
compiling them at all. This will make the port much easier to maintain
in the future.
2021-12-28 11:00:51 +01:00
Javier Alvarez 4b47daaadc Ports: Make lua buildable on x86_64
Our lua Makefile patch contained hardcoded binaries from the i686
toolchain. Use the CC, AR, and RANLIB variables from .port_include.sh
instead to make it architecture independent.
2021-12-28 00:24:32 +01:00