git-annex/standalone/android/haskell-patches/unix-time_hack-for-Bionic.patch
Joey Hess 375158f6b5 refresh android and no-th haskell patches to latest package versions from cabal
Added a cabal.config file; the result of running cabal freeze.
It's not used yet (needs a newer cabal than is in debian stable),
but the plan is that once the autbuilders are swiched to jessie,
this can be used to make cabal install the same versions of packages
that this patch got building, and so avoid breaking every time eg, yesod is
upgraded.

This commit was sponsored by Daniel Atlas.
2014-10-14 00:19:07 -04:00

70 lines
2.2 KiB
Diff

From 9569708b67df79185dde603f1305eb84d168eba6 Mon Sep 17 00:00:00 2001
From: dummy <dummy@example.com>
Date: Tue, 14 Oct 2014 01:07:34 +0000
Subject: [PATCH] hack for bionic
---
Data/UnixTime/Types.hsc | 12 ------------
cbits/conv.c | 2 +-
unix-time.cabal | 2 --
3 files changed, 1 insertion(+), 15 deletions(-)
diff --git a/Data/UnixTime/Types.hsc b/Data/UnixTime/Types.hsc
index aa64970..ddca145 100644
--- a/Data/UnixTime/Types.hsc
+++ b/Data/UnixTime/Types.hsc
@@ -12,8 +12,6 @@ import Data.Binary
#include <sys/time.h>
-#let alignment t = "%lu", (unsigned long)offsetof(struct {char x__; t (y__); }, y__)
-
-- |
-- Data structure for Unix time.
--
@@ -33,16 +31,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)
-
#if __GLASGOW_HASKELL__ >= 704
instance Binary UnixTime where
put (UnixTime (CTime sec) msec) = do
diff --git a/cbits/conv.c b/cbits/conv.c
index 669cfda..8fa5f9a 100644
--- a/cbits/conv.c
+++ b/cbits/conv.c
@@ -98,7 +98,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) {
diff --git a/unix-time.cabal b/unix-time.cabal
index 1061602..588499a 100644
--- a/unix-time.cabal
+++ b/unix-time.cabal
@@ -15,8 +15,6 @@ Extra-Tmp-Files: config.log config.status autom4te.cache cbits/config.h
Library
Default-Language: Haskell2010
GHC-Options: -Wall
- if impl(ghc >= 7.8)
- CC-Options: -fPIC
Exposed-Modules: Data.UnixTime
Other-Modules: Data.UnixTime.Conv
Data.UnixTime.Diff
--
1.7.10.4