-
-
Notifications
You must be signed in to change notification settings - Fork 10
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
defaultExtensions are way too fat, resulting in long installation times #128
Comments
Hey hi! Have you added Let me know if you need help to enable it! Cheers |
Unfortunately Cachix doesn't seem to do anything on my machine, because I have m1 arm64 and there are no build artifacts for this machine published. What's worse, Github doesn't seem to have such runners at the moment actions/runner-images#5631 (although it's possible to use self-hosted ones, or buildjet ones but that's not free) This could be important:
|
Dear @ostrolucky , I aksed on the Nix PHP Matrix channel. The issue comes from the fact that we merged the latest update of PHP without making sure that it was successfully built on that architecture.
@LeSuisse partially fixed the issue in NixOS/nixpkgs#215004 but it seems that there is another issue here NixOS/nixpkgs#215220. I believe we need to wait the next release of PHP to make sure it builds correctly, unless there is an alternative, maybe @LeSuisse might know more than me on this? |
Yes there is one remaining flaky test on darwin, I opened NixOS/nixpkgs#215539 so we can work around it and have everything in cache.nixos.org again. Note that is note the last PHP upgrade that caused the issue, it seems it is the case for quite a while (I did not bother further than that in time). |
Thanks @LeSuisse, let's bury that issue in your new PR :) |
Thanks patch has been merged 🎉 ! We just need to wait for the next hydra iteration (https://hydra.nixos.org/job/nixos/trunk-combined/tested#tabs-constituents) and you'll be able to use the binaries from the cache! |
@ostrolucky I think it should be fixed by now. Can you try ? |
@drupol Another thing to consider is that PHP 7.4 isn't cached by hydra since it's not a supported version in nixpkgs. Do you have a separate cache somewhere? |
I had to do Following extensions are still being built but rest seems not, so I would say that's a big improvement :) |
No, we don't use channels, we just use the flake feature, I never liked the idea of using channels. To try correctly, do:
And that should be quite fast now :) |
Still same thing with above listed 7 extensions, but yeah it's good enough now I would say. But I think we can still remove Lines 5 to 43 in 24b0670
|
I will think about it but if we want to convince upstream to have those enabled by default, then we have to motivate the request in an issue on This is also something that we should discuss with the PHP Maintainers team (@jtojnar, @etu, @aanderse, What you could also do to avoid compilation time is to not use |
It's not a very hard change to implement, however, it's a breaking change. Here's the steps of what we need to do to do that breaking change:
|
@etu are you sure this would be a breaking change? Here, we are suggesting adding extensions, not removing any. Why would this be considered a BC ? |
Oh, yeah, I misread that then... I'm however questioning if we have sensible defaults to begin with 😃 |
I don't think we have indeed... We should really discuss that thing :) |
Oh crap,... the page I used to take inspiration from is no more existing. |
At https://symfony.com/doc/current/setup.html#technical-requirements only these extensions are listed:
|
Running eg. nix develop github:loophp/nix-shell#php74 in folder with composer.json that has no ext- sections takes still quite long time. I can see it compiling things like gd, mysql, iconv and so on which are not needed at all. Is it possible to either improve the speed of installing these (binaries instead of having to compile it? Installing multiple extensions at the same time, or at least each with -J flag?), or skip them? Otherwise amazing feature of this shell, which is auto-installation of extensions from composer.json is quite under-utilized.
The text was updated successfully, but these errors were encountered: