Hello community,
here is the log from the commit of package ghc-zip for openSUSE:Factory checked in at 2017-06-22 10:39:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-zip (Old)
and /work/SRC/openSUSE:Factory/.ghc-zip.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-zip"
Thu Jun 22 10:39:51 2017 rev:4 rq:504124 version:0.1.11
Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-zip/ghc-zip.changes 2017-05-16 14:47:03.139136355 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-zip.new/ghc-zip.changes 2017-06-22 10:39:51.798103585 +0200
@@ -1,0 +2,5 @@
+Wed May 31 14:05:41 UTC 2017 - psimons@suse.com
+
+- Update to version 0.1.11.
+
+-------------------------------------------------------------------
Old:
----
zip-0.1.10.tar.gz
zip.cabal
New:
----
zip-0.1.11.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ghc-zip.spec ++++++
--- /var/tmp/diff_new_pack.i6iZli/_old 2017-06-22 10:39:52.334028027 +0200
+++ /var/tmp/diff_new_pack.i6iZli/_new 2017-06-22 10:39:52.338027462 +0200
@@ -19,14 +19,13 @@
%global pkg_name zip
%bcond_with tests
Name: ghc-%{pkg_name}
-Version: 0.1.10
+Version: 0.1.11
Release: 0
Summary: Operations on zip archives
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-bzlib-conduit-devel
@@ -69,7 +68,6 @@
%prep
%setup -q -n %{pkg_name}-%{version}
-cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
++++++ zip-0.1.10.tar.gz -> zip-0.1.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/CHANGELOG.md new/zip-0.1.11/CHANGELOG.md
--- old/zip-0.1.10/CHANGELOG.md 2017-04-01 17:44:40.000000000 +0200
+++ new/zip-0.1.11/CHANGELOG.md 2017-05-24 14:41:13.000000000 +0200
@@ -1,3 +1,9 @@
+## Zip 0.1.11
+
+* Minor refactoring.
+
+* Improved documentation and metadata.
+
## Zip 0.1.10
* Made `getEntrySource` polymorphic in terms of the `Source` it returns.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/Codec/Archive/Zip/CP437.hs new/zip-0.1.11/Codec/Archive/Zip/CP437.hs
--- old/zip-0.1.10/Codec/Archive/Zip/CP437.hs 2017-04-01 17:20:59.000000000 +0200
+++ new/zip-0.1.11/Codec/Archive/Zip/CP437.hs 2017-05-24 12:16:31.000000000 +0200
@@ -3,7 +3,7 @@
-- Copyright : © 2016–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/Codec/Archive/Zip/Internal.hs new/zip-0.1.11/Codec/Archive/Zip/Internal.hs
--- old/zip-0.1.10/Codec/Archive/Zip/Internal.hs 2017-04-01 17:36:02.000000000 +0200
+++ new/zip-0.1.11/Codec/Archive/Zip/Internal.hs 2017-05-24 13:26:03.000000000 +0200
@@ -3,7 +3,7 @@
-- Copyright : © 2016–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
@@ -25,6 +25,7 @@
import Control.Applicative (many, (<|>))
import Control.Monad
import Control.Monad.Catch
+import Control.Monad.Trans.Maybe
import Control.Monad.Trans.Resource (ResourceT, runResourceT, MonadResource)
import Data.Bits
import Data.Bool (bool)
@@ -277,10 +278,11 @@
-> Map EntrySelector EntryDescription -- ^ Actual list of entires
-> Seq PendingAction -- ^ Actions that recreate the archive entries
toRecreatingActions path entries = E.foldl' f S.empty (M.keysSet entries)
- where f s e = s |> CopyEntry path e e
+ where
+ f s e = s |> CopyEntry path e e
-- | Transform a collection of 'PendingAction's into 'ProducingActions' and
--- 'EditingActions' — data that describes how to create resulting archive.
+-- 'EditingActions'—data that describes how to create resulting archive.
optimize
:: Seq PendingAction -- ^ Collection of pending actions
@@ -803,7 +805,10 @@
done = pos <= limit
if sig == 0x06054b50
then do
- result <- checkComment pos >>+ checkCDSig >>+ checkZip64
+ result <- runMaybeT $
+ MaybeT (checkComment pos) >>=
+ MaybeT . checkCDSig >>=
+ MaybeT . checkZip64
case result of
Nothing -> bool again (return Nothing) done
Just ecd -> return (Just ecd)
@@ -855,13 +860,6 @@
----------------------------------------------------------------------------
-- Helpers
--- | Chain 'Maybe' monad inside 'IO' monad.
-
-infixl 1 >>+
-
-(>>+) :: IO (Maybe a) -> (a -> IO (Maybe b)) -> IO (Maybe b)
-a >>+ b = a >>= maybe (return Nothing) b
-
-- | Rename an entry (key) in a 'Map'.
renameKey :: Ord k => k -> k -> Map k a -> Map k a
@@ -1012,8 +1010,8 @@
month = fromIntegral $ shiftR msDosDate 5 .&. 0x0f
year = 1980 + fromIntegral (shiftR msDosDate 9)
--- | We use the constants of type 'Natural' instead of literals to protect
--- ourselves from overflows on 32 bit systems.
+-- | We use the constants of the type 'Natural' instead of literals to
+-- protect ourselves from overflows on 32 bit systems.
ffff, ffffffff :: Natural
ffff = 0xffff
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/Codec/Archive/Zip/Type.hs new/zip-0.1.11/Codec/Archive/Zip/Type.hs
--- old/zip-0.1.10/Codec/Archive/Zip/Type.hs 2017-04-01 17:26:49.000000000 +0200
+++ new/zip-0.1.11/Codec/Archive/Zip/Type.hs 2017-05-24 15:05:43.000000000 +0200
@@ -3,7 +3,7 @@
-- Copyright : © 2016–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
@@ -83,9 +83,9 @@
instance Show EntrySelector where
show = show . unEntrySelector
--- | Create an 'EntrySelector' from @Path Rel File@. To avoid problems with
--- distribution of the archive, characters that some operating systems do
--- not expect in paths are not allowed. Proper paths should pass these
+-- | Create an 'EntrySelector' from @'Path' 'Rel' 'File'@. To avoid problems
+-- with distribution of the archive, characters that some operating systems
+-- do not expect in paths are not allowed. Proper paths should pass these
-- checks:
--
-- * 'System.FilePath.Posix.isValid'
@@ -93,7 +93,7 @@
-- * binary representation of normalized path should be not longer than
-- 65535 bytes
--
--- This function can throw 'EntrySelectorException' exception.
+-- This function can throw an 'EntrySelectorException'.
mkEntrySelector :: MonadThrow m => Path Rel File -> m EntrySelector
mkEntrySelector path =
@@ -105,14 +105,14 @@
binLength = B.length . T.encodeUtf8 . getEntryName
in if Posix.isValid fp &&
Windows.isValid fp &&
- fp /= "." && -- work around bug in path package
+ fp /= "." && -- work around a bug in the path package
not (null pieces) &&
binLength selector <= 0xffff
then return selector
else throwM (InvalidEntrySelector path)
-- | Make a relative path from 'EntrySelector'. Every 'EntrySelector'
--- produces single @Path Rel File@ that corresponds to it.
+-- produces a single @'Path' 'Rel' 'File'@ that corresponds to it.
unEntrySelector :: EntrySelector -> Path Rel File
unEntrySelector = unES
@@ -122,8 +122,8 @@
parseRelFile
fromJust
libzip 0.10, 0.11, and 1.0 are not binary compatible. If your C library is
0.11.x, then you should use LibZip 0.11. If your C library is 1.0, then
@@ -74,9 +74,9 @@
--- | Get entry name given 'EntrySelector' in the from that is suitable for
--- writing to file header.
+-- | Get an entry name in the from that is suitable for writing to file
+-- header, given an 'EntrySelector'.
getEntryName :: EntrySelector -> Text
getEntryName = unES
@@ -152,7 +152,7 @@
-- | This record represents all information about archive entry that can be
-- stored in a zip archive. It does not mirror local file header or central
-- directory file header, but their binary representation can be built given
--- this date structure and actual archive contents.
+-- this data structure and the actual archive contents.
data EntryDescription = EntryDescription
{ edVersionMadeBy :: Version -- ^ Version made by
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/Codec/Archive/Zip.hs new/zip-0.1.11/Codec/Archive/Zip.hs
--- old/zip-0.1.10/Codec/Archive/Zip.hs 2017-04-01 17:14:32.000000000 +0200
+++ new/zip-0.1.11/Codec/Archive/Zip.hs 2017-05-24 15:19:36.000000000 +0200
@@ -3,7 +3,7 @@
-- Copyright : © 2016–2017 Mark Karpov
-- License : BSD 3 clause
--
--- Maintainer : Mark Karpov
+-- Maintainer : Mark Karpov
-- Stability : experimental
-- Portability : portable
--
@@ -11,13 +11,13 @@
-- There are three things that should be clarified right away, to avoid
-- confusion in the future.
--
--- First, we use 'EntrySelector' type that can be obtained from 'Path' 'Rel'
--- 'File' paths. This method may seem awkward at first, but it will protect
--- you from problems with portability when your archive is unpacked on a
--- different platform. Using of well-typed paths is also something you
--- should consider doing in your projects anyway. Even if you don't want to
--- use the "Path" module in your project, it's easy to marshal 'FilePath' to
--- 'Path' just before using functions from the library.
+-- First, we use the 'EntrySelector' type that can be obtained from 'Path'
+-- 'Rel' 'File' paths. This method may seem awkward at first, but it will
+-- protect you from the problems with portability when your archive is
+-- unpacked on a different platform. Using well-typed paths is also
+-- something you should consider doing in your projects anyway. Even if you
+-- don't want to use the "Path" module in your project, it's easy to marshal
+-- 'FilePath' to 'Path' just before using functions from the library.
--
-- The second thing, that is rather a consequence of the first, is that
-- there is no way to add directories, or to be precise, /empty directories/
@@ -25,15 +25,17 @@
--
-- Finally, the third feature of the library is that it does not modify
-- archive instantly, because doing so on every manipulation would often be
--- inefficient. Instead we maintain collection of pending actions that can
+-- inefficient. Instead we maintain a collection of pending actions that can
-- be turned into an optimized procedure that efficiently modifies archive
-- in one pass. Normally this should be of no concern to you, because all
-- actions are performed automatically when you leave the realm of
--- 'ZipArchive' monad. If, however, you ever need to force update, the
+-- 'ZipArchive' monad. If, however, you ever need to force an update, the
-- 'commit' function is your friend. There are even “undo” functions, by the
-- way.
--
--- An example of a program that prints list of archive entries:
+-- === Examples
+--
+-- An example of a program that prints a list of archive entries:
--
-- > import Codec.Archive.Zip
-- > import Path.IO (resolveFile')
@@ -47,7 +49,7 @@
-- > entries <- withArchive path (M.keys <$> getEntries)
-- > mapM_ print entries
--
--- Create a Zip archive with a Hello World file:
+-- Create a Zip archive with a “Hello World” file:
--
-- > import Codec.Archive.Zip
-- > import Path (parseRelFile)
@@ -61,7 +63,7 @@
-- > s <- parseRelFile "hello-world.txt" >>= mkEntrySelector
-- > createArchive path (addEntry Store "Hello, World!" s)
--
--- Extract contents of specific file and print it:
+-- Extract contents of a specific file and print them:
--
-- > import Codec.Archive.Zip
-- > import Path (parseRelFile)
@@ -163,8 +165,8 @@
-- | Monad that provides context necessary for performing operations on zip
-- archives. It's intentionally opaque and not a monad transformer to limit
--- number of actions that can be performed in it to those provided by this
--- module and their combinations.
+-- the actions that can be performed in it to those provided by this module
+-- and their combinations.
newtype ZipArchive a = ZipArchive
{ unZipArchive :: StateT ZipState IO a
@@ -189,8 +191,8 @@
-- ^ Pending actions
}
--- | Create a new archive given its location and action that describes how
--- to create contents of the archive. This will silently overwrite the
+-- | Create a new archive given its location and an action that describes
+-- how to create contents of the archive. This will silently overwrite the
-- specified file if it already exists. See 'withArchive' if you want to
-- work with an existing archive.
@@ -226,10 +228,10 @@
-- cannot parse (this includes multi-disk archives, for example).
--
-- Please note that entries with invalid (non-portable) file names may be
--- missing in list of entries. Files that are compressed with unsupported
--- compression methods are skipped as well. Also, if several entries would
--- collide on some operating systems (such as Windows, because of its
--- case-insensitivity), only one of them will be available, because
+-- missing in the list of entries. Files that are compressed with
+-- unsupported compression methods are skipped as well. Also, if several
+-- entries would collide on some operating systems (such as Windows, because
+-- of its case-insensitivity), only one of them will be available, because
-- 'EntrySelector' is case-insensitive. These are the consequences of the
-- design decision to make it impossible to create non-portable archives
-- with this library.
@@ -253,11 +255,11 @@
-- Retrieving information
-- | Retrieve description of all archive entries. This is an efficient
--- operation that can be used for example to list all entries in archive. Do
--- not hesitate to use the function frequently: scanning of archive happens
--- only once anyway.
+-- operation that can be used for example to list all entries in an archive.
+-- Do not hesitate to use the function frequently: scanning of archive
+-- happens only once anyway.
--
--- Please note that the returned value only reflects actual contents of
+-- Please note that the returned value only reflects actual contents of the
-- archive in file system, non-committed actions do not influence the list
-- of entries, see 'commit' for more information.
@@ -280,9 +282,9 @@
getEntryDesc :: EntrySelector -> ZipArchive (Maybe EntryDescription)
getEntryDesc s = M.lookup s <$> getEntries
--- | Get contents of specific archive entry as strict 'ByteString'. It's not
--- recommended to use this on big entries, because it will suck out a lot of
--- memory. For big entries, use conduits: 'sourceEntry'.
+-- | Get contents of a specific archive entry as a strict 'ByteString'. It's
+-- not recommended to use this on big entries, because it will suck out a
+-- lot of memory. For big entries, use conduits: 'sourceEntry'.
--
-- Throws: 'EntryDoesNotExist'.
@@ -291,7 +293,7 @@
-> ZipArchive ByteString -- ^ Contents of the entry
getEntry s = sourceEntry s (CL.foldMap id)
--- | Get entry source.
+-- | Get an entry source.
--
-- Throws: 'EntryDoesNotExist'.
--
@@ -334,8 +336,8 @@
saveEntry s path = sourceEntry s (CB.sinkFile (toFilePath path))
-- | Calculate CRC32 check sum and compare it with the value read from the
--- archive. The function returns 'True' when the check sums are the same —
--- that is, the data is not corrupted.
+-- archive. The function returns 'True' when the check sums are the
+-- same—that is, the data is not corrupted.
--
-- Throws: 'EntryDoesNotExist'.
@@ -540,11 +542,11 @@
-- | Archive contents are not modified instantly, but instead changes are
-- collected as “pending actions” that should be committed, in order to
--- efficiently modify archive in one pass. The actions are committed
--- automatically when program leaves the realm of 'ZipArchive' monad (i.e.
--- as part of 'createArchive' or 'withArchive'), or can be forced explicitly
--- with the help of this function. Once committed, changes take place in the
--- file system and cannot be undone.
+-- efficiently modify the archive in one pass. The actions are committed
+-- automatically when the program leaves the realm of 'ZipArchive' monad
+-- (i.e. as part of 'createArchive' or 'withArchive'), or can be forced
+-- explicitly with the help of this function. Once committed, changes take
+-- place in the file system and cannot be undone.
commit :: ZipArchive ()
commit = do
@@ -556,8 +558,8 @@
unless (S.null actions && exists) $ do
liftIO (I.commit file odesc oentries actions)
-- NOTE The most robust way to update internal description of the
- -- archive is to scan it again — manual manipulations with descriptions
- -- of entries are too error-prone. We also want to erase all pending
+ -- archive is to scan it again—manual manipulations with descriptions of
+ -- entries are too error-prone. We also want to erase all pending
-- actions because 'I.commit' executes them all by definition.
(ndesc, nentries) <- liftIO (I.scanArchive file)
ZipArchive . modify $ \st -> st
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/README.md new/zip-0.1.11/README.md
--- old/zip-0.1.10/README.md 2017-04-01 14:44:13.000000000 +0200
+++ new/zip-0.1.11/README.md 2017-05-24 15:29:36.000000000 +0200
@@ -53,7 +53,7 @@
### LibZip
This is a binding to C
-library [`libzip`](https://en.wikipedia.org/wiki/Libzip). There is always
+library [`libzip`](https://en.wikipedia.org/wiki/Libzip). There is always a
certain kind of trouble when you are using bindings. For example, you need
to take care that target library is installed and its version is compatible
with the version of your binding. Yes, this means additional headaches. It
@@ -61,7 +61,7 @@
compatibility.
It's not that bad with libraries that do not break their API for years, but
-it's not the case with `libzip`. As maintainer of `LibZip` puts it:
+it's not the case with `libzip`. As the maintainer of `LibZip` puts it:
the server.
After much frustration with all these things I decided to avoid using of
-`LibZip`, because after all, this is not that sort of project that shouldn't
-be done in pure Haskell. By rewriting this in Haskell, I also can make it
-safer to use.
+`LibZip`, because after all, this is not that sort of a project that
+shouldn't be done in pure Haskell. By rewriting this in Haskell, I also can
+make it safer to use.
### zip-conduit
@@ -102,7 +102,7 @@
* [DEFLATE](https://en.wikipedia.org/wiki/DEFLATE)
* [Bzip2](https://en.wikipedia.org/wiki/Bzip2)
-The best way to add new compression method to the library is to write
+The best way to add a new compression method to the library is to write a
conduit that will do the compression and publish it as a library. `zip` can
then depend on it and add it to the list of supported compression methods.
The current list of compression methods reflects what is available on
@@ -110,9 +110,9 @@
### Encryption
-Encryption is currently not supported. Encryption system described in Zip
-specification is known to be seriously flawed, so it's probably not the best
-way to protect your data anyway. The encryption method seems to be
+Encryption is currently not supported. Encryption system described in the
+.ZIP specification is known to be seriously flawed, so it's probably not the
+best way to protect your data anyway. The encryption method seems to be a
proprietary technology of PKWARE (at least that's what stated about it in
the .ZIP specification), so to hell with it.
@@ -124,13 +124,10 @@
* *File name.* This is an efficient method to perform compression or
decompression. You just specify where to get data or where to save it and
the rest is handled by the library.
-
* *Conduit source or sink.*
-
* *ByteString.* Use it only with small data.
-
* *Copy file from another archive.* An efficient operation, file is copied
- “as is” — no re-compression is performed.
+ “as is”—no re-compression is performed.
### ZIP64
@@ -138,14 +135,12 @@
when anything from this list takes place:
* Total size of archive is greater than 4 GB.
-
* Size of compressed/uncompressed file in archive is greater than 4 GB.
-
* There are more than 65535 entries in archive.
The library is particularly suited for processing of large files. For
example, I've been able to easily create 6.5 GB archive with reasonable
-speed and without any significant memory consumption.
+speed and without significant memory consumption.
### Filenames
@@ -170,13 +165,13 @@
manipulate Zip archives. There are three things that should be clarified
right away, to avoid confusion in the future.
-First, we use `EntrySelector` type that can be obtained from `Path Rel File`
-paths. This method may seem awkward at first, but it will protect you from
-problems with portability when your archive is unpacked on a different
-platform. Using of well-typed paths is also something you should consider
-doing in your projects anyway. Even if you don't want to use the `Path`
-module in your project, it's easy to marshal `FilePath` to `Path` just
-before using functions from the library.
+First, we use the `EntrySelector` type that can be obtained from `Path Rel
+File` paths. This method may seem awkward at first, but it will protect you
+from the problems with portability when your archive is unpacked on a
+different platform. Using well-typed paths is also something you should
+consider doing in your projects anyway. Even if you don't want to use the
+`Path` module in your project, it's easy to marshal `FilePath` to `Path`
+just before using functions from the library.
The second thing, that is rather a consequence of the first, is that there
is no way to add directories, or to be precise, *empty directories* to your
@@ -184,11 +179,11 @@
Finally, the third feature of the library is that it does not modify archive
instantly, because doing so on every manipulation would often be
-inefficient. Instead we maintain collection of pending actions that can be
+inefficient. Instead we maintain a collection of pending actions that can be
turned into an optimized procedure that efficiently modifies archive in one
pass. Normally this should be of no concern to you, because all actions are
performed automatically when you leave the realm of `ZipArchive` monad. If,
-however, you ever need to force update, the `commit` function is your
+however, you ever need to force an update, the `commit` function is your
friend. There are even “undo” functions, by the way.
Let's take a look at some examples that show how to accomplish most typical
@@ -200,20 +195,20 @@
λ> withArchive archivePath (M.keys <$> getEntries)
```
-This will return list of all entries in archive at `archivePath`. It's
-possible to extract contents of archive as strict `ByteString`:
+This will return a list of all entries in the archive at `archivePath`. It's
+possible to extract contents of an entry as a strict `ByteString`:
```haskell
λ> withArchive archivePath (getEntry entrySelector)
```
-…to stream them to given sink:
+…to stream them to a given sink:
```haskell
λ> withArchive archivePath (sourceEntry entrySelector mySink)
```
-…to save specific entry to a file:
+…to save a specific entry to a file:
```haskell
λ> withArchive archivePath (saveEntry entrySelector pathToFile)
@@ -228,7 +223,7 @@
See also `getArchiveComment` and `getArchiveDescription`.
Modifying is also easy, efficient, and powerful. When you want to create a
-new archive use `createArchive`, otherwise `withArchive` will do. To add
+new archive use `createArchive`, otherwise `withArchive` will do. To add an
entry from `ByteString`:
```haskell
@@ -241,7 +236,7 @@
λ> createArchive archivePath (sinkEntry Deflate source entrySelector)
```
-To add contents from some file, use `loadEntry`:
+To add contents from a file, use `loadEntry`:
```haskell
λ> let toSelector = const $ parseRelFile "my-entry.txt" >>= mkEntrySelector
@@ -283,7 +278,7 @@
You can contact the maintainer via
[the issue tracker](https://github.com/mrkkrp/zip/issues).
-We are open to pull requests, they will be merged quickly if they are good!
+Pull requests are also welcome and will be reviewed quickly.
## License
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/tests/Main.hs new/zip-0.1.11/tests/Main.hs
--- old/zip-0.1.10/tests/Main.hs 2017-02-09 19:09:50.000000000 +0100
+++ new/zip-0.1.11/tests/Main.hs 2017-05-24 12:15:46.000000000 +0200
@@ -1,35 +1,3 @@
---
--- Tests for the ‘zip’ package.
---
--- Copyright © 2016–2017 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 FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TemplateHaskell #-}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/zip-0.1.10/zip.cabal new/zip-0.1.11/zip.cabal
--- old/zip-0.1.10/zip.cabal 2017-04-01 17:46:35.000000000 +0200
+++ new/zip-0.1.11/zip.cabal 2017-05-24 15:32:31.000000000 +0200
@@ -1,42 +1,11 @@
---
--- Cabal configuration for ‘zip’.
---
--- Copyright © 2016–2017 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: zip
-version: 0.1.10
+version: 0.1.11
cabal-version: >= 1.10
+tested-with: 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/zip
bug-reports: https://github.com/mrkkrp/zip/issues
category: Codec
@@ -69,7 +38,7 @@
, plan-b >= 0.2 && < 0.3
, resourcet >= 1.0 && < 2.0
, text >= 0.2 && < 1.3
- , time >= 1.4 && < 1.8
+ , time >= 1.4 && < 1.9
, transformers >= 0.4 && < 0.6
if !impl(ghc >= 8.0)
build-depends: semigroups >= 0.16
@@ -104,9 +73,9 @@
, path >= 0.5 && < 6.0
, path-io >= 1.0.1 && < 2.0
, text >= 0.2 && < 1.3
- , time >= 1.4 && < 1.8
+ , time >= 1.4 && < 1.9
, transformers >= 0.4 && < 0.6
- , zip >= 0.1.10
+ , zip
default-language: Haskell2010
source-repository head