Etapa G: fixes de recetas para la 2da pasada de la granja (5 frentes)
Triage de los fallos de la 1ra pasada, adaptados por su causa raíz: - gitoxide: feature `max-pure` (rustls+zlib-rs) en vez de `max` → mata openssl-sys - sccache: --no-default-features (default=all arrastra backends cloud→reqwest→openssl) - hck: gueto gcc (libdeflate-sys rompe en intrínsecos AVX512/evex512 bajo zig-cc) - helix: de-Alpinizado `cargo auditable`→`cargo build` (auditable no está en el lab) - jless: patch de-X11 que stubea la crate `clipboard` (arrastra libxcb, sin X11 headless) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -13,7 +13,9 @@ commit = "10c58bb56597d9335611da121aac21f9b09b6e5b"
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "gix"]
|
||||
# max-pure: feature set 100% Rust (rustls en vez de openssl-sys, zlib-rs en vez de zlib C) ⇒
|
||||
# sin deps C de sistema; ideal para el estático musl. El default `max` arrastra openssl-sys.
|
||||
flags = ["--bin", "gix", "--no-default-features", "--features", "max-pure"]
|
||||
|
||||
[build.phases]
|
||||
install = "mkdir -p /out/usr/bin && cp target/release/gix /out/usr/bin/gix"
|
||||
|
||||
@@ -9,8 +9,10 @@ version = "0.11.6"
|
||||
repo = "https://github.com/sstadick/hck"
|
||||
commit = "e343425ecd8bada3a423139c305563a8d408c303"
|
||||
|
||||
# GUETO gcc: hck trae libdeflate-sys (compila libdeflate C); zig-cc rompe en los
|
||||
# intrínsecos AVX512 (evex512 split de clang). compiler="gcc" usa el musl gcc de Alpine.
|
||||
[build]
|
||||
compiler = "zig-cc"
|
||||
compiler = "gcc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "hck"]
|
||||
|
||||
@@ -25,7 +25,8 @@ _abuild_phase() {
|
||||
# system grammars
|
||||
# https://github.com/helix-editor/helix/blob/25.01.1/helix-loader/src/lib.rs#L64
|
||||
export HELIX_DEFAULT_RUNTIME=/usr/share/helix/runtime
|
||||
cargo auditable build --frozen --release
|
||||
# de-Alpinizado: cargo-auditable no está en el lab de hammer; build plano (Etapa G)
|
||||
cargo build --frozen --release
|
||||
}
|
||||
_abuild_phase
|
||||
'''
|
||||
|
||||
@@ -0,0 +1,40 @@
|
||||
diff --git a/Cargo.toml b/Cargo.toml
|
||||
--- a/Cargo.toml
|
||||
+++ b/Cargo.toml
|
||||
@@ -26,7 +26,6 @@
|
||||
isatty = "0.1"
|
||||
libc-stdhandle = "0.1.0"
|
||||
yaml-rust = "0.4"
|
||||
-clipboard = "0.5"
|
||||
|
||||
[dev-dependencies]
|
||||
indoc = "1.0"
|
||||
diff --git a/src/app.rs b/src/app.rs
|
||||
--- a/src/app.rs
|
||||
+++ b/src/app.rs
|
||||
@@ -2,7 +2,24 @@
|
||||
use std::io;
|
||||
use std::io::Write;
|
||||
|
||||
-use clipboard::{ClipboardContext, ClipboardProvider};
|
||||
+// de-X11 (Etapa G): la crate `clipboard` 0.5 arrastra x11-clipboard -> libxcb, que no existe en
|
||||
+// el lab musl estático headless (fallo de link `xcb-xfixes`). Stub local con la misma interfaz;
|
||||
+// el yank degrada a un error claro en runtime en vez de exigir X11 a la hora de construir.
|
||||
+struct ClipboardContext;
|
||||
+trait ClipboardProvider: Sized {
|
||||
+ fn new() -> Result<Self, Box<dyn Error>>;
|
||||
+}
|
||||
+impl ClipboardProvider for ClipboardContext {
|
||||
+ fn new() -> Result<Self, Box<dyn Error>> {
|
||||
+ Err("clipboard no disponible (build headless sin X11)".into())
|
||||
+ }
|
||||
+}
|
||||
+impl ClipboardContext {
|
||||
+ fn set_contents(&mut self, _contents: String) -> Result<(), Box<dyn Error>> {
|
||||
+ Err("clipboard no disponible (build headless sin X11)".into())
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
use rustyline::error::ReadlineError;
|
||||
use rustyline::Editor;
|
||||
use termion::event::Key;
|
||||
@@ -8,6 +8,7 @@ version = "0.9.0"
|
||||
[source]
|
||||
repo = "https://github.com/PaulJuliusMartinez/jless"
|
||||
commit = "21dd6100edb47145bb9570931bec29697bcd0d9b"
|
||||
patches = ["jless-deX11-clipboard.patch"]
|
||||
|
||||
# GUETO gcc para los build-scripts: jless trae `libc-stdhandle` (un sys-crate con un imp.c que
|
||||
# cc-rs compila); zig-cc lo rechaza (mismo frente que file/jq en C puro). `compiler="gcc"` ⇒ cc-rs
|
||||
|
||||
@@ -13,7 +13,9 @@ commit = "c2e4b4ca035f91f8b63978afc8e2c71f174fe306"
|
||||
compiler = "zig-cc"
|
||||
target = "x86_64-linux-musl"
|
||||
link = "static"
|
||||
flags = ["--bin", "sccache"]
|
||||
# default=["all"] arrastra todos los backends cloud (S3/GCS/azure) → reqwest → openssl-sys (sin
|
||||
# openssl de sistema en el lab). --no-default-features ⇒ cache local en disco a secas, 100% Rust.
|
||||
flags = ["--bin", "sccache", "--no-default-features"]
|
||||
|
||||
[build.phases]
|
||||
install = "mkdir -p /out/usr/bin && cp target/release/sccache /out/usr/bin/sccache"
|
||||
|
||||
Reference in New Issue
Block a user