summaryrefslogtreecommitdiff
path: root/standalone
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-05-08 11:31:42 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-05-08 11:31:42 -0400
commit35691fe987239cd7b59de0725650a39589ea4e41 (patch)
treead42c58e75b9ea1f64f0750ceeb7f7719cb23250 /standalone
parent9e203a545d92350fe37ddd1b36d9cb318acfc00f (diff)
know also installs same versions on native system , for EvilSplicer
Diffstat (limited to 'standalone')
-rwxr-xr-xstandalone/android/install-haskell-packages235
1 files changed, 133 insertions, 102 deletions
diff --git a/standalone/android/install-haskell-packages b/standalone/android/install-haskell-packages
index 3035e43d0..d407966ba 100755
--- a/standalone/android/install-haskell-packages
+++ b/standalone/android/install-haskell-packages
@@ -7,119 +7,150 @@
#
# Needs some extra C libraries to be installed inside the cross-compiler
# lib directory: libgnutls libxml2
+#
+# The same versions are also installed in the host system. This is needed
+# in order to use the EvilSplicer to expand Template Haskell.
# lib dir
set -e
-PATH=$HOME/.ghc/android-14/arm-linux-androideabi-4.7/bin:$HOME/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/bin:$PATH
-
-# Not run every time because we don't care about the latest versions.
-if [ ! -e $HOME/.ghc/android-14/arm-linux-androideabi-4.7/cabal/packages/hackage.haskell.org ]; then
- cabal update
-fi
-
-rm -rf tmp
-mkdir tmp
-cd tmp
+doit () {
+ echo "$@"
+ eval "$@"
+}
patched () {
pkg=$1
version=$2
- shift 2
- cabal unpack $pkg-$version
- cd $pkg-$version
- for patch in ../../haskell-patches/${pkg}_*; do
- echo applying $patch
- patch -p1 < $patch
- done
- cabal install "$@"
- cd ..
+ if [ "$native" ]; then
+ doit cabal install --force-reinstalls $pkg-$version
+ else
+ shift 2
+ cabal unpack $pkg-$version
+ cd $pkg-$version
+ for patch in ../../haskell-patches/${pkg}_*; do
+ echo applying $patch
+ patch -p1 < $patch
+ done
+ doit cabal install "$@"
+ cd ..
+ fi
}
unpatched () {
- echo "cabal install $@"
- cabal install "$@"
+ if [ "$native" ]; then
+ doit cabal install "$@"
+ else
+ doit cabal install "$@"
+ fi
+}
+
+onlycross () {
+ if [ ! "$native" ]; then
+ eval $@
+ fi
}
-unpatched bytestring-0.10.3.0 text-0.11.2.3 parsec-3.1.3
-patched network 2.4.1.0
-unpatched cereal-0.3.5.2
-patched socks 0.4.2
-unpatched hslogger-1.2.1
-patched MissingH 1.2.0.0
-patched unix-time 0.1.4
-patched async 2.0.1.4
-patched zlib 0.5.4.0
-patched primitive 0.5.0.1
-patched vector 0.10.0.1
-patched distributive 0.3
-unpatched hashable-1.1.2.5
-patched case-insensitive 0.4.0.1
-unpatched nats-0.1 semigroups-0.9 tagged-0.4.4 comonad-3.0.1.1 comonad-transformers-3.0.1
-patched profunctors 3.3
-patched split 0.2.1.2
-unpatched monads-tf-0.1.0.1
-patched gnutls 0.1.4
-unpatched attoparsec-0.10.4.0 blaze-builder-0.3.1.1
-patched syb 0.3.7
-patched aeson 0.6.1.0
-patched lifted-base 0.2.0.2
-patched resourcet 0.4.4
-patched monad-control 0.3.1.4
-unpatched conduit-0.5.6
-patched monad-logger 0.2.3.2
-unpatched reflection-1.1.7 bifunctors-3.2 semigroupoids-3.0.2
-unpatched bifunctors-3.2 comonads-fd-3.0.1 groupoids-3.0.1.1
-unpatched profunctor-extras-3.3
-patched lens 3.8.5
-unpatched xml-types-0.3.3
-patched libxml-sax 0.7.3
-patched network-conduit 0.6.2.2
-unpatched asn1-data-0.7.1 asn1-types-0.1.3 attoparsec-conduit-0.5.0.3
-unpatched blaze-builder-conduit-0.5.0.3 blaze-markup-0.5.1.5 blaze-html-0.5.1.3
-patched cipher-aes 0.1.7
-unpatched crypto-api-0.10.2
-unpatched cprng-aes-0.3.4
-unpatched http-types-0.8.0 mime-types-0.1.0.3
-unpatched certificate-1.3.7 system-fileio-0.3.11 tls-1.1.2
-unpatched utf8-string-0.3.7
-unpatched publicsuffixlist-0.1
-unpatched xml-conduit-1.0.3.3
-unpatched zlib-bindings-0.1.1.3 zlib-conduit-0.5.0.3
-patched shakespeare 1.0.3
-patched hamlet 1.1.6.1
-patched xml-hamlet 0.4.0.3
-unpatched certificate-1.3.7
-unpatched dataenc-0.12 hxt-charproperties-9.1.1 \
- hxt-regex-xmlschema-9.1.0 hxt-unicode-9.0.2 hxt-9.3.1.1
-unpatched -f-templateHaskell QuickCheck-2.5.1.1
-unpatched Crypto-4.2.5.1
-patched HTTP 4000.2.8
-patched hS3 0.5.7
-patched file-embed 0.0.4.7
-patched gsasl 0.3.5 \
- --ghc-options=-I$HOME/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/sysroot/usr/include/ \
- --ld-options="-L $HOME/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/sysroot/usr/lib/"
-patched network-protocol-xmpp 0.4.4
-patched shakespeare-css 1.0.2
-patched shakespeare-i18n 1.0.0.2
-patched shakespeare-js 1.1.2
-patched persistent 1.1.5.1
-unpatched largeword-1.0.4 crypto-api-0.10.2 http-date-0.0.4 \
- cryptohash-0.8.3 vault-0.2.0.4 unix-compat-0.4.1.1 \
- crypto-conduit-0.4.3 wai-1.3.0.3
-patched wai-app-static 1.3.1
-patched wai-extra 1.3.2.1
-patched yesod-routes 1.1.2
-unpatched http-conduit-1.8.7.1
-patched DAV 0.3
-patched yesod-core 1.1.8
-patched yesod-persistent 1.1.0.1
-patched yesod-form 1.2.1.1
-unpatched warp-1.3.7.2 yaml-0.8.2
-patched yesod-default 1.1.3.2
-patched yesod 1.1.8
-patched yesod-static 1.1.2
+install_pkgs () {
+ rm -rf tmp
+ mkdir tmp
+ cd tmp
-cd ..
-rm -rf tmp
+ onlycross unpatched bytestring-0.10.3.0 text-0.11.2.3 parsec-3.1.3
+ patched network 2.4.1.0
+ unpatched cereal-0.3.5.2
+ patched socks 0.4.2
+ unpatched hslogger-1.2.1
+ patched MissingH 1.2.0.0
+ patched unix-time 0.1.4
+ patched async 2.0.1.4
+ patched zlib 0.5.4.0
+ patched primitive 0.5.0.1
+ patched vector 0.10.0.1
+ patched distributive 0.3
+ unpatched hashable-1.1.2.5
+ patched case-insensitive 0.4.0.1
+ unpatched nats-0.1 semigroups-0.9 tagged-0.4.4 comonad-3.0.1.1 comonad-transformers-3.0.1
+ patched profunctors 3.3
+ patched split 0.2.1.2
+ unpatched monads-tf-0.1.0.1
+ onlycross patched gnutls 0.1.4
+ unpatched attoparsec-0.10.4.0 blaze-builder-0.3.1.1
+ patched syb 0.3.7
+ patched aeson 0.6.1.0
+ patched lifted-base 0.2.0.2
+ patched resourcet 0.4.4
+ patched monad-control 0.3.1.4
+ unpatched conduit-0.5.6
+ patched monad-logger 0.2.3.2
+ unpatched reflection-1.1.7 bifunctors-3.2 semigroupoids-3.0.2
+ unpatched bifunctors-3.2 comonads-fd-3.0.1 groupoids-3.0.1.1
+ unpatched profunctor-extras-3.3
+ patched lens 3.8.5
+ unpatched xml-types-0.3.3
+ patched libxml-sax 0.7.3
+ patched network-conduit 0.6.2.2
+ unpatched asn1-data-0.7.1 asn1-types-0.1.3 attoparsec-conduit-0.5.0.3
+ unpatched blaze-builder-conduit-0.5.0.3 blaze-markup-0.5.1.5 blaze-html-0.5.1.3
+ patched cipher-aes 0.1.7
+ unpatched crypto-api-0.10.2
+ unpatched cprng-aes-0.3.4
+ unpatched http-types-0.8.0 mime-types-0.1.0.3
+ unpatched certificate-1.3.7 system-fileio-0.3.11 tls-1.1.2
+ unpatched utf8-string-0.3.7
+ unpatched publicsuffixlist-0.1
+ unpatched xml-conduit-1.0.3.3
+ unpatched zlib-bindings-0.1.1.3 zlib-conduit-0.5.0.3
+ patched shakespeare 1.0.3
+ patched hamlet 1.1.6.1
+ patched xml-hamlet 0.4.0.3
+ unpatched certificate-1.3.7
+ unpatched dataenc-0.12 hxt-charproperties-9.1.1 \
+ hxt-regex-xmlschema-9.1.0 hxt-unicode-9.0.2 hxt-9.3.1.1
+ unpatched -f-templateHaskell QuickCheck-2.5.1.1
+ unpatched Crypto-4.2.5.1
+ patched HTTP 4000.2.8
+ patched hS3 0.5.7
+ patched file-embed 0.0.4.7
+ patched gsasl 0.3.5 \
+ --ghc-options=-I$HOME/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/sysroot/usr/include/ \
+ --ld-options="-L $HOME/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/sysroot/usr/lib/"
+ onlycross patched network-protocol-xmpp 0.4.4
+ patched shakespeare-css 1.0.2
+ patched shakespeare-i18n 1.0.0.2
+ patched shakespeare-js 1.1.2
+ patched persistent 1.1.5.1
+ onlycross unpatched largeword-1.0.4 crypto-api-0.10.2 http-date-0.0.4 \
+ cryptohash-0.8.3 vault-0.2.0.4 unix-compat-0.4.1.1 \
+ crypto-conduit-0.4.3 wai-1.3.0.3
+ patched wai-app-static 1.3.1
+ onlycross patched wai-extra 1.3.2.1
+ patched yesod-routes 1.1.2
+ onlycross unpatched http-conduit-1.8.7.1
+ patched DAV 0.3
+ patched yesod-core 1.1.8
+ patched yesod-persistent 1.1.0.1
+ patched yesod-form 1.2.1.1
+ onlycross unpatched warp-1.3.7.2 yaml-0.8.2
+ patched yesod-default 1.1.3.2
+ patched yesod 1.1.8
+ patched yesod-static 1.1.2
+
+ cd ..
+ rm -rf tmp
+}
+
+# First, the native build.
+native=1
+if [ ! -e $HOME/.cabal/packages/hackage.haskell.org ]; then
+ cabal update
+fi
+install_pkgs
+
+# Now the cross compile.
+native=0
+PATH=$HOME/.ghc/android-14/arm-linux-androideabi-4.7/bin:$HOME/.ghc/android-14/arm-linux-androideabi-4.7/arm-linux-androideabi/bin:$PATH
+if [ ! -e $HOME/.ghc/android-14/arm-linux-androideabi-4.7/cabal/packages/hackage.haskell.org ]; then
+ cabal update
+fi
+install_pkgs