mr / ftp-client

Haskell FTP client
7 stars 15 forks source link

compile errors #2

Closed hvr closed 7 years ago

hvr commented 7 years ago

Welcome to Hackage!

I've noticed some compile errors:

This one is because base-4.8 didn't have `Control.Monad.IO.Class’ yet (it moved from transformers to base in base-4.8):

Configuring component lib from ftp-client-conduit-0.1.0.0...
Preprocessing library ftp-client-conduit-0.1.0.0...

src/Network/FTP/Client/Conduit.hs:22:8:
    Could not find module ‘Control.Monad.IO.Class’
    It is a member of the hidden package ‘transformers-0.4.2.0@trans_GZTjP9K5WFq01xC9BAGQpF’.
    Perhaps you need to add ‘transformers’ to the build-depends in your .cabal file.
    Use -v to see a list of the files searched for.

and the following one is a result of assuming a post-AMP base library (but the .cabal file declares compatibility w/ base-4.7; if you don't want to support base-4.7, just update the lower bound to base >= 4.8)

Configuring component lib from ftp-client-0.1.0.0...
Preprocessing library ftp-client-0.1.0.0...
[1 of 1] Compiling Network.FTP.Client ( src/Network/FTP/Client.hs, /tmp/matrix-worker/1484191878/dist-newstyle/build/x86_64-linux/ghc-7.8.4/ftp-client-0.1.0.0/build/Network/FTP/Client.o )

src/Network/FTP/Client.hs:149:19:
    Not in scope: ‘<$>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8)

src/Network/FTP/Client.hs:150:26:
    Not in scope: ‘<$>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8)

src/Network/FTP/Client.hs:184:32:
    Not in scope: ‘<$>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8)

src/Network/FTP/Client.hs:184:46:
    Not in scope: ‘<*>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8),
      ‘<*.’ (imported from Data.Attoparsec.ByteString.Char8)

src/Network/FTP/Client.hs:188:27:
    Not in scope: ‘<$>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8)

src/Network/FTP/Client.hs:443:56:
    Not in scope: ‘<$>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8)

src/Network/FTP/Client.hs:464:24:
    Not in scope: ‘*>’
    Perhaps you meant one of these:
      ‘*’ (imported from Prelude), ‘<>’ (imported from Data.Monoid),
      ‘>>’ (imported from Control.Monad)

src/Network/FTP/Client.hs:475:14:
    Not in scope: ‘<$>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8)

src/Network/FTP/Client.hs:480:26:
    Not in scope: ‘<$>’
    Perhaps you meant one of these:
      ‘<>’ (imported from Data.Monoid),
      ‘<?>’ (imported from Data.Attoparsec.ByteString.Char8)

If you have any questions, please feel free to ask! (I also filed #1 to address a related issue)

hvr commented 7 years ago

Oh, and I've also noticed the description field

description:         Please see README.md

which is not a proper description for your package (and Hackage will show a link to the README at the end of the description if the README exists; therefore that phrase is redundant), and hence this will cause poor experience for users (NB: your package won't be properly indexed by Hackage's package search feature and thus hurt its discoverability). See also this posting for more details.

Note that you can change some of your package meta-data (and without requiring a full new release) via

mr commented 7 years ago

I think I fixed this in 0.1.0.1. Thanks!

hvr commented 7 years ago

Btw, there's one minor thing left to do: #3 :-)

mr commented 7 years ago

If you don't think it's necessary to support 7.8 then I'll merge that request, but it should be easy to fix. I can add an import, or also just change *> to >>. Pretty sure that would do the same thing.

Also kind of related, do you know what would be a good way to figure out good bounds for the deps in my cabal file? Right now I think I just picked a version for each one and checked it's api to make sure it made sense, but that's probably not the safest way.