-
Notifications
You must be signed in to change notification settings - Fork 200
Update hackage-server for Cabal 3 #852
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
Comments
I started working on this a while ago (see https://github.com/bgamari/hackage-server/tree/cabal-3) but admittedly didn't make it very far. The problem was that I wasn't particularly happy with any of the options for rewriting the @hvr has also said that he wanted someone to verify that the |
Ahh, I see. |
|
I started looking at this too. You can take a look at my branch, but it's still very much a work in progress. I've spent about a day's worth of work on it so far. I have been having an extremely hard time making the upgrade to Cabal 3. So many things have changed, moved, or been deleted that it's hard to write code that's both backwards and forwards compatible. On top of that, some of the code that is forwards compatible is simply broken, like the |
I'm not working on this anymore. As far as I can tell, the wip/cabal-3.0 branch is making good headway. |
Oh. I wasn't aware of this thread or the progress reported here... I wanted to create such a thread to mark trailing TODOs on the progress being made in wip/cabal-3.0:
|
What remains to be done here, @dwijnand? |
I'm going to sync up with @hvr on this soon, but it builds already against Cabal 3 (in the wip/cabal-3.0 branch), what's left is upgrading the logic to the changes Cabal 3 brought. |
Hello @dwijnand, I kindly ask you, do you have any news regarding this topic? Thanks, |
No, sorry, no news. I'm not sure who (if anyone) has taken up this task. |
@dwijnand can you summarize what's still missing? From the commits on your branch I can see you managed to build hackage with Cabal 3. What's left? |
If I remember correctly from my chat with @hvr there was the whole aspect of the behavioural changes in Cabal 3 to apply and verify, with the hackage server's data. I don't recall the details and/or if there were other remaining tasks, sorry. |
Thank you for your quick response. I have a call scheduled with Herbert in the hope we can come up with a validation plan. |
@alexbiehl Hi Alexander! Are there any news on this front? :) |
And what if anything can other contributors do to help facilitate? |
I would encourage anyone who works on this to proactively summarize their status as progress is made. One of the things that makes this issue quite hard to resolve is that there is generally a lack of transparency into what has been done by who, what remains to be done, and what can be punted into the future. |
I need to upload a new version of a package to How long should I expect to wait before I'm able to upload the new version of my package? |
Sorry for being late. Herbert and I had the call. Two things necessary:
@hvr Can you give us an update on where you are with the validation? |
So once cabal-parsers is updated, that suffices to support validation, or are we missing something else? |
@alexbiehl can you open a PR for that branch, or do you think that there are any further issues? i.e. should we just merge it? |
I think it makes sense to get this thing merged. However, I am unsure about deployment without proper test using current production state. The concern is that due to auto-derived instances serialization might be broken for some types. Hitting such a case would corrupt the state. It's not the right time for it but I will say it nevertheless: never serialize data without explicit contract. (Learned the hard way at @shlevy's school of hard knocks) |
Is there a recommended way to test hackage server? I built an older version (86e5e02) of Hackage, started it locally with an HTTPS reverse proxy (since cabal-install can only upload through HTTPS regardless of
It's hard to tell what's going on because hackage-server prints nothing. |
@fumieval upload through the web interface (if you are not particularly testing cabal-install upload functionality). |
What's the plan for getting this |
@alexbiehl @hvr Hi, I hope you're alright in these difficult times. |
Ok this is deployed now. Thanks everyone for your help! |
I see hackage still rejects multi-public-library packages because cabal emits a warning. Is that intentional?
|
@mitchellwrosen perhaps this will be enabled once haskell/cabal#5660 is closed |
I tried today to upload a package candidate to hackage with multiple public libraries that uses the
A snippet of the cabal file in that region: build-depends:
base
, plugins-for-blobs:uom-plugin
, plugins-for-blobs:uom-quantity
, plugins-for-blobs:uom-th
, tasty
, tasty-hunit |
Maybe open a new issue for the multi-libs problem? |
@andreasabel I will open a new issue with the reproduction steps I have. I removed the
|
I've been waiting for over 2 years to upload an updated version of |
I believe the new cabal library should remove this warning and allow upload of such packages. Two things need to happen first. First: the new cabal library 3.8 needs an official release. Second, we need to update hackage-server to use the 3.8 library following the official cabal release, and redeploy. Note that this was all by design, as a series of open issues on cabal meant that multi-lib packages were still experimental and not complete, and correspondingly hackage server enforced the cabal warnings. Some good work by some cabal contributors (thanks @fgaz and @grayjay !) and a fair amount of sleuthing fixed the largest outstanding issues with multi-libs. The following is the cabal PR in 3.8 which removes the warning: haskell/cabal#8089 |
@gbaz Delighted to hear the timeline is so imminent! |
This ticket tracks the progress of porting
hackage-server
toCabal-3
.The text was updated successfully, but these errors were encountered: