got XMPP building for Android
Also enable local pairing, which also builds now thanks to WebDAV fixes to the haskell network library.
This commit is contained in:
parent
8df5be7804
commit
4df9036fa2
6 changed files with 150 additions and 1 deletions
2
Makefile
2
Makefile
|
@ -158,7 +158,7 @@ osxapp: Build/Standalone Build/OSXMkLibs
|
|||
rm -f tmp/git-annex.dmg.bz2
|
||||
bzip2 --fast tmp/git-annex.dmg
|
||||
|
||||
ANDROID_FLAGS=Assistant -Pairing -XMPP
|
||||
ANDROID_FLAGS=
|
||||
# Cross compile for Android.
|
||||
# Uses https://github.com/neurocyte/ghc-android
|
||||
android: Build/EvilSplicer
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
From c46af28d00a67d372bf59490d288c8cb77bae307 Mon Sep 17 00:00:00 2001
|
||||
From: Joey Hess <joey@kitenet.net>
|
||||
Date: Sun, 21 Apr 2013 17:14:03 -0400
|
||||
Subject: [PATCH] statically link with gnutls
|
||||
|
||||
This requires libgnutls.a (and no .so) be installed in the ugly hardcoded
|
||||
lib dir. When built this way, the haskell gnutls library will link the
|
||||
library into executables with no further options.
|
||||
|
||||
Also includes dependencies of libgnutls (needed since it's a static
|
||||
library).
|
||||
---
|
||||
gnutls.cabal | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gnutls.cabal b/gnutls.cabal
|
||||
index a20e7ed..d8f4a1f 100644
|
||||
--- a/gnutls.cabal
|
||||
+++ b/gnutls.cabal
|
||||
@@ -31,10 +31,11 @@ source-repository this
|
||||
library
|
||||
hs-source-dirs: lib
|
||||
ghc-options: -Wall -O2
|
||||
+ LD-Options: -L /home/joey/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/sysroot/usr/lib/ -lgcrypt -lgpg-error -lz
|
||||
|
||||
build-depends:
|
||||
base >= 4.0 && < 5.0
|
||||
- , bytestring >= 0.9
|
||||
+ , bytestring >= 0.10.3.0
|
||||
, transformers >= 0.2
|
||||
, monads-tf >= 0.1 && < 0.2
|
||||
|
||||
--
|
||||
1.7.10.4
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From c7d39a8f91af93203194313195a79b04d80a16a3 Mon Sep 17 00:00:00 2001
|
||||
From: Joey Hess <joey@kitenet.net>
|
||||
Date: Sun, 21 Apr 2013 15:22:00 -0400
|
||||
Subject: [PATCH] link with libgsasl
|
||||
|
||||
This requires libgsasl.a (and no .so) be installed in the ugly hardcoded
|
||||
lib dir. When built this way, the haskell gsasl library will link the
|
||||
library into executables with no further options.
|
||||
---
|
||||
gsasl.cabal | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gsasl.cabal b/gsasl.cabal
|
||||
index c5c2b19..a31cc71 100644
|
||||
--- a/gsasl.cabal
|
||||
+++ b/gsasl.cabal
|
||||
@@ -27,6 +27,7 @@ library
|
||||
ghc-options: -Wall -O2
|
||||
hs-source-dirs: lib
|
||||
c-sources: cbits/hsgsasl-shim.c
|
||||
+ LD-Options: -L /home/joey/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/sysroot/usr/lib/
|
||||
|
||||
build-depends:
|
||||
base >= 4.0 && < 5.0
|
||||
--
|
||||
1.7.10.4
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
From 9d53e3fa4516a948a6e84987e9c1c9fd07f973bf Mon Sep 17 00:00:00 2001
|
||||
From: Joey Hess <joey@kitenet.net>
|
||||
Date: Sun, 21 Apr 2013 15:44:51 -0400
|
||||
Subject: [PATCH] static link with libxml2
|
||||
|
||||
This requires libxml2.a (and no .so) be installed in the ugly hardcoded
|
||||
lib dir. When built this way, the haskell library will link the
|
||||
C library into executables with no further options.
|
||||
---
|
||||
libxml-sax.cabal | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/libxml-sax.cabal b/libxml-sax.cabal
|
||||
index 5edfdb6..338bc55 100644
|
||||
--- a/libxml-sax.cabal
|
||||
+++ b/libxml-sax.cabal
|
||||
@@ -31,6 +31,7 @@ library
|
||||
hs-source-dirs: lib
|
||||
ghc-options: -Wall -O2
|
||||
cc-options: -Wall
|
||||
+ LD-Options: -L /home/joey/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/sysroot/usr/lib/
|
||||
|
||||
build-depends:
|
||||
base >= 4.1 && < 5.0
|
||||
--
|
||||
1.7.10.4
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
From d15ae2193eff9cd38ebce641279996233434b50f Mon Sep 17 00:00:00 2001
|
||||
From: Joey Hess <joey@kitenet.net>
|
||||
Date: Sun, 21 Apr 2013 16:05:53 -0400
|
||||
Subject: [PATCH] avoid using gnuidn
|
||||
|
||||
IDN is only used to handle the domain name part of a XMPP server JID.
|
||||
Which seems not worth the bloat on Android.
|
||||
---
|
||||
lib/Network/Protocol/XMPP/JID.hs | 11 ++++-------
|
||||
network-protocol-xmpp.cabal | 1 -
|
||||
2 files changed, 4 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/lib/Network/Protocol/XMPP/JID.hs b/lib/Network/Protocol/XMPP/JID.hs
|
||||
index 91745e0..2a50409 100644
|
||||
--- a/lib/Network/Protocol/XMPP/JID.hs
|
||||
+++ b/lib/Network/Protocol/XMPP/JID.hs
|
||||
@@ -29,7 +29,6 @@ module Network.Protocol.XMPP.JID
|
||||
|
||||
import qualified Data.Text
|
||||
import Data.Text (Text)
|
||||
-import qualified Data.Text.IDN.StringPrep as SP
|
||||
import Data.String (IsString, fromString)
|
||||
|
||||
newtype Node = Node { strNode :: Text }
|
||||
@@ -85,16 +84,14 @@ parseJID str = maybeJID where
|
||||
then Just Nothing
|
||||
else fmap Just (f x)
|
||||
maybeJID = do
|
||||
- preppedNode <- nullable node (stringprepM SP.xmppNode)
|
||||
- preppedDomain <- stringprepM SP.nameprep domain
|
||||
- preppedResource <- nullable resource (stringprepM SP.xmppResource)
|
||||
+ preppedNode <- nullable node (stringprepM id)
|
||||
+ preppedDomain <- stringprepM id domain
|
||||
+ preppedResource <- nullable resource (stringprepM id)
|
||||
return $ JID
|
||||
(fmap Node preppedNode)
|
||||
(Domain preppedDomain)
|
||||
(fmap Resource preppedResource)
|
||||
- stringprepM p x = case SP.stringprep p SP.defaultFlags x of
|
||||
- Left _ -> Nothing
|
||||
- Right y -> Just y
|
||||
+ stringprepM p x = Just x
|
||||
|
||||
parseJID_ :: Text -> JID
|
||||
parseJID_ text = case parseJID text of
|
||||
diff --git a/network-protocol-xmpp.cabal b/network-protocol-xmpp.cabal
|
||||
index 807cda9..3aaad67 100644
|
||||
--- a/network-protocol-xmpp.cabal
|
||||
+++ b/network-protocol-xmpp.cabal
|
||||
@@ -30,7 +30,6 @@ library
|
||||
build-depends:
|
||||
base >= 4.0 && < 5.0
|
||||
, bytestring >= 0.9
|
||||
- , gnuidn >= 0.2 && < 0.3
|
||||
, gnutls >= 0.1.4 && < 0.3
|
||||
, gsasl >= 0.3 && < 0.4
|
||||
, libxml-sax >= 0.7 && < 0.8
|
||||
--
|
||||
1.7.10.4
|
||||
|
Binary file not shown.
Loading…
Reference in a new issue