135 Commits

Author SHA1 Message Date
Mark Karpov e02c3682bd Test with GHC 9.10.3 2025-10-29 16:14:32 +01:00
Mark Karpov 2ebb441881 Version bump (2.2.1) 2025-06-02 16:59:32 +02:00
Mark Karpov 24b23fbbc2 Version bump (2.2.0) 2025-05-25 22:19:14 +02:00
Mark Karpov dbb3614426 Test with GHC 9.12.1 2025-04-15 17:20:48 +02:00
Mark Karpov f577f2c4fa Allow time-1.14 2025-03-20 13:06:18 +01:00
Mark Karpov 0d1b117a14 Test with GHC 9.10.1 2025-01-21 13:33:08 +01:00
Mark Karpov ee1d1440a3 Allow containers-0.7 2024-10-29 13:44:21 +01:00
Mark Karpov 78556c982c Allow filepath-1.5 2024-10-28 15:23:21 +01:00
Mark Karpov c0bf12ce2c Version bump (2.1.0) 2024-06-19 20:20:13 +02:00
Patrick Chilton 708a49146c Expose internal modules 2024-06-19 20:19:24 +02:00
Mark Karpov 63779b106a Improve the test suite to catch cases like issue 111 2024-04-20 21:00:47 +02:00
Mark Karpov 0b42c46077 Version bump (2.0.1) 2024-04-20 09:39:05 +02:00
Mark Karpov 63a355332e Allow bytestring-0.12 2024-01-01 12:10:48 +01:00
Mark Karpov 200fb6928d Test with GHC 9.8.1, drop 9.2.x 2023-10-22 12:48:07 +02:00
Mark Karpov 00fe45458f Test with GHC 9.4.7 2023-09-21 21:35:33 +02:00
Mark Karpov fdeceeeca7 Test with GHC 9.4.5 2023-06-29 21:17:07 +02:00
Mark Karpov 70266eda9b Test with GHC 9.2.8 and 9.6.2 2023-06-28 23:04:22 +02:00
Mark Karpov 2afe92d731 Test with GHC 9.2.7 and 9.6.1 2023-06-24 11:58:51 +02:00
Mark Karpov 4f16086219 Modernize GHC flags 2023-06-24 11:58:51 +02:00
Mark Karpov 1848e8b3f9 Switch to GHC2021 2023-06-24 11:58:51 +02:00
Mark Karpov 9b0db30f6f Allow transformers-0.6 2023-06-20 18:33:27 +02:00
Mark Karpov 61bd060e20 Version bump (2.0.0) 2023-04-27 16:43:37 +02:00
Mark Karpov afc12cf10a Test with GHC 9.2.5 and 9.4.4 2023-02-09 08:49:46 +01:00
Mark Karpov 667b2419e3 Allow unix-2.8 2022-12-21 16:36:09 +01:00
Mark Karpov dc9690dd5f Allow resourcet-1.3 2022-10-24 10:12:16 +02:00
Mark Karpov f7dcab5238 Test with GHC 9.2.4 and 9.4.1 + misc updates 2022-08-18 18:36:11 +02:00
ˌbodʲɪˈɡrʲim 546f806731 Allow text-2.0 2022-04-19 21:29:06 +02:00
Mark Karpov 770801e246 Test with 3 latest versions of GHC, update Ormolu 2021-12-04 14:19:02 +01:00
Mark Karpov 2a73746113 Version bump (1.7.2) 2021-10-29 20:35:08 +02:00
Mark Karpov bc10b93466 Allow time-1.12 2021-08-07 10:32:32 +02:00
Mark Karpov d7c5b5dc0e Test with GHC 8.10.5 2021-07-14 21:48:50 +02:00
Mark Karpov 1a585173f2 Version bump (1.7.1) 2021-06-06 16:31:02 +02:00
Mark Karpov 892e2fcf59 Test with GHC 9.0.1 and 8.10.4 2021-03-06 18:24:13 +01:00
Mark Karpov d228f0faf6 Version bump (1.7.0) 2021-01-19 11:41:15 +01:00
Alexander Vershilov fc1027caa6 Set file permissions on Unix platforms
Set user permissions on linux platform as follows:

  * if an existing file is added, use its permissions
  * if an entry is generated from a bytestring or a stream, use 0600

This behavior mimics the zip utility.
2021-01-18 23:55:03 +01:00
Mark Karpov 8121748d6a Allow bytestring-0.11 2021-01-04 15:44:29 +01:00
Mark Karpov 1551856589 Test with GHC 8.10.3 2021-01-04 14:45:38 +01:00
Mark Karpov a5ee8022a4 Test with GHC 8.10.2 2020-10-12 20:31:56 +02:00
Mark Karpov 8c49b27a6f Version bump (1.6.0) 2020-09-16 16:23:06 +02:00
Csaba Hruska 7dee54beb6 Add support for Zstandard (zstd) compression method 2020-09-16 16:22:56 +02:00
Mark Karpov 6df7409fa4 Test with GHC 8.8.4 2020-08-22 20:07:51 +02:00
Mark Karpov 227584e4e4 Allow ‘dlist-2.0’ 2020-07-20 11:58:23 +02:00
Mark Karpov b3521f44b1 Format Cabal file ‘cabal format’ 2020-04-23 22:02:03 +02:00
Mark Karpov dc8feff7d1 Raise minimal version of base to 4.12 2020-04-13 12:27:36 +02:00
Mark Karpov ddf684a0c4 Version bump (1.5.0)
[skip ci]
2020-04-12 12:08:01 +02:00
Mark Karpov 7302f4fb26 Test with GHC 8.10.1 2020-04-12 11:49:56 +02:00
Mark Karpov dddc3a83b9 Version bump (1.4.1)
[skip ci]
2020-03-16 20:27:11 +01:00
Mark Karpov 090e589391 Version bump (1.4.0)
[skip ci]
2020-03-11 20:36:12 +01:00
Alexander Vershilov 26b5746cbe Introduce helpers for setting permissions
It was very hard to set permissions using this library, as the permissions
were not properly documented. Here we try to solve the problem in 2 ways:

1. We add a low level documentation that explains how to work with
   permissions.
2. We introduce unix specific helpers that allow to describe permissions in
   a human readable way.

Unfortunately making those helpers OS agnostic is a pretty hard task we
enable them only on the Unix platforms.
2020-03-11 20:35:34 +01:00
Alexander Vershilov 72970d9e47 Add OS version to the required/made by versions
As per zip spec we may want to encode host version. This version is used by
e.g. the unzip utility in order to understand how to interpret external
info (type of files and permissions).

Current algorithm is pretty naive, we do not test for all OS versions
supported by zip. Instead we check if we run on windows and put 0 in that
case (MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems). Otherwise we put 3
(UNIX).

This way code works properly on the unix OS, and we keep old behavior for
the other OS.

Note that we didn't change ‘toVersion’ function, as it already masked the
higher byte where OS information was stored.

This code was tested manually by storing archive and then unarchiving it via
unzip. There is no automated test because such test would require external
tools (unzip).
2020-03-11 20:35:34 +01:00