diff --git a/.gitattributes b/.gitattributes
index 0b518af4199..5e472ae4bcc 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -1,2 +1,6 @@
* text=auto eol=lf
-*.real linguist-language=Assembly
\ No newline at end of file
+
+jinx-config linguist-language=Shell
+host-recipes/* linguist-language=Shell
+recipes/* linguist-language=Shell
+source-recipes/* linguist-language=Shell
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 00000000000..0e38fe5a9c3
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,13 @@
+# These are supported funding model platforms
+
+github: [Andy-Python-Programmer]
+patreon: # Replace with a single Patreon username
+open_collective: # Replace with a single Open Collective username
+ko_fi: # Replace with a single Ko-fi username
+tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
+community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
+liberapay: # Replace with a single Liberapay username
+issuehunt: # Replace with a single IssueHunt username
+otechie: # Replace with a single Otechie username
+lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
+custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index b707ee4045b..6cd2246677d 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -24,17 +24,18 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update
- sudo apt-get install -y nasm
- python3 -m pip install requests xbstrap
+ sudo apt-get install -y nasm make
- name: Build Documentation
- run: ./aero.py --document
+ run: |
+ make doc
+ find ./target -type d -name .git -prune -exec rm -rf {} \;
- name: Formatting Check
run: |
- ./aero.py --fmt
- git diff-index --quiet HEAD -- || (printf "${RED}error${NOCOLOR}: formatting check failed, run \`./aero.py --fmt\`\n" && exit 1)
+ make check_fmt
+ git diff-index --quiet HEAD -- || (printf "${RED}error${NOCOLOR}: formatting check failed, run \`make fmt\`\n" && exit 1)
- name: Deploy documentation
uses: peaceiris/actions-gh-pages@v3
if: github.ref == 'refs/heads/master' && (github.event_name == 'push' || github.event_name == 'schedule')
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- publish_dir: ./build/web/
+ publish_dir: ./target/doc/
diff --git a/.gitignore b/.gitignore
index c75223baf8c..d4638961943 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,3 +22,16 @@ base-files/doom1.wad
# Wayland test client and server executables: (todo: remove these)
base-files/client
base-files/server
+
+# todo: remove these
+debug
+
+# XXXXXXXXXXXXXXXX
+3rdparty/
+.jinx-cache
+sources/
+host-pkgs/
+host-builds/
+pkgs/
+builds/
+raw-data
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 8cbe5c341c6..f4cfcd3638f 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -1,7 +1,7 @@
{
"rust-analyzer.linkedProjects": [
"./src/Cargo.toml",
- "./userland/Cargo.toml"
+ // "./userland/Cargo.toml"
],
"rust-analyzer.checkOnSave.allTargets": false,
// "rust-analyzer.checkOnSave.extraArgs": [
@@ -16,5 +16,5 @@
"termios.h": "c",
"termios-c_iflag.h": "c"
},
- // "rust-analyzer.check.command": "clippy",
+ "rust-analyzer.check.command": "clippy",
}
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 746c0e124a1..1ab51c94ade 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -36,4 +36,6 @@ $ lldb
(lldb)
````
-Check out the docs for your debugger for information about how to use the debugger.
\ No newline at end of file
+Check out the docs for your debugger for information about how to use the debugger.
+
+`./aero.py -- -netdev user,id=spider -device e1000,netdev=spider,id=ck_nic0 -object filter-dump,id=spider,netdev=spider,file=qemulog.log`
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index a9d42f85791..00000000000
--- a/Dockerfile
+++ /dev/null
@@ -1,53 +0,0 @@
-FROM ubuntu:latest
-WORKDIR /opt/workdir
-# Cargo executables are installed here:
-ENV PATH="$PATH:/home/workuser/.cargo/bin"
-# Python executables are installed here:
-ENV PATH="$PATH:/home/workuser/.local/bin"
-
-RUN apt-get update
-RUN apt-get install -y \
- autopoint \
- bash \
- binutils \
- bison \
- cmake \
- coreutils \
- curl \
- expat \
- flex \
- gcc \
- gettext \
- git \
- gperf \
- groff \
- gzip \
- help2man \
- libgmp-dev \
- m4 \
- make \
- mercurial \
- meson \
- mtools \
- nasm \
- openssl \
- patch \
- perl \
- python3 \
- python3-mako \
- python3-pip \
- rsync \
- subversion \
- tar \
- texinfo \
- wget \
- xcb-proto \
- xorriso \
- xsltproc \
- xz-utils
-RUN useradd -m workuser
-
-USER workuser
-RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
-RUN python3 -m pip install requests xbstrap
-ENTRYPOINT python3 aero.py --no-run
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000000..990748f7183
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,94 @@
+profile ?= release
+
+ifneq ($(filter $(profile), dev debug), )
+ KERNEL_TARGET := src/target/x86_64-unknown-none/debug/aero_kernel
+else
+ KERNEL_TARGET := src/target/x86_64-unknown-none/release/aero_kernel
+endif
+
+jinx:
+ mkdir -p target
+ if [ ! -f "target/jinx" ]; then \
+ curl -Lo target/jinx https://github.com/mintsuki/jinx/raw/353c468765dd9404bacba8e5626d0830528e4300/jinx; \
+ chmod +x target/jinx; \
+ fi
+
+ # FIXME: autosync
+ mkdir -p target/cargo-home
+ cp build-support/rust/config.toml target/cargo-home/config.toml
+
+.PHONY: distro
+distro: jinx
+ ./target/jinx build-all
+
+SOURCE_DIR := src
+USERLAND_DIR := userland
+USERLAND_TARGET := builds/userland/target/init
+
+.PHONY: clean
+clean:
+ rm -rf $(SOURCE_DIR)/target
+
+.PHONY: deep-clean
+deep-clean: clean
+ rm -rf target sysroot sources pkgs host-pkgs host-builds builds
+
+.PHONY: check
+check:
+ cd $(SOURCE_DIR) && cargo check
+
+$(KERNEL_TARGET): $(shell find $(SOURCE_DIR) -type f -not -path '$(SOURCE_DIR)/target/*')
+ cd $(SOURCE_DIR) && cargo build --package aero_kernel --profile $(profile)
+ ./build-support/mkiso.sh $(KERNEL_TARGET)
+
+$(USERLAND_TARGET): $(shell find $(USERLAND_DIR) -type f -not -path '$(USERLAND_DIR)/target/*')
+ ./target/jinx rebuild userland
+ @$(MAKE) distro-image
+
+.PHONY: iso
+iso: $(KERNEL_TARGET)
+
+.PHONY: distro-image
+distro-image: distro
+ ./build-support/mkimage.sh
+
+QEMU_PATH ?= $(shell dirname $(shell which qemu-system-x86_64))
+
+.PHONY: qemu
+qemu: $(KERNEL_TARGET) $(USERLAND_TARGET)
+ ${QEMU_PATH}/qemu-system-x86_64 \
+ -cdrom target/aero.iso \
+ -m 8G \
+ -serial stdio \
+ --boot d -s \
+ -enable-kvm \
+ -cpu host,+vmx \
+ -drive file=target/disk.img,if=none,id=NVME1,format=raw \
+ -device nvme,drive=NVME1,serial=nvme \
+ ${QEMU_FLAGS}
+
+# "qemu_perf" options:
+# delay (default: 30) - the amount of microseconds between each sample.
+delay ?= 30
+
+.PHONY: qemu_perf
+qemu_perf: $(KERNEL_TARGET) $(USERLAND_TARGET)
+ ${QEMU_PATH}/qemu-system-x86_64 -cdrom target/aero.iso -m 8G -serial stdio --boot d -s -drive file=target/disk.img,if=none,id=NVME1,format=raw -device nvme,drive=NVME1,serial=nvme -plugin './target/kern-profile.so,out=raw-data,delay=$(delay)' -d plugin -cpu max
+
+.PHONY: qemu_p
+qemu_p:
+ ${QEMU_PATH}/qemu-system-x86_64 -cdrom target/aero.iso -m 8G -serial stdio --boot d -s -drive file=target/disk.img,if=none,id=NVME1,format=raw -device nvme,drive=NVME1,serial=nvme -d plugin -cpu max -qmp unix:/tmp/qmp.sock,server,nowait
+
+.PHONY: doc
+doc:
+ cd src && cargo doc --package aero_kernel --release --target-dir=../target/doc/
+ echo "" > target/doc/index.html
+ifeq ($(open),yes)
+ xdg-open target/doc/index.html
+endif
+
+fmt:
+ cd $(SOURCE_DIR) && cargo fmt
+
+check_fmt:
+ cd $(SOURCE_DIR) && cargo fmt -- --check
diff --git a/README.md b/README.md
index 2dbc173adec..1c13f332d82 100644
--- a/README.md
+++ b/README.md
@@ -40,8 +40,8 @@ No, Aero runs its own kernel that does *not* originate from Linux and does not s
# How to Build and Run Aero
-Please make sure you have a **unix-like** host system before building
-Aero. If you are using windows, its highly recommended to use WSL 2.
+Please make sure you have a Linux host system before building
+Aero. If you are using windows, use WSL 2.
## Dependencies
@@ -49,27 +49,12 @@ Before building Aero, you need the following things installed:
- `rust` (should be the **latest nightly**)
- `nasm`
- `qemu` (optional: required if you want to run it in the Qemu emulator)
-
-If you are building Aero with sysroot, run the following helper script to install additional dependencies.
-```sh
-# make sure to run the script with root privileges!
-./tools/deps.sh
-```
-You can optionally set the environment variable `VERBOSE` to `true`, which will pass through the output of your package manager for troubleshooting.
-```sh
-VERBOSE=true ./tools/deps.sh
-```
-
-Note: If your host operating system is not in the list below, you will need to determine the dependency packages' names for your package manager (contributions to this tool are welcome!)
-- Arch Linux/based (pacman)
-- Debian Linux/based (apt)
-- macOS (homebrew)
-
+- `make`
## Hardware
The following are *not* requirements but are *recommendations*:
-- ~15GB of free disk space
+- ~15GB of free disk space (this will vary depending on the amount of packages you want to build)
- \>= 8GB RAM
- \>= 2 cores
- Internet access
@@ -86,63 +71,16 @@ $ cd aero
## Building Aero
-Aero uses a custom build system, that wraps `cargo` and takes care of building the kernel and
-userland for you. It also builds the initramfs and disk image for you.
-
-The main command we will focus on is `./aero.py`. The source code can be found in the
-root of the repository and, as the file name states, it is written in Python.
-
-By default if you run `./aero.py` without any arguments it will build the kernel and userland
-in release mode with debug symbols and run it in QEMU. You can configure the behavior of the
-build system though. If you want to, you can use the `--help` option to read a brief description
-of what it can do.
-
-The build system acknowledges few different build modes, which cannot be used together
-and they are: `--clean`, `--check`, `--test` and `--document`.
-
-- `--clean` option will clean all the build outputs.
-- `--check` will build the kernel and userland using cargo's `check` command,
- this build mode will not produce a disk image, if you want one without actually
- running Aero in the emulator read ahead
-- `--test` will run the built-in Aero test suite
-- `--document` will generate web-based docs using cargo's `doc` command
-- `--sysroot` will build the full userland sysroot. If not passed, then the sysroot will only contain
-the `aero_shell` and the `init` binaries.
-
- **Note**: This command will require a relatively large amount of storage
-space. You may want to have upwards of 10 or 15 gigabytes available if building with full sysroot.
-
-Each of these modes can be used with additional flags, that will alter the behavior in different
-ways, some of them will not work for some of these modes - for example: the `--la57` option
-will not have any effect when you are simply checking or documenting the build.
-
-- `--debug` toggles off the release build flag when calling cargo.
-
- **Summary**: If the `--debug` flag is not passed then it will build Aero in release mode
- and debug symbols will be available. On the other hand, if the debug flag is passed
- then it will be built in debug mode and debug symbols will be still available. By default
- Aero is built in release mode (with debug symbols) since it generates faster and smaller
- binaries which are easier to test.
-- `--no-run` prevents from running the built disk image in the emulator
-- `--bios` lets you choose the firmware the emulator will use when booting Aero,
- currently supported values are: `legacy` and `uefi`
-- `--features` accepts a single comma-separated list of kernel crate features, please
- keep in mind that there cannot be spaces in between the values
-- `--target` lets you override the target architecture for which the kernel is built,
- currently the default value is `x86_64-aero_os`
-- `--la57` tells the emulator to use 5 level paging, if it supports it
-
-The built disk image is stored in the `build` directory under the name `aero.iso`. Both the
-disk root and initramfs root are preserved in case you want to inspect them manually.
-
-## Running Aero in an emulator
-
-If you haven't used the `--no-run` option and you aren't using the `--check` or `--document` build
-mode, the build system will run Aero in the emulator for you.
-
-## Nightly Images
-
-Want to give Aero a shot, without building it! You can go to the [latest job](https://github.com/Andy-Python-Programmer/aero/actions/workflows/build.yml?query=is%3Asuccess+branch%3Amaster) and download the latest nightly image (`aero.iso`), under artifacts.
+```shell
+make distro-image
+make qemu
+
+# To build documentation run the following command. The documentation will be outputed
+# to the `target/doc` directory.
+#
+# Optionally you can pass `open=yes` to open the documentation in the default browser.
+make doc open=yes
+```
# Contributing
diff --git a/aero.py b/aero.py
deleted file mode 100755
index 98ebbbd67d0..00000000000
--- a/aero.py
+++ /dev/null
@@ -1,664 +0,0 @@
-#!/usr/bin/env python3
-
-# Copyright (C) 2021-2022 The Aero Project Developers.
-#
-# This file is part of The Aero Project.
-#
-# Aero is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Aero is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Aero. If not, see .
-
-import argparse
-import json
-import os
-import platform
-import shutil
-import subprocess
-import sys
-import tarfile
-import time
-
-from typing import List
-
-
-def log_info(msg):
- """
- Logs a message with info log level.
- """
- print(f"\033[1m\033[92minfo\033[0m: {msg}")
-
-
-def log_error(msg):
- """
- Logs a message with error log level.
- """
- print(f"\033[1m\033[91merror\033[0m: {msg}")
-
-
-# Make sure requests is installed
-try:
- import requests
- import xbstrap
-except ImportError:
- log_error('Please install required libraries using the following command:')
- log_error(' - python3 -m pip install requests xbstrap')
-
- sys.exit(0)
-
-
-OVMF_URL = 'https://github.com/aero-os/ovmf-prebuilt'
-LIMINE_URL = 'https://github.com/limine-bootloader/limine'
-
-BUILD_DIR = 'build'
-BUNDLED_DIR = 'bundled'
-SYSROOT_DIR = 'sysroot'
-EXTRA_FILES = 'extra-files'
-SYSROOT_CARGO_HOME = os.path.join(SYSROOT_DIR, 'cargo-home')
-BASE_FILES_DIR = 'base-files'
-
-LIMINE_TEMPLATE = """
-TIMEOUT=0
-VERBOSE=yes
-
-:aero
-PROTOCOL=limine
-KASLR=no
-KERNEL_PATH=boot:///aero.elf
-CMDLINE=term-background=background theme-background=0x50000000
-#RESOLUTION=1920x1080
-
-MODULE_PATH=boot:///term_background.bmp
-MODULE_CMDLINE=background
-"""
-
-
-class BuildInfo:
- args: argparse.Namespace
- target_arch: str
-
- def __init__(self, target_arch: str, args: argparse.Namespace):
- self.target_arch = target_arch
- self.args = args
-
-
-def get_userland_tool(): return os.path.join(SYSROOT_DIR, "tools")
-def get_userland_package(): return os.path.join(SYSROOT_DIR, "packages")
-
-def remove_prefix(string: str, prefix: str):
- if string.startswith(prefix):
- return string[len(prefix):]
- else:
- return string[:]
-
-
-def parse_args():
- parser = argparse.ArgumentParser(
- description="utility used to build aero kernel and userland")
-
- check_test = parser.add_mutually_exclusive_group()
-
- check_test.add_argument('--clean',
- default=False,
- action='store_true',
- help='removes the build artifacts')
-
- check_test.add_argument('--check',
- default=False,
- action='store_true',
- help='checks if aero builds correctly without packaging and running it')
-
- check_test.add_argument('--test',
- default=False,
- action='store_true',
- help='runs the aero test suite')
-
- check_test.add_argument('--document',
- default=False,
- action='store_true',
- help='generates the documentation for the aero kernel')
-
- parser.add_argument('--debug',
- default=False,
- action='store_true',
- help='builds the kernel and userland in debug mode')
-
- parser.add_argument('--no-run',
- default=False,
- action='store_true',
- help='doesn\'t run the built image in emulator when applicable')
-
- parser.add_argument('--only-run',
- default=False,
- action='store_true',
- help='runs aero without rebuilding. ignores any build-related flags')
-
- parser.add_argument('--bios',
- type=str,
- default='legacy',
- choices=['legacy', 'uefi'],
- help='run aero using the selected BIOS')
-
- parser.add_argument('--features',
- type=lambda x: x.split(','),
- default=[],
- help='additional features to build the kernel with')
-
- parser.add_argument('--target',
- default='x86_64-aero_os',
- help='override the target triple the kernel will be built for')
-
- parser.add_argument('--la57',
- default=False,
- action='store_true',
- help='run emulator with 5 level paging support')
-
- parser.add_argument('--sysroot',
- default=False,
- action='store_true',
- help='build the full userland sysroot. If disabled, then the sysroot will only contain the aero_shell and the init binaries')
-
- parser.add_argument('--disable-kvm',
- default=False,
- action='store_true',
- help='disable KVM acceleration even if its available')
-
- parser.add_argument('remaining',
- nargs=argparse.REMAINDER,
- help='additional arguments to pass as the emulator')
-
- parser.add_argument('--memory',
- default='9800M',
- help='amount of memory to allocate to QEMU')
-
- parser.add_argument('--fmt',
- default=False,
- action='store_true',
- help='format the source code')
-
- return parser.parse_args()
-
-
-def run_command(args, **kwargs):
- output = subprocess.run(args, **kwargs)
-
- return output.returncode, output.stdout, output.stderr
-
-
-def download_bundled():
- if not os.path.exists(BUNDLED_DIR):
- os.makedirs(BUNDLED_DIR)
-
- ovmf_path = os.path.join(BUNDLED_DIR, 'ovmf')
- limine_path = os.path.join(BUNDLED_DIR, 'limine')
-
- if not os.path.exists(ovmf_path):
- run_command(['git', 'clone', '--depth', '1', OVMF_URL, ovmf_path])
-
- if not os.path.exists(limine_path):
- run_command(['git', 'clone', '--branch', 'v4.x-branch-binary',
- '--depth', '1', LIMINE_URL, limine_path])
-
- if not os.path.exists(SYSROOT_DIR):
- log_info("building minimal sysroot")
- build_userland_sysroot(True)
-
-
-def extract_artifacts(stdout):
- result = []
- lines = stdout.splitlines()
-
- for line in lines:
- info = json.loads(line)
- executable = info['executable'] if 'executable' in info else None
-
- if executable:
- result.append(info['executable'])
-
- return result
-
-
-def build_cargo_workspace(cwd, command, args, cargo="cargo"):
- code, _, _ = run_command([cargo, command, *args], cwd=cwd)
-
- if code != 0:
- return None
-
- _, stdout, _ = run_command([cargo, command, *args, '--message-format=json'],
- stdout=subprocess.PIPE,
- stderr=subprocess.DEVNULL,
- cwd=cwd)
-
- return extract_artifacts(stdout)
-
-
-def build_kernel(args):
- command = 'build'
- cmd_args = ['--package', 'aero_kernel',
- '--target', f'.cargo/{args.target}.json']
-
- if not args.debug:
- cmd_args += ['--release']
-
- if args.test:
- command = 'test'
- cmd_args += ['--no-run']
- elif args.check:
- command = 'check'
- elif args.document:
- command = 'doc'
-
- if args.features:
- cmd_args += ['--features', ','.join(args.features)]
-
- return build_cargo_workspace('src', command, cmd_args)
-
-
-# Helper function for symlink since os.symlink uses path
-# relative to the destination directory.
-def symlink_rel(src, dst):
- rel_path_src = os.path.relpath(src, os.path.dirname(dst))
- os.symlink(rel_path_src, dst)
-
-
-def build_userland_sysroot(minimal):
- if not os.path.exists(SYSROOT_DIR):
- os.mkdir(SYSROOT_DIR)
-
- # FIXME(xbstrap): xbstrap does not copy over the extra-files/rust/config.toml
- # file into the cargo home directory.
- if not os.path.exists(SYSROOT_CARGO_HOME):
- os.mkdir(SYSROOT_CARGO_HOME)
-
- cargo_sys_cfg = os.path.join(SYSROOT_CARGO_HOME, 'config.toml')
- if not os.path.exists(cargo_sys_cfg):
- cargo_cfg_fd = open(os.path.join(
- EXTRA_FILES, 'rust', 'config.toml'), 'r')
- cargo_cfg = cargo_cfg_fd.read()
- cargo_cfg_fd.close()
-
- cargo_cfg = cargo_cfg.replace("@SOURCE_ROOT@", os.getcwd())
- cargo_cfg = cargo_cfg.replace(
- "@BUILD_ROOT@", os.path.join(os.getcwd(), SYSROOT_DIR))
-
- cargo_cfg_fd = open(cargo_sys_cfg, "w+")
- cargo_cfg_fd.write(cargo_cfg)
- cargo_cfg_fd.close()
-
- blink = os.path.join(SYSROOT_DIR, 'bootstrap.link')
-
- if not os.path.islink(blink):
- # symlink the bootstrap.yml file in the src root to sysroot/bootstrap.link
- symlink_rel('bootstrap.yml', blink)
-
- def run_xbstrap(args):
- try:
- return run_command(['xbstrap', *args], cwd=SYSROOT_DIR)
- except FileNotFoundError:
- return run_command([f'{os.environ["HOME"]}/.local/bin/xbstrap', *args], cwd=SYSROOT_DIR)
-
- command = ['install', '-u', '--all']
-
- if minimal:
- command = ['install', '-u', 'bash', 'coreutils']
-
- code, _, _ = run_xbstrap(command)
-
- if code != 0:
- log_error(f"`xbstrap {' '.join(command)}` exited with a non-zero status code")
- exit(1)
-
-
-def build_userland(args):
- # We need to check if we have host-rust in-order for us to build
- # our rust userland applications in `userland/`.
- host_cargo = os.path.join(SYSROOT_DIR, "tools/host-rust")
-
- if not os.path.exists(host_cargo):
- log_error("host-rust not built as a part of the sysroot, skipping compilation of `userland/`")
- return []
-
- HOST_RUST = "host-rust/bin/rustc"
- HOST_GCC = "host-gcc/bin/x86_64-aero-gcc"
- HOST_BINUTILS = "host-binutils/x86_64-aero/bin"
- PACKAGE_MLIBC = "mlibc"
-
- tool_dir = get_userland_tool()
- pkg_dir = get_userland_package()
-
- def get_rustc(): return os.path.join('..', tool_dir, HOST_RUST)
- def get_gcc(): return os.path.join('..', tool_dir, HOST_GCC)
- def get_binutils(): return os.path.join("..", tool_dir, HOST_BINUTILS)
- def get_mlibc(): return os.path.join("..", pkg_dir, PACKAGE_MLIBC)
-
- command = 'build'
- # TODO: handle the unbased architectures.
- cmd_args = ["--target", "x86_64-unknown-aero-system",
-
- # cargo config
- "--config", f"build.rustc = '{get_rustc()}'",
- "--config", "build.target = 'x86_64-unknown-aero-system'",
- "--config", f"build.rustflags = ['-C', 'link-args=-no-pie -B {get_binutils()} --sysroot {get_mlibc()}', '-lc']",
- "--config", f"target.x86_64-unknown-aero-system.linker = '{get_gcc()}'",
-
- "-Z", "unstable-options"]
-
- if not args.debug:
- cmd_args += ['--release']
-
- if args.check:
- command = 'check'
-
- if args.test:
- return build_cargo_workspace('userland', 'build', ['--package', 'utest', *cmd_args])
- else:
- return build_cargo_workspace('userland', command, cmd_args)
-
- # TODO: Userland check
- # elif args.check:
- # command = 'check'
-
-
-def generate_docs(args):
- doc_dir = os.path.join('src', 'target', args.target, 'doc')
- out_dir = os.path.join(BUILD_DIR, 'web')
-
- if os.path.exists(out_dir):
- shutil.rmtree(out_dir)
-
- shutil.copytree('web', out_dir, dirs_exist_ok=True)
- shutil.copytree(doc_dir, out_dir, dirs_exist_ok=True)
-
-
-def prepare_iso(args, kernel_bin, user_bins):
- log_info("preparing ISO")
-
- if not os.path.exists(BUILD_DIR):
- os.makedirs(BUILD_DIR)
-
- iso_path = os.path.join(BUILD_DIR, 'aero.iso')
- iso_root = os.path.join(BUILD_DIR, 'iso_root')
- limine_path = os.path.join(BUNDLED_DIR, 'limine')
-
- if os.path.exists(iso_root):
- shutil.rmtree(iso_root)
-
- os.makedirs(iso_root)
-
- shutil.copy(kernel_bin, os.path.join(iso_root, 'aero.elf'))
- shutil.copy(os.path.join('src', '.cargo', 'term_background.bmp'), iso_root)
- shutil.copy(os.path.join(limine_path, 'limine.sys'), iso_root)
- shutil.copy(os.path.join(limine_path, 'limine-cd.bin'), iso_root)
- shutil.copy(os.path.join(limine_path, 'limine-cd-efi.bin'), iso_root)
-
- efi_boot = os.path.join(iso_root, "EFI", "BOOT")
- os.makedirs(efi_boot)
-
- shutil.copy(os.path.join(limine_path, 'BOOTAA64.EFI'), efi_boot)
- shutil.copy(os.path.join(limine_path, 'BOOTX64.EFI'), efi_boot)
-
- sysroot_dir = os.path.join(SYSROOT_DIR, 'system-root')
- for file in user_bins:
- bin_name = os.path.basename(file)
- dest_dir = os.path.join(sysroot_dir, "usr", "bin")
- os.makedirs(dest_dir, exist_ok=True)
- shutil.copy(file, os.path.join(dest_dir, bin_name))
-
- with open(os.path.join(iso_root, 'limine.cfg'), 'w') as limine_cfg:
- limine_cfg.write(LIMINE_TEMPLATE)
-
- code, _, xorriso_stderr = run_command([
- 'xorriso', '-as', 'mkisofs', '-b', 'limine-cd.bin', '-no-emul-boot', '-boot-load-size', '4',
- '-boot-info-table', '--efi-boot', 'limine-cd-efi.bin', '-efi-boot-part',
- '--efi-boot-image', '--protective-msdos-label', iso_root, '-o', iso_path
- ], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
-
- if code != 0:
- log_error('failed to create the ISO image')
- log_error(xorriso_stderr.decode('utf-8'))
-
- return None
-
- limine_deploy = os.path.join(limine_path, 'limine-deploy')
-
- if not os.path.exists(limine_deploy):
- code, _, limine_build_stderr = run_command(['make', '-C', limine_path],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- if code != 0:
- log_error('failed to build `limine-deploy`')
- log_error(limine_build_stderr.decode('utf8'))
- exit(1)
-
- code, _, limine_deploy_stderr = run_command([limine_deploy, iso_path],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
-
- if code != 0:
- log_error('failed to install Limine')
- log_error(limine_deploy_stderr)
-
- return None
-
- # create the disk image
- disk_path = os.path.join(BUILD_DIR, 'disk.img')
-
- if not os.path.exists(disk_path):
- log_info('creating disk image')
- os.system('bash ./tools/mkimage.sh')
-
- return iso_path
-
-
-def run_in_emulator(build_info: BuildInfo, iso_path):
- is_kvm_available = is_kvm_supported()
- args = build_info.args
-
- qemu_args = ['-cdrom', iso_path,
- '-m', args.memory,
- '-smp', '1',
- '-serial', 'stdio',
- '-drive', 'file=build/disk.img,if=none,id=NVME1,format=raw', '-device', 'nvme,drive=NVME1,serial=nvme',
- # Specify the boot order (where `d` is the first CD-ROM drive)
- '--boot', 'd',
- '-s']
-
- if args.bios == 'uefi':
- qemu_args += ['-bios',
- f'bundled/ovmf/ovmf-{build_info.target_arch}/OVMF.fd']
-
- cmdline = args.remaining
-
- if '--' in cmdline:
- cmdline.remove('--')
-
- if cmdline:
- qemu_args += cmdline
-
- if is_kvm_available and not args.disable_kvm:
- log_info("running with KVM acceleration enabled")
-
- if platform.system() == 'Darwin':
- qemu_args += ['-accel', 'hvf', '-cpu',
- 'qemu64,+la57' if args.la57 else 'qemu64']
- else:
- qemu_args += ['-enable-kvm', '-cpu',
- 'host,+la57' if args.la57 else 'host']
- else:
- if build_info.target_arch == "aarch64":
- qemu_args += ['-device', 'ramfb',
- '-M', 'virt', '-cpu', 'cortex-a72']
- elif build_info.target_arch == "x86_64":
- qemu_args += ["-cpu", "qemu64,+la57" if args.la57 else "max"]
- else:
- log_error("unknown target architecture")
- exit(1)
-
- qemu_binary = os.getenv("QEMU_PATH")
- if not qemu_binary:
- qemu_binary = f'qemu-system-{build_info.target_arch}'
- else:
- qemu_binary = os.path.join(qemu_binary, f'qemu-system-{build_info.target_arch}');
-
- log_info(f"{qemu_binary} {' '.join(qemu_args)}")
- run_command([qemu_binary, *qemu_args])
-
-
-def get_sysctl(name: str) -> str:
- """
- Shell out to sysctl(1)
-
- Returns the value as a string.
- Non-leaf nodes will return the value for each sub-node separated by newline characters.
- """
- status, stdout, stderr = run_command(["sysctl", "-n", name],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
- if status != 0:
- print("`sysctl` failed: ", end="")
- print(stderr.decode())
-
- return stdout.strip().decode()
-
-
-def is_kvm_supported() -> bool:
- """
- Returns True if KVM is supported on this machine
- """
-
- platform = sys.platform
-
- if platform == "darwin":
- # Check for VMX support
- cpu_features = get_sysctl("machdep.cpu.features")
- vmx_support = "VMX" in cpu_features.split(' ')
-
- # Check for HVF support
- hv_support = get_sysctl("kern.hv_support") == "1"
-
- return hv_support and vmx_support
-
- if platform == "linux":
- kvm_path = "/dev/kvm"
-
- # Check if the `/dev/kvm` device exists.
- if not os.path.exists(kvm_path):
- return False
-
- # Read out the cpuinfo from `/proc/cpuinfo`
- fd = open("/proc/cpuinfo")
- cpuinfo = fd.read()
-
- # Parse the cpuinfo
- cpuinfo_array = cpuinfo.split("\n\n")
- processors_info = []
-
- for cpu in cpuinfo_array:
- ret = {}
- for line in cpu.split("\n"):
- try:
- name, value = line.split(":")
-
- name = name.strip()
- value = value.strip()
-
- ret[name] = value
- except ValueError:
- pass
-
- processors_info.append(ret)
-
- for processor in processors_info:
- if processor["processor"] == "0":
- # KVM acceleration can be used
- if "vmx" in processor["flags"]:
- return True
- # KVM acceleration cannot be used
- else:
- return False
-
- fd.close()
-
- # KVM is not available on Windows
- return False
-
-
-def main():
- args = parse_args()
-
- if args.fmt:
- run_command(['cargo', 'fmt'], cwd="src")
- return
-
- t0 = time.time()
- # arch-aero_os
- target_arch = args.target.split('-')[0]
- build_info = BuildInfo(target_arch, args)
-
- if build_info.target_arch == "aarch64" and not args.bios == "uefi":
- log_error("aarch64 requires UEFI (help: run again with `--bios=uefi`)")
- return
-
- if not args.document:
- download_bundled()
-
- if args.only_run:
- iso_path = os.path.join(BUILD_DIR, 'aero.iso')
-
- if not os.path.exists(iso_path):
- user_bins = build_userland(args)
- kernel_bin = build_kernel(args)
-
- if not kernel_bin or args.check:
- return
-
- kernel_bin = kernel_bin[0]
- iso_path = prepare_iso(args, kernel_bin, user_bins)
- run_in_emulator(build_info, iso_path)
- elif args.clean:
- src_target = os.path.join('src', 'target', args.target)
- userland_target = os.path.join('userland', 'target')
-
- if os.path.exists(src_target):
- shutil.rmtree(src_target)
-
- if os.path.exists(userland_target):
- shutil.rmtree(userland_target)
- elif args.sysroot:
- build_userland_sysroot(False)
- elif args.document:
- build_kernel(args)
-
- generate_docs(args)
- else:
- user_bins = build_userland(args)
- kernel_bin = build_kernel(args)
-
- if not kernel_bin or args.check:
- return
-
- if not user_bins:
- user_bins = []
-
- kernel_bin = kernel_bin[0]
- iso_path = prepare_iso(args, kernel_bin, user_bins)
-
- t1 = time.time()
- log_info(f"build completed in {t1 - t0:.2f} seconds")
- if not args.no_run:
- run_in_emulator(build_info, iso_path)
-
-
-if __name__ == '__main__':
- try:
- main()
- except KeyboardInterrupt:
- pass
diff --git a/base-files/.bashrc b/base-files/.bashrc
deleted file mode 100644
index 3c47db12580..00000000000
--- a/base-files/.bashrc
+++ /dev/null
@@ -1,17 +0,0 @@
-PS1='\[\033[01;32m\]root@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '
-
-HISTCONTROL=ignoredups
-HISTSIZE=-1
-HISTFILESIZE=-1
-
-export TERM=xterm-256color
-
-alias ls="ls --color=auto"
-alias clear='printf "\e[2J\e[H"'
-
-export PYTHONHOME="/usr/lib"
-
-# todo: https://github.com/sharkdp/bat/blob/master/src/bin/bat/directories.rs panics if not set?
-export BAT_CONFIG_DIR="/cfg/bat"
-export BAT_CACHE_PATH="/cache/bat"
-export DISPLAY=:0
diff --git a/base-files/a b/base-files/a
deleted file mode 100644
index d9ae7e1d5e3..00000000000
--- a/base-files/a
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/usr/bin/bash
-systrace curl 192.168.1.25:8080
diff --git a/base-files/bin b/base-files/bin
new file mode 120000
index 00000000000..0b11bef6890
--- /dev/null
+++ b/base-files/bin
@@ -0,0 +1 @@
+/usr/bin
\ No newline at end of file
diff --git a/base-files/etc/X11/xinit/xinitrc b/base-files/etc/X11/xinit/xinitrc
new file mode 100644
index 00000000000..0b6b361fd42
--- /dev/null
+++ b/base-files/etc/X11/xinit/xinitrc
@@ -0,0 +1,2 @@
+#!/usr/bin/sh
+jwm &
diff --git a/extra-files/xorg/xorg.conf b/base-files/etc/X11/xorg.conf
similarity index 100%
rename from extra-files/xorg/xorg.conf
rename to base-files/etc/X11/xorg.conf
diff --git a/base-files/etc/bash.bashrc b/base-files/etc/bash.bashrc
new file mode 100644
index 00000000000..a738e73f468
--- /dev/null
+++ b/base-files/etc/bash.bashrc
@@ -0,0 +1,13 @@
+# If not running interactively, don't do anything
+[[ $- != *i* ]] && return
+
+alias ls='ls --color=auto'
+alias grep='grep --color=auto'
+
+PS1='\[\033[01;32m\]root@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '
+
+HISTCONTROL=ignoredups
+HISTSIZE=-1
+HISTFILESIZE=-1
+
+export DISPLAY=:0
diff --git a/base-files/etc/hostname b/base-files/etc/hostname
new file mode 100644
index 00000000000..b6e4a236707
--- /dev/null
+++ b/base-files/etc/hostname
@@ -0,0 +1 @@
+aero
\ No newline at end of file
diff --git a/base-files/etc/profile b/base-files/etc/profile
new file mode 100644
index 00000000000..dcb78173695
--- /dev/null
+++ b/base-files/etc/profile
@@ -0,0 +1,49 @@
+# /etc/profile
+
+# This file was copied from my host Arch Linux installation. Credits to them :)
+
+# Append "$1" to $PATH when not already in.
+# This function API is accessible to scripts in /etc/profile.d
+append_path () {
+ case ":$PATH:" in
+ *:"$1":*)
+ ;;
+ *)
+ PATH="${PATH:+$PATH:}$1"
+ esac
+}
+
+# Append our default paths
+append_path '/usr/local/sbin'
+append_path '/usr/local/bin'
+append_path '/usr/bin'
+
+# Force PATH to be environment
+export PATH
+
+# Load profiles from /etc/profile.d
+if test -d /etc/profile.d/; then
+ for profile in /etc/profile.d/*.sh; do
+ test -r "$profile" && . "$profile"
+ done
+ unset profile
+fi
+
+# Unload our profile API functions
+unset -f append_path
+
+# Source global bash config, when interactive but not posix or sh mode
+if test "$BASH" &&\
+ test "$PS1" &&\
+ test -z "$POSIXLY_CORRECT" &&\
+ test "${0#-}" != sh &&\
+ test -r /etc/bash.bashrc
+then
+ . /etc/bash.bashrc
+fi
+
+# Termcap is outdated, old, and crusty, kill it.
+unset TERMCAP
+
+# Man is much better than us at figuring this out
+unset MANPATH
diff --git a/base-files/etc/resolv.conf b/base-files/etc/resolv.conf
new file mode 100644
index 00000000000..27a94c07e56
--- /dev/null
+++ b/base-files/etc/resolv.conf
@@ -0,0 +1 @@
+nameserver 10.0.2.3
diff --git a/base-files/hello.asm b/base-files/hello.asm
deleted file mode 100644
index e29fca7d979..00000000000
--- a/base-files/hello.asm
+++ /dev/null
@@ -1,20 +0,0 @@
-global _start
-
-section .text
-_start:
- mov rdx, len
- mov rcx, msg
- mov rbx, 1
- mov rax, 1 ; SYS_WRITE
-
- syscall
-
- mov rbx, 0
- mov rax, 5 ; SYS_EXIT
- syscall
-
- ud2 ; unreachable
-
-section .data
-msg db "Hello, world!", 0xa
-len equ $ - msg
\ No newline at end of file
diff --git a/base-files/home/aero/a b/base-files/home/aero/a
new file mode 100644
index 00000000000..6a904dd38ac
--- /dev/null
+++ b/base-files/home/aero/a
@@ -0,0 +1,21 @@
+#!/usr/bin/bash
+
+echo "Running update-mime-database to get the mime database"
+update-mime-database /usr/share/mime/
+
+echo "Running gio-querymodules to generate gio cache"
+gio-querymodules /usr/lib/gio/modules/
+
+echo "Running glib-compile-schemas to get gtk3 working"
+glib-compile-schemas /usr/share/glib-2.0/schemas/
+
+echo "Running gdk-pixbuf-query-loaders to get gtk3 working"
+gdk-pixbuf-query-loaders --update-cache
+
+echo "Running gtk-query-immodules-3.0 to get gtk3 working"
+gtk-query-immodules-3.0 --update-cache
+
+echo "Running gtk-query-immodules-2.0 to get gtk2 working"
+gtk-query-immodules-2.0 --update-cache
+
+/usr/libexec/webkit2gtk-4.0/MiniBrowser
diff --git a/base-files/home/aero/test.c b/base-files/home/aero/test.c
new file mode 100644
index 00000000000..a99e713a844
--- /dev/null
+++ b/base-files/home/aero/test.c
@@ -0,0 +1,6 @@
+#include
+
+int main() {
+ printf("Hello World, from Aero!\n");
+ return 0;
+}
diff --git a/base-files/lib b/base-files/lib
new file mode 120000
index 00000000000..6c1836ebc71
--- /dev/null
+++ b/base-files/lib
@@ -0,0 +1 @@
+/usr/lib
\ No newline at end of file
diff --git a/base-files/lib64 b/base-files/lib64
new file mode 120000
index 00000000000..6c1836ebc71
--- /dev/null
+++ b/base-files/lib64
@@ -0,0 +1 @@
+/usr/lib
\ No newline at end of file
diff --git a/base-files/sbin b/base-files/sbin
new file mode 120000
index 00000000000..0b11bef6890
--- /dev/null
+++ b/base-files/sbin
@@ -0,0 +1 @@
+/usr/bin
\ No newline at end of file
diff --git a/base-files/test.c b/base-files/test.c
deleted file mode 100644
index f0f734d22fe..00000000000
--- a/base-files/test.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include
-
-int main() {
- printf("Hello World, from Aero!\n");
- return 0;
-}
\ No newline at end of file
diff --git a/bootstrap.yml b/bootstrap.yml
deleted file mode 100644
index 4991de639da..00000000000
--- a/bootstrap.yml
+++ /dev/null
@@ -1,2572 +0,0 @@
-imports:
- - file: bootstrap/xorg.yml
- - file: bootstrap/net.yml
- - file: bootstrap/vcs.yml
- - file: bootstrap/db.yml
- - file: bootstrap/editors.yml
-
-general:
- cargo:
- config_toml: 'extra-files/rust/config.toml'
-
-sources:
- - name: binutils
- subdir: 'bundled'
- git: 'git://sourceware.org/git/binutils-gdb.git'
- tag: 'binutils-2_37'
- version: '2.37'
- patch-path-strip: 1
-
- - name: gcc
- subdir: 'bundled'
- git: 'git://gcc.gnu.org/git/gcc.git'
- tag: 'releases/gcc-13.2.0'
- patch-path-strip: 1
- version: '13.2.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- regenerate:
- # download_prerequisites should probably move to some "post_checkout" step.
- - args: ['./contrib/download_prerequisites']
- workdir: '@THIS_SOURCE_DIR@'
- - args: ['autoconf']
- workdir: '@THIS_SOURCE_DIR@/gcc'
- - args: ['autoconf']
- workdir: '@THIS_SOURCE_DIR@/libstdc++-v3'
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/gmp-6.2.1/configfsf.sub']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/isl-0.24/config.sub']
- - args: ['cp', '-f',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/mpc-1.2.1/config.sub']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/mpfr-4.1.0/config.sub']
-
- - name: mlibc
- subdir: 'bundled'
- git: 'https://github.com/aero-os/mlibc'
- branch: 'master'
-
- - name: tzcode
- subdir: 'bundled'
- url: 'https://data.iana.org/time-zones/releases/tzcode2022a.tar.gz'
- format: 'tar.gz'
- version: '2022a'
-
- - name: tzdata
- subdir: 'bundled'
- sources_required: ['tzcode']
- url: 'https://data.iana.org/time-zones/releases/tzdata2022a.tar.gz'
- format: 'tar.gz'
- version: '2022a'
- regenerate:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/../tzcode/.', '@THIS_SOURCE_DIR@/']
-
- - name: rust
- subdir: 'bundled'
- git: 'https://github.com/rust-lang/rust.git'
- branch: 'master'
- commit: '0416b1a6f6d5c42696494e1a3a33580fd3f669d8'
-
- - name: llvm
- subdir: 'bundled'
- git: 'https://github.com/llvm/llvm-project.git'
- tag: 'llvmorg-14.0.1'
- version: '14.0.1'
-
- - name: glib
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/glib.git'
- tag: '2.74.7'
- version: '2.74.7'
-
- # ---------------------------------------------------------------------------
- # Rust patched crates start
- # ---------------------------------------------------------------------------
- - name: rust-libc
- subdir: 'bundled'
- git: 'https://github.com/Andy-Python-Programmer/libc.git'
- branch: 'master'
-
- - name: rust-num-cpus
- subdir: 'bundled'
- git: 'https://github.com/seanmonstar/num_cpus.git'
- tag: 'v1.13.0'
- version: '1.13.0'
-
- - name: rust-users
- subdir: 'bundled'
- git: 'https://github.com/ogham/rust-users.git'
- tag: 'v0.11.0'
- version: '0.11.0'
-
- - name: rust-winit
- subdir: 'bundled'
- git: 'https://github.com/rust-windowing/winit.git'
- tag: 'v0.26.1'
- version: '0.26.1'
-
- - name: rust-mio-0.8
- subdir: 'bundled'
- git: 'https://github.com/tokio-rs/mio.git'
- tag: 'v0.8.3'
- version: '0.8.3'
-
- - name: rust-nix
- subdir: 'bundled'
- git: 'https://github.com/nix-rust/nix.git'
- tag: 'v0.22.3'
- version: '0.22.3'
-
- - name: rust-mio-0.6
- subdir: 'bundled'
- git: 'https://github.com/tokio-rs/mio.git'
- tag: 'v0.6.23'
- version: '0.6.23'
-
- - name: rust-glutin
- subdir: 'bundled'
- git: 'https://github.com/rust-windowing/glutin.git'
- tag: 'v0.28.0'
- version: '0.28.0'
-
- - name: rust-shared-library
- subdir: 'bundled'
- git: 'https://github.com/tomaka/shared_library.git'
- commit: 'f09e038246a559650c8505b3b3831b820d1a5689'
- branch: 'master'
- version: '0.1.9'
-
- - name: rust-libloading
- subdir: 'bundled'
- git: 'https://github.com/nagisa/rust_libloading.git'
- tag: '0.7.3'
- version: '0.7.3'
-
- - name: rust-patched-libs
- subdir: 'bundled'
- sources_required:
- - name: rust-libc
- recursive: true
- - name: rust-num-cpus
- recursive: true
- - name: rust-users
- recursive: true
- - name: rust-winit
- recursive: true
- - name: rust-shared-library
- recursive: true
- - name: rust-mio-0.8
- recursive: true
- - name: rust-mio-0.6
- recursive: true
- - name: rust-nix
- recursive: true
- - name: rust-glutin
- recursive: true
- - name: rust-libloading
- recursive: true
- # ---------------------------------------------------------------------------
- # Rust patched crates end
- # ---------------------------------------------------------------------------
-
- - name: python
- subdir: 'bundled'
- patch-path-strip: 1
- git: 'https://github.com/python/cpython.git'
- tag: 'v3.8.2'
- version: '3.8.2'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- regenerate:
- - args: ['autoreconf', '-f', '-i']
-
- - name: 'pkg-config'
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/pkg-config/pkg-config.git'
- tag: 'pkg-config-0.29.2'
- version: '0.29.2'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
-
- # - name: wayland
- # subdir: 'bundled'
- # git: 'https://github.com/wayland-project/wayland.git'
- # tag: '1.20.0'
- # version: '1.20.0'
-
- - name: libxtrans
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxtrans.git'
- tag: 'xtrans-1.4.0'
- version: '1.4.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
-
- - name: icu
- subdir: 'bundled'
- git: 'https://github.com/unicode-org/icu.git'
- tag: 'release-70-1'
- version: '70.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.15/share/automake-1.15/config.sub',
- '@THIS_SOURCE_DIR@/icu4c/source']
-
-tools:
- - name: host-glib
- exports_aclocal: true
- from_source: glib
- configure:
- - args:
- - 'meson'
- - '--prefix=@PREFIX@'
- - '--libdir=lib'
- - '@THIS_SOURCE_DIR@'
- compile:
- - args: ['ninja']
- install:
- - args: ['ninja', 'install']
-
- - name: host-cmake
- source:
- subdir: 'bundled'
- git: 'https://gitlab.kitware.com/cmake/cmake.git'
- tag: 'v3.24.2'
- version: '3.24.2'
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/bootstrap'
- - '--prefix=@PREFIX@'
- - '--parallel=@PARALLELISM@'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install']
- - args: ['ln', '-sf', '@SOURCE_ROOT@/userland/aero.cmake', '@PREFIX@/share/cmake-3.24/Modules/Platform/']
-
- # We could run an external pkg-config; however, we need the aclocal files.
- # The easiest way to ensure that they are available is to just install pkg-config.
- - name: host-pkg-config
- exports_aclocal: true
- from_source: pkg-config
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- - '--with-internal-glib'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install']
-
- - name: host-autoconf-v2.69
- source:
- name: autoconf-v2.69
- subdir: 'bundled'
- url: 'https://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.xz'
- format: 'tar.xz'
- extract_path: 'autoconf-2.69'
- patch-path-strip: 3
- version: '2.69'
- configure:
- - args: ['@THIS_SOURCE_DIR@/configure', '--prefix=@PREFIX@']
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install']
-
- - name: host-automake-v1.16
- source:
- name: automake-v1.16
- subdir: 'bundled'
- git: 'https://github.com/autotools-mirror/automake'
- tag: 'v1.16.5'
- version: '1.16.5'
- tools_required:
- - host-autoconf-v2.69
- regenerate:
- - args: ['./bootstrap']
- tools_required:
- - host-autoconf-v2.69
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- compile:
- - args: |
- set -e
- export PATH="`pwd`/bin:$PATH"
- make bin/aclocal-1.16 bin/automake-1.16 -j@PARALLELISM@
- make -j@PARALLELISM@
- install:
- - args: ['make', 'install-strip']
- - args: ['ln', '-sf', '@PREFIX@/share/aclocal-1.16', '@PREFIX@/share/aclocal']
-
- - name: host-autoconf-archive
- exports_aclocal: true
- source:
- subdir: 'bundled'
- git: 'https://github.com/autoconf-archive/autoconf-archive.git'
- tag: 'v2019.01.06'
- version: '2019.01.06'
- install:
- - args: ['mkdir', '-p', '@BUILD_ROOT@/tools/host-autoconf-archive/share/']
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/m4', '@BUILD_ROOT@/tools/host-autoconf-archive/share/aclocal']
-
- - name: host-rust
- from_source: rust
- tools_required:
- - host-llvm
- sources_required:
- - rust-patched-libs
- compile:
- - args: |
- cat << EOF > config.toml
- changelog-seen = 2
-
- [llvm]
- download-ci-llvm = false
- targets = "X86"
-
- [build]
- target = ["x86_64-unknown-aero-system", "x86_64-unknown-linux-gnu"]
- build-dir = "@THIS_BUILD_DIR@"
- docs = false
-
- [install]
- prefix = "@PREFIX@"
-
- [rust]
- codegen-tests = false
- deny-warnings = false # work around rust-num-cpus warning
-
- [target.x86_64-unknown-linux-gnu]
- llvm-config = "@BUILD_ROOT@/tools/host-llvm/bin/llvm-config"
-
- [target.x86_64-unknown-aero-system]
- llvm-config = "@BUILD_ROOT@/tools/host-llvm/bin/llvm-config"
- EOF
- - args: ['python3', '@THIS_SOURCE_DIR@/x.py', 'build', '--stage', '2', '-j', '@PARALLELISM@']
- install:
- - args: ['python3', '@THIS_SOURCE_DIR@/x.py', 'install', '-j', '@PARALLELISM@']
-
- # - name: host-cargo
- # source:
- # subdir: 'bundled'
- # git: 'https://github.com/rust-lang/cargo.git'
- # tag: '0.61.0'
- # version: '0.61.0'
- # tools_required:
- # - tool: host-rust
- # recursive: true
- # - tool: host-gcc # GCC is used for linking
- # recursive: true
- # sources_required:
- # # This cargo runs on the host, so we don't actually need any patches here. We just
- # # add the sources used by cargo so that the dependency resolver doesn't complain.
- # - rust-patched-libs
- # - host-bootstrap-cargo
- # compile:
- # - args:
- # - 'cargo'
- # - 'install'
- # - '--target'
- # - 'x86_64-unknown-linux-gnu'
- # - '--target-dir'
- # - '@THIS_BUILD_DIR@'
- # - '--path'
- # - '@THIS_SOURCE_DIR@'
- # - '-j@PARALLELISM@'
- # - '--root'
- # - '@PREFIX@'
-
- - name: host-python
- from_source: python
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install']
-
- - name: host-icu
- from_source: icu
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/icu4c/source/configure'
- - '--prefix=@PREFIX@'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install']
-
- - name: host-binutils
- from_source: binutils
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- - '--target=x86_64-aero'
- - '--with-sysroot=@SYSROOT_DIR@'
- # On recent compilers, binutils 2.26 causes implicit-fallthrough warnings, among others.
- - '--disable-werror'
- - '--enable-targets=x86_64-elf,x86_64-pe'
- # -g blows up the binary size.
- - 'CFLAGS=-pipe'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install']
-
- - name: host-gcc
- from_source: gcc
- tools_required:
- - tool: host-binutils
- recursive: true
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- - '--target=x86_64-aero'
- - '--with-sysroot=@SYSROOT_DIR@'
- - '--enable-languages=c,c++'
- - '--disable-multilib'
- - '--enable-initfini-array'
- # -g blows up GCC's binary size.
- - 'CFLAGS=-O2 -pipe'
- - 'CXXFLAGS=-O2 -pipe'
- stages:
- - name: compiler
- pkgs_required:
- - mlibc-headers
- compile:
- - args: ['make', '-j@PARALLELISM@', 'all-gcc']
- install:
- - args: ['make', 'install-gcc']
- # GCC does *not* look for target-prefixed LD/AS.
- # Instead, it searches a list of prefix directories. Link AS/LD to make it happy.
- - args: ['mkdir', '-p', '@PREFIX@/x86_64-aero/bin']
- - args: ['ln', '-sf', '../../../host-binutils/x86_64-aero/bin/as',
- '@PREFIX@/x86_64-aero/bin/as']
- - args: ['ln', '-sf', '../../../host-binutils/x86_64-aero/bin/ld',
- '@PREFIX@/x86_64-aero/bin/ld']
- - name: libgcc
- tools_required:
- - tool: host-gcc
- stage_dependencies: [compiler]
- pkgs_required:
- - mlibc
- compile:
- - args: ['make', '-j@PARALLELISM@', 'all-target-libgcc']
- install:
- - args: ['make', 'install-strip-target-libgcc']
-
- - name: libstdc++
- tools_required:
- - tool: host-gcc
- stage_dependencies: [libgcc]
- compile:
- - args: ['make', '-j@PARALLELISM@', 'all-target-libstdc++-v3']
- install:
- - args: ['make', 'install-strip-target-libstdc++-v3']
-
- - name: bootstrap-host-gcc
- from_source: gcc
- tools_required:
- - tool: host-binutils
- recursive: true
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- - '--target=x86_64-aero'
- - '--with-sysroot=@SYSROOT_DIR@'
- - '--enable-languages=c,c++'
- - '--disable-multilib'
- - '--disable-shared'
- - '--enable-initfini-array'
- # -g blows up GCC's binary size.
- - 'CFLAGS=-O2'
- - 'CXXFLAGS=-O2'
- stages:
- - name: compiler
- pkgs_required:
- - mlibc-headers
- compile:
- # GCC complains if the include directory is non-existant.
- - args: ['mkdir', '-p', '@SYSROOT_DIR@/usr/include']
- - args: ['make', '-j@PARALLELISM@', 'inhibit_libc=true', 'all-gcc']
- install:
- - args: ['make', 'install-gcc']
- # GCC does *not* look for target-prefixed LD/AS.
- # Instead, it searches a list of prefix directories. Link AS/LD to make it happy.
- - args: ['mkdir', '-p', '@PREFIX@/x86_64-aero/bin']
- - args: ['ln', '-sf', '../../../cross-binutils/x86_64-aero/bin/as',
- '@PREFIX@/x86_64-aero/bin/as']
- - args: ['ln', '-sf', '../../../cross-binutils/x86_64-aero/bin/ld',
- '@PREFIX@/x86_64-aero/bin/ld']
-
- - name: libgcc
- tools_required:
- - tool: bootstrap-host-gcc
- stage_dependencies: [compiler]
- compile:
- - args: ['make', '-j@PARALLELISM@', 'inhibit_libc=true', 'all-target-libgcc']
- install:
- - args: ['make', 'install-target-libgcc']
-
- - name: host-llvm
- from_source: llvm
- sources_required:
- - binutils
- configure:
- - args:
- - 'cmake'
- - '-GNinja'
- - '-DCMAKE_INSTALL_PREFIX=@PREFIX@'
- # LLVM configuration options.
- # We really have to build LLVM in Release mode.
- # Building it in debug mode produces tens of GiB of debugging info.
- - '-DCMAKE_BUILD_TYPE=Release'
- - '-DLLVM_TARGETS_TO_BUILD=X86'
- - '-DLLVM_ENABLE_PROJECTS=llvm'
- - '-DLLVM_ENABLE_Z3_SOLVER=OFF'
- # clang configuration options.
- - '-DDEFAULT_SYSROOT=@SYSROOT_DIR@'
- # Gold linker configuration options.
- - '-DLLVM_BINUTILS_INCDIR=@SOURCE_ROOT@/bundled/binutils/include'
- - '@THIS_SOURCE_DIR@/llvm'
- compile:
- - args: ['ninja', '-j@PARALLELISM@']
- # Build on a single CPU to prevent OOM on smaller systems.
- #- args: ['ninja', '-j1']
- install:
- - args: ['ninja', 'install', '-j@PARALLELISM@']
- # quiet: true
-
- - name: host-libtool
- exports_aclocal: true
- source:
- name: libtool
- subdir: 'bundled'
- git: 'https://git.savannah.gnu.org/git/libtool.git'
- tag: 'v2.4.6'
- version: '2.4.6'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- regenerate:
- # libtool's ./bootstrap does a shallow clone with insufficient depth.
- - args: ['git', 'submodule', 'update', '--init']
- - args: ['./bootstrap']
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install']
-
- # - name: wayland-scanner
- # from_source: wayland
- # tools_required:
- # - virtual: pkgconfig-for-host
- # program_name: host-pkg-config
- # configure:
- # - args:
- # - 'meson'
- # - '--native-file'
- # - '@SOURCE_ROOT@/userland/native-file.ini'
- # - '--prefix=@PREFIX@'
- # - '-Ddtd_validation=false'
- # - '-Ddocumentation=false'
- # - '-Dscanner=true'
- # - '-Dlibraries=false'
- # - '@THIS_SOURCE_DIR@'
- # compile:
- # - args: ['ninja']
- # install:
- # - args: ['ninja', 'install']
-
-packages:
- - name: llvm
- from_source: llvm
- tools_required:
- - host-cmake
- - host-gcc
- pkgs_required:
- - mlibc
- - zlib
- configure:
- - args:
- - 'cmake'
- - '-GNinja'
- - '-DCMAKE_TOOLCHAIN_FILE=@SOURCE_ROOT@/userland/CMakeToolchain-x86_64.cmake'
- - '-DCMAKE_INSTALL_PREFIX=/usr'
- # We really have to build LLVM in Release mode.
- # Building it in debug mode produces tens of GiB of debugging info.
- - '-DCMAKE_BUILD_TYPE=Release'
- - '-DLLVM_LINK_LLVM_DYLIB=ON'
- # RTTI affects the ABI. Hence, we enable it.
- - '-DLLVM_ENABLE_RTTI=ON'
- - '-DLLVM_TARGETS_TO_BUILD=X86'
- - '-DLLVM_TARGET_ARCH=X86_64'
- - '-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-aero'
- - '-DLLVM_HOST_TRIPLE=x86_64-aero'
- # Disable linking against ncurses, which we do not build with -fPIC.
- - '-DLLVM_ENABLE_TERMINFO=OFF'
- # Suppress developer warnings
- - '-Wno-dev'
- - '@THIS_SOURCE_DIR@/llvm'
- build:
- - args: ['ninja', '-j@PARALLELISM@']
- - args: ['ninja', 'install/strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: alacritty
- source:
- subdir: 'bundled'
- git: 'https://github.com/alacritty/alacritty'
- tag: 'v0.10.1'
- version: '0.10.1'
- tools_required:
- - host-rust
- - host-gcc
- sources_required:
- - rust-patched-libs
- pkgs_required:
- - mlibc
- - fontconfig
- - freetype
- - libx11
- configure:
- - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', '@THIS_SOURCE_DIR@/Cargo.toml']
- build:
- - args: ['install', '-D', '@THIS_SOURCE_DIR@/alacritty.yml', '@THIS_COLLECT_DIR@/root/.alacritty.yml']
- - args:
- - 'cargo'
- - 'install'
- - '--no-default-features'
- - '--features'
- - 'x11'
- - '--locked'
- - '--target-dir'
- - '@THIS_BUILD_DIR@'
- - '--path'
- - '@THIS_SOURCE_DIR@/alacritty'
- - '--root'
- - '@THIS_COLLECT_DIR@/usr'
- - '-j@PARALLELISM@'
- environ:
- RUSTFLAGS: '-Cforce-frame-pointers=yes -Clink-args=-no-pie'
-
- - name: neofetch
- source:
- subdir: bundled
- git: 'https://github.com/Andy-Python-Programmer/neofetch'
- branch: 'master'
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- build:
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # - name: ripgrep
- # source:
- # subdir: bundled
- # git: 'https://github.com/BurntSushi/ripgrep.git'
- # tag: '12.1.1'
- # version: '12.1.1'
- # tools_required:
- # - host-cargo
- # sources_required:
- # - rust-patched-libs
- # pkgs_required:
- # - mlibc
- # configure:
- # - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- # # cc: https://github.com/rust-lang/cargo/issues/10283
- # # - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', '@THIS_SOURCE_DIR@/Cargo.toml']
- # build:
- # - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', './Cargo.toml']
- # - args:
- # - 'cargo'
- # - 'install'
- # - '--locked'
- # - '--path'
- # - '.'
- # - '--root'
- # - '@THIS_COLLECT_DIR@/usr'
- # - '-j@PARALLELISM@'
-
- # - name: hex
- # source:
- # subdir: bundled
- # git: 'https://github.com/sitkevij/hex'
- # tag: 'v0.4.2'
- # version: '0.4.2'
- # tools_required:
- # - host-cargo
- # sources_required:
- # - rust-patched-libs
- # pkgs_required:
- # - mlibc
- # configure:
- # # cc: https://github.com/rust-lang/cargo/issues/10283
- # # - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', '@THIS_SOURCE_DIR@/Cargo.toml']
- # - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- # build:
- # - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', './Cargo.toml']
- # - args:
- # - 'cargo'
- # - 'install'
- # - '--locked'
- # - '--path'
- # - '.'
- # - '--root'
- # - '@THIS_COLLECT_DIR@/usr'
- # - '-j@PARALLELISM@'
-
- # - name: bat
- # source:
- # subdir: 'bundled'
- # git: 'https://github.com/sharkdp/bat'
- # tag: 'v0.23.0'
- # version: '0.23.0'
- # tools_required:
- # - host-rust
- # - host-gcc
- # sources_required:
- # - rust-patched-libs
- # pkgs_required:
- # - mlibc
- # configure:
- # - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', '@THIS_SOURCE_DIR@/Cargo.toml']
- # build:
- # - args:
- # - 'cargo'
- # - 'install'
- # - '--locked'
- # - '--root'
- # - '@THIS_COLLECT_DIR@/usr'
- # - '-j@PARALLELISM@'
- # - '--target-dir'
- # - '@THIS_BUILD_DIR@'
- # - '--path'
- # - '@THIS_SOURCE_DIR@'
-
- - name: quickjs
- source:
- subdir: bundled
- git: 'https://github.com/bellard/quickjs'
- branch: master
- commit: 'b5e62895c619d4ffc75c9d822c8d85f1ece77e5b'
- tools_required:
- - host-gcc
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- build:
- - args: ['make', '-j@PARALLELISM@', 'CROSS_PREFIX=x86_64-aero-']
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr/bin']
- - args: ['cp', '@THIS_BUILD_DIR@/qjs', '@THIS_COLLECT_DIR@/usr/bin/qjs']
-
- # - name: sd
- # source:
- # subdir: bundled
- # git: 'https://github.com/chmln/sd'
- # tag: 'v0.7.6'
- # version: '0.7.6'
- # tools_required:
- # - host-cargo
- # sources_required:
- # - rust-patched-libs
- # pkgs_required:
- # - mlibc
- # configure:
- # - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- # # cc: https://github.com/rust-lang/cargo/issues/10283
- # # - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', '@THIS_SOURCE_DIR@/Cargo.toml']
- # build:
- # - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', './Cargo.toml']
- # - args:
- # - 'cargo'
- # - 'install'
- # - '--locked'
- # - '--path'
- # - '.'
- # - '--root'
- # - '@THIS_COLLECT_DIR@/usr'
- # - '-j@PARALLELISM@'
-
- # - name: llvm
- # from_source: llvm
- # tools_required:
- # - host-gcc
- # - host-cmake
- # pkgs_required:
- # - mlibc
- # - zlib
- # revision: 3
- # configure:
- # - args:
- # - 'cmake'
- # - '-GNinja'
- # - '-DCMAKE_TOOLCHAIN_FILE=@SOURCE_ROOT@/userland/CMakeToolchain-x86_64.txt'
- # - '-DCMAKE_INSTALL_PREFIX=/usr'
- # # We really have to build LLVM in Release mode.
- # # Building it in debug mode produces tens of GiB of debugging info.
- # - '-DCMAKE_BUILD_TYPE=Release'
- # - '-DLLVM_LINK_LLVM_DYLIB=ON'
- # # RTTI affects the ABI. Hence, we enable it.
- # - '-DLLVM_ENABLE_RTTI=ON'
- # - '-DLLVM_TARGETS_TO_BUILD=X86'
- # - '-DLLVM_TARGET_ARCH=X86_64'
- # - '-DLLVM_DEFAULT_TARGET_TRIPLE=x86_64-aero'
- # - '-DLLVM_HOST_TRIPLE=x86_64-aero'
- # # Disable linking against ncurses, which we do not build with -fPIC.
- # - '-DLLVM_ENABLE_TERMINFO=OFF'
- # # Suppress developer warnings
- # - '-Wno-dev'
- # - '@THIS_SOURCE_DIR@/llvm'
- # build:
- # - args: ['ninja']
- # - args: ['ninja', 'install']
- # environ:
- # DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: linux-headers
- source:
- subdir: 'bundled'
- url: 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.8.tar.xz'
- checksum: 'blake2b:1eeab95bf09757131031ebeaa3fb66f01626ecfe3b72d0044176613d027ac6643c688a0bb8f4493ae6faa3d3bf0c89fcdff3c28d7b8375e59ed6e8bd6d856e44'
- extract_path: 'linux-6.1.8'
- format: 'tar.xz'
- version: '6.1.8'
- implict_package: true
- configure:
- - args: ['cp', '-Tr', '@THIS_SOURCE_DIR@', '.']
- build:
- - args: ['make', 'ARCH=x86_64', 'headers_install']
- - args: ['find', 'usr/include', '-type', 'f', '!', '-name', '*.h', '-delete']
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr']
- # remove this file, as mlibc will override this file with one suited to mlibc
- - args: ['rm', 'usr/include/linux/libc-compat.h']
- - args: ['cp', '-r', 'usr/include', '@THIS_COLLECT_DIR@/usr']
-
- - name: mlibc-headers
- from_source: mlibc
- implict_package: true
- pkgs_required:
- - linux-headers
- configure:
- - args:
- - 'meson'
- - 'setup'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '-Dheaders_only=true'
- - '-Ddisable_iconv_option=true'
- - '--buildtype=release'
- - '-Dlinux_kernel_headers=@BUILD_ROOT@/packages/linux-headers/usr/include'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: mlibc
- from_source: mlibc
- tools_required:
- - bootstrap-host-gcc
- implict_package: true
- pkgs_required:
- - mlibc-headers
- - linux-headers
- configure:
- - args:
- - 'meson'
- - 'setup'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--libdir=lib'
- - '-Dmlibc_no_headers=true'
- - '-Ddisable_iconv_option=true'
- - '--buildtype=release'
- - '-Dlinux_kernel_headers=@BUILD_ROOT@/packages/linux-headers/usr/include'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libdrm
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/mesa/drm'
- tag: 'libdrm-2.4.110'
- version: '2.4.110'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--libdir=lib'
- - '--buildtype=debugoptimized'
- - '-Dintel=false'
- - '-Dvmwgfx=false'
- - '-Dradeon=false'
- - '-Damdgpu=false'
- - '-Dnouveau=false'
- - '-Dman-pages=false'
- # We might want to build cairo with OpenGL support.
- # Doing so would introduce a circular dependency here.
- - '-Dcairo-tests=false'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: drm_test
- source:
- subdir: 'bundled'
- # copied from https://github.com/dvdhrm/docs/tree/master/drm-howto
- #
- # changes: compile to the aero target instead of the linux one.
- git: 'https://github.com/aero-os/drm_test'
- branch: 'master'
- tools_required:
- - host-gcc
- pkgs_required:
- - libdrm
- - mlibc
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- build:
- - args: ['make']
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr/bin']
- - args: ['mv', 'drm', '@THIS_COLLECT_DIR@/usr/bin']
-
- - name: nyancat
- source:
- subdir: 'bundled'
- git: 'https://github.com/klange/nyancat.git'
- tag: '1.5.2'
- version: '1.5.2'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- build:
- - args: ['make', '-j@PARALLELISM@']
- environ:
- CC: "x86_64-aero-gcc"
- - args: ['mkdir', '-pv', '@THIS_COLLECT_DIR@/usr/bin']
- - args: ['mkdir', '-pv', '@THIS_COLLECT_DIR@/usr/share/man/man1']
- - args: ['cp', '-v', '@THIS_BUILD_DIR@/src/nyancat', '@THIS_COLLECT_DIR@/usr/bin']
- - args: ['cp', '-v', '@THIS_BUILD_DIR@/nyancat.1', '@THIS_COLLECT_DIR@/usr/share/man/man1']
-
- - name: coreutils
- source:
- subdir: 'bundled'
- url: 'https://ftp.gnu.org/gnu/coreutils/coreutils-8.32.tar.xz'
- format: 'tar.xz'
- extract_path: 'coreutils-8.32'
- patch-path-strip: 3
- tools_required:
- - host-gcc
- configure:
- # Huge hack: coreutils does not compile the build-machine binary make-prime-list
- # using the build-machine compiler. Hence, build and invoke the binary manually here.
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - args: ['make', 'src/make-prime-list']
- - args: |
- ./src/make-prime-list 5000 > @THIS_SOURCE_DIR@/src/primes.h
- - args: ['make', 'clean']
- # No compile coreutils for the correct target.
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - 'CFLAGS=-DSLOW_BUT_NO_HACKS -Wno-error'
- - '--enable-install-program=hostname'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: tzdata
- from_source: tzdata
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@/']
- build:
- # Build and install support programs
- - args: ['make', 'CC=x86_64-aero-gcc', 'AR=x86_64-aero-ar']
- - args: ['make', 'install', 'DESTDIR=@THIS_COLLECT_DIR@', 'ZIC=zic']
- # Create the required directories
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/etc']
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr/share/zoneinfo/posix']
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr/share/zoneinfo/right']
- # Create the time zone files without leap seconds, convention puts these in both zoneinfo and zoneinfo/posix.
- # After that. create time time zone files with leap seconds
- - args: |
- set -e
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/etcetera
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/etcetera
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/etcetera
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/southamerica
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/southamerica
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/southamerica
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/northamerica
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/northamerica
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/northamerica
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/europe
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/europe
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/europe
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/africa
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/africa
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/africa
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/antarctica
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/antarctica
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/antarctica
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/asia
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/asia
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/asia
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/australasia
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/australasia
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/australasia
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo "@THIS_BUILD_DIR@"/backward
- zic -L /dev/null -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/posix "@THIS_BUILD_DIR@"/backward
- zic -L "@THIS_SOURCE_DIR@"/leapseconds -d "@THIS_COLLECT_DIR@"/usr/share/zoneinfo/right "@THIS_BUILD_DIR@"/backward
- # Create the posixrules file, POSIX requires daylight saving rules to be in accordance with US rules, thus use New York
- - args: ['zic', '-d', '@THIS_COLLECT_DIR@/usr/share/zoneinfo', '-p', 'America/New_York']
- # Default to UTC for localtime, this should be fixed, but that is pending xbstrap support.
- - args: ['ln', '-sf', '/usr/share/zoneinfo/UTC', '@THIS_COLLECT_DIR@/etc/localtime']
-
- - name: ncurses
- source:
- subdir: 'bundled'
- git: 'https://github.com/ThomasDickey/ncurses-snapshots.git'
- tag: 'v6_2'
- version: '6.2'
- tools_required:
- - host-gcc
- - host-pkg-config
- pkgs_required:
- - mlibc
- revision: 4
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--without-ada'
- - '--enable-pc-files'
- - '--with-shared'
- - '--without-normal'
- - '--with-manpage-format=normal'
- - '--with-pkg-config-libdir=/usr/lib/pkgconfig'
- - '--with-termlib'
- - '--enable-widec'
- - '--disable-stripping'
- environ:
- cf_cv_func_nanosleep: 'yes'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'DESTDIR=@THIS_COLLECT_DIR@', 'install']
- # As we build ncurses with wide character support, make some compatibility links
- - args: |
- for lib in ncurses form panel menu tinfo ; do
- rm -vf @THIS_COLLECT_DIR@/usr/lib/lib${lib}.so
- echo "INPUT(-l${lib}w)" > @THIS_COLLECT_DIR@/usr/lib/lib${lib}.so
- ln -sfv ${lib}w.pc @THIS_COLLECT_DIR@/usr/lib/pkgconfig/${lib}.pc
- done
- rm -vf @THIS_COLLECT_DIR@/usr/lib/libcursesw.so
- echo "INPUT(-lncursesw)" > @THIS_COLLECT_DIR@/usr/lib/libcursesw.so
- ln -sfv libncurses.so @THIS_COLLECT_DIR@/usr/lib/libcurses.so
-
- - name: gcc
- from_source: gcc
- revision: 2
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - binutils
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--target=x86_64-aero'
- - '--with-sysroot=/'
- - '--with-build-sysroot=@SYSROOT_DIR@'
- - '--enable-languages=c,c++'
- - '--enable-initfini-array'
- - '--disable-multilib'
- - '--disable-nls'
- # -g blows up GCC's binary size.
- - 'CFLAGS=-O2 -pipe'
- - 'CXXFLAGS=-O2 -pipe'
- build:
- - args: ['make', '-j@PARALLELISM@', 'all-gcc', 'all-target-libgcc']
- - args: ['make', 'install-strip-gcc', 'install-strip-target-libgcc']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- - args: ['sh', '-c', 'cp -rv @BUILD_ROOT@/tools/host-gcc/x86_64-aero/lib/* @THIS_COLLECT_DIR@/usr/lib/']
- - args: ['sh', '-c', 'cp -rv @BUILD_ROOT@/tools/host-gcc/x86_64-aero/include/* @THIS_COLLECT_DIR@/usr/include/']
- - args: ['ln', '-s', '/usr/bin/gcc', '@THIS_COLLECT_DIR@/usr/bin/cc']
-
- - name: binutils
- from_source: binutils
- tools_required:
- - host-gcc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--target=x86_64-aero'
- - '--with-sysroot=/'
- - '--disable-nls'
- # On recent compilers, binutils 2.26 causes implicit-fallthrough warnings, among others.
- - '--disable-werror'
- - '--disable-gdb'
- # -g blows up the binary size.
- - 'CFLAGS=-pipe'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: bash
- source:
- git: 'https://github.com/bminor/bash'
- # Checkout bash 5.1
- branch: 'master'
- commit: '9439ce094c9aa7557a9d53ac7b412a23aa66e36b'
- version: '5.1.16'
- subdir: 'bundled'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--without-bash-malloc'
- - '--disable-nls'
- environ:
- ac_cv_func_wcswidth: 'no'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'DESTDIR=@THIS_COLLECT_DIR@', 'install']
- - args: ['ln', '-sf', '/usr/bin/bash', '@THIS_COLLECT_DIR@/usr/bin/sh']
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/bin']
- - args: ['ln', '-sf', '/usr/bin/bash', '@THIS_COLLECT_DIR@/bin/sh']
-
- - name: tcc
- source:
- subdir: 'bundled'
- git: 'https://github.com/aero-os/tcc'
- branch: master
- patch-path-strip: 3
- tools_required:
- - host-gcc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--tccdir=/usr/lib/tcc'
- - '--elfinterp=/usr/lib/ld.so'
- - '--libpaths=/usr/lib'
- - '--sysincludepaths=/usr/lib/tcc/include:/usr/include'
- - '--cross-prefix=x86_64-aero-'
- - '--cc=gcc'
- - '--ar=ar'
- - '--with-selinux'
- - '--strip-binaries'
- - '--prefix=/usr'
- build:
- - args: ['make']
- - args: ['make', 'DESTDIR=@THIS_COLLECT_DIR@', 'install-strip']
-
- - name: nasm
- source:
- subdir: 'bundled'
- url: 'http://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.xz'
- format: 'tar.xz'
- extract_path: 'nasm-2.14.02'
- version: '2.14.02'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - 'CFLAGS=-g -O0'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: python
- from_source: python
- tools_required:
- - host-gcc
- - host-python
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--build=x86_64-linux-gnu'
- - '--prefix=/usr'
- - '--enable-shared'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--with-system-ffi'
- - '--with-system-expat'
- - '--disable-ipv6'
- - '--without-ensurepip'
- environ:
- CONFIG_SITE: '@SOURCE_ROOT@/extra-files/python/python-config-site'
- PKG_CONFIG_SYSROOT_DIR: '@BUILD_ROOT@/system-root'
- PKG_CONFIG_LIBDIR: '@BUILD_ROOT@/system-root/usr/lib/pkgconfig:@BUILD_ROOT@/system-root/usr/share/pkgconfig'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: doomgeneric
- source:
- subdir: 'bundled'
- git: 'https://github.com/ozkl/doomgeneric.git'
- branch: 'master'
- commit: '2d9b24f07c78c36becf41d89db30fa99863463e5'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- build:
- - args: ['make', '-C', '@THIS_SOURCE_DIR@/doomgeneric', '-f', 'Makefile', '-j@PARALLELISM@', 'CC=x86_64-aero-gcc']
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr/bin']
- - args: ['cp', '@THIS_SOURCE_DIR@/doomgeneric/doomgeneric', '@THIS_COLLECT_DIR@/usr/bin/doomgeneric']
-
- - name: lua
- source:
- subdir: bundled
- url: 'https://www.lua.org/ftp/lua-5.3.5.tar.gz'
- format: 'tar.gz'
- extract_path: 'lua-5.3.5'
- version: '5.3.5'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- - args:
- - 'sed'
- - '-i'
- - 's|^#define LUA_ROOT "/usr/local/"$|#define LUA_ROOT "/usr/"|'
- - 'src/luaconf.h'
- build:
- - args:
- - 'make'
- - 'generic'
- - 'CC=x86_64-aero-gcc'
- - 'AR=x86_64-aero-ar rcu'
- - 'RANLIB=x86_64-aero-ranlib'
- - '-j@PARALLELISM@'
- - args: ['make', 'install', 'INSTALL_TOP=@THIS_COLLECT_DIR@/usr']
-
- # -------------------- wayland --------------------
- # - name: wayland-protocols
- # source:
- # subdir: 'bundled'
- # git: 'https://github.com/wayland-project/wayland-protocols.git'
- # tag: '1.24'
- # version: '1.24'
- # tools_required:
- # - host-gcc
- # - wayland-scanner
- # configure:
- # - args:
- # - 'meson'
- # - '--cross-file'
- # - '@SOURCE_ROOT@/userland/cross-file.ini'
- # - '--prefix=/usr'
- # - '--buildtype=release'
- # - '-Dtests=false'
- # - '@THIS_SOURCE_DIR@'
- # build:
- # - args: ['ninja']
- # - args: ['ninja', 'install']
- # environ:
- # DESTDIR: '@THIS_COLLECT_DIR@'
- # quiet: true
-
- - name: libexpat
- source:
- subdir: 'bundled'
- git: 'https://github.com/libexpat/libexpat.git'
- tag: 'R_2_4_1'
- version: '2.4.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['./buildconf.sh']
- workdir: '@THIS_SOURCE_DIR@/expat'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/expat/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- # We disable xmlwf to avoid building its documentation.
- - '--without-xmlwf'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- quiet: true
-
- - name: libffi
- source:
- subdir: 'bundled'
- git: 'https://github.com/libffi/libffi.git'
- tag: 'v3.4.2'
- version: '3.4.2'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['./autogen.sh']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # - name: wayland
- # from_source: wayland
- # tools_required:
- # - host-pkg-config
- # - host-gcc
- # - wayland-scanner
- # - host-libtool
- # - virtual: pkgconfig-for-target
- # triple: "x86_64-aero"
- # - virtual: pkgconfig-for-host
- # program_name: host-pkg-config
- # pkgs_required:
- # - mlibc
- # - libexpat
- # - libffi
- # configure:
- # - args:
- # - 'meson'
- # - '--native-file'
- # - '@SOURCE_ROOT@/userland/native-file.ini'
- # - '--cross-file'
- # - '@SOURCE_ROOT@/userland/cross-file.ini'
- # - '--prefix=/usr'
- # - '--buildtype=debugoptimized'
- # - '-Ddtd_validation=false'
- # - '-Ddocumentation=false'
- # - '-Dscanner=false'
- # - '@THIS_SOURCE_DIR@'
- # environ:
- # PKG_CONFIG_SYSROOT_DIR: '@BUILD_ROOT@/system-root'
- # build:
- # - args: ['ninja']
- # - args: ['ninja', 'install']
- # environ:
- # DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: zlib
- source:
- subdir: 'bundled'
- git: 'https://github.com/madler/zlib.git'
- tag: 'v1.2.12'
- version: '1.2.12'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- environ:
- CHOST: 'x86_64-aero'
- prefix: '/usr'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # zstd fast compression library
- #
- # This package provides the programs to interact with Zstandard compressed files.
- - name: zstd
- source:
- subdir: bundled
- git: 'https://github.com/facebook/zstd.git'
- tag: 'v1.5.2'
- version: '1.5.2'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - zlib
- - xz-utils
- revision: 2
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- build:
- - args: ['make', '-j@PARALLELISM@']
- environ:
- CC: 'x86_64-aero-gcc'
- CXX: 'x86_64-aero-g++'
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- PREFIX: '/usr'
-
- # Utilities for managing LZMA compressed files
- #
- # This package provides the programs to compress and decompress lzma and
- # xz compressed files.
- - name: xz-utils
- source:
- subdir: 'bundled'
- git: 'https://git.tukaani.org/xz.git'
- tag: 'v5.2.5'
- version: '5.2.5'
- disable_shallow_fetch: true
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['./autogen.sh', '--no-po4a']
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-gcc
- pkgs_required:
- - mlibc
- - zlib
- revision: 4
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--disable-nls'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: openssl
- source:
- subdir: 'bundled'
- git: 'https://github.com/openssl/openssl.git'
- tag: 'OpenSSL_1_1_1o'
- version: '1.1.1o'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - zlib
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/Configure'
- - '--prefix=/usr'
- - '--openssldir=/etc/ssl'
- - '--libdir=lib'
- - 'x86_64-aero'
- - 'shared'
- - 'zlib-dynamic'
- - 'no-afalgeng'
- environ:
- CC: 'x86_64-aero-gcc'
- CXX: 'x86_64-aero-g++'
- build:
- - args: ['make', '-j@PARALLELISM@']
- # Disable installing static libraries
- - args: ['sed', '-i', '/INSTALL_LIBS/s/libcrypto.a libssl.a//', '@THIS_BUILD_DIR@/Makefile']
- # Suffix all man pages with ssl
- - args: ['make', 'DESTDIR=@THIS_COLLECT_DIR@', 'MANSUFFIX=ssl', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- # Move the doc dir to a versioned directory
- - args: ['mv', '@THIS_COLLECT_DIR@/usr/share/doc/openssl', '@THIS_COLLECT_DIR@/usr/share/doc/openssl-1.1.1o']
-
- - name: libpng
- source:
- subdir: 'bundled'
- git: 'https://git.code.sf.net/p/libpng/code'
- tag: 'v1.6.37'
- version: '1.6.37'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['git', 'clean', '-xf', '-e', '*.xbstrap']
- - args: ['autoreconf', '-fvi']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - zlib
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: freetype
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/freetype/freetype.git'
- tag: 'VER-2-13-0'
- version: '2.13.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: '1'
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/builds/unix/']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - libpng
- - zlib
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--with-harfbuzz=no'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: fontconfig
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/fontconfig/fontconfig.git'
- tag: '2.14.0'
- version: '2.14.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- # Make sure we regenerate this file
- - args: ['rm', '-f', 'src/fcobjshash.h']
- pkgs_required:
- - mlibc
- - freetype
- - libxml
- - libiconv
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-gcc
- - host-libtool
- - host-pkg-config
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-docs'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--enable-libxml2'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxml
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/libxml2.git'
- tag: 'v2.9.14'
- version: '2.9.14'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - zlib
- - python
- - libiconv
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-python=@SYSROOT_DIR@/usr/bin/python3.8'
- - '--disable-static'
- - '--with-threads'
- - '--disable-ipv6'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libiconv
- source:
- subdir: 'bundled'
- git: 'https://git.savannah.gnu.org/git/libiconv.git'
- # Last release tag is broken for us, use current master (07-12-2020)
- branch: 'master'
- commit: '0eb1068ceb77ba383c3ce2fc391ab40ef686c491'
- version: '1.16'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./gitsub.sh', 'pull']
- # Gnulib broke on commit e3174b6d1fdbe6ea2297bf8c8333f65f9d9d9588, so check out the one before that.
- - args: ['git', 'checkout', '766ec17a90f67e8cda78394e58a7fffb00f5a4b7']
- workdir: '@THIS_SOURCE_DIR@/gnulib'
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/build-aux/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/libcharset/build-aux/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-libtool/share/aclocal/libtool.m4',
- '@THIS_SOURCE_DIR@/m4/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-libtool/share/aclocal/libtool.m4',
- '@THIS_SOURCE_DIR@/libcharset/m4/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-libtool/share/libtool/build-aux/ltmain.sh',
- '@THIS_SOURCE_DIR@/libcharset/build-aux/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-libtool/share/libtool/build-aux/ltmain.sh',
- '@THIS_SOURCE_DIR@/build-aux/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-libtool/share/aclocal/ltversion.m4',
- '@THIS_SOURCE_DIR@/m4/']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-libtool/share/aclocal/ltversion.m4',
- '@THIS_SOURCE_DIR@/libcharset/m4/']
- - args: ['autoreconf', '-fvi', '-I@THIS_SOURCE_DIR@/m4', '-I@THIS_SOURCE_DIR@/srcm4']
- tools_required:
- - host-gcc
- - host-libtool
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--disable-nls'
- - '--enable-shared'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # Library for manipulating Unicode and C strings according to Unicode standard
- #
- # This package provides a library containing functions for manipulating Unicode
- # strings and for manipulating C strings according to the Unicode standard.
- - name: libunistring
- source:
- subdir: 'bundled'
- url: 'https://ftp.gnu.org/gnu/libunistring/libunistring-1.0.tar.xz'
- format: 'tar.xz'
- checksum: blake2b:8208fe33d4ac2f015b0efb56b0c7dd87afc4bb1c6ca4eb3ded86d7e2101d7b7f68bfd8991af4b6dd408282ec73f134ee0b884e761ff6d52e8a1e398326aec420
- extract_path: 'libunistring-1.0'
- version: '1.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['autoreconf', '-fvi']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--disable-static'
- - '--docdir=/usr/share/doc/libunistring-1.0'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # GTK+ & GNOME Accessibility Toolkit
- #
- # This package provides a set of accessibility interfaces used extensively througout GTK and GNOME.
- - name: atk
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/atk.git'
- tag: '2.38.0'
- version: '2.38.0'
- tools_required:
- - host-gcc
- - host-pkg-config
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - glib
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--libdir=lib'
- - '--buildtype=debugoptimized'
- - '-Dintrospection=false'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: cairo
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/cairo/cairo.git'
- tag: '1.17.6'
- version: '1.17.6'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- pkgs_required:
- - mlibc
- - freetype
- - fontconfig
- - libpng
- - pixman
- - libxcb
- - libx11
- - libxext
- - mesa
- - libxrender
- - glib
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--enable-xlib-xcb'
- - '--enable-xml'
- - '--enable-tee'
- - '--enable-gl'
- environ:
- # freetype-config does not support cross-compilation.
- FREETYPE_CONFIG: 'no'
- PKG_CONFIG_SYSROOT_DIR: '@BUILD_ROOT@/system-root'
- PKG_CONFIG_LIBDIR: '@BUILD_ROOT@/system-root/usr/lib/pkgconfig:@BUILD_ROOT@/system-root/usr/share/pkgconfig'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: at-spi2-atk
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/at-spi2-atk.git'
- tag: 'AT_SPI2_ATK_2_38_0'
- version: '2.38.0'
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: 'x86_64-aero'
- pkgs_required:
- - mlibc
- - at-spi2-core
- - atk
- - dbus
- - glib
- - libxml
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: at-spi2-core
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/at-spi2-core.git'
- tag: 'AT_SPI2_CORE_2_38_0'
- version: '2.38.0'
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: 'x86_64-aero'
- pkgs_required:
- - mlibc
- - dbus
- - glib
- - libxtst
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '-Dsystemd_user_dir=/tmp'
- - '-Dintrospection=no'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: pcre
- source:
- subdir: 'bundled'
- # Use a git mirror as pcre retired their svn repositories
- git: 'https://github.com/vinix-os/pcre'
- tag: '1767'
- # Seems to be 8.45?
- version: '8.45'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-autoconf-archive
- regenerate:
- - args: ['./autogen.sh']
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--enable-unicode-properties'
- - '--enable-pcre8'
- - '--enable-pcre16'
- - '--enable-pcre32'
- - '--disable-static'
- environ:
- PKG_CONFIG_SYSROOT_DIR: '@BUILD_ROOT@/system-root'
- PKG_CONFIG_LIBDIR: '@BUILD_ROOT@/system-root/usr/lib/pkgconfig:@BUILD_ROOT@/system-root/usr/share/pkgconfig'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'DESTDIR=@THIS_COLLECT_DIR@', 'install']
-
- - name: dbus
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/dbus/dbus.git'
- tag: 'dbus-1.12.20'
- version: '1.12.20'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-autoconf-archive
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-python
- - virtual: pkgconfig-for-target
- triple: 'x86_64-aero'
- pkgs_required:
- - mlibc
- - glib
- - libexpat
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-doxygen-docs'
- - '--disable-xml-docs'
- - '--disable-static'
- - '--enable-shared'
- - '--enable-verbose-mode'
- - '--with-systemdsystemunitdir=no'
- - '--with-systemduserunitdir=no'
- - '--docdir=/usr/share/doc/dbus-1.12.20'
- - '--with-console-auth-dir=/run/console'
- - '--with-system-pid-file=/run/dbus/pid'
- - '--with-system-socket=/run/dbus/system_bus_socket'
- - '--disable-selinux'
- - '--disable-apparmor'
- - '--disable-libaudit'
- - '--disable-kqueue'
- - '--disable-launchd'
- - '--disable-systemd'
- - '--disable-tests'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libintl
- source:
- subdir: 'bundled'
- url: 'https://ftp.gnu.org/gnu/gettext/gettext-0.21.1.tar.xz'
- format: 'tar.xz'
- extract_path: 'gettext-0.21.1'
- version: '0.21.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['autoreconf', '-fvi']
- tools_required:
- - host-gcc
- pkgs_required:
- - libiconv
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--without-emacs'
- - '--without-lispdir'
- # Normally this controls nls behavior in general, but the libintl
- # subdir is skipped unless this is explicitly set.
- - '--enable-nls'
- # This magic flag enables libintl.
- - '--with-included-gettext'
- - '--disable-c++'
- - '--disable-libasprintf'
- - '--disable-java'
- - '--enable-shared'
- - '--disable-static'
- - '--enable-threads=posix'
- - '--disable-curses'
- - '--without-git'
- - '--without-cvs'
- - '--without-bzip2'
- - '--without-xz'
- build:
- - args: ['make', '-C', 'gettext-runtime/intl', '-j@PARALLELISM@']
- - args: ['make', '-C', 'gettext-runtime/intl', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: glib
- from_source: glib
- tools_required:
- - host-gcc
- - host-libtool
- - host-pkg-config
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - pcre
- - libffi
- - zlib
- - libiconv
- - libintl
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--libdir=lib'
- - '--buildtype=debugoptimized'
- - '-Dxattr=false'
- - '@THIS_SOURCE_DIR@'
- environ:
- PKG_CONFIG_SYSROOT_DIR: '@BUILD_ROOT@/system-root'
- PKG_CONFIG_LIBDIR: '@BUILD_ROOT@/system-root/usr/lib/pkgconfig:@BUILD_ROOT@/system-root/usr/share/pkgconfig'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- scripts:
- post_install:
- - args: ['glib-compile-schemas /usr/share/glib-2.0/schemas']
- - args: ['gio-querymodules /usr/lib/gio/modules']
-
- - name: libjpeg-turbo
- source:
- subdir: 'bundled'
- git: 'https://github.com/libjpeg-turbo/libjpeg-turbo.git'
- tag: '2.1.4'
- version: '2.1.4'
- tools_required:
- - host-pkg-config
- - host-gcc
- - host-cmake
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- configure:
- - args:
- - 'cmake'
- - '-DCMAKE_TOOLCHAIN_FILE=@SOURCE_ROOT@/userland/CMakeToolchain-x86_64.cmake'
- - '-DCMAKE_INSTALL_PREFIX=/usr'
- - '-DCMAKE_BUILD_TYPE=RELEASE'
- - '-DENABLE_STATIC=FALSE'
- - '-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-2.1.4'
- - '-DCMAKE_INSTALL_DEFAULT_LIBDIR=lib'
- - '-DWITH_JPEG8=ON'
- - '-DCMAKE_SYSTEM_PROCESSOR=x86_64'
- - '@THIS_SOURCE_DIR@/'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # A free implementation of the unicode bidirectional algorithm
- #
- # This package provides a library with an implementation of the Unicode
- # Bidirectional Algorithm (BIDI). This is used for supporting Arabic and
- # Hebrew alphabets in other packages.
- - name: fribidi
- source:
- subdir: 'bundled'
- git: 'https://github.com/fribidi/fribidi.git'
- tag: 'v1.0.12'
- version: '1.0.12'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- - args: 'sed -i s/"SUBDIRS = gen.tab lib bin doc test"/"SUBDIRS = gen.tab lib bin test"/ @THIS_SOURCE_DIR@/Makefile.am'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # Translation tool for XML documents that uses gettext files and ITS rules
- #
- # This package contains a program for translating XML with PO files using W3C
- # Internationalization Tag Set rules.
- - name: itstool
- source:
- subdir: 'bundled'
- git: 'https://github.com/itstool/itstool.git'
- tag: '2.0.7'
- version: '2.0.7'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- - host-python
- pkgs_required:
- - mlibc
- - libxml
- - python
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- environ:
- 'PYTHON': '/usr/bin/python3'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: readline
- source:
- subdir: 'bundled'
- git: 'https://git.savannah.gnu.org/git/readline.git'
- tag: 'readline-8.1'
- version: '8.1'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - ncurses
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--enable-multibyte'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'DESTDIR=@THIS_COLLECT_DIR@', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # General purpose crypto library based on the code used in GnuPG
- #
- # This package contains a general purpose crypto library based on the code used
- # in GnuPG. The library provides a high level interface to cryptographic building
- # blocks using an extendable and flexible API.
- - name: libgcrypt
- source:
- subdir: 'bundled'
- git: 'https://dev.gnupg.org/source/libgcrypt.git'
- tag: 'libgcrypt-1.10.1'
- version: '1.10.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['./autogen.sh']
- - args: ['autoreconf', '-fvi']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - libgpg-error
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--enable-shared'
- - '--disable-static'
- - '--prefix=/usr'
- - '--disable-nls'
- - '--disable-doc'
- - '--disable-dev-random'
- - '--with-libgpg-error-prefix=@SYSROOT_DIR@/usr'
- - '--disable-asm'
- environ:
- LIBS: '-lgpg-error'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # A lossy image compression format
- #
- # This package contains a library and support programs to encode and decode images in WebP format.
- - name: libwebp
- source:
- subdir: 'bundled'
- git: 'https://github.com/webmproject/libwebp.git'
- tag: 'v1.3.0'
- version: '1.3.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - libjpeg-turbo
- - libpng
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--enable-libwebpmux'
- - '--enable-libwebpdemux'
- - '--enable-libwebpdecoder'
- - '--enable-libwebpextras'
- - '--enable-swap-16bit-csp'
- - '--disable-static'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libtasn
- source:
- subdir: 'bundled'
- git: 'https://gitlab.com/gnutls/libtasn1.git'
- tag: 'v4.18.0'
- version: '4.18.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-libtool
- regenerate:
- - args: ['./bootstrap']
- - args: ['cp',
- '@BUILD_ROOT@/tools/host-automake-v1.16/share/automake-1.16/config.sub',
- '@THIS_SOURCE_DIR@/build-aux/']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--disable-doc'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # Contains error handling functions used by GnuPG software
- #
- # This package contains a library that defines common error values for
- # all GnuPG components.
- - name: libgpg-error
- source:
- subdir: 'bundled'
- git: 'https://dev.gnupg.org/source/libgpg-error.git'
- tag: 'libgpg-error-1.45'
- version: '1.45'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['./autogen.sh']
- - args: ['autoreconf', '-f', '-v', '-i']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- # libgpg-error does not know about managarm, teach it
- - args: ['cp', '-v', '@THIS_SOURCE_DIR@/src/syscfg/lock-obj-pub.x86_64-unknown-linux-gnu.h',
- '@THIS_SOURCE_DIR@/src/syscfg/lock-obj-pub.aero.h']
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-nls'
- - '--disable-doc'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: icu
- from_source: icu
- tools_required:
- - host-gcc
- - host-icu
- pkgs_required:
- - mlibc
- configure:
- - args: ['cp',
- '@THIS_SOURCE_DIR@/icu4c/source/config/mh-linux',
- '@THIS_SOURCE_DIR@/icu4c/source/config/mh-unknown']
- - args:
- - '@THIS_SOURCE_DIR@/icu4c/source/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-cross-build=@BUILD_ROOT@/tool-builds/host-icu'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: graphite2
- source:
- subdir: 'bundled'
- git: 'https://github.com/silnrsi/graphite.git'
- tag: '1.3.14'
- version: '1.3.14'
- tools_required:
- - host-gcc
- - host-python
- - host-cmake
- pkgs_required:
- - mlibc
- - gcc # Actually requires libstdc++.so in the system root, otherwise it links against the host libstdc++.so.6
- configure:
- - args:
- - 'cmake'
- - '-DCMAKE_TOOLCHAIN_FILE=@SOURCE_ROOT@/userland/CMakeToolchain-x86_64.cmake'
- - '-DCMAKE_INSTALL_PREFIX=/usr'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: harfbuzz
- source:
- subdir: 'bundled'
- git: 'https://github.com/harfbuzz/harfbuzz.git'
- tag: '3.1.2'
- version: '3.1.2'
- tools_required:
- - host-gcc
- - host-pkg-config
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - graphite2
- - glib
- - zlib
- - freetype
- - cairo
- - icu
- configure:
- - args:
- - 'meson'
- - '--native-file'
- - '@SOURCE_ROOT@/userland/native-file.ini'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--libdir=lib'
- - '--buildtype=debugoptimized'
- - '-Dgraphite2=enabled'
- - '-Dglib=enabled'
- - '-Dgobject=disabled'
- - '-Dicu=enabled'
- - '-Dfreetype=enabled'
- - '-Dcairo=enabled'
- - '-Dintrospection=disabled'
- - '-Ddocs=disabled'
- - '-Dtests=disabled' # Disabled due to a linking error
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
-tasks:
- - name: sysroot
- pkgs_required:
- - binutils
- - coreutils
- - nyancat
- - gcc
- - tcc
- args:
- - '@SOURCE_ROOT@/make-iso.sh'
- - '@BUILD_ROOT@'
- - '@SOURCE_ROOT@'
- - '@SYSROOT_DIR@'
- workdir: '@BUILD_ROOT@'
diff --git a/bootstrap/db.yml b/bootstrap/db.yml
deleted file mode 100644
index b4a932c05c6..00000000000
--- a/bootstrap/db.yml
+++ /dev/null
@@ -1,38 +0,0 @@
-packages:
- - name: sqlite
- source:
- subdir: 'bundled'
- url: 'https://sqlite.org/2021/sqlite-autoconf-3370000.tar.gz'
- format: 'tar.gz'
- checksum: blake2b:35e72700f20c35701d26f7b66da126242ea1d253f710f299a9b6f180f0a53d417114af022161a6cd9ebf20b791f0645f7a30290210fac197d5fda3a647067fd0
- extract_path: 'sqlite-autoconf-3370000'
- version: '3.37.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['autoreconf', '-fvi']
- tools_required:
- - host-gcc
- - host-libtool
- - host-autoconf-v2.69
- - host-automake-v1.16
- pkgs_required:
- - mlibc
- - readline
- - zlib
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--enable-readline'
- - '--enable-fts5'
- - 'CFLAGS=-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS4=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_ENABLE_DBSTAT_VTAB=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_FTS3_TOKENIZER=1'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
diff --git a/bootstrap/editors.yml b/bootstrap/editors.yml
deleted file mode 100644
index 5842bc33825..00000000000
--- a/bootstrap/editors.yml
+++ /dev/null
@@ -1,60 +0,0 @@
-packages:
- - name: vim
- source:
- subdir: 'bundled'
- git: 'https://github.com/vim/vim.git'
- tag: 'v8.2.3704'
- version: '8.2.3704'
- tools_required:
- - host-gcc
- - host-pkg-config
- - host-automake-v1.16
- pkgs_required:
- - mlibc
- - ncurses
- - libiconv
- revision: 4
- configure:
- # vim does not seem to support out-of-tree builds, so we just copy
- # the source tree into the build directory instead
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- - args:
- - './configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-gtktest'
- - '--disable-icon-cache-update'
- - '--disable-desktop-database-update'
- - '--disable-canberra'
- - '--disable-selinux'
- - '--disable-xsmp'
- - '--disable-channel'
- - '--disable-netbeans'
- - '--enable-multibyte'
- - '--disable-acl'
- - '--disable-gpm'
- - '--disable-sysmouse'
- - '--disable-nls'
- - '--with-tlib=tinfo'
- - '--enable-gui=no'
- - '--without-x'
- environ:
- ac_cv_small_wchar_t: 'no'
- ac_cv_func_sigsetjmp: 'no'
- vim_cv_toupper_broken: 'no'
- vim_cv_terminfo: 'yes'
- vim_cv_tgetent: 'zero'
- vim_cv_tty_group: ''
- vim_cv_tty_mode: '0620'
- vim_cv_getcwd_broken: 'no'
- vim_cv_stat_ignores_slash: 'no'
- vim_cv_memmove_handles_overlap: 'yes'
- vim_cv_bcopy_handles_overlap: 'yes'
- vim_cv_memcpy_handles_overlap: 'yes'
- STRIP: 'x86_64-aero-strip'
- workdir: '@THIS_BUILD_DIR@/src/'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
diff --git a/bootstrap/net.yml b/bootstrap/net.yml
deleted file mode 100644
index 5960dc8c71e..00000000000
--- a/bootstrap/net.yml
+++ /dev/null
@@ -1,405 +0,0 @@
-packages:
- - name: dhcpd
- source:
- subdir: 'bundled'
- git: 'https://github.com/Andy-Python-Programmer/dhcpd'
- branch: 'main'
- tools_required:
- - host-rust
- - host-gcc
- sources_required:
- - rust-patched-libs
- pkgs_required:
- - mlibc
- configure:
- - args: ['python3', '@SOURCE_ROOT@/tools/cargo-inject-patches.py', '@THIS_SOURCE_DIR@/Cargo.toml']
- build:
- - args:
- - 'cargo'
- - 'install'
- - '--locked'
- - '--target-dir'
- - '@THIS_BUILD_DIR@'
- - '--path'
- - '@THIS_SOURCE_DIR@'
- - '--root'
- - '@THIS_COLLECT_DIR@/usr'
- - '-j@PARALLELISM@'
- environ:
- RUSTFLAGS: '-Cforce-frame-pointers=yes -Clink-args=-no-pie'
-
- # C library for the Public Suffix List
- #
- # This package provides a library for accessing and resolving information from the Public
- # Suffix List (PSL). The PSL is a set of domain names beyond the standard suffixes, such
- # as .com.
- - name: libpsl
- source:
- subdir: 'bundled'
- git: 'https://github.com/rockdaboot/libpsl.git'
- tag: '0.21.1'
- version: '0.21.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - libidn2
- - libunistring
- - libiconv
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--enable-builtin=libidn2'
- - '--enable-runtime=libidn2'
- # Gentoo disables asan, cfi and ubsan
- - '--disable-asan'
- - '--disable-cfi'
- - '--disable-ubsan'
- - '--disable-man'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libidn2
- source:
- subdir: 'bundled'
- git: 'https://gitlab.com/libidn/libidn2.git'
- tag: 'v2.3.2'
- version: '2.3.2'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./bootstrap']
- - args: ['autoreconf', '-fvi']
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- pkgs_required:
- - mlibc
- - libunistring
- - libiconv
- configure:
- # Remove some files from the source directory if they exist.
- - args: |
- if [ -f @THIS_SOURCE_DIR@/lib/gendata ]; then
- rm -rv @THIS_SOURCE_DIR@/lib/gendata
- fi
- - args: |
- if [ -f @THIS_SOURCE_DIR@/lib/gentr46map ]; then
- rm -rv @THIS_SOURCE_DIR@/lib/gentr46map
- fi
- # Configure for the host, we need some files to be generated
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--disable-doc'
- - '--disable-nls'
- # Broken out of tree build, but also broken in tree for some reason, work around it
- - args: ['cp', '-v', '@THIS_SOURCE_DIR@/lib/idna-tables-properties.csv', '@THIS_BUILD_DIR@/lib/']
- - args: ['cp', '-v', '@THIS_BUILD_DIR@/lib/idn2.h', '@THIS_SOURCE_DIR@/lib/']
- # Build it so we get our files
- - args: ['make', '-j@PARALLELISM@']
- # Copy the files to the source dir, where libidn2 wants them
- - args: ['cp', '-v', '@THIS_BUILD_DIR@/lib/gendata', '@THIS_SOURCE_DIR@/lib/gendata']
- - args: ['cp', '-v', '@THIS_BUILD_DIR@/lib/gentr46map', '@THIS_SOURCE_DIR@/lib/gentr46map']
- # Finally, configure for managarm
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--disable-static'
- - '--disable-doc'
- - '--disable-nls'
- # Again, copy the header, it might've changed due to configure.
- - args: ['cp', '-v', '@THIS_BUILD_DIR@/lib/idn2.h', '@THIS_SOURCE_DIR@/lib/']
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: curl
- source:
- subdir: 'bundled'
- git: 'https://github.com/curl/curl.git'
- tag: 'curl-7_84_0'
- version: '7.84.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-autoconf-archive
- regenerate:
- - args: ['autoreconf', '-fiv']
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - libidn2
- - libpsl
- - openssl
- - zlib
- - zstd
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--with-ca-path=/etc/ssl/certs'
- - '--enable-threaded-resolver'
- - '--with-openssl'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: links
- source:
- subdir: 'bundled'
- url: 'http://links.twibright.com/download/links-2.28.tar.gz'
- format: 'tar.gz'
- checksum: blake2b:5695cfa26fac30f021ef415e75edb9456ad0360b0edeefa02d2862b149f757a1f1f4d5e5a1e6f3f198696bf35129c93f0f46bdf06ab1b0eb6c91f22e08fffb07
- extract_path: 'links-2.28'
- version: '2.28'
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: x86_64-aero
- pkgs_required:
- - mlibc
- - zlib
- - openssl
- - libpng
- - zstd
- - libxext
- - freetype
- - fontconfig
- - xz-utils
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--mandir=/usr/share/man'
- - '--enable-graphics'
- - '--without-directfb'
- - '--without-librsvg'
- - '--with-bzip2'
- - '--with-X'
- - '--x-includes=@SYSROOT_DIR@/usr/include'
- - '--x-libraries=@SYSROOT_DIR@/usr/lib'
- - '--with-zlib'
- - '--with-zstd'
- - '--with-openssl'
- - '--with-libjpeg'
- - '--without-libtiff'
- - '--without-openmp'
- - '--with-lzma'
- - '--with-freetype'
- - '--without-ipv6'
- environ:
- # Configure doesn't set CC correctly and assumes gcc unless manually overridden.
- CC: 'x86_64-aero-gcc'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'DESTDIR=@THIS_COLLECT_DIR@', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # Network-related giomodules for glib
- #
- # This package contains network related gio modules for GLib.
- - name: glib-networking
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/glib-networking.git'
- tag: '2.72.2'
- version: '2.72.2'
- tools_required:
- - host-gcc
- - host-pkg-config
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - glib
- # - gnutls
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--buildtype=debugoptimized'
- - '-Dgnutls=disabled'
- - '-Dopenssl=enabled'
- - '-Dinstalled_tests=false'
- - '-Dstatic_modules=false'
- - '-Dlibproxy=disabled'
- - '-Dgnome_proxy=disabled'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- scripts:
- post_install:
- - args: ['gio-querymodules', '/usr/lib/gio/modules']
-
- # This package is a HTTP client/server library for GNOME. It uses GObject and the GLib main
- # loop to integrate with GNOME applications and it also has an asynchronous API for use in
- # threaded applications.
- - name: libsoup
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/libsoup.git'
- tag: '2.74.2'
- version: '2.74.2'
- tools_required:
- - host-gcc
- - host-pkg-config
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - glib
- - glib-networking
- - zlib
- - libxml
- - libpsl
- - sqlite
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--buildtype=debugoptimized'
- - '-Dintrospection=disabled'
- - '-Dinstalled_tests=false'
- - '-Dsysprof=disabled'
- - '-Dgtk_doc=false'
- - '-Dvapi=disabled'
- - '-Dgnome=false'
- - '-Dtls_check=false'
- - '-Dbrotli=disabled'
- - '-Dntlm=disabled'
- - '-Dgssapi=disabled'
- - '-Dtests=false'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # - name: webkitgtk
- # metadata:
- # summary: 'An open source web browser engine, with a small example browser'
- # description: 'This package provides WebKitGTK, a port of the portable web rendering engine WebKit to the GTK+ 3 and GTK 4 platforms.'
- # spdx: 'LGPL-2.0-or-later BSD-2-Clause'
- # website: 'https://webkitgtk.org'
- # maintainer: "Dennis Bonke "
- # categories: ['net-libs']
- # source:
- # subdir: 'bundled'
- # git: 'https://github.com/WebKit/WebKit.git'
- # # I think? Apple is weird with naming
- # tag: 'Safari-612.1.27.0.24'
- # version: '2.33.3'
- # tools_required:
- # - host-gcc
- # - host-cmake
- # pkgs_required:
- # - mlibc
- # - cairo
- # - fontconfig
- # - freetype
- # - libgcrypt
- # - glib
- # - harfbuzz
- # - icu
- # - libjpeg-turbo
- # - zlib
- # - libpng
- # - libxml
- # - atk
- # - sqlite
- # - libwebp
- # - gtk+-3
- # - libsoup
- # - libxslt
- # - at-spi2-core
- # - libtasn
- # - libx11
- # - libxcomposite
- # - libxdamage
- # - libxrender
- # - libxt
- # - mesa
- # # - gst-plugins-base
- # configure:
- # - args:
- # - 'cmake'
- # - '-GNinja'
- # - '-DCMAKE_TOOLCHAIN_FILE=@SOURCE_ROOT@/userland/CMakeToolchain-x86_64.cmake'
- # - '-DCMAKE_INSTALL_PREFIX=/usr'
- # - '-DCMAKE_SYSTEM_PROCESSOR=x86_64'
- # - '-DCMAKE_BUILD_TYPE=Release'
- # - '-DCMAKE_SKIP_RPATH=ON'
- # - '-DPORT=GTK'
- # - '-DLIB_INSTALL_DIR=/usr/lib'
- # - '-DUSE_LIBHYPHEN=OFF'
- # - '-DENABLE_GAMEPAD=OFF'
- # - '-DENABLE_MINIBROWSER=ON'
- # - '-DUSE_WOFF2=OFF'
- # - '-DUSE_SYSTEMD=OFF'
- # - '-DENABLE_BUBBLEWRAP_SANDBOX=OFF'
- # - '-Wno-dev -G Ninja'
- # - '-DUSE_LIBNOTIFY=OFF'
- # - '-DUSE_SYSTEM_MALLOC=ON'
- # - '-DENABLE_GEOLOCATION=OFF'
- # - '-DENABLE_VIDEO=OFF'
- # - '-DENABLE_WEB_AUDIO=OFF'
- # - '-DENABLE_INTROSPECTION=OFF'
- # - '-DUSE_LIBSECRET=OFF'
- # - '-DUSE_OPENJPEG=OFF'
- # - '-DENABLE_SPELLCHECK=OFF'
- # - '-DENABLE_WAYLAND_TARGET=OFF'
- # - '-DENABLE_X11_TARGET=ON'
- # - '-DENABLE_WEBGL=ON'
- # - '-DUSE_WPE_RENDERER=OFF'
- # - '-DENABLE_WEBGL2=OFF'
- # - '-DUSE_SOUP2=ON'
- # - '-DUSE_LCMS=OFF'
- # - '@THIS_SOURCE_DIR@'
- # build:
- # - args: ['ninja', '-j8']
- # - args: ['ninja', 'install']
- # environ:
- # DESTDIR: '@THIS_COLLECT_DIR@'
diff --git a/bootstrap/vcs.yml b/bootstrap/vcs.yml
deleted file mode 100644
index 8b477baa697..00000000000
--- a/bootstrap/vcs.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-packages:
- # The Git version control system
- #
- # Git is one of the most used version control systems designed to
- # handle large projects efficiently.
- - name: git
- source:
- subdir: 'bundled'
- git: 'https://github.com/git/git.git'
- tag: 'v2.32.0'
- version: '2.32.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- regenerate:
- - args: ['autoreconf']
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - python
- - libexpat
- - zlib
- - openssl
- - curl
- - libiconv
- - pcre
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- - args:
- - './configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-python=python3'
- - '--with-gitconfig=/etc/gitconfig'
- - '--with-curl=@SYSROOT_DIR@/usr'
- - '--without-iconv'
- - '--with-libpcre'
- - 'ac_cv_fread_reads_directories=1'
- - 'ac_cv_snprintf_returns_bogus=1'
- environ:
- CURL_CONFIG: '@SYSROOT_DIR@/usr/bin/curl-config'
- build:
- - args: ['make', 'NO_GETTEXT=YesPlease', '-j@PARALLELISM@']
- - args: ['make', 'NO_GETTEXT=YesPlease', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
diff --git a/bootstrap/xorg.yml b/bootstrap/xorg.yml
deleted file mode 100644
index cfde0b56cd7..00000000000
--- a/bootstrap/xorg.yml
+++ /dev/null
@@ -1,2504 +0,0 @@
-sources:
- - name: xorg-util-macros
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/util/macros.git'
- tag: 'util-macros-1.19.3'
- version: '1.19.3'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
-
- - name: xorg-font-util
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/font/util.git'
- tag: 'font-util-1.3.2'
- version: '1.3.2'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
-
- - name: gettext
- subdir: 'bundled'
- git: 'https://git.savannah.gnu.org/git/gettext.git'
- tag: 'v0.19.8'
- version: '0.19.8'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
-
- - name: gobject-introspection
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/gobject-introspection.git'
- tag: '1.76.1'
- version: '1.76.1'
-
-tools:
- - name: host-gobject-introspection
- exports_aclocal: true
- from_source: gobject-introspection
- tools_required:
- - host-python
- - host-glib
- - host-pkg-config
- - virtual: pkgconfig-for-host
- program_name: host-pkg-config
- configure:
- - args:
- - 'meson'
- - '--prefix=@PREFIX@'
- - '--native-file'
- - '@SOURCE_ROOT@/userland/native-file.ini'
- - '-Dbuild_introspection_data=false'
- - '@THIS_SOURCE_DIR@'
- compile:
- - args: ['ninja']
- install:
- - args: ['ninja', 'install']
-
- - name: host-xorg-macros
- exports_aclocal: true
- from_source: xorg-util-macros
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install-strip']
-
- - name: host-xtrans
- exports_aclocal: true
- from_source: libxtrans
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install-strip']
-
- - name: host-xorg-font-util
- exports_aclocal: true
- from_source: xorg-font-util
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--prefix=@PREFIX@'
- compile:
- - args: ['make', '-j@PARALLELISM@']
- install:
- - args: ['make', 'install-strip']
-
-packages:
- # `xorg-util-macros` is a set of autoconf macros used by the configure.ac scripts in
- # other Xorg modular packages, and is needed to generate new versions
- # of their configure scripts with autoconf.
- - name: xorg-util-macros
- from_source: xorg-util-macros
- tools_required:
- - host-gcc
- - host-xorg-macros
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `xorg-proto` provides the headers and specification documents defining the core protocol
- # and extensions for the X Window System.
- - name: xorg-proto
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/proto/xorgproto.git'
- tag: 'xorgproto-2022.1'
- version: '2022.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `xcb-proto` provides the XML-XCB protocol descriptions that libxcb uses to
- # generate the majority of its code and API.
- - name: xcb-proto
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/proto/xcbproto.git'
- tag: 'xcb-proto-1.15'
- version: '1.15'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-python
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libxau
- - libxdmcp
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- environ:
- PYTHON: '@BUILD_ROOT@/tools/host-python/bin/python3.8'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxcb-image
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxcb-image'
- tag: 'xcb-util-image-0.4.1'
- version: '0.4.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['git', 'submodule', 'update', '--init']
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxcb-util
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxcb-util'
- tag: 'xcb-util-0.4.1'
- version: '0.4.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['git', 'submodule', 'update', '--init']
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-python
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxdmcp` is X Display Manager Control Protocol library.
- - name: libxdmcp
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxdmcp.git'
- tag: 'libXdmcp-1.1.3'
- version: '1.1.3'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libxau
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `xtrans` is a library of code that is shared among various X packages to
- # handle network protocol transport in a modular fashion.
- - name: libxtrans
- from_source: libxtrans
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libxcb
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxau` is a sample authorization protocol for X
- - name: libxau
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxau.git'
- tag: 'libXau-1.0.9'
- version: '1.0.9'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxcb` provides an interface to the X Window System protocol, which
- # replaces the traditional Xlib interface.
- - name: libxcb
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxcb.git'
- tag: 'libxcb-1.15'
- version: '1.15'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-python
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libxau
- - libxdmcp
- - xcb-proto
- configure:
- - args: ['sed', '-i', "s/pthread-stubs//", '@THIS_SOURCE_DIR@/configure']
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--without-doxygen'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- environ:
- PYTHON: '@BUILD_ROOT@/tools/host-python/bin/python3.8'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libx11` is core X11 protocol client library.
- - name: libx11
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libx11.git'
- tag: 'libX11-1.8'
- version: '1.8'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xtrans
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libxcb
- - libxtrans
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-ipv6'
- - '--disable-malloc0returnsnull'
- - '--with-keysymdefdir=@SYSROOT_DIR@/usr/include/X11'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxcursor
- source:
- subdir: bundled
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxcursor.git'
- tag: 'libXcursor-1.2.1'
- version: '1.2.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxfixes
- - libxrender
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: glu
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/mesa/glu.git'
- tag: 'glu-9.0.2'
- version: '9.0.2'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: '1'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - gcc # Actually requires libstdc++.so in the system root, otherwise it links against the host libstdc++.so.6
- - mesa
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: mesa-demos
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/mesa/demos.git/'
- branch: 'master'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - mesa
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-gles1' # Requires some linux header that we don't have
- - '--disable-vg'
- - '--disable-osmesa'
- - '--disable-rbug'
- - '--with-system-data-files'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: mesa
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/mesa/mesa.git'
- tag: 'mesa-21.3.5'
- version: '21.3.5'
- tools_required:
- - host-pkg-config
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- - virtual: pkgconfig-for-host
- program_name: host-pkg-config
- pkgs_required:
- - mlibc
- - libdrm
- - zlib
- - libxrandr
- - libxfixes
- - libx11
- - libxext
- - libxcb
- - llvm
- configure:
- - args: ['cp', '@SOURCE_ROOT@/userland/cross-file.ini', 'meson.cross-file']
- - args:
- - 'sed'
- - '-i'
- - "/^# sed adds binaries here.$/a llvm-config = '@SOURCE_ROOT@/userland/cross-llvm-config'"
- - 'meson.cross-file'
- - args:
- - 'meson'
- - 'setup'
- - '--native-file'
- - '@SOURCE_ROOT@/userland/native-file.ini'
- - '--cross-file'
- - 'meson.cross-file'
- - '--prefix=/usr'
- - '--libdir=lib'
- # The debug build type enables some additional output from Mesa.
- - '--buildtype=release'
- #- '--buildtype=debug'
- - '-Dglx=gallium-xlib'
- - '-Dplatforms=x11'
- # The Gallium swrast driver seems to be preferred over dri-swrast.
- - '-Ddri-drivers='
- - '-Dgallium-drivers=swrast'
- - '-Dvulkan-drivers='
- # Force Mesa to build with LLVM.
- - '-Dllvm=enabled'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja', '-j@PARALLELISM@']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxkbfile` is used by the X servers and utilities to parse the XKB
- # configuration data files.
- - name: libxkbfile
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxkbfile.git'
- tag: 'libxkbfile-1.1.0'
- version: '1.1.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xorg-font-util
- from_source: xorg-font-util
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libfontenc` is a font encoding library.
- - name: libfontenc
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libfontenc.git'
- tag: 'libfontenc-1.1.4'
- version: '1.1.4'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xorg-font-util
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - xorg-font-util
- - zlib
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xf86-input-mouse
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/driver/xf86-input-mouse.git'
- tag: 'xf86-input-mouse-1.9.4'
- version: '1.9.4'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-server
- - xorg-util-macros
- - libx11
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxfont` provides the core of the legacy X11 font system, handling the index
- # files
- - name: libxfont2
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxfont.git'
- tag: 'libXfont2-2.0.5'
- version: '2.0.5'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xtrans
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-xtrans
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - freetype
- - libfontenc
- - fontconfig
- - zlib
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-devel-docs'
- # strcasecmp is implicitly declared, probably an missing include somewhere, so disable -Werror for that
- - '--disable-selective-werror'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `pixman` is a library that provides low-level pixel manipulation
- # features such as image compositing and trapezoid rasterization.
- - name: pixman
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/pixman/pixman.git'
- tag: 'pixman-0.40.0'
- version: '0.40.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - libpng
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libepoxy
- source:
- subdir: 'bundled'
- git: 'https://github.com/anholt/libepoxy.git'
- tag: '1.5.10'
- version: '1.5.10'
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: "@OPTION:x86_64-aero"
- pkgs_required:
- - mlibc
- - mesa
- - xorg-proto
- - libx11
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '-Degl=no'
- - '-Dtests=false'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xorg-xinit
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/app/xinit'
- tag: 'xinit-1.3.4'
- version: '1.3.4'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xorg-font-util
- - host-xtrans
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-gcc
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - xorg-server
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- - args: ['cp', '@SOURCE_ROOT@/extra-files/xorg/xinitrc', '@THIS_COLLECT_DIR@/etc/X11/xinit/xinitrc']
-
- # X.Org xcvt library and cvt program
- #
- # VESA CVT standard timing modeline generation library & utility.
- - name: libxcvt
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxcvt.git'
- tag: 'libxcvt-0.1.2'
- version: '0.1.2'
- tools_required:
- - host-gcc
- - host-pkg-config
- pkgs_required:
- - mlibc
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja', '-j@PARALLELISM@']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # The X server accepts requests from client applications to create windows,
- # which are (normally rectangular) "virtual screens" that the client program
- # can draw into.
- - name: xorg-server
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/xserver.git'
- tag: 'xorg-server-21.1.8'
- version: '21.1.8'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xorg-font-util
- - host-xtrans
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - openssl
- - libepoxy
- - libxkbfile
- - libxfont2
- - libxcvt
- - pixman
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--with-xkb-output=/var/lib/xkb'
- - '--enable-xorg'
- - '--enable-xv'
- - '--enable-xvfb'
- - '--disable-xephyr'
- - '--disable-xwayland'
- - '--disable-xnest'
- - '--disable-dmx'
- - '--disable-suid-wrapper'
- - '--disable-pciaccess'
- - '--disable-dpms'
- - '--disable-screensaver'
- - '--disable-xres'
- - '--disable-xinerama'
- - '--disable-xvmc'
- - '--disable-systemd-logind'
- - '--disable-secure-rpc'
- - '--disable-config-udev'
- - '--disable-dri'
- - '--disable-dri2'
- - '--disable-dri3'
- - '--disable-vbe'
- - '--disable-int10-module'
- - '--disable-vgahw'
- - '--disable-libdrm'
- - '--disable-glamor'
- - '--disable-glx'
- environ:
- CFLAGS: '-Wno-error=array-bounds -pipe'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/etc/X11']
- - args: ['cp', '@SOURCE_ROOT@/extra-files/xorg/xorg.conf', '@THIS_COLLECT_DIR@/etc/X11/']
-
- # `libxext` is the historical libX11-based catchall library for the X11
- # extensions without their own libraries.
- - name: libxext
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxext.git'
- tag: 'libXext-1.3.4'
- version: '1.3.4'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-malloc0returnsnull'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libsm` is a X session management library.
- - name: libsm
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libsm.git'
- tag: 'libSM-1.2.3'
- version: '1.2.3'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xtrans
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-gcc
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - libice
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxt
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxt.git'
- tag: 'libXt-1.2.1'
- version: '1.2.1'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - libsm
- - libice
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-malloc0returnsnull'
- - '--with-appdefaultdir=/etc/X11/app-defaults'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxmu` contains miscellaneous utilities and is not part of the Xlib
- # standard
- - name: libxmu
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxmu.git'
- tag: 'libXmu-1.1.3'
- version: '1.1.3'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xtrans
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxext
- - libxtrans
- - libxt
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libice` is a inter-client exchange library.
- - name: libice
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libice.git'
- tag: 'libICE-1.0.10'
- version: '1.0.10'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-xtrans
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxaw` is the X athena widget set.
- - name: libxaw
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxaw.git'
- tag: 'libXaw-1.0.14'
- version: '1.0.14'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxext
- - libxt
- - libxmu
- - libxpm
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxpm` is X Pixmap (XPM) image file format library.
- - name: libxpm
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxpm.git'
- tag: 'libXpm-3.5.13'
- version: '3.5.13'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxext
- - libxt
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxrender` is a library for the Render Extension to the X11 protocol
- - name: libxrender
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxrender.git'
- tag: 'libXrender-0.9.10'
- version: '0.9.10'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-malloc0returnsnull'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxft` is X FreeType library.
- - name: libxft
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxft.git'
- tag: 'libXft-2.3.4'
- version: '2.3.4'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxrender
- - freetype
- - fontconfig
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxi` is library for the X input extension.
- - name: libxi
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxi.git'
- tag: 'libXi-1.8'
- version: '1.8'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - libxext
- - libxfixes
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-malloc0returnsnull'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `libxfixes` is xfixes extension library.
- - name: libxfixes
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxfixes.git'
- tag: 'libXfixes-6.0.0'
- version: '6.0.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # `xeyes` is a follow the mouse X demo, using the X shape extension.
- - name: xeyes
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/app/xeyes.git'
- tag: 'xeyes-1.2.0'
- version: '1.2.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - libx11
- - libxmu
- - libxaw
- - libxrender
- - libxft
- - libxt
- - libxkbfile
- - libiconv
- - libxi
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-selective-werror' # strncasecmp
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: limine-term
- source:
- subdir: 'bundled'
- git: 'https://github.com/Andy-Python-Programmer/limine-term-emu'
- branch: 'master'
- regenerate:
- - args: ['git', 'submodule', 'update', '--init']
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- - virtual: pkgconfig-for-host
- program_name: host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - libx11
- - libxmu
- - libxaw
- - libxrender
- - libxft
- - libxt
- - libxkbfile
- - libiconv
- - libxi
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja', '-j@PARALLELISM@']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: dwm
- source:
- subdir: 'bundled'
- git: 'https://git.suckless.org/dwm/'
- branch: master
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - libx11
- - libxmu
- - libxaw
- - libxrender
- - libxft
- - libxt
- - libxkbfile
- - libiconv
- - libxi
- - dejavu
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- build:
- - args: ['make', 'CC=x86_64-aero-gcc', 'CXX=x86_64-aero-g++']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xwallpaper
- source:
- subdir: 'bundled'
- git: 'https://github.com/stoeckmann/xwallpaper'
- branch: 'master'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxcb-image
- - libxcb-util
- - libpng
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: dmenu
- source:
- subdir: 'bundled'
- git: 'https://git.suckless.org/dmenu/'
- branch: master
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - libx11
- - libxmu
- - libxaw
- - libxrender
- - libxft
- - libxt
- - libxkbfile
- - libiconv
- - libxi
- - dejavu
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/.', '@THIS_BUILD_DIR@']
- build:
- - args: ['make', 'CC=x86_64-aero-gcc', 'CXX=x86_64-aero-g++']
- - args: ['make', 'install']
- environ:
- PREFIX: '/usr'
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: dejavu
- source:
- subdir: bundled
- url: 'https://sourceforge.net/projects/dejavu/files/dejavu/2.37/dejavu-fonts-ttf-2.37.tar.bz2'
- format: 'tar.bz2'
- checksum: blake2b:d8614907887f20967fc7c75cb33b636a0eb5c682a076ccc7aef09f4ac243507afc005ef90d0b2aeee6a4a6a1ff3d5ce4fac0d1722a382525b3883ef53cdec26a
- extract_path: 'dejavu-fonts-ttf-2.37'
- version: '2.37'
- pkgs_required:
- - freetype
- - fontconfig
- revision: 3
- configure:
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/ttf', '@THIS_SOURCE_DIR@/dejavu']
- - args: ['cp', '-r', '@THIS_SOURCE_DIR@/', '@THIS_BUILD_DIR@']
- build:
- - args: ['mkdir', '-p', '@THIS_COLLECT_DIR@/usr/share/fonts/truetype/']
- - args: ['cp', '-r', '@THIS_BUILD_DIR@/dejavu/dejavu', '@THIS_COLLECT_DIR@/usr/share/fonts/truetype/']
- scripts:
- post_install:
- - args: 'echo "Running fc-cache; this may take a few seconds..."'
- - args: ['fc-cache']
-
- - name: libxv
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxv.git'
- tag: 'libXv-1.0.11'
- version: '1.0.11'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxext
- - libxfixes
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-malloc0returnsnull'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxrandr
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxrandr.git'
- tag: 'libXrandr-1.5.2'
- version: '1.5.2'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - libxrender
- - libxext
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--disable-malloc0returnsnull'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xkbcomp
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/app/xkbcomp.git'
- tag: 'xkbcomp-1.4.5'
- version: '1.4.5'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - libx11
- - libxkbfile
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxkbcommon
- source:
- subdir: 'bundled'
- git: 'https://github.com/xkbcommon/libxkbcommon.git'
- tag: 'xkbcommon-1.4.0'
- version: '1.4.0'
- tools_required:
- - host-pkg-config
- - host-gcc
- - virtual: pkgconfig-for-host
- program_name: host-pkg-config
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - libxcb
- - libxml
- - xkeyboard-config
- configure:
- - args:
- - 'meson'
- - '--native-file'
- - '@SOURCE_ROOT@/userland/native-file.ini'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--libdir=lib'
- - '--buildtype=release'
- - '-Denable-docs=false'
- - '-Denable-x11=true'
- - '-Denable-wayland=false'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- - args: ['mkdir', '-p', "@THIS_COLLECT_DIR@/usr/share/X11/xkb"]
-
- - name: xkbutils
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/app/xkbutils.git'
- tag: 'xkbutils-1.0.4'
- version: '1.0.4'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['autoreconf', '-vfi']
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxt
- - libxaw
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xkeyboard-config
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config.git'
- tag: 'xkeyboard-config-2.34'
- version: '2.34'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-gcc
- pkgs_required:
- - mlibc
- - libx11
- - xorg-proto
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--with-xkb-rules-symlink=xorg'
- - '--disable-nls'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xf86-input-keyboard
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/driver/xf86-input-keyboard.git'
- tag: 'xf86-input-keyboard-1.9.0'
- version: '1.9.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-server
- - xorg-util-macros
- - libx11
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: xf86-video-fbdev
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/driver/xf86-video-fbdev.git'
- tag: 'xf86-video-fbdev-0.5.0'
- version: '0.5.0'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- regenerate:
- - args: ['./autogen.sh']
- environ:
- NOCONFIGURE: 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-server
- - xorg-util-macros
- - libx11
- - libxrandr
- - libxrender
- - libxv
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- - '--disable-pciaccess'
- environ:
- SYSROOT: '@SYSROOT_DIR@'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install-strip']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxtst
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxtst.git'
- tag: 'libXtst-1.2.4'
- version: '1.2.4'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-autoconf-archive
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - libxext
- - libxi
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- # X Damage Extension library
- - name: libxdamage
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxdamage.git'
- tag: 'libXdamage-1.1.5'
- version: '1.1.5'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-autoconf-archive
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-pkg-config
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxtrans
- - libxfixes
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: pango
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/pango.git'
- tag: '1.50.11'
- version: '1.50.11'
- tools_required:
- - host-pkg-config
- - host-gcc
- - host-glib
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - glib
- - fontconfig
- - freetype
- - fribidi
- - cairo
- - xorg-proto
- - libx11
- - libxtrans
- - libxext
- - harfbuzz
- - libxft
- revision: 2
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--buildtype=release'
- - '-Dintrospection=disabled'
- - '--wrap-mode=nofallback'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: gdk-pixbuf
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/gdk-pixbuf.git'
- tag: '2.40.0'
- version: '2.40.0'
- tools_required:
- - host-gcc
- - host-libtool
- - host-pkg-config
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- pkgs_required:
- - mlibc
- - glib
- - libjpeg-turbo
- - libpng
- - shared-mime-info
- - libx11
- configure:
- - args:
- - 'meson'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '-Dgir=false'
- - '-Dman=false'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- scripts:
- post_install:
- - args: ['gdk-pixbuf-query-loaders', '--update-cache']
-
- - name: shared-mime-info
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xdg/shared-mime-info.git'
- tag: 'Release-1-15'
- version: '1.15'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- - host-python
- pkgs_required:
- - mlibc
- - glib
- - libxml
- - itstool
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-update-mimedb'
- environ:
- 'ITSTOOL': '/usr/bin/itstool'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- scripts:
- post_install:
- - args: 'echo "Running update-mime-database; this may take a minute or 2..."'
- - args: '/usr/bin/update-mime-database /usr/share/mime/'
-
- # Collection of GSettings schemas for GNOME desktop
- #
- # This package contains a collection of GSettings schemas for
- # settings shared by various components of a GNOME Desktop.
- #- name: gsettings-desktop-schemas
- # source:
- # subdir: 'bundled'
- # git: 'https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas.git'
- # tag: '42.0'
- # version: '42.0'
- # tools_required:
- # - host-gcc
- # - host-gobject-introspection
- # - host-libtool
- # - host-pkg-config
- # - virtual: pkgconfig-for-target
- # triple: "x86_64-aero"
- # pkgs_required:
- # - mlibc
- # - glib
- # configure:
- # - args: |
- # sed -i -r 's:"(/system):"/org/gnome\1:g' @THIS_SOURCE_DIR@/schemas/*.in
- # - args:
- # - 'meson'
- # - '--cross-file'
- # - '@SOURCE_ROOT@/userland/cross-file.ini'
- # - '--prefix=/usr'
- # - '-Dintrospection=false'
- # - '@THIS_SOURCE_DIR@'
- # build:
- # - args: ['ninja']
- # - args: ['ninja', 'install']
- # environ:
- # DESTDIR: '@THIS_COLLECT_DIR@'
- # scripts:
- # post_install:
- # - args: 'glib-compile-schemas /usr/share/glib-2.0/schemas'
-
- - name: gtk+-3
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/gtk.git'
- tag: '3.24.23'
- version: '3.24.23'
- tools_required:
- - host-gcc
- - virtual: pkgconfig-for-target
- triple: "x86_64-aero"
- - host-glib
- pkgs_required:
- - mlibc
- - atk
- - at-spi2-atk
- - cairo
- - glib
- - gdk-pixbuf
- - libx11
- - libxext
- - libxcb
- - libxrender
- - libxrandr
- - libxfixes
- - libxdamage
- - pango
- - fribidi
- - libepoxy
- - libxkbcommon
- - fontconfig
- - freetype
- - libxi
- - harfbuzz
- - libxcursor
- #- gsettings-desktop-schemas
- - dbus
- configure:
- - args:
- - 'meson'
- - '--native-file'
- - '@SOURCE_ROOT@/userland/native-file.ini'
- - '--cross-file'
- - '@SOURCE_ROOT@/userland/cross-file.ini'
- - '--prefix=/usr'
- - '--libdir=lib'
- - '--buildtype=debugoptimized'
- - '-Dprint_backends=file'
- - '-Dintrospection=false'
- - '-Dx11_backend=true'
- - '-Dwayland_backend=false'
- - '-Dbroadway_backend=true'
- - '-Dgtk_doc=false'
- - '-Dcolord=no'
- - '@THIS_SOURCE_DIR@'
- build:
- - args: ['ninja']
- - args: ['ninja', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
- scripts:
- post_install:
- - args: ['gtk-query-immodules-3.0', '--update-cache']
- - args: ['glib-compile-schemas', '/usr/share/glib-2.0/schemas']
-
- # X.Org Xcomposite library
- - name: libxcomposite
- source:
- subdir: 'bundled'
- git: 'https://gitlab.freedesktop.org/xorg/lib/libxcomposite.git'
- tag: 'libXcomposite-0.4.5'
- version: '0.4.5'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- - host-xorg-macros
- - host-autoconf-archive
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - xorg-util-macros
- - xorg-proto
- - libx11
- - libxfixes
- configure:
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--sysconfdir=/etc'
- - '--localstatedir=/var'
- - '--disable-static'
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
-
- - name: libxslt
- source:
- subdir: 'bundled'
- git: 'https://gitlab.gnome.org/GNOME/libxslt.git'
- tag: 'v1.1.34'
- version: '1.1.34'
- tools_required:
- - host-autoconf-v2.69
- - host-automake-v1.16
- - host-libtool
- - host-pkg-config
- regenerate:
- - args: ['./autogen.sh']
- environ:
- 'NOCONFIGURE': 'yes'
- tools_required:
- - host-gcc
- pkgs_required:
- - mlibc
- - libxml
- configure:
- # BLFS increases the recursion limit, apparently some packages need that to build their documentation.
- - args: ['sed', '-i', 's/3000/5000/', '@THIS_SOURCE_DIR@/libxslt/transform.c']
- - args: ['sed', '-i', 's/3000/5000/', '@THIS_SOURCE_DIR@/doc/xsltproc.1']
- - args: ['sed', '-i', 's/3000/5000/', '@THIS_SOURCE_DIR@/doc/xsltproc.xml']
- - args:
- - '@THIS_SOURCE_DIR@/configure'
- - '--host=x86_64-aero'
- - '--prefix=/usr'
- - '--disable-static'
- - '--without-crypto'
- - '--without-debug'
- - '--without-debugger'
- - '--without-profiler'
- - '--without-python'
- - '--with-sysroot=@SYSROOT_DIR@' # Set libtool's lt_sysroot.
- build:
- - args: ['make', '-j@PARALLELISM@']
- - args: ['make', 'install']
- environ:
- DESTDIR: '@THIS_COLLECT_DIR@'
diff --git a/build-support/cross-llvm-config b/build-support/cross-llvm-config
new file mode 100755
index 00000000000..0a8bf851e4f
--- /dev/null
+++ b/build-support/cross-llvm-config
@@ -0,0 +1,95 @@
+#!/usr/bin/env python3
+
+# This file was taken from Managarm and I have no clue what it does.
+
+import argparse
+import sys
+import os
+
+our_version = 17
+
+
+def do_version():
+ return '{}.0.6'.format(our_version)
+
+
+def do_components():
+ return 'all all-targets analysis asmparser asmprinter binaryformat bitreader bitwriter codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfomsf debuginfopdb demangle dlltooldriver engine executionengine fuzzmutate globalisel gtest gtest_main instcombine instrumentation interpreter ipo irreader libdriver lineeditor linker lto mc mcdisassembler mcjit mcparser mirparser native nativecodegen objcarcopts object objectyaml option orcjit passes profiledata runtimedyld scalaropts selectiondag support symbolize tablegen target testingsupport transformutils vectorize windowsmanifest x86 x86asmparser x86asmprinter x86codegen x86desc x86disassembler x86info x86utils'
+
+
+def do_targets_built():
+ return 'X86'
+
+
+def get_includedir():
+ return '/sysroot/usr/include'
+
+
+def get_libdir():
+ return '/sysroot/usr/lib'
+
+
+def do_has_rtti():
+ return 'YES'
+
+
+def do_shared_mode():
+ return 'shared'
+
+
+def do_libs():
+ return f'-lLLVM-{our_version}'
+
+
+def do_system_libs():
+ return f'-lLLVM-{our_version}'
+
+
+def do_cppflags():
+ return ''
+
+
+def do_cxxflags():
+ return ''
+
+
+def do_ldflags():
+ return '-L' + get_libdir()
+
+
+parser = argparse.ArgumentParser()
+parser.add_argument('--version', action='append_const',
+ dest='command', const=do_version)
+parser.add_argument('--targets-built', action='append_const',
+ dest='command', const=do_targets_built)
+parser.add_argument('--components', action='append_const',
+ dest='command', const=do_components)
+parser.add_argument('--includedir', action='append_const',
+ dest='command', const=get_includedir)
+parser.add_argument('--libdir', action='append_const',
+ dest='command', const=get_libdir)
+parser.add_argument('--has-rtti', action='append_const',
+ dest='command', const=do_has_rtti)
+parser.add_argument('--shared-mode', action='append_const',
+ dest='command', const=do_shared_mode)
+parser.add_argument('--link-shared', action='store_const',
+ dest='link', const='shared')
+parser.add_argument('--cppflags', action='append_const',
+ dest='command', const=do_cppflags)
+parser.add_argument('--cxxflags', action='append_const',
+ dest='command', const=do_cxxflags)
+parser.add_argument('--ldflags', action='append_const',
+ dest='command', const=do_ldflags)
+parser.add_argument('--libs', action='append_const',
+ dest='command', const=do_libs)
+parser.add_argument('--system-libs', action='append_const',
+ dest='command', const=do_system_libs)
+parser.add_argument('components', type=str, nargs='*')
+
+print("cross-llvm-config:", sys.argv, file=sys.stderr)
+
+args = parser.parse_args()
+for command in args.command:
+ result = command()
+ print("cross-llvm-config yields:", result, file=sys.stderr)
+ print(result)
diff --git a/build-support/jwm/system.jwmrc b/build-support/jwm/system.jwmrc
new file mode 100644
index 00000000000..031c5c4a3fa
--- /dev/null
+++ b/build-support/jwm/system.jwmrc
@@ -0,0 +1,229 @@
+
+
+
+
+
+
+ xterm
+ xfe
+
+
+
+
+ xscreensaver-command -lock
+
+
+
+
+
+
+
+
+
+
+
+ xterm
+
+
+
+ xclock
+
+
+
+
+
+
+
+ root:1
+
+ showdesktop
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sans-12:bold
+ 4
+ 0
+ #FFFFFF
+ #555555
+ 0.5
+
+ #FFFFFF
+ #0077CC
+ 1.0
+
+
+
+ Sans-12
+ #333333
+ #FFFFFF
+ 0.75
+
+
+ Sans-12
+
+ #FFFFFF
+ #555555
+
+ #FFFFFF
+ #333333
+
+
+ #555555
+ #333333
+ #FFFFFF
+
+ #0077CC
+ #004488
+
+
+
+ Sans-12
+ #FFFFFF
+ #333333
+
+ #FFFFFF
+ #0077CC
+
+ 0.85
+
+
+ Sans-12
+ #000000
+ #999999
+
+
+
+
+ /usr/local/share/icons/Tango/scalable/actions
+
+
+ /usr/local/share/icons/Tango/scalable/apps
+
+
+ /usr/local/share/icons/Tango/scalable/places
+
+
+ /usr/local/share/icons/Tango/scalable/status
+
+
+ /usr/local/share/icons/Tango/scalable/mimetypes
+
+
+ /usr/local/share/jwm
+
+
+
+
+
+
+ #111111
+
+
+
+ 400
+
+
+ 2
+
+
+ sloppy
+
+
+ border
+
+
+ opaque
+
+
+ opaque
+
+
+ up
+ down
+ right
+ left
+ left
+ down
+ up
+ right
+ select
+ escape
+
+ nextstacked
+ close
+ desktop#
+ root:1
+ window
+ maximize
+ rdesktop
+ ldesktop
+ udesktop
+ ddesktop
+
+
+ ldesktop
+ rdesktop
+
+ move
+ move
+ window
+ shade
+ shade
+ maximize
+
+ window
+ move
+ window
+ shade
+ shade
+
+ resize
+ move
+ window
+
+ close
+ move
+ close
+
+ maximize
+ maxv
+ maxh
+
+ minimize
+ move
+ shade
+
+
diff --git a/build-support/limine.cfg b/build-support/limine.cfg
new file mode 100644
index 00000000000..2ad5984fee2
--- /dev/null
+++ b/build-support/limine.cfg
@@ -0,0 +1,12 @@
+TIMEOUT=0
+VERBOSE=yes
+
+:aero
+PROTOCOL=limine
+KASLR=no
+KERNEL_PATH=boot:///aero
+CMDLINE=term-background=background theme-background=0x50000000
+#RESOLUTION=1920x1080
+
+MODULE_PATH=boot:///term_background.bmp
+MODULE_CMDLINE=background
diff --git a/build-support/mkimage.sh b/build-support/mkimage.sh
new file mode 100755
index 00000000000..eb6bb7b792d
--- /dev/null
+++ b/build-support/mkimage.sh
@@ -0,0 +1,33 @@
+IMAGE_PATH=target/disk.img
+
+./target/jinx sysroot
+
+rm -rf $IMAGE_PATH
+
+dd if=/dev/zero of=$IMAGE_PATH bs=1G count=0 seek=512
+parted -s $IMAGE_PATH mklabel gpt
+parted -s $IMAGE_PATH mkpart primary 2048s 100%
+
+# ensure loop kernel module is enabled
+if ! lsmod | grep -q 'loop'; then
+ echo 'mkimage.sh: `loop` kernel module not found, attempting to load'
+ sudo modprobe loop
+fi
+
+sudo losetup -Pf --show $IMAGE_PATH > loopback_dev
+sudo mkfs.ext2 `cat loopback_dev`p1 -I128
+
+rm -rf target/disk_image/
+mkdir target/disk_image
+sudo mount `cat loopback_dev`p1 target/disk_image
+sudo cp -r -v sysroot/. target/disk_image/
+pushd target/disk_image
+sudo mkdir dev proc tmp
+popd
+sync
+sudo umount target/disk_image/
+sudo losetup -d `cat loopback_dev`
+sync
+
+rm -rf loopback_dev
+rm -rf target/disk_image
diff --git a/build-support/mkiso.sh b/build-support/mkiso.sh
new file mode 100755
index 00000000000..4a0d021d9a9
--- /dev/null
+++ b/build-support/mkiso.sh
@@ -0,0 +1,24 @@
+set -ex
+
+./target/jinx host-build limine
+
+rm -rf target/iso_root
+mkdir -pv target/iso_root/boot
+
+cp $1 target/iso_root/aero
+cp build-support/limine.cfg src/.cargo/term_background.bmp target/iso_root/
+
+# Install the limine binaries
+cp host-pkgs/limine/usr/local/share/limine/limine-bios.sys target/iso_root/boot/
+cp host-pkgs/limine/usr/local/share/limine/limine-bios-cd.bin target/iso_root/boot/
+cp host-pkgs/limine/usr/local/share/limine/limine-uefi-cd.bin target/iso_root/boot/
+mkdir -pv target/iso_root/EFI/BOOT
+cp host-pkgs/limine/usr/local/share/limine/BOOT*.EFI target/iso_root/EFI/BOOT/
+
+# Create the disk image.
+xorriso -as mkisofs -b boot/limine-bios-cd.bin -no-emul-boot -boot-load-size 4 \
+ -boot-info-table --efi-boot boot/limine-uefi-cd.bin -efi-boot-part \
+ --efi-boot-image --protective-msdos-label target/iso_root -o target/aero.iso
+
+# Install limine.
+host-pkgs/limine/usr/local/bin/limine bios-install target/aero.iso
diff --git a/extra-files/python/python-config-site b/build-support/python/python-config-site
similarity index 100%
rename from extra-files/python/python-config-site
rename to build-support/python/python-config-site
diff --git a/build-support/rust/config.toml b/build-support/rust/config.toml
new file mode 100644
index 00000000000..32c4c163307
--- /dev/null
+++ b/build-support/rust/config.toml
@@ -0,0 +1,22 @@
+# [unstable]
+# patch-in-config = true
+
+[build]
+rustc = "/base_dir/host-pkgs/rust/bin/rustc"
+target = "x86_64-unknown-aero"
+rustflags = ["-C", "link-args=-no-pie", "-C", "link-args=-lgcc_s"]
+
+[target.x86_64-unknown-aero]
+linker = "/base_dir/host-pkgs/gcc/usr/local/bin/x86_64-aero-gcc"
+
+[patch.crates-io]
+libc = { path = "/base_dir/sources/rust-libc" }
+# num_cpus = { path = "@SOURCE_ROOT@/bundled/rust-num-cpus" }
+# users = { path = "@SOURCE_ROOT@/bundled/rust-users" }
+# winit = { path = "@SOURCE_ROOT@/bundled/rust-winit" }
+# nix = { path = "@SOURCE_ROOT@/bundled/rust-nix" }
+# mio-06 = { path = "@SOURCE_ROOT@/bundled/rust-mio-0.6", package = "mio" }
+# mio-08 = { path = "@SOURCE_ROOT@/bundled/rust-mio-0.8", package = "mio" }
+# glutin = { path = "@SOURCE_ROOT@/bundled/rust-glutin/glutin" }
+# shared_library = { path = "@SOURCE_ROOT@/bundled/rust-shared-library" }
+# libloading = { path = "@SOURCE_ROOT@/bundled/rust-libloading" }
diff --git a/build-support/rust/host-config.toml b/build-support/rust/host-config.toml
new file mode 100644
index 00000000000..2ab356d1e3e
--- /dev/null
+++ b/build-support/rust/host-config.toml
@@ -0,0 +1,2 @@
+[patch.crates-io]
+libc = { path = "/base_dir/sources/rust-libc" }
diff --git a/extra-files/firefox/mozconfig b/extra-files/firefox/mozconfig
new file mode 100644
index 00000000000..fe6dcdbdeb6
--- /dev/null
+++ b/extra-files/firefox/mozconfig
@@ -0,0 +1,26 @@
+ac_add_options --disable-necko-wifi
+ac_add_options --target=x86_64-aero
+ac_add_options --with-toolchain-prefix=x86_64-aero
+ac_add_options --enable-project=browser
+ac_add_options --enable-alsa
+ac_add_options --prefix=/usr
+
+ac_add_options --enable-optimize
+
+# use system libs if possible
+ac_add_options --with-system-nss
+ac_add_options --with-system-jpeg
+ac_add_options --with-system-zlib
+ac_add_options --with-system-icu
+ac_add_options --with-system-libevent
+ac_add_options --with-system-nspr
+ac_add_options --with-system-nss
+ac_add_options --with-system-webp
+
+ac_add_options --enable-default-toolkit=cairo-gtk3
+
+ac_add_options --disable-pulseaudio
+ac_add_options --disable-crashreporter
+ac_add_options --disable-dbus
+ac_add_options --disable-updater
+ac_add_options --disable-tests
diff --git a/extra-files/rust/config.toml b/extra-files/rust/config.toml
deleted file mode 100644
index 40913d37e88..00000000000
--- a/extra-files/rust/config.toml
+++ /dev/null
@@ -1,22 +0,0 @@
-[unstable]
-patch-in-config = true
-
-[build]
-rustc = "@BUILD_ROOT@/tools/host-rust/bin/rustc"
-target = "x86_64-unknown-aero-system"
-rustflags = ["-C", "link-args=-no-pie"]
-
-[target.x86_64-unknown-aero-system]
-linker = "@BUILD_ROOT@/tools/host-gcc/bin/x86_64-aero-gcc"
-
-[patch.crates-io]
-libc = { path = "@SOURCE_ROOT@/bundled/rust-libc" }
-num_cpus = { path = "@SOURCE_ROOT@/bundled/rust-num-cpus" }
-users = { path = "@SOURCE_ROOT@/bundled/rust-users" }
-winit = { path = "@SOURCE_ROOT@/bundled/rust-winit" }
-nix = { path = "@SOURCE_ROOT@/bundled/rust-nix" }
-mio-06 = { path = "@SOURCE_ROOT@/bundled/rust-mio-0.6", package = "mio" }
-mio-08 = { path = "@SOURCE_ROOT@/bundled/rust-mio-0.8", package = "mio" }
-glutin = { path = "@SOURCE_ROOT@/bundled/rust-glutin/glutin" }
-shared_library = { path = "@SOURCE_ROOT@/bundled/rust-shared-library" }
-libloading = { path = "@SOURCE_ROOT@/bundled/rust-libloading" }
diff --git a/host-recipes/autoconf b/host-recipes/autoconf
new file mode 100644
index 00000000000..08a52ad8039
--- /dev/null
+++ b/host-recipes/autoconf
@@ -0,0 +1,16 @@
+name=autoconf
+from_source=autoconf
+revision=1
+
+build() {
+ "${source_dir}"/configure --prefix="${prefix}"
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/autoconf-2.69 b/host-recipes/autoconf-2.69
new file mode 100644
index 00000000000..9593c60ac1d
--- /dev/null
+++ b/host-recipes/autoconf-2.69
@@ -0,0 +1,16 @@
+name=autoconf-2.69
+from_source=autoconf-2.69
+revision=1
+
+build() {
+ "${source_dir}"/configure --prefix="${prefix}"
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/automake b/host-recipes/automake
new file mode 100644
index 00000000000..ba10abce956
--- /dev/null
+++ b/host-recipes/automake
@@ -0,0 +1,21 @@
+name=automake
+from_source=automake
+revision=1
+hostdeps="autoconf"
+imagedeps="gcc"
+
+build() {
+ "${source_dir}"/configure --prefix="${prefix}"
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+
+ cp -pv /usr/local/share/autoconf/build-aux/config.sub "${dest_dir}${prefix}"/share/automake-1.16/
+ cp -pv /usr/local/share/autoconf/build-aux/config.guess "${dest_dir}${prefix}"/share/automake-1.16/
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/binutils b/host-recipes/binutils
new file mode 100644
index 00000000000..1fa8fb86e0d
--- /dev/null
+++ b/host-recipes/binutils
@@ -0,0 +1,24 @@
+name=binutils
+from_source=binutils
+revision=1
+imagedeps="gcc"
+hostdeps="autoconf-2.69 automake libtool pkg-config"
+
+build() {
+ "${source_dir}"/configure \
+ --prefix="${prefix}" \
+ --target=${OS_TRIPLET} \
+ --with-sysroot="${sysroot_dir}" \
+ --disable-nls \
+ --disable-werror \
+ --disable-dependency-tracking
+
+ make -j${parallelism} all
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/cmake b/host-recipes/cmake
new file mode 100644
index 00000000000..31536bc001b
--- /dev/null
+++ b/host-recipes/cmake
@@ -0,0 +1,18 @@
+name=cmake
+from_source=cmake
+revision=1
+imagedeps="gcc"
+
+build() {
+ "${source_dir}"/configure --prefix="${prefix}" --parallel="${parallelism}"
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+ echo 'include(Platform/UnixPaths)' > "${dest_dir}${prefix}/share/cmake-3.27/Modules/Platform/Aero.cmake"
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/gcc b/host-recipes/gcc
new file mode 100644
index 00000000000..a102d4ab4e4
--- /dev/null
+++ b/host-recipes/gcc
@@ -0,0 +1,38 @@
+name=gcc
+from_source=gcc-host
+revision=1
+imagedeps="gcc"
+hostdeps="autoconf-2.69 automake libtool pkg-config"
+hostrundeps="binutils"
+deps="mlibc-headers"
+
+build() {
+ cp -rp "${source_dir}"/. ./
+
+ mkdir build && cd build
+
+ CXXFLAGS_FOR_TARGET="$CFLAGS" \
+ CFLAGS_FOR_TARGET="$CFLAGS" \
+ ../configure \
+ --prefix="${prefix}" \
+ --target=${OS_TRIPLET} \
+ --with-sysroot="${sysroot_dir}" \
+ --disable-nls \
+ --enable-languages=c,c++,lto \
+ --disable-multilib \
+ --enable-initfini-array \
+ --enable-shared \
+ --enable-host-shared
+
+ make -j${parallelism} all-gcc
+}
+
+package() {
+ cd build
+ DESTDIR="${dest_dir}" make install-gcc
+
+ ln -s ${OS_TRIPLET}-gcc "${dest_dir}${prefix}/bin/${OS_TRIPLET}-cc"
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/gnulib b/host-recipes/gnulib
new file mode 100644
index 00000000000..a0711c37a7b
--- /dev/null
+++ b/host-recipes/gnulib
@@ -0,0 +1,3 @@
+name=gnulib
+from_source=gnulib
+revision=1
diff --git a/host-recipes/intltool b/host-recipes/intltool
new file mode 100644
index 00000000000..3825495b4d0
--- /dev/null
+++ b/host-recipes/intltool
@@ -0,0 +1,20 @@
+name=intltool
+from_source=intltool
+revision=1
+hostdeps="autoconf automake libtool pkg-config"
+imagedeps="gcc perl-xml-parser"
+
+build() {
+ #cp -rp "${source_dir}"/. ./
+ ${source_dir}/configure \
+ --prefix="${prefix}"
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/libgcc-binaries b/host-recipes/libgcc-binaries
new file mode 100644
index 00000000000..6328e669e67
--- /dev/null
+++ b/host-recipes/libgcc-binaries
@@ -0,0 +1,8 @@
+name=libgcc-binaries
+from_source=libgcc-binaries
+revision=1
+
+package() {
+ mkdir -p ${dest_dir}${prefix}/libgcc-binaries
+ cp -rv ${source_dir}/. ${dest_dir}${prefix}/libgcc-binaries/
+}
diff --git a/host-recipes/libtool b/host-recipes/libtool
new file mode 100644
index 00000000000..3141fc5d9e3
--- /dev/null
+++ b/host-recipes/libtool
@@ -0,0 +1,23 @@
+name=libtool
+from_source=libtool
+revision=1
+hostdeps="autoconf automake"
+imagedeps="help2man gcc"
+
+build() {
+ cp -rp "${source_dir}"/. ./
+ ./configure \
+ --prefix="${prefix}"
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+
+ cp -pv /usr/local/share/autoconf/build-aux/config.sub "${dest_dir}${prefix}"/share/libtool/build-aux/
+ cp -pv /usr/local/share/autoconf/build-aux/config.guess "${dest_dir}${prefix}"/share/libtool/build-aux/
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/limine b/host-recipes/limine
new file mode 100644
index 00000000000..d93f3e397db
--- /dev/null
+++ b/host-recipes/limine
@@ -0,0 +1,24 @@
+name=limine
+from_source=limine
+revision=1
+hostdeps="gcc pkg-config"
+imagedeps="nasm gcc mtools"
+
+build() {
+ "${source_dir}"/configure \
+ --enable-uefi-ia32 \
+ --enable-uefi-x86-64 \
+ --enable-uefi-cd \
+ --enable-bios \
+ --enable-bios-cd \
+ --enable-bios-pxe
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/llvm b/host-recipes/llvm
new file mode 100644
index 00000000000..6bfe5294b3b
--- /dev/null
+++ b/host-recipes/llvm
@@ -0,0 +1,27 @@
+name=llvm
+version=17.0.6
+revision=1
+from_source=llvm-host
+imagedeps="gcc cmake ninja git"
+source_deps="binutils"
+
+build() {
+ cmake \
+ -GNinja \
+ -DCMAKE_INSTALL_PREFIX="${prefix}" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLLVM_TARGETS_TO_BUILD=X86 \
+ -DLLVM_ENABLE_PROJECTS="llvm;clang;clang-tools-extra" \
+ -DDEFAULT_SYSROOT="${sysroot_dir}" \
+ -DLLVM_BINUTILS_INCDIR="${source_dir}/../binutils/include" \
+ "${source_dir}/llvm"
+
+ ninja -j ${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" ninja install
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/pkg-config b/host-recipes/pkg-config
new file mode 100644
index 00000000000..ee2b4f6a190
--- /dev/null
+++ b/host-recipes/pkg-config
@@ -0,0 +1,28 @@
+name=pkg-config
+from_source=pkg-config
+revision=1
+imagedeps="gcc"
+hostdeps="automake autoconf libtool"
+
+build() {
+ "${source_dir}"/configure \
+ --prefix="${prefix}"
+
+ make -j${parallelism}
+}
+
+package() {
+ DESTDIR="${dest_dir}" make install
+ mkdir -p "${dest_dir}${prefix}/share/pkgconfig/personality.d"
+ cat <"${dest_dir}${prefix}/share/pkgconfig/personality.d/${OS_TRIPLET}.personality"
+Triplet: ${OS_TRIPLET}
+SysrootDir: ${sysroot_dir}
+DefaultSearchPaths: ${sysroot_dir}/usr/lib/pkgconfig:${sysroot_dir}/usr/share/pkgconfig
+SystemIncludePaths: ${sysroot_dir}/usr/include
+SystemLibraryPaths: ${sysroot_dir}/usr/lib
+EOF
+ ln -s pkgconf "${dest_dir}${prefix}/bin/${OS_TRIPLET}-pkg-config"
+
+ strip_command=strip \
+ post_package_strip
+}
diff --git a/host-recipes/rust b/host-recipes/rust
new file mode 100644
index 00000000000..f81ef8402f5
--- /dev/null
+++ b/host-recipes/rust
@@ -0,0 +1,25 @@
+name=rust
+revision=1
+from_source=rust-host
+hostdeps="llvm gcc rust-libc"
+source_deps="rust-libc"
+imagedeps="python git wget gcc"
+allow_network="yes"
+
+build() {
+ echo "Patching out rust memes..."
+ cp -rp "${source_dir}/." ./
+
+ mkdir /tmp/cargo
+ cp ${base_dir}/build-support/rust/host-config.toml /tmp/cargo/config.toml
+ CARGO_HOME=/tmp/cargo ./x.py build --stage 2 -j${parallelism} --verbose
+}
+
+package() {
+ CARGO_HOME=/tmp/cargo DESTDIR="${dest_dir}" ./x.py install -j${parallelism}
+
+ find ${dest_dir} -name "*.old" -delete
+
+ strip_command=strip
+ post_package_strip
+}
diff --git a/host-recipes/rust-libc b/host-recipes/rust-libc
new file mode 100644
index 00000000000..1b29226398a
--- /dev/null
+++ b/host-recipes/rust-libc
@@ -0,0 +1,3 @@
+name=rust-libc
+from_source=rust-libc
+revision=1
diff --git a/improving-build-times.txt b/improving-build-times.txt
new file mode 100644
index 00000000000..6b611793f40
--- /dev/null
+++ b/improving-build-times.txt
@@ -0,0 +1,7 @@
+total_build: 28.36s
+rebuild: 8.27s
+
+16/3/2024
+---------
+total_build: 27.29s
+rebuild: 9.50s
diff --git a/jinx-config b/jinx-config
new file mode 100644
index 00000000000..fe0d9974467
--- /dev/null
+++ b/jinx-config
@@ -0,0 +1,72 @@
+JINX_MAJOR_VER=0.2
+
+export CFLAGS='-O2 -pipe'
+export CXXFLAGS="${CFLAGS}"
+
+OS_TRIPLET=x86_64-aero
+export CARGO_HOME="${base_dir}/target/cargo-home"
+
+# Required by scripts/mkimage
+imagedeps="parted"
+
+autotools_recursive_regen() {
+ ACLOCAL_INCLUDE=""
+ if [ -d ${sysroot_dir}/usr/share/aclocal ]; then
+ ACLOCAL_INCLUDE="-I${sysroot_dir}/usr/share/aclocal"
+ fi
+
+ for f in $(find . -name configure.ac -type f); do
+ echo "* autotools regen in '$(dirname $f)'..."
+ ( cd "$(dirname "$f")" && autoreconf -fvi "$@" $ACLOCAL_INCLUDE )
+ done
+}
+
+post_package_strip() {
+ if [ -z "$strip_command" ]; then
+ strip_command="${OS_TRIPLET}-strip"
+ fi
+
+ for f in $(find "${dest_dir}"); do
+ if file "$f" | grep 'not stripped' >/dev/null; then
+ echo "* stripping '$f'..."
+ stripped_file="$(mktemp)"
+ ${strip_command} "$f" -o "$stripped_file"
+ chmod --reference="$f" "$stripped_file"
+ mv -f "$stripped_file" "$f"
+ fi
+ done
+}
+
+autotools_configure() {
+ if [ -z "${configure_script_path}" ]; then
+ configure_script_path="${source_dir}/configure"
+ fi
+
+ ${configure_script_path} \
+ --host=${OS_TRIPLET} \
+ --with-sysroot=${sysroot_dir} \
+ --prefix=${prefix} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libdir=${prefix}/lib \
+ --disable-static \
+ --enable-shared \
+ --disable-malloc0returnsnull \
+ "$@"
+}
+
+meson_configure() {
+ if [ -z "${meson_source_dir}" ]; then
+ meson_source_dir="${source_dir}"
+ fi
+
+ # TODO(andypython): Move cross-file.ini to build-support/
+ meson setup "${meson_source_dir}" \
+ --cross-file "${base_dir}/userland/cross-file.ini" \
+ --prefix=${prefix} \
+ --sysconfdir=/etc \
+ --libdir=lib \
+ --buildtype=release \
+ -Ddefault_library=shared \
+ "$@"
+}
diff --git a/patched.txt b/patched.txt
new file mode 100644
index 00000000000..f1b4bdf79af
--- /dev/null
+++ b/patched.txt
@@ -0,0 +1,5 @@
+bootstrap-host-gcc
+llvm
+rust-libc
+webkitgtk
+pixman
diff --git a/patches/alacritty/alacritty.patch b/patches/alacritty/alacritty.patch
deleted file mode 100644
index 3921b7fa3eb..00000000000
--- a/patches/alacritty/alacritty.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From b194e3d72903f677f2aacf9293706ff2027a413b Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Sun, 11 Dec 2022 18:43:18 +1100
-Subject: [PATCH]
-
----
- alacritty/src/display/window.rs | 8 ++++----
- alacritty_terminal/src/tty/unix.rs | 17 +++++++++--------
- 2 files changed, 13 insertions(+), 12 deletions(-)
-
-diff --git a/alacritty/src/display/window.rs b/alacritty/src/display/window.rs
-index ee2e74f..d75996b 100644
---- a/alacritty/src/display/window.rs
-+++ b/alacritty/src/display/window.rs
-@@ -128,9 +128,9 @@ fn create_gl_window(
- }
-
- let windowed_context = ContextBuilder::new()
-- .with_srgb(srgb)
-- .with_vsync(vsync)
-- .with_hardware_acceleration(None)
-+ // .with_srgb(srgb)
-+ // .with_vsync(vsync)
-+ // .with_hardware_acceleration(None)
- .build_windowed(window, event_loop)?;
-
- // Make the context current so OpenGL operations can run.
-@@ -292,7 +292,7 @@ impl Window {
- let builder = WindowBuilder::new()
- .with_title(&identity.title)
- .with_visible(false)
-- .with_transparent(true)
-+ .with_transparent(false)
- .with_decorations(window_config.decorations != Decorations::None)
- .with_maximized(window_config.maximized())
- .with_fullscreen(window_config.fullscreen());
-diff --git a/alacritty_terminal/src/tty/unix.rs b/alacritty_terminal/src/tty/unix.rs
-index 206dbe8..cb172ab 100644
---- a/alacritty_terminal/src/tty/unix.rs
-+++ b/alacritty_terminal/src/tty/unix.rs
-@@ -90,18 +90,19 @@ fn get_pw_entry(buf: &mut [i8; 1024]) -> Passwd<'_> {
- die!("getpwuid_r failed");
- }
-
-- if res.is_null() {
-- die!("pw not found");
-- }
-+ // if res.is_null() {
-+ // die!("pw not found");
-+ // }
-
-- // Sanity check.
-- assert_eq!(entry.pw_uid, uid);
-+ // // Sanity check.
-+ // assert_eq!(entry.pw_uid, uid);
-
- // Build a borrowed Passwd struct.
-+ // FIXME(mlibc): Assertion '!"slab_pool corruption. Possible write to unallocated object"' failed!
- Passwd {
-- name: unsafe { CStr::from_ptr(entry.pw_name).to_str().unwrap() },
-- dir: unsafe { CStr::from_ptr(entry.pw_dir).to_str().unwrap() },
-- shell: unsafe { CStr::from_ptr(entry.pw_shell).to_str().unwrap() },
-+ name: "root",
-+ dir: "/",
-+ shell: "/usr/bin/bash",
- }
- }
-
---
-2.38.1
-
diff --git a/patches/autoconf/jinx-working-patch.patch b/patches/autoconf/jinx-working-patch.patch
new file mode 100644
index 00000000000..b4e4be02eec
--- /dev/null
+++ b/patches/autoconf/jinx-working-patch.patch
@@ -0,0 +1,47 @@
+diff --git autoconf-clean/build-aux/config.guess autoconf-workdir/build-aux/config.guess
+index cdfc439..0e1b56a 100755
+--- autoconf-clean/build-aux/config.guess
++++ autoconf-workdir/build-aux/config.guess
+@@ -4,7 +4,8 @@
+
+ # shellcheck disable=SC2006,SC2268 # see below for rationale
+
+-timestamp='2023-08-22'
++# timestamp it to always be newer
++timestamp='9999-99-99'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -933,6 +934,9 @@ EOF
+ i*:PW*:*)
+ GUESS=$UNAME_MACHINE-pc-pw32
+ ;;
++ *:Aero:*:*)
++ GUESS=$UNAME_MACHINE-pc-aero
++ ;;
+ *:SerenityOS:*:*)
+ GUESS=$UNAME_MACHINE-pc-serenity
+ ;;
+diff --git autoconf-clean/build-aux/config.sub autoconf-workdir/build-aux/config.sub
+index defe52c..8600125 100755
+--- autoconf-clean/build-aux/config.sub
++++ autoconf-workdir/build-aux/config.sub
+@@ -4,7 +4,8 @@
+
+ # shellcheck disable=SC2006,SC2268 # see below for rationale
+
+-timestamp='2023-09-19'
++# timestamp it to always be newer
++timestamp='9999-99-99'
+
+ # This file is free software; you can redistribute it and/or modify it
+ # under the terms of the GNU General Public License as published by
+@@ -1749,7 +1750,7 @@ case $os in
+ | mirbsd* | netbsd* | dicos* | openedition* | ose* \
+ | bitrig* | openbsd* | secbsd* | solidbsd* | libertybsd* | os108* \
+ | ekkobsd* | freebsd* | riscix* | lynxos* | os400* \
+- | bosx* | nextstep* | cxux* | oabi* \
++ | bosx* | nextstep* | cxux* | oabi* | aero* \
+ | ptx* | ecoff* | winnt* | domain* | vsta* \
+ | udi* | lites* | ieee* | go32* | aux* | hcos* \
+ | chorusrdb* | cegcc* | glidix* | serenity* \
diff --git a/patches/automake-v1.16/automake-v1.16.patch b/patches/automake-v1.16/automake-v1.16.patch
deleted file mode 100644
index d0760f5c71a..00000000000
--- a/patches/automake-v1.16/automake-v1.16.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From bd762227b35e7afac102348e88f1aee3cfcab9c9 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Thu, 30 Dec 2021 13:16:15 +1100
-Subject: [PATCH] config.sub: add aero target
-
-Signed-off-by: Andy-Python-Programmer
----
- lib/config.sub | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/config.sub b/lib/config.sub
-index d74fb6d..194fc2c 100755
---- a/lib/config.sub
-+++ b/lib/config.sub
-@@ -1723,7 +1723,7 @@ case $os in
- | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
- | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
- | hiux* | abug | nacl* | netware* | windows* \
-- | os9* | macos* | osx* | ios* \
-+ | os9* | macos* | osx* | ios* | aero* \
- | mpw* | magic* | mmixware* | mon960* | lnews* \
- | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
- | aos* | aros* | cloudabi* | sortix* | twizzler* \
---
-2.25.1
-
diff --git a/patches/bash/bash.patch b/patches/bash/bash.patch
deleted file mode 100644
index ea6a0e0b730..00000000000
--- a/patches/bash/bash.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-From 50a9f0c440ae12cb24316ae5397976ab83ea7e6a Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Tue, 18 Jan 2022 13:35:43 +1100
-Subject: [PATCH] bash: add aero port
-
-Signed-off-by: Andy-Python-Programmer
----
- .vscode/settings.json | 3 +++
- builtins/psize.c | 19 +++-------------
- lib/readline/terminal.c | 2 +-
- lib/termcap/termcap.c | 2 +-
- mksyntax.c | 48 ++---------------------------------------
- shell.c | 4 ++--
- support/bashversion.c | 7 ++----
- support/config.sub | 2 +-
- support/man2html.c | 5 +++--
- support/mksignames.c | 2 --
- support/signames.c | 2 --
- 11 files changed, 18 insertions(+), 78 deletions(-)
- create mode 100644 .vscode/settings.json
-
-diff --git a/.vscode/settings.json b/.vscode/settings.json
-new file mode 100644
-index 0000000..9792498
---- /dev/null
-+++ b/.vscode/settings.json
-@@ -0,0 +1,3 @@
-+{
-+ "editor.formatOnSave": false
-+}
-\ No newline at end of file
-diff --git a/builtins/psize.c b/builtins/psize.c
-index 30881fb..be9c84b 100644
---- a/builtins/psize.c
-+++ b/builtins/psize.c
-@@ -21,25 +21,12 @@
- /* Write output in 128-byte chunks until we get a sigpipe or write gets an
- EPIPE. Then report how many bytes we wrote. We assume that this is the
- pipe size. */
--#include
--
--#if defined (HAVE_UNISTD_H)
--# ifdef _MINIX
--# include
--# endif
--# include
--#endif
-
- #include
--#ifndef _MINIX
--#include "../bashtypes.h"
--#endif
-+#include
- #include
- #include
--
--#include "../command.h"
--#include "../general.h"
--#include "../sig.h"
-+#include
-
- #ifndef errno
- extern int errno;
-@@ -47,7 +34,7 @@ extern int errno;
-
- int nw;
-
--sighandler
-+void
- sigpipe (sig)
- int sig;
- {
-diff --git a/lib/readline/terminal.c b/lib/readline/terminal.c
-index 05415dc..a6b5307 100644
---- a/lib/readline/terminal.c
-+++ b/lib/readline/terminal.c
-@@ -103,7 +103,7 @@ static char *term_string_buffer = (char *)NULL;
- static int tcap_initialized;
-
- #if !defined (__linux__) && !defined (NCURSES_VERSION)
--# if defined (__EMX__) || defined (NEED_EXTERN_PC)
-+# if defined (__EMX__) || defined (__aero__) || defined (NEED_EXTERN_PC)
- extern
- # endif /* __EMX__ || NEED_EXTERN_PC */
- char PC, *BC, *UP;
-diff --git a/lib/termcap/termcap.c b/lib/termcap/termcap.c
-index ba3dab2..2882f0c 100644
---- a/lib/termcap/termcap.c
-+++ b/lib/termcap/termcap.c
-@@ -627,7 +627,7 @@ scan_file (str, fd, bufp)
- bufp->ateof = 0;
- *bufp->ptr = '\0';
-
-- lseek (fd, 0L, 0);
-+ lseek (fd, 0L, SEEK_SET);
-
- while (!bufp->ateof)
- {
-diff --git a/mksyntax.c b/mksyntax.c
-index 0385686..1a73eca 100644
---- a/mksyntax.c
-+++ b/mksyntax.c
-@@ -20,16 +20,12 @@
- along with Bash. If not, see .
- */
-
--#include "config.h"
--
- #include
-+#include
- #include "bashansi.h"
- #include "chartypes.h"
- #include
--
--#ifdef HAVE_UNISTD_H
--# include
--#endif
-+#include
-
- #include "syntax.h"
-
-@@ -40,9 +36,7 @@ extern char *optarg;
- extern int errno;
- #endif
-
--#ifndef HAVE_STRERROR
- extern char *strerror();
--#endif
-
- struct wordflag {
- int flag;
-@@ -375,41 +369,3 @@ main(argc, argv)
- fclose (fp);
- exit (0);
- }
--
--
--#if !defined (HAVE_STRERROR)
--
--#include
--#if defined (HAVE_SYS_PARAM_H)
--# include
--#endif
--
--#if defined (HAVE_UNISTD_H)
--# include
--#endif
--
--/* Return a string corresponding to the error number E. From
-- the ANSI C spec. */
--#if defined (strerror)
--# undef strerror
--#endif
--
--char *
--strerror (e)
-- int e;
--{
-- static char emsg[40];
--#if defined (HAVE_SYS_ERRLIST)
-- extern int sys_nerr;
-- extern char *sys_errlist[];
--
-- if (e > 0 && e < sys_nerr)
-- return (sys_errlist[e]);
-- else
--#endif /* HAVE_SYS_ERRLIST */
-- {
-- sprintf (emsg, "Unknown system error %d", e);
-- return (&emsg[0]);
-- }
--}
--#endif /* HAVE_STRERROR */
-diff --git a/shell.c b/shell.c
-index ce8087f..b7475dd 100644
---- a/shell.c
-+++ b/shell.c
-@@ -1614,7 +1614,7 @@ open_shell_script (script_name)
- #endif
-
- /* Only do this with non-tty file descriptors we can seek on. */
-- if (fd_is_tty == 0 && (lseek (fd, 0L, 1) != -1))
-+ if (fd_is_tty == 0 && (lseek (fd, 0L, SEEK_CUR) != -1))
- {
- /* Check to see if the `file' in `bash file' is a binary file
- according to the same tests done by execute_simple_command (),
-@@ -1651,7 +1651,7 @@ open_shell_script (script_name)
- exit (EX_BINARY_FILE);
- }
- /* Now rewind the file back to the beginning. */
-- lseek (fd, 0L, 0);
-+ lseek (fd, 0L, SEEK_SET);
- }
-
- /* Open the script. But try to move the file descriptor to a randomly
-diff --git a/support/bashversion.c b/support/bashversion.c
-index 4f86b13..64779de 100644
---- a/support/bashversion.c
-+++ b/support/bashversion.c
-@@ -18,15 +18,12 @@
- along with Bash. If not, see .
- */
-
--#include "config.h"
--
- #include "stdc.h"
-
- #include
-+#include
-
--#if defined (HAVE_UNISTD_H)
--# include
--#endif
-+#include
-
- #include "bashansi.h"
-
-diff --git a/support/config.sub b/support/config.sub
-index c874b7a..4ce3963 100755
---- a/support/config.sub
-+++ b/support/config.sub
-@@ -1707,7 +1707,7 @@ case $os in
- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
- | ptx* | coff* | ecoff* | winnt* | domain* | vsta* \
- | udi* | lites* | ieee* | go32* | aux* | hcos* \
-- | chorusrdb* | cegcc* | glidix* \
-+ | chorusrdb* | cegcc* | glidix* | aero* \
- | cygwin* | msys* | pe* | moss* | proelf* | rtems* \
- | midipix* | mingw32* | mingw64* | mint* \
- | uxpv* | beos* | mpeix* | udk* | moxiebox* \
-diff --git a/support/man2html.c b/support/man2html.c
-index e6f441b..f02453d 100644
---- a/support/man2html.c
-+++ b/support/man2html.c
-@@ -63,7 +63,7 @@
- * time to look through all the available manpages.)
- */
- #ifdef HAVE_CONFIG_H
--#include
-+//#include
- #endif
-
- #define NROFF 0
-@@ -123,7 +123,8 @@ char *manpage;
- #define BD_LITERAL 1
- #define BD_INDENT 2
-
--#ifndef HAVE_STRERROR
-+//#ifndef HAVE_STRERROR
-+#if (0)
- static char *
- strerror(int e)
- {
-diff --git a/support/mksignames.c b/support/mksignames.c
-index ba87ae8..4b39787 100644
---- a/support/mksignames.c
-+++ b/support/mksignames.c
-@@ -19,8 +19,6 @@
- along with Bash. If not, see .
- */
-
--#include
--
- #include
- #include
-
-diff --git a/support/signames.c b/support/signames.c
-index aba4842..b4bbdc6 100644
---- a/support/signames.c
-+++ b/support/signames.c
-@@ -18,8 +18,6 @@
- along with Bash. If not, see .
- */
-
--#include
--
- #include
-
- #include
---
-2.25.1
-
diff --git a/patches/bash/jinx-working-patch.patch b/patches/bash/jinx-working-patch.patch
new file mode 100644
index 00000000000..ff0943d4732
--- /dev/null
+++ b/patches/bash/jinx-working-patch.patch
@@ -0,0 +1,368 @@
+diff --git bash-clean/builtins/psize.c bash-workdir/builtins/psize.c
+index 30881fb..6c99972 100644
+--- bash-clean/builtins/psize.c
++++ bash-workdir/builtins/psize.c
+@@ -21,33 +21,36 @@
+ /* Write output in 128-byte chunks until we get a sigpipe or write gets an
+ EPIPE. Then report how many bytes we wrote. We assume that this is the
+ pipe size. */
+-#include
+-
+-#if defined (HAVE_UNISTD_H)
+-# ifdef _MINIX
+-# include
+-# endif
+-# include
+-#endif
+-
+-#include
+-#ifndef _MINIX
+-#include "../bashtypes.h"
+-#endif
++// #include
++
++// #if defined (HAVE_UNISTD_H)
++// # ifdef _MINIX
++// # include
++// # endif
++// # include
++// #endif
++
++// #include
++// #ifndef _MINIX
++// #include "../bashtypes.h"
++// #endif
+ #include
+-#include
++// #include
+
+-#include "../command.h"
+-#include "../general.h"
+-#include "../sig.h"
++// #include "../command.h"
++// #include "../general.h"
++// #include "../sig.h"
+
+-#ifndef errno
+-extern int errno;
+-#endif
++// #ifndef errno
++// extern int errno;
++// #endif
++#include
++#include
++#include
+
+ int nw;
+
+-sighandler
++void
+ sigpipe (sig)
+ int sig;
+ {
+diff --git bash-clean/lib/termcap/termcap.c bash-workdir/lib/termcap/termcap.c
+index 87fae05..ed9d105 100644
+--- bash-clean/lib/termcap/termcap.c
++++ bash-workdir/lib/termcap/termcap.c
+@@ -630,7 +630,7 @@ scan_file (str, fd, bufp)
+ bufp->ateof = 0;
+ *bufp->ptr = '\0';
+
+- lseek (fd, 0L, 0);
++ lseek (fd, 0L, SEEK_SET);
+
+ while (!bufp->ateof)
+ {
+diff --git bash-clean/mksyntax.c bash-workdir/mksyntax.c
+index 0385686..53011a2 100644
+--- bash-clean/mksyntax.c
++++ bash-workdir/mksyntax.c
+@@ -20,29 +20,31 @@
+ along with Bash. If not, see .
+ */
+
+-#include "config.h"
++// #include "config.h"
+
++#include
+ #include
+ #include "bashansi.h"
+ #include "chartypes.h"
+ #include
+
+-#ifdef HAVE_UNISTD_H
+-# include
+-#endif
++// #ifdef HAVE_UNISTD_H
++// # include
++// #endif
++#include
+
+ #include "syntax.h"
+
+ extern int optind;
+ extern char *optarg;
+
+-#ifndef errno
+-extern int errno;
+-#endif
++// #ifndef errno
++// extern int errno;
++// #endif
+
+-#ifndef HAVE_STRERROR
+-extern char *strerror();
+-#endif
++// #ifndef HAVE_STRERROR
++// extern char *strerror();
++// #endif
+
+ struct wordflag {
+ int flag;
+@@ -377,39 +379,39 @@ main(argc, argv)
+ }
+
+
+-#if !defined (HAVE_STRERROR)
+-
+-#include
+-#if defined (HAVE_SYS_PARAM_H)
+-# include
+-#endif
+-
+-#if defined (HAVE_UNISTD_H)
+-# include
+-#endif
+-
+-/* Return a string corresponding to the error number E. From
+- the ANSI C spec. */
+-#if defined (strerror)
+-# undef strerror
+-#endif
+-
+-char *
+-strerror (e)
+- int e;
+-{
+- static char emsg[40];
+-#if defined (HAVE_SYS_ERRLIST)
+- extern int sys_nerr;
+- extern char *sys_errlist[];
+-
+- if (e > 0 && e < sys_nerr)
+- return (sys_errlist[e]);
+- else
+-#endif /* HAVE_SYS_ERRLIST */
+- {
+- sprintf (emsg, "Unknown system error %d", e);
+- return (&emsg[0]);
+- }
+-}
+-#endif /* HAVE_STRERROR */
++// #if !defined (HAVE_STRERROR)
++
++// #include
++// #if defined (HAVE_SYS_PARAM_H)
++// # include
++// #endif
++
++// #if defined (HAVE_UNISTD_H)
++// # include
++// #endif
++
++// /* Return a string corresponding to the error number E. From
++// the ANSI C spec. */
++// #if defined (strerror)
++// # undef strerror
++// #endif
++
++// char *
++// strerror (e)
++// int e;
++// {
++// static char emsg[40];
++// #if defined (HAVE_SYS_ERRLIST)
++// extern int sys_nerr;
++// extern char *sys_errlist[];
++
++// if (e > 0 && e < sys_nerr)
++// return (sys_errlist[e]);
++// else
++// #endif /* HAVE_SYS_ERRLIST */
++// {
++// sprintf (emsg, "Unknown system error %d", e);
++// return (&emsg[0]);
++// }
++// }
++// #endif /* HAVE_STRERROR */
+diff --git bash-clean/shell.c bash-workdir/shell.c
+index ebd8965..05d6a85 100644
+--- bash-clean/shell.c
++++ bash-workdir/shell.c
+@@ -1647,7 +1647,7 @@ open_shell_script (script_name)
+ #endif
+
+ /* Only do this with non-tty file descriptors we can seek on. */
+- if (fd_is_tty == 0 && (lseek (fd, 0L, 1) != -1))
++ if (fd_is_tty == 0 && (lseek (fd, 0L, SEEK_CUR) != -1))
+ {
+ /* Check to see if the `file' in `bash file' is a binary file
+ according to the same tests done by execute_simple_command (),
+@@ -1684,7 +1684,7 @@ open_shell_script (script_name)
+ exit (EX_BINARY_FILE);
+ }
+ /* Now rewind the file back to the beginning. */
+- lseek (fd, 0L, 0);
++ lseek (fd, 0L, SEEK_SET);
+ }
+
+ /* Open the script. But try to move the file descriptor to a randomly
+diff --git bash-clean/support/bashversion.c bash-workdir/support/bashversion.c
+index ad02d46..1b8a4ae 100644
+--- bash-clean/support/bashversion.c
++++ bash-workdir/support/bashversion.c
+@@ -18,15 +18,17 @@
+ along with Bash. If not, see .
+ */
+
+-#include "config.h"
++// #include "config.h"
+
+ #include "stdc.h"
+
+ #include
++#include
+
+-#if defined (HAVE_UNISTD_H)
+-# include
+-#endif
++// #if defined (HAVE_UNISTD_H)
++// # include
++// #endif
++#include
+
+ #include "bashansi.h"
+
+diff --git bash-clean/support/man2html.c bash-workdir/support/man2html.c
+index e6f441b..906e9f8 100644
+--- bash-clean/support/man2html.c
++++ bash-workdir/support/man2html.c
+@@ -62,9 +62,9 @@
+ * that all these features work on all manpages. (I didn't have the
+ * time to look through all the available manpages.)
+ */
+-#ifdef HAVE_CONFIG_H
+-#include
+-#endif
++// #ifdef HAVE_CONFIG_H
++// #include
++// #endif
+
+ #define NROFF 0
+
+@@ -123,26 +123,26 @@ char *manpage;
+ #define BD_LITERAL 1
+ #define BD_INDENT 2
+
+-#ifndef HAVE_STRERROR
+-static char *
+-strerror(int e)
+-{
+- static char emsg[40];
+-
+-#if defined (HAVE_SYS_ERRLIST)
+- extern int sys_nerr;
+- extern char *sys_errlist[];
+-
+- if (e > 0 && e < sys_nerr)
+- return (sys_errlist[e]);
+- else
+-#endif /* HAVE_SYS_ERRLIST */
+- {
+- sprintf(emsg, "Unknown system error %d", e);
+- return (&emsg[0]);
+- }
+-}
+-#endif /* !HAVE_STRERROR */
++// #ifndef HAVE_STRERROR
++// static char *
++// strerror(int e)
++// {
++// static char emsg[40];
++
++// #if defined (HAVE_SYS_ERRLIST)
++// extern int sys_nerr;
++// extern char *sys_errlist[];
++
++// if (e > 0 && e < sys_nerr)
++// return (sys_errlist[e]);
++// else
++// #endif /* HAVE_SYS_ERRLIST */
++// {
++// sprintf(emsg, "Unknown system error %d", e);
++// return (&emsg[0]);
++// }
++// }
++// #endif /* !HAVE_STRERROR */
+
+ static char *
+ strgrow(char *old, int len)
+diff --git bash-clean/support/mksignames.c bash-workdir/support/mksignames.c
+index ba87ae8..bd13bab 100644
+--- bash-clean/support/mksignames.c
++++ bash-workdir/support/mksignames.c
+@@ -19,17 +19,18 @@
+ along with Bash. If not, see .
+ */
+
+-#include
++// #include
+
+ #include
+ #include
+
+ #include
+-#if defined (HAVE_STDLIB_H)
+-# include
+-#else
+-# include "ansi_stdlib.h"
+-#endif /* HAVE_STDLIB_H */
++// #if defined (HAVE_STDLIB_H)
++// # include
++// #else
++// # include "ansi_stdlib.h"
++// #endif /* HAVE_STDLIB_H */
++#include
+
+ /* Duplicated from signames.c */
+ #if !defined (NSIG)
+diff --git bash-clean/support/signames.c bash-workdir/support/signames.c
+index 84864fd..6b4e29f 100644
+--- bash-clean/support/signames.c
++++ bash-workdir/support/signames.c
+@@ -18,18 +18,19 @@
+ along with Bash. If not, see .
+ */
+
+-#include
++// #include
+
+ #include
+
+ #include
+ #include
+
+-#if defined (HAVE_STDLIB_H)
+-# include
+-#else
+-# include "ansi_stdlib.h"
+-#endif /* HAVE_STDLIB_H */
++// #if defined (HAVE_STDLIB_H)
++// # include
++// #else
++// # include "ansi_stdlib.h"
++// #endif /* HAVE_STDLIB_H */
++#include
+
+ #if !defined (NSIG)
+ # define NSIG 64
diff --git a/patches/binutils/binutils.patch b/patches/binutils/binutils.patch
deleted file mode 100644
index 3e2580aa27f..00000000000
--- a/patches/binutils/binutils.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 23c517e8985baa0b4a788186d53e6299f72d48d0 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Tue, 31 Aug 2021 11:15:02 +1000
-Subject: [PATCH] targets: add aero target port
-
-Signed-off-by: Andy-Python-Programmer
----
- .vscode/settings.json | 6 ++++++
- bfd/config.bfd | 5 +++++
- config.sub | 2 +-
- gas/configure.tgt | 1 +
- ld/configure.tgt | 4 ++++
- 5 files changed, 17 insertions(+), 1 deletion(-)
- create mode 100644 .vscode/settings.json
-
-diff --git a/.vscode/settings.json b/.vscode/settings.json
-new file mode 100644
-index 00000000..7a72e53f
---- /dev/null
-+++ b/.vscode/settings.json
-@@ -0,0 +1,6 @@
-+{
-+ "editor.formatOnSave": false,
-+ "files.associations": {
-+ "inttypes.h": "c"
-+ }
-+}
-\ No newline at end of file
-diff --git a/bfd/config.bfd b/bfd/config.bfd
-index 30087e3b..5f204466 100644
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -719,6 +719,11 @@ case "${targ}" in
- targ_defvec=i386_elf32_vec
- targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec"
- ;;
-+ x86_64-*-aero*)
-+ targ_defvec=x86_64_elf64_vec
-+ targ_selvecs=i386_elf32_vec
-+ want64=true
-+ ;;
- i[3-7]86-*-interix*)
- targ_defvec=i386_pei_vec
- targ_selvecs="i386_pe_vec"
-diff --git a/config.sub b/config.sub
-index 7384e919..e1e5c644 100755
---- a/config.sub
-+++ b/config.sub
-@@ -1704,7 +1704,7 @@ case $os in
- | hpux* | unos* | osf* | luna* | dgux* | auroraux* | solaris* \
- | sym* | plan9* | psp* | sim* | xray* | os68k* | v88r* \
- | hiux* | abug | nacl* | netware* | windows* \
-- | os9* | macos* | osx* | ios* \
-+ | os9* | macos* | osx* | ios* | aero* \
- | mpw* | magic* | mmixware* | mon960* | lnews* \
- | amigaos* | amigados* | msdos* | newsos* | unicos* | aof* \
- | aos* | aros* | cloudabi* | sortix* | twizzler* \
-diff --git a/gas/configure.tgt b/gas/configure.tgt
-index 338892ad..d1a9ac68 100644
---- a/gas/configure.tgt
-+++ b/gas/configure.tgt
-@@ -221,6 +221,7 @@ case ${generic_target} in
- i386-*-beos*) fmt=elf ;;
- i386-*-elfiamcu) fmt=elf arch=iamcu ;;
- i386-*-elf*) fmt=elf ;;
-+ i386-*-aero*) fmt=elf ;;
- i386-*-fuchsia*) fmt=elf ;;
- i386-*-genode*) fmt=elf ;;
- i386-*-bsd*) fmt=aout em=386bsd ;;
-diff --git a/ld/configure.tgt b/ld/configure.tgt
-index 6205d7c9..5cd3f070 100644
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -323,6 +323,10 @@ i[3-7]86-*-linux-*) targ_emul=elf_i386
- targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om"
- targ64_extra_libpath="elf_x86_64 elf32_x86_64"
- ;;
-+x86_64-*-aero*)
-+ targ_emul=elf_x86_64
-+ targ_extra_emuls=elf_i386
-+ ;;
- i[3-7]86-*-redox*) targ_emul=elf_i386
- targ_extra_emuls=elf_x86_64
- ;;
---
-2.25.1
-
diff --git a/patches/binutils/jinx-working-patch.patch b/patches/binutils/jinx-working-patch.patch
new file mode 100644
index 00000000000..2e63a00fa3d
--- /dev/null
+++ b/patches/binutils/jinx-working-patch.patch
@@ -0,0 +1,154 @@
+diff --git binutils-clean/bfd/Makefile.am binutils-workdir/bfd/Makefile.am
+index 5c5fdef..3c91651 100644
+--- binutils-clean/bfd/Makefile.am
++++ binutils-workdir/bfd/Makefile.am
+@@ -778,7 +778,7 @@ ofiles: stamp-ofiles ; @true
+ libbfd_la_SOURCES = $(BFD32_LIBS_CFILES)
+ EXTRA_libbfd_la_SOURCES = $(CFILES)
+ libbfd_la_DEPENDENCIES = $(OFILES) ofiles ../libsframe/libsframe.la
+-libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) ../libsframe/libsframe.la
++libbfd_la_LIBADD = `cat ofiles` @SHARED_LIBADD@ $(LIBDL) $(ZLIB) $(ZSTD_LIBS) $(SFRAME_LIB_PATH) ../libsframe/libsframe.la
+ libbfd_la_LDFLAGS += -release `cat libtool-soversion` @SHARED_LDFLAGS@
+
+ # This file holds an array associating configuration triplets and
+diff --git binutils-clean/bfd/config.bfd binutils-workdir/bfd/config.bfd
+index bdee539..48b2360 100644
+--- binutils-clean/bfd/config.bfd
++++ binutils-workdir/bfd/config.bfd
+@@ -664,6 +664,11 @@ case "${targ}" in
+ targ_selvecs=
+ targ64_selvecs=x86_64_elf64_vec
+ ;;
++ i[3-7]86-*-aero*)
++ targ_defvec=i386_elf32_vec
++ targ_selvecs=
++ targ64_selvecs=x86_64_elf64_vec
++ ;;
+ #ifdef BFD64
+ x86_64-*-cloudabi*)
+ targ_defvec=x86_64_elf64_cloudabi_vec
+@@ -734,6 +739,11 @@ case "${targ}" in
+ targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec"
+ want64=true
+ ;;
++ x86_64-*-aero*)
++ targ_defvec=x86_64_elf64_vec
++ targ_selvecs=i386_elf32_vec
++ want64=true
++ ;;
+ #endif
+ i[3-7]86-*-lynxos*)
+ targ_defvec=i386_elf32_vec
+diff --git binutils-clean/gas/configure.tgt binutils-workdir/gas/configure.tgt
+index 3429f85..8fe03c1 100644
+--- binutils-clean/gas/configure.tgt
++++ binutils-workdir/gas/configure.tgt
+@@ -227,6 +227,7 @@ case ${generic_target} in
+ i386-*-beos*) fmt=elf ;;
+ i386-*-elfiamcu) fmt=elf arch=iamcu ;;
+ i386-*-elf*) fmt=elf ;;
++ i386-*-aero*) fmt=elf em=gnu ;;
+ i386-*-fuchsia*) fmt=elf ;;
+ i386-*-haiku*) fmt=elf em=haiku ;;
+ i386-*-genode*) fmt=elf ;;
+diff --git binutils-clean/gprofng/libcollector/configure.ac binutils-workdir/gprofng/libcollector/configure.ac
+index 7af9581..c55e424 100644
+--- binutils-clean/gprofng/libcollector/configure.ac
++++ binutils-workdir/gprofng/libcollector/configure.ac
+@@ -18,7 +18,7 @@ dnl .
+
+ m4_include([../../bfd/version.m4])
+ AC_INIT([gprofng], BFD_VERSION)
+-AC_CONFIG_MACRO_DIRS([../../config ../..])
++#AC_CONFIG_MACRO_DIRS([../../config ../..])
+ AC_CONFIG_AUX_DIR(../..)
+ AC_CANONICAL_TARGET
+ AM_INIT_AUTOMAKE
+diff --git binutils-clean/ld/configure.tgt binutils-workdir/ld/configure.tgt
+index c62b958..3873c96 100644
+--- binutils-clean/ld/configure.tgt
++++ binutils-workdir/ld/configure.tgt
+@@ -378,6 +378,9 @@ i[3-7]86-*-linux-*) targ_emul=elf_i386
+ i[3-7]86-*-redox*) targ_emul=elf_i386
+ targ_extra_emuls=elf_x86_64
+ ;;
++i[3-7]86-*-aero*) targ_emul=elf_i386
++ targ_extra_emuls=elf_x86_64
++ ;;
+ i[3-7]86-*-solaris2*) targ_emul=elf_i386_sol2
+ targ_extra_emuls="elf_i386_ldso elf_i386 elf_iamcu elf_x86_64_sol2 elf_x86_64"
+ targ_extra_libpath=$targ_extra_emuls
+@@ -1011,6 +1014,9 @@ x86_64-*-linux-*) targ_emul=elf_x86_64
+ x86_64-*-redox*) targ_emul=elf_x86_64
+ targ_extra_emuls=elf_i386
+ ;;
++x86_64-*-aero*) targ_emul=elf_x86_64
++ targ_extra_emuls=elf_i386
++ ;;
+ x86_64-*-solaris2*) targ_emul=elf_x86_64_sol2
+ targ_extra_emuls="elf_x86_64 elf_i386_sol2 elf_i386_ldso elf_i386 elf_iamcu"
+ targ_extra_libpath=$targ_extra_emuls
+diff --git binutils-clean/libiberty/configure.ac binutils-workdir/libiberty/configure.ac
+index 0748c59..954e014 100644
+--- binutils-clean/libiberty/configure.ac
++++ binutils-workdir/libiberty/configure.ac
+@@ -37,7 +37,7 @@ else
+ libiberty_topdir="${srcdir}/.."
+ fi
+ AC_SUBST(libiberty_topdir)
+-AC_CONFIG_AUX_DIR($libiberty_topdir)
++AC_CONFIG_AUX_DIR([.])
+
+ dnl Very limited version of automake's enable-maintainer-mode
+
+diff --git binutils-workdir/multilib.am binutils-workdir/multilib.am
+new file mode 100644
+index 0000000..5c98b69
+--- /dev/null
++++ binutils-workdir/multilib.am
+@@ -0,0 +1,45 @@
++## automake - create Makefile.in from Makefile.am
++
++## Copyright (C) 1994-2017 Free Software Foundation, Inc.
++## This Makefile.in is free software; the Free Software Foundation
++## gives unlimited permission to copy and/or distribute it,
++## with or without modifications, as long as this notice is preserved.
++
++## This program is distributed in the hope that it will be useful,
++## but WITHOUT ANY WARRANTY; without even the implied warranty of
++## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++## GNU General Public License for more details.
++
++MULTISRCTOP =
++MULTIBUILDTOP =
++MULTIDIRS =
++MULTISUBDIR =
++MULTIDO = true
++MULTICLEAN = true
++
++# GNU Make needs to see an explicit $(MAKE) variable in the command it
++# runs to enable its job server during parallel builds. Hence the
++# comments below.
++all-multi:
++ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do # $(MAKE)
++install-multi:
++ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do # $(MAKE)
++mostlyclean-multi:
++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean # $(MAKE)
++clean-multi:
++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean # $(MAKE)
++distclean-multi:
++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean # $(MAKE)
++maintainer-clean-multi:
++ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean # $(MAKE)
++
++.MAKE .PHONY: all-multi clean-multi distclean-multi install-am \
++ install-multi maintainer-clean-multi mostlyclean-multi
++
++install-exec-local: install-multi
++
++all-local: all-multi
++mostlyclean-local: mostlyclean-multi
++clean-local: clean-multi
++distclean-local: distclean-multi
++maintainer-clean-local: maintainer-clean-multi
diff --git a/patches/cairo/jinx-working-patch.patch b/patches/cairo/jinx-working-patch.patch
new file mode 100644
index 00000000000..accf74eb94a
--- /dev/null
+++ b/patches/cairo/jinx-working-patch.patch
@@ -0,0 +1,33 @@
+diff --git cairo-clean/meson.build cairo-workdir/meson.build
+index 9100152..1b7e91d 100644
+--- cairo-clean/meson.build
++++ cairo-workdir/meson.build
+@@ -374,18 +374,18 @@ if x11_dep.found() and xext_dep.found()
+ # between a set value (bool) or the fallback value (string), so convert to
+ # a string and check the string value.
+ prop_str = '@0@'.format(prop)
+- if prop_str in ['true', 'false']
++ #if prop_str in ['true', 'false']
+ ipc_rmid_deferred_release = (prop_str == 'true')
+ message('IPC_RMID_DEFERRED_RELEASE:', ipc_rmid_deferred_release)
+- elif prop_str == 'auto'
+- res = cc.run(files('meson-cc-tests/ipc_rmid_deferred_release.c'),
+- dependencies: [x11_dep, xext_dep],
+- name: 'shmctl IPC_RMID allowes subsequent attaches')
+-
+- ipc_rmid_deferred_release = (res.returncode() == 0)
+- else
+- error('Unexpected value for external property ipc_rmid_deferred_release: @0@'.format(prop_str))
+- endif
++ #elif prop_str == 'auto'
++ # res = cc.run(files('meson-cc-tests/ipc_rmid_deferred_release.c'),
++ # dependencies: [x11_dep, xext_dep],
++ # name: 'shmctl IPC_RMID allowes subsequent attaches')
++
++ # ipc_rmid_deferred_release = (res.returncode() == 0)
++ #else
++ # error('Unexpected value for external property ipc_rmid_deferred_release: @0@'.format(prop_str))
++ #endif
+
+ conf.set10('IPC_RMID_DEFERRED_RELEASE', ipc_rmid_deferred_release)
+ endif
diff --git a/patches/coreutils/coreutils.patch b/patches/coreutils/coreutils.patch
deleted file mode 100644
index da878672fc8..00000000000
--- a/patches/coreutils/coreutils.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/bundled/coreutils-orig/build-aux/config.sub b/bundled/coreutils-workdir/build-aux/config.sub
-index f02d43a..06e0dab 100755
---- a/bundled/coreutils-orig/build-aux/config.sub
-+++ b/bundled/coreutils-workdir/build-aux/config.sub
-@@ -1346,7 +1346,7 @@ case $os in
- | aos* | aros* | cloudabi* | sortix* | twizzler* \
- | nindy* | vxsim* | vxworks* | ebmon* | hms* | mvs* \
- | clix* | riscos* | uniplus* | iris* | isc* | rtu* | xenix* \
-- | knetbsd* | mirbsd* | netbsd* \
-+ | knetbsd* | mirbsd* | netbsd* | aero* \
- | bitrig* | openbsd* | solidbsd* | libertybsd* | os108* \
- | ekkobsd* | kfreebsd* | freebsd* | riscix* | lynxos* \
- | bosx* | nextstep* | cxux* | aout* | elf* | oabi* \
\ No newline at end of file
diff --git a/patches/dbus/jinx-working-patch.patch b/patches/dbus/jinx-working-patch.patch
new file mode 100644
index 00000000000..2daea44cafa
--- /dev/null
+++ b/patches/dbus/jinx-working-patch.patch
@@ -0,0 +1,13 @@
+diff --git dbus-clean/dbus/dbus-sysdeps-unix.c dbus-workdir/dbus/dbus-sysdeps-unix.c
+index dbc459c..6a3e851 100644
+--- dbus-clean/dbus/dbus-sysdeps-unix.c
++++ dbus-workdir/dbus/dbus-sysdeps-unix.c
+@@ -4896,7 +4896,7 @@ _dbus_check_setuid (void)
+
+ if (_DBUS_UNLIKELY (!check_setuid_initialised))
+ {
+-#ifdef HAVE_GETRESUID
++#if defined HAVE_GETRESUID && !defined(__aero__)
+ if (getresuid (&ruid, &euid, &suid) != 0 ||
+ getresgid (&rgid, &egid, &sgid) != 0)
+ #endif /* HAVE_GETRESUID */
diff --git a/patches/dmenu/dmenu.patch b/patches/dmenu/dmenu.patch
deleted file mode 100644
index 39f67ba2b98..00000000000
--- a/patches/dmenu/dmenu.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 919950798aa0175e18a12e3ab970d133ea0947c5 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Sat, 12 Nov 2022 19:41:25 +1100
-Subject: [PATCH]
-
----
- config.mk | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/config.mk b/config.mk
-index 566348b..ae68b54 100644
---- a/config.mk
-+++ b/config.mk
-@@ -9,8 +9,8 @@ X11INC = /usr/X11R6/include
- X11LIB = /usr/X11R6/lib
-
- # Xinerama, comment if you don't want it
--XINERAMALIBS = -lXinerama
--XINERAMAFLAGS = -DXINERAMA
-+# XINERAMALIBS = -lXinerama
-+# XINERAMAFLAGS = -DXINERAMA
-
- # freetype
- FREETYPELIBS = -lfontconfig -lXft
---
-2.38.1
-
diff --git a/patches/dwm/0001-uselessgaps.patch b/patches/dwm/0001-uselessgaps.patch
deleted file mode 100644
index d9cacbecb6d..00000000000
--- a/patches/dwm/0001-uselessgaps.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 58a5ece9406ca6c90dc362617c065e4aac19417f Mon Sep 17 00:00:00 2001
-From: Cyril Cressent
-Date: Wed, 3 Jul 2019 21:33:45 -0700
-Subject: [PATCH] Port the uselessgap patch to 6.2
-
----
- config.def.h | 1 +
- dwm.c | 36 ++++++++++++++++++++++++++++++------
- 2 files changed, 31 insertions(+), 6 deletions(-)
-
-diff --git a/config.def.h b/config.def.h
-index 1c0b587..b11471d 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -2,6 +2,7 @@
-
- /* appearance */
- static const unsigned int borderpx = 1; /* border pixel of windows */
-+static const unsigned int gappx = 6; /* gaps between windows */
- static const unsigned int snap = 32; /* snap pixel */
- static const int showbar = 1; /* 0 means no bar */
- static const int topbar = 1; /* 0 means bottom bar */
-diff --git a/dwm.c b/dwm.c
-index 4465af1..4545e05 100644
---- a/dwm.c
-+++ b/dwm.c
-@@ -52,8 +52,8 @@
- #define ISVISIBLE(C) ((C->tags & C->mon->tagset[C->mon->seltags]))
- #define LENGTH(X) (sizeof X / sizeof X[0])
- #define MOUSEMASK (BUTTONMASK|PointerMotionMask)
--#define WIDTH(X) ((X)->w + 2 * (X)->bw)
--#define HEIGHT(X) ((X)->h + 2 * (X)->bw)
-+#define WIDTH(X) ((X)->w + 2 * (X)->bw + gappx)
-+#define HEIGHT(X) ((X)->h + 2 * (X)->bw + gappx)
- #define TAGMASK ((1 << LENGTH(tags)) - 1)
- #define TEXTW(X) (drw_fontset_getwidth(drw, (X)) + lrpad)
-
-@@ -1276,12 +1276,36 @@ void
- resizeclient(Client *c, int x, int y, int w, int h)
- {
- XWindowChanges wc;
-+ unsigned int n;
-+ unsigned int gapoffset;
-+ unsigned int gapincr;
-+ Client *nbc;
-
-- c->oldx = c->x; c->x = wc.x = x;
-- c->oldy = c->y; c->y = wc.y = y;
-- c->oldw = c->w; c->w = wc.width = w;
-- c->oldh = c->h; c->h = wc.height = h;
- wc.border_width = c->bw;
-+
-+ /* Get number of clients for the selected monitor */
-+ for (n = 0, nbc = nexttiled(selmon->clients); nbc; nbc = nexttiled(nbc->next), n++);
-+
-+ /* Do nothing if layout is floating */
-+ if (c->isfloating || selmon->lt[selmon->sellt]->arrange == NULL) {
-+ gapincr = gapoffset = 0;
-+ } else {
-+ /* Remove border and gap if layout is monocle or only one client */
-+ if (selmon->lt[selmon->sellt]->arrange == monocle || n == 1) {
-+ gapoffset = 0;
-+ gapincr = -2 * borderpx;
-+ wc.border_width = 0;
-+ } else {
-+ gapoffset = gappx;
-+ gapincr = 2 * gappx;
-+ }
-+ }
-+
-+ c->oldx = c->x; c->x = wc.x = x + gapoffset;
-+ c->oldy = c->y; c->y = wc.y = y + gapoffset;
-+ c->oldw = c->w; c->w = wc.width = w - gapincr;
-+ c->oldh = c->h; c->h = wc.height = h - gapincr;
-+
- XConfigureWindow(dpy, c->win, CWX|CWY|CWWidth|CWHeight|CWBorderWidth, &wc);
- configure(c);
- XSync(dpy, False);
---
-2.22.0
-
diff --git a/patches/dwm/dwm.patch b/patches/dwm/dwm.patch
deleted file mode 100644
index 64e1887b23d..00000000000
--- a/patches/dwm/dwm.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 21113e6d56c83249371b8f57a9cd3128df2f2436 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Wed, 29 Mar 2023 12:17:14 +1100
-Subject: [PATCH]
-
----
- config.def.h | 22 +++++++++++-----------
- config.mk | 4 ++--
- 2 files changed, 13 insertions(+), 13 deletions(-)
-
-diff --git a/config.def.h b/config.def.h
-index 9efa774..1be6069 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -4,18 +4,18 @@
- static const unsigned int borderpx = 1; /* border pixel of windows */
- static const unsigned int snap = 32; /* snap pixel */
- static const int showbar = 1; /* 0 means no bar */
--static const int topbar = 1; /* 0 means bottom bar */
-+static const int topbar = 0; /* 0 means bottom bar */
- static const char *fonts[] = { "monospace:size=10" };
- static const char dmenufont[] = "monospace:size=10";
--static const char col_gray1[] = "#222222";
--static const char col_gray2[] = "#444444";
--static const char col_gray3[] = "#bbbbbb";
--static const char col_gray4[] = "#eeeeee";
--static const char col_cyan[] = "#005577";
-+static const char col_gray1[] = "#2e3440";
-+static const char col_gray2[] = "#434c5e";
-+static const char col_gray3[] = "#e5e9f0";
-+static const char col_gray4[] = "#d8dee9";
-+static const char col_cyan[] = "#88c0d0";
- static const char *colors[][3] = {
-- /* fg bg border */
-- [SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
-- [SchemeSel] = { col_gray4, col_cyan, col_cyan },
-+ /* fg bg border */
-+ [SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
-+ [SchemeSel] = { col_gray1, col_cyan, col_cyan },
- };
-
- /* tagging */
-@@ -57,8 +57,8 @@ static const Layout layouts[] = {
-
- /* commands */
- static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
--static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
--static const char *termcmd[] = { "st", NULL };
-+static const char *dmenucmd[] = { "dmenu_run", NULL };
-+static const char *termcmd[] = { "alacritty", NULL };
-
- static const Key keys[] = {
- /* modifier key function argument */
-diff --git a/config.mk b/config.mk
-index ba64d3d..d360492 100644
---- a/config.mk
-+++ b/config.mk
-@@ -11,8 +11,8 @@ X11INC = /usr/X11R6/include
- X11LIB = /usr/X11R6/lib
-
- # Xinerama, comment if you don't want it
--XINERAMALIBS = -lXinerama
--XINERAMAFLAGS = -DXINERAMA
-+# XINERAMALIBS = -lXinerama
-+# XINERAMAFLAGS = -DXINERAMA
-
- # freetype
- FREETYPELIBS = -lfontconfig -lXft
---
-2.39.2
-
diff --git a/patches/fontconfig/0001-fontconfig-aero-specific-changes.patch b/patches/fontconfig/0001-fontconfig-aero-specific-changes.patch
deleted file mode 100644
index 31da2315c26..00000000000
--- a/patches/fontconfig/0001-fontconfig-aero-specific-changes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 923dd34de98831460447a85a2786e7c7d6ff3a95 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Wed, 5 Oct 2022 19:43:23 +1100
-Subject: [PATCH] fontconfig: aero specific changes
-
-Signed-off-by: Andy-Python-Programmer
----
- src/fcstat.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/fcstat.c b/src/fcstat.c
-index 4f69eae..8a621dd 100644
---- a/src/fcstat.c
-+++ b/src/fcstat.c
-@@ -386,7 +386,7 @@ FcFStatFs (int fd, FcStatFS *statb)
- # endif
- # if defined(HAVE_STRUCT_STATFS_F_FSTYPENAME)
- p = buf.f_fstypename;
--# elif defined(__linux__) || defined (__EMSCRIPTEN__)
-+# elif defined(__linux__) || defined(__aero__) || defined (__EMSCRIPTEN__)
- switch (buf.f_type)
- {
- case 0x6969: /* nfs */
---
-2.25.1
-
diff --git a/patches/fontconfig/jinx-working-patch.patch b/patches/fontconfig/jinx-working-patch.patch
new file mode 100644
index 00000000000..b1816e93eeb
--- /dev/null
+++ b/patches/fontconfig/jinx-working-patch.patch
@@ -0,0 +1,13 @@
+diff --git fontconfig-clean/src/fcstat.c fontconfig-workdir/src/fcstat.c
+index 4f69eae..519cf1d 100644
+--- fontconfig-clean/src/fcstat.c
++++ fontconfig-workdir/src/fcstat.c
+@@ -386,7 +386,7 @@ FcFStatFs (int fd, FcStatFS *statb)
+ # endif
+ # if defined(HAVE_STRUCT_STATFS_F_FSTYPENAME)
+ p = buf.f_fstypename;
+-# elif defined(__linux__) || defined (__EMSCRIPTEN__)
++# elif defined(__linux__) || defined (__aero__) || defined (__EMSCRIPTEN__)
+ switch (buf.f_type)
+ {
+ case 0x6969: /* nfs */
diff --git a/patches/fox/jinx-working-patch.patch b/patches/fox/jinx-working-patch.patch
new file mode 100644
index 00000000000..a163bd5781a
--- /dev/null
+++ b/patches/fox/jinx-working-patch.patch
@@ -0,0 +1,41 @@
+diff --git fox-clean/configure.ac fox-workdir/configure.ac
+index ce0f651..189b5e8 100644
+--- fox-clean/configure.ac
++++ fox-workdir/configure.ac
+@@ -9,6 +9,8 @@ AC_INIT(fox,[fox_version],jeroen@fox-toolkit.com)
+ AC_CONFIG_SRCDIR([include/fx.h])
+ AM_INIT_AUTOMAKE([foreign])
+
++PKG_PROG_PKG_CONFIG
++
+ # Set version
+ FOX_MAJOR_VERSION=fox_major
+ FOX_MINOR_VERSION=fox_minor
+@@ -190,8 +192,8 @@ AC_MSG_CHECKING(for Xft support)
+ AC_ARG_WITH(xft,[ --with-xft enable Xft support])
+ AC_MSG_RESULT([$with_xft])
+ if test "x$with_xft" != "xno"; then
+-XFTCFLAGS="-I/usr/include/freetype2"
+-XFTLIBS="-lfreetype -lfontconfig -lXft"
++XFTCFLAGS="$($PKG_CONFIG --cflags freetype2 fontconfig xft)"
++XFTLIBS="$($PKG_CONFIG --libs freetype2 fontconfig xft)"
+ saved_cppflags="${CXXFLAGS}"
+ CXXFLAGS="${CXXFLAGS} -DHAVE_XFT_H=1 $XFTCFLAGS"
+ X_BASE_LIBS="${X_BASE_LIBS} $XFTLIBS"
+diff --git fox-clean/include/FXStream.h fox-workdir/include/FXStream.h
+index 41fe97a..b483556 100644
+--- fox-clean/include/FXStream.h
++++ fox-workdir/include/FXStream.h
+@@ -52,9 +52,9 @@ enum FXStreamStatus {
+
+ /// Stream seeking
+ enum FXWhence {
+- FXFromStart=0, /// Seek from start position
+- FXFromCurrent=1, /// Seek from current position
+- FXFromEnd=2 /// Seek from end position
++ FXFromStart=3, /// Seek from start position (SEEK_SET)
++ FXFromCurrent=1, /// Seek from current position (SEEK_CUR)
++ FXFromEnd=2 /// Seek from end position (SEEK_END)
+ };
+
+
diff --git a/patches/gcc-host/jinx-working-patch.patch b/patches/gcc-host/jinx-working-patch.patch
new file mode 100644
index 00000000000..d280068ea5f
--- /dev/null
+++ b/patches/gcc-host/jinx-working-patch.patch
@@ -0,0 +1,153 @@
+diff --git gcc-host-clean/fixincludes/mkfixinc.sh gcc-host-workdir/fixincludes/mkfixinc.sh
+index df90720..da6408a 100755
+--- gcc-host-clean/fixincludes/mkfixinc.sh
++++ gcc-host-workdir/fixincludes/mkfixinc.sh
+@@ -12,6 +12,7 @@ target=fixinc.sh
+ # Check for special fix rules for particular targets
+ case $machine in
+ i?86-*-cygwin* | \
++ x86_64-*-aero* | \
+ i?86-*-mingw32* | \
+ x86_64-*-mingw32* | \
+ powerpc-*-eabisim* | \
+diff --git gcc-host-workdir/gcc/config/aero.h gcc-host-workdir/gcc/config/aero.h
+new file mode 100644
+index 0000000..be79aae
+--- /dev/null
++++ gcc-host-workdir/gcc/config/aero.h
+@@ -0,0 +1,29 @@
++#undef TARGET_AERO
++#define TARGET_AERO 1
++
++#undef LIB_SPEC
++#define LIB_SPEC "-lc"
++
++#undef STARTFILE_SPEC
++#define STARTFILE_SPEC "%{!shared:crt0.o%s} crti.o%s %{shared:crtbeginS.o%s;:crtbegin.o%s}"
++
++#undef ENDFILE_SPEC
++#define ENDFILE_SPEC "%{shared:crtendS.o%s;:crtend.o%s} crtn.o%s"
++
++#define GNU_USER_LINK_EMULATION32 "elf_i386"
++#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
++#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
++
++#define GNU_USER_DYNAMIC_LINKER32 "/usr/lib/ld_i386.so"
++#define GNU_USER_DYNAMIC_LINKER64 "/usr/lib/ld.so"
++#define GNU_USER_DYNAMIC_LINKERX32 "/usr/lib/ld32.so"
++
++#undef TARGET_OS_CPP_BUILTINS
++#define TARGET_OS_CPP_BUILTINS() \
++ do { \
++ builtin_define ("__aero__"); \
++ builtin_define ("__unix__"); \
++ builtin_assert ("system=aero"); \
++ builtin_assert ("system=unix"); \
++ builtin_assert ("system=posix"); \
++ } while (0);
+diff --git gcc-host-clean/gcc/config.gcc gcc-host-workdir/gcc/config.gcc
+index 648b3dc..f2b0217 100644
+--- gcc-host-clean/gcc/config.gcc
++++ gcc-host-workdir/gcc/config.gcc
+@@ -840,6 +840,15 @@ case ${target} in
+ tmake_file="${tmake_file} t-freebsd"
+ target_has_targetdm=yes
+ ;;
++*-*-aero*)
++ extra_options="$extra_options gnu-user.opt"
++ gas=yes
++ gnu_ld=yes
++ default_use_cxa_atexit=yes
++ use_gcc_stdint=wrap
++ tmake_file="${tmake_file} t-slibgcc"
++ thread_file='posix'
++ ;;
+ *-*-fuchsia*)
+ native_system_header_dir=/include
+ ;;
+@@ -2214,6 +2223,9 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
+ ;;
+ esac
+ ;;
++x86_64-*-aero*)
++ tm_file="${tm_file} i386/unix.h i386/att.h elfos.h gnu-user.h glibc-stdint.h i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h aero.h"
++ ;;
+ x86_64-*-fuchsia*)
+ tmake_file="${tmake_file} i386/t-x86_64-elf"
+ tm_file="${tm_file} i386/unix.h i386/att.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h fuchsia.h"
+diff --git gcc-host-clean/libgcc/config.host gcc-host-workdir/libgcc/config.host
+index 9d72120..b4e90ab 100644
+--- gcc-host-clean/libgcc/config.host
++++ gcc-host-workdir/libgcc/config.host
+@@ -281,6 +281,11 @@ case ${host} in
+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia"
+ extra_parts="crtbegin.o crtend.o"
+ ;;
++*-*-aero*)
++ extra_parts="$extra_parts crti.o crtbegin.o crtbeginS.o crtend.o crtendS.o crtn.o"
++ tmake_file="$tmake_file t-crtstuff-pic"
++ tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-libgcc-pic"
++ ;;
+ *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi)
+ tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
+ extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
+@@ -715,6 +720,10 @@ x86_64-*-elf* | x86_64-*-rtems*)
+ x86_64-*-fuchsia*)
+ tmake_file="$tmake_file t-libgcc-pic"
+ ;;
++x86_64-*-aero*)
++ extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
++ tmake_file="$tmake_file i386/t-crtpc t-crtfm i386/t-crtstuff t-dfprules"
++ ;;
+ i[34567]86-*-dragonfly*)
+ tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
+ md_unwind_header=i386/dragonfly-unwind.h
+diff --git gcc-host-clean/libgcc/configure.ac gcc-host-workdir/libgcc/configure.ac
+index 2fc9d5d..83d246e 100644
+--- gcc-host-clean/libgcc/configure.ac
++++ gcc-host-workdir/libgcc/configure.ac
+@@ -46,7 +46,7 @@ else
+ libgcc_topdir="${srcdir}/.."
+ fi
+ AC_SUBST(libgcc_topdir)
+-AC_CONFIG_AUX_DIR($libgcc_topdir)
++AC_CONFIG_AUX_DIR([.])
+ AC_CONFIG_HEADER(auto-target.h:config.in)
+
+ AC_ARG_ENABLE(shared,
+diff --git gcc-host-clean/libiberty/configure.ac gcc-host-workdir/libiberty/configure.ac
+index 28d996f..61ff752 100644
+--- gcc-host-clean/libiberty/configure.ac
++++ gcc-host-workdir/libiberty/configure.ac
+@@ -37,7 +37,7 @@ else
+ libiberty_topdir="${srcdir}/.."
+ fi
+ AC_SUBST(libiberty_topdir)
+-AC_CONFIG_AUX_DIR($libiberty_topdir)
++AC_CONFIG_AUX_DIR([.])
+
+ dnl Very limited version of automake's enable-maintainer-mode
+
+diff --git gcc-host-clean/libstdc++-v3/crossconfig.m4 gcc-host-workdir/libstdc++-v3/crossconfig.m4
+index b3269cb..a1d4a28 100644
+--- gcc-host-clean/libstdc++-v3/crossconfig.m4
++++ gcc-host-workdir/libstdc++-v3/crossconfig.m4
+@@ -136,6 +136,18 @@ case "${host}" in
+ AC_CHECK_FUNCS(uselocale)
+ ;;
+
++ *-aero*)
++ GLIBCXX_CHECK_COMPILER_FEATURES
++ GLIBCXX_CHECK_LINKER_FEATURES
++ GLIBCXX_CHECK_MATH_SUPPORT
++ GLIBCXX_CHECK_STDLIB_SUPPORT
++ AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
++ AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
++ GCC_CHECK_TLS
++ AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
++ AC_CHECK_FUNCS(timespec_get)
++ ;;
++
+ *-fuchsia*)
+ SECTION_FLAGS='-ffunction-sections -fdata-sections'
+ AC_SUBST(SECTION_FLAGS)
diff --git a/patches/gcc/gcc.patch b/patches/gcc/gcc.patch
deleted file mode 100644
index 9465555f5b7..00000000000
--- a/patches/gcc/gcc.patch
+++ /dev/null
@@ -1,214 +0,0 @@
-From 4c867374622a04f29a5501dfc74f1057041cc0fc Mon Sep 17 00:00:00 2001
-From: Anhad Singh
-Date: Thu, 3 Aug 2023 12:51:21 +1000
-Subject: [PATCH] gcc: add aero target
-
-Signed-off-by: Anhad Singh
----
- config.sub | 4 ++--
- fixincludes/mkfixinc.sh | 1 +
- gcc/config.gcc | 12 ++++++++++++
- gcc/config/aero.h | 30 ++++++++++++++++++++++++++++++
- libgcc/config.host | 8 ++++++++
- libgcc/libgcov.h | 1 +
- libstdc++-v3/crossconfig.m4 | 12 ++++++++++++
- libtool.m4 | 14 ++++++++++++++
- 8 files changed, 80 insertions(+), 2 deletions(-)
- create mode 100644 gcc/config/aero.h
-
-diff --git a/config.sub b/config.sub
-index 38f3d037a..956f31f08 100755
---- a/config.sub
-+++ b/config.sub
-@@ -145,7 +145,7 @@ case $1 in
- nto-qnx* | linux-* | uclinux-uclibc* \
- | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \
- | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \
-- | storm-chaos* | os2-emx* | rtmk-nova*)
-+ | storm-chaos* | os2-emx* | rtmk-nova* | aero*)
- basic_machine=$field1
- basic_os=$maybe_os
- ;;
-@@ -1749,7 +1749,7 @@ case $os in
- | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
- | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
- | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \
-- | fiwix* )
-+ | fiwix* | aero*)
- ;;
- # This one is extra strict with allowed versions
- sco3.2v2 | sco3.2v[4-9]* | sco5v6*)
-diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
-index df90720b7..e8c2b21c1 100755
---- a/fixincludes/mkfixinc.sh
-+++ b/fixincludes/mkfixinc.sh
-@@ -11,6 +11,7 @@ target=fixinc.sh
-
- # Check for special fix rules for particular targets
- case $machine in
-+ x86_64-*-aero* | \
- i?86-*-cygwin* | \
- i?86-*-mingw32* | \
- x86_64-*-mingw32* | \
-diff --git a/gcc/config.gcc b/gcc/config.gcc
-index 648b3dc21..4a13aceda 100644
---- a/gcc/config.gcc
-+++ b/gcc/config.gcc
-@@ -840,6 +840,15 @@ case ${target} in
- tmake_file="${tmake_file} t-freebsd"
- target_has_targetdm=yes
- ;;
-+*-*-aero*)
-+ extra_options="$extra_options gnu-user.opt"
-+ gas=yes
-+ gnu_ld=yes
-+ default_use_cxa_atexit=yes
-+ use_gcc_stdint=wrap
-+ tmake_file="${tmake_file} t-slibgcc"
-+ thread_file='posix'
-+ ;;
- *-*-fuchsia*)
- native_system_header_dir=/include
- ;;
-@@ -2214,6 +2223,9 @@ i[34567]86-*-mingw* | x86_64-*-mingw*)
- ;;
- esac
- ;;
-+x86_64-*-aero*)
-+ tm_file="${tm_file} i386/unix.h i386/att.h elfos.h gnu-user.h glibc-stdint.h i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h aero.h"
-+ ;;
- x86_64-*-fuchsia*)
- tmake_file="${tmake_file} i386/t-x86_64-elf"
- tm_file="${tm_file} i386/unix.h i386/att.h elfos.h newlib-stdint.h i386/i386elf.h i386/x86-64.h fuchsia.h"
-diff --git a/gcc/config/aero.h b/gcc/config/aero.h
-new file mode 100644
-index 000000000..e8c149e40
---- /dev/null
-+++ b/gcc/config/aero.h
-@@ -0,0 +1,30 @@
-+#undef TARGET_AERO
-+#define TARGET_AERO 1
-+
-+#undef LIB_SPEC
-+#define LIB_SPEC "-lc -lm"
-+
-+#undef STARTFILE_SPEC
-+#define STARTFILE_SPEC "%{!shared:crt0.o%s} crti.o%s %{shared:crtbeginS.o%s;:crtbegin.o%s}"
-+
-+#undef ENDFILE_SPEC
-+#define ENDFILE_SPEC "%{shared:crtendS.o%s;:crtend.o%s} crtn.o%s"
-+
-+#define GNU_USER_LINK_EMULATION32 "elf_i386"
-+#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
-+#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
-+
-+#define GNU_USER_DYNAMIC_LINKER32 "/usr/lib/ld_i386.so"
-+#define GNU_USER_DYNAMIC_LINKER64 "/usr/lib/ld.so"
-+#define GNU_USER_DYNAMIC_LINKERX32 "/usr/lib/ld32.so"
-+
-+#undef TARGET_OS_CPP_BUILTINS
-+#define TARGET_OS_CPP_BUILTINS() \
-+ do \
-+ { \
-+ builtin_define("__aero__"); \
-+ builtin_define("__unix__"); \
-+ builtin_assert("system=aero"); \
-+ builtin_assert("system=unix"); \
-+ builtin_assert("system=posix"); \
-+ } while (0);
-diff --git a/libgcc/config.host b/libgcc/config.host
-index 9d7212028..3724a1ac5 100644
---- a/libgcc/config.host
-+++ b/libgcc/config.host
-@@ -281,6 +281,11 @@ case ${host} in
- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-fuchsia"
- extra_parts="crtbegin.o crtend.o"
- ;;
-+*-*-aero*)
-+ extra_parts="$extra_parts crti.o crtbegin.o crtbeginS.o crtend.o crtendS.o crtn.o"
-+ tmake_file="$tmake_file t-crtstuff-pic"
-+ tmake_file="$tmake_file t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-libgcc-pic"
-+ ;;
- *-*-linux* | frv-*-*linux* | *-*-kfreebsd*-gnu | *-*-gnu* | *-*-kopensolaris*-gnu | *-*-uclinuxfdpiceabi)
- tmake_file="$tmake_file t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver t-linux"
- extra_parts="crtbegin.o crtbeginS.o crtbeginT.o crtend.o crtendS.o"
-@@ -715,6 +720,9 @@ x86_64-*-elf* | x86_64-*-rtems*)
- x86_64-*-fuchsia*)
- tmake_file="$tmake_file t-libgcc-pic"
- ;;
-+x86_64-*-aero*)
-+ tmake_file="$tmake_file i386/t-crtstuff"
-+ ;;
- i[34567]86-*-dragonfly*)
- tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
- md_unwind_header=i386/dragonfly-unwind.h
-diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h
-index 92df440d4..320f3b500 100644
---- a/libgcc/libgcov.h
-+++ b/libgcc/libgcov.h
-@@ -44,6 +44,7 @@
- #include "tm.h"
- #include "libgcc_tm.h"
- #include "gcov.h"
-+#include
-
- #if HAVE_SYS_MMAN_H
- #include
-diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
-index b3269cb88..4187dba89 100644
---- a/libstdc++-v3/crossconfig.m4
-+++ b/libstdc++-v3/crossconfig.m4
-@@ -136,6 +136,18 @@ case "${host}" in
- AC_CHECK_FUNCS(uselocale)
- ;;
-
-+ *-aero*)
-+ GLIBCXX_CHECK_COMPILER_FEATURES
-+ GLIBCXX_CHECK_LINKER_FEATURES
-+ GLIBCXX_CHECK_MATH_SUPPORT
-+ GLIBCXX_CHECK_STDLIB_SUPPORT
-+ AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
-+ AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
-+ GCC_CHECK_TLS
-+ AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
-+ AC_CHECK_FUNCS(timespec_get)
-+ ;;
-+
- *-fuchsia*)
- SECTION_FLAGS='-ffunction-sections -fdata-sections'
- AC_SUBST(SECTION_FLAGS)
-diff --git a/libtool.m4 b/libtool.m4
-index b92e284d9..491d24c54 100644
---- a/libtool.m4
-+++ b/libtool.m4
-@@ -2491,6 +2491,16 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu* | uclinuxfdpiceabi)
- dynamic_linker='GNU/Linux ld.so'
- ;;
-
-+aero*)
-+ version_type=linux
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-+ soname_spec='${libname}${release}${shared_ext}$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ hardcode_into_libs=yes
-+ ;;
-+
- netbsd*)
- version_type=sunos
- need_lib_prefix=no
-@@ -3109,6 +3119,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | uclinuxfdpiceabi)
- lt_cv_deplibs_check_method=pass_all
- ;;
-
-+aero*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
- netbsd*)
- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
---
-2.41.0
-
diff --git a/patches/glib/glib.patch b/patches/glib/glib.patch
deleted file mode 100644
index 04bd02ecce8..00000000000
--- a/patches/glib/glib.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From b8ace0ebfb751e7ae165aa3d52093c89801f37e5 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Sun, 16 Apr 2023 16:50:17 +1000
-Subject: [PATCH]
-
----
- gio/gcredentialsprivate.h | 2 +-
- glib/glib-init.c | 1 +
- glib/gstrfuncs.c | 1 +
- 3 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/gio/gcredentialsprivate.h b/gio/gcredentialsprivate.h
-index c09f9ec..3942c48 100644
---- a/gio/gcredentialsprivate.h
-+++ b/gio/gcredentialsprivate.h
-@@ -102,7 +102,7 @@
- */
- #undef G_CREDENTIALS_HAS_PID
-
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- #define G_CREDENTIALS_SUPPORTED 1
- #define G_CREDENTIALS_USE_LINUX_UCRED 1
- #define G_CREDENTIALS_NATIVE_TYPE G_CREDENTIALS_TYPE_LINUX_UCRED
-diff --git a/glib/glib-init.c b/glib/glib-init.c
-index e7b4984..2e38538 100644
---- a/glib/glib-init.c
-+++ b/glib/glib-init.c
-@@ -27,6 +27,7 @@
- #include "gmem.h" /* for g_mem_gc_friendly */
-
- #include
-+#include
- #include
- #include
- #include
-diff --git a/glib/gstrfuncs.c b/glib/gstrfuncs.c
-index 9273533..2e3b9b2 100644
---- a/glib/gstrfuncs.c
-+++ b/glib/gstrfuncs.c
-@@ -33,6 +33,7 @@
- #include
- #include
- #include
-+#include
- #include
- #include
- #include
---
-2.40.0
-
diff --git a/patches/glib/jinx-working-patch.patch b/patches/glib/jinx-working-patch.patch
new file mode 100644
index 00000000000..5469c6c890a
--- /dev/null
+++ b/patches/glib/jinx-working-patch.patch
@@ -0,0 +1,53 @@
+diff --git glib-clean/gio/gcredentialsprivate.h glib-workdir/gio/gcredentialsprivate.h
+index 0310a75..f967f90 100644
+--- glib-clean/gio/gcredentialsprivate.h
++++ glib-workdir/gio/gcredentialsprivate.h
+@@ -104,7 +104,7 @@
+ */
+ #undef G_CREDENTIALS_HAS_PID
+
+-#ifdef __linux__
++#if defined(__linux__) || defined(__aero__)
+ #define G_CREDENTIALS_SUPPORTED 1
+ #define G_CREDENTIALS_USE_LINUX_UCRED 1
+ #define G_CREDENTIALS_NATIVE_TYPE G_CREDENTIALS_TYPE_LINUX_UCRED
+diff --git glib-clean/glib/giounix.c glib-workdir/glib/giounix.c
+index 84e8135..5b68f25 100644
+--- glib-clean/glib/giounix.c
++++ glib-workdir/glib/giounix.c
+@@ -440,7 +440,10 @@ g_io_unix_get_flags (GIOChannel *channel)
+ channel->is_writeable = TRUE;
+ break;
+ default:
+- g_assert_not_reached ();
++ channel->is_readable = TRUE;
++ channel->is_writeable = TRUE;
++ break;
++ // g_assert_not_reached ();
+ }
+
+ return flags;
+diff --git glib-clean/glib/glib-init.c glib-workdir/glib/glib-init.c
+index 933f891..393e51d 100644
+--- glib-clean/glib/glib-init.c
++++ glib-workdir/glib/glib-init.c
+@@ -29,6 +29,7 @@
+ #include "gmem.h" /* for g_mem_gc_friendly */
+
+ #include
++#include
+ #include
+ #include
+ #include
+diff --git glib-clean/glib/gstrfuncs.c glib-workdir/glib/gstrfuncs.c
+index 22a608d..29e123c 100644
+--- glib-clean/glib/gstrfuncs.c
++++ glib-workdir/glib/gstrfuncs.c
+@@ -35,6 +35,7 @@
+ #include
+ #include
+ #include
++#include
+ #include
+ #include
+ #include
diff --git a/patches/gobject-introspection/gobject-introspection.patch b/patches/gobject-introspection/gobject-introspection.patch
deleted file mode 100644
index 77521b645e8..00000000000
--- a/patches/gobject-introspection/gobject-introspection.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 4e30153d4e58f67d3cb040a75afa37cdc57cba33 Mon Sep 17 00:00:00 2001
-From: Dennis Bonke
-Date: Fri, 4 Feb 2022 02:24:50 +0100
-Subject: [PATCH] Disable tests as they are broken
-
-Signed-off-by: Dennis Bonke
----
- meson.build | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index bb4873e0..83931a4a 100644
---- a/meson.build
-+++ b/meson.build
-@@ -234,9 +234,9 @@ subdir('docs')
-
- # The tests will also run, which is not possible if they
- # were built for a different architecture.
--if not meson.is_cross_build()
-- subdir('tests')
--endif
-+#if not meson.is_cross_build()
-+# subdir('tests')
-+#endif
-
- install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0'))
- install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal'))
---
-2.34.1
diff --git a/patches/gtk+-3/gtk+-3.patch b/patches/gtk+-3/gtk+-3.patch
deleted file mode 100644
index 0745b344f97..00000000000
--- a/patches/gtk+-3/gtk+-3.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From ce246ae059f136289ac1e1d65a406f724e5114a6 Mon Sep 17 00:00:00 2001
-From: Dennis Bonke
-Date: Sun, 3 Apr 2022 22:48:43 +0200
-Subject: [PATCH] Initial Aero support
-
-Signed-off-by: Dennis Bonke
----
- gdk/wayland/gdkdisplay-wayland.c | 1 -
- gtk/a11y/gtkaccessibility.c | 5 +++++
- gtk/gtkmain.c | 5 +++++
- meson.build | 2 +-
- 4 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/gdk/wayland/gdkdisplay-wayland.c b/gdk/wayland/gdkdisplay-wayland.c
-index d4503c2..0e2efc6 100644
---- a/gdk/wayland/gdkdisplay-wayland.c
-+++ b/gdk/wayland/gdkdisplay-wayland.c
-@@ -28,7 +28,6 @@
- #endif
-
- #include
--#include
-
- #include
- #include "gdkwayland.h"
-diff --git a/gtk/a11y/gtkaccessibility.c b/gtk/a11y/gtkaccessibility.c
-index 7f0e520..543a78e 100644
---- a/gtk/a11y/gtkaccessibility.c
-+++ b/gtk/a11y/gtkaccessibility.c
-@@ -974,6 +974,10 @@ do_window_event_initialization (void)
- void
- _gtk_accessibility_init (void)
- {
-+// We don't care about a11y at this point in time and dbus isn't working, so let's just not start that.
-+#ifdef __aero__
-+ return;
-+#else
- if (initialized)
- return;
-
-@@ -993,4 +997,5 @@ _gtk_accessibility_init (void)
- #endif
-
- atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
-+#endif
- }
-diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
-index f7cbb34..8e035d4 100644
---- a/gtk/gtkmain.c
-+++ b/gtk/gtkmain.c
-@@ -357,6 +357,11 @@ static gboolean
- check_setugid (void)
- {
- /* this isn't at all relevant on MS Windows and doesn't compile ... --hb */
-+#ifdef __aero__
-+ /* Aero runs everything as root for the time being, this check is thus useless. */
-+ g_warning("Aero ignores the setugid check!\n");
-+ return TRUE;
-+#endif
- #ifndef G_OS_WIN32
- uid_t ruid, euid, suid; /* Real, effective and saved user ID's */
- gid_t rgid, egid, sgid; /* Real, effective and saved group ID's */
-diff --git a/meson.build b/meson.build
-index a8f1383..32118df 100644
---- a/meson.build
-+++ b/meson.build
-@@ -307,7 +307,7 @@ elif cc.get_id() == 'gcc' or cc.get_id() == 'clang'
- '-Werror=sequence-point',
- '-Werror=return-type',
- '-Werror=trigraphs',
-- '-Werror=array-bounds',
-+ #'-Werror=array-bounds',
- '-Werror=write-strings',
- '-Werror=address',
- '-Werror=int-to-pointer-cast',
---
-2.39.0
diff --git a/patches/gtk+-3/jinx-working-patch.patch b/patches/gtk+-3/jinx-working-patch.patch
new file mode 100644
index 00000000000..3dfbaf5c570
--- /dev/null
+++ b/patches/gtk+-3/jinx-working-patch.patch
@@ -0,0 +1,37 @@
+diff --git gtk+-3-clean/gtk/a11y/gtkaccessibility.c gtk+-3-workdir/gtk/a11y/gtkaccessibility.c
+index 7f0e520..3bf670c 100644
+--- gtk+-3-clean/gtk/a11y/gtkaccessibility.c
++++ gtk+-3-workdir/gtk/a11y/gtkaccessibility.c
+@@ -974,6 +974,10 @@ do_window_event_initialization (void)
+ void
+ _gtk_accessibility_init (void)
+ {
++// We don't care about a11y at this point in time and dbus isn't working, so let's just not start that.
++#ifdef __aero__
++ return;
++#else
+ if (initialized)
+ return;
+
+@@ -993,4 +997,5 @@ _gtk_accessibility_init (void)
+ #endif
+
+ atk_misc_instance = g_object_new (GTK_TYPE_MISC_IMPL, NULL);
++#endif
+ }
+diff --git gtk+-3-clean/gtk/gtkmain.c gtk+-3-workdir/gtk/gtkmain.c
+index ae64e18..2d43754 100644
+--- gtk+-3-clean/gtk/gtkmain.c
++++ gtk+-3-workdir/gtk/gtkmain.c
+@@ -355,6 +355,11 @@ static gboolean
+ check_setugid (void)
+ {
+ /* this isn't at all relevant on MS Windows and doesn't compile ... --hb */
++#ifdef __aero__
++ /* Lyre runs everything as root for the time being, this check is thus useless. */
++ g_warning("Lyre ignores the setugid check!\n");
++ return TRUE;
++#endif
+ #ifndef G_OS_WIN32
+ uid_t ruid, euid, suid; /* Real, effective and saved user ID's */
+ gid_t rgid, egid, sgid; /* Real, effective and saved group ID's */
diff --git a/patches/libdrm/libdrm.patch b/patches/libdrm/libdrm.patch
deleted file mode 100644
index ff811a0bccd..00000000000
--- a/patches/libdrm/libdrm.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From c1dbfc87b74825c0f21b9031fc932d27908fcc71 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Sat, 14 May 2022 14:42:38 +1000
-Subject: [PATCH] drm: aero specific changes
-
-Signed-off-by: Andy-Python-Programmer
----
- .gitignore | 1 +
- include/drm/drm.h | 4 ++--
- xf86drm.c | 20 ++++++++++----------
- xf86drm.h | 2 +-
- 4 files changed, 14 insertions(+), 13 deletions(-)
-
-diff --git a/.gitignore b/.gitignore
-index 0ec9e7f..e0c197e 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1 +1,2 @@
- /build*
-+.vscode
-diff --git a/include/drm/drm.h b/include/drm/drm.h
-index 398c396..3e35299 100644
---- a/include/drm/drm.h
-+++ b/include/drm/drm.h
-@@ -35,10 +35,10 @@
- #ifndef _DRM_H_
- #define _DRM_H_
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__aero__)
-
-+#include
- #include
--#include
- typedef unsigned int drm_handle_t;
-
- #else /* One of the BSDs */
-diff --git a/xf86drm.c b/xf86drm.c
-index 5933e4b..2b79641 100644
---- a/xf86drm.c
-+++ b/xf86drm.c
-@@ -3346,7 +3346,7 @@ drm_public int drmCloseBufferHandle(int fd, uint32_t handle)
-
- static char *drmGetMinorNameForFD(int fd, int type)
- {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- DIR *sysdir;
- struct dirent *ent;
- struct stat sbuf;
-@@ -3468,7 +3468,7 @@ drm_public char *drmGetRenderDeviceNameFromFd(int fd)
- return drmGetMinorNameForFD(fd, DRM_NODE_RENDER);
- }
-
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- static char * DRM_PRINTFLIKE(2, 3)
- sysfs_uevent_get(const char *path, const char *fmt, ...)
- {
-@@ -3515,7 +3515,7 @@ sysfs_uevent_get(const char *path, const char *fmt, ...)
- /* Little white lie to avoid major rework of the existing code */
- #define DRM_BUS_VIRTIO 0x10
-
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- static int get_subsystem_type(const char *device_path)
- {
- char path[PATH_MAX + 1] = "";
-@@ -3581,7 +3581,7 @@ static int drmParseSubsystemType(int maj, int min)
- #endif
- }
-
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- static void
- get_pci_path(int maj, int min, char *pci_path)
- {
-@@ -3661,7 +3661,7 @@ static int get_sysctl_pci_bus_info(int maj, int min, drmPciBusInfoPtr info)
-
- static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
- {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- unsigned int domain, bus, dev, func;
- char pci_path[PATH_MAX + 1], *value;
- int num;
-@@ -3770,7 +3770,7 @@ static int drmGetMaxNodeName(void)
- 3 /* length of the node number */;
- }
-
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- static int parse_separate_sysfs_files(int maj, int min,
- drmPciDeviceInfoPtr device,
- bool ignore_revision)
-@@ -3848,7 +3848,7 @@ static int drmParsePciDeviceInfo(int maj, int min,
- drmPciDeviceInfoPtr device,
- uint32_t flags)
- {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- if (!(flags & DRM_DEVICE_GET_PCI_REVISION))
- return parse_separate_sysfs_files(maj, min, device, true);
-
-@@ -4072,7 +4072,7 @@ free_device:
- return ret;
- }
-
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- static int drm_usb_dev_path(int maj, int min, char *path, size_t len)
- {
- char *value, *tmp_path, *slash;
-@@ -4160,7 +4160,7 @@ static int drmParseUsbBusInfo(int maj, int min, drmUsbBusInfoPtr info)
-
- static int drmParseUsbDeviceInfo(int maj, int min, drmUsbDeviceInfoPtr info)
- {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- char path[PATH_MAX + 1], *value;
- unsigned int vendor, product;
- int ret;
-@@ -4760,7 +4760,7 @@ drm_public int drmGetDevices(drmDevicePtr devices[], int max_devices)
-
- drm_public char *drmGetDeviceNameFromFd2(int fd)
- {
--#ifdef __linux__
-+#if defined(__linux__) || defined(__aero__)
- struct stat sbuf;
- char path[PATH_MAX + 1], *value;
- unsigned int maj, min;
-diff --git a/xf86drm.h b/xf86drm.h
-index 1631396..a2118f1 100644
---- a/xf86drm.h
-+++ b/xf86drm.h
-@@ -47,7 +47,7 @@ extern "C" {
- #define DRM_MAX_MINOR 16
- #endif
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__aero__)
-
- #define DRM_IOCTL_NR(n) _IOC_NR(n)
- #define DRM_IOC_VOID _IOC_NONE
---
-2.25.1
-
diff --git a/patches/libgcrypt/jinx-working-patch.patch b/patches/libgcrypt/jinx-working-patch.patch
new file mode 100644
index 00000000000..a86085ff566
--- /dev/null
+++ b/patches/libgcrypt/jinx-working-patch.patch
@@ -0,0 +1,23 @@
+diff --git a/random/rndunix.c b/random/rndunix.c
+index fcb45b7..1e32242 100644
+--- a/random/rndunix.c
++++ b/random/rndunix.c
+@@ -105,7 +105,7 @@
+ #include
+ #include
+ #include
+-#ifndef __QNX__
++#if !defined __QNX__ && !defined (__aero__)
+ #include
+ #include
+ #endif /* __QNX__ */
+@@ -119,7 +119,9 @@
+ #ifndef __QNX__
+ #include
+ #include
++#ifndef __aero__
+ #include
++#endif
+ #endif /* __QNX__ */
+ #include
+ #include /* Verschiedene komische Typen */
diff --git a/patches/libiconv/0001-libiconv-aero-specific-changes.patch b/patches/libiconv/0001-libiconv-aero-specific-changes.patch
deleted file mode 100644
index 6a7e24eaaf2..00000000000
--- a/patches/libiconv/0001-libiconv-aero-specific-changes.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From d29c791b1dfcd9459e7f9ee1101a035ee31daa75 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Wed, 29 Jun 2022 18:57:29 +1000
-Subject: [PATCH] libiconv: aero specific changes
-
-Signed-off-by: Andy-Python-Programmer
----
- Makefile.devel | 8 ++++----
- libcharset/Makefile.devel | 6 +++---
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/Makefile.devel b/Makefile.devel
-index 2a5e101..a179aaf 100644
---- a/Makefile.devel
-+++ b/Makefile.devel
-@@ -4,10 +4,10 @@
-
- SHELL = /bin/sh
- MAKE = make
--AUTOCONF = autoconf-2.69
--AUTOHEADER = autoheader-2.69
--AUTOMAKE = automake-1.16
--ACLOCAL = aclocal-1.16
-+AUTOCONF = autoconf
-+AUTOHEADER = autoheader
-+AUTOMAKE = automake
-+ACLOCAL = aclocal
- GPERF = gperf
- CC = gcc -Wall
- CFLAGS = -O
-diff --git a/libcharset/Makefile.devel b/libcharset/Makefile.devel
-index 04f4c7a..3e0e2ca 100644
---- a/libcharset/Makefile.devel
-+++ b/libcharset/Makefile.devel
-@@ -3,9 +3,9 @@
-
- SHELL = /bin/sh
- MAKE = make
--AUTOCONF = autoconf-2.69
--AUTOHEADER = autoheader-2.69
--ACLOCAL = aclocal-1.16
-+AUTOCONF = autoconf
-+AUTOHEADER = autoheader
-+ACLOCAL = aclocal
- CP = cp
- RM = rm -f
-
---
-2.25.1
-
diff --git a/patches/libtasn/libtasn.patch b/patches/libtasn/libtasn.patch
deleted file mode 100644
index 6650d9859cd..00000000000
--- a/patches/libtasn/libtasn.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 006807c2ec4429094c7bc0b1f54a7db462916df1 Mon Sep 17 00:00:00 2001
-From: Dennis Bonke
-Date: Wed, 14 Jul 2021 02:35:21 +0200
-Subject: [PATCH] Remove test directory as that can't be cross-compiled
-
-Signed-off-by: Dennis Bonke
----
- Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 86cca65..76b49b1 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -27,7 +27,7 @@ EXTRA_DIST = windows/asn1-parser/asn1-parser.vcproj \
- windows/test-tree/test-tree.vcproj windows/libtasn14win.mk
- EXTRA_DIST += cfg.mk maint.mk CONTRIBUTING.md README.md
-
--SUBDIRS = lib src fuzz tests
-+SUBDIRS = lib src fuzz
-
- if ENABLE_DOC
- SUBDIRS += doc examples
---
-2.32.0
diff --git a/patches/libtool/jinx-working-patch.patch b/patches/libtool/jinx-working-patch.patch
new file mode 100644
index 00000000000..d2f5a84233a
--- /dev/null
+++ b/patches/libtool/jinx-working-patch.patch
@@ -0,0 +1,138 @@
+diff --git libtool-clean/build-aux/ltmain.in libtool-workdir/build-aux/ltmain.in
+index a5f21a1..c06d55c 100644
+--- libtool-clean/build-aux/ltmain.in
++++ libtool-workdir/build-aux/ltmain.in
+@@ -6497,7 +6497,7 @@ func_mode_link ()
+ fi
+ else
+ # We cannot seem to hardcode it, guess we'll fake it.
+- add_dir=-L$libdir
++ add_dir=-L$lt_sysroot$libdir
+ # Try looking first in the location we're being installed to.
+ if test -n "$inst_prefix_dir"; then
+ case $libdir in
+diff --git libtool-clean/libtoolize.in libtool-workdir/libtoolize.in
+index 0c40fed..763619b 100644
+--- libtool-clean/libtoolize.in
++++ libtool-workdir/libtoolize.in
+@@ -1891,7 +1891,7 @@ func_require_seen_libtool ()
+ # Do not remove config.guess, config.sub or install-sh, we don't
+ # install them without --install, and the project may not be using
+ # Automake. Similarly, do not remove Gnulib files.
+- all_pkgaux_files="compile depcomp missing ltmain.sh"
++ all_pkgaux_files=""
+ all_pkgmacro_files="libtool.m4 ltargz.m4 ltdl.m4 ltoptions.m4 ltsugar.m4 ltversion.in ltversion.m4 lt~obsolete.m4"
+ all_pkgltdl_files="COPYING.LIB Makefile Makefile.in Makefile.inc Makefile.am README acinclude.m4 aclocal.m4 argz_.h argz.c config.h.in config-h.in configure configure.ac configure.in libltdl/lt__alloc.h libltdl/lt__argz.h libltdl/lt__dirent.h libltdl/lt__glibc.h libltdl/lt__private.h libltdl/lt__strl.h libltdl/lt_dlloader.h libltdl/lt_error.h libltdl/lt_system.h libltdl/slist.h loaders/dld_link.c loaders/dlopen.c loaders/dyld.c loaders/load_add_on.c loaders/loadlibrary.c loaders/preopen.c loaders/shl_load.c lt__alloc.c lt__argz.c lt__dirent.c lt__strl.c lt_dlloader.c lt_error.c ltdl.c ltdl.h ltdl.mk slist.c"
+
+diff --git libtool-clean/m4/libtool.m4 libtool-workdir/m4/libtool.m4
+index 79a2451..b6e8ca4 100644
+--- libtool-clean/m4/libtool.m4
++++ libtool-workdir/m4/libtool.m4
+@@ -1696,7 +1696,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+ lt_cv_sys_max_cmd_len=12288; # 12K is about right
+ ;;
+
+- gnu*)
++ gnu* | aero*)
+ # Under GNU Hurd, this test is not required because there is
+ # no limit to the length of command line arguments.
+ # Libtool will interpret -1 as no limit whatsoever
+@@ -2925,6 +2925,18 @@ netbsd*)
+ hardcode_into_libs=yes
+ ;;
+
++aero*)
++ version_type=linux # correct to gnu/linux during the next big refactor
++ need_lib_prefix=no
++ need_version=no
++ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
++ soname_spec='$libname$release$shared_ext$major'
++ dynamic_linker='mlibc ld.so'
++ shlibpath_var=LD_LIBRARY_PATH
++ shlibpath_overrides_runpath=no
++ hardcode_into_libs=yes
++ ;;
++
+ newsos6)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+@@ -3566,6 +3578,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
++aero*)
++ lt_cv_deplibs_check_method=pass_all
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+ lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+@@ -4446,6 +4462,8 @@ m4_if([$1], [CXX], [
+ ;;
+ netbsd*)
+ ;;
++ aero*)
++ ;;
+ *qnx* | *nto*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+@@ -4794,6 +4812,12 @@ m4_if([$1], [CXX], [
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+ ;;
+
++ aero*)
++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
++ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
++ ;;
++
+ *nto* | *qnx*)
+ # QNX uses GNU C++, but need to define -shared option too, otherwise
+ # it will coredump.
+@@ -5273,6 +5297,11 @@ _LT_EOF
+ fi
+ ;;
+
++ aero*)
++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
++ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+@@ -5815,6 +5844,9 @@ _LT_EOF
+ esac
+ ;;
+
++ aero*)
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
+@@ -7115,6 +7147,10 @@ if test yes != "$_lt_caught_CXX_error"; then
+ esac
+ ;;
+
++ aero*)
++ _LT_TAGVAR(ld_shlibs, $1)=yes
++ ;;
++
+ netbsd*)
+ if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+ _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+diff --git libtool-clean/m4/ltdl.m4 libtool-workdir/m4/ltdl.m4
+index 772c150..642966e 100644
+--- libtool-clean/m4/ltdl.m4
++++ libtool-workdir/m4/ltdl.m4
+@@ -497,6 +497,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen],
+ # at 6.2 and later dlopen does load deplibs.
+ lt_cv_sys_dlopen_deplibs=yes
+ ;;
++ aero*)
++ lt_cv_sys_dlopen_deplibs=yes
++ ;;
+ netbsd*)
+ lt_cv_sys_dlopen_deplibs=yes
+ ;;
diff --git a/patches/libtool/libtool.patch b/patches/libtool/libtool.patch
deleted file mode 100644
index ae10581cfd1..00000000000
--- a/patches/libtool/libtool.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 634f15ee7db8317cb39e1f13dbd1e4cd16f922e6 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Wed, 25 May 2022 16:43:44 +1000
-Subject: [PATCH] libtool: aero specific changes
-
-Signed-off-by: Andy-Python-Programmer
----
- build-aux/ltmain.in | 2 +-
- m4/libtool.m4 | 15 +++++++++++++++
- 2 files changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
-index d5cf07a..ce97a5f 100644
---- a/build-aux/ltmain.in
-+++ b/build-aux/ltmain.in
-@@ -6449,7 +6449,7 @@ func_mode_link ()
- fi
- else
- # We cannot seem to hardcode it, guess we'll fake it.
-- add_dir=-L$libdir
-+ add_dir=-L$lt_sysroot$libdir
- # Try looking first in the location we're being installed to.
- if test -n "$inst_prefix_dir"; then
- case $libdir in
-diff --git a/m4/libtool.m4 b/m4/libtool.m4
-index a3bc337..9136171 100644
---- a/m4/libtool.m4
-+++ b/m4/libtool.m4
-@@ -2905,6 +2905,17 @@ netbsd*)
- hardcode_into_libs=yes
- ;;
-
-+aero*)
-+ version_type=linux # correct to gnu/linux during the next big refactor
-+ need_lib_prefix=no
-+ need_version=no
-+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-+ soname_spec='$libname$release$shared_ext$major'
-+ shlibpath_var=LD_LIBRARY_PATH
-+ shlibpath_overrides_runpath=no
-+ hardcode_into_libs=yes
-+ ;;
-+
- newsos6)
- version_type=linux # correct to gnu/linux during the next big refactor
- library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
-@@ -3554,6 +3565,10 @@ netbsd*)
- fi
- ;;
-
-+aero*)
-+ lt_cv_deplibs_check_method=pass_all
-+ ;;
-+
- newos6*)
- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
- lt_cv_file_magic_cmd=/usr/bin/file
---
-2.25.1
-
diff --git a/patches/libxfont2/0001-libxfont2-aero-specific-changes.patch b/patches/libxfont2/0001-libxfont2-aero-specific-changes.patch
deleted file mode 100644
index e4453bba46f..00000000000
--- a/patches/libxfont2/0001-libxfont2-aero-specific-changes.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 0da59aec1e86152858f47e12da033883e4b16852 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Thu, 30 Jun 2022 10:46:56 +1000
-Subject: [PATCH] libxfont2: aero specific changes
-
-Signed-off-by: Andy-Python-Programmer
----
- .gitignore | 2 ++
- src/fc/fslibos.h | 2 +-
- 2 files changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/.gitignore b/.gitignore
-index 2efa153..4370b7e 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -79,3 +79,5 @@ core
- *.sig
- *.announce
- TAGS
-+# editor configs:
-+.vscode
-diff --git a/src/fc/fslibos.h b/src/fc/fslibos.h
-index 1ef362d..a9935d1 100644
---- a/src/fc/fslibos.h
-+++ b/src/fc/fslibos.h
-@@ -60,7 +60,7 @@ from The Open Group.
- # endif
- # endif
- # ifndef OPEN_MAX
--# if defined(SVR4)
-+# if defined(SVR4) || defined(__aero__)
- # define OPEN_MAX 256
- # else
- # include
---
-2.25.1
-
diff --git a/patches/llvm/llvm.patch b/patches/llvm/jinx-working-patch.patch
similarity index 67%
rename from patches/llvm/llvm.patch
rename to patches/llvm/jinx-working-patch.patch
index 17987cb2a11..2ac261e9954 100644
--- a/patches/llvm/llvm.patch
+++ b/patches/llvm/jinx-working-patch.patch
@@ -1,66 +1,9 @@
-From 20cff6e42171169bd1b78d7ccffec0ab608e1eaa Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Thu, 16 Feb 2023 17:54:52 +1100
-Subject: [PATCH] targets: add aero
-
-Signed-off-by: Andy-Python-Programmer
----
- clang/lib/Basic/Targets.cpp | 6 +
- clang/lib/Basic/Targets/OSTargets.h | 28 ++
- clang/lib/Driver/CMakeLists.txt | 1 +
- clang/lib/Driver/Driver.cpp | 4 +
- clang/lib/Driver/ToolChains/Aero.cpp | 438 ++++++++++++++++++++++
- clang/lib/Driver/ToolChains/Aero.h | 49 +++
- clang/lib/Driver/ToolChains/Gnu.cpp | 13 +-
- llvm/cmake/modules/CrossCompile.cmake | 4 +-
- llvm/include/llvm/ADT/Triple.h | 5 +-
- llvm/include/llvm/Support/SwapByteOrder.h | 2 +-
- llvm/lib/Support/Triple.cpp | 6 +
- llvm/lib/Support/Unix/Path.inc | 6 +-
- llvm/lib/Support/Unix/Program.inc | 1 +
- llvm/tools/llvm-dwarfdump/Statistics.cpp | 2 +
- llvm/tools/llvm-shlib/CMakeLists.txt | 1 +
- 15 files changed, 556 insertions(+), 10 deletions(-)
- create mode 100644 clang/lib/Driver/ToolChains/Aero.cpp
- create mode 100644 clang/lib/Driver/ToolChains/Aero.h
-
-diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
-index 994a491cdd..098b0d5fb7 100644
---- a/clang/lib/Basic/Targets.cpp
-+++ b/clang/lib/Basic/Targets.cpp
-@@ -149,6 +149,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
- return new NetBSDTargetInfo(Triple, Opts);
- case llvm::Triple::OpenBSD:
- return new OpenBSDTargetInfo(Triple, Opts);
-+ case llvm::Triple::Aero:
-+ return new AeroTargetInfo(Triple, Opts);
- case llvm::Triple::Win32:
- switch (Triple.getEnvironment()) {
- case llvm::Triple::GNU:
-@@ -420,6 +422,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
- return new FuchsiaTargetInfo(Triple, Opts);
- case llvm::Triple::Linux:
- return new LinuxTargetInfo(Triple, Opts);
-+ case llvm::Triple::Aero:
-+ return new AeroTargetInfo(Triple, Opts);
- default:
- return new RISCV64TargetInfo(Triple, Opts);
- }
-@@ -586,6 +590,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple,
- }
- case llvm::Triple::Haiku:
- return new HaikuTargetInfo(Triple, Opts);
-+ case llvm::Triple::Aero:
-+ return new AeroTargetInfo(Triple, Opts);
- case llvm::Triple::NaCl:
- return new NaClTargetInfo(Triple, Opts);
- case llvm::Triple::PS4:
-diff --git a/clang/lib/Basic/Targets/OSTargets.h b/clang/lib/Basic/Targets/OSTargets.h
-index 3c1830d5f8..2123019378 100644
---- a/clang/lib/Basic/Targets/OSTargets.h
-+++ b/clang/lib/Basic/Targets/OSTargets.h
-@@ -338,6 +338,34 @@ public:
- : OSTargetInfo(Triple, Opts) {}
+diff --git llvm-clean/clang/lib/Basic/Targets/OSTargets.h llvm-workdir/clang/lib/Basic/Targets/OSTargets.h
+index cf8cc8e..19984dc 100644
+--- llvm-clean/clang/lib/Basic/Targets/OSTargets.h
++++ llvm-workdir/clang/lib/Basic/Targets/OSTargets.h
+@@ -922,6 +922,34 @@ public:
+ }
};
+// Aero Target
@@ -91,34 +34,47 @@ index 3c1830d5f8..2123019378 100644
+ }
+};
+
- // Minix Target
+ // WebAssembly target
template
- class LLVM_LIBRARY_VISIBILITY MinixTargetInfo : public OSTargetInfo {
-diff --git a/clang/lib/Driver/CMakeLists.txt b/clang/lib/Driver/CMakeLists.txt
-index 78e8fd1852..8a53a0a7ab 100644
---- a/clang/lib/Driver/CMakeLists.txt
-+++ b/clang/lib/Driver/CMakeLists.txt
-@@ -59,6 +59,7 @@ add_clang_library(clangDriver
- ToolChains/Hexagon.cpp
- ToolChains/Hurd.cpp
- ToolChains/Linux.cpp
+ class LLVM_LIBRARY_VISIBILITY WebAssemblyOSTargetInfo
+diff --git llvm-clean/clang/lib/Basic/Targets.cpp llvm-workdir/clang/lib/Basic/Targets.cpp
+index 636b59f..98ef355 100644
+--- llvm-clean/clang/lib/Basic/Targets.cpp
++++ llvm-workdir/clang/lib/Basic/Targets.cpp
+@@ -590,6 +590,8 @@ std::unique_ptr AllocateTarget(const llvm::Triple &Triple,
+ }
+ case llvm::Triple::Haiku:
+ return std::make_unique(Triple, Opts);
++ case llvm::Triple::Aero:
++ return std::make_unique>(Triple, Opts);
+ case llvm::Triple::RTEMS:
+ return std::make_unique(Triple, Opts);
+ case llvm::Triple::NaCl:
+diff --git llvm-clean/clang/lib/Driver/CMakeLists.txt llvm-workdir/clang/lib/Driver/CMakeLists.txt
+index a6bd2d4..81893cf 100644
+--- llvm-clean/clang/lib/Driver/CMakeLists.txt
++++ llvm-workdir/clang/lib/Driver/CMakeLists.txt
+@@ -76,6 +76,7 @@ add_clang_library(clangDriver
+ ToolChains/Myriad.cpp
+ ToolChains/NaCl.cpp
+ ToolChains/NetBSD.cpp
+ ToolChains/Aero.cpp
- ToolChains/MipsLinux.cpp
- ToolChains/MinGW.cpp
- ToolChains/Minix.cpp
-diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
-index 3bfddeefc7..9773e5efd1 100644
---- a/clang/lib/Driver/Driver.cpp
-+++ b/clang/lib/Driver/Driver.cpp
-@@ -30,6 +30,7 @@
- #include "ToolChains/Hurd.h"
- #include "ToolChains/Lanai.h"
- #include "ToolChains/Linux.h"
+ ToolChains/OHOS.cpp
+ ToolChains/OpenBSD.cpp
+ ToolChains/PS4CPU.cpp
+diff --git llvm-clean/clang/lib/Driver/Driver.cpp llvm-workdir/clang/lib/Driver/Driver.cpp
+index bdbdad9..1dd717e 100644
+--- llvm-clean/clang/lib/Driver/Driver.cpp
++++ llvm-workdir/clang/lib/Driver/Driver.cpp
+@@ -20,6 +20,7 @@
+ #include "ToolChains/Contiki.h"
+ #include "ToolChains/CrossWindows.h"
+ #include "ToolChains/Cuda.h"
+#include "ToolChains/Aero.h"
- #include "ToolChains/MSP430.h"
- #include "ToolChains/MSVC.h"
- #include "ToolChains/MinGW.h"
-@@ -5564,6 +5565,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
+ #include "ToolChains/Darwin.h"
+ #include "ToolChains/DragonFly.h"
+ #include "ToolChains/FreeBSD.h"
+@@ -6225,6 +6226,9 @@ const ToolChain &Driver::getToolChain(const ArgList &Args,
case llvm::Triple::Fuchsia:
TC = std::make_unique(*this, Target, Args);
break;
@@ -128,12 +84,12 @@ index 3bfddeefc7..9773e5efd1 100644
case llvm::Triple::Solaris:
TC = std::make_unique(*this, Target, Args);
break;
-diff --git a/clang/lib/Driver/ToolChains/Aero.cpp b/clang/lib/Driver/ToolChains/Aero.cpp
+diff --git llvm-workdir/clang/lib/Driver/ToolChains/Aero.cpp llvm-workdir/clang/lib/Driver/ToolChains/Aero.cpp
new file mode 100644
-index 0000000000..4cd7765aeb
+index 0000000..580d85c
--- /dev/null
-+++ b/clang/lib/Driver/ToolChains/Aero.cpp
-@@ -0,0 +1,438 @@
++++ llvm-workdir/clang/lib/Driver/ToolChains/Aero.cpp
+@@ -0,0 +1,432 @@
+//===--- Aero.h - Aero ToolChain Implementations --------*- C++ -*-===//
+//
+// The LLVM Compiler Infrastructure
@@ -247,13 +203,13 @@ index 0000000000..4cd7765aeb
+ // to the link paths.
+ path_list &Paths = getFilePaths();
+
-+ const std::string OSLibDir = getOSLibDir(Triple, Args);
++ const std::string OSLibDir = std::string(getOSLibDir(Triple, Args));
+ const std::string MultiarchTriple = getMultiarchTriple(D, Triple, SysRoot);
+
+ // Add the multilib suffixed paths where they are available.
+ if (GCCInstallation.isValid()) {
+ const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
-+ const std::string &LibPath = GCCInstallation.getParentLibPath();
++ const std::string &LibPath = std::string(GCCInstallation.getParentLibPath());
+ const Multilib &Multilib = GCCInstallation.getMultilib();
+ const MultilibSet &Multilibs = GCCInstallation.getMultilibs();
+
@@ -336,7 +292,7 @@ index 0000000000..4cd7765aeb
+
+ // See comments above on the multilib variant for details of why this is
+ // included even from outside the sysroot.
-+ const std::string &LibPath = GCCInstallation.getParentLibPath();
++ const std::string &LibPath = std::string(GCCInstallation.getParentLibPath());
+ const llvm::Triple &GCCTriple = GCCInstallation.getTriple();
+ const Multilib &Multilib = GCCInstallation.getMultilib();
+ addPathIfExists(D, LibPath + "/../" + GCCTriple.str() + "/lib" +
@@ -495,11 +451,9 @@ index 0000000000..4cd7765aeb
+ getMultiarchTriple(getDriver(), getTriple(), getDriver().SysRoot);
+ const GCCVersion &Version = GCCInstallation.getVersion();
+
-+ // The primary search for libstdc++ supports multiarch variants.
-+ if (addLibStdCXXIncludePaths(LibDir.str() + "/../include",
-+ "/c++/" + Version.Text, TripleStr,
-+ GCCMultiarchTriple, TargetMultiarchTriple,
-+ Multilib.includeSuffix(), DriverArgs, CC1Args))
++ // Try generic GCC detection first.
++ if (Generic_GCC::addGCCLibStdCxxIncludePaths(DriverArgs, CC1Args,
++ TripleStr))
+ return;
+
+ // Otherwise, fall back on a bunch of options which don't use multiarch
@@ -519,10 +473,7 @@ index 0000000000..4cd7765aeb
+ };
+
+ for (const auto &IncludePath : LibStdCXXIncludePathCandidates) {
-+ if (addLibStdCXXIncludePaths(IncludePath, /*Suffix*/ "", TripleStr,
-+ /*GCCMultiarchTriple*/ "",
-+ /*TargetMultiarchTriple*/ "",
-+ Multilib.includeSuffix(), DriverArgs, CC1Args))
++ if (addLibStdCXXIncludePaths(IncludePath, TripleStr, Multilib.includeSuffix(), DriverArgs, CC1Args))
+ break;
+ }
+}
@@ -571,12 +522,11 @@ index 0000000000..4cd7765aeb
+ Res |= SanitizerKind::MemTag;
+ return Res;
+}
-+
-diff --git a/clang/lib/Driver/ToolChains/Aero.h b/clang/lib/Driver/ToolChains/Aero.h
+diff --git llvm-workdir/clang/lib/Driver/ToolChains/Aero.h llvm-workdir/clang/lib/Driver/ToolChains/Aero.h
new file mode 100644
-index 0000000000..e9016f4a81
+index 0000000..a7b0b4d
--- /dev/null
-+++ b/clang/lib/Driver/ToolChains/Aero.h
++++ llvm-workdir/clang/lib/Driver/ToolChains/Aero.h
@@ -0,0 +1,49 @@
+//===--- Aero.h - Aero ToolChain Implementations --------*- C++ -*-===//
+//
@@ -587,8 +537,8 @@ index 0000000000..e9016f4a81
+//
+//===----------------------------------------------------------------------===//
+
-+#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MANAGARM_H
-+#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MANAGARM_H
++#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AERO_H
++#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AERO_H
+
+#include "Gnu.h"
+#include "clang/Driver/ToolChain.h"
@@ -611,9 +561,9 @@ index 0000000000..e9016f4a81
+ const llvm::opt::ArgList &DriverArgs,
+ llvm::opt::ArgStringList &CC1Args) const override;
+ SanitizerMask getSupportedSanitizers() const override;
-+ virtual std::string computeSysRoot() const;
+
-+ virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const;
++ virtual std::string computeSysRoot() const override;
++ virtual std::string getDynamicLinker(const llvm::opt::ArgList &Args) const override;
+
+ std::vector ExtraOpts;
+
@@ -626,59 +576,27 @@ index 0000000000..e9016f4a81
+} // end namespace driver
+} // end namespace clang
+
-+#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MANAGARM_H
-diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp
-index 7a9570a686..8114baabb0 100644
---- a/clang/lib/Driver/ToolChains/Gnu.cpp
-+++ b/clang/lib/Driver/ToolChains/Gnu.cpp
-@@ -246,6 +246,8 @@ static const char *getLDMOption(const llvm::Triple &T, const ArgList &Args) {
- return "elf_iamcu";
- return "elf_i386";
- case llvm::Triple::aarch64:
-+ if (T.getOS() == llvm::Triple::Aero)
-+ return "aarch64aero";
- return "aarch64linux";
- case llvm::Triple::aarch64_be:
- return "aarch64linuxb";
-@@ -2073,7 +2075,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
- static const char *const AArch64LibDirs[] = {"/lib64", "/lib"};
- static const char *const AArch64Triples[] = {
- "aarch64-none-linux-gnu", "aarch64-linux-gnu", "aarch64-redhat-linux",
-- "aarch64-suse-linux"};
-+ "aarch64-suse-linux", "aarch64-aero", "aarch64-aero-system",
-+ "aarch64-aero-kernel"};
- static const char *const AArch64beLibDirs[] = {"/lib"};
- static const char *const AArch64beTriples[] = {"aarch64_be-none-linux-gnu",
- "aarch64_be-linux-gnu"};
-@@ -2099,7 +2102,8 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
++#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_AERO_H
+diff --git llvm-clean/clang/lib/Driver/ToolChains/Gnu.cpp llvm-workdir/clang/lib/Driver/ToolChains/Gnu.cpp
+index 40038dc..86a5c53 100644
+--- llvm-clean/clang/lib/Driver/ToolChains/Gnu.cpp
++++ llvm-workdir/clang/lib/Driver/ToolChains/Gnu.cpp
+@@ -2328,7 +2328,7 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
"x86_64-redhat-linux", "x86_64-suse-linux",
"x86_64-manbo-linux-gnu", "x86_64-linux-gnu",
"x86_64-slackware-linux", "x86_64-unknown-linux",
- "x86_64-amazon-linux"};
-+ "x86_64-amazon-linux", "x86_64-aero", "x86_64-aero-system",
-+ "x86_64-aero-kernel"};
++ "x86_64-amazon-linux", "x86_64-aero"};
static const char *const X32Triples[] = {"x86_64-linux-gnux32",
"x86_64-pc-linux-gnux32"};
static const char *const X32LibDirs[] = {"/libx32", "/lib"};
-@@ -2171,7 +2175,10 @@ void Generic_GCC::GCCInstallationDetector::AddDefaultGCCPrefixes(
- static const char *const RISCV64LibDirs[] = {"/lib64", "/lib"};
- static const char *const RISCV64Triples[] = {"riscv64-unknown-linux-gnu",
- "riscv64-linux-gnu",
-- "riscv64-unknown-elf"};
-+ "riscv64-unknown-elf",
-+ "riscv64-aero",
-+ "riscv64-aero-kernel",
-+ "riscv64-aero-system"};
-
- static const char *const SPARCv8LibDirs[] = {"/lib32", "/lib"};
- static const char *const SPARCv8Triples[] = {"sparc-linux-gnu",
-diff --git a/llvm/cmake/modules/CrossCompile.cmake b/llvm/cmake/modules/CrossCompile.cmake
-index 2a39b6a40a..ceceb2aab9 100644
---- a/llvm/cmake/modules/CrossCompile.cmake
-+++ b/llvm/cmake/modules/CrossCompile.cmake
+diff --git llvm-clean/llvm/cmake/modules/CrossCompile.cmake llvm-workdir/llvm/cmake/modules/CrossCompile.cmake
+index 6af47b5..78983fa 100644
+--- llvm-clean/llvm/cmake/modules/CrossCompile.cmake
++++ llvm-workdir/llvm/cmake/modules/CrossCompile.cmake
@@ -17,8 +17,8 @@ function(llvm_create_cross_target project_name target_name toolchain buildtype)
-DCMAKE_TOOLCHAIN_FILE=\"${LLVM_MAIN_SRC_DIR}/cmake/platforms/${toolchain}.cmake\")
- else()
+ elseif (NOT CMAKE_CROSSCOMPILING)
set(CROSS_TOOLCHAIN_FLAGS_INIT
- -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
- -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
@@ -687,35 +605,12 @@ index 2a39b6a40a..ceceb2aab9 100644
)
endif()
set(CROSS_TOOLCHAIN_FLAGS_${target_name} ${CROSS_TOOLCHAIN_FLAGS_INIT}
-diff --git a/llvm/include/llvm/ADT/Triple.h b/llvm/include/llvm/ADT/Triple.h
-index 42277c0130..35516ec5af 100644
---- a/llvm/include/llvm/ADT/Triple.h
-+++ b/llvm/include/llvm/ADT/Triple.h
-@@ -181,6 +181,7 @@ public:
- Linux,
- Lv2, // PS3
- MacOSX,
-+ Aero,
- NetBSD,
- OpenBSD,
- Solaris,
-@@ -232,7 +233,9 @@ public:
- CoreCLR,
- Simulator, // Simulator variants of other systems, e.g., Apple's iOS
- MacABI, // Mac Catalyst variant of Apple's iOS deployment target.
-- LastEnvironmentType = MacABI
-+ Kernel,
-+ System,
-+ LastEnvironmentType = System
- };
- enum ObjectFormatType {
- UnknownObjectFormat,
-diff --git a/llvm/include/llvm/Support/SwapByteOrder.h b/llvm/include/llvm/Support/SwapByteOrder.h
-index e8612ba665..7c4e941bd2 100644
---- a/llvm/include/llvm/Support/SwapByteOrder.h
-+++ b/llvm/include/llvm/Support/SwapByteOrder.h
-@@ -22,7 +22,7 @@
- #endif
+diff --git llvm-clean/llvm/include/llvm/Support/SwapByteOrder.h llvm-workdir/llvm/include/llvm/Support/SwapByteOrder.h
+index 1bbc2e2..4b41da7 100644
+--- llvm-clean/llvm/include/llvm/Support/SwapByteOrder.h
++++ llvm-workdir/llvm/include/llvm/Support/SwapByteOrder.h
+@@ -20,7 +20,7 @@
+ #include
#if defined(__linux__) || defined(__GNU__) || defined(__HAIKU__) || \
- defined(__Fuchsia__) || defined(__EMSCRIPTEN__)
@@ -723,68 +618,33 @@ index e8612ba665..7c4e941bd2 100644
#include
#elif defined(_AIX)
#include
-diff --git a/llvm/lib/Support/Triple.cpp b/llvm/lib/Support/Triple.cpp
-index a9afcc9db9..ccb0ca0601 100644
---- a/llvm/lib/Support/Triple.cpp
-+++ b/llvm/lib/Support/Triple.cpp
-@@ -195,6 +195,7 @@ StringRef Triple::getOSTypeName(OSType Kind) {
- case UnknownOS: return "unknown";
-
- case AIX: return "aix";
-+ case Aero: return "aero";
- case AMDHSA: return "amdhsa";
- case AMDPAL: return "amdpal";
- case Ananas: return "ananas";
-@@ -251,6 +252,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
- case GNUX32: return "gnux32";
- case GNUILP32: return "gnu_ilp32";
- case Itanium: return "itanium";
-+ case Kernel: return "kernel";
- case MSVC: return "msvc";
- case MacABI: return "macabi";
- case Musl: return "musl";
-@@ -258,6 +260,7 @@ StringRef Triple::getEnvironmentTypeName(EnvironmentType Kind) {
- case MuslEABIHF: return "musleabihf";
- case MuslX32: return "muslx32";
- case Simulator: return "simulator";
-+ case System: return "system";
- }
-
- llvm_unreachable("Invalid EnvironmentType!");
-@@ -512,6 +515,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
-
- static Triple::OSType parseOS(StringRef OSName) {
- return StringSwitch(OSName)
-+ .StartsWith("aero", Triple::Aero)
- .StartsWith("ananas", Triple::Ananas)
- .StartsWith("cloudabi", Triple::CloudABI)
- .StartsWith("darwin", Triple::Darwin)
-@@ -570,9 +574,11 @@ static Triple::EnvironmentType parseEnvironment(StringRef EnvironmentName) {
- .StartsWith("musl", Triple::Musl)
- .StartsWith("msvc", Triple::MSVC)
- .StartsWith("itanium", Triple::Itanium)
-+ .StartsWith("kernel", Triple::Kernel)
- .StartsWith("cygnus", Triple::Cygnus)
- .StartsWith("coreclr", Triple::CoreCLR)
- .StartsWith("simulator", Triple::Simulator)
-+ .StartsWith("system", Triple::System)
- .StartsWith("macabi", Triple::MacABI)
- .Default(Triple::UnknownEnvironment);
- }
-diff --git a/llvm/lib/Support/Unix/Path.inc b/llvm/lib/Support/Unix/Path.inc
-index 788460d657..85d46701e2 100644
---- a/llvm/lib/Support/Unix/Path.inc
-+++ b/llvm/lib/Support/Unix/Path.inc
-@@ -74,7 +74,7 @@ extern char **environ;
+diff --git llvm-clean/llvm/include/llvm/TargetParser/Triple.h llvm-workdir/llvm/include/llvm/TargetParser/Triple.h
+index 79ccd64..ae3bfb0 100644
+--- llvm-clean/llvm/include/llvm/TargetParser/Triple.h
++++ llvm-workdir/llvm/include/llvm/TargetParser/Triple.h
+@@ -197,6 +197,7 @@ public:
+ Lv2, // PS3
+ MacOSX,
+ NetBSD,
++ Aero,
+ OpenBSD,
+ Solaris,
+ UEFI,
+diff --git llvm-clean/llvm/lib/Support/Unix/Path.inc llvm-workdir/llvm/lib/Support/Unix/Path.inc
+index e2aece4..54741ac 100644
+--- llvm-clean/llvm/lib/Support/Unix/Path.inc
++++ llvm-workdir/llvm/lib/Support/Unix/Path.inc
+@@ -74,7 +74,8 @@ extern char **environ;
#include
#if !defined(__APPLE__) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && \
- !defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(_AIX)
-+ !defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(_AIX) && !defined(__aero__)
++ !defined(__linux__) && !defined(__FreeBSD_kernel__) && !defined(_AIX) && \
++ !defined(__aero__)
#include
#define STATVFS statvfs
#define FSTATVFS fstatvfs
-@@ -83,7 +83,7 @@ extern char **environ;
+@@ -83,7 +84,7 @@ extern char **environ;
#if defined(__OpenBSD__) || defined(__FreeBSD__)
#include
#include
@@ -793,7 +653,26 @@ index 788460d657..85d46701e2 100644
#if defined(HAVE_LINUX_MAGIC_H)
#include
#else
-@@ -478,7 +478,7 @@ std::error_code remove(const Twine &path, bool IgnoreNonExisting) {
+@@ -129,7 +130,7 @@ const file_t kInvalidFile = -1;
+ #if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || \
+ defined(__minix) || defined(__FreeBSD_kernel__) || defined(__linux__) || \
+ defined(__CYGWIN__) || defined(__DragonFly__) || defined(_AIX) || \
+- defined(__GNU__) || (defined(__sun__) && defined(__svr4__))
++ defined(__GNU__) || (defined(__sun__) && defined(__svr4__)) || defined(__aero__)
+ static int test_dir(char ret[PATH_MAX], const char *dir, const char *bin) {
+ struct stat sb;
+ char fullpath[PATH_MAX];
+@@ -250,7 +251,8 @@ std::string getMainExecutable(const char *argv0, void *MainAddr) {
+ // If we don't have procfs mounted, fall back to argv[0]
+ if (getprogpath(exe_path, argv0) != NULL)
+ return exe_path;
+-#elif defined(__linux__) || defined(__CYGWIN__) || defined(__gnu_hurd__)
++#elif defined(__linux__) || defined(__CYGWIN__) || defined(__gnu_hurd__) || \
++ defined(__aero__)
+ char exe_path[PATH_MAX];
+ const char *aPath = "/proc/self/exe";
+ if (sys::fs::exists(aPath)) {
+@@ -472,7 +474,7 @@ std::error_code remove(const Twine &path, bool IgnoreNonExisting) {
}
static bool is_local_impl(struct STATVFS &Vfs) {
@@ -802,10 +681,10 @@ index 788460d657..85d46701e2 100644
#ifndef NFS_SUPER_MAGIC
#define NFS_SUPER_MAGIC 0x6969
#endif
-diff --git a/llvm/lib/Support/Unix/Program.inc b/llvm/lib/Support/Unix/Program.inc
-index 089342030b..0616096541 100644
---- a/llvm/lib/Support/Unix/Program.inc
-+++ b/llvm/lib/Support/Unix/Program.inc
+diff --git llvm-clean/llvm/lib/Support/Unix/Program.inc llvm-workdir/llvm/lib/Support/Unix/Program.inc
+index 897e227..02f74d7 100644
+--- llvm-clean/llvm/lib/Support/Unix/Program.inc
++++ llvm-workdir/llvm/lib/Support/Unix/Program.inc
@@ -41,6 +41,7 @@
#if HAVE_UNISTD_H
#include
@@ -814,31 +693,35 @@ index 089342030b..0616096541 100644
#ifdef HAVE_POSIX_SPAWN
#include
-diff --git a/llvm/tools/llvm-dwarfdump/Statistics.cpp b/llvm/tools/llvm-dwarfdump/Statistics.cpp
-index 5c08e43b4b..a19c74e82c 100644
---- a/llvm/tools/llvm-dwarfdump/Statistics.cpp
-+++ b/llvm/tools/llvm-dwarfdump/Statistics.cpp
-@@ -6,6 +6,8 @@
- //
- //===----------------------------------------------------------------------===//
+diff --git llvm-clean/llvm/lib/TargetParser/Triple.cpp llvm-workdir/llvm/lib/TargetParser/Triple.cpp
+index a3d6a06..f431d74 100644
+--- llvm-clean/llvm/lib/TargetParser/Triple.cpp
++++ llvm-workdir/llvm/lib/TargetParser/Triple.cpp
+@@ -219,6 +219,7 @@ StringRef Triple::getOSTypeName(OSType Kind) {
+ case Emscripten: return "emscripten";
+ case FreeBSD: return "freebsd";
+ case Fuchsia: return "fuchsia";
++ case Aero: return "aero";
+ case Haiku: return "haiku";
+ case HermitCore: return "hermit";
+ case Hurd: return "hurd";
+@@ -575,6 +576,7 @@ static Triple::VendorType parseVendor(StringRef VendorName) {
-+#include
-+
- #include "llvm-dwarfdump.h"
- #include "llvm/ADT/DenseMap.h"
- #include "llvm/ADT/StringSet.h"
-diff --git a/llvm/tools/llvm-shlib/CMakeLists.txt b/llvm/tools/llvm-shlib/CMakeLists.txt
-index 8e2b78f1b8..e1bd74eaf7 100644
---- a/llvm/tools/llvm-shlib/CMakeLists.txt
-+++ b/llvm/tools/llvm-shlib/CMakeLists.txt
-@@ -36,6 +36,7 @@ if(LLVM_BUILD_LLVM_DYLIB)
- if(("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") OR (MINGW) OR (HAIKU)
- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "GNU")
-+ OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "aero")
+ static Triple::OSType parseOS(StringRef OSName) {
+ return StringSwitch(OSName)
++ .StartsWith("aero", Triple::Aero)
+ .StartsWith("ananas", Triple::Ananas)
+ .StartsWith("cloudabi", Triple::CloudABI)
+ .StartsWith("darwin", Triple::Darwin)
+diff --git llvm-clean/llvm/tools/llvm-shlib/CMakeLists.txt llvm-workdir/llvm/tools/llvm-shlib/CMakeLists.txt
+index 8ace190..b79c68d 100644
+--- llvm-clean/llvm/tools/llvm-shlib/CMakeLists.txt
++++ llvm-workdir/llvm/tools/llvm-shlib/CMakeLists.txt
+@@ -41,6 +41,7 @@ if(LLVM_BUILD_LLVM_DYLIB)
OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "OpenBSD")
- OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "DragonFly")
---
-2.39.1
-
+ OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
++ OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Aero")
+ OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "Android")
+ OR ("${CMAKE_SYSTEM_NAME}" STREQUAL "SunOS")) # FIXME: It should be "GNU ld for elf"
+ configure_file(
diff --git a/patches/mesa/jinx-working-patch.patch b/patches/mesa/jinx-working-patch.patch
new file mode 100644
index 00000000000..20d43de4e12
--- /dev/null
+++ b/patches/mesa/jinx-working-patch.patch
@@ -0,0 +1,170 @@
+diff --git mesa-clean/include/drm-uapi/drm.h mesa-workdir/include/drm-uapi/drm.h
+index 0254024..c2ffd35 100644
+--- mesa-clean/include/drm-uapi/drm.h
++++ mesa-workdir/include/drm-uapi/drm.h
+@@ -44,7 +44,7 @@ typedef unsigned int drm_handle_t;
+ #else /* One of the BSDs */
+
+ #include
+-#include
++// #include
+ #include
+ typedef int8_t __s8;
+ typedef uint8_t __u8;
+diff --git mesa-clean/meson.build mesa-workdir/meson.build
+index 2902c10..1da7605 100644
+--- mesa-clean/meson.build
++++ mesa-workdir/meson.build
+@@ -959,7 +959,7 @@ if cc.has_function('fmemopen')
+ endif
+
+ # TODO: this is very incomplete
+-if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android'].contains(host_machine.system())
++if ['linux', 'cygwin', 'gnu', 'freebsd', 'gnu/kfreebsd', 'haiku', 'android', 'aero'].contains(host_machine.system())
+ pre_args += '-D_GNU_SOURCE'
+ elif host_machine.system() == 'sunos'
+ pre_args += '-D__EXTENSIONS__'
+diff --git mesa-clean/src/compiler/spirv/spirv_to_nir.c mesa-workdir/src/compiler/spirv/spirv_to_nir.c
+index 5f36118..a501802 100644
+--- mesa-clean/src/compiler/spirv/spirv_to_nir.c
++++ mesa-workdir/src/compiler/spirv/spirv_to_nir.c
+@@ -39,6 +39,7 @@
+ #include "util/u_debug.h"
+
+ #include
++#include
+
+ #ifndef NDEBUG
+ uint32_t mesa_spirv_debug = 0;
+diff --git mesa-clean/src/egl/main/egllog.c mesa-workdir/src/egl/main/egllog.c
+index 678bb75..016a70d 100644
+--- mesa-clean/src/egl/main/egllog.c
++++ mesa-workdir/src/egl/main/egllog.c
+@@ -37,6 +37,7 @@
+ #include
+ #include
+ #include
++#include
+ #include "c11/threads.h"
+ #include "util/macros.h"
+ #include "util/simple_mtx.h"
+diff --git mesa-clean/src/gallium/drivers/llvmpipe/lp_texture.c mesa-workdir/src/gallium/drivers/llvmpipe/lp_texture.c
+index 5c5a6cd..ae6c23d 100644
+--- mesa-clean/src/gallium/drivers/llvmpipe/lp_texture.c
++++ mesa-workdir/src/gallium/drivers/llvmpipe/lp_texture.c
+@@ -1152,7 +1152,7 @@ llvmpipe_resource_get_param(struct pipe_screen *screen,
+ default:
+ break;
+ }
+- assert(0);
++ // assert(0);
+ *value = 0;
+ return false;
+ }
+diff --git mesa-clean/src/util/detect_os.h mesa-workdir/src/util/detect_os.h
+index 6506948..93ce551 100644
+--- mesa-clean/src/util/detect_os.h
++++ mesa-workdir/src/util/detect_os.h
+@@ -28,6 +28,11 @@
+ #define DETECT_OS_ANDROID 1
+ #endif
+
++#if defined(__aero__)
++#define DETECT_OS_AERO 1
++#define DETECT_OS_UNIX 1
++#endif
++
+ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+ #define DETECT_OS_FREEBSD 1
+ #define DETECT_OS_BSD 1
+@@ -128,4 +133,8 @@
+ #define DETECT_OS_WINDOWS 0
+ #endif
+
++#ifndef DETECT_OS_AERO
++#define DETECT_OS_AERO 0
++#endif
++
+ #endif /* DETECT_OS_H */
+diff --git mesa-clean/src/util/futex.h mesa-workdir/src/util/futex.h
+index c397507..995c1e2 100644
+--- mesa-clean/src/util/futex.h
++++ mesa-workdir/src/util/futex.h
+@@ -24,7 +24,7 @@
+ #ifndef UTIL_FUTEX_H
+ #define UTIL_FUTEX_H
+
+-#if defined(HAVE_LINUX_FUTEX_H)
++#if defined(HAVE_LINUX_FUTEX_H) && defined(__linux__)
+ #define UTIL_FUTEX_SUPPORTED 1
+ #elif defined(__FreeBSD__)
+ #define UTIL_FUTEX_SUPPORTED 1
+diff --git mesa-clean/src/util/os_misc.c mesa-workdir/src/util/os_misc.c
+index c378a9e..64f6cff 100644
+--- mesa-clean/src/util/os_misc.c
++++ mesa-workdir/src/util/os_misc.c
+@@ -57,7 +57,7 @@
+ # include
+ # include
+ # include
+-#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD
++#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_AERO
+ # include
+ #elif DETECT_OS_OPENBSD || DETECT_OS_FREEBSD
+ # include
+@@ -248,7 +248,7 @@ exit_mutex:
+ bool
+ os_get_total_physical_memory(uint64_t *size)
+ {
+-#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD
++#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_AERO
+ const long phys_pages = sysconf(_SC_PHYS_PAGES);
+ const long page_size = sysconf(_SC_PAGE_SIZE);
+
+diff --git mesa-clean/src/util/os_time.c mesa-workdir/src/util/os_time.c
+index 7fb3134..38b6ade 100644
+--- mesa-clean/src/util/os_time.c
++++ mesa-workdir/src/util/os_time.c
+@@ -65,7 +65,7 @@ os_time_get_nano(void)
+ void
+ os_time_sleep(int64_t usecs)
+ {
+-#if DETECT_OS_LINUX
++#if DETECT_OS_LINUX || DETECT_OS_AERO
+ struct timespec time;
+ time.tv_sec = usecs / 1000000;
+ time.tv_nsec = (usecs % 1000000) * 1000;
+diff --git mesa-clean/src/util/u_debug.c mesa-workdir/src/util/u_debug.c
+index 61f628e..e390606 100644
+--- mesa-clean/src/util/u_debug.c
++++ mesa-workdir/src/util/u_debug.c
+@@ -32,6 +32,7 @@
+ #include "util/u_math.h"
+ #include
+
++#include
+ #include
+ #include /* CHAR_BIT */
+ #include /* isalnum */
+diff --git mesa-clean/src/util/u_thread.c mesa-workdir/src/util/u_thread.c
+index 55b6b68..277ffbd 100644
+--- mesa-clean/src/util/u_thread.c
++++ mesa-workdir/src/util/u_thread.c
+@@ -75,7 +75,7 @@ int u_thread_create(thrd_t *thrd, int (*routine)(void *), void *param)
+ void u_thread_setname( const char *name )
+ {
+ #if defined(HAVE_PTHREAD)
+-#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || defined(__GLIBC__)
++#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || defined(__GLIBC__) || DETECT_OS_AERO
+ int ret = pthread_setname_np(pthread_self(), name);
+ if (ret == ERANGE) {
+ char buf[16];
+@@ -154,7 +154,7 @@ util_set_thread_affinity(thrd_t thread,
+ int64_t
+ util_thread_get_time_nano(thrd_t thread)
+ {
+-#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__)
++#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) && !defined(__aero__)
+ struct timespec ts;
+ clockid_t cid;
+
diff --git a/patches/mesa/mesa.patch b/patches/mesa/mesa.patch
deleted file mode 100644
index 05dab1ee953..00000000000
--- a/patches/mesa/mesa.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-From 17fb4ad377b2cd0d43a62af25b8c8375909da019 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Sat, 18 Feb 2023 14:31:17 +1100
-Subject: [PATCH]
-
----
- include/drm-uapi/drm.h | 5 +++--
- meson.build | 2 +-
- src/compiler/spirv/spirv_to_nir.c | 1 +
- src/egl/main/egllog.c | 1 +
- src/gallium/drivers/llvmpipe/lp_texture.c | 1 -
- src/util/debug.c | 1 +
- src/util/detect_os.h | 8 ++++++++
- src/util/futex.h | 2 +-
- src/util/os_misc.c | 4 ++--
- src/util/os_time.c | 4 ++--
- src/util/u_printf.h | 2 ++
- src/util/u_thread.h | 4 ++--
- 12 files changed, 24 insertions(+), 11 deletions(-)
-
-diff --git a/include/drm-uapi/drm.h b/include/drm-uapi/drm.h
-index 5e54c3a..be0e26d 100644
---- a/include/drm-uapi/drm.h
-+++ b/include/drm-uapi/drm.h
-@@ -35,10 +35,11 @@
- #ifndef _DRM_H_
- #define _DRM_H_
-
--#if defined(__linux__)
-+#if defined(__linux__) || defined(__aero__)
-
-+#include
- #include
--#include
-+//#include
- typedef unsigned int drm_handle_t;
-
- #else /* One of the BSDs */
-diff --git a/meson.build b/meson.build
-index 0aea312..6624be3 100644
---- a/meson.build
-+++ b/meson.build
-@@ -164,7 +164,7 @@ with_any_opengl = with_opengl or with_gles1 or with_gles2
- # Only build shared_glapi if at least one OpenGL API is enabled
- with_shared_glapi = with_shared_glapi and with_any_opengl
-
--system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'sunos'].contains(host_machine.system())
-+system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'gnu/kfreebsd', 'dragonfly', 'linux', 'aero', 'sunos'].contains(host_machine.system())
-
- dri_drivers = get_option('dri-drivers')
- if dri_drivers.contains('auto')
-diff --git a/src/compiler/spirv/spirv_to_nir.c b/src/compiler/spirv/spirv_to_nir.c
-index 71cdc83..3d26705 100644
---- a/src/compiler/spirv/spirv_to_nir.c
-+++ b/src/compiler/spirv/spirv_to_nir.c
-@@ -37,6 +37,7 @@
- #include "util/u_string.h"
-
- #include
-+#include
-
- #ifndef NDEBUG
- static enum nir_spirv_debug_level
-diff --git a/src/egl/main/egllog.c b/src/egl/main/egllog.c
-index 984dd5b..6a91952 100644
---- a/src/egl/main/egllog.c
-+++ b/src/egl/main/egllog.c
-@@ -39,6 +39,7 @@
- #include
- #include
- #include
-+#include
- #include "c11/threads.h"
- #include "util/macros.h"
- #include "util/u_string.h"
-diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c
-index 5bfc8db..d2b31e1 100644
---- a/src/gallium/drivers/llvmpipe/lp_texture.c
-+++ b/src/gallium/drivers/llvmpipe/lp_texture.c
-@@ -1102,7 +1102,6 @@ llvmpipe_resource_get_param(struct pipe_screen *screen,
- default:
- break;
- }
-- assert(0);
- *value = 0;
- return false;
- }
-diff --git a/src/util/debug.c b/src/util/debug.c
-index 89ae613..fbf45f4 100644
---- a/src/util/debug.c
-+++ b/src/util/debug.c
-@@ -23,6 +23,7 @@
-
- #include
- #include
-+#include
- #include "debug.h"
- #include "u_string.h"
-
-diff --git a/src/util/detect_os.h b/src/util/detect_os.h
-index 6506948..f5d49de 100644
---- a/src/util/detect_os.h
-+++ b/src/util/detect_os.h
-@@ -81,6 +81,11 @@
- #define DETECT_OS_UNIX 1
- #endif
-
-+#if defined(__aero__)
-+#define DETECT_OS_aero 1
-+#define DETECT_OS_UNIX 1
-+#endif
-+
-
- /*
- * Make sure DETECT_OS_* are always defined, so that they can be used with #if
-@@ -127,5 +132,8 @@
- #ifndef DETECT_OS_WINDOWS
- #define DETECT_OS_WINDOWS 0
- #endif
-+#ifndef DETECT_OS_aero
-+#define DETECT_OS_aero 0
-+#endif
-
- #endif /* DETECT_OS_H */
-diff --git a/src/util/futex.h b/src/util/futex.h
-index 43097f4..98af1db 100644
---- a/src/util/futex.h
-+++ b/src/util/futex.h
-@@ -24,7 +24,7 @@
- #ifndef UTIL_FUTEX_H
- #define UTIL_FUTEX_H
-
--#if defined(HAVE_LINUX_FUTEX_H)
-+#if defined(HAVE_LINUX_FUTEX_H) && defined(__linux__)
- #define UTIL_FUTEX_SUPPORTED 1
-
- #include
-diff --git a/src/util/os_misc.c b/src/util/os_misc.c
-index 31f1c55..cd3e2c7 100644
---- a/src/util/os_misc.c
-+++ b/src/util/os_misc.c
-@@ -57,7 +57,7 @@
- # include
- # include
- # include
--#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD
-+#elif DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_aero
- # include
- #elif DETECT_OS_OPENBSD || DETECT_OS_FREEBSD
- # include
-@@ -223,7 +223,7 @@ os_get_option(const char *name)
- bool
- os_get_total_physical_memory(uint64_t *size)
- {
--#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD
-+#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_HURD || DETECT_OS_aero
- const long phys_pages = sysconf(_SC_PHYS_PAGES);
- const long page_size = sysconf(_SC_PAGE_SIZE);
-
-diff --git a/src/util/os_time.c b/src/util/os_time.c
-index d2edd88..47de02d 100644
---- a/src/util/os_time.c
-+++ b/src/util/os_time.c
-@@ -53,7 +53,7 @@
- int64_t
- os_time_get_nano(void)
- {
--#if DETECT_OS_LINUX || DETECT_OS_BSD
-+#if DETECT_OS_LINUX || DETECT_OS_BSD || DETECT_OS_aero
-
- struct timespec tv;
- clock_gettime(CLOCK_MONOTONIC, &tv);
-@@ -92,7 +92,7 @@ os_time_get_nano(void)
- void
- os_time_sleep(int64_t usecs)
- {
--#if DETECT_OS_LINUX
-+#if DETECT_OS_LINUX || DETECT_OS_aero
- struct timespec time;
- time.tv_sec = usecs / 1000000;
- time.tv_nsec = (usecs % 1000000) * 1000;
-diff --git a/src/util/u_printf.h b/src/util/u_printf.h
-index 44dcce5..e9e23ba 100644
---- a/src/util/u_printf.h
-+++ b/src/util/u_printf.h
-@@ -22,6 +22,8 @@
- #ifndef U_PRINTF_H
- #define U_PRINTF_H
-
-+#include
-+
- #ifdef __cplusplus
-
- #include
-diff --git a/src/util/u_thread.h b/src/util/u_thread.h
-index 013e8be..a30eada 100644
---- a/src/util/u_thread.h
-+++ b/src/util/u_thread.h
-@@ -129,7 +129,7 @@ static inline thrd_t u_thread_create(int (*routine)(void *), void *param)
- static inline void u_thread_setname( const char *name )
- {
- #if defined(HAVE_PTHREAD)
--#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS
-+#if DETECT_OS_LINUX || DETECT_OS_CYGWIN || DETECT_OS_SOLARIS || DETECT_OS_aero
- int ret = pthread_setname_np(pthread_self(), name);
- if (ret == ERANGE) {
- char buf[16];
-@@ -242,7 +242,7 @@ util_set_current_thread_affinity(const uint32_t *mask,
- static inline int64_t
- util_thread_get_time_nano(thrd_t thread)
- {
--#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__)
-+#if defined(HAVE_PTHREAD) && !defined(__APPLE__) && !defined(__HAIKU__) && !defined(__aero__)
- struct timespec ts;
- clockid_t cid;
-
---
-2.39.1
-
diff --git a/patches/mlibc/jinx-working-patch.patch b/patches/mlibc/jinx-working-patch.patch
new file mode 100644
index 00000000000..e2ea7a45f2a
--- /dev/null
+++ b/patches/mlibc/jinx-working-patch.patch
@@ -0,0 +1,164 @@
+diff --git mlibc-clean/meson.build mlibc-workdir/meson.build
+index 905fbb9..6da45e0 100644
+--- mlibc-clean/meson.build
++++ mlibc-workdir/meson.build
+@@ -213,7 +213,7 @@ elif host_machine.system() == 'aero'
+ rtld_include_dirs += include_directories('sysdeps/aero/include')
+ libc_include_dirs += include_directories('sysdeps/aero/include')
+ internal_conf.set10('MLIBC_MAP_DSO_SEGMENTS', true)
+- internal_conf.set10('MLIBC_MAP_FILE_WINDOWS', true)
++ internal_conf.set10('MLIBC_MAP_FILE_WINDOWS', false)
+ subdir('sysdeps/aero')
+ elif host_machine.system() == 'managarm'
+ # TODO: Adopt the include_directories() commands from the managarm meson.build.
+diff --git mlibc-clean/options/glibc/generic/execinfo.cpp mlibc-workdir/options/glibc/generic/execinfo.cpp
+index 3474615..d06f130 100644
+--- mlibc-clean/options/glibc/generic/execinfo.cpp
++++ mlibc-workdir/options/glibc/generic/execinfo.cpp
+@@ -1,9 +1,10 @@
+ #include
+ #include
++#include
+
+ int backtrace(void **, int) {
+- __ensure(!"Not implemented");
+- __builtin_unreachable();
++ mlibc::infoLogger() << "backtrace: Not implemented" << frg::endlog;
++ return 0;
+ }
+
+ char **backtrace_symbols(void *const *, int) {
+diff --git mlibc-clean/options/rtld/generic/linker.cpp mlibc-workdir/options/rtld/generic/linker.cpp
+index b5f42af..569a8c2 100644
+--- mlibc-clean/options/rtld/generic/linker.cpp
++++ mlibc-workdir/options/rtld/generic/linker.cpp
+@@ -27,7 +27,7 @@ uintptr_t libraryBase = 0x41000000;
+
+ constexpr bool verbose = false;
+ constexpr bool stillSlightlyVerbose = false;
+-constexpr bool logBaseAddresses = false;
++constexpr bool logBaseAddresses = true;
+ constexpr bool logRpath = false;
+ constexpr bool logLdPath = false;
+ constexpr bool eagerBinding = true;
+@@ -470,6 +470,7 @@ frg::expected ObjectRepository::_fetchFromFile(SharedObject *
+ __ensure(!(object->baseAddress & (hugeSize - 1)));
+
+ highest_address = (highest_address + mlibc::page_size - 1) & ~(mlibc::page_size - 1);
++ size_t tagSize = highest_address - object->baseAddress;
+
+ #if MLIBC_MMAP_ALLOCATE_DSO
+ void *mappedAddr = nullptr;
+@@ -492,9 +493,12 @@ frg::expected ObjectRepository::_fetchFromFile(SharedObject *
+ libraryBase += (highest_address + (hugeSize - 1)) & ~(hugeSize - 1);
+ #endif
+
+- if(verbose || logBaseAddresses)
++ if(verbose || logBaseAddresses) {
++ mlibc::sys_tag_memory((void *)object->baseAddress, tagSize, object->name.data());
++
+ mlibc::infoLogger() << "rtld: Loading " << object->name
+ << " at " << (void *)object->baseAddress << frg::endlog;
++ }
+
+ // Load all segments.
+ constexpr size_t pageSize = 0x1000;
+diff --git mlibc-clean/options/rtld/include/mlibc/rtld-sysdeps.hpp mlibc-workdir/options/rtld/include/mlibc/rtld-sysdeps.hpp
+index 6f42d41..3e37a1d 100644
+--- mlibc-clean/options/rtld/include/mlibc/rtld-sysdeps.hpp
++++ mlibc-workdir/options/rtld/include/mlibc/rtld-sysdeps.hpp
+@@ -5,6 +5,7 @@ namespace [[gnu::visibility("hidden")]] mlibc {
+
+ int sys_tcb_set(void *pointer);
+
++[[gnu::weak]] int sys_tag_memory(void *ptr, size_t size, char *tag);
+ [[gnu::weak]] int sys_vm_readahead(void *pointer, size_t size);
+
+ } // namespace mlibc
+diff --git mlibc-clean/sysdeps/aero/generic/aero.cpp mlibc-workdir/sysdeps/aero/generic/aero.cpp
+index 80f9c6f..85031cd 100644
+--- mlibc-clean/sysdeps/aero/generic/aero.cpp
++++ mlibc-workdir/sysdeps/aero/generic/aero.cpp
+@@ -62,6 +62,10 @@ static frg::vector create_slice(char *const arg[]) {
+ }
+
+ namespace mlibc {
++int sys_tag_memory(void *ptr, size_t size, char *tag) {
++ return syscall(SYS_DEBUG, ptr, size, tag, strlen(tag));
++}
++
+ int sys_uname(struct utsname *buf) {
+ auto result = syscall(SYS_UNAME, buf);
+
+@@ -200,14 +204,19 @@ int sys_getcwd(char *buffer, size_t size) {
+ return 0;
+ }
+
+-int sys_chdir(const char *path) {
+- auto result = syscall(SYS_CHDIR, path, strlen(path));
++static int sys_chdir_impl(int fd, const char *path) {
++ auto ret = syscall(SYS_CHDIR, fd, path, strlen(path));
++ if(int e = sc_error(ret); e)
++ return e;
++ return 0;
++}
+
+- if (result < 0) {
+- return -result;
+- }
++int sys_chdir(const char *path) {
++ return sys_chdir_impl(AT_FDCWD, path);
++}
+
+- return 0;
++int sys_fchdir(int fd) {
++ return sys_chdir_impl(fd, "");
+ }
+
+ int sys_gethostname(char *buffer, size_t bufsize) {
+diff --git mlibc-clean/sysdeps/aero/generic/filesystem.cpp mlibc-workdir/sysdeps/aero/generic/filesystem.cpp
+index 95c49b9..8777468 100644
+--- mlibc-clean/sysdeps/aero/generic/filesystem.cpp
++++ mlibc-workdir/sysdeps/aero/generic/filesystem.cpp
+@@ -69,13 +69,14 @@ int sys_seek(int fd, off_t offset, int whence, off_t *new_offset) {
+ }
+
+ int sys_open(const char *filename, int flags, mode_t mode, int *fd) {
+- auto result = syscall(SYS_OPEN, 0, filename, strlen(filename), flags);
+-
+- if (result < 0) {
+- return -result;
+- }
++ return sys_openat(AT_FDCWD, filename, flags, mode, fd);
++}
+
+- *fd = result;
++int sys_openat(int dirfd, const char *path, int flags, mode_t mode, int *fd) {
++ auto ret = syscall(SYS_OPEN, dirfd, path, strlen(path), flags, mode);
++ if (int e = sc_error(ret); e)
++ return e;
++ *fd = ret;
+ return 0;
+ }
+
+@@ -124,6 +125,20 @@ int sys_stat(fsfd_target fsfdt, int fd, const char *path, int flags,
+ return 0;
+ }
+
++int sys_statfs(const char *path, struct statfs *buf) {
++ __ensure(!syscall(SYS_BACKTRACE));
++ __ensure(!"statfs");
++ memset(buf, 0, sizeof(struct statfs));
++ return 0;
++}
++
++int sys_fstatfs(int fd, struct statfs *buf) {
++ __ensure(!syscall(SYS_BACKTRACE));
++ mlibc::infoLogger() << "fstatfs" << frg::endlog;
++ memset(buf, 0, sizeof(struct statfs));
++ return 0;
++}
++
+ int sys_ioctl(int fd, unsigned long request, void *arg, int *result) {
+ auto sys_res = syscall(SYS_IOCTL, fd, request, arg);
+
diff --git a/patches/mlibc/mlibc.patch b/patches/mlibc/mlibc.patch
deleted file mode 100644
index e16aed655cc..00000000000
--- a/patches/mlibc/mlibc.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From 1e4603c9de5ce2dcb596dfb95254b0ae119d1036 Mon Sep 17 00:00:00 2001
-From: Anhad Singh
-Date: Thu, 3 Aug 2023 16:36:12 +1000
-Subject: [PATCH] socket: implement shutdown(2)
-
-Signed-off-by: Anhad Singh
----
- options/glibc/generic/execinfo.cpp | 5 ++--
- options/posix/generic/sys-socket-stubs.cpp | 9 ++++++--
- options/posix/include/mlibc/posix-sysdeps.hpp | 1 +
- sysdeps/aero/generic/signals.cpp | 19 ++++++---------
- sysdeps/aero/generic/sockets.cpp | 23 +++++++++++++++++++
- sysdeps/aero/include/aero/syscall.h | 3 +++
- 6 files changed, 44 insertions(+), 16 deletions(-)
-
-diff --git a/options/glibc/generic/execinfo.cpp b/options/glibc/generic/execinfo.cpp
-index 3474615..aaf593a 100644
---- a/options/glibc/generic/execinfo.cpp
-+++ b/options/glibc/generic/execinfo.cpp
-@@ -1,9 +1,10 @@
- #include
- #include
-+#include
-
- int backtrace(void **, int) {
-- __ensure(!"Not implemented");
-- __builtin_unreachable();
-+ mlibc::infoLogger() << "backtrace: Not implemented" << frg::endlog;
-+ return 0;
- }
-
- char **backtrace_symbols(void *const *, int) {
-diff --git a/options/posix/generic/sys-socket-stubs.cpp b/options/posix/generic/sys-socket-stubs.cpp
-index 1674945..037a994 100644
---- a/options/posix/generic/sys-socket-stubs.cpp
-+++ b/options/posix/generic/sys-socket-stubs.cpp
-@@ -187,8 +187,13 @@ int setsockopt(int fd, int layer, int number,
- return mlibc::sys_setsockopt(fd, layer, number, buffer, size);
- }
-
--int shutdown(int, int) {
-- mlibc::infoLogger() << "mlibc: shutdown() is a no-op!" << frg::endlog;
-+int shutdown(int sockfd, int how) {
-+ auto sysdep = MLIBC_CHECK_OR_ENOSYS(mlibc::sys_shutdown, -1);
-+ if(int e = sysdep(sockfd, how); e) {
-+ errno = e;
-+ return -1;
-+ }
-+
- return 0;
- }
-
-diff --git a/options/posix/include/mlibc/posix-sysdeps.hpp b/options/posix/include/mlibc/posix-sysdeps.hpp
-index 9918188..c694079 100644
---- a/options/posix/include/mlibc/posix-sysdeps.hpp
-+++ b/options/posix/include/mlibc/posix-sysdeps.hpp
-@@ -159,6 +159,7 @@ int sys_vm_unmap(void *pointer, size_t size);
- void *__restrict buffer, socklen_t *__restrict size);
- [[gnu::weak]] int sys_setsockopt(int fd, int layer, int number,
- const void *buffer, socklen_t size);
-+[[gnu::weak]] int sys_shutdown(int sockfd, int how);
- [[gnu::weak]] int sys_sigprocmask(int how, const sigset_t *__restrict set,
- sigset_t *__restrict retrieve);
- [[gnu::weak]] int sys_sigaction(int, const struct sigaction *__restrict,
-diff --git a/sysdeps/aero/generic/signals.cpp b/sysdeps/aero/generic/signals.cpp
-index a6f69ff..611db69 100644
---- a/sysdeps/aero/generic/signals.cpp
-+++ b/sysdeps/aero/generic/signals.cpp
-@@ -29,25 +29,20 @@ int sys_sigaction(int how, const struct sigaction *__restrict action,
- #endif
-
- auto sigreturn = (sc_word_t)__mlibc_signal_restore;
--
-- auto res = syscall(SYS_SIGACTION, how, (sc_word_t)action, sigreturn,
-+ auto ret = syscall(SYS_SIGACTION, how, (sc_word_t)action, sigreturn,
- (sc_word_t)old_action);
-
-- if (res < 0) {
-- return -res;
-- }
--
-+ if(int e = sc_error(ret); e)
-+ return e;
- return 0;
- }
-
- int sys_sigprocmask(int how, const sigset_t *__restrict set,
- sigset_t *__restrict retrieve) {
-- auto result = syscall(SYS_SIGPROCMASK, how, set, retrieve);
-
-- if (result < 0) {
-- return -result;
-- }
--
-- return 0;
-+ auto ret = syscall(SYS_SIGPROCMASK, how, set, retrieve);
-+ if(int e = sc_error(ret); e)
-+ return e;
-+ return 0;
- }
- } // namespace mlibc
-\ No newline at end of file
-diff --git a/sysdeps/aero/generic/sockets.cpp b/sysdeps/aero/generic/sockets.cpp
-index 2db218c..ed3fc06 100644
---- a/sysdeps/aero/generic/sockets.cpp
-+++ b/sysdeps/aero/generic/sockets.cpp
-@@ -221,6 +221,29 @@ int sys_setsockopt(int fd, int layer, int number, const void *buffer,
- }
- }
-
-+int sys_shutdown(int sockfd, int how) {
-+ auto ret = syscall(SYS_SOCK_SHUTDOWN, sockfd, how);
-+ if(int e = sc_error(ret); e)
-+ return e;
-+ return 0;
-+}
-+
-+int sys_peername(int fd, struct sockaddr *addr_ptr, socklen_t max_addr_length, socklen_t *actual_length) {
-+ auto ret = syscall(SYS_GETPEERNAME, fd, addr_ptr, &max_addr_length);
-+ if (int e = sc_error(ret); e)
-+ return e;
-+ *actual_length = max_addr_length;
-+ return 0;
-+}
-+
-+int sys_sockname(int fd, struct sockaddr *addr_ptr, socklen_t max_addr_length, socklen_t *actual_length) {
-+ auto ret = syscall(SYS_GETSOCKNAME, fd, addr_ptr, &max_addr_length);
-+ if (int e = sc_error(ret); e)
-+ return e;
-+ *actual_length = max_addr_length;
-+ return 0;
-+}
-+
- int sys_if_nametoindex(const char *name, unsigned int *ret) {
- int fd = 0;
- int r = sys_socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, AF_UNSPEC, &fd);
-diff --git a/sysdeps/aero/include/aero/syscall.h b/sysdeps/aero/include/aero/syscall.h
-index d8bf99e..39c5b65 100644
---- a/sysdeps/aero/include/aero/syscall.h
-+++ b/sysdeps/aero/include/aero/syscall.h
-@@ -79,6 +79,9 @@
- #define SYS_SETPGID 72
- #define SYS_SETSID 73
- #define SYS_GETPGID 74
-+#define SYS_SOCK_SHUTDOWN 75
-+#define SYS_GETPEERNAME 76
-+#define SYS_GETSOCKNAME 77
-
- // Invalid syscall used to trigger a log error in the kernel (as a hint)
- // so, that we can implement the syscall in the kernel.
---
-2.42.0
-
diff --git a/patches/ncurses/jinx-working-patch.patch b/patches/ncurses/jinx-working-patch.patch
new file mode 100644
index 00000000000..7ebebf230b9
--- /dev/null
+++ b/patches/ncurses/jinx-working-patch.patch
@@ -0,0 +1,15 @@
+diff --git ncurses-clean/configure ncurses-workdir/configure
+index d652dc0..1572ae3 100755
+--- ncurses-clean/configure
++++ ncurses-workdir/configure
+@@ -6923,6 +6923,10 @@ CF_EOF
+ LINK_PROGS="$SHELL ${rel_builddir}/mk_prog.sh"
+ LINK_TESTS="$SHELL ${rel_builddir}/mk_prog.sh"
+ ;;
++ (aero*)
++ CC_SHARED_OPTS='-fPIC'
++ MK_SHARED_LIB='${CC} -shared -o $@'
++ ;;
+ (mingw*)
+ cf_cv_shlib_version=mingw
+ cf_cv_shlib_version_infix=mingw
diff --git a/patches/ncurses/ncurses.patch b/patches/ncurses/ncurses.patch
deleted file mode 100644
index daf6ac0a94a..00000000000
--- a/patches/ncurses/ncurses.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 4d53b6fbd2a90d69c153933c413ecf5a0598518a Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Fri, 2 Dec 2022 19:15:20 +1100
-Subject: [PATCH]
-
----
- config.sub | 2 +-
- configure | 4 ++++
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/config.sub b/config.sub
-index 0f2234c..0cf7603 100755
---- a/config.sub
-+++ b/config.sub
-@@ -1366,7 +1366,7 @@ case $os in
- | skyos* | haiku* | rdos* | toppers* | drops* | es* \
- | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
- | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
-- | nsk* | powerunix)
-+ | nsk* | powerunix | aero*)
- # Remember, each alternative MUST END IN *, to match a version number.
- ;;
- qnx*)
-diff --git a/configure b/configure
-index 06f344f..a008d88 100755
---- a/configure
-+++ b/configure
-@@ -5961,6 +5961,10 @@ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6
-
- MK_SHARED_LIB='${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,'$cf_cv_shared_soname',-stats,-lc -o $@'
- ;;
-+ (aero*)
-+ CC_SHARED_OPTS='-fPIC'
-+ MK_SHARED_LIB='${CC} -shared -o $@'
-+ ;;
- (mingw*)
- cf_cv_shlib_version=mingw
- cf_cv_shlib_version_infix=mingw
---
-2.38.1
-
diff --git a/patches/neofetch/neofetch.patch b/patches/neofetch/neofetch.patch
deleted file mode 100644
index 6b2a9572e7d..00000000000
--- a/patches/neofetch/neofetch.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From f1fae2e54122bb1342dec30f218a4bdcdaf3c428 Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Wed, 21 Dec 2022 17:37:50 +1100
-Subject: [PATCH]
-
----
- neofetch | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/neofetch b/neofetch
-index 9f2ba30..2d5c4de 100755
---- a/neofetch
-+++ b/neofetch
-@@ -945,7 +945,7 @@ get_os() {
- AIX) os=AIX ;;
- IRIX*) os=IRIX ;;
- FreeMiNT) os=FreeMiNT ;;
-- aero) os=Aero;;
-+ Aero) os=Aero;;
-
- Linux|GNU*)
- os=Linux
-@@ -8528,7 +8528,7 @@ EOF
- # TODO: Add proper art
- set_colors 2 1 3 5
- read -rd '' ascii_data <<'EOF'
-- ,---,
-+${c1} ,---,
- ' .' \
- / ; '.
- : : \
---
-2.38.1
-
diff --git a/patches/nyancat/nyancat.patch b/patches/nyancat/nyancat.patch
deleted file mode 100644
index abe6dc4956d..00000000000
--- a/patches/nyancat/nyancat.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 040f0506e6ba7093bd12a7c89fb90f99a67ad33d Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer
-Date: Thu, 23 Dec 2021 12:17:11 +1100
-Subject: [PATCH] targets: add aero target port
-
-Signed-off-by: Andy-Python-Programmer
----
- .vscode/settings.json | 6 ++++++
- src/nyancat.c | 2 --
- 2 files changed, 6 insertions(+), 2 deletions(-)
- create mode 100644 .vscode/settings.json
-
-diff --git a/.vscode/settings.json b/.vscode/settings.json
-new file mode 100644
-index 0000000..b5431d3
---- /dev/null
-+++ b/.vscode/settings.json
-@@ -0,0 +1,6 @@
-+{
-+ "editor.formatOnSave": false,
-+ "files.associations": {
-+ "termios.h": "c"
-+ },
-+}
-\ No newline at end of file
-diff --git a/src/nyancat.c b/src/nyancat.c
-index 537225c..af77e5b 100644
---- a/src/nyancat.c
-+++ b/src/nyancat.c
-@@ -67,9 +67,7 @@
-
- #include
-
--#ifndef TIOCGWINSZ
- #include
--#endif
-
- #ifdef ECHO
- #undef ECHO
---
-2.25.1
-
diff --git a/patches/openssl/0001-openssl-aero-specific-changes.patch b/patches/openssl/jinx-working-patch.patch
similarity index 58%
rename from patches/openssl/0001-openssl-aero-specific-changes.patch
rename to patches/openssl/jinx-working-patch.patch
index 46029c9a7f0..8f76a3937b7 100644
--- a/patches/openssl/0001-openssl-aero-specific-changes.patch
+++ b/patches/openssl/jinx-working-patch.patch
@@ -1,45 +1,20 @@
-From 1ddd02965f0a65b5c59e8b152229b2b88517ae2b Mon Sep 17 00:00:00 2001
-From: Andy-Python-Programmer