-
Notifications
You must be signed in to change notification settings - Fork 704
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
Fix "source-repository-package breaks 'cabal v2-install'" #5708
Conversation
This comment has been minimized.
This comment has been minimized.
Would be nice if there was a test case. |
@23Skidoo yeah, I would like that too. Where can I look to add one? I basically just need to run |
I'd look at the existing VCS tests. |
@23Skidoo could you please point me to them in the repo? |
I can confirm that this fixes the exception for me, but unfortunately it causes a recompile of my project (e.g. the originally reported repro). I'm not sure if that is a side effect of this fix, or if it is another bug in cabal. i.e. if I do
|
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "0aea563786d6a5f69244ee8169832039d66d2159", "tag":"linux-7.6.3" }
A PackageTest (in Is installing binaries from a |
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "0aea563786d6a5f69244ee8169832039d66d2159", "tag":"linux-7.8.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "0aea563786d6a5f69244ee8169832039d66d2159", "tag":"linux-8.4.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "0aea563786d6a5f69244ee8169832039d66d2159", "tag":"linux-8.6.2" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "0aea563786d6a5f69244ee8169832039d66d2159", "tag":"linux-8.4.4-fdebug-expensive-assertions" }
@quasicomputational adding a test seems to be the easy thing, but referencing a git repo that must permanently be available is another thing. Does one exist that I can use? I think I've convinced myself to prefer a workflow based on |
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-7.10.3" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-8.0.2" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-7.6.3" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-7.8.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-8.2.2" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-8.4.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-8.4.4-fdebug-expensive-assertions" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"linux-8.6.2" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"osx-7.8.4" }
I think we'll want to have a local git repository during testing, rather than hitting the network. Creating one as part of the test is probably the simplest route, so shell out to To be clear - you want to have a binary from the |
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"osx-7.10.3" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "5206a2b121b81bc110ff327d77606288f8faf593", "tag":"osx-8.0.2" }
@quasicomputational The consequence in |
I'm travelling and won't be able to work on this PR for a few weeks. |
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "7fd8f95d1535560cd6345f33066baacdf8281d7b", "tag":"linux-7.6.3" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "7fd8f95d1535560cd6345f33066baacdf8281d7b", "tag":"linux-7.8.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "7fd8f95d1535560cd6345f33066baacdf8281d7b", "tag":"osx-7.8.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-7.6.3" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-7.8.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-7.10.3" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-8.0.2" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-8.2.2" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-8.4.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-8.6.2" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"linux-8.4.4-fdebug-expensive-assertions" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"osx-7.8.4" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"osx-7.10.3" }
"url":"pull/5708", "account":"haskell", "repo":"cabal", "commit": "8108719b1e32ff5095b238727a5c4986bec3e216", "tag":"osx-8.0.2" }
When creating an sdist, if the project is a remote source repo then use the local directory if it is available. This allows projects with remote source repos to use the v2-install command. Resolves: #5643
Resolves the non-vcs-related part of #5643 NB: this patch mostly moves around code; use `git show --ignore-space-change` to facilitate code-review
Fix #5643 which is a bigger bug than original reported:
v2-install
currently does not work at all if there are git packages. // @hasufellPlease include the following checklist in your PR:
[ci skip]
is used to avoid triggering the build bots.Please also shortly describe how you tested your change. Bonus points for added tests!