cub: full AUR package manager + Phase 1-5 native build tools

cub redesign (local/recipes/system/cub/):
- AUR RPC v5 client (serde_json) with search/info
- ~/.cub/ user-local recipe/source/repo storage
- Enhanced PKGBUILD parser: optdepends, .SRCINFO, split packages, 19 linuxism patterns
- Recipe generation: host: prefix on dev-deps, shallow_clone, cargopath, installs, optional-packages
- Dependency resolver: scans build errors for missing commands/headers/libs/pkgconfig, maps to packages
- Dependency installation: checks installed packages, fetches AUR deps, interactive prompt
- ~110 Arc→Redox dependency mappings
- ratatui TUI: search, info, install, build, query views
- 14 Arch-style CLI switches (-S/-Si/-Syu/-G/-R/-Q/-Qi/-Ql)
- 65 tests, 0 failures, clean build

Phase 1-5 native build tools (local/recipes/dev/):
- P1 Substrate: tar, m4, diffutils (gnulib bypass), mkfifo kernel patch (1085 lines)
- P2 Build Systems: bison, flex, meson (standalone wrapper), ninja-build, libtool
- P3 Native GCC: gcc-native, binutils-native (cross-compiled for redox host)
- P4 Native LLVM: llvm-native (clang + lld from monorepo)
- P5 Native Rust: rust-native (rustc + cargo)
- Groups: build-essential-native, dev-essential expanded

Config:
- redbear-mini: +7 tools (diffutils, tar, bison, flex, meson, ninja, m4)
- redbear-full: +4 native tools (gcc, binutils, llvm, rust)
- All recipes moved to local/ with symlinks for cookbook discovery (Red Bear policy)

Docs:
- BUILD-TOOLS-PORTING-PLAN.md: phased porting roadmap
- CUB-WORKFLOW-ASSESSMENT.md: gap analysis and integration assessment
This commit is contained in:
2026-05-08 00:13:31 +01:00
parent 0a928348b9
commit 7706617e7f
46 changed files with 2909 additions and 37 deletions
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/binutils-native
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/bison
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/flex
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/gcc-native
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/gnu-make
-21
View File
@@ -1,21 +0,0 @@
#TODO slower jobserver due to lack of named pipes
[source]
tar = "http://ftp.gnu.org/gnu/make/make-4.4.tar.gz"
blake3 = "1a0e5353205e106bd9b3c0f4a5f37ee1156a1e1c8feb771d1b4842c216612cba"
patches = [
"redox.patch"
]
script = """
autotools_recursive_regenerate
"""
[build]
template = "custom"
script = """
DYNAMIC_INIT
COOKBOOK_CONFIGURE_FLAGS+=(
# TODO: https://gitlab.redox-os.org/redox-os/redox/-/issues/1753
'ac_cv_func_mkfifo=no'
)
cookbook_configure
"""
-40
View File
@@ -1,40 +0,0 @@
diff -ruwN make-4.4/src/arscan.c source/src/arscan.c
--- make-4.4/src/arscan.c 2022-10-23 16:52:32.000000000 +0200
+++ source/src/arscan.c 2024-08-23 18:28:49.206084084 +0200
@@ -331,7 +331,7 @@
#endif
#ifndef WINDOWS32
-# if !defined (__ANDROID__) && !defined (__BEOS__)
+# if 0
# include <ar.h>
# else
/* These platforms don't have <ar.h> but have archives in the same format
diff -ruwN make-4.4/src/getopt1.c source/src/getopt1.c
--- make-4.4/src/getopt1.c 2022-10-23 21:52:32.000000000 +0700
+++ source/src/getopt1.c 2026-01-24 23:28:34.306706884 +0700
@@ -48,6 +48,10 @@
#endif
#endif
+#ifdef __redox__
+#define ELIDE_CODE
+#endif
+
#ifndef ELIDE_CODE
diff -ruwN make-4.4/src/getopt.c source/src/getopt.c
--- make-4.4/src/getopt.c 2022-10-23 21:52:32.000000000 +0700
+++ source/src/getopt.c 2026-01-24 23:21:09.488487860 +0700
@@ -56,6 +56,10 @@
# endif
#endif
+#ifdef __redox__
+#define ELIDE_CODE
+#endif
+
#ifndef ELIDE_CODE
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/libtool
-22
View File
@@ -1,22 +0,0 @@
#TODO can build, not tested
[source]
git = "https://gitlab.redox-os.org/redox-os/libtool"
branch = "v2.5.4-redox"
shallow_clone = true
[build]
template = "custom"
script = """
DYNAMIC_INIT
# libtool saves absolute path to sysroot which contains nothing
unset CFLAGS
cp -r "${COOKBOOK_SOURCE}"/. ./
./bootstrap \
--skip-po \
--force \
--gnulib-srcdir=./gnulib
COOKBOOK_CONFIGURE="./configure"
cookbook_configure
"""
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/llvm-native
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/m4
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/meson
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/ninja-build
+1
View File
@@ -0,0 +1 @@
../../local/recipes/dev/rust-native