fix unavailable symbols in bionic, should let webdav build
This commit is contained in:
parent
2eca52cf3d
commit
84f0cb2ffc
2 changed files with 191 additions and 0 deletions
|
@ -0,0 +1,157 @@
|
|||
From 8456a3b26261212052bad4d1de207504a3f85995 Mon Sep 17 00:00:00 2001
|
||||
From: Joey Hess <joey@kitenet.net>
|
||||
Date: Fri, 19 Apr 2013 15:14:10 -0400
|
||||
Subject: [PATCH] remove Network.BSD symbols not available in bionic
|
||||
|
||||
---
|
||||
Network/BSD.hsc | 98 ---------------------------------------------------------
|
||||
1 file changed, 98 deletions(-)
|
||||
|
||||
diff --git a/Network/BSD.hsc b/Network/BSD.hsc
|
||||
index c199036..f0c9f5b 100644
|
||||
--- a/Network/BSD.hsc
|
||||
+++ b/Network/BSD.hsc
|
||||
@@ -30,15 +30,6 @@ module Network.BSD
|
||||
, getHostByAddr
|
||||
, hostAddress
|
||||
|
||||
-#if defined(HAVE_GETHOSTENT) && !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)
|
||||
- , getHostEntries
|
||||
-
|
||||
- -- ** Low level functionality
|
||||
- , setHostEntry
|
||||
- , getHostEntry
|
||||
- , endHostEntry
|
||||
-#endif
|
||||
-
|
||||
-- * Service names
|
||||
, ServiceEntry(..)
|
||||
, ServiceName
|
||||
@@ -64,14 +55,6 @@ module Network.BSD
|
||||
, getProtocolNumber
|
||||
, defaultProtocol
|
||||
|
||||
-#if !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)
|
||||
- , getProtocolEntries
|
||||
- -- ** Low level functionality
|
||||
- , setProtocolEntry
|
||||
- , getProtocolEntry
|
||||
- , endProtocolEntry
|
||||
-#endif
|
||||
-
|
||||
-- * Port numbers
|
||||
, PortNumber
|
||||
|
||||
@@ -83,11 +66,7 @@ module Network.BSD
|
||||
#if !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)
|
||||
, getNetworkByName
|
||||
, getNetworkByAddr
|
||||
- , getNetworkEntries
|
||||
-- ** Low level functionality
|
||||
- , setNetworkEntry
|
||||
- , getNetworkEntry
|
||||
- , endNetworkEntry
|
||||
#endif
|
||||
) where
|
||||
|
||||
@@ -305,31 +284,6 @@ getProtocolNumber proto = do
|
||||
(ProtocolEntry _ _ num) <- getProtocolByName proto
|
||||
return num
|
||||
|
||||
-#if !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)
|
||||
-getProtocolEntry :: IO ProtocolEntry -- Next Protocol Entry from DB
|
||||
-getProtocolEntry = withLock $ do
|
||||
- ent <- throwNoSuchThingIfNull "getProtocolEntry" "no such protocol entry"
|
||||
- $ trySysCall c_getprotoent
|
||||
- peek ent
|
||||
-
|
||||
-foreign import ccall unsafe "getprotoent" c_getprotoent :: IO (Ptr ProtocolEntry)
|
||||
-
|
||||
-setProtocolEntry :: Bool -> IO () -- Keep DB Open ?
|
||||
-setProtocolEntry flg = withLock $ trySysCall $ c_setprotoent (fromBool flg)
|
||||
-
|
||||
-foreign import ccall unsafe "setprotoent" c_setprotoent :: CInt -> IO ()
|
||||
-
|
||||
-endProtocolEntry :: IO ()
|
||||
-endProtocolEntry = withLock $ trySysCall $ c_endprotoent
|
||||
-
|
||||
-foreign import ccall unsafe "endprotoent" c_endprotoent :: IO ()
|
||||
-
|
||||
-getProtocolEntries :: Bool -> IO [ProtocolEntry]
|
||||
-getProtocolEntries stayOpen = withLock $ do
|
||||
- setProtocolEntry stayOpen
|
||||
- getEntries (getProtocolEntry) (endProtocolEntry)
|
||||
-#endif
|
||||
-
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- Host lookups
|
||||
|
||||
@@ -404,31 +358,6 @@ getHostByAddr family addr = do
|
||||
foreign import CALLCONV safe "gethostbyaddr"
|
||||
c_gethostbyaddr :: Ptr HostAddress -> CInt -> CInt -> IO (Ptr HostEntry)
|
||||
|
||||
-#if defined(HAVE_GETHOSTENT) && !defined(cygwin32_HOST_OS) && !defined(mingw32_HOST_OS) && !defined(_WIN32)
|
||||
-getHostEntry :: IO HostEntry
|
||||
-getHostEntry = withLock $ do
|
||||
- throwNoSuchThingIfNull "getHostEntry" "unable to retrieve host entry"
|
||||
- $ trySysCall $ c_gethostent
|
||||
- >>= peek
|
||||
-
|
||||
-foreign import ccall unsafe "gethostent" c_gethostent :: IO (Ptr HostEntry)
|
||||
-
|
||||
-setHostEntry :: Bool -> IO ()
|
||||
-setHostEntry flg = withLock $ trySysCall $ c_sethostent (fromBool flg)
|
||||
-
|
||||
-foreign import ccall unsafe "sethostent" c_sethostent :: CInt -> IO ()
|
||||
-
|
||||
-endHostEntry :: IO ()
|
||||
-endHostEntry = withLock $ c_endhostent
|
||||
-
|
||||
-foreign import ccall unsafe "endhostent" c_endhostent :: IO ()
|
||||
-
|
||||
-getHostEntries :: Bool -> IO [HostEntry]
|
||||
-getHostEntries stayOpen = do
|
||||
- setHostEntry stayOpen
|
||||
- getEntries (getHostEntry) (endHostEntry)
|
||||
-#endif
|
||||
-
|
||||
-- ---------------------------------------------------------------------------
|
||||
-- Accessing network information
|
||||
|
||||
@@ -490,33 +419,6 @@ getNetworkByAddr addr family = withLock $ do
|
||||
foreign import ccall unsafe "getnetbyaddr"
|
||||
c_getnetbyaddr :: NetworkAddr -> CInt -> IO (Ptr NetworkEntry)
|
||||
|
||||
-getNetworkEntry :: IO NetworkEntry
|
||||
-getNetworkEntry = withLock $ do
|
||||
- throwNoSuchThingIfNull "getNetworkEntry" "no more network entries"
|
||||
- $ trySysCall $ c_getnetent
|
||||
- >>= peek
|
||||
-
|
||||
-foreign import ccall unsafe "getnetent" c_getnetent :: IO (Ptr NetworkEntry)
|
||||
-
|
||||
--- | Open the network name database. The parameter specifies
|
||||
--- whether a connection is maintained open between various
|
||||
--- networkEntry calls
|
||||
-setNetworkEntry :: Bool -> IO ()
|
||||
-setNetworkEntry flg = withLock $ trySysCall $ c_setnetent (fromBool flg)
|
||||
-
|
||||
-foreign import ccall unsafe "setnetent" c_setnetent :: CInt -> IO ()
|
||||
-
|
||||
--- | Close the connection to the network name database.
|
||||
-endNetworkEntry :: IO ()
|
||||
-endNetworkEntry = withLock $ trySysCall $ c_endnetent
|
||||
-
|
||||
-foreign import ccall unsafe "endnetent" c_endnetent :: IO ()
|
||||
-
|
||||
--- | Get the list of network entries.
|
||||
-getNetworkEntries :: Bool -> IO [NetworkEntry]
|
||||
-getNetworkEntries stayOpen = do
|
||||
- setNetworkEntry stayOpen
|
||||
- getEntries (getNetworkEntry) (endNetworkEntry)
|
||||
#endif
|
||||
|
||||
-- Mutex for name service lockdown
|
||||
--
|
||||
1.8.2.rc3
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
From 5b14dd83f9ff1d187871fc7c6e956cad95bc4e9b Mon Sep 17 00:00:00 2001
|
||||
From: Joey Hess <joey@kitenet.net>
|
||||
Date: Fri, 19 Apr 2013 15:36:25 -0400
|
||||
Subject: [PATCH] configure misdetects accept4
|
||||
|
||||
---
|
||||
Network/Socket.hsc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Network/Socket.hsc b/Network/Socket.hsc
|
||||
index e6c0feb..49d090b 100644
|
||||
--- a/Network/Socket.hsc
|
||||
+++ b/Network/Socket.hsc
|
||||
@@ -505,7 +505,7 @@ accept sock@(MkSocket s family stype protocol status) = do
|
||||
#else
|
||||
with (fromIntegral sz) $ \ ptr_len -> do
|
||||
new_sock <-
|
||||
-# ifdef HAVE_ACCEPT4
|
||||
+# if 0
|
||||
throwSocketErrorIfMinus1RetryMayBlock "accept"
|
||||
(threadWaitRead (fromIntegral s))
|
||||
(c_accept4 s sockaddr ptr_len (#const SOCK_NONBLOCK))
|
||||
@@ -1589,7 +1589,7 @@ foreign import CALLCONV SAFE_ON_WIN "connect"
|
||||
c_connect :: CInt -> Ptr SockAddr -> CInt{-CSockLen???-} -> IO CInt
|
||||
foreign import CALLCONV unsafe "accept"
|
||||
c_accept :: CInt -> Ptr SockAddr -> Ptr CInt{-CSockLen???-} -> IO CInt
|
||||
-#ifdef HAVE_ACCEPT4
|
||||
+#if 0
|
||||
foreign import CALLCONV unsafe "accept4"
|
||||
c_accept4 :: CInt -> Ptr SockAddr -> Ptr CInt{-CSockLen???-} -> CInt -> IO CInt
|
||||
#endif
|
||||
--
|
||||
1.8.2.rc3
|
||||
|
Loading…
Reference in a new issue