Red Bear OS — microkernel OS in Rust, based on Redox
Derivative of Redox OS (https://www.redox-os.org) adding: - AMD GPU driver (amdgpu) via LinuxKPI compat layer - ext4 filesystem support (ext4d scheme daemon) - ACPI fixes for AMD bare metal (x2APIC, DMAR, IVRS, MCFG) - Custom branding (hostname, os-release, boot identity) Build system is full upstream Redox with RBOS overlay in local/. Patches for kernel, base, and relibc are symlinked from local/patches/ and protected from make clean/distclean. Custom recipes live in local/recipes/ with symlinks into the recipes/ search path. Build: make all CONFIG_NAME=redbear-full Sync: ./local/scripts/sync-upstream.sh
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# RECIPES/WIP — WORK-IN-PROGRESS PORTS
|
||||
|
||||
Experimental ports not yet ready for production. Wayland, KDE, GNOME, and driver WIP.
|
||||
|
||||
## STRUCTURE
|
||||
|
||||
```
|
||||
recipes/wip/
|
||||
├── wayland/ # 21 Wayland-related recipes
|
||||
│ ├── libwayland/ # Wayland protocol library (builds with redox.patch)
|
||||
│ ├── wayland-protocols/# Wayland protocol definitions
|
||||
│ ├── wayland-rs/ # Rust Wayland bindings
|
||||
│ ├── cosmic-comp/ # COSMIC compositor (no keyboard input yet)
|
||||
│ ├── smallvil/ # Smithay-based compositor (basic, slow)
|
||||
│ ├── libcosmic-wayland/# COSMIC Wayland client library
|
||||
│ ├── winit-wayland/ # winit with Wayland backend
|
||||
│ ├── softbuffer-wayland/# softbuffer with Wayland backend
|
||||
│ ├── iced-wayland/ # Iced GUI with Wayland backend
|
||||
│ ├── gtk3/ # GTK3 Wayland support
|
||||
│ ├── wlroots/ # wlroots (not compiled/tested)
|
||||
│ ├── sway/ # sway (not compiled/tested)
|
||||
│ ├── hyprland/ # hyprland (not compiled/tested)
|
||||
│ ├── xwayland/ # XWayland (partially patched)
|
||||
│ └── seatd/ # Seat daemon (recipe exists, untested)
|
||||
├── kde/ # 9 KDE app recipes
|
||||
│ ├── kde-dolphin/ # File manager (needs kio)
|
||||
│ ├── kdenlive/ # Video editor (needs MLT)
|
||||
│ ├── krita/ # Painting (needs Qt + OpenGL)
|
||||
│ ├── kdevelop/ # IDE (needs Qt + kio)
|
||||
│ └── ... # okteta, ktorrent, ark, kamoso, kpatience
|
||||
├── libs/ # WIP libraries
|
||||
│ └── tls/openssl3/ # OpenSSL 3.x port
|
||||
├── monitors/ # System monitors
|
||||
│ └── bottom/ # bottom system monitor
|
||||
└── drivers/ # WIP driver ports (planned)
|
||||
```
|
||||
|
||||
## WHERE TO LOOK
|
||||
|
||||
| Task | Location |
|
||||
|------|----------|
|
||||
| Fix Wayland build | `wayland/libwayland/redox.patch` — stubs 7 POSIX APIs |
|
||||
| Add Wayland compositor | `wayland/<name>/recipe.toml` — use `dependencies = ["libwayland"]` |
|
||||
| Fix cosmic-comp | `wayland/cosmic-comp/` — missing libinput causes no keyboard |
|
||||
| Work on smallvil | `wayland/smallvil/` — Smithay-based, already running |
|
||||
| Port a KDE app | Copy existing recipe pattern, add `#TODO` header |
|
||||
| Add Qt port | Create `wip/qt/qtbase/recipe.toml` (not yet started) |
|
||||
|
||||
## WAYLAND STATUS
|
||||
|
||||
- **libwayland**: Builds with redox.patch stubbing 7 POSIX APIs
|
||||
- **cosmic-comp**: Partially working, no keyboard input (missing libinput)
|
||||
- **smallvil**: Basic compositor running, poor performance
|
||||
- **wlroots/sway/hyprland**: Not compiled or tested
|
||||
- **xwayland**: Partially patched
|
||||
- **Blockers**: POSIX gaps (M1), evdevd input (M2), DRM/KMS (M3)
|
||||
|
||||
## KDE STATUS
|
||||
|
||||
- 9 app recipes exist but all blocked on Qt6 + KDE Frameworks
|
||||
- No qtbase recipe yet (Phase KDE-A prerequisite)
|
||||
- See `docs/05-KDE-PLASMA-ON-REDOX.md` for full 3-phase plan
|
||||
|
||||
## CONVENTIONS
|
||||
|
||||
- ALL WIP recipes MUST start with `#TODO` explaining what's missing
|
||||
- BLAKE3 hashes optional for WIP
|
||||
- Test with `make r.<package>` before adding to config
|
||||
- When ready: move from `wip/` to appropriate category, add BLAKE3 hash
|
||||
@@ -0,0 +1,16 @@
|
||||
# compiles, but only wavefile generation is supported
|
||||
#TODO waiting for a custom libpcaudio0 backend for real-time output (bpisch is working on it)
|
||||
|
||||
[source]
|
||||
git = "https://gitlab.redox-os.org/bpisch/espeak-ng.git"
|
||||
branch = "redox"
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = ["libstdcxx"]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cp -R "${COOKBOOK_SOURCE}/espeak-ng-data" .
|
||||
cookbook_cmake
|
||||
cp -R "${COOKBOOK_SOURCE}/espeak-ng-data" "${COOKBOOK_STAGE}/usr/share/espeak-ng-data"
|
||||
"""
|
||||
@@ -0,0 +1,11 @@
|
||||
#TODO not compiled or tested
|
||||
# dependencies: https://gitlab.gnome.org/GNOME/orca/#dependencies
|
||||
[source]
|
||||
tar = "https://download.gnome.org/sources/orca/48/orca-48.6.tar.xz"
|
||||
[build]
|
||||
template = "meson"
|
||||
dependencies = [
|
||||
"atk",
|
||||
"at-spi2-core",
|
||||
"gtk3",
|
||||
]
|
||||
@@ -0,0 +1,13 @@
|
||||
#TODO fs2 crate error
|
||||
[source]
|
||||
git = "https://github.com/webonnx/wonnx"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"openssl3",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_cargo_packages wonnx-cli
|
||||
"""
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/tekaratzas/RustGPT"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,9 @@
|
||||
#TODO make libtorch work
|
||||
[source]
|
||||
git = "https://github.com/warpy-ai/tgs"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
dependencies = [
|
||||
"libtorch",
|
||||
]
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO async-io and rustix crates error
|
||||
[source]
|
||||
git = "https://github.com/orhun/binsider"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,13 @@
|
||||
#TODO not compiled or tested
|
||||
#TODO determine minimum dependencies from cmake log
|
||||
# build instructions: https://cutter.re/docs/building.html
|
||||
[source]
|
||||
tar = "https://github.com/rizinorg/cutter/releases/download/v2.4.1/Cutter-v2.4.1-src.tar.gz"
|
||||
[build]
|
||||
template = "cmake"
|
||||
#dependencies = [
|
||||
# "libzip",
|
||||
# "zlib",
|
||||
# "qt6-base",
|
||||
# "qt6-svg",
|
||||
#]
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO openssl-sys crate error
|
||||
[source]
|
||||
git = "https://github.com/tokenizer-decode/email-sleuth"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,7 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://github.com/awslabs/flowgger/wiki/Installation
|
||||
[source]
|
||||
git = "https://github.com/awslabs/flowgger"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,14 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://gitlab.gnome.org/World/Graphs"
|
||||
rev = "v1.8.7"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "meson"
|
||||
dependencies = [
|
||||
"glib",
|
||||
"gtk4",
|
||||
"libadwaita",
|
||||
"libgee",
|
||||
"sqlite3",
|
||||
]
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/1jehuang/mermaid-rs-renderer"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,14 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://learn.netdata.cloud/docs/developer-and-contributor-corner/build-the-netdata-agent-yourself/compile-from-source-code#building-netdata
|
||||
[source]
|
||||
tar = "https://github.com/netdata/netdata/releases/download/v2.8.5/netdata-v2.8.5.tar.gz"
|
||||
[build]
|
||||
template = "cmake"
|
||||
cmakeflags = [
|
||||
"-DDEFAULT_FEATURE_STATE=False",
|
||||
]
|
||||
#dependencies = [
|
||||
# "zlib",
|
||||
# "libuv",
|
||||
# "libuuid",
|
||||
#]
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://github.com/rizinorg/rizin/blob/dev/BUILDING.md
|
||||
[source]
|
||||
tar = "https://github.com/rizinorg/rizin/releases/download/v0.8.1/rizin-src-v0.8.1.tar.xz"
|
||||
[build]
|
||||
template = "meson"
|
||||
mesonflags = [
|
||||
"-Denable_tests=false",
|
||||
"-Denable_rz_test=false",
|
||||
]
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/tanciaku/tmmpr"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO missing script for gnu make: https://github.com/mcmilk/7-Zip/tree/master/DOC#readme
|
||||
[source]
|
||||
tar = "https://7-zip.org/a/7z2301-src.tar.xz"
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
tar = "https://download.savannah.gnu.org/releases/lzip/lzip-1.24.1.tar.gz"
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/ANSSI-FR/MLA"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_cargo_packages mlar
|
||||
"""
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO don't run
|
||||
[source]
|
||||
git = "https://github.com/richox/orz"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,11 @@
|
||||
#TODO compilation error
|
||||
[source]
|
||||
git = "https://github.com/ouch-org/ouch"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
dependencies = [
|
||||
"zlib",
|
||||
"bzip2",
|
||||
"xz",
|
||||
]
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO missing headers
|
||||
[source]
|
||||
tar = "https://download.savannah.gnu.org/releases/lzip/plzip/plzip-1.11.tar.gz"
|
||||
[build]
|
||||
template = "configure"
|
||||
dependencies = [
|
||||
"lzlib",
|
||||
]
|
||||
@@ -0,0 +1,9 @@
|
||||
#TODO make zstd work (after cargo update)
|
||||
[source]
|
||||
git = "https://github.com/quininer/unzrip"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
dependencies = [
|
||||
"zstd",
|
||||
]
|
||||
@@ -0,0 +1,14 @@
|
||||
#TODO missing script for pip
|
||||
# build instructions: https://borgbackup.readthedocs.io/en/stable/installation.html#source-install
|
||||
[source]
|
||||
tar = "https://github.com/borgbackup/borg/releases/download/1.4.1/borgbackup-1.4.1.tar.gz"
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"openssl3",
|
||||
"libacl",
|
||||
"libattr",
|
||||
"xxhash",
|
||||
"lz4",
|
||||
"zstd",
|
||||
]
|
||||
@@ -0,0 +1,16 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/Thomas-Tsai/partclone"
|
||||
rev = "0.3.40"
|
||||
shallow_clone = true
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
[build]
|
||||
template = "configure"
|
||||
configureflags = [
|
||||
"--enable-ncursesw",
|
||||
]
|
||||
dependencies = [
|
||||
"ncursesw",
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://gitlab.gnome.org/World/pika-backup"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "meson"
|
||||
dependencies = [
|
||||
"gtk4",
|
||||
"libadwaita",
|
||||
]
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO missing script for pip
|
||||
# build instructions: https://vorta.borgbase.com/install/linux/#install-from-source
|
||||
[source]
|
||||
git = "https://github.com/borgbase/vorta"
|
||||
rev = "v0.11.3"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/BurntSushi/cargo-benchcmp"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO compiled but not tested (after cargo update)
|
||||
[source]
|
||||
git = "https://github.com/bheisler/cargo-criterion"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO missing data type to download the Java bytecode
|
||||
# download link: https://download.dacapobench.org/chopin/dacapo-23.11-chopin.zip
|
||||
[source]
|
||||
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,7 @@
|
||||
#TODO missing script for gnu make or python script: https://github.com/icl-utk-edu/hpcc#compiling
|
||||
[source]
|
||||
git = "https://github.com/icl-utk-edu/hpcc"
|
||||
rev = "1.5.0"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/hpcg-benchmark/hpcg"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO missing script for gnu make: https://github.com/UoB-HPC/miniBUDE#building
|
||||
[source]
|
||||
git = "https://github.com/UoB-HPC/miniBUDE"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO libc::RUSAGE_CHILDREN
|
||||
[source]
|
||||
git = "https://github.com/sharkdp/hyperfine"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,9 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://github.com/jedisct1/Blogbench/blob/master/README#L18
|
||||
[source]
|
||||
tar = "https://github.com/jedisct1/Blogbench/releases/download/1.2/blogbench-1.2.tar.bz2"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,7 @@
|
||||
#TODO configuration problem
|
||||
[source]
|
||||
git = "https://github.com/axboe/fio"
|
||||
rev = "fio-3.41"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO source code error
|
||||
[source]
|
||||
git = "https://github.com/schwa/simple-disk-benchmark-rs"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/sohzm/jasonisnthappy"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_cargo_examples bench_all
|
||||
"""
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO missing script for gnu make, build the openmp (cpu backend?) or opencl implementation
|
||||
[source]
|
||||
tar = "http://www.cs.virginia.edu/~skadron/lava/rodinia/Packages/rodinia_3.1.tar.bz2"
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,9 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/iopsystems/rpc-perf"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
dependencies = [
|
||||
"zstd",
|
||||
]
|
||||
@@ -0,0 +1,21 @@
|
||||
#TODO missing script for gnu make: https://github.com/ColinIanKing/stress-ng#building-stress-ng
|
||||
#TODO determine minimum dependencies
|
||||
[source]
|
||||
git = "https://github.com/ColinIanKing/stress-ng"
|
||||
rev = "V0.20.00"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
#dependencies = [
|
||||
# "libbsd",
|
||||
# "libaio",
|
||||
# "libcap",
|
||||
# "libcap",
|
||||
# "libgcrypt",
|
||||
# "libjpeg",
|
||||
# "libmd",
|
||||
# "libmpfr",
|
||||
# "xxhash",
|
||||
# "zlib",
|
||||
# "mesa",
|
||||
#]
|
||||
@@ -0,0 +1,12 @@
|
||||
#TODO figure out the installation script - https://github.com/phoronix-test-suite/phoronix-test-suite
|
||||
[source]
|
||||
git = "https://github.com/phoronix-test-suite/phoronix-test-suite"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
mkdir -pv "${COOKBOOK_STAGE}/home/user/pts"
|
||||
cp -rv "${COOKBOOK_SOURCE}"/* "${COOKBOOK_STAGE}/home/user/pts"
|
||||
"""
|
||||
[package]
|
||||
dependencies = ["php84"]
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://code.videolan.org/videolan/dav1d#compile
|
||||
[source]
|
||||
tar = "https://downloads.videolan.org/videolan/dav1d/1.5.3/dav1d-1.5.3.tar.xz"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "meson"
|
||||
mesonflags = [
|
||||
"-Denable_tests=false",
|
||||
]
|
||||
@@ -0,0 +1,7 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/knik0/faad2"
|
||||
rev = "2.11.2"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compilation error
|
||||
[source]
|
||||
tar = "https://github.com/ultravideo/kvazaar/releases/download/v2.2.0/kvazaar-2.2.0.tar.xz"
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO "malloc(): invalid size (unsorted)" error
|
||||
[source]
|
||||
git = "https://github.com/xiph/rav1e"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/Build-Guide.md#linux-operating-systems-64-bit
|
||||
[source]
|
||||
git = "https://gitlab.com/AOMediaCodec/SVT-AV1"
|
||||
rev = "v4.0.1"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
@@ -0,0 +1,7 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://github.com/OpenVisualCloud/SVT-HEVC#linux-operating-systems-64-bit
|
||||
[source]
|
||||
git = "https://github.com/OpenVisualCloud/SVT-HEVC"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://github.com/OpenVisualCloud/SVT-VP9#linux-operating-systems-64-bit
|
||||
[source]
|
||||
git = "https://github.com/OpenVisualCloud/SVT-VP9"
|
||||
rev = "v0.3.1"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
@@ -0,0 +1,11 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://github.com/ultravideo/uvg266#compiling-uvg266
|
||||
[source]
|
||||
git = "https://github.com/ultravideo/uvg266"
|
||||
rev = "v0.8.1"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
cmakeflags = [
|
||||
"-DBUILD_TESTS=OFF"
|
||||
]
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://github.com/fraunhoferhhi/vvenc/wiki/Build#build-using-plain-cmake
|
||||
[source]
|
||||
git = "https://github.com/fraunhoferhhi/vvenc"
|
||||
rev = "v1.14.0"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO compilation error: missing header
|
||||
[source]
|
||||
tar = "https://github.com/dbry/WavPack/releases/download/5.9.0/wavpack-5.9.0.tar.xz"
|
||||
[build]
|
||||
template = "configure"
|
||||
dependencies = [
|
||||
"libiconv",
|
||||
]
|
||||
@@ -0,0 +1,7 @@
|
||||
#TODO the redox target is not supported on the configure script
|
||||
[source]
|
||||
git = "https://code.videolan.org/videolan/x264"
|
||||
branch = "stable"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,11 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://bitbucket.org/multicoreware/x265_git/src/master/build/README.txt#lines-68
|
||||
[source]
|
||||
tar = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_4.1.tar.gz"
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/source"
|
||||
DYNAMIC_INIT
|
||||
cookbook_cmake
|
||||
"""
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO camino crate error
|
||||
# dependencies - https://github.com/containers/crun-vm/blob/main/docs/1-installing.md#from-source
|
||||
[source]
|
||||
git = "https://github.com/containers/crun-vm"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO disable systemd and SELinux
|
||||
[source]
|
||||
tar = "https://github.com/containers/crun/releases/download/1.17/crun-1.17.tar.gz"
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO implement a Cookbook template for the Go programming language
|
||||
[source]
|
||||
git = "https://github.com/docker/cli"
|
||||
branch = "27.x"
|
||||
[build]
|
||||
template = "go"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO Implement a Cookbook template for the Go programming language
|
||||
[source]
|
||||
git = "https://github.com/containers/podman"
|
||||
branch = "v5.2"
|
||||
[build]
|
||||
template = "go"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO Implement the Cookbook template for the Go programming language
|
||||
[source]
|
||||
git = "https://github.com/containers/skopeo"
|
||||
branch = "release-1.16"
|
||||
[build]
|
||||
template = "go"
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO require cgroups
|
||||
[source]
|
||||
git = "https://github.com/containers/youki"
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
cookbook_cargo_packages youki
|
||||
"""
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/TheAwiteb/data2sound"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,12 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://gitlab.gnome.org/World/decoder"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "meson"
|
||||
dependencies = [
|
||||
"glib",
|
||||
"gtk4",
|
||||
"libadwaita",
|
||||
"gstreamer",
|
||||
]
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO slice-deque crate error (after cargo update)
|
||||
[source]
|
||||
git = "https://github.com/irevenko/morse2sound"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO promote
|
||||
[source]
|
||||
git = "https://github.com/Lenivaya/qrrs"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO ahash crate error
|
||||
[source]
|
||||
git = "https://github.com/sayanarijit/qrscan"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/sorairolake/qrtool"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/woodruffw/steg86"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/GoldenStack/stupidfs"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/BLAKE3-team/BLAKE3"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
COOKBOOK_SOURCE="${COOKBOOK_SOURCE}/b3sum"
|
||||
cookbook_cargo
|
||||
"""
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/Achiefs/fim"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO compiled but not tested
|
||||
[source]
|
||||
git = "https://github.com/thombles/hashgood"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/hoxxep/rapidhash"
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
cookbook_cargo_packages rapidhash
|
||||
"""
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
tar = "https://ftp.gnu.org/gnu/ddrescue/ddrescue-1.30.tar.lz"
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO missing script for gnu make, see the README inside the tarball
|
||||
[source]
|
||||
tar = "http://foremost.sourceforge.net/pkg/foremost-1.5.7.tar.gz"
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,14 @@
|
||||
#TODO compilation error
|
||||
# build instructions - https://www.cgsecurity.org/wiki/TestDisk_Compilation
|
||||
# add optional libraries to expand the features - https://www.cgsecurity.org/wiki/TestDisk_Compilation#Libraries
|
||||
[source]
|
||||
tar = "https://www.cgsecurity.org/testdisk-7.2.tar.bz2"
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"ncurses",
|
||||
]
|
||||
script = """
|
||||
export CPPFLAGS="-I${COOKBOOK_SYSROOT}/include/ncurses"
|
||||
cookbook_configure
|
||||
"""
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO missing script for gnu make
|
||||
[source]
|
||||
tar = "https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz"
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/hbons/Bobby"
|
||||
[build]
|
||||
template = "meson"
|
||||
dependencies = [
|
||||
"libadwaita",
|
||||
"glib",
|
||||
"gtk4",
|
||||
]
|
||||
@@ -0,0 +1,13 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://clickhouse.com/docs/en/development/build#how-to-build-clickhouse-on-any-linux
|
||||
[source]
|
||||
git = "https://github.com/ClickHouse/ClickHouse"
|
||||
rev = "v25.10.2.65-stable"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cmake"
|
||||
dependencies = [
|
||||
"curl",
|
||||
"openssl3",
|
||||
"xz",
|
||||
]
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO missing script for Bazel
|
||||
# build instructions: https://cockroachlabs.atlassian.net/wiki/spaces/CRDB/pages/181338446/Getting+and+building+CockroachDB+from+source
|
||||
[source]
|
||||
git = "https://github.com/cockroachdb/cockroach"
|
||||
branch = "release-25.4"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO update mio to 0.8 (after cargo update and patch on ring)
|
||||
[source]
|
||||
git = "https://github.com/TaKO8Ki/gobang"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,7 @@
|
||||
#TODO nonsense error "Cargo.toml doesn't exist"
|
||||
#TODO configure the CLI and service
|
||||
[source]
|
||||
git = "https://github.com/influxdata/influxdb"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,8 @@
|
||||
#TODO missing script for Maven,
|
||||
# build instructions: https://github.com/apache/iotdb#build-iotdb-from-source
|
||||
[source]
|
||||
git = "https://github.com/apache/iotdb"
|
||||
rev = "v2.0.5"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO wayland-backend crate error
|
||||
[source]
|
||||
git = "https://github.com/Jkeyuk/JDbrowser"
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,9 @@
|
||||
#TODO compilation error on the sqlite3 parser
|
||||
[source]
|
||||
git = "https://github.com/tursodatabase/limbo"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
cookbook_cargo_packages limbo_cli
|
||||
"""
|
||||
@@ -0,0 +1,18 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions:
|
||||
# https://mariadb.com/kb/en/generic-build-instructions/
|
||||
# https://mariadb.com/kb/en/cross-compiling-mariadb/
|
||||
[source]
|
||||
tar = "https://archive.mariadb.org/mariadb-10.11.6/source/mariadb-10.11.6.tar.gz"
|
||||
[build]
|
||||
template = "cmake"
|
||||
dependencies = [
|
||||
"ncurses",
|
||||
"zlib",
|
||||
"libevent",
|
||||
"openssl1",
|
||||
"curl",
|
||||
"libxml2",
|
||||
"boost",
|
||||
"libaio",
|
||||
]
|
||||
@@ -0,0 +1,50 @@
|
||||
#TODO need openat (patched), posix_spawn
|
||||
[source]
|
||||
tar = "https://dlm.mariadb.com/4509471/MariaDB/mariadb-12.1.2/source/mariadb-12.1.2.tar.gz"
|
||||
blake3 = "749a293e1c4fd13be936fbda33de38b1ccc8c737c30a55c187c028d3ce74f70c"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"ncurses",
|
||||
"bzip2",
|
||||
"curl",
|
||||
"zlib",
|
||||
"pcre2",
|
||||
"lz4",
|
||||
"libevent",
|
||||
"openssl3",
|
||||
"curl",
|
||||
"libxml2",
|
||||
"boost",
|
||||
]
|
||||
dev-dependencies = [
|
||||
"host:ncurses",
|
||||
"boost.dev"
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
|
||||
# see https://mariadb.com/kb/en/cross-compiling-mariadb/
|
||||
mkdir -p host
|
||||
pushd host
|
||||
# todo: should use native generate_cookbook_cmake_file if possible
|
||||
(unset CC CXX AR && cmake ${COOKBOOK_SOURCE} -DWITH_SSL=system -DCMAKE_CROSSCOMPILING=False -DCMAKE_FIND_ROOT_PATH=${COOKBOOK_TOOLCHAIN})
|
||||
make import_executables
|
||||
popd
|
||||
|
||||
export LDFLAGS+=" -lcurl -lnghttp2 -lssl -lcrypto"
|
||||
COOKBOOK_CMAKE_FLAGS+=(
|
||||
-DWITH_UNIT_TESTS=OFF
|
||||
-DSTACK_DIRECTION=-1
|
||||
-DHAVE_IB_GCC_ATOMIC_BUILTINS=-1
|
||||
-DCONC_DEFAULT_CHARSET=utf8mb4
|
||||
-DPLUGIN_AWS_KEY_MANAGEMENT=NO
|
||||
-DPLUGIN_COLUMNSTORE=NO
|
||||
-DWITHOUT_ROCKSDB=1
|
||||
-DIMPORT_EXECUTABLES="${COOKBOOK_BUILD}/host/import_executables.cmake"
|
||||
)
|
||||
cookbook_cmake
|
||||
"""
|
||||
@@ -0,0 +1,13 @@
|
||||
diff -ruwN source/mysys/mysys_priv.h source-new/mysys/mysys_priv.h
|
||||
--- source/mysys/mysys_priv.h 2025-11-14 00:00:49.000000000 +0700
|
||||
+++ source-new/mysys/mysys_priv.h 2026-03-14 05:20:38.369176577 +0700
|
||||
@@ -142,7 +142,7 @@
|
||||
#endif
|
||||
#endif
|
||||
|
||||
-#ifdef O_PATH
|
||||
+#if defined(O_PATH) && !defined(__redox__) /* need openat */
|
||||
#define HAVE_OPEN_PARENT_DIR_NOSYMLINKS
|
||||
const char *my_open_parent_dir_nosymlinks(const char *pathname, int *pdfd);
|
||||
#define NOSYMLINK_FUNCTION_BODY(AT,NOAT) \
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://docs.memcached.org/serverguide/#from-source
|
||||
[source]
|
||||
tar = "https://www.memcached.org/files/memcached-1.6.22.tar.gz"
|
||||
[build]
|
||||
template = "configure"
|
||||
dependencies = [
|
||||
"libevent",
|
||||
]
|
||||
@@ -0,0 +1,12 @@
|
||||
#TODO missing script for SCons
|
||||
# build instructions: https://github.com/mongodb/mongo/blob/master/docs/building.md
|
||||
[source]
|
||||
git = "https://github.com/mongodb/mongo"
|
||||
branch = "v6.0"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"curl",
|
||||
"xz",
|
||||
]
|
||||
@@ -0,0 +1,12 @@
|
||||
#TODO missing script for SCons
|
||||
# build instructions: https://github.com/mongodb/mongo/blob/master/docs/building.md
|
||||
[source]
|
||||
git = "https://github.com/mongodb/mongo"
|
||||
branch = "v7.2"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"curl",
|
||||
"xz",
|
||||
]
|
||||
@@ -0,0 +1,11 @@
|
||||
#TODO not compiled or tested
|
||||
# build instructions: https://dev.mysql.com/doc/refman/8.2/en/installing-source-distribution.html
|
||||
[source]
|
||||
tar = "https://dev.mysql.com/downloads/file/?id=523432"
|
||||
[build]
|
||||
template = "cmake"
|
||||
dependencies = [
|
||||
"boost",
|
||||
"ncurses",
|
||||
"openssl3",
|
||||
]
|
||||
@@ -0,0 +1,5 @@
|
||||
#TODO missing script
|
||||
[source]
|
||||
tar = "https://dev.mysql.com/downloads/file/?id=524161"
|
||||
[build]
|
||||
template = "custom"
|
||||
@@ -0,0 +1,6 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://codeberg.org/kdwarn/pgtui"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
@@ -0,0 +1,16 @@
|
||||
#TODO waiting on sigjmp_buf and related POSIX functions in relibc
|
||||
[source]
|
||||
tar = "https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.bz2"
|
||||
script = """
|
||||
cp "${COOKBOOK_SOURCE}/src/backend/utils/errcodes.h" "${COOKBOOK_SOURCE}/src/include/utils/errcodes.h"
|
||||
"""
|
||||
[build]
|
||||
template = "configure"
|
||||
configureflags = [
|
||||
"--without-icu",
|
||||
"--without-readline",
|
||||
"--with-template=redox",
|
||||
]
|
||||
dependencies = [
|
||||
"zlib",
|
||||
]
|
||||
@@ -0,0 +1,15 @@
|
||||
#TODO require sys/ipc.h
|
||||
[source]
|
||||
tar = "https://ftp.postgresql.org/pub/source/v18.3/postgresql-18.3.tar.bz2"
|
||||
blake3 = "52696c9d474ce3e2073f97d4ba891af59ffc67a9dfb8f9f5adac409d1fe0dc28"
|
||||
patches = [
|
||||
"redox.patch"
|
||||
]
|
||||
[build]
|
||||
template = "meson"
|
||||
mesonflags = [
|
||||
]
|
||||
dependencies = [
|
||||
"zstd",
|
||||
"readline",
|
||||
]
|
||||
@@ -0,0 +1,40 @@
|
||||
diff --color -ruwN source/meson.build source-new/meson.build
|
||||
--- source/meson.build 2026-02-24 04:56:43.000000000 +0700
|
||||
+++ source-new/meson.build 2026-03-14 10:58:35.570033768 +0700
|
||||
@@ -256,6 +256,10 @@
|
||||
# LDFLAGS.
|
||||
ldflags += ['-Wl,-z,now', '-Wl,-z,relro']
|
||||
|
||||
+elif host_system == 'redox'
|
||||
+ sema_kind = 'unnamed_posix'
|
||||
+ shmem_kind = 'sysv'
|
||||
+
|
||||
elif host_system == 'openbsd'
|
||||
# you're ok
|
||||
|
||||
diff --color -ruwN source/src/include/port/redox.h source-new/src/include/port/redox.h
|
||||
--- source/src/include/port/redox.h 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/include/port/redox.h 2026-03-14 10:50:26.877146350 +0700
|
||||
@@ -0,0 +1 @@
|
||||
+/* src/include/port/redox.h */
|
||||
diff --color -ruwN source/src/makefiles/Makefile.redox source-new/src/makefiles/Makefile.redox
|
||||
--- source/src/makefiles/Makefile.redox 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/makefiles/Makefile.redox 2026-03-14 10:51:25.313879766 +0700
|
||||
@@ -0,0 +1,6 @@
|
||||
+rpath = -Wl,-R'$(rpathdir)'
|
||||
+
|
||||
+
|
||||
+# Rule for building a shared library from a single .o file
|
||||
+%.so: %.o
|
||||
+ $(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@
|
||||
diff --color -ruwN source/src/template/redox source-new/src/template/redox
|
||||
--- source/src/template/redox 1970-01-01 07:00:00.000000000 +0700
|
||||
+++ source-new/src/template/redox 2026-03-14 10:55:40.896750233 +0700
|
||||
@@ -0,0 +1,7 @@
|
||||
+# src/template/redox
|
||||
+
|
||||
+# Prefer unnamed POSIX semaphores
|
||||
+PREFERRED_SEMAPHORES=UNNAMED_POSIX
|
||||
+
|
||||
+# Extra CFLAGS for code that will go into a shared library
|
||||
+CFLAGS_SL="-fPIC"
|
||||
@@ -0,0 +1,10 @@
|
||||
#TODO not compiled or tested
|
||||
[source]
|
||||
git = "https://github.com/achristmascarl/rainfrog"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "cargo"
|
||||
[package]
|
||||
dependencies = [
|
||||
"nerd-fonts",
|
||||
]
|
||||
@@ -0,0 +1,16 @@
|
||||
#TODO missing script for gnu make
|
||||
# build instructions: https://github.com/facebook/rocksdb/blob/main/INSTALL.md
|
||||
[source]
|
||||
git = "https://github.com/facebook/rocksdb"
|
||||
rev = "v10.7.5"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"zlib",
|
||||
"lz4",
|
||||
"bzip2",
|
||||
"zstd",
|
||||
"snappy",
|
||||
"gflags",
|
||||
]
|
||||
@@ -0,0 +1,13 @@
|
||||
#TODO libsky crate error
|
||||
[source]
|
||||
git = "https://github.com/skytable/skytable"
|
||||
shallow_clone = true
|
||||
[build]
|
||||
template = "custom"
|
||||
dependencies = [
|
||||
"openssl1",
|
||||
]
|
||||
script = """
|
||||
DYNAMIC_INIT
|
||||
cookbook_cargo_packages skysh skyd
|
||||
"""
|
||||
@@ -0,0 +1,14 @@
|
||||
#TODO incomplete port
|
||||
#TODO Complied, works for basic use cases. pthread mutexes compiled in, but not working.
|
||||
#TODO Calls triggering mutexes yield the following errors:
|
||||
#relibc getrlimit(7, 0x7ffffffffc38): not implemented
|
||||
#relibc getgroups(65536, 0x14920): not implemented
|
||||
#Runtime error near line 1: disk I/O error (10)
|
||||
[source]
|
||||
tar = "https://sqlite.org/2025/sqlite-autoconf-3490200.tar.gz"
|
||||
blake3 = "96e071dc4f964311882334e927f017d8383915b1b140adcf308957dff213aa8c"
|
||||
script = """
|
||||
autotools_recursive_regenerate
|
||||
"""
|
||||
[build]
|
||||
template = "configure"
|
||||
@@ -0,0 +1,13 @@
|
||||
#TODO Works, but not reliably
|
||||
#TODO Raises the following warnings:
|
||||
# setsockopt(16, 6, 1, 0x7fffffff4adc, 4) - unknown option
|
||||
# setsockopt(16, 1, 9, 0x7fffffff4ad0, 4) - unknown option
|
||||
# setsockopt(16, 6, 1, 0x7fffffff4ad4, 4) - unknown option
|
||||
|
||||
[source]
|
||||
git = "https://github.com/risinglightdb/sqllogictest-rs.git"
|
||||
[build]
|
||||
template = "custom"
|
||||
script = """
|
||||
cookbook_cargo_packages sqllogictest-bin
|
||||
"""
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user