-
Notifications
You must be signed in to change notification settings - Fork 701
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
SETUP copy fails if only test or benchmark #6750
Comments
It looks like a deliberate design of |
Since we are making the Haskell code just to test a Purescript project, we have ended up with no library or executable in the cabal file, which means we have to specify a null one. haskell/cabal#6750
Since we are making the Haskell code just to test a Purescript project, we have ended up with no library or executable in the cabal file, which means we have to specify a null one. haskell/cabal#6750
Would it be possible to make Cabal exit successfully in this case? I don't really see why this should lead to an error. I would be happy to write a patch. |
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves haskell#6750
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750 (cherry picked from commit 312a412) # Conflicts: # Cabal/src/Distribution/Simple/Install.hs
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750 (cherry picked from commit 312a412) # Conflicts: # Cabal/src/Distribution/Simple/Install.hs
This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750 (cherry picked from commit 312a412) # Conflicts: # Cabal/src/Distribution/Simple/Install.hs
…10076) * Downgrade NoLibraryFound from an error to a warning This makes Setup copy/install succeed if there's nothing to do because the package doesn't contain a library or executable. This allows downstream users of Cabal to avoid having to add workarounds for this edge case. Resolves #6750 (cherry picked from commit 312a412) # Conflicts: # Cabal/src/Distribution/Simple/Install.hs * fixup! fix conflicts --------- Co-authored-by: Teo Camarasu <[email protected]> Co-authored-by: Artem Pelenitsyn <[email protected]> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
As we can see in
cabal/Cabal/Distribution/Simple/Install.hs
Lines 88 to 90 in 7fec503
If a package has only a test-suite or a benchmark, we'll end up with
for the copy action, despite there being artefacts to be copied.
This came up in input-output-hk/haskell.nix#362 and input-output-hk/haskell.nix#556.
Now I'm wondering if
hasExes
should yieldTrue
for benchmarks and test (they are after all exes as well, or if we should just include those two in the above check as well?The text was updated successfully, but these errors were encountered: