This also adds gmp and mpfr as optional dependencies, and sets the
sysroot to to allow gawk to find libgmp when building with Clang, and
to make the results predictable regardless of the order the ports are
installed in.
Released on 2023-10-02.
https://www.python.org/downloads/release/python-3120/
Note that the top-level setup.py script has disappeared completely,
hence the two dropped patches. AFAICT this doesn't regress building any
of the native modules, presumably because the configure script fully
takes care of this now:
```
The necessary bits to build these optional modules were not found:
_dbm _gdbm _posixshmem
_tkinter nis ossaudiodev
To find the necessary bits, look in configure.ac and config.log.
Checked 111 modules (31 built-in, 73 shared, 1 n/a on serenityos-x86_64,
0 disabled, 6 missing, 0 failed on import)
```
This needs the (now relatively common) `libtool` patch, but allows us to
sidestep a bunch of issues that relate to linking static libraries into
position-independent executables.
Abseil's Serenity support is a little limited:
- No support for any timezone shenanigans since protobuf hopefully
doesn't use those. For now, abseil will always believe to be in UTC on
Serenity.
- In most places where explicit platforms need to be added to a list of
supported platforms, Serenity will be missing. Again I only added the
ones that are required for protobuf.
Fixes build error
```
error "It looks like you're trying to enable vendor availability
markup, but you haven't defined the corresponding macros yet!"
```
while trying to #include <__availability> header without having
the necessary preprocessor directive
`_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS` set
This is a minor bugfix release, which to my knowledge contains nothing
of importance to us. However, there is one QoL change to our patches.
We no longer force `-fpic` in the compiler driver, and instead use the
`--enable-default-pie` configure option to generate position-independent
code suitable for executables. For building shared libraries, the
`-fpic` flag must be specified explicitly.
This version contains my patch that adds support for the proprietary
VideoCore mailbox message for reading the kernel command line, so
patches aren't needed anymore.
This also removes existing patches that were trying to fix warnings
one-by-one.
Note that the patch making `CurrentSp` static was incorrect, the
variable needs to be on the stack for us to retrieve the current stack
address.
This ports an implementation of the FTS functions that can be used to
traverse the file system. They are non-standard, but provided by glibc
and most BSD systems. This ported library implements FTS for musl-based
Linux systems and happens to work on Serenity.
Following the removal of the `drand48` patch to the configure script,
we can now remove this patch as it is no longer needed to prevent an
interpreter hang.
This change explicitly enables support for `libgd` and the lua
terminal in `gnuplot`, while explicitly disabling `cairo` terminals,
which don't work with our `cairo` port. Adding `libgd` as a
dependency requires us to manually link against the dependencies of
`libgd`, as this is not done automatically by the configure script.
This fixes an issue where building `gnuplot` would fail if `libgd`
was already installed.
Previously, this would only be enabled if the `sqlite` port was
already installed. This change explicitly disables the feature, as it
isn't that useful on SerenityOS. This ensures a consistent build
regardless of whether the `sqlite` port is installed or not.
Previously,`openssl` would be used as the crypto backend for `libssh2`
if the `openssl` port was installed and the `libgcrypt` dependency
would be ignored.
With this change we install `openssl` as a dependency and explicitly
specify that it should be used as the crypto backend. We also add
`zlib` as an explicit dependency and specify that `zlib` compression
should be used.
The script previously failed early after building `mandoc`, as it
failed to switch to the correct directory for the next port. With this
change, the script now runs to completion.
This fixes an issue where building `SDL_sound` with the `libphysfs`
port installed would cause the build to fail.
Ogg support has also been enabled. This allows playback of the sound
effects in GLTron.
Both FLAC and `libmodplug` support are currently disabled, even
though the build succeeds with them enabled, as there is currently no
way to test whether they would work or not.
This fixes an issue where `prboom-plus` wouldn't build if the `make`
port was installed. Including this also makes some manually specified
paths unnecessary.
Having this option enabled made `libuuid` link to `libintl` only when
the `gettext` port was installed. This made the `taskwarrior` port
fail to build when `gettext` was installed prior to `libuuid`.
This ensures the required binary files are installed to the correct
location and data files are copied to their default location so the
`--refdir` argument isn't needed when launching the game.
This patch removed some previously unsupported scanf format specifiers.
We still don't support these properly, but we can parse and ignore
them, which is equivalent to what this patch was doing.
This version requires the gettext port as a dependency.
In addition to that, this release has a bug in which it doesn't include
libintl and libiconv properly when building the program.
Therefore, we add a patch that was originally made by Sergey Poznyakoff
after the report of this bug (savannah bug #64441).
All the shellcheck errors are fixed, and output will how have coloured
logs with status symbol.
1. # -> operation completed successfully
2. ~ -> currently processing port
3. * -> information
4. ! -> warning
5. x -> error in processing port
Now, you can use the failfast option to instantly exit the loop
whenever it reports an error while processing any port. Using realpath
of the ports directory to use `cd` operation only once and get rid of
pushd-popd pattern here.
This adds a patch to the SDL2 port to fix a segfault which occurs in
the resampler.
Taken from this upstream commit:
https://github.com/libsdl-org/SDL/commit/78f9710
This fixes a crash we were seeing in the julius port.
The /usr/Ports/packages.db will be used later for tracking available
ports by the upcoming package manager, which will use it to do search
queries, providing metadata on available ports, etc.
Ports that are installed will be registered from now on in the file of
/usr/Ports/installed.db, so that file will be used later on to allow
further management of what is actually installed on the system.
Doing this means we no longer need to maintain our own Doom fork and
we get the newest features of the upstream repository, such as sound
effects and music.
`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>
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.
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.
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.
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.
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.
- 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