You've already forked fruix-bootstrap
Add native GNU Hello FreeBSD build harness
This commit is contained in:
+46
-3
@@ -115,14 +115,57 @@ Current assessment:
|
||||
- no source changes were needed in `~/repos/bdwgc` yet, but the earlier FreeBSD warning keeps it on the watch list
|
||||
- the project can now move on to Phase 1.2 with a known-good local Guile fallback
|
||||
|
||||
## 2026-04-01 — Phase 1.2 started: native GNU Hello build validated on FreeBSD
|
||||
|
||||
Completed work:
|
||||
|
||||
- added a reusable native build harness:
|
||||
- `tests/native-build/run-gnu-hello.sh`
|
||||
- used the current Guix package definition in `~/repos/guix/gnu/packages/base.scm` as the source of truth for:
|
||||
- GNU Hello version `2.12.3`
|
||||
- expected Guix nix-base32 source hash `183a6rxnhixiyykd7qis0y9g9cfqhpkk872a245y3zl28can0pqd`
|
||||
- verified the downloaded tarball against the translated SHA256:
|
||||
- `0d5f60154382fee10b114a1c34e785d8b1f492073ae2d3a6f7b147687b366aa0`
|
||||
- successfully executed the standard native build lifecycle on `FreeBSD 15.0-STABLE` amd64:
|
||||
- fetch
|
||||
- hash verification
|
||||
- extract
|
||||
- configure
|
||||
- build
|
||||
- staged install
|
||||
- runtime execution
|
||||
- confirmed the staged binary runs and prints:
|
||||
- `Hello, world!`
|
||||
- captured build metadata including:
|
||||
- compiler and make versions
|
||||
- host triplet
|
||||
- configure command
|
||||
- staged output path
|
||||
- runtime shared-library dependencies
|
||||
- wrote the results to `docs/reports/phase1-native-gnu-hello.md`
|
||||
|
||||
Important findings:
|
||||
|
||||
- GNU Hello built successfully with FreeBSD base `make`, not just `gmake`
|
||||
- that contrasts with the earlier local Guile build, which did require GNU `gmake`
|
||||
- even this minimal GNU package links against FreeBSD-userland-provided libraries such as `libiconv` and `libintl`, which is useful data for later Guix package modeling
|
||||
- this step is still a native shell-driven build exercise, not yet a real Guix package build
|
||||
|
||||
Current assessment:
|
||||
|
||||
- Phase 1.2 now has a concrete native autotools success case on FreeBSD
|
||||
- the host can perform the basic fetch/verify/configure/build/install/run cycle needed for later `gnu-build-system` adaptation work
|
||||
- Guix-specific build orchestration is still missing, but the environmental baseline is stronger now
|
||||
|
||||
Recent commits:
|
||||
|
||||
- `e380e88` — `Add FreeBSD Guile verification harness`
|
||||
- `cd721b1` — `Update progress after Guile verification`
|
||||
- `27916cb` — `Diagnose Guile subprocess crash on FreeBSD`
|
||||
- `02f7a7f` — `Validate local Guile fix on FreeBSD`
|
||||
|
||||
Next recommended step:
|
||||
|
||||
1. begin Phase 1.2 by creating a minimal native FreeBSD build environment exercise (for example, GNU Hello or an even smaller autotools package)
|
||||
2. use the local fixed Guile build when subprocess helpers are required
|
||||
3. keep `bdwgc` in reserve if later FreeBSD-specific GC/thread issues appear
|
||||
1. extend Phase 1.2 with at least one additional representative GNU/autotools package build on FreeBSD, or
|
||||
2. prototype a tiny Scheme-based `gnu-build-system`-like phase runner using the known-good local Guile path, starting from the GNU Hello flow
|
||||
3. continue keeping `~/repos/bdwgc` in reserve if later FreeBSD-specific GC/thread issues appear
|
||||
|
||||
Reference in New Issue
Block a user