summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-01-13 13:55:14 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-01-13 13:55:14 -0400
commitf4ddecd32262e23a255766a51bccecc92f6298ab (patch)
tree5985cc0a074a970682b672b0ba3963a98ea756b8 /doc/todo
parent92b8e2a1b5730be9a1775979e791a5180939e008 (diff)
move windows support to a todo item
not holding my breath on this one..
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/windows_support.mdwn65
1 files changed, 65 insertions, 0 deletions
diff --git a/doc/todo/windows_support.mdwn b/doc/todo/windows_support.mdwn
new file mode 100644
index 000000000..8df792fd6
--- /dev/null
+++ b/doc/todo/windows_support.mdwn
@@ -0,0 +1,65 @@
+short answer: no
+
+Long answer, quoting from a mail to someone else:
+
+Well, I can tell you that it assumes a POSIX system, both in available
+utilities and system calls, So you'd need to use cygwin or something
+like that. (Perhaps you already are for git, I think git also assumes a
+POSIX system.) So you need a Haskell that can target that. What this
+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
+separator, although I fixed some. Probably almost all are fixed now.)
+
+FWIW, git-annex works fine on OS X and other fine proprietary unixen. ;P
+--[[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,
+the stuff to do with signals and users, could be empty stubs in windows.
+The file manipulation, particularly symlinks, would probably be the main
+challenge.
+
+<pre>
+addSignal
+blockSignals
+changeWorkingDirectory
+createLink
+createSymbolicLink
+emptySignalSet
+executeFile
+fileMode
+fileSize
+forkProcess
+getAnyProcessStatus
+getEffectiveUserID
+getEnvDefault
+getFileStatus
+getProcessID
+getProcessStatus
+getSignalMask
+getSymbolicLinkStatus
+getUserEntryForID
+getUserEntryForName
+groupWriteMode
+homeDirectory
+installHandler
+intersectFileModes
+isRegularFile
+isSymbolicLink
+modificationTime
+otherWriteMode
+ownerWriteMode
+readSymbolicLink
+setEnv
+setFileMode
+setSignalMask
+sigCHLD
+sigINT
+unionFileModes
+</pre>