Hello community,
here is the log from the commit of package ghc-htaglib for openSUSE:Factory checked in at 2017-08-31 20:47:50
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-htaglib (Old)
and /work/SRC/openSUSE:Factory/.ghc-htaglib.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-htaglib"
Thu Aug 31 20:47:50 2017 rev:4 rq:513394 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-htaglib/ghc-htaglib.changes 2017-02-03 17:39:12.847852090 +0100
+++ /work/SRC/openSUSE:Factory/.ghc-htaglib.new/ghc-htaglib.changes 2017-08-31 20:47:52.647761195 +0200
@@ -1,0 +2,5 @@
+Thu Jul 27 14:08:11 UTC 2017 - psimons@suse.com
+
+- Update to version 1.1.1.
+
+-------------------------------------------------------------------
Old:
----
htaglib-1.0.4.tar.gz
htaglib.cabal
New:
----
htaglib-1.1.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-htaglib.spec ++++++
--- /var/tmp/diff_new_pack.9RsVG7/_old 2017-08-31 20:47:53.679616358 +0200
+++ /var/tmp/diff_new_pack.9RsVG7/_new 2017-08-31 20:47:53.679616358 +0200
@@ -19,18 +19,18 @@
%global pkg_name htaglib
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 1.0.4
+Version: 1.1.1
Release: 0
Summary: Bindings to TagLib, audio meta-data library
License: BSD-3-Clause
Group: Development/Languages/Other
Url: https://hackage.haskell.org/package/%{pkg_name}
Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
-Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-text-devel
+BuildRequires: ghc-transformers-devel
BuildRequires: libtag-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%if %{with tests}
@@ -56,7 +56,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
@@ -83,5 +82,6 @@
%files devel -f %{name}-devel.files
%defattr(-,root,root,-)
+%doc CHANGELOG.md README.md
%changelog
++++++ htaglib-1.0.4.tar.gz -> htaglib-1.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/CHANGELOG.md new/htaglib-1.1.1/CHANGELOG.md
--- old/htaglib-1.0.4/CHANGELOG.md 2016-09-10 12:48:20.000000000 +0200
+++ new/htaglib-1.1.1/CHANGELOG.md 2017-05-22 16:18:11.000000000 +0200
@@ -1,3 +1,12 @@
+## HTagLib 1.1.1
+
+* Improved/updated documentation and metadata.
+
+## HTagLib 1.1.0
+
+* Made `getTags`, `getTags'`, `setTags`, and `setTags'` callable from any
+ instance of `MonadIO`, not only `IO`.
+
## HTagLib 1.0.4
* Re-wrote the test suite with Hspec.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/LICENSE.md new/htaglib-1.1.1/LICENSE.md
--- old/htaglib-1.0.4/LICENSE.md 2016-01-03 12:19:32.000000000 +0100
+++ new/htaglib-1.1.1/LICENSE.md 2017-01-27 21:18:50.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright © 2015–2016 Mark Karpov
+Copyright © 2015–2017 Mark Karpov
All rights reserved.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/README.md new/htaglib-1.1.1/README.md
--- old/htaglib-1.0.4/README.md 2016-04-12 10:43:20.000000000 +0200
+++ new/htaglib-1.1.1/README.md 2017-05-22 15:47:10.000000000 +0200
@@ -8,6 +8,7 @@
[![Coverage Status](https://coveralls.io/repos/mrkkrp/htaglib/badge.svg?branch=master&service=github)](https://coveralls.io/github/mrkkrp/htaglib?branch=master)
* [Alternatives](#alternatives)
+* [A note for FLAC users](#a-note-for-flac-users)
* [Quick start](#quick-start)
* [Reading meta data](#reading-meta-data)
* [Writing meta data](#writing-meta-data)
@@ -15,8 +16,7 @@
* [License](#license)
This is Haskell bindings to [TagLib](https://taglib.github.io/), library for
-reading and editing meta-data of several popular audio formats. This library
-is easy to use and type-safe.
+reading and editing meta-data of several popular audio formats.
It works with the following formats:
@@ -30,7 +30,7 @@
* MP4
* ASF
-This happens in abstract, uniform way, so you don't need to handle any
+This happens in an abstract, uniform way, so you don't need to handle any
low-level details. As a consequence, it's currently not possible to work
with format-specific functionality.
@@ -45,12 +45,20 @@
abstractions, not really type-safe. I personally don't want to use them, so
I wrote this.
+## A note for FLAC users
+
+If you want to work with FLAC, there is
+a [complete Haskell binding](https://github.com/mrkkrp/flac) to
+`libFLAC`—reference FLAC implementation. It allows to work with all FLAC
+metadata (read and write) and also provides Haskell API to stream encoder
+and stream decoder. Please prefer that package if you don't need to work
+with other audio formats.
+
## Quick start
First, since this is bindings to C-interface of the library, you'll need to
-install the library itself. If you're on Unix-like system, chances are
-you'll have it in official repositories of your distro. Users of other
-systems should also be able to install it without particular pain.
+install the library itself. If you're on a Unix-like system, chances are
+you'll have it in the official repositories of your distro.
After installation of the library, install `htaglib` package using Cabal or
Stack (recommended):
@@ -86,8 +94,8 @@
data, so it's more difficult to use track title in lieu of track artist, for
example. Meta data that is represented by strings also has smart
constructors, they replace zero bytes with spaces, this is necessary to
-avoid troubles when your Haskell strings go to C-level (well, zero-bytes in
-strings is rather edge case, but it should be mentioned). Of course,
+avoid troubles when your Haskell strings go to the C-level (well, zero-bytes
+in strings is rather edge case, but it should be mentioned). Of course,
`Title`, `Artist`, `Album`, `Comment`, and `Genre` all are instances of
`IsString`, so just turn on `OverloadedStrings` and you can use normal
string literals to create data of these types.
@@ -146,7 +154,8 @@
of seconds as an integer. This means that if you want to calculate total
duration, you'll have slightly incorrect result. Proper solution is to
extract duration as floating-point number, for that we recommend bindings to
-`libsndfile` — [`hsndfile`](https://hackage.haskell.org/package/hsndfile).
+`libsndfile`—[`hsndfile`](https://hackage.haskell.org/package/hsndfile) (or
+the above-mentioned `flac` package for Haskell if you work with FLAC).
### Writing meta data
@@ -173,8 +182,7 @@
print track
```
-This code loads file and changes “title” and “artist” meta data
-fields.
+This code loads file and changes “title” and “artist” meta data fields.
## Conclusion
@@ -185,6 +193,6 @@
## License
-Copyright © 2015–2016 Mark Karpov
+Copyright © 2015–2017 Mark Karpov
Distributed under BSD 3 clause license.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/Sound/HTagLib/Getter.hs new/htaglib-1.1.1/Sound/HTagLib/Getter.hs
--- old/htaglib-1.0.4/Sound/HTagLib/Getter.hs 2016-01-03 12:18:44.000000000 +0100
+++ new/htaglib-1.1.1/Sound/HTagLib/Getter.hs 2017-05-22 15:51:59.000000000 +0200
@@ -1,13 +1,13 @@
-- |
-- Module : Sound.HTagLib.Getter
--- Copyright : © 2015–2016 Mark Karpov
+-- Copyright : © 2015–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
--- High-level applicative interface for reading of audio meta data. You
+-- A high-level applicative interface for reading of audio meta data. You
-- don't need to import this module directly, import "Sound.HTagLib"
-- instead.
@@ -32,15 +32,16 @@
, channelsGetter )
where
+import Control.Monad.IO.Class
import Sound.HTagLib.Type
import qualified Sound.HTagLib.Internal as I
#if !MIN_VERSION_base(4,8,0)
-import Control.Applicative (Applicative, (<$>), (<*>), pure)
+import Control.Applicative
#endif
--- | This type represents composable entity that can be used with 'getTags'
--- or 'getTags'' functions to read batch of meta parameters.
+-- | A composable entity that can be used with 'getTags' or 'getTags''
+-- functions to read batch of meta parameters.
newtype TagGetter a = TagGetter { runGetter :: I.FileId -> IO a }
@@ -56,35 +57,35 @@
-- | @getTags path g@ will try to read file located at @path@ and read meta
-- data of the file using getter @g@. Type of file will be guessed from its
-- extension. If this is not satisfactory and you want to explicitly specify
--- file type, see 'getTags'' variation of this function.
+-- the file type, see 'getTags'' variation of this function.
--
--- In case of trouble 'I.HTagLibException' will be thrown.
+-- In the case of trouble 'I.HTagLibException' will be thrown.
-getTags
- :: FilePath -- ^ Path to audio file
+getTags :: MonadIO m
+ => FilePath -- ^ Path to audio file
-> TagGetter a -- ^ Getter
- -> IO a -- ^ Extracted data
+ -> m a -- ^ Extracted data
getTags path = execGetter path Nothing
-- | This is essentially the same as 'getTags', but allows to explicitly
--- choose file type (see 'I.FileType').
+-- choose file type (see 'FileType').
-getTags'
- :: FilePath -- ^ Path to audio file
+getTags' :: MonadIO m
+ => FilePath -- ^ Path to audio file
-> FileType -- ^ Type of audio file
-> TagGetter a -- ^ Getter
- -> IO a -- ^ Extracted data
+ -> m a -- ^ Extracted data
getTags' path t = execGetter path (Just t)
-- | This is the most general way to read meta data from file. 'getTags' and
-- 'getTags'' are just wrappers around the function.
-execGetter
- :: FilePath -- ^ Path to audio file
+execGetter :: MonadIO m
+ => FilePath -- ^ Path to audio file
-> Maybe FileType -- ^ Type of audio file (if known)
-> TagGetter a -- ^ Getter
- -> IO a -- ^ Extracted data
-execGetter path t = I.withFile path t . runGetter
+ -> m a -- ^ Extracted data
+execGetter path t = liftIO . I.withFile path t . runGetter
-- | Getter to retrieve track title.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/Sound/HTagLib/Internal.hs new/htaglib-1.1.1/Sound/HTagLib/Internal.hs
--- old/htaglib-1.0.4/Sound/HTagLib/Internal.hs 2016-09-03 12:21:17.000000000 +0200
+++ new/htaglib-1.1.1/Sound/HTagLib/Internal.hs 2017-05-22 15:52:53.000000000 +0200
@@ -1,9 +1,9 @@
-- |
-- Module : Sound.HTagLib.Internal
--- Copyright : © 2015–2016 Mark Karpov
+-- Copyright : © 2015–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
@@ -68,6 +68,7 @@
newtype FileId = FileId (Ptr TagLibFile)
+----------------------------------------------------------------------------
-- Misc
foreign import ccall unsafe "taglib/tag_c.h taglib_set_string_management_enabled"
@@ -96,6 +97,7 @@
foreign import ccall unsafe "taglib/tag_c.h taglib_file_save"
c_taglib_file_save :: Ptr TagLibFile -> IO CInt
+----------------------------------------------------------------------------
-- Tag API
foreign import ccall unsafe "taglib/tag_c.h taglib_tag_title"
@@ -140,6 +142,7 @@
foreign import ccall unsafe "taglib/tag_c.h taglib_tag_set_track"
c_taglib_tag_set_track :: Ptr TagLibTag -> CUInt -> IO ()
+----------------------------------------------------------------------------
-- Audio properties API
foreign import ccall unsafe "taglib/tag_c.h taglib_audioproperties_length"
@@ -154,14 +157,13 @@
foreign import ccall unsafe "taglib/tag_c.h taglib_audioproperties_channels"
c_taglib_properties_channels :: Ptr TagLibProperties -> IO CInt
+----------------------------------------------------------------------------
-- Special convenience ID3v2 functions
foreign import ccall unsafe "taglib/tag_c.h taglib_id3v2_set_default_text_encoding"
c_taglib_id3v2_set_default_text_encoding :: CInt -> IO ()
--- Wrappers. Here we prepare a little higher-level interface that will be
--- used by the rest of the library.
-
+----------------------------------------------------------------------------
-- File API
-- | Open audio file and return its ID (an opaque type that the rest of
@@ -212,6 +214,7 @@
unless success $
throw (T.SavingFailed path)
+----------------------------------------------------------------------------
-- Tag API
-- | Get title tag associated with file.
@@ -284,6 +287,7 @@
setTrackNumber :: Maybe T.TrackNumber -> FileId -> IO ()
setTrackNumber v = setIntValue c_taglib_tag_set_track (T.unTrackNumber <$> v)
+----------------------------------------------------------------------------
-- Audio properties API
-- | Get duration of track associated with file.
@@ -310,6 +314,7 @@
getChannels = fmap (fromJust . T.mkChannels)
. getIntProperty c_taglib_properties_channels
+----------------------------------------------------------------------------
-- Special convenience ID3v2 functions
-- | Set the default encoding for ID3v2 frames that are written to tags.
@@ -317,6 +322,7 @@
id3v2SetEncoding :: T.ID3v2Encoding -> IO ()
id3v2SetEncoding = c_taglib_id3v2_set_default_text_encoding . enumToCInt
+----------------------------------------------------------------------------
-- Helpers
getStrValue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/Sound/HTagLib/Setter.hs new/htaglib-1.1.1/Sound/HTagLib/Setter.hs
--- old/htaglib-1.0.4/Sound/HTagLib/Setter.hs 2016-01-03 12:18:46.000000000 +0100
+++ new/htaglib-1.1.1/Sound/HTagLib/Setter.hs 2017-05-22 15:52:36.000000000 +0200
@@ -1,13 +1,13 @@
-- |
-- Module : Sound.HTagLib.Setter
--- Copyright : © 2015–2016 Mark Karpov
+-- Copyright : © 2015–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
--- High-level interface for writing audio meta data. You don't need to
+-- A high-level interface for writing audio meta data. You don't need to
-- import this module directly, import "Sound.HTagLib" instead.
{-# LANGUAGE CPP #-}
@@ -29,6 +29,7 @@
where
import Control.Applicative ((<|>))
+import Control.Monad.IO.Class
import Data.Foldable (forM_)
import Sound.HTagLib.Type
import qualified Sound.HTagLib.Internal as I
@@ -37,8 +38,8 @@
import Data.Monoid
#endif
--- | Composable entity that can be used together with 'setTags' or
--- 'setTags'' to write meta data to audio file.
+-- | A composable entity that can be used together with the 'setTags' or the
+-- 'setTags'' functions to write meta data to an audio file.
--
-- Note that in case of (for example):
--
@@ -73,38 +74,38 @@
, sdYear = f sdYear
, sdTrackNumber = f sdTrackNumber }
--- | Set tags in specified file using given setter.
+-- | Set tags in specified file using the given setter.
--
--- In case of trouble 'I.HTagLibException' will be thrown.
+-- In the case of trouble 'I.HTagLibException' will be thrown.
-setTags
- :: FilePath -- ^ Path to audio file
+setTags :: MonadIO m
+ => FilePath -- ^ Path to audio file
-> Maybe ID3v2Encoding -- ^ Encoding for ID3v2 frames
-> TagSetter -- ^ Setter
- -> IO ()
+ -> m ()
setTags path enc = execSetter path enc Nothing
-- | Similar to 'setTags', but you can also specify type of audio file
-- explicitly (otherwise it's guessed from file extension).
-setTags'
- :: FilePath -- ^ Path to audio file
+setTags' :: MonadIO m
+ => FilePath -- ^ Path to audio file
-> Maybe ID3v2Encoding -- ^ Encoding for ID3v2 frames
-> FileType -- ^ Type of audio file
-> TagSetter -- ^ Setter
- -> IO ()
+ -> m ()
setTags' path enc t = execSetter path enc (Just t)
-- | The most general way to set meta data. 'setTags' and 'setTags'' are
-- just wrappers around this function.
-execSetter
- :: FilePath -- ^ Path to audio file
+execSetter :: MonadIO m
+ => FilePath -- ^ Path to audio file
-> Maybe ID3v2Encoding -- ^ Encoding for ID3v2 frames
-> Maybe FileType -- ^ Type of audio file (if known)
-> TagSetter -- ^ Setter
- -> IO ()
-execSetter path enc t TagSetter {..} = I.withFile path t $ \fid -> do
+ -> m ()
+execSetter path enc t TagSetter {..} = liftIO . I.withFile path t $ \fid -> do
forM_ enc I.id3v2SetEncoding
let writeTag x f = forM_ x (`f` fid)
writeTag sdTitle I.setTitle
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/Sound/HTagLib/Type.hs new/htaglib-1.1.1/Sound/HTagLib/Type.hs
--- old/htaglib-1.0.4/Sound/HTagLib/Type.hs 2016-04-06 14:41:02.000000000 +0200
+++ new/htaglib-1.1.1/Sound/HTagLib/Type.hs 2017-05-22 15:48:52.000000000 +0200
@@ -1,9 +1,9 @@
-- |
-- Module : Sound.HTagLib.Type
--- Copyright : © 2015–2016 Mark Karpov
+-- Copyright : © 2015–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
@@ -242,8 +242,8 @@
atLeast a b = if b >= a then Just b else Nothing
-- | Types of files TagLib can work with. This may be used to explicitly
--- specify type of file rather than relying on TagLib ability to guess type
--- of file from its extension.
+-- specify type of file instead of relying on the TagLib's ability to guess
+-- type of file from its extension.
data FileType
= MPEG -- ^ MPEG
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/Sound/HTagLib.hs new/htaglib-1.1.1/Sound/HTagLib.hs
--- old/htaglib-1.0.4/Sound/HTagLib.hs 2016-09-03 12:34:48.000000000 +0200
+++ new/htaglib-1.1.1/Sound/HTagLib.hs 2017-05-22 15:47:40.000000000 +0200
@@ -1,18 +1,42 @@
-- |
-- Module : Sound.HTagLib
--- Copyright : © 2015–2016 Mark Karpov
+-- Copyright : © 2015–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
--- This module includes complete high-level interface to TagLib. This is the
--- module you should import to use in your projects.
+-- This module provides a complete high-level interface to TagLib. This is
+-- the module you should import to use in your projects.
module Sound.HTagLib
- ( -- * Data types
- Title
+ ( -- * Getters
+ getTags
+ , getTags'
+ , titleGetter
+ , artistGetter
+ , albumGetter
+ , commentGetter
+ , genreGetter
+ , yearGetter
+ , trackNumberGetter
+ , durationGetter
+ , bitRateGetter
+ , sampleRateGetter
+ , channelsGetter
+ -- * Setters
+ , setTags
+ , setTags'
+ , titleSetter
+ , artistSetter
+ , albumSetter
+ , commentSetter
+ , genreSetter
+ , yearSetter
+ , trackNumberSetter
+ -- * Data types
+ , Title
, mkTitle
, unTitle
, Artist
@@ -47,33 +71,9 @@
, unChannels
, FileType (..)
, ID3v2Encoding (..)
- , HTagLibException (..)
- -- * Getters
, TagGetter
- , getTags
- , getTags'
- , titleGetter
- , artistGetter
- , albumGetter
- , commentGetter
- , genreGetter
- , yearGetter
- , trackNumberGetter
- , durationGetter
- , bitRateGetter
- , sampleRateGetter
- , channelsGetter
- -- * Setters
, TagSetter
- , setTags
- , setTags'
- , titleSetter
- , artistSetter
- , albumSetter
- , commentSetter
- , genreSetter
- , yearSetter
- , trackNumberSetter )
+ , HTagLibException (..) )
where
import Sound.HTagLib.Getter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/htaglib.cabal new/htaglib-1.1.1/htaglib.cabal
--- old/htaglib-1.0.4/htaglib.cabal 2016-09-10 12:49:04.000000000 +0200
+++ new/htaglib-1.1.1/htaglib.cabal 2017-05-22 16:18:39.000000000 +0200
@@ -1,42 +1,11 @@
---
--- Cabal config for HTagLib.
---
--- Copyright © 2015–2016 Mark Karpov
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
--- this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
--- notice, this list of conditions and the following disclaimer in the
--- documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
--- to endorse or promote products derived from this software without
--- specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
name: htaglib
-version: 1.0.4
+version: 1.1.1
cabal-version: >= 1.10
+tested-with: GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1
license: BSD3
license-file: LICENSE.md
-author: Mark Karpov
-maintainer: Mark Karpov
+author: Mark Karpov
+maintainer: Mark Karpov
homepage: https://github.com/mrkkrp/htaglib
bug-reports: https://github.com/mrkkrp/htaglib/issues
category: Sound, Foreign
@@ -55,9 +24,10 @@
default: False
library
- build-depends: base >= 4.7 && < 5.0
- , bytestring >= 0.9 && < 0.11
- , text >= 1.0 && < 1.3
+ build-depends: base >= 4.7 && < 5.0
+ , bytestring >= 0.9 && < 0.11
+ , text >= 1.0 && < 1.3
+ , transformers >= 0.4 && < 0.6
extra-libraries: tag_c
exposed-modules: Sound.HTagLib
, Sound.HTagLib.Type
@@ -82,10 +52,10 @@
, Sound.HTagLib.SetterSpec
, Sound.HTagLib.Test.Util
build-depends: base >= 4.7 && < 5.0
- , directory >= 1.2 && < 1.3
+ , directory >= 1.2 && < 1.4
, filepath >= 1.4 && < 2.0
, hspec >= 2.0 && < 3.0
- , htaglib >= 1.0.4
+ , htaglib
default-extensions:
CPP
default-language: Haskell2010
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/tests/Sound/HTagLib/GetterSpec.hs new/htaglib-1.1.1/tests/Sound/HTagLib/GetterSpec.hs
--- old/htaglib-1.0.4/tests/Sound/HTagLib/GetterSpec.hs 2016-09-10 11:58:45.000000000 +0200
+++ new/htaglib-1.1.1/tests/Sound/HTagLib/GetterSpec.hs 2017-05-22 15:53:46.000000000 +0200
@@ -1,35 +1,3 @@
---
--- HTagLib tests, testing of getters.
---
--- Copyright © 2015–2016 Mark Karpov
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
--- this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
--- notice, this list of conditions and the following disclaimer in the
--- documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
--- to endorse or promote products derived from this software without
--- specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
module Sound.HTagLib.GetterSpec (spec) where
import Sound.HTagLib
@@ -37,7 +5,7 @@
import Test.Hspec
#if !MIN_VERSION_base(4,8,0)
-import Control.Applicative ((<$>))
+import Control.Applicative
#endif
spec :: Spec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/tests/Sound/HTagLib/SetterSpec.hs new/htaglib-1.1.1/tests/Sound/HTagLib/SetterSpec.hs
--- old/htaglib-1.0.4/tests/Sound/HTagLib/SetterSpec.hs 2016-09-10 12:01:36.000000000 +0200
+++ new/htaglib-1.1.1/tests/Sound/HTagLib/SetterSpec.hs 2017-05-22 15:53:50.000000000 +0200
@@ -1,35 +1,3 @@
---
--- HTagLib tests, testing of Setters.
---
--- Copyright © 2015–2016 Mark Karpov
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
--- this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
--- notice, this list of conditions and the following disclaimer in the
--- documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
--- to endorse or promote products derived from this software without
--- specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
{-# LANGUAGE OverloadedStrings #-}
module Sound.HTagLib.SetterSpec (spec) where
@@ -41,7 +9,7 @@
import Test.Hspec
#if !MIN_VERSION_base(4,8,0)
-import Control.Applicative ((<$>))
+import Control.Applicative
#endif
spec :: Spec
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/htaglib-1.0.4/tests/Sound/HTagLib/Test/Util.hs new/htaglib-1.1.1/tests/Sound/HTagLib/Test/Util.hs
--- old/htaglib-1.0.4/tests/Sound/HTagLib/Test/Util.hs 2016-09-10 11:56:15.000000000 +0200
+++ new/htaglib-1.1.1/tests/Sound/HTagLib/Test/Util.hs 2017-05-22 15:53:40.000000000 +0200
@@ -1,35 +1,3 @@
---
--- HTagLib tests, utility definitions.
---
--- Copyright © 2015–2016 Mark Karpov
---
--- Redistribution and use in source and binary forms, with or without
--- modification, are permitted provided that the following conditions are
--- met:
---
--- * Redistributions of source code must retain the above copyright notice,
--- this list of conditions and the following disclaimer.
---
--- * Redistributions in binary form must reproduce the above copyright
--- notice, this list of conditions and the following disclaimer in the
--- documentation and/or other materials provided with the distribution.
---
--- * Neither the name Mark Karpov nor the names of contributors may be used
--- to endorse or promote products derived from this software without
--- specific prior written permission.
---
--- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS “AS IS” AND ANY
--- EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
--- WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
--- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
--- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
--- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
--- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
--- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
--- STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
--- ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
--- POSSIBILITY OF SUCH DAMAGE.
-
{-# LANGUAGE OverloadedStrings #-}
module Sound.HTagLib.Test.Util
@@ -47,7 +15,7 @@
import Test.Hspec
#if !MIN_VERSION_base(4,8,0)
-import Control.Applicative ((<$>), (<*>), pure)
+import Control.Applicative
#endif
data AudioTags = AudioTags