Racket distro packagers: please try building from a snapshot

Looks like with 8.5.0.8 the boot files are installed by default.

Just to sync:

It's correct that boot files are installed by default as long as libraries are installed (i.e., --disable-libs is not used). I think that may have been true in recent versions with the old build system, too, but I'm not sure. Meanwhile, I could add a unix-install-boot-files target if it's helpful enough for compatibility, but I'd rather not add it if it isn't needed.

The Zuo install target now supports DESTDIR.

Thanks again for all the timely effort here!

I could add a unix-install-boot-files target if it's helpful enough for compatibility, but I'd rather not add it if it isn't needed.

No, there is no need for that, ebuilds are strongly bound to package versions, unlike some other package repositories generated via scripts (nix/guix).

The Zuo install target now supports DESTDIR.

Amazing! Will test soon.

To follow up, I've got the release candidate building (including main-distribution) for Guix, except that I've disabled the Chez Scheme test suite to avoid the second failure at Chez test failure on `release` branch ยท Issue #4359 ยท racket/racket ยท GitHub until I can investigate further. I've cherry-picked a few commits beyond the current head of the release branch, f90bcc15:

  1. 153ff9a Chez Scheme: fix compute-size-increments test
  2. 798a989 Zuo: support cross compilation via configure and CC_FOR_BUILD
  3. 4e7ffd3 Zuo: sort hash keys
  4. cf82706 Zuo: CPPFLAGS_FOR_BUILD, too
  5. 55b6cbd racket-index: set write permission when copying docindex.sqlite

The last one is very relevant for Guix but probably not for anyone else. The first one fixed the initial problem in Chez test failure on `release` branch ยท Issue #4359 ยท racket/racket ยท GitHub, but the subsequent mysterious failure makes me slightly less confident about recommending cherry-picking it. The Zuo-related commits, though, seemed like they might be relevant for other distros.

1 Like

So I think I missed something when I was reviewing this before. Previously mzdyn3m.o and mzdyn.o were installed by default, but now only the text files for mzdyn3m.lo and mzdyn.lo are installed. What needs to be run to build those now?

That was a problem with the build script for BC and --enable-shared, and I've pushed as repair as BC: repair build of "mzdyn[3m].o" with `--enable-shared` ยท racket/racket@e125d47 ยท GitHub.

Unfortunately, it's too late for this to be included as part of the v8.6 release. I know this will affect some users, but hopefully few, since it's support for an old way of extending an old variant of Racket.

Thanks. I will create a patch with those changes on my end.