103 Commits

Author SHA1 Message Date
mrkkrp bf7cc41ed5 Version bump 0.1.2 2016-04-09 15:42:21 +07:00
mrkkrp b9c3a52559 Use newer resolver 2016-04-09 15:42:10 +07:00
mrkkrp 93c670fcc5 Calculate “version needed to extract” field
Close #14.

Two new features:

* Added explicit check of “version needed to extract”, so if archive
  uses some advanced features that we do not support yet, parsing fails.

* Value of “version needed to extract” field is now calculated
  dynamically with respect to actually used features, e.g. if you just
  store or deflate a not very big file, ‘2.0’ version will be
  written (previously we wrote ‘4.6’ unconditionally). This is needed to
  avoid scaring tools that can only handle basic Zip archives.
2016-04-09 14:55:44 +07:00
mrkkrp abd0af4efb Update ‘CHANGELOG.md’ 2016-04-06 13:17:58 +06:00
mrkkrp 43fa1f4792 Relax dependency on ‘semigroups’ 2016-04-06 13:07:32 +06:00
mrkkrp 1e7d02215c Fix a typo in description of ‘decodeText’ 2016-03-25 19:45:25 +06:00
mrkkrp d25bb72d29 Version bump 0.1.1 2016-03-21 12:21:45 +06:00
mrkkrp f1a34a1761 Update ‘CHANGELOG.md’ 2016-03-13 13:22:37 +06:00
Michael Thompson c108d12569 Update CP437.hs
One is supposed to accumulate a builder with a right fold:

 https://www.reddit.com/r/haskell/comments/35udfy/fixing_an_aeson_performance_bug_sometimes_the_old/cr94pdj

I skipped that with this attempt, which unfolds the text directly. It
seems 10 or more times as fast if I send /usr/share/dict/words through
it. ‘unfoldrN’ is a pretty strong function with text since it is
basically just replicates to the stream representation.
2016-03-05 23:54:03 +06:00
mrkkrp 8ac5c5c362 Add upper bounds and other
Close #10.
2016-03-04 17:11:09 +06:00
mrkkrp 7fef123c7f Speed-up tests for newer versions of ‘filepath’ 0.1.0 2016-03-04 10:42:19 +06:00
mrkkrp 26cfc197a2 Add missing word in docs 2016-03-03 21:51:14 +06:00
mrkkrp ec18d1cd3b Fix some tests 2016-03-03 21:51:11 +06:00
mrkkrp 84e1d6f8bc Use ‘travis_wait’
So Travis won't stop us thinking that something is wrong. It seems to be
impossible to force real-time reporting of test cases with Cabal on
Travis for unknown to me reasons.
2016-03-03 14:24:57 +06:00
mrkkrp 740fe99ab7 Work around a bug in ‘path’ package
‘.’ should not be accepted as valid relative file name, it least in the
context of this package.
2016-03-02 23:22:21 +06:00
mrkkrp aba05b4147 Remove GHC 8 from allowed failures 2016-03-02 22:28:32 +06:00
mrkkrp 0dd3af989f Finish the test suite
Close #1.
2016-03-02 20:37:36 +06:00
mrkkrp 7973103557 Temporarily allow failures for GHC 8.0.1
See: https://ghc.haskell.org/trac/ghc/ticket/11666#ticket
2016-03-02 19:38:13 +06:00
mrkkrp 9ebb986dbe Fix the test failures (dates out of range)
MS DOS time/date format is quite limited in range of dates it can
represent. Here we ensure that all ‘UTCTime’ values we use for testing
are in appropriate range.
2016-03-02 18:22:29 +06:00
mrkkrp 52170ab594 Fix undoing 2016-03-02 17:51:35 +06:00
mrkkrp e4b4585322 Improve documentation of ‘getEntries’ and ‘commit’ 2016-03-02 16:50:54 +06:00
mrkkrp 2548a201c4 Even more tests written… 2016-03-02 16:50:32 +06:00
mrkkrp 7e6d8025f7 Add ‘doesEntryExist’ and ‘getEntryDesc’
Close #7.
2016-03-02 13:49:32 +06:00
mrkkrp c41b7529a7 Fix more bugs revealed by the new tests 2016-03-02 12:58:11 +06:00
mrkkrp cb2e2b0a57 More tests: extra fields, renaming, and deletion 2016-03-02 12:57:43 +06:00
mrkkrp e71dcfa69b Cosmetics and new bug fixes (thanks to new tests) 2016-03-01 21:39:22 +06:00
mrkkrp 9a5c934a12 Add even more tests… 2016-03-01 21:38:24 +06:00
mrkkrp ab80d36aa5 Rename ‘edModified’ → ‘edModTime’ 2016-03-01 18:22:25 +06:00
mrkkrp 2f3d6c6cfa Remove redundant ‘Ord’ constraint 2016-03-01 17:41:26 +06:00
mrkkrp ad24925319 Add a phrase about big files to ‘README.md’ 2016-03-01 17:20:07 +06:00
mrkkrp 167abc349e Fix bug revealed by the new tests 2016-03-01 17:19:52 +06:00
mrkkrp 476bc01518 More tests written 2016-03-01 17:19:46 +06:00
mrkkrp e86bcbcf6d Improve coverage of ‘decodeCP437’ 2016-03-01 10:54:13 +06:00
mrkkrp e18ffd269f Make it pass the tests… 2016-03-01 09:53:17 +06:00
mrkkrp 532e0f00ca More tests written… 2016-03-01 09:53:05 +06:00
mrkkrp a5cfdcf951 Add ‘checkEntry’ function
Close #6.
2016-03-01 09:52:03 +06:00
mrkkrp 3049c2d84d Rename ‘modifyEntries’ → ‘forEntries’ 2016-03-01 09:50:07 +06:00
mrkkrp 24869fe99b Some tests written 2016-02-29 15:21:10 +06:00
mrkkrp 5f562af5c0 Improve ‘needsUnicode’ check in ‘Internal.hs’ 2016-02-29 14:47:43 +06:00
mrkkrp 3d81432d44 Minor cosmetic improvements in docs 2016-02-29 12:16:54 +06:00
mrkkrp da2a508041 Refresh synopsis and description 2016-02-29 11:47:24 +06:00
mrkkrp 99dc0abf18 Improve opening phrase of main module's docs 2016-02-29 00:55:41 +06:00
mrkkrp fcb8e78eb5 Add proper support for CP437
Close #4.
2016-02-28 19:05:06 +06:00
mrkkrp ccde335847 Better typing, limit some values
Close #2.
2016-02-28 16:26:27 +06:00
mrkkrp 13388e4c86 Add ‘modifyEntries’ utility function
Close #5.
2016-02-28 15:41:37 +06:00
mrkkrp 2b054b01fb Various corrections in ‘README.md’ 2016-02-28 13:46:22 +06:00
mrkkrp 26b96440e1 Making low-level machinery less ugly 2016-02-28 01:53:19 +06:00
mrkkrp 593952d89c Make ‘ZipArchive’ instance of ‘MonadIO’
That protection was not very strong anyway, user could do something via
conduit sinks, etc.
2016-02-28 01:01:17 +06:00
mrkkrp a752bedbe4 Improve handling of big files (> 4GB)
Close #3.

This fixes numerous bugs and refactors things a bit. Now the Zip64
feature works flawlessly.
2016-02-27 23:10:33 +06:00
mrkkrp e0fcc6257c Minor improvements in ‘README.md’ file 2016-02-27 12:55:41 +06:00