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
agdaPackages.standard-library: 1.4 -> 1.5 #110830
Conversation
The test run succeeded just fine! :-) However, I noticed a problem with the categories library. After upgrading to stdlib 1.5, its compilation fails with:
You should be able to reproduce this with
I will try to look into that tomorrow (but can't promise). Edit: Aha. This is because Relation.Binary.OrderMorphism has been deprecated and removed from std-lib's Edit²: I propose we upgrade standard-library to 1.5 (hence merge this pull request), but then also submit a pull request to upstream agda-categories, rendering it compatible with the new standard-library, and then update our package for agda-categories. What do you think? |
Yes, I agree that this is what happens.
I think it's better to have it the other way around. The aim is to always have a working agda library set. Every package in the following set should build: So the PR to |
I would vote for holding off on this until agda-categories is ready |
You can use #98209 (comment) to check whether all agda libraries build |
@iblech Also, thanks a lot for helping to keep the agda package set up to date :) |
Upstream issue: agda/agda-categories#242 |
3 libraries are incompatible with this update 🤭 let's see, hopefully they will all update soon |
And after all that effort we went to have graceful deprecation of modules 😢 Sounds like we shouldn't remove the deprecated modules from |
This would keep stuff working but the reality is that every downstream library needs a new release every time standard library updates as things shouldn't really be using deprecated modules |
@MatthewDaggitt It's great that you put effort into graceful deprecation. The real problem is that Agda has no clear concept of what a package consists of, so we just build everything in |
Just to add to this, this is caused by nix packages being immutable once built, so if something doesn't get compiled when we build the package then it is unusable |
Thank you all for your comments! I didn't know about our policy of always having a working Agda library set, but I totally agree that it is a sensible goal :-) Then let's hold off for now. I'll try to look into the upstream issues!
|
It's not really set in stone, we're all in the process of figuring this out. My aim is that nixpkgs plays a similar role for Agda like stackage does for Haskell.
That definitely a good idea. Often, a short PR is all it needs. |
@turion I added |
@ryanorendorff Thanks a lot :) if it's a simple version bump then it's probably easiest if @iblech adds one commit to this PR here. If it's more, e.g. changed dependencies or build process, then it is probably helpful to make a PR onto the |
I'll quickly add the version bump to this pull request, and I have also given you two (turion and ryanorendorff) write access to my fork. Feel free to commit as you wish there. :-) |
b802c31
to
01bb748
Compare
Do all libraries build now? See #98209 (comment) |
Huh. For some reason, ofborg builds some libraries. Not sure what's going on there. |
Yes, they do! :-)
Edit: In other words, I believe this pull request is now fit for merging. |
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
Awesome @AndersonTorres, thank you very much for the quick merge! :-) I really like that we have such a fast turnaround time. Thanks also to all the other involved persons! |
Yes, updating the agda standard library is a surprisingly pleasant process :) |
Motivation for this change
Just two hours ago the new version of the Agda standard library has been released, containg lots of new goodies.
This pull request bumps our package to the new version. I'm currently compiling the new version and will report back when it has finished.
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)