Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

racket: refactor and add features, 8.14 -> 8.15, mark Darwin as badPlatforms #365194

Merged
merged 6 commits into from
Jan 11, 2025

Conversation

rc-zb
Copy link
Contributor

@rc-zb rc-zb commented Dec 14, 2024

  1. Refactor racket and racket-minimal.

  2. Add features to Racket derivations.

    • Add writeScript[Bin].
    • Add some package tests.
    • Add updateScript.
  3. Update racket from 8.14 to 8.15 (alternative to racket: 8.14 -> 8.15 #360765, a trivial update on the version and hashes only).

  4. Sadly, both this and racket: 8.14 -> 8.15 #360765 (and even the original recipe -- see Build failure: racket #372197) seem to fail to build on Darwin. I have to mark it as badPlatforms since I don't have a macOS device to test it.

  5. Add myself to the their maintainer list, which was empty until now.

Limitations

  • I guess it could be no more possible to extend the minimal distribution to a full one with raco pkg after installation, for lack of runtime dependencies. I don't know if this is part of the public interface of which all breaking changes must be documented.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@rc-zb rc-zb force-pushed the refactor-racket branch 2 times, most recently from e5451e8 to 137a24f Compare December 14, 2024 15:24
@rc-zb rc-zb marked this pull request as ready for review December 14, 2024 15:26
@ofborg ofborg bot added the 11.by: package-maintainer This PR was created by the maintainer of the package it changes label Dec 15, 2024
@rc-zb rc-zb marked this pull request as draft December 16, 2024 12:29
@rc-zb rc-zb changed the title Racket: refactor for smaller minimal distribution Racket: refactor Dec 16, 2024
@rc-zb rc-zb changed the title Racket: refactor Racket: refactor and add features Dec 16, 2024
@rc-zb rc-zb marked this pull request as ready for review December 25, 2024 09:08
@rc-zb rc-zb mentioned this pull request Jan 1, 2025
13 tasks
@rc-zb rc-zb changed the title Racket: refactor and add features Racket: refactor and add features, 8.14 -> 8.15 Jan 6, 2025
@rc-zb rc-zb changed the title Racket: refactor and add features, 8.14 -> 8.15 Racket: refactor and add features, 8.14 -> 8.15 (except for Darwin) Jan 6, 2025
@ofborg ofborg bot added the 6.topic: darwin Running or building packages on Darwin label Jan 8, 2025
@LiberalArtist
Copy link

I guess it could be no more possible to extend the minimal distribution to a full one with raco pkg after installation, for lack of runtime dependencies. I don't know if this is part of the public interface of which all breaking changes must be documented.

I haven't reviewed this PR in detail, but I wrote in #209660 (comment) about how we handle this in Guix.

@rc-zb
Copy link
Contributor Author

rc-zb commented Jan 9, 2025

I haven't reviewed this PR in detail, but I wrote in #209660 (comment) about how we handle this in Guix.

Thanks for directing me to the discussion. I do replace the LD_LIBRARY_PATH wrapper with config.rktd entries so that it finds the "necessary" foreign libraries cleanly. However, due to how Nix works and what it favors, it is neither very feasible nor expected that Racket just takes the library paths from the global environment. On the other hand, to facilitate things in a Nix shell, we can make use of the setup hook mechanism as Guile does. I decide to leave them to a further PR, where Racket packages would get built with Nix.

@rc-zb rc-zb changed the title Racket: refactor and add features, 8.14 -> 8.15 (except for Darwin) Racket: refactor and add features, 8.14 -> 8.15, mark Darwin as badPlatforms Jan 9, 2025
@github-actions github-actions bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin and removed 10.rebuild-darwin: 1-10 labels Jan 9, 2025
@FliegendeWurst FliegendeWurst changed the title Racket: refactor and add features, 8.14 -> 8.15, mark Darwin as badPlatforms racket: refactor and add features, 8.14 -> 8.15, mark Darwin as badPlatforms Jan 11, 2025
@FliegendeWurst FliegendeWurst merged commit 8b86bf0 into NixOS:master Jan 11, 2025
16 checks passed
@rc-zb rc-zb deleted the refactor-racket branch January 12, 2025 00:38
@rc-zb rc-zb mentioned this pull request Jan 20, 2025
13 tasks
@pillowtrucker
Copy link
Contributor

pillowtrucker commented Feb 6, 2025

@rc-zb @SuperSandro2000 did this PR change the distribution of .boot files from standalone to embedded in executable? I can no longer build the rust racket-sys bindings due to those missing and I can't actually find them manually any more.
edit: Yes, .rackboot is embedded into the executable now. Was this intended? I'm guessing that they either made this the default in 8.15 or it's auto-enabled if it finds some optional dependency that it didn't have before..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: darwin Running or building packages on Darwin 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin 10.rebuild-linux: 1-10 11.by: package-maintainer This PR was created by the maintainer of the package it changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants