update; unix-compat gets some of the way

This commit is contained in:
Joey Hess 2012-02-02 10:56:23 -04:00
parent 33fd49703c
commit 39e887e8e6

View file

@ -1,25 +1,16 @@
short answer: no Can it be built on Windows?
Long answer, quoting from a mail to someone else: short answer: not yet
Well, I can tell you that it assumes a POSIX system, both in available First, you need to get some unix utilities for windows. Git of course.
utilities and system calls, So you'd need to use cygwin or something Also rsync, and a `cp` command that understands at least `cp -p`, and
like that. (Perhaps you already are for git, I think git also assumes a `uuid`, and `xargs` and `sha1sum`. Note that some of these could be
POSIX system.) So you need a Haskell that can target that. What this replaced with haskell libraries to some degree.
page refers to as "GHC-Cygwin":
<http://www.haskell.org/ghc/docs/6.6/html/building/platforms.html>
I don't know where to get one. Did find this:
<http://copilotco.com/mail-archives/haskell-cafe.2007/msg00824.html>
(There are probably also still some places where it assumes / as a path There are probably still some places where it assumes / as a path
separator, although I fixed some. Probably almost all are fixed now.) separator, although I fixed probably almost all by now.
FWIW, git-annex works fine on OS X and other fine proprietary unixen. ;P Then windows versions of these functions could be found,
--[[Joey]]
----
Alternatively, windows versions of these functions could be found,
which are all the ones that need POSIX, I think. A fair amount of this, which are all the ones that need POSIX, I think. A fair amount of this,
the stuff to do with signals and users, could be empty stubs in windows. the stuff to do with signals and users, could be empty stubs in windows.
The file manipulation, particularly symlinks, would probably be the main The file manipulation, particularly symlinks, would probably be the main
@ -63,3 +54,8 @@ sigCHLD
sigINT sigINT
unionFileModes unionFileModes
</pre> </pre>
A good starting point is
<http://hackage.haskell.org/package/unix-compat-0.3.0.1>. However, note
that its implementations of stuff like `createSymbolicLink` are stubs.
--[[Joey]]