Commit graph

1812 commits

Author SHA1 Message Date
Daniel Bertalan
17b363b596 Ports/vim: Override uname output to fix compilation on macOS
`vim` does not use a mechanism like `config.sub` for determining the
canonical system name from the `--target` triple passed to `configure`.
Instead, it directly executes the `uname` executable on the host. This
leads to it trying to build macOS-specific files on Mac hosts even if we
are compiling for a different platform. To make cross-compilation
possible, developers added a way to override `uname`'s output with
environment variables. Let's set these.

See vim/vim#9338
Obsoletes #11426

Co-Authored-By: unixinspace <unixinspace@users.noreply.github.com>
2023-08-05 10:57:27 +02:00
Daniel Bertalan
a2daed5817 Ports/gettext: Replace manually linking libintl with a libtool patch
The `gettext` port comprises of multiple libraries, however `libintl.so`
is the one most commonly used in external executables/libraries, so
porting the patches to this one is enough.
2023-08-05 01:05:06 +02:00
Daniel Bertalan
e9ce317483 Ports: Replace manually linking freetype with a libtool patch 2023-08-05 01:05:06 +02:00
Daniel Bertalan
a050d91073 Ports/zlib: Do not manually link zlib into a shared library
Instead, pass our system name to its (non-autotools) configure script.
Tell it to include a SONAME to avoid breaking dependent ports when
updating zlib.
2023-08-05 01:05:06 +02:00
Tim Schumacher
a8f5cf9da7 Ports/sqlite: Replace the stub libtool patch with the full version 2023-08-04 20:51:19 +02:00
Tim Ledbetter
539a33dc28 Ports/glm: Create /usr/local/include if it doesn't exist
Previously, the glm port would not build from a clean state, as this
directory does not exist by default.
2023-08-04 13:40:52 +02:00
Tim Ledbetter
6ba38494c5 Ports: Add cowsay 2023-08-01 04:42:20 +02:00
Sergey Bugaev
a608458ee6 Ports: Add ObjFW :^) 2023-07-29 16:52:11 -06:00
Andrew Kaster
b5a728ae5f Ports: Port gn
This requires allowing ports to override fetch() since tar.gz sha256sums
from googlesource.com are not deterministic.
2023-07-29 09:42:20 -06:00
Beckett Normington
8ee71a9920 Ports: Add perl5 2023-07-29 09:03:39 -06:00
Beckett Normington
c5b8903761 Ports: Add OBJDUMP to hosted_defs
This allows the `perl5` port to be built with the Clang toolchain.
2023-07-29 09:03:39 -06:00
gloof11
1f1d5ed119 Ports: Update Cave Story version
Updated the version of Cave Story that is pulled from my repo.
The original port of this was missing game files that would've been
extracted on first boot such as .pbm files, and some .pxt files.
2023-07-27 21:17:10 +01:00
Liav A
061ebd0b15 Ports: Update acpica-tools to use other upstream
Also, update it to the latest revision, which makes it possible to build
without most of the patches we needed before, but now we need our own
definitions for LibC includes and to disable errors for the warning
bad-function-cast.
2023-07-21 12:48:24 +02:00
Kenneth Myhra
c0d0391d08 Toolchain+Ports: Update QEMU to 8.0.3 2023-07-20 07:24:40 +01:00
Kenneth Myhra
0263052284 Ports/glib: Reformat package.sh according to our current style 2023-07-20 07:24:40 +01:00
Kenneth Myhra
0bf8735aba Ports/glib: Update to 2.77.0 2023-07-20 07:24:40 +01:00
Kenneth Myhra
53db5d8b6c Ports/curl: Update to 8.2.0 2023-07-20 07:24:40 +01:00
Kenneth Myhra
1166f5a758 Ports/openssl: Reformat package.sh according to our current style 2023-07-20 07:24:40 +01:00
Kenneth Myhra
b38edc9d43 Ports/openssl: Update to 3.0.9
The 3.0 series is the new LTS version and is supported until 7th
September 2026. The 1.1.1 series which is the previous LTS version has
an end of support on 11th September 2023.
2023-07-20 07:24:40 +01:00
Fabian Dellwing
f9e62bc947 Ports: Update and refactor opentyrian
- Add SDL2_net
- Bring CMake file closer to proposed upstream
- Remove opentyrian-data port and merge it into the main port
- Do a release build
- Add correct icon
2023-07-18 14:31:33 +01:00
sin-ack
752d9d7c03 Ports: Bump Zig version to 0.11.0-dev.4003+c6aa29b6f
This commit fixes the build for LLVM 16 now that the toolchain has been
updated, and updates us to the latest available Zig commit.

The main patch changes are making more symbols available (and exposing
them through std.c.serenity) and working around new Zig build
requirements.

Co-Authored-By: Andre Herbst <moormaster@gmx.net>
2023-07-17 22:52:08 +01:00
Kenneth Myhra
f7d8fb6366 Ports/jfduke3d: Add post_install() section
This adds a post_install() section printing out useful information on
how to install the game files.
2023-07-16 23:45:23 +02:00
Kenneth Myhra
7fb2c79054 Ports/jfduke3d: Add game icon 2023-07-16 23:45:23 +02:00
Kenneth Myhra
ae1039387a Ports/jfduke3d: Install into '/usr/local/share/games/jfduke3d' 2023-07-16 23:45:23 +02:00
Shannon Booth
b980224640 Ports/cmake: Update cmake to version 3.26.4 2023-07-16 00:05:53 -06:00
Tim Schumacher
401544f68f Ports: Remove the separate branch for extracting .tar.gz files
This can just use the default `tar` invocation, which successfully
recognizes the type automatically. In fact, `.tar.gz` and `.tgz` are
already listed by that particular case anyways.
2023-07-13 05:09:46 +02:00
Tim Schumacher
58cf3b365e Ports: Don't import GPG keys on download
This was part of our setup for verifying GPG-signed files, but that is
no longer needed.
2023-07-13 05:09:46 +02:00
Tim Schumacher
b8cf8c6081 Ports: Remove the "no HTTPS" workaround
curl on SerenityOS now has HTTPS support, since we use the upstream
ca-certificates package.
2023-07-13 05:09:46 +02:00
Jelle Raaijmakers
3b2a7135b2 Ports: Add archive hash to Quake port
Also update the code style.
2023-07-11 13:42:02 +01:00
Beckett Normington
a961447dbd Ports: Add jdupes port
This commit ports the file deduplication utility `jdupes`.
2023-07-10 21:49:53 -06:00
Beckett Normington
73b5e3db6a Ports: Add libjodycode port
This commit ports `libjodycode` to Serenity, which is a helper library
containing shared code for utilities written by Jody Bruchon. This
library was required for porting `jdupes`.
2023-07-10 21:49:53 -06:00
Taj Morton
5941117739 Ports/alpine: Patch build system files that added Serenity support
Changes the strategy for building Alpine to patch the distribution build
system files (configure, pith/Makefile.in), instead of regenerating them
from scratch.
This reduces fragility of the port as it no longer depends on the build
system having a compatible version of the auto* tools installed.
Resolves SerenityOS/serenity#19891.
2023-07-10 13:16:20 +02:00
Tim Schumacher
89b0a61067 Ports: Remove support for auth_types other than sha256 2023-07-10 13:08:27 +02:00
Tim Schumacher
f7ccdc268d Ports: Migrate remaining signature-based ports to sha256 2023-07-10 13:08:27 +02:00
djwisdom
47eaef9b41 Ports: Update serenity-theming use latest commit 103b0ad 2023-07-09 15:40:54 +01:00
Fabian Dellwing
1d426df262 Ports: Add poppler 2023-07-07 00:43:42 +02:00
Ali Mohammad Pur
72b9f47bb1 Ports: Add jakt 2023-07-07 00:04:15 +02:00
Lucas CHOLLET
40c0dd67dd Ports/backward-cpp: Update to the latest available commit
backward-cpp 1.6 wasn't compatible with the latest version of binutils
(which we are using). This is now fixed upstream, but it forces us to
build with the latest commit and not a published version.
2023-07-06 15:01:17 +01:00
Lucas CHOLLET
b8bc1ac5d0 Ports: Fix a typo in .port_include.sh 2023-07-06 15:01:17 +01:00
Andre Herbst
703ac59b27 Ports/acpica-tools: Prevent dangling pointer compiler warning 2023-07-06 14:59:14 +01:00
Andre Herbst
4844e8869e Ports/imagemagick: Replace --host=... with --with-sysroot
... to prevent linking against libs from build host. I.e. if
Ports/fontconfig is already installed imagemagick tries to
link against it in /usr/local/lib and fails to build.
--host=... will already be passed by ../.port_include.sh
2023-07-06 10:17:29 +01:00
Fabian Dellwing
4a83fb1b12 Ports: Drop Python bindings for Boost
Building Boost failed in at least 2 cases using Python 3.11. Since
there is currently no known usage of Boost's Python binding by ports,
we drop the dependency to make the port install successfully again.
2023-07-05 20:08:53 +02:00
Jelle Raaijmakers
7551666a80 Ports: Do not perform slow curl check if download already exists
Even if the file was already downloaded, we were trying to perform a
relatively slow HTTPS-call.
2023-07-05 16:17:35 +01:00
gloof11
e4b6c402cb Ports: Cave Story (Aeon Genesis Translation) 2023-07-05 13:38:57 +02:00
Ben Wiederhake
a627c15b07 Ports: Avoid using DeprecatedFile in OpenJDK 2023-07-04 15:48:44 -06:00
Linus Groh
63c7747b8d Ports/SuperTuxKart: Set app icon 2023-07-04 21:08:55 +01:00
Linus Groh
9594b79d38 Ports/SuperTuxKart: Use 'NOT SERENITYOS' to disable USE_IPV6 option 2023-07-04 19:38:24 +01:00
Linus Groh
5c75117262 Ports/SuperTuxKart: Clean up IrrCompileConfig.h patch a little
There was still some code commented out from earlier attempts
piggybacking on Haiku ifdefs, this should now be in an upstreamable
state.
2023-07-04 19:38:24 +01:00
Linus Groh
fc6cf76b05 Ports/SuperTuxKart: Enable now-implemented SDL_GetWindowWMInfo() call 2023-07-04 19:38:24 +01:00
Linus Groh
8dee35065b Ports/SDL2: Implement GetWindowWMInfo 2023-07-04 19:38:24 +01:00
Jelle Raaijmakers
0487a841c3 Ports: Regenerate SuperTuxKart's ReadMe.md 2023-07-04 12:37:20 +02:00
Dominika Liberda
484f10132d Ports: Add a Super Tux Kart port
Co-Authored-By: Linus Groh <mail@linusgroh.de>
Co-Authored-By: Panagiotis "Ivory" Vasilopoulos <git@n0toose.net>
Co-Authored-By: lilylunatic <lily@acab.dev>
Co-Authored-By: io_err <quint@guvernator.net>
2023-07-04 12:26:05 +02:00
Dominika Liberda
815fc034ff Ports: Fix building harfbuzz against freetype 2023-07-04 12:26:05 +02:00
Linus Groh
8aa579d494 Ports: Update URL of pkgconf release tarball
See: 437c2a3218
2023-07-04 10:43:11 +01:00
Ali Mohammad Pur
251ea54cc8 Ports: Bump the version of make to 4.4.1 2023-07-04 08:35:02 +02:00
Andre Herbst
4bcf3ea0e1 Ports/libgd: Added --without-x to prevent linking against /usr/lib 2023-07-03 10:39:21 +02:00
djwisdom
2ba77489ee Ports: Update serenity theming use latest commit 49d499b
Add font HuntingRegular10
Update font AnodeRegular10
Update font GenodeRegular10
Update font VanligaMonoRegular10
2023-07-02 02:12:52 +02:00
Andre Herbst
6391480b80 Ports/ffmpeg: Build shared libraries by using configure option
This fixes build error: relocation R_X86_64_PC32 against symbol
`ff_pw_5' can not be used when making a shared object; recompile
with -fPIC
2023-06-30 23:34:20 +02:00
Tim Ledbetter
a036346e24 Ports: Update stockfish to version 16 2023-06-30 23:21:48 +02:00
implicitfield
941d68ac2d Toolchain+Ports: Update LLVM to 16.0.6 2023-06-27 12:40:38 +02:00
Liav A
99cc33bce9 Ports: Mark cbonsai package.sh as executable
This should fix a recent CI lint problem.
2023-06-25 09:40:00 +02:00
Beckett Normington
4032bfc2fc Ports: Add cbonsai port
This commit modifies the port list and adds the package.sh script
for `cbonsai`.
2023-06-25 08:04:23 +01:00
René Hickersberger
b0ef956fe0 Ports: Add lynx port 2023-06-23 17:25:37 +02:00
Tim Schumacher
ead756ca32 Ports: Point to the correct subdirectory for gettext
`ftpmirror.gnu.org` does not seem to have the `/pub/gnu` folder
structure, all files are in `/gnu` instead.

This regressed in 41f7f821f6.
2023-06-18 20:33:38 +02:00
djwisdom
ec0054da06 Ports: Update serenity-theming use latest commit 43c42c9 2023-06-17 06:27:56 -04:00
Emily Trau
fcef663869 Ports/nhlohmann-json: Fix pkgconf install path
CMAKE_INSTALL_DATADIR is used to define the install base dir for
pkgconf files. In this case it defaulted to /usr/local/share/pkgconf
which is not a location searched by default.

See a0c1318830/CMakeLists.txt (L69)
2023-06-13 16:44:13 +02:00
Emily Trau
675cf43937 Ports: Add lowdown 1.0.2 2023-06-07 13:44:44 +02:00
djwisdom
732bdf07bd Ports: Update serenity-theming use latest commit cd1fd73 2023-06-07 12:35:06 +02:00
Emily Trau
eabadf9e02 Ports: Add Brotli 1.0.9 2023-06-06 23:41:58 +02:00
Emily Trau
9a17f890ed Ports: Add editline 1.17.1 2023-06-06 23:41:12 +02:00
sin-ack
910bff9e94 Ports: Update the Zig port's Serenity type definitions
After b98f537, the Zig port's types for Serenity no longer matched what
Serenity actually returned from LibC; this caused weird errors due to
stat() not returning valid values anymore.
2023-06-04 05:39:32 +02:00
Daniel Bertalan
41f7f821f6 Toolchain+Ports: Use ftpmirror.gnu.org for faster downloads
This service automatically redirects to a mirror that's geographically
closer, which should make downloading the tarballs faster. The GNU
project recommends this instead of bombarding their top-level downloads
site.
2023-05-28 06:34:12 -07:00
kleines Filmröllchen
213025f210 AK: Rename Time to Duration
That's what this class really is; in fact that's what the first line of
the comment says it is.

This commit does not rename the main files, since those will contain
other time-related classes in a little bit.
2023-05-24 23:18:07 +02:00
Nathan Ell
fbb4887d9c Ports/dos2unix: Update to 7.5.0
Version 7.5.0 adds two new arguments for the command line, to add a line
break to the last line if one isn't present, and to write output to
stdout.
2023-05-19 22:55:39 +02:00
djwisdom
1b9c31da12 Ports: Update and clean up serenity-theming use latest commit 83fb3e7 2023-05-18 22:47:29 +02:00
Tim Schumacher
8434d76027 Ports: Update Ruby to version 3.2.2
Three patches that are apparently no longer needed have been removed.
2023-05-17 08:54:55 +02:00
Daniel Bertalan
07918b79b7 Toolchain+Ports: Update GCC to 13.1.0
This is a mostly straight-forward rebase of our patches on top of
13.1.0. The spec files needed a change, as GCC no longer supports STABS
debug information, but we were building GCC with support for it.

Highlights of this release include static `operator()`, The Equality
Operator You Are Looking For and extended `constexpr` support.
2023-05-15 07:00:29 +02:00
Mike Swanson
041e29e585 Ports: Add chocolate-doom 3.0.1 2023-05-13 17:52:58 -06:00
Mike Swanson
f947c4f4fc Ports: Add libsamplerate 0.2.2 2023-05-13 17:52:58 -06:00
Fabian Dellwing
4093952a6e Ports: Update and fix nethack
This update fixes the broken build on newer (Ubuntu) systems.

It also contains a security fix.
2023-05-13 07:53:58 +02:00
Mike Swanson
eb76329ad8 Ports: Add deutex 5.2.2 2023-05-12 05:36:47 +02:00
Mike Swanson
5a1c0c6836 Ports: Support extracting *.tar.zst source archives 2023-05-12 05:36:47 +02:00
Jelle Raaijmakers
3af92a76be Ports: De-special case ./package.sh dev
There is nothing special about the `dev` command; move its logic to
`do_dev` and invoke it generalized.
2023-05-09 06:36:30 +02:00
Jelle Raaijmakers
a81e83f3b5 Ports: Only remove dir contents on clean, not the dir itself
The entirety of `.port_include.sh` depends on having a current working
directory for the respective port. If we were to remove the directory,
some actions such as `fetch` could fail since our current working
directory would now be an invalid inode.

This issue was exposed by running `./package.sh` followed by
`./package.sh dev` and answering 'y' to the question on cleaning the
build directory.
2023-05-09 06:36:30 +02:00
Jelle Raaijmakers
71671e0921 Ports: Alphabetize commands in .port_include.sh
Also remove a stray newline.
2023-05-09 06:36:30 +02:00
Kenneth Myhra
03ca560b2d Ports: Update dosbox-staging to 0.77.1
This version of 'dosbox-staging' uses the meson build system.

Previous versions of dosbox-staging started in windowed mode with a
resolution of 320x200. This version starts in windowed mode with a
resolution of 640x480.

Audio was stuttering a bit in previous versions, but it sounds like it
might have become a bit worse. This is probably because of higher CPU
usage and the audio server/client not able to keep up.

Added a post_install() section to package script which outputs a link to
dosbox-staging's release notes.
2023-05-08 08:03:31 +02:00
Kenneth Myhra
9541f23376 Ports: Clean up 'package.sh' for dosbox-staging
This makes dosbox-staging's 'package.sh' conform to our coding standards
for bash scripts.
2023-05-08 08:03:31 +02:00
Kenneth Myhra
4eaac2ff1e Ports: Add opusfile 0.12 2023-05-08 08:03:31 +02:00
Kenneth Myhra
748289211a Ports: Add libopus 1.3.1 2023-05-08 08:03:31 +02:00
Ben Wiederhake
36ff6187f6 Everywhere: Change spelling of 'behaviour' to 'behavior'
"The official project language is American English […]."
5d2e915623/CONTRIBUTING.md (L30)

Here's a short statistic of the occurrences of the word "behavio(u)r":

$ git grep -IPioh 'behaviou?r' | sort | uniq -c | sort -n
      2 BEHAVIOR
     24 Behaviour
     32 behaviour
    407 Behavior
    992 behavior

Therefore, it is clear that "behaviour" (56 occurrences) should be
regarded a typo, and "behavior" (1401 occurrences) should be preferred.

Note that The occurrences in LibJS are intentionally NOT changed,
because there are taken verbatim from the specification. Hence:

$ git grep -IPioh 'behaviou?r' | sort | uniq -c | sort -n
      2 BEHAVIOR
     10 behaviour
     24 Behaviour
    407 Behavior
   1014 behavior
2023-05-07 01:05:09 +02:00
Ben Wiederhake
d5f8dac2bd dungeonrush: Fix typo in patches 2023-05-07 01:05:09 +02:00
Ben Wiederhake
ee47c0275e Everywhere: Run spellcheck on all documentation 2023-05-07 01:05:09 +02:00
Cubic Love
e7502d4d6d Ports: Update serenity-theming to use the latest commit (f4b6f7f) 2023-05-06 06:43:16 -07:00
Kenneth Myhra
4c17f22735 Ports: Unbreak SDL2 by using GUI::Application::create()
Commit 1a97382 introduced the fallible GUI::Application::create() and
removed GUI::Application::construct() breaking the SDL2 port, let's
update it to use the fallible version.
2023-05-06 00:08:59 +02:00
Fabian Dellwing
b443c0b80b Ports: Update OpenJDK 2023-05-05 02:19:05 +02:00
Daniel van Gerpen
98badc1466 Ports/ncdu: Update to version 1.18.1 2023-05-04 19:45:24 +02:00
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
Kenneth Myhra
368c255368 Ports: Add Duke Nukem 3D
This adds 'JonoF's Duke Nukem 3D Port'.

Parts of the network-related stuff has been patched out.
See patch: patches/0002-mmulti.c-ifdef-out-network-related-stuff-we-currentl.patch

Notes:
- Some sound work seems to be needed. During the title screen and
  gameplay SFX works, but music does not play. At the ending screen of
  Hollywood Holocaust music does play.
- GTK has been disabled, by default it will start in fullscreen, to get
  back to windowed mode can be done through the Video Settings.
- OpenGL support has been disabled, as far as I can tell it will need
  OpenGL 2.0 support which we do not currently have.
- True 3D renderer has been turned on.
2023-05-03 15:39:24 +02:00
Fabian Dellwing
8f34478e75 Ports: Add ssmtp port 2023-04-30 19:23:08 +02:00
Nicolas Josef Zunker
852bf35c1e Ports: Add c-ares library
The asynchronous DNS requests library c-ares was ported to serenity
2023-04-29 08:55:16 -06:00
Fabian Dellwing
824d23570a Ports: Remove getconf from bash examples
We fail to build `getconf.c` from the builtin examples. And therefore
don't install the rest. If we remove it, we successfully build the
rest of the examples.
2023-04-27 10:25:42 +01:00
Fabian Dellwing
6990d4e025 Ports: Cleanup the build process a bit for taskwarrior 2023-04-26 16:54:31 +02:00
LekKit
9fe6dcb50b Ports: Use makeopts in RVVM port 2023-04-26 12:48:56 +02:00
LekKit
1a3009fa2b Ports: Fix RVVM port syntax 2023-04-26 12:48:56 +02:00
LekKit
12730cefce Ports: Add RVVM port 2023-04-26 12:48:56 +02:00
Jelle Raaijmakers
34b04271f4 Ports/SDL2: Handle window close requests correctly
We were going about this the wrong way:

* We should not send `SDL_QUIT` events; SDL2 is doing this for us
  already when the last window is closed, for example.
* The `SDL_WINDOWEVENT_CLOSE` event does not represent a closed window,
  but rather a _request_ from the window manager to close a window.

This resolves the issue with the PrBoom+ port where the quit screen
would not be shown when trying to close the main window.
2023-04-26 09:37:16 +01:00
Jelle Raaijmakers
e283dfdeb6 Ports/scummvm: Enable release mode
This brings the binary's size down to 100 MiB, from about 600 MiB. The
`--enable-optimizations` flag is implied with `--enable-release`.
2023-04-26 09:37:16 +01:00
Jelle Raaijmakers
62843befca Ports/SDL2: Stop the audio client when device is closed
This ensures all threads and event loops on the audio client's side are
shut down.
2023-04-26 09:37:16 +01:00
Jelle Raaijmakers
bff5137cb4 Ports/gltron: Exit the game when SDL_QUIT is received 2023-04-26 09:37:16 +01:00
Fabian Dellwing
6acf03d9a8 Ports: Add default zshrc
Previosly we had a very messed up PS1 as the Shell PROMPT is not
unset correctly.

We now provide a default `zshrc` file for the system that uses
sane values for basic categories like aliases, autocompletion and
history management to make the port more usable. It also forces
the prompt to be the default zsh one.
2023-04-25 20:48:51 +02:00
Andreas Kling
c756e021a7 Userland: Remove "Inspector" program and related utilities
This program has never lived up to its original idea, and has been
broken for years (property editing, etc). It's also unmaintained and
off-by-default since forever.

At this point, Inspector is more of a maintenance burden than a feature,
so this commit removes it from the system, along with the mechanism in
Core::EventLoop that enables it.

If we decide we want the feature again in the future, it can be
reimplemented better. :^)
2023-04-25 14:48:40 +02:00
Kenneth Myhra
5af715e394 Toolchain+Ports: Update qemu to 8.0.0 2023-04-23 14:20:42 +02:00
Kenneth Myhra
1cc095c5ab Toolchain+Ports: Consolidate version information for QEMU
This consolidates version information, archive's download location,
filename and SHA256 checksum into version.sh. This file is then sourced
from the port script and toolchain build script.

The version.sh script contains the following variables:
- QEMU_VERSION           - Version number
- QEMU_ARCHIVE           - Filename
- QEMU_ARCHIVE_URL       - Full url to download location
- QEMU_ARCHIVE_SHA256SUM - The SHA256 checksum
2023-04-23 14:20:42 +02:00
Fabian Dellwing
16ef5e2631 Ports: Prefer host python3.xx over python3
Previously we relied on the presence of a `python3` binary in the
PATH that has the correct minor version to build the port.

We now first check for the presence of a `python3.minor` binary
in the PATH and use that if found.

This allows users that have multiple Python versions installed
simultaneously (like from a PPA) to build the port without having
to change their main version.
2023-04-22 12:56:36 +01:00
Fabian Dellwing
af20b74a83 Ports: Add more supported functions to README 2023-04-20 11:50:27 +02:00
Fabian Dellwing
47c5b77116 Ports: Update zsh 2023-04-20 11:50:27 +02:00
Tim Schumacher
6f47c53ff9 Ports: Force patch regeneration after resolving conflicts
Otherwise, the post-conflict state will be used as a reference point,
and no changes will be detected.
2023-04-19 07:53:18 +02:00
Tim Schumacher
fb049d6913 Ports: Don't mangle patches when requiring manual edits
While at it, pass the `--3way` option to give the user something to work
with. Otherwise, Git will just prepare the commit metadata and nothing
else. Note that this has a relatively low chance of working, since the
recorded blob hashes aren't known to a freshly imported repository.
2023-04-19 07:53:18 +02:00
Kenneth Myhra
4ed71d5b40 Ports: Add depends 'libslirp' and configopt '--enable-slirp' to QEMU
This adds the dependency 'libslirp' and forces QEMU to pick up the
dependency or fail compilation by adding the config option
'enable-slirp'.
2023-04-17 10:19:28 +02:00
Kenneth Myhra
ae075b3dff Ports: Reformat QEMU's package.sh script
Use single quotes for non-interpolated strings in the 'configopts' and
'depends' sections.
Let each dependency of the 'depends' section be on a separate line.
2023-04-17 10:19:28 +02:00
Kenneth Myhra
4e661a400b Ports: Add libslirp version 4.7.0
The slirp submodule was removed from QEMU in version 7.2, running
Serenity in QEMU on a Serenity host could fail without this one if
running with network enabled.

For more information on the removal of the slirp submodule see the
following link: https://wiki.qemu.org/ChangeLog/7.2#Removal_of_the_%22slirp%22_submodule_(affects_%22-netdev_user%22)
2023-04-17 10:19:28 +02:00
Kenneth Myhra
f488df0e10 Ports: Update GLib to 2.76.1 2023-04-16 08:49:08 +01:00
Linus Groh
cb79c6bc2f Ports: Add xz to Python dependencies
This makes it build the `_lzma` module, and thus makes `lzma` work.

Thanks to hjalves for the suggestion!
2023-04-15 18:30:24 +02:00
Linus Groh
960b55dd7d Ports: Update Python to 3.11.3
Released on 2023-04-05.
https://www.python.org/downloads/release/python-3113/
2023-04-15 18:10:49 +02:00
EWouters
68c313dcd9 Ports/openrtc2: Update OpenRTC2 to version 0.4.4 2023-04-14 21:44:40 +02:00
Tim Schumacher
dca56ce1cb Ports/lrzip: Switch to the actual preconfigured release tarball
This avoids us having to run autoconf ourselves, resulting in a nice and
deterministic source package.
2023-04-10 16:31:54 +02:00
Ben Wiederhake
c94924691d Ports: Make libksba/libassuan/ntbtls use Serenity's gpg-error-config
This is likely because we usually used the host's version of the file.
I happen to use a newer libgpg-error (which is relevant because that
particular executable has been renamed, so my system no longer contains
a file of the name gpg-error-config), which revealed this latent bug.
2023-04-09 18:57:49 +02:00
Ben Wiederhake
86b83d5823 Ports: Repair the launcher icons of 'stpuzzles' 2023-04-09 16:50:35 +02:00
Ben Wiederhake
4107ae1dea Ports: Remove abandoned port 'fheroes2' which was never playable 2023-04-09 11:39:31 +01:00
Tim Schumacher
56fdbf81dc Ports: Reapply the SDL2_sound patch 2023-04-09 01:53:33 +02:00
Ben Wiederhake
625b29f507 Ports: Repair qt6-qtbase by disabling QDnsLookup 2023-04-08 14:25:30 -07:00
Liav A
b414b56336 Ports: Update dmidecode to version 3.5 2023-04-08 19:02:06 +03:00
Liav A
fd62eb325e Ports: Update dtc to version 1.7.0
Also, don't use a commit hash anymore but instead use tags, which are
updated often enough.
2023-04-08 18:01:06 +03:00
Liav A
9d43132380 Ports: Update file to version 5.44 2023-04-08 17:59:09 +03:00
Tim Ledbetter
44dd824764 Ports: Add stockfish port 2023-04-07 14:59:27 -06:00
djwisdom
afc067bc38 Ports: Update serenity-theming use latest commit ba2ddd0
Snake: Add Buggie skin
Snake: Add CatDog skin
Chess: Add ugly piece set
Base: Add Hotdog Stand theme
2023-03-27 14:28:45 +01:00
Cameron Youell
7b33f33509 Ports/libtiff: Update libtiff to version 4.5.0 2023-03-27 14:27:32 +01:00
Cameron Youell
c04e8ae6f2 Ports/imagemagick: Update imagemagick to version 7.1.1-5 2023-03-27 14:27:32 +01:00
Cameron Youell
7874b492df Ports/gettext: Update gettext to version 0.21.1 2023-03-27 14:27:32 +01:00
Cameron Youell
0bd2cd037d Ports/sqlite: Update sqlite to version 3410200 2023-03-27 14:27:32 +01:00
Cameron Youell
5d9c4cc9e3 Ports/libpng: Update libpng to version 1.6.39 2023-03-27 14:27:32 +01:00
Cameron Youell
66f4ffe309 Ports/make: Update make to version 4.4 2023-03-27 14:27:32 +01:00
Cameron Youell
f22bf42566 Ports/cmake: Update cmake to version 3.26.1 2023-03-27 14:27:32 +01:00
Cameron Youell
18720fed7b Ports/curl: Update curl to version 8.0.1 2023-03-27 14:27:32 +01:00
Cameron Youell
a5269560f5 Ports/bison: Update bison to version 3.8 2023-03-27 14:27:32 +01:00
Cameron Youell
4900b34ae1 Ports/bdwgc: Update bdwgc to version 8.2.2 2023-03-27 14:27:32 +01:00
Cameron Youell
fb3a1e2341 Ports/bc: Update bc to version 6.5.0 2023-03-27 14:27:32 +01:00
Cameron Youell
884d5720d6 Ports/bash: Update bash to version 5.2.15 2023-03-27 14:27:32 +01:00
Cameron Youell
cff303bd69 Ports/binutils: Update binutils to version 2.40 2023-03-27 14:27:32 +01:00
Cameron Youell
1fc2878e24 Ports/freetype: Update freetype to version 2.13.0 2023-03-27 14:27:32 +01:00
Cameron Youell
4b3491ebb6 Ports/grep: Update grep to version 3.10 2023-03-27 14:27:32 +01:00
Cameron Youell
20b1a3b682 Ports/git: Update git to version 2.40.0 2023-03-27 14:27:32 +01:00
Jelle Raaijmakers
6a3e217c5c Ports: Update ScummVM to 2.7.0 2023-03-24 00:31:03 +01:00
Jelle Raaijmakers
5230fb0359 Ports: Fix erroneous spelling of erroneous 2023-03-24 00:31:03 +01:00
EWouters
5ec727deb4 Ports/cmake: Update CMake to version 3.26.0 2023-03-17 09:59:35 +00:00
Seal Sealy
0dbca4af06 Ports: Add taskwarrior port 2023-03-15 07:59:51 +00:00
Seal Sealy
8ba6cd6ab9 Ports: Add bzip3 port 2023-03-14 21:41:46 +01:00
Fabian Dellwing
7448db9940 Ports: Add lrzip port 2023-03-13 13:53:58 +01:00
Andrew Kaster
3219ecbdc0 Ports: Add port of backward-cpp, a pretty backtrace library 2023-03-13 07:23:53 +00:00
Andrew Kaster
e690b35fdc Ports: Install libiberty from binutils port
Normally this is supposed to be installed from gdb or gcc. If a port
wants to link against libbfd though, we need to make sure libiberty is
actually available in the root filesytem without requiring the port to
depend on those larger packages.
2023-03-13 07:23:53 +00:00
Seal Sealy
0f5cd3ea68 Ports: Add hexedit port 2023-03-09 09:14:58 +00:00
Luke Wilde
57cc2bab4b Ports: Add Mednafen 2023-02-28 08:42:45 +00:00
Kenneth Myhra
450ffbe612 Ports: Update curl to 7.88.1 2023-02-24 19:20:53 +01:00
Peter Elliott
3481e44d01 Ports: Port wayland-client 2023-02-19 00:37:37 +01:00
Peter Elliott
3440292e73 Ports: Port the Expat XML parser 2023-02-19 00:37:37 +01:00
Nathan Ell
3b446b873e Ports/dos2unix: Update to 7.4.4 2023-02-16 12:27:52 +01:00
Tim Schumacher
874c7bba28 LibCore: Remove Stream.h 2023-02-13 00:50:07 +00:00
Tim Schumacher
606a3982f3 LibCore: Move Stream-based file into the Core namespace 2023-02-13 00:50:07 +00:00
Tim Schumacher
d43a7eae54 LibCore: Rename File to DeprecatedFile
As usual, this removes many unused includes and moves used includes
further down the chain.
2023-02-13 00:50:07 +00:00
Julian Offenhäuser
9be9bf3379 Ports: Add GemRB
GemRB is an open-source implementation of the Infinity engine by
Bioware, used in some of their classic role-playing games.
2023-02-11 10:41:59 +01:00
Julian Offenhäuser
b789debe07 Ports: Build python3 port with shared libraries 2023-02-11 10:41:59 +01:00
Julian Offenhäuser
b1793868b0 Ports: Add OpenRCT2 2023-02-08 19:06:42 +00:00
Julian Offenhäuser
839c23417d Ports: Add speexdsp 2023-02-08 19:06:42 +00:00
Julian Offenhäuser
1f207282a1 Ports: Add nlohmann-json 2023-02-08 19:06:42 +00:00
Julian Offenhäuser
32e9293ce0 Ports: Add flac 2023-02-08 19:06:42 +00:00
Kenneth Myhra
944191560a Ports: Update qemu to 7.2.0 2023-02-07 13:35:49 +00:00
Kenneth Myhra
96ac527e3c Ports: Update mc to 4.8.29 2023-02-07 13:35:49 +00:00
Kenneth Myhra
6acb8279f6 Ports: Update glib to 2.75.2 2023-02-07 13:35:49 +00:00
Mr.UNIX
b8003fa027 Ports/grep: Update to 3.8 2023-02-06 10:19:53 +00:00
Mr.UNIX
306162de35 Ports/sed: Update to 4.9 2023-02-06 10:19:37 +00:00
Mr.UNIX
93d456077e Ports/nano: Update to 7.2 2023-02-06 10:19:21 +00:00
Mr.UNIX
1c7de460ff Ports/gawk: Update to 5.2.1 2023-02-06 10:18:58 +00:00
Mr.UNIX
17965f4d2d Ports/nasm: Update to 2.16.01 2023-02-05 16:43:02 +00:00
Mr.UNIX
9ca21ba1d5 Ports/openssl: Update to 1.1.1s 2023-02-05 16:42:42 +00:00
Mr.UNIX
dfb21177ef Ports/git: Update to 2.39.1 2023-02-05 16:42:12 +00:00
Jelle Raaijmakers
403c0e6dab Ports: Install all dependencies instead of just one
Commit 9b7e217dda broke installation of port dependencies by
`return`ing as soon as the first dependency was found.
2023-02-02 14:38:48 +01:00
Jelle Raaijmakers
dcf33f9b8f Ports: Add bind mount automatically for Quake3
We need a `wxallowed` bind mount for the `ioquake3` binary to be able to
compile and run its executable scripts in memory. Instead of instructing
the user how to do so in `/etc/fstab`, we can now use the fancy
`/etc/fstab.d` facility :^)
2023-02-02 14:38:26 +01:00
Jan200101
141e5d6f20 Ports: Use absolute path of port_include
This ensures that .port_include will always import other scripts from
the correct location.
2023-01-29 13:11:22 +01:00
Jan200101
4eae5de499 Ports: Document how to declare external port directories 2023-01-29 13:11:22 +01:00
Jan200101
9b7e217dda Ports: Support multiple port directories
This allows Ports unfit for the main repository to be put elsewhere.
2023-01-29 13:11:22 +01:00
Tim Schumacher
82a152b696 LibGfx: Remove try_ prefix from bitmap creation functions
Those don't have any non-try counterpart, so we might as well just omit
it.
2023-01-26 20:24:37 +00:00
Peter Elliott
d844829de4 Ports: Fix compatiblity issues with running package.sh on Serenity 2023-01-19 12:22:24 +01:00
Jelle Raaijmakers
7c2976e006 Ports: Make sed work on macOS
The ports `libvorbis`, `readline` and `timidity` would not install on
macOS as a result of using `sed -i` without an extension provided. GNU
sed is available through Homebrew, but it does not replace `sed` by
default.

Instead, provide a new `sed_in_place` function that calls `sed` with the
right arguments.
2023-01-09 22:36:50 +00:00
Jelle Raaijmakers
9398e308fe Ports: Use sha256 hash for libmpg123 2023-01-09 12:56:46 +01:00
EWouters
06d24be8c9 Ports/timidity: Use fresh config.guess for timidity 2023-01-08 22:54:19 +01:00
EWouters
5f87c3022c Ports: Set $LD for Clang, GCC and host in .hosted_defs.sh
Sets `$LD` to `$HOST_LD` in `.port_include.sh` if it is defined as well,
else it will be set to `ld`.

Makes libiconv build with the Clang toolchain.

This also impacts other ports when building them with the Clang
toolchain, and might result in more ports building correctly.
2023-01-06 14:00:31 -07:00
AsciiWolf
40165f5846 Ports: Fix the libmpg123 patch 2023-01-04 20:07:53 +01:00
Jelle Raaijmakers
215d68baf6 Ports: Remove gltron patch for glext.h
This is no longer necessary since we have resolved most conflicts with
SDL2's version of the GL constants.
2023-01-03 19:48:16 -05:00
Jelle Raaijmakers
c2b3a7a524 Ports: Unbreak ScummVM icon pack generation
The ScummVM icon repository no longer accepts "1970-01-01" as a valid
start date for the icon pack generation. We now use the oldest commit
date in the repository which _is_ accepted.
2023-01-03 19:47:29 -05:00
djwisdom
c1d4fc2d0b Ports: Update serenity-theming use latest commit 7a39b7d 2023-01-03 16:13:54 -08:00
implicitfield
4aec8491d6 Everywhere: Move Base/res/terminal-colors to Base/res/color-schemes 2022-12-31 04:20:59 -07:00
Tim Schumacher
534f3faa2f Ports: Bump the xash3d versions across the board 2022-12-31 04:16:57 -07:00
Jan200101
058a39c6fc Ports: Use absolute path of script
The relative paths are not valid inside a port build directory.
This makes target_env source .hosted_defs.sh correctly.
2022-12-31 00:02:41 +01:00
Liav A
b49c4eb94f Ports: Remove i686 support 2022-12-28 11:53:41 +01:00
Liav A
85b453c2e4 Kernel+Userland: Remove dependency on i386-specific registers 2022-12-28 11:53:41 +01:00
Kenneth Myhra
74de1f6193 Ports: Let our CA Certificate location be known to curl
Co-authored-by: Tim Schumacher <timschumi@gmx.de>
2022-12-22 15:59:00 +00:00
Kenneth Myhra
3c6afeca45 Ports: Format curl package.sh script 2022-12-22 15:59:00 +00:00
Kenneth Myhra
fe478be91b Ports: Update curl to 7.87.0
This also removes the tiny patch we had since it's been upstreamed.
2022-12-22 15:59:00 +00:00
EWouters
f050a426f5 Ports: Add grepcidr port 2022-12-20 10:33:00 +01:00
Clemens Wasser
7cd99572be Ports: Use double quotes for a string literal in qtbase port 2022-12-14 15:12:51 +00:00
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