-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
fish: 3.7.1 -> 4.0 #367229
base: master
Are you sure you want to change the base?
fish: 3.7.1 -> 4.0 #367229
Conversation
@ofborg build fish fish.passthru.tests |
50860a6
to
b1740c3
Compare
pkgs/shells/fish/default.nix
Outdated
pname = "fish"; | ||
version = "3.7.1"; | ||
version = "4.0b1"; | ||
|
||
src = fetchurl { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't you use a fetchFromGitHub
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you read the comment just below, telling you why FFGH isn't used but instead the release tarball is fetched manually?
Though as this is a major release, we should verify if this difference still exists between source code from the repo and released source code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a good opportunity to switch to ffgh for better security. The fish version can be set as an env var https://codeberg.org/adamcstephens/nix-sandbox/src/commit/ad75d616bebe5b52a2178bc24151b500846b41e4/packages/fish/package.nix#L39
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the documentation note still exists we should definitely investigate that, but I’d feel much more comfortable using the git source.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I'll have a look at that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you fetch from github, you'll have to generate the docs yourself, which needs sphinx.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right, I'll have to check how that's done then.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In terms of upstream: Install sphinx before you run cmake.
No idea if nix needs anything special.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Install sphinx before you run cmake.
Also known as just putting sphinx
in nativeBuildInputs
and hoping cmake
picks it up.
(ideally put the fetchFromGithub
and sphinx
improvements in separate commits)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a bit more to it. I ran into an issue with fish_indent_lexer, and I'm not sure why upstream didn't run into this. I'll send the patch upstream in any case to see what they say.
Again on line 439 where the test is an another IFD which is against nixpkgs. |
@Eveeifyeve I'm sorry but your review comments make no sense. You either need to get more familiar with nix and nixpkgs before you start reviewing PRs, or you are simply a troll. I am kindly asking you to refrain from further review comments on this PR. If you do continue despite this, I will report you to the moderation team. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this! I've used it for a few days, and haven't had any issues so far. The diff looks good as well, and the fixed tests pass.
I am not a troll, but I just didn't know if it was IFD or not.
Ok sounds good, I will report this to them just to let them know that I didn't know if this IFD or not. |
No need, I didn't do anything. |
There seem to be some flaky tests that fail from time to time on my machine, so we might need to exclude those still. |
Thanks so much for this! I started making an attempt at this myself last week and promptly gave up when it started getting hairy; working great for me :) |
Thanks for putting in the work. I was looking into this myself and got stuck on how CMake and cargo interact. It was surprisingly elegant. Considering the scope of 3.7.1 -> 4, would it make sense to keep 3.7.1 around until a (couple?) 4.x.x fixing possible regressions? I think we could get 4 merged sooner if it doesn't replace 3.7.1?
😄 |
I'm personally opposed to maintaining two versions. It requires extra effort that I'm not convinced is worth it in this case. I've been using fish from git for many months, including now this PR. Besides a few intended behavior changes by upstream it's a drop in replacement. If you're concerned about issues, I'd encourage trying this version and providing feedback upstream. When 4.0 final is released I'd like to move it into unstable. We clearly won't backport this to stable. |
FWIW, this branch built for me with no issues at all on my aarch64-darwin. I didnt do a full nixpkgs-review run, just
|
52e8fc8
to
d458fc2
Compare
The latest commit (d458fc2) sometimes fails to build for me. It passes on the second run. The history test is also known to be flaky in fish-shell/fish-shell#8789. Maybe we could disable it? (
|
I've also have a lot of applications fail when running nixpkgs-review is this normal? |
I only see a test failure in kitty, and another test failure in a fish plugin (pure), so I definitely wouldn't qualify that as "a lot". |
I've been rebuilding in a loop, but didn't get any failure so far. It may depend on hardware, many of these tests seem to be flaky and can time out on machines with heavy load. I think we can just disable the test. |
Note: This has been synced to master. That's not going to be included in 4.0, which is being prepared in the Integration_4.0.0 branch. |
@faho: oh, I see. Will the recent fixes from master still be cherry-picked into the integration branch then? Like for instance the zellij bug for which a workaround was committed yesterday. |
Yes, that's the plan.
That bug wasn't in 4.0 to begin with (it's triggered by querying that we don't do in 4.0). |
Things done
https://github.com/fish-shell/fish-shell/releases/tag/4.0b1
This PR will need to get updated when the final version gets released, but I wanted to already try it out.
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.