Build local Guile-GnuTLS on FreeBSD
This commit is contained in:
@@ -431,3 +431,71 @@ Next recommended step:
|
||||
- daemon connectivity
|
||||
- daemon-side `/frx/store` assumptions
|
||||
3. continue keeping `~/repos/bdwgc` in reserve if later FreeBSD-specific GC/thread issues appear
|
||||
|
||||
## 2026-04-01 — Phase 1.2 follow-up: local Guile-GnuTLS built on FreeBSD; next blocker is Guile-Git
|
||||
|
||||
Completed work:
|
||||
|
||||
- installed the host-side C GnuTLS stack needed for Guile-GnuTLS builds:
|
||||
- `gnutls`
|
||||
- `libtasn1`
|
||||
- `nettle`
|
||||
- `p11-kit`
|
||||
- added a reproducible local Guile-GnuTLS build harness:
|
||||
- `tests/guix/build-local-guile-gnutls.sh`
|
||||
- updated the derivation-generation investigation harness so it can consume extra Guile module prefixes through:
|
||||
- `GUILE_EXTRA_PREFIX`
|
||||
- used the current Guix package definition in `~/repos/guix/gnu/packages/tls.scm` as the source of truth for:
|
||||
- `guile-gnutls` version `5.0.1`
|
||||
- expected Guix nix-base32 source hash `0kqngyx4520gjk49l6whjd2ss994kaj9rm78lli6p3q6xry0945i`
|
||||
- verified the downloaded Guile-GnuTLS tarball against the translated SHA256:
|
||||
- `b190047cee068f6b22a5e8d49ca49a2425ad4593901b9ac8940f8842ba7f164f`
|
||||
- built and installed a local Guile-GnuTLS validation copy against the previously validated fixed local Guile build under:
|
||||
- `/tmp/guile-gnutls-freebsd-validate-install`
|
||||
- validated successfully that the fixed local Guile can now load:
|
||||
- `(gnutls)`
|
||||
- re-ran the checkout derivation-generation investigation with:
|
||||
- `GUILE_EXTRA_PREFIX=/tmp/guile-gnutls-freebsd-validate-install`
|
||||
- store directory still set to `/frx/store`
|
||||
- wrote the results to:
|
||||
- `docs/reports/phase1-guile-gnutls-freebsd.md`
|
||||
|
||||
Important findings:
|
||||
|
||||
- Guile-GnuTLS does not build with FreeBSD base `make`; it requires GNU `gmake`
|
||||
- a FreeBSD-specific source compatibility issue surfaced in `guile/src/core.c`:
|
||||
- it includes `<alloca.h>` unconditionally
|
||||
- on this host, `alloca` is available through `<stdlib.h>` instead
|
||||
- for local validation, the harness applies a small disposable-tree patch that uses `<stdlib.h>` on `__FreeBSD__`
|
||||
- after that fix, the local Guile-GnuTLS build succeeded and `(use-modules (gnutls))` worked with the fixed local Guile build
|
||||
- re-running the Guix checkout investigation confirms the earlier `(gnutls)` blocker is genuinely cleared
|
||||
- the next configure-time blocker is now:
|
||||
- `configure: error: Guile-Git is missing; please install it.`
|
||||
|
||||
Current assessment:
|
||||
|
||||
- the first checkout-preparation blocker after unsupported-platform gating has advanced from missing `(gnutls)` to missing `Guile-Git`
|
||||
- this is meaningful progress because the project is now moving farther into the dependency chain required for a real Guix checkout on FreeBSD
|
||||
- the requested experimental store path remains `/frx/store`, but the effort still has not yet reached actual store population or daemon interaction
|
||||
|
||||
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`
|
||||
- `4aebea4` — `Add native GNU Hello FreeBSD build harness`
|
||||
- `c944cdb` — `Validate Guix builder phases on FreeBSD`
|
||||
- `0a2e48e` — `Validate GNU which builder phases on FreeBSD`
|
||||
- `245a47d` — `Document gaps to real Guix FreeBSD builds`
|
||||
- `d62e9b0` — `Investigate Guix derivation generation on FreeBSD`
|
||||
|
||||
Next recommended step:
|
||||
|
||||
1. obtain `Guile-Git` compatible with the fixed local Guile build and re-run the derivation-generation investigation again
|
||||
2. once checkout configuration succeeds, continue until the next failure boundary is identified among:
|
||||
- `pre-inst-env` usability
|
||||
- derivation emission
|
||||
- daemon connectivity
|
||||
- daemon-side `/frx/store` assumptions
|
||||
3. continue keeping `~/repos/bdwgc` in reserve if later FreeBSD-specific GC/thread issues appear
|
||||
|
||||
Reference in New Issue
Block a user