cabal check complains about missing Setup.hs

When I run cabal check I get the following message: $ cabal check The following errors will cause portability problems on other environments: * The package is missing a Setup.hs or Setup.lhs script. Hackage would reject this package. ...but except this the package builds fine so far and the executable runs fine. So what does this exactly mean? ovidiu

On Thursday 28 July 2011, 14:17:04, Ovidiu Deac wrote:
When I run cabal check I get the following message:
$ cabal check The following errors will cause portability problems on other environments: * The package is missing a Setup.hs or Setup.lhs script.
Hackage would reject this package.
...but except this the package builds fine so far and the executable runs fine.
So what does this exactly mean?
It means that, while cabal can build packages with the `simple' build type without a Setup.[l]hs, other ways to build and install a package, in particular the old $ runhaskell ./Setup.hs configure $ runhaskell ./Setup.hs build $ runhaskell ./Setup.hs install need a Setup.[l]hs. Most of the time the simple module Main (main) where import Distribution.Simple main :: IO () main = defaultMain works. If it doesn't, probably even cabal won't be able to build the package without a Setup script. Cheers, Daniel

Thanks for the explanation.
And if I want to add the package in Hackage then I should provide a Setup.hs
On Thu, Jul 28, 2011 at 3:47 PM, Daniel Fischer
On Thursday 28 July 2011, 14:17:04, Ovidiu Deac wrote:
When I run cabal check I get the following message:
$ cabal check The following errors will cause portability problems on other environments: * The package is missing a Setup.hs or Setup.lhs script.
Hackage would reject this package.
...but except this the package builds fine so far and the executable runs fine.
So what does this exactly mean?
It means that, while cabal can build packages with the `simple' build type without a Setup.[l]hs, other ways to build and install a package, in particular the old
$ runhaskell ./Setup.hs configure $ runhaskell ./Setup.hs build $ runhaskell ./Setup.hs install
need a Setup.[l]hs. Most of the time the simple
module Main (main) where
import Distribution.Simple
main :: IO () main = defaultMain
works. If it doesn't, probably even cabal won't be able to build the package without a Setup script.
Cheers, Daniel
participants (2)
-
Daniel Fischer
-
Ovidiu Deac