From: Marios Titas Date: Sun, 2 Oct 2022 20:12:41 +0000 (+0300) Subject: [PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t X-Git-Tag: archive/raspbian/9.6.6-2+rpi1~2^2^2~3 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=744f1fef944caac9a7a95d9f6c8c8e20c80f84f8;p=ghc.git [PATCH] Use capi for syscalls that break under musl's handling of 64-bit time_t Closes #145. Gbp-Pq: Name time_t-directory --- diff --git a/libraries/directory/System/Directory/Internal/C_utimensat.hsc b/libraries/directory/System/Directory/Internal/C_utimensat.hsc index f10c6594..3d9b1942 100644 --- a/libraries/directory/System/Directory/Internal/C_utimensat.hsc +++ b/libraries/directory/System/Directory/Internal/C_utimensat.hsc @@ -1,3 +1,5 @@ +{-# LANGUAGE CApiFFI #-} + module System.Directory.Internal.C_utimensat where #include #ifdef HAVE_UTIMENSAT @@ -41,7 +43,7 @@ toCTimeSpec t = CTimeSpec (CTime sec) (truncate $ 10 ^ (9 :: Int) * frac) (sec, frac) = if frac' < 0 then (sec' - 1, frac' + 1) else (sec', frac') (sec', frac') = properFraction (toRational t) -foreign import ccall "utimensat" c_utimensat +foreign import capi "sys/stat.h utimensat" c_utimensat :: CInt -> CString -> Ptr CTimeSpec -> CInt -> IO CInt #endif diff --git a/libraries/directory/directory.cabal b/libraries/directory/directory.cabal index 09c4a550..a2953b74 100644 --- a/libraries/directory/directory.cabal +++ b/libraries/directory/directory.cabal @@ -38,6 +38,7 @@ Library default-language: Haskell2010 other-extensions: CPP + CApiFFI Trustworthy exposed-modules: