Age | Commit message (Collapse) | Author |
|
|
|
|
|
The config.guess file needs to know about the SerenityOS `uname -m`
system name if we want to build ports inside Serenity. Support was only
added in January 2022, so most ports don't have a new enough version
yet.
This commit adds facilities for fetching a fresh config.guess file that
supports SerenityOS, similarly to what we do for config.sub. As its
first user, we make the bash port buildable inside the system.
|
|
We don't have a perl port, so let's use GNU sed's in-place option for
doing substitutions when running inside Serenity.
Note that we can't do this unconditionally, as `sed -i` is not portable
and works differently on BSD systems.
|
|
For all your ports' garbage collection needs :^)
|
|
|
|
We now download a versioned tarball instead of the latest release to
avoid breaking the port build due to a signature mismatch when a new
version is released.
|
|
|
|
|
|
This depends on both the `libmpeg2` and `libmad` ports. Since `monkey4`
is currently an experimental engine in ScummVM, we need to explicitly
enable it during configuration.
|
|
|
|
|
|
Relying on host tools working correctly is not a good idea, as they may
be outdated (and therefore not support features like RELR relocations)
or may not exist at all (like objcopy on macOS).
|
|
|
|
While troubleshooting why gdb wasn't working when attempting to debug
serenity programs I noticed two things:
- The contract of serenity's `waitpid(..)` appears to be slightly
different than the generic ptrace target expects. We need to make
sure we pass `WSTOPPED`, and it can return different errno values
that we would want to re-try on.
- The contract of serenity's `ptrace(..)` implementation appears to
diverge as well, as we are expected to call `PT_ATTACH` before we
call `PT_CONTINUE`, otherwise `ptrace(..)` will just error out.
These two patches fix the behavior of wait and mourn_inferior so that
they work as expected on serenity and allow us to attach and then wait
for a process to exit while running under gdb.
|
|
Before working on the gdb port some more, I wanted to get these patches
cleaned up to have a good base to build upon.
|
|
|
|
|
|
|
|
This is currently broken in Serenity. Disable it until we figure out
why.
|
|
|
|
This also switches to checking out a specific commit instead of just the
master HEAD, as the port linter requires a hash (which is imo pointless
in this case), and we can't provide a stable hash for the master branch
HEAD.
|
|
This disables the GC, so the REPL doesn't run, but basic programs do
work.
|
|
|
|
|
|
|
|
|
|
This is just a bump of the version number in a couple places.
Tested to work.
|
|
This is another one where I just changed the version number and it
worked.
|
|
When I did a fresh build of ports, I got this while building fontconfig:
```
checking for FREETYPE... no
configure: error: Package requirements (freetype2 >= 21.0.15) were not
met:
No package 'freetype2' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables FREETYPE_CFLAGS
and FREETYPE_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
```
|
|
Released on 2022-01-14.
https://www.python.org/downloads/release/python-3102/
|
|
This explains:
- `package.sh dev [--no-depends]`
- `use_fresh_config_sub` & `config_sub_path`
|
|
When a git patch that doesn't apply is encountered, start a git am
session and _then_ drop the user in it instead of expeting the user to
start the session on their own.
Also prompt for leftover files and delete them if the user does not want
them.
|
|
|
|
The `-fuse-ld=mold` flag was only added in the not-yet-released GCC 12.
Cherry-picked from the following upstream commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=ad964f7eaef9c03ce68a01cfdd7fde9d56524868
|
|
This hash format offers faster symbol lookup than the System V hash.
We've been using it in all our shared libraries for a long time, but did
not have it enabled by default in our toolchain, so ports couldn't make
use of it.
|
|
Before this change, our dynamic linker's global constructor handler
relied on the GNU linker implicitly including the content of `.ctors`
section inside `.init_array`. The mold linker does not do this, so
global constructors would fail to be called in the mold-built userland.
There is no point in sticking to `.ctors`, as most other systems already
use the superior `.init_array` scheme. This commit changes the kernel
linker script to not discard this new section, and enables it by default
in our toolchain.
|
|
This partially enables support for menus in half-life. Currently, mouse
input does not work in it, the arrow keys are needed for navigation.
|
|
|
|
|
|
Patches regenerated with the new ./package.sh dev mode. It seems to
work as advertised, after a bit of experimentation :^).
|
|
This path needs to be set, or otherwise SDL2_mixer will not build.
|
|
|
|
|
|
|
|
The new `use_fresh_config_sub` option puts the config.sub in the root of
the tree, but `readline` puts it in the `support/` folder. So we need to
tell the ports infrastructure to place the file in that folder.
|
|
And use that to avoid shelling out multiple times for checking
properties in lint-ports.py.
|
|
|
|
This regressed in cdd6d68, setting the correct path makes it build
again.
|
|
|