From e82ec616ad55b7484a2b6bcf862f3cd2f70cf379 Mon Sep 17 00:00:00 2001 From: Masahiro Honma Date: Sat, 9 Jan 2016 21:16:02 +0900 Subject: [PATCH 1/2] Enable to build on windows --- gitlib/Git/Tree/Working.hs | 5 +++++ gitlib/gitlib.cabal | 3 +++ hlibgit2/Bindings/Libgit2/Windows.hsc | 1 + 3 files changed, 9 insertions(+) diff --git a/gitlib/Git/Tree/Working.hs b/gitlib/Git/Tree/Working.hs index d2dedef9..c9f350b7 100644 --- a/gitlib/Git/Tree/Working.hs +++ b/gitlib/Git/Tree/Working.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE CPP #-} module Git.Tree.Working where import Control.Applicative @@ -18,7 +19,11 @@ import Data.Time.Clock.POSIX (posixSecondsToUTCTime) import Git hiding (Options) import Prelude hiding (log) import System.FilePath.Posix +#ifndef mingw32_HOST_OS import System.Posix.Files +#else +import System.PosixCompat.Files +#endif data FileEntry m = FileEntry { fileModTime :: UTCTime diff --git a/gitlib/gitlib.cabal b/gitlib/gitlib.cabal index e9be6978..8ccebb43 100644 --- a/gitlib/gitlib.cabal +++ b/gitlib/gitlib.cabal @@ -63,6 +63,9 @@ Library if !os(mingw32) build-depends: unix >= 2.5.1.1 + else + build-depends: + unix-compat >= 0.4 exposed-modules: Git Git.Blob diff --git a/hlibgit2/Bindings/Libgit2/Windows.hsc b/hlibgit2/Bindings/Libgit2/Windows.hsc index 2746ef6b..2affc05c 100644 --- a/hlibgit2/Bindings/Libgit2/Windows.hsc +++ b/hlibgit2/Bindings/Libgit2/Windows.hsc @@ -3,6 +3,7 @@ module Bindings.Libgit2.Windows where #ifdef GIT_WIN32 +#strict_import #ccall gitwin_set_codepage , CUInt -> IO () #ccall gitwin_get_codepage , IO (CUInt) #ccall gitwin_set_utf8 , IO () From d8432ef36dbb69eae315c5293f8719acf7a33d10 Mon Sep 17 00:00:00 2001 From: Masahiro Honma Date: Sun, 10 Jan 2016 20:50:04 +0900 Subject: [PATCH 2/2] Add libraries to build executables on MSYS2 --- hlibgit2/hlibgit2.cabal | 2 ++ 1 file changed, 2 insertions(+) diff --git a/hlibgit2/hlibgit2.cabal b/hlibgit2/hlibgit2.cabal index 7c0cbf7a..8c05ca91 100644 --- a/hlibgit2/hlibgit2.cabal +++ b/hlibgit2/hlibgit2.cabal @@ -229,6 +229,8 @@ Library libgit2/src/win32/utf-conv.c include-dirs: libgit2/src/win32 + extra-libraries: + ws2_32, regex, winhttp, crypt32, rpcrt4, ssl, crypto else cc-options: -D_GNU_SOURCE -DOPENSSL_SHA1 -Wno-deprecated-declarations c-sources: