Commit graph

1452 commits

Author SHA1 Message Date
Clemens Wasser e225c7b0de Ports: Add missing include and update renamed function in OpenJDK patch 2022-12-14 15:12:51 +00:00
Andrew Kaster 232b40fefc Ports: Update CMake port to 3.25.1 2022-12-13 11:36:14 +01:00
Andrew Kaster e28bc77778 Ports: Find cmake in Toolchain/Local/cmake if built
If a developer built cmake (or we built it for them) from source, make
sure that port builds can find that version of CMake that has the
SerenityOS platform files included.
2022-12-13 11:36:14 +01:00
EWouters 9a849c10ae Ports/git: Update git to version 2.39.0 2022-12-13 11:20:03 +01:00
sin-ack cda5a530e6 Ports: Add zig port :^)
:yakkie:

The build process for the Zig compiler is more involved than most of
the other ports, because the Zig compiler is mostly self-hosting. In
order to build it, the zig-bootstrap build system is used, which does
the following:

1) Build LLVM for the host OS;
2) Build Zig for the host OS with the SerenityOS target enabled;
3) Build zlib, zstd and LLVM for SerenityOS using `zig cc` as the C/C++
   compiler;
4) Build Zig for SerenityOS using the host Zig.

A few hacks are required in order to tell `zig cc` and zig about what
Serenity's libc looks like in the build process, but other than that
it's fairly straightforward. All of the patches that are included with
this commit are Zig-upstream ready once the LLVM patches are upstreamed.
2022-12-11 19:55:37 -07:00
sin-ack 27da878bb7 Ports: Export CMAKE_BUILD_PARALLEL_LEVEL for ports scripts
When using cmake --build, CMake will look for this environment variable
to enable parallelism. The Zig port, for example, uses cmake --build,
and will otherwise use a single core if cmake selects Make as the build
system. This should help with all ports which use cmake --build.
2022-12-11 19:55:37 -07:00
Linus Groh 6e19ab2bbc AK+Everywhere: Rename String to DeprecatedString
We have a new, improved string type coming up in AK (OOM aware, no null
state), and while it's going to use UTF-8, the name UTF8String is a
mouthful - so let's free up the String name by renaming the existing
class.
Making the old one have an annoying name will hopefully also help with
quick adoption :^)
2022-12-06 08:54:33 +01:00
djwisdom 3f38f61043 Ports: Update serenity-theming app use latest commit
Add fonts Hantschrift and Schwedische Schreibschrift
2022-12-04 14:02:18 -08:00
Andrew Kaster 106c04d807 Ports: Update qt6-qt5compat to 6.4.0 2022-12-03 23:16:16 +00:00
Andrew Kaster 042e33cb13 Ports: Clean up host path detection in qt6-serenity
Follow the same pattern as the other Qt ports to use qmake to determine
the location of host binaries and libraries.
2022-12-03 23:16:16 +00:00
Andrew Kaster b7cc7b4e02 Ports: Update Qt6 port to 6.4.0
While we're here, make the host path detection more portable.
2022-12-03 23:16:16 +00:00
Andrew Kaster 7555804572 Ports: Use CMake to build the zstd port
This makes the port install drop the CMake install files into the
sysroot, which is friendlier to macOS users. Homebrew CMake really
likes to pick homebrew zstd, even for cross-builds.
2022-12-03 23:16:16 +00:00
Andrew Kaster 6d9d9cb7f8 Ports: Add port for double-conversion 3.2.1
This IEEE floating point conversion library is required by Qt
2022-12-03 23:16:16 +00:00
Taj Morton 14baf35441 Ports/alpine: Add patches to build Alpine on Serenity 2022-12-03 22:12:13 +00:00
Clemens Wasser 9a5ae8a92a Ports: Add qt5compat port 2022-12-03 08:21:56 -07:00
cflip 5c68ca8f48 Ports/SDL2: Update window focus event listeners
Fixes an issue where ClassiCube would get stuck on the pause menu.
2022-11-28 13:11:16 +01:00
Rahmanu Hermawan c54334c8e4 Ports/bc: Update to version 6.1.1 2022-11-26 09:31:40 +01:00
Jelle Raaijmakers 45108438ce Ports: Fix warning when building with useconfigure="false"
When building a port with `useconfigure="false"`, the `do_configure`
function invokes a `buildstep` with multiple positional arguments as the
command to execute.

It then tests whether the positional arguments evaluate to an emtpy
string, but could fail when multiple positional arguments were provided.
This resulted in the following warning when building the Composer port,
for example:

  ../.port_include.sh: line 16: [: echo: binary operator expected

Prevent this warning by testing against the number of positional
arguments, instead.
2022-11-24 12:06:25 +00:00
Jelle Raaijmakers fef0330ee5 Ports: Clean up PHP's package.sh 2022-11-24 10:52:10 +00:00
Jelle Raaijmakers aa32207746 Ports: Update PHP to 8.1.12 2022-11-24 10:52:10 +00:00
Jelle Raaijmakers f89d6a046f Ports: Configure LibCrypt include path for PHP
Since ac40197047 LibCrypt has its own library. PHP tries to detect the
`crypt_data` struct but fails to do so since it cannot find `crypt.h`.
By adding this explicit include path, PHP builds again.
2022-11-24 10:52:10 +00:00
kleines Filmröllchen 20e51025bb Ports/SDL2: Rename LibGUI Window function in accordance with 5d56756 2022-11-23 15:06:15 +01:00
Brian Gianforcaro d736b2c3c3 Ports: Update fio to version 3.33 2022-11-07 06:46:30 +01:00
Slimey ce75a04908 Base+Ports: Rename 'Sound' category to 'Media' 2022-11-06 16:27:18 +01:00
Clemens Wasser e5ddbfaed6 Ports: Enable ssl and ztd features for Qt port 2022-11-05 19:31:37 -06:00
Clemens Wasser 2a852250dd Ports: Build Qt modules Network and Concurrent 2022-11-05 19:31:37 -06:00
Xexxa c8b1124e68 Ports: Update serenity-theming use latest commit 490a15a 2022-11-03 17:40:49 +00:00
Nico Weber daeaefad17 Everywhere: Clean up "the the" comment typos 2022-11-03 17:38:32 +00:00
Jelle Raaijmakers 6b41da0b9e Ports: Update ScummVM to 2.6.1 2022-11-01 21:03:38 +00:00
Jelle Raaijmakers aa05f9120c Ports: Update build flags for ScummVM
These were no longer being picked up after some recent changes. Since
port builds happen in subshells nowadays, we can get rid of the export /
unset combo anyway.

This fixes ScummVM crashing on startup, caused by `-fvisibility` not
being set.
2022-11-01 21:03:38 +00:00
Jan200101 83b3403b52 Ports: Add Lite-XL 2022-10-27 20:44:20 +01:00
krutalevex 6d2ea087a5 Ports: Update RetroArch + SDL2_sound 2022-10-27 13:16:59 +02:00
Kenneth Myhra 9b1dd57122 Ports: Update qemu to 7.1.0 2022-10-26 20:44:29 +01:00
Kenneth Myhra eaf2cfbb17 Ports: Update glib to 2.74.1 2022-10-26 20:44:29 +01:00
Kenneth Myhra 1e3b677fa4 Ports: Update curl to 7.86.0 2022-10-26 20:44:29 +01:00
Liav A 6c37f04e88 Ports/OpenJDK: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A c8a7a3e43f Ports/libuv: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Liav A 78ca32d14c Ports/neofetch: Use new global variables at /sys/kernel/ directory 2022-10-25 15:33:34 -06:00
Linus Groh edf3aee4df Ports/python3: Update Python to 3.11.0
This now requires `--host` and `--with-build-python` to be passed to the
configure script when cross compiling; the former we simply do like in
many other package.sh scripts as well, the latter we point to `python3`,
which is expected to match the port's version anyway.
2022-10-25 13:11:42 +01:00
Linus Groh 35ec636b5d Ports/python3: Reformat package.sh according to our current guidelines 2022-10-25 13:11:42 +01:00
Peter Elliott 0994e6964b Ports: Fix return statuses with new buildsteps
previously every buildstep would return a success error code. As a
result, all the steps would run even if previous steps failed.

I've also added a red status message when this happens.
2022-10-25 09:34:53 +02:00
Gunnar Beutner 8cc952b3dc Ports: Add port for the Boost C++ libraries
This currently requires GCC.
2022-10-24 15:49:39 +02:00
Tim Schumacher e5e7ea90b1 Toolchain: Update LLVM to 15.0.3 2022-10-24 15:33:58 +02:00
Gunnar Beutner eca4c51f78 Ports: Add Pacman port 2022-10-24 03:25:20 +02:00
Gunnar Beutner 7d4387d383 Ports: Fix building TiMidity++
The build would previously fail if Xorg headers are installed on the
host system.
2022-10-24 03:25:20 +02:00
Gunnar Beutner 2968cbca11 Ports: Prefix output with the build step and port name
We already have something similar for the toolchain builds. This makes
it easier to identify which build step is currently running.
2022-10-23 20:37:27 +02:00
Tim Schumacher ed5996184b Ports/llvm: Add a dependency on zstd 2022-10-21 20:15:34 +02:00
Jelle Raaijmakers e47ca2db0a Ports: Update Composer to 2.4.3 2022-10-21 14:31:32 +02:00
Jelle Raaijmakers e70e4c132b Ports: Support Serenity install root in PHP's libtool
PHP's libtool does not have sysroot support; this is the minimum change
to get PHP to build.
2022-10-21 14:31:32 +02:00
Jelle Raaijmakers 684c038af0 Ports: Update PHP to 8.1.11 2022-10-21 14:31:32 +02:00
cflip 75d46e0e96 Ports: Add a ClassiCube port 2022-10-19 22:07:05 +02:00
cflip fea43a647f Ports/libopenal: Build with SDL2 backend, and disable example programs
This patch fixes libopenal's build by disabling the alsoft-config
utility which required qt6, and disabling the example programs that were
causing compiler errors.

This also forces CMake to build with an SDL2 backend so audio can
actually be played.
2022-10-19 22:07:05 +02:00
cflip f872d945c3 Ports/SDL2: Add null check to SerenitySDLWidget::paint_event
This was causing a crash when message boxes appeared before the window
painted anything.
2022-10-19 22:07:05 +02:00
Gunnar Beutner ce8d410f36 Ports: Make the quake3 port buildable on ARM64 hosts
Previously, on ARM64 hosts we'd try to build ARM64 binaries even when
SERENITY_ARCH was set to x86_64. This would cause the build to fail.
2022-10-18 17:23:52 +02:00
cflip 66c039c66f Ports: Allow ports to specify working directory when run from launcher 2022-10-17 01:37:58 +02:00
Liav A a2ccf31a62 Ports/dmidecode: Remove install and post_install overriden sequences
We used to do whole bunch of unnecessary things in the install sequence
which the default port_include script sequence can do just fine,
therefore the install sequence is removed from the port script.

The post_install sequence wrongly called "make install-bin" which could
be done in the default install sequence, as well as to create the /bin
directory which is completely unnecessary to do because the image build
script already does that for us. Also, now /usr/local/bin is in the PATH
environment variable, so the installed binaries are runnable without
creating symlinks in the /bin directory, therefore making the sequence
of post_install completely unnecessary in the script so it is removed
too.
2022-10-17 01:13:10 +02:00
Liav A c0af32a83d Ports: Add potrace utility port 2022-10-17 01:08:22 +02:00
Liav A 711f64d366 Ports: Add tree utility port 2022-10-17 01:08:01 +02:00
Liav A 4b27c6e688 Ports: Add lzop compression utility port 2022-10-16 13:37:50 +02:00
Liav A d7eb6d8330 Ports: Add lzo library port 2022-10-16 13:37:50 +02:00
Liav A b6861ee24c Ports: Add GNU tar port 2022-10-16 13:37:29 +02:00
Liav A 1837a5301f Ports: Add GNU which port 2022-10-15 21:03:28 +02:00
Liav A 1e213cb3c4 Ports: Add file utility port 2022-10-15 21:02:57 +02:00
Tim Schumacher 414a22a386 Ports/dosfstools: Create symlinks automatically instead of manually
Replace the manual creation of symlinks with the
`--enable-compat-symlinks` configure option, which automatically creates
the symlinks that we want and more.
2022-10-15 15:17:47 +02:00
Tim Schumacher 4b97c445a2 Ports/dosfstools: Don't run autogen
The release tarball arrives preconfigured, so there is no need for us to
run autogen manually.
2022-10-15 15:17:47 +02:00
Liav A 6bb738c1b3 Ports: Add dosfstools port 2022-10-15 13:16:24 +02:00
demostanis fe94636ac3 Ports: Add a kakoune port 2022-10-14 13:37:29 +02:00
cflip 30be638fb2 Ports/zlib: Update to 1.2.13 2022-10-14 11:37:25 +02:00
Liav A 9cbae2b607 Ports: Add dtc utility suite
This includes the known dtc utility as well with other bundled utilities
with it.
2022-10-09 09:51:57 -06:00
Liav A 8edde0709a Ports: Update dmidecode version to 3.4
Also, let's stop use the signature file and instead just compare sha256
checksums.
2022-10-08 17:27:42 +02:00
Liav A 33ce7c939a Ports: Apply the known hygiene rules on the dmidecode port 2022-10-08 17:27:42 +02:00
Liav A 71647871f9 Ports: Update lz4 port to version 1.9.4 2022-10-08 17:27:27 +02:00
EWouters bc5d77ac40 Ports/ccache: Update ccache to version 4.6.3 2022-10-06 16:14:40 +01:00
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