Skip to content

fish: misc fixes for new default standalone build#461265

Merged
adamcstephens merged 1 commit intoNixOS:masterfrom
gravndal:fish-fix-4.2.0
Nov 13, 2025
Merged

fish: misc fixes for new default standalone build#461265
adamcstephens merged 1 commit intoNixOS:masterfrom
gravndal:fish-fix-4.2.0

Conversation

@gravndal
Copy link
Contributor

Fish no longer sources most files in $out/share/fish with 4.2.0, and instead embeds these files in the fish binary itself:

The standalone build mode has been made the default. This means that
the files in $CMAKE_INSTALL_PREFIX/share/fish will not be used
anymore, except for HTML docs. As a result, future upgrades will no
longer break running shells if one of fish’s internal helper functions
has been changed in the updated version. For now, the data files are
still installed redundantly, to prevent upgrades from breaking
already-running shells. To reverse this change (which should not be
necessary), patch out the embed-data feature from cmake/Rust.cmake.
This option will be removed in future.

This means that any changes to these files now have to be made the input before the build system tries to embed them.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

Fish no longer sources most files in `$out/share/fish` with 4.2.0, and
instead embeds these files in the fish binary itself:

> The standalone build mode has been made the default. This means that
> the files in $CMAKE_INSTALL_PREFIX/share/fish will not be used
> anymore, except for HTML docs. As a result, future upgrades will no
> longer break running shells if one of fish’s internal helper functions
> has been changed in the updated version. For now, the data files are
> still installed redundantly, to prevent upgrades from breaking
> already-running shells. To reverse this change (which should not be
> necessary), patch out the embed-data feature from cmake/Rust.cmake.
> This option will be removed in future.

This means that any changes to these files now have to be made the input
before the build system tries to embed them.
@gravndal gravndal mentioned this pull request Nov 13, 2025
13 tasks
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. labels Nov 13, 2025
@lonerOrz
Copy link
Member

Perhaps we can solve this together at #461243.

@adamcstephens
Copy link
Contributor

My understanding of this migration is that we probably want to keep patching $out/share files as long as they exist. Thoughts?

@gravndal
Copy link
Contributor Author

@lonerOrz sorry, didn't see that pr.

@adamcstephens
Copy link
Contributor

@lonerOrz sorry, didn't see that pr.

It's fine to do this separately since it's already open.

@adamcstephens adamcstephens added this pull request to the merge queue Nov 13, 2025
@nixpkgs-ci nixpkgs-ci bot added 12.approvals: 1 This PR was reviewed and approved by one person. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages. 2.status: merge-bot eligible This PR can be merged by commenting "@NixOS/nixpkgs-merge-bot merge". labels Nov 13, 2025
Merged via the queue into NixOS:master with commit 4dff818 Nov 13, 2025
34 of 38 checks passed
@gravndal gravndal deleted the fish-fix-4.2.0 branch November 13, 2025 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2.status: merge-bot eligible This PR can be merged by commenting "@NixOS/nixpkgs-merge-bot merge". 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person. 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in any of the changed packages.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants