packages/directory.git
3 hours agoAllow XDG dirs to be overridden by env vars on Windows master
Phil Ruffwind [Tue, 25 Jun 2019 06:04:16 +0000 (23:04 -0700)] 
Allow XDG dirs to be overridden by env vars on Windows

Fixes #95.

2 days agoBump AppVeyor Stack LTS from 9.6 to 9.21
Phil Ruffwind [Sun, 23 Jun 2019 01:07:59 +0000 (18:07 -0700)] 
Bump AppVeyor Stack LTS from 9.6 to 9.21

2 days agoBump AppVeyor Stack LTS from 2.22 to 4.2
Phil Ruffwind [Sun, 23 Jun 2019 00:55:30 +0000 (17:55 -0700)] 
Bump AppVeyor Stack LTS from 2.22 to 4.2

Seems LTS 2.x and 3.x are too old for Stack.

2 days agoFix AppVeyor Stack builds
Phil Ruffwind [Sat, 22 Jun 2019 23:51:56 +0000 (16:51 -0700)] 
Fix AppVeyor Stack builds

As of Stack v2, overriding Win32 in extra-deps now causes time to get
pruned (#4547), so we have to explicitly override time too.

2 days agoSupport Cabal 3 on Travis
Phil Ruffwind [Sat, 22 Jun 2019 23:25:05 +0000 (16:25 -0700)] 
Support Cabal 3 on Travis

2 days agoFix doc formatting of XdgDirectoryList
Phil Ruffwind [Sat, 22 Jun 2019 21:04:59 +0000 (14:04 -0700)] 
Fix doc formatting of XdgDirectoryList

4 months agoDeclare support for upcoming/unreleased base-4.13
Herbert Valerio Riedel [Fri, 1 Feb 2019 21:42:12 +0000 (22:42 +0100)] 
Declare support for upcoming/unreleased base-4.13

5 months agoFix various documentation formatting bugs
Phil Ruffwind [Fri, 28 Dec 2018 06:37:08 +0000 (22:37 -0800)] 
Fix various documentation formatting bugs

Fixes #90.

6 months agogetXdgDirectory no longer rejects relative paths in env var
Phil Ruffwind [Mon, 17 Dec 2018 07:26:29 +0000 (23:26 -0800)] 
getXdgDirectory no longer rejects relative paths in env var

Fixes #87.

6 months agotestscript: Handle errors in curl
Phil Ruffwind [Fri, 14 Dec 2018 06:37:31 +0000 (22:37 -0800)] 
testscript: Handle errors in curl

6 months agoFix a -Wincomplete-uni-patterns warning
Chaitanya Koparkar [Wed, 12 Dec 2018 16:29:00 +0000 (11:29 -0500)] 
Fix a -Wincomplete-uni-patterns warning

This warning will soon be enabled by -Wall (See Trac #15656).

8 months agoWork around buggy utimensat on Travis OS X
Phil Ruffwind [Tue, 16 Oct 2018 05:27:56 +0000 (22:27 -0700)] 
Work around buggy utimensat on Travis OS X

On the OS X instances of Travis CI, utimensat with mtime = UTIME_OMIT
will set atime to the current time instead of the given time.  This bug
seems to only affect Travis CI OS X but not OS X systems in the wild.

11 months agoDocument limitations of permissions API
Phil Ruffwind [Tue, 17 Jul 2018 06:24:25 +0000 (23:24 -0700)] 
Document limitations of permissions API

Fixes #86.

11 months agoDocument behavior of getXdgDirectory on absolute paths
Phil Ruffwind [Tue, 17 Jul 2018 06:09:44 +0000 (23:09 -0700)] 
Document behavior of getXdgDirectory on absolute paths

Fixes #85.

11 months agoMake doesDirectoryExist and doesPathExist reject empty paths
Phil Ruffwind [Thu, 12 Jul 2018 07:33:53 +0000 (00:33 -0700)] 
Make doesDirectoryExist and doesPathExist reject empty paths

This restores the old behavior prior to 1.3.1.1.

The internals have been refactored to use "simplify" instead of
"normalise", the latter of which is a bit buggy on certain paths,
especially on Windows.  The Windows implementation of
prependCurrentDirectory has been rewritten to use GetFullPathName, which
knows how to handle drive-relative paths better.

The new emptyToCurDir function helps explicitly mark places where empty
paths are accepted.  So far, it is limited to canonicalizePath,
makeAbsolute, the permission functions, and the timestamp functions.

Fixes #84.

12 months agoAdd version comparison tool
Phil Ruffwind [Sun, 3 Jun 2018 00:32:22 +0000 (17:32 -0700)] 
Add version comparison tool

12 months agoForgot to add Safe to other-extensions for tests
Phil Ruffwind [Sun, 3 Jun 2018 00:54:03 +0000 (17:54 -0700)] 
Forgot to add Safe to other-extensions for tests

13 months agocreateSymbolicLinkUnpriv: include unpriv flag when calling API
Phil Ruffwind [Fri, 25 May 2018 17:38:11 +0000 (10:38 -0700)] 
createSymbolicLinkUnpriv: include unpriv flag when calling API

Actually fixes #83.

13 months agoUse SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE if supported
Phil Ruffwind [Wed, 23 May 2018 08:13:01 +0000 (01:13 -0700)] 
Use SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE if supported

Fixes #83.

13 months agoClean up and make coding style more consistent
Phil Ruffwind [Mon, 21 May 2018 02:15:24 +0000 (19:15 -0700)] 
Clean up and make coding style more consistent

13 months agoRefactor and migrate platform-specific details to .Internal.*
Phil Ruffwind [Sun, 20 May 2018 12:07:02 +0000 (05:07 -0700)] 
Refactor and migrate platform-specific details to .Internal.*

  - Migrate POSIX/Windows-specific functions to .Internal.Posix/Windows
  - Migrate generic utility to .Internal.Common
  - Add more helper functions for ListT
  - Migrate getCurrentDirectory from .Internal.Common to System.Directory
  - Migrate lookupEnv to .Internal.Prelude
  - Make System.FilePath exports in System.Directory explicit
  - Clean up preprocessor directives

13 months agoSupport Win32 2.8
Phil Ruffwind [Sat, 5 May 2018 04:22:54 +0000 (21:22 -0700)] 
Support Win32 2.8

14 months agoUpdate changelog for version bump to unix
Phil Ruffwind [Tue, 17 Apr 2018 04:59:15 +0000 (21:59 -0700)] 
Update changelog for version bump to unix

14 months agoBump upper bound on unix to < 2.9
Ryan Scott [Mon, 16 Apr 2018 12:50:16 +0000 (08:50 -0400)] 
Bump upper bound on unix to < 2.9

See https://ghc.haskell.org/trac/ghc/ticket/15042.

14 months agoUpdate changelog for 1.3.2.2
Phil Ruffwind [Wed, 11 Apr 2018 05:11:58 +0000 (22:11 -0700)] 
Update changelog for 1.3.2.2

14 months agoBump upper bound on base to < 4.13 RyanGlScott-patch-1
Ryan Scott [Tue, 10 Apr 2018 11:35:03 +0000 (07:35 -0400)] 
Bump upper bound on base to < 4.13

See https://ghc.haskell.org/trac/ghc/ticket/15018.

15 months agoSupport Win32 2.7
Phil Ruffwind [Sun, 4 Mar 2018 21:11:34 +0000 (13:11 -0800)] 
Support Win32 2.7

16 months agoImplement getXdgDirectoryList
Phil Ruffwind [Fri, 26 Jan 2018 23:33:38 +0000 (18:33 -0500)] 
Implement getXdgDirectoryList

Fixes #78.

16 months agoQuieten AppVeyor
Phil Ruffwind [Sat, 27 Jan 2018 00:42:56 +0000 (19:42 -0500)] 
Quieten AppVeyor

16 months agoSupport time-1.9
Phil Ruffwind [Fri, 26 Jan 2018 22:20:56 +0000 (17:20 -0500)] 
Support time-1.9

20 months agoRename windows.h to windows_ext.h
Phil Ruffwind [Mon, 9 Oct 2017 05:25:44 +0000 (01:25 -0400)] 
Rename windows.h to windows_ext.h

Workaround for https://ghc.haskell.org/trac/ghc/ticket/14312

Fixes #77.

20 months agoUpdate CI testscript
Phil Ruffwind [Tue, 26 Sep 2017 01:10:44 +0000 (21:10 -0400)] 
Update CI testscript

  - Avoid unnecessary rebuild of dependencies caused by the artificial
    separation between "prepare" and "build" (wasn't able to figure out
    what causes Stack to do that)

  - Avoid spurious warnings caused by missing configure and
    HsDirectoryConfig.h.in by running autoreconf earlier

  - Use extra-deps instead of ad hoc approach to override dependencies

  - The previous change requires creating the stack.yaml manually, which
    ends up being simpler than using "stack init" (only downside is that
    you have to specify the full LTS version, not just the major
    version).

  - Remove caching in AppVeyor for now.  Having four jobs means that
    there's not enough room in the cache, apparently causing strange
    build failures due to corrupt cache files being loaded.

  - Refactor the testscript slightly

20 months agoBump version to 1.3.1.4
Phil Ruffwind [Mon, 25 Sep 2017 23:57:31 +0000 (19:57 -0400)] 
Bump version to 1.3.1.4

20 months agoAdd Win32-2.6.0.0 to appveyor.yml
Phil Ruffwind [Mon, 25 Sep 2017 23:01:59 +0000 (19:01 -0400)] 
Add Win32-2.6.0.0 to appveyor.yml

20 months agoUpdate changelog.
Tamar Christina [Mon, 25 Sep 2017 22:08:22 +0000 (23:08 +0100)] 
Update changelog.

20 months agoWin32 2.6 support
Tamar Christina [Mon, 25 Sep 2017 22:03:20 +0000 (23:03 +0100)] 
Win32 2.6 support

21 months agoRelax Win32 bounds to support 2.6
Phil Ruffwind [Sun, 24 Sep 2017 04:10:44 +0000 (00:10 -0400)] 
Relax Win32 bounds to support 2.6

21 months agotools/testscript: avoid unbound variable
Phil Ruffwind [Sat, 16 Sep 2017 03:04:33 +0000 (23:04 -0400)] 
tools/testscript: avoid unbound variable

21 months agoBump version to 1.3.1.2
Phil Ruffwind [Sat, 16 Sep 2017 00:22:09 +0000 (20:22 -0400)] 
Bump version to 1.3.1.2

21 months agoBump upper bound on base
Ben Gamari [Fri, 15 Sep 2017 16:08:06 +0000 (12:08 -0400)] 
Bump upper bound on base

21 months agoWork around broken CI due to commercialhaskell/stack#3213
Phil Ruffwind [Fri, 15 Sep 2017 20:30:44 +0000 (16:30 -0400)] 
Work around broken CI due to commercialhaskell/stack#3213

2 years agoUpdate changelog date
Phil Ruffwind [Tue, 14 Mar 2017 00:20:10 +0000 (20:20 -0400)] 
Update changelog date

2 years agoAbsolutize paths on Windows when possible
Phil Ruffwind [Tue, 7 Mar 2017 12:26:00 +0000 (07:26 -0500)] 
Absolutize paths on Windows when possible

Many Windows API calls will fail if current directory + relative path
exceeds MAX_PATH, so it's better to just use absolute paths for
everything.

This change required moving a few functions into the Common module to
avoid recursive imports.

2 years agoUpdate changelog.md
Phil Ruffwind [Tue, 7 Mar 2017 11:43:27 +0000 (06:43 -0500)] 
Update changelog.md

2 years agoRefactor pathIsSymbolicLink to use Metadata interface
Phil Ruffwind [Tue, 7 Mar 2017 10:38:20 +0000 (05:38 -0500)] 
Refactor pathIsSymbolicLink to use Metadata interface

2 years agomakeAbsolute: handle drive-relative paths
Phil Ruffwind [Tue, 7 Mar 2017 10:24:29 +0000 (05:24 -0500)] 
makeAbsolute: handle drive-relative paths

2 years agoRefactor permissions implementation
Phil Ruffwind [Tue, 7 Mar 2017 09:20:50 +0000 (04:20 -0500)] 
Refactor permissions implementation

Permissions on Windows have been simplified to use the underlying
Windows API calls rather than the pseudo-POSIX interface (which chokes
on long paths).

The metadata API has been extended slightly to allow handling of raw
permission bits (Mode).  Unfortunately, we can't take full advantage of
it because the existing permissions API is really quirky and
inconsistent and we have to maintain compatibility.  It's also unclear
what the ideal mapping between "rwes" and "rwxrwxrwx" should be.

No changes in the semantics of the permissions have been introduced.

2 years agoAdd tests for setPermissions
Phil Ruffwind [Tue, 7 Mar 2017 05:51:51 +0000 (00:51 -0500)] 
Add tests for setPermissions

2 years agoUse fILE_ATTRIBUTE_REPARSE_POINT from Win32 when available
Phil Ruffwind [Tue, 7 Mar 2017 03:51:55 +0000 (22:51 -0500)] 
Use fILE_ATTRIBUTE_REPARSE_POINT from Win32 when available

Could also use createSymbolicLink from Win32, but then it would be hard
figure out what the error code was :/

2 years agoMigrate getFileTimes to the Metadata interface
Phil Ruffwind [Tue, 7 Mar 2017 03:29:08 +0000 (22:29 -0500)] 
Migrate getFileTimes to the Metadata interface

2 years agoRevert long path support for setCurrentDirectory
Phil Ruffwind [Mon, 6 Mar 2017 07:06:03 +0000 (02:06 -0500)] 
Revert long path support for setCurrentDirectory

SetCurrentDirectoryW does not accept long paths even with the \\?\
prefix, despite what the MSDN says.  It's probably best to revert the
change to reduce the risk of breakage.

Still, getCurrentDirectory gets to keep the fromExtendedLengthPath
postprocessing, in case the user sets to a path with \\?\.  The presence
of \\?\ in paths can cause surprises so it's best to strip it.

https://ghc.haskell.org/trac/ghc/ticket/13373#comment:6

2 years agoAdd tests for long path support
Phil Ruffwind [Mon, 6 Mar 2017 07:05:12 +0000 (02:05 -0500)] 
Add tests for long path support

2 years agoRemove withFileStatus to avoid long path restrictions
Phil Ruffwind [Sun, 5 Mar 2017 13:38:04 +0000 (08:38 -0500)] 
Remove withFileStatus to avoid long path restrictions

The implementations have been refactored to use a "Metadata"-based
interface, inspired by the Rust standard library.  It's essentially a
portable version of 'stat'.  So far, this interface will remain
internal, but it might become public someday.

The permissions-related functions still need to be cleaned up, however.
They are one of the last remaining places that do not support long paths
on Windows.

2 years agoBump .cabal version
Phil Ruffwind [Sun, 5 Mar 2017 11:43:01 +0000 (06:43 -0500)] 
Bump .cabal version

2 years agoImprove support for long paths on Windows
Phil Ruffwind [Sun, 5 Mar 2017 11:03:15 +0000 (06:03 -0500)] 
Improve support for long paths on Windows

It's still incomplete.  The main problem seems to be functions that use
the Windows POSIX interface (c_stat).

Testing may be difficult since the file system itself may not support
long paths (e.g. FAT).

Note that if setCurrentDirectory receives \\?\ then getCurrentDirectory
will return the same.  This can break other things if they didn't expect
\\?\, so we will try to strip the prefix if possible.

2 years agoImprove path normalisation on Windows
Phil Ruffwind [Sun, 5 Mar 2017 05:36:19 +0000 (00:36 -0500)] 
Improve path normalisation on Windows

Previously it did not handle ".." properly, nor did it remove extra
slashes after the drive.

2 years agoAdd more canonicalizePath tests
Phil Ruffwind [Thu, 2 Mar 2017 08:22:36 +0000 (03:22 -0500)] 
Add more canonicalizePath tests

2 years agoRe-hide unnecessary internal modules
Phil Ruffwind [Thu, 2 Mar 2017 05:45:53 +0000 (00:45 -0500)] 
Re-hide unnecessary internal modules

The C_utimensat, Posix, and Windows modules are all re-exported in
Internal, so there is no point in exposing those three.

2 years agocanonicalizePath can now resolve broken symlinks
Phil Ruffwind [Thu, 2 Mar 2017 04:04:30 +0000 (23:04 -0500)] 
canonicalizePath can now resolve broken symlinks

Fixes #64.

2 years agoAdd full suite of symbolic link functions
Phil Ruffwind [Wed, 1 Mar 2017 04:17:11 +0000 (23:17 -0500)] 
Add full suite of symbolic link functions

  - createFileLink
  - createDirectoryLink
  - removeDirectoryLink
  - getSymbolicLinkTarget

TestUtils is now slightly simpler as a result.

Also fixed some symlink-related bugs (see changelog).

2 years agoImplement readSymbolicLink for Windows
Phil Ruffwind [Wed, 30 Nov 2016 18:56:55 +0000 (13:56 -0500)] 
Implement readSymbolicLink for Windows

2 years agoMake internal modules visible
Phil Ruffwind [Tue, 28 Feb 2017 09:30:43 +0000 (04:30 -0500)] 
Make internal modules visible

Some of them were already available (as required by tests), but they had
their documentation hidden.  Hackage insists on showing the module names
anyway.

There's not really anything to hide here: the only reason they are
internal is because they have no API stability guarantees, so may as
well just make everything public.  The only exception is Config because
there is nothing useful in there and the presence of exeExtension may
mislead users into thinking that it's not available in the public API.

There is a blank line in C_utimensat and Posix.  They are needed because
hsc's {-# LINE ... #-} pragmas break the Haddock documentation.

2 years agofindFile et al: ignore dirs when abs path is given
Phil Ruffwind [Tue, 28 Feb 2017 06:22:41 +0000 (01:22 -0500)] 
findFile et al: ignore dirs when abs path is given

When an absolute path is given, the list of search directories is now
completely ignored by findFile.  Previously, if the list was empty,
findFile would always fail regardless of whether the absolute path was
found.

This behavior extends to similar functions as well.

Fixes #72.

2 years agoSupport time-1.8 v1.3.0.2
Phil Ruffwind [Wed, 15 Feb 2017 07:13:29 +0000 (02:13 -0500)] 
Support time-1.8

2 years agoWarn about effects of removePathForcibly on hard links
Phil Ruffwind [Thu, 19 Jan 2017 23:18:30 +0000 (18:18 -0500)] 
Warn about effects of removePathForcibly on hard links

2 years agoUpdate changelog for #69
Phil Ruffwind [Fri, 10 Feb 2017 02:35:56 +0000 (21:35 -0500)] 
Update changelog for #69

2 years agoReduce system call overhead of `copyFile` by increasing the buffer size to 128 KiB.
Niklas Hamb├╝chen [Wed, 8 Feb 2017 03:03:27 +0000 (04:03 +0100)] 
Reduce system call overhead of `copyFile` by increasing the buffer size to 128 KiB.

128 KiB is what coreutils `cp` uses, based on a benchmark provided here:
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ioblksize.h?id=c0a79542fb5c2c22cf0a250db94af6f8581ca342#n23

The benchmarks report speedups of factor 5x to 30x depending on
the hardware.

2 years agochangelog.md: 2.5, not 2.6
Phil Ruffwind [Thu, 19 Jan 2017 00:04:12 +0000 (19:04 -0500)] 
changelog.md: 2.5, not 2.6

2 years agoUpdate changelog for previous commit
Phil Ruffwind [Wed, 18 Jan 2017 23:46:23 +0000 (18:46 -0500)] 
Update changelog for previous commit

2 years agoWin32: bump to 2.6
Tamar Christina [Tue, 17 Jan 2017 23:12:05 +0000 (23:12 +0000)] 
Win32: bump to 2.6

2 years agoAdd dependencies status to README
Phil Ruffwind [Sun, 25 Dec 2016 05:28:47 +0000 (00:28 -0500)] 
Add dependencies status to README

2 years agotestscript: Stack on Windows switched back to .zip
Phil Ruffwind [Wed, 21 Dec 2016 08:40:53 +0000 (03:40 -0500)] 
testscript: Stack on Windows switched back to .zip

2 years agochangelog.md: highlight important changes
Phil Ruffwind [Wed, 21 Dec 2016 07:24:16 +0000 (02:24 -0500)] 
changelog.md: highlight important changes

2 years agoPrepend instead of overwrite error locations
Phil Ruffwind [Wed, 30 Nov 2016 06:28:14 +0000 (01:28 -0500)] 
Prepend instead of overwrite error locations

Improve IOError locations by prepending the error location, separated by
a colon.

2 years agocanonicalizePath: Use GetFinalPathName when available
Phil Ruffwind [Tue, 29 Nov 2016 11:48:57 +0000 (06:48 -0500)] 
canonicalizePath: Use GetFinalPathName when available

GetFinalPathName can be used to remove symbolic link indirections in
paths.  It has been available since Windows Vista.

2 years agocanonicalizePath: Canonicalize case on Windows
Phil Ruffwind [Tue, 29 Nov 2016 07:07:45 +0000 (02:07 -0500)] 
canonicalizePath: Canonicalize case on Windows

Use GetShortPathName and GetLongPathName to find the correct letter case
of the path.  This only works on existing paths, so it behaves similar
to realpath on POSIX systems and we can therefore reuse the same trick
codified in attemptRealpath.

2 years agocanonicalizePath: Deref file symlinks even if not last segment
Phil Ruffwind [Tue, 6 Dec 2016 11:55:02 +0000 (06:55 -0500)] 
canonicalizePath: Deref file symlinks even if not last segment

Due to the use of splitPath instead of splitDirectories, this means that
if a symbolic link segment in the middle of the path points to a file,
doesPathExist will report that it does not exist, thus the symbolic link
will not be dereferenced.  The behavior is now changed to dereference as
much as possible.

2 years agoDeduce correct alignment in CTimeSpec using hsc2hs
Phil Ruffwind [Sun, 4 Dec 2016 19:17:20 +0000 (14:17 -0500)] 
Deduce correct alignment in CTimeSpec using hsc2hs

Can't use #{alignment} because that was only added recently (GHC 8.0),
so we have to resort to some trickery.

2 years agoCreate Internal.Prelude module
Phil Ruffwind [Sun, 4 Dec 2016 14:22:40 +0000 (09:22 -0500)] 
Create Internal.Prelude module

Hopefully this will reduce the amount of boilerplate in each module.
The Internal and Internal.Prelude modules are exposed to allow the test
suite to use them as well.

2 years agoRename isSymbolicLink to pathIsSymbolicLink
Phil Ruffwind [Tue, 29 Nov 2016 08:05:59 +0000 (03:05 -0500)] 
Rename isSymbolicLink to pathIsSymbolicLink

A step toward fixing #52.

2 years agoFix AppVeyor
Phil Ruffwind [Sat, 3 Dec 2016 17:53:22 +0000 (12:53 -0500)] 
Fix AppVeyor

Seems that Stack is now distributed via tar.gz instead of zip.

2 years agoUse PREBUILD scripts in CI
Phil Ruffwind [Wed, 30 Nov 2016 03:12:25 +0000 (22:12 -0500)] 
Use PREBUILD scripts in CI

The PREBUILD environment variable is executed as a script before the
build, allowing modifications to configure.ac to emulate missing
features.

2 years agoAdd Win32-2.4.0.0 to appveyor.yml
Phil Ruffwind [Tue, 29 Nov 2016 11:15:24 +0000 (06:15 -0500)] 
Add Win32-2.4.0.0 to appveyor.yml

2 years agoAdd tests for makeAbsolute
Phil Ruffwind [Tue, 29 Nov 2016 03:46:00 +0000 (22:46 -0500)] 
Add tests for makeAbsolute

Precaution to make sure nothing was broken by the previous commit.

2 years agocanonicalizePath: Drop trailing slashes
Phil Ruffwind [Tue, 29 Nov 2016 03:39:46 +0000 (22:39 -0500)] 
canonicalizePath: Drop trailing slashes

After discussion with Duncan Coutts, it was found that the trailing
slash-preserving behavior was actually a bug on Windows.  This means
there is really no reason for the current, somewhat quirky behavior of
preserving trailing slashes.  However, it has been a while since the
change was made, so it would be safer to introduce this as a major
version bump.

The internal prependCurrentDirectory function has been reworked slightly
with regards to the behavior on empty paths, but this not have any
visible effect on the public API since they always end up normalizing
the result of prependCurrentDirectory in some way or another.

Fixes #63.

2 years agoAdd GHC 8.0.1 to CI
Phil Ruffwind [Mon, 28 Nov 2016 07:20:06 +0000 (02:20 -0500)] 
Add GHC 8.0.1 to CI

2 years agoRelax upper bounds on time and Win32
Phil Ruffwind [Mon, 21 Nov 2016 03:01:02 +0000 (22:01 -0500)] 
Relax upper bounds on time and Win32

Fixes #62.

2 years agoBump upper bound on base
Ben Gamari [Tue, 15 Nov 2016 17:53:11 +0000 (12:53 -0500)] 
Bump upper bound on base

2 years agoImprove robustness of removePathForcibly
Phil Ruffwind [Wed, 19 Oct 2016 09:13:22 +0000 (05:13 -0400)] 
Improve robustness of removePathForcibly

Fixes #60.

2 years agoFix CPP usage
Erik de Castro Lopo [Sun, 23 Oct 2016 01:42:59 +0000 (12:42 +1100)] 
Fix CPP usage

The code had a a mixture of `#ifdef mingw32_HOST_OS` and `#if ..`. The
later works, but is not really correct. GHC HEAD now has a `-Wcpp-undef`
warning that we would like to turn on and hence need this fixed.

2 years agoAdd missing "since" annotations
Phil Ruffwind [Thu, 8 Sep 2016 19:49:29 +0000 (15:49 -0400)] 
Add missing "since" annotations

https://github.com/haskell/directory/commit/1ec1ea8e4210d55d8d6e0e5fc8dd543340004b92#commitcomment-18942758

2 years agoCorrect changelog regarding GHC 8.0.1
Phil Ruffwind [Sat, 6 Aug 2016 22:09:41 +0000 (18:09 -0400)] 
Correct changelog regarding GHC 8.0.1

2 years agoAdd removePathForcibly
Phil Ruffwind [Thu, 4 Aug 2016 05:07:30 +0000 (01:07 -0400)] 
Add removePathForcibly

Fixes #59.

2 years agoAdd renamePath
Phil Ruffwind [Thu, 14 Jul 2016 04:31:01 +0000 (00:31 -0400)] 
Add renamePath

Fixes #58.

3 years agoAdd getFileSize
Phil Ruffwind [Mon, 13 Jun 2016 10:56:32 +0000 (06:56 -0400)] 
Add getFileSize

Fixes #57.

3 years agoAdd doesPathExist
Phil Ruffwind [Sun, 12 Jun 2016 04:04:21 +0000 (00:04 -0400)] 
Add doesPathExist

See #57.

3 years agoChange AppVeyor badge to show only master branch
Phil Ruffwind [Sun, 12 Jun 2016 04:41:23 +0000 (00:41 -0400)] 
Change AppVeyor badge to show only master branch

3 years agoRemove deprecated C bits
Phil Ruffwind [Wed, 27 Apr 2016 04:09:45 +0000 (00:09 -0400)] 
Remove deprecated C bits

See also: 7d36863a833c6a69f76d727460f9e8695f2b4dd3

Fixes #50.

3 years agoFix dates in changelog
Simon Jakobi [Sun, 22 May 2016 13:22:18 +0000 (15:22 +0200)] 
Fix dates in changelog

3 years agoUpdate AppVeyor badge in README
Phil Ruffwind [Tue, 10 May 2016 05:26:59 +0000 (01:26 -0400)] 
Update AppVeyor badge in README