-
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
Use sdist to find files to monitor, fixes #3019 for Simple Cabal files #3265
Conversation
CC @dcoutts |
findFirstFile id | ||
findFile = findFile0 id | ||
|
||
findDirFile :: FilePath -- ^ working directory (not included in result) |
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.
Please add Haddock comments to all new top-level definitions in this file.
The |
Well, tests for new-build in general would be good... IIUC, sdist will just not report files that don't exist. This can tickle a known bug which I mentioned at #3019 (comment) I don't know what happens in this situation. |
Oh that's lovely! I thought I was going to have to implement that but I guess not! (Note that #403 only applies for Custom setup scripts, so we can avoid an exec when the build type is simple.) |
|
Oh, I see that |
OK, so an alternate way to implement this is to use SetupWrapper, and ditch the CWD refactoring. The current patchset only has a modest benefit, which is that it can be done same process even when we are multithreaded (not true for setup wrapper.) @23Skidoo, what do you think? |
I like the current solution a bit better, since there are less moving parts, so unless there's a compelling reason to use |
We must use setupWrapper for Custom Cabal scripts, so I'm going to have to implement that code path anyhow. |
Then it's probably easier to just use |
1a13145
to
0068715
Compare
This branch now also contains some of @grayjay's fixes, which needed to be merged, were very helpful and should be backported. |
question: at least as of a few days ago with when i built the nix-local-builds branch, the output for |
The docs are not up to date at the moment. (although, I think the flag descriptions are accurate) |
Is there an easy way to kick the AppVeyor build here? |
Restarted the build. |
As a refactoring, this moves allPackageSourceFiles from Distribution.Client.Sandbox.Timestamp to Distribution.Client.SrcDist, makes it thread safe, and has it return files relative to the source directory. Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
When the solver links a package, it also merges the 'LinkGroup's of the package's direct dependencies. This commit causes the solver to skip setup dependencies, which should remain independent of the package's other dependencies.
Merged in. |
First two commits are just simple updates. Third commit is a refactoring I needed to reuse sdist in cabal-install. Last commit is the fix.
I'm reasonably confident this should work, but I haven't tested quite enough (there aren't any integration tests for new-build boohoo).