packages feed

liblastfm-0.5.1: liblastfm.cabal

name:          liblastfm
version:       0.5.1
synopsis:      Lastfm API interface
license:       MIT
license-file:  LICENSE
author:        Matvey Aksenov, Dmitry Malikov
maintainer:    Matvey Aksenov <matvey.aksenov@gmail.com>
category:      Network APIs
description:
  Provides interface to Lastfm REST API, supports XML and JSON formats.
cabal-version: >= 1.10
build-type:    Simple
extra-source-files:
  README.markdown
  CHANGELOG.markdown
  example/README.markdown
  example/desktop-authentication.hs
  example/liblastfm-examples.cabal
  example/mobile-authentication.hs
  example/multitag-search.hs
  example/playcount.hs
  example/recommendations.hs
  example/sort-friends.hs
  example/web-authentication.hs

source-repository head
  type:     git
  location: https://github.com/supki/liblastfm

flag test-api
  description: a real API test
  default: False
  manual: True

library
  default-language:
    Haskell2010
  build-depends:
      aeson
    , base            >= 4 && < 5
    , bytestring
    , cereal
    , containers      >= 0.5
    , crypto-api
    , http-client     >= 0.3
    , http-client-tls >= 0.2
    , network-uri
    , profunctors
    , pureMD5
    , semigroups
    , text
    , xml-conduit     >= 1.1
  hs-source-dirs:
   src
  exposed-modules:
    Network.Lastfm
    Network.Lastfm.Album
    Network.Lastfm.Artist
    Network.Lastfm.Authentication
    Network.Lastfm.Chart
    Network.Lastfm.Event
    Network.Lastfm.Geo
    Network.Lastfm.Group
    Network.Lastfm.Internal
    Network.Lastfm.Library
    Network.Lastfm.Playlist
    Network.Lastfm.Radio
    Network.Lastfm.Request
    Network.Lastfm.Response
    Network.Lastfm.Tag
    Network.Lastfm.Tasteometer
    Network.Lastfm.Track
    Network.Lastfm.User
    Network.Lastfm.Venue
  ghc-options:
    -Wall
    -fno-warn-unused-do-bind
    -funbox-strict-fields

test-suite api
  if !flag(test-api)
    buildable: False
  default-language:
    Haskell2010
  type:
    exitcode-stdio-1.0
  build-depends:
      aeson
    , base                  >= 4 && < 5
    , bytestring
    , HUnit
    , http-client
    , http-client-tls
    , lens-aeson            >= 1.0.0.1
    , lens                  >= 4.4
    , liblastfm
    , hspec
    , text
    , xml-html-conduit-lens >= 0.3
  hs-source-dirs:
    test/api
  main-is:
    Spec.hs
  other-modules:
    SpecHelper
    Json.AlbumSpec
    Json.ArtistSpec
    Json.ChartSpec
    Json.EventSpec
    Json.GeoSpec
    Json.GroupSpec
    Json.LibrarySpec
    Json.PlaylistSpec
    Json.TagSpec
    Json.TasteometerSpec
    Json.TrackSpec
    Json.UserSpec
    Json.VenueSpec
    Xml.AlbumSpec
    Xml.ArtistSpec
    Xml.ChartSpec
    Xml.EventSpec
    Xml.GeoSpec
    Xml.GroupSpec
    Xml.LibrarySpec
    Xml.PlaylistSpec
    Xml.TagSpec
    Xml.TasteometerSpec
    Xml.TrackSpec
    Xml.UserSpec
    Xml.VenueSpec
  ghc-options:
    -Wall
    -fno-warn-orphans
    -fno-warn-unused-do-bind

test-suite spec
  default-language:
    Haskell2010
  type:
    exitcode-stdio-1.0
  build-depends:
      aeson
    , base                    >= 4 && < 5
    , bytestring
    , cereal
    , containers
    , crypto-api
    , hspec
    , hspec-expectations-lens >= 0.3.0.0
    , http-client
    , http-client-tls
    , lens                    >= 4.4
    , lens-aeson              >= 1.0.0.1
    , network-uri
    , profunctors
    , pureMD5
    , text
    , xml-conduit
    , xml-html-conduit-lens   >= 0.3
  hs-source-dirs:
    src
    test/spec
  main-is:
    Spec.hs
  other-modules:
    Network.Lastfm.ResponseSpec
  ghc-options:
    -Wall
  cpp-options:
    -DTEST