git-annex/standalone/android/haskell-patches/unix-time_hack-for-Bionic.patch
androidbuilder 34c6e0ea1a reverted updates to new lib versions that broke android build
I ran into several evilsplicer problems with the new lib versions, most notably including a problem with encoding of embedded binary files
2015-08-02 19:48:36 +00:00

56 lines
1.7 KiB
Diff

From db9eb179885874af342bb2c3adef7185496ba1f1 Mon Sep 17 00:00:00 2001
From: dummy <dummy@example.com>
Date: Wed, 15 Oct 2014 16:37:32 +0000
Subject: [PATCH] hack for bionic
---
Data/UnixTime/Types.hsc | 12 ------------
cbits/conv.c | 2 +-
2 files changed, 1 insertion(+), 13 deletions(-)
diff --git a/Data/UnixTime/Types.hsc b/Data/UnixTime/Types.hsc
index d30f39b..ec7ca4c 100644
--- a/Data/UnixTime/Types.hsc
+++ b/Data/UnixTime/Types.hsc
@@ -9,8 +9,6 @@ import Foreign.Storable
#include <sys/time.h>
-#let alignment t = "%lu", (unsigned long)offsetof(struct {char x__; t (y__); }, y__)
-
-- |
-- Data structure for Unix time.
data UnixTime = UnixTime {
@@ -20,16 +18,6 @@ data UnixTime = UnixTime {
, utMicroSeconds :: {-# UNPACK #-} !Int32
} deriving (Eq,Ord,Show)
-instance Storable UnixTime where
- sizeOf _ = (#size struct timeval)
- alignment _ = (#alignment struct timeval)
- peek ptr = UnixTime
- <$> (#peek struct timeval, tv_sec) ptr
- <*> (#peek struct timeval, tv_usec) ptr
- poke ptr ut = do
- (#poke struct timeval, tv_sec) ptr (utSeconds ut)
- (#poke struct timeval, tv_usec) ptr (utMicroSeconds ut)
-
-- |
-- Format of the strptime()/strftime() style.
type Format = ByteString
diff --git a/cbits/conv.c b/cbits/conv.c
index ec31fef..b7bc0f9 100644
--- a/cbits/conv.c
+++ b/cbits/conv.c
@@ -96,7 +96,7 @@ time_t c_parse_unix_time_gmt(char *fmt, char *src) {
#else
strptime(src, fmt, &dst);
#endif
- return timegm(&dst);
+ return NULL; /* timegm(&dst); (not in Bionic) */
}
size_t c_format_unix_time(char *fmt, time_t src, char* dst, int siz) {
--
2.1.1