vimus / libmpd-haskell

A client library for MPD, the Music Player Daemon
MIT License
36 stars 26 forks source link

libmpd-0.9.0.8 fails to compile #109

Closed peti closed 5 years ago

peti commented 5 years ago
Configuring libmpd-0.9.0.8...
Dependency attoparsec >=0.10.1 && <1: using attoparsec-0.13.2.2
Dependency base ==4.*: using base-4.12.0.0
Dependency bytestring >=0.9 && <1: using bytestring-0.10.8.2
Dependency containers >=0.3 && <1: using containers-0.6.0.1
Dependency data-default-class >=0.0.1 && <1: using data-default-class-0.1.2.0
Dependency filepath ==1.*: using filepath-1.4.2.1
Dependency mtl >=2.0 && <3: using mtl-2.2.2
Dependency network >=2.1 && <3: using network-2.6.3.6
Dependency old-locale ==1.*: using old-locale-1.0.0.7
Dependency text >=0.11 && <2: using text-1.2.3.1
Dependency time >=1.5 && <1.9: using time-1.8.0.2
Dependency utf8-string >=0.3.1 && <1.1: using utf8-string-1.0.1.1
Source component graph: component lib
Configured component graph:
    component libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx
        include attoparsec-0.13.2.2-BqlmV9IKBBFDkprelqpC3U
        include base-4.12.0.0
        include bytestring-0.10.8.2
        include containers-0.6.0.1
        include data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQ
        include filepath-1.4.2.1
        include mtl-2.2.2
        include network-2.6.3.6-4mVMJJofAhjBUCFQLnDqdS
        include old-locale-1.0.0.7-D4Rn5zPhtMJBwwirPJNu78
        include text-1.2.3.1
        include time-1.8.0.2
        include utf8-string-1.0.1.1-Geq8jdOv4Q3LkcQoEOWDVv
Linked component graph:
    unit libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx
        include attoparsec-0.13.2.2-BqlmV9IKBBFDkprelqpC3U
        include base-4.12.0.0
        include bytestring-0.10.8.2
        include containers-0.6.0.1
        include data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQ
        include filepath-1.4.2.1
        include mtl-2.2.2
        include network-2.6.3.6-4mVMJJofAhjBUCFQLnDqdS
        include old-locale-1.0.0.7-D4Rn5zPhtMJBwwirPJNu78
        include text-1.2.3.1
        include time-1.8.0.2
        include utf8-string-1.0.1.1-Geq8jdOv4Q3LkcQoEOWDVv
        Network.MPD=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD,Network.MPD.Applicative=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative,Network.MPD.Applicative.ClientToClient=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.ClientToClient,Network.MPD.Applicative.Connection=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.Connection,Network.MPD.Applicative.CurrentPlaylist=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.CurrentPlaylist,Network.MPD.Applicative.Database=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.Database,Network.MPD.Applicative.Output=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.Output,Network.MPD.Applicative.PlaybackControl=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.PlaybackControl,Network.MPD.Applicative.PlaybackOptions=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.PlaybackOptions,Network.MPD.Applicative.Reflection=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.Reflection,Network.MPD.Applicative.Status=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.Status,Network.MPD.Applicative.Stickers=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.Stickers,Network.MPD.Applicative.StoredPlaylists=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Applicative.StoredPlaylists,Network.MPD.Commands.Extensions=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Commands.Extensions,Network.MPD.Core=libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx:Network.MPD.Core
Ready component graph:
    definite libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx
        depends attoparsec-0.13.2.2-BqlmV9IKBBFDkprelqpC3U
        depends base-4.12.0.0
        depends bytestring-0.10.8.2
        depends containers-0.6.0.1
        depends data-default-class-0.1.2.0-FeIQ5tLoVZBHMSgrT9zptQ
        depends filepath-1.4.2.1
        depends mtl-2.2.2
        depends network-2.6.3.6-4mVMJJofAhjBUCFQLnDqdS
        depends old-locale-1.0.0.7-D4Rn5zPhtMJBwwirPJNu78
        depends text-1.2.3.1
        depends time-1.8.0.2
        depends utf8-string-1.0.1.1-Geq8jdOv4Q3LkcQoEOWDVv
Using Cabal-2.4.0.1 compiled by ghc-8.6
Using compiler: ghc-8.6.1
Using install prefix:
/nix/store/g1qwfm70l25ldcxwwz2cy6psrfjhbmwz-libmpd-0.9.0.8
Executables installed in:
/nix/store/g1qwfm70l25ldcxwwz2cy6psrfjhbmwz-libmpd-0.9.0.8/bin
Libraries installed in:
/nix/store/g1qwfm70l25ldcxwwz2cy6psrfjhbmwz-libmpd-0.9.0.8/lib/ghc-8.6.1/x86_64-linux-ghc-8.6.1/libmpd-0.9.0.8-E1amP15hdt6BD4vqg5gTFx
Dynamic Libraries installed in:
/nix/store/g1qwfm70l25ldcxwwz2cy6psrfjhbmwz-libmpd-0.9.0.8/lib/ghc-8.6.1/x86_64-linux-ghc-8.6.1
Private executables installed in:
/nix/store/g1qwfm70l25ldcxwwz2cy6psrfjhbmwz-libmpd-0.9.0.8/libexec/x86_64-linux-ghc-8.6.1/libmpd-0.9.0.8
Data files installed in:
/nix/store/g1qwfm70l25ldcxwwz2cy6psrfjhbmwz-libmpd-0.9.0.8/share/x86_64-linux-ghc-8.6.1/libmpd-0.9.0.8
Documentation installed in:
/nix/store/xd0cj9jmzllsxk6qh9i7n984vks66wk3-libmpd-0.9.0.8-doc/share/doc/libmpd-0.9.0.8
Configuration files installed in:
/nix/store/g1qwfm70l25ldcxwwz2cy6psrfjhbmwz-libmpd-0.9.0.8/etc
No alex found
Using ar found on system at:
/nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/ar
No c2hs found
No cpphs found
No doctest found
Using gcc version 7.3.0 given by user at:
/nix/store/10yq7kwlvbc6h658izmrlsspry1g9f3c-gcc-wrapper-7.3.0/bin/gcc
Using ghc version 8.6.1 found on system at:
/nix/store/8yvwm79shjijw91ca3xihsdcnrddygrv-ghc-8.6.1/bin/ghc
Using ghc-pkg version 8.6.1 found on system at:
/nix/store/8yvwm79shjijw91ca3xihsdcnrddygrv-ghc-8.6.1/bin/ghc-pkg
No ghcjs found
No ghcjs-pkg found
No greencard found
Using haddock version 2.20.0 found on system at:
/nix/store/8yvwm79shjijw91ca3xihsdcnrddygrv-ghc-8.6.1/bin/haddock
No happy found
Using haskell-suite found on system at: haskell-suite-dummy-location
Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
No hmake found
Using hpc version 0.67 found on system at:
/nix/store/8yvwm79shjijw91ca3xihsdcnrddygrv-ghc-8.6.1/bin/hpc
Using hsc2hs version 0.68.4 found on system at:
/nix/store/8yvwm79shjijw91ca3xihsdcnrddygrv-ghc-8.6.1/bin/hsc2hs
Using hscolour version 1.24 found on system at:
/nix/store/j6xv07rw72hhf59lgc93qdmqdf92jg87-hscolour-1.24.4/bin/HsColour
No jhc found
Using ld found on system at:
/nix/store/an3icm1hajqx1lld6n8q4qr40nwbs544-binutils-wrapper-2.30/bin/ld
No pkg-config found
Using runghc version 8.6.1 found on system at:
/nix/store/8yvwm79shjijw91ca3xihsdcnrddygrv-ghc-8.6.1/bin/runghc
Using strip version 2.30 found on system at:
/nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
Using tar found on system at:
/nix/store/y9nwn094yhwkg11pdl1w3427lyk9nvg3-gnutar-1.30/bin/tar
No uhc found
building
Preprocessing library for libmpd-0.9.0.8..
Building library for libmpd-0.9.0.8..
[ 1 of 36] Compiling Network.MPD.Core.Error ( src/Network/MPD/Core/Error.hs, dist/build/Network/MPD/Core/Error.o )

src/Network/MPD/Core/Error.hs:18:1: warning: [-Wdeprecations]
    Module ‘Control.Monad.Error’ is deprecated:
      Use "Control.Monad.Except" instead
   |
18 | import           Control.Monad.Error (Error(..))
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

src/Network/MPD/Core/Error.hs:48:10: warning: [-Wdeprecations]
    In the use of type constructor or class ‘Error’
    (imported from Control.Monad.Error, but defined in transformers-0.5.5.0:Control.Monad.Trans.Error):
    Deprecated: "Use Control.Monad.Trans.Except instead"
   |
48 | instance Error MPDError where
   |          ^^^^^

src/Network/MPD/Core/Error.hs:48:10: warning: [-Wdeprecations]
    In the use of type constructor or class ‘Error’
    (imported from Control.Monad.Error, but defined in transformers-0.5.5.0:Control.Monad.Trans.Error):
    Deprecated: "Use Control.Monad.Trans.Except instead"
   |
48 | instance Error MPDError where
   |          ^^^^^
[ 2 of 36] Compiling Network.MPD.Core.Class ( src/Network/MPD/Core/Class.hs, dist/build/Network/MPD/Core/Class.o )

src/Network/MPD/Core/Class.hs:17:1: warning: [-Wdeprecations]
    Module ‘Control.Monad.Error’ is deprecated:
      Use "Control.Monad.Except" instead
   |
17 | import           Control.Monad.Error (MonadError)
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ 3 of 36] Compiling Network.MPD.Util ( src/Network/MPD/Util.hs, dist/build/Network/MPD/Util.o )

src/Network/MPD/Util.hs:53:16: warning: [-Wdeprecations]
    In the use of ‘parseTime’
    (imported from Data.Time.Format, but defined in time-1.8.0.2:Data.Time.Format.Parse):
    Deprecated: "use "parseTimeM True" instead"
   |
53 | parseIso8601 = parseTime defaultTimeLocale iso8601Format . UTF8.toString
   |                ^^^^^^^^^
[ 4 of 36] Compiling Network.MPD.Core ( src/Network/MPD/Core.hs, dist/build/Network/MPD/Core.o )

src/Network/MPD/Core.hs:119:13: error:
    • No instance for (Control.Monad.Fail.MonadFail MPD)
        arising from a do statement
        with the failable pattern ‘[msg]’
    • In a stmt of a 'do' block: [msg] <- send ""
      In the expression:
        do [msg] <- send ""
           if "OK MPD" `isPrefixOf` msg then
               MPD $ checkVersion $ parseVersion msg
           else
               return False
      In an equation for ‘checkConn’:
          checkConn
            = do [msg] <- send ""
                 if "OK MPD" `isPrefixOf` msg then
                     MPD $ checkVersion $ parseVersion msg
                 else
                     return False
    |
119 |             [msg] <- send ""
    |             ^^^^^^^^^^^^^^^^
[ 8 of 36] Compiling Network.MPD.Commands.Arg ( src/Network/MPD/Commands/Arg.hs, dist/build/Network/MPD/Commands/Arg.o )
[ 9 of 36] Compiling Network.MPD.Commands.Types ( src/Network/MPD/Commands/Types.hs, dist/build/Network/MPD/Commands/Types.o )

src/Network/MPD/Commands/Types.hs:254:38: error:
    • Data.Map.insertWith' is gone. Use Data.Map.Strict.insertWith.
    • In the ‘sgTags’ field of a record
      In the expression:
        s {sgTags = M.insertWith' (++) meta [value] (sgTags s)}
      In an equation for ‘sgAddTag’:
          sgAddTag meta value s
            = s {sgTags = M.insertWith' (++) meta [value] (sgTags s)}
    |
254 | sgAddTag meta value s = s { sgTags = M.insertWith' (++) meta [value] (sgTags s) }
    |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
joachifm commented 5 years ago

I have uploaded a new point release to Hackage which includes a patch for GHC 8.6