summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdebian/cabal-wrapper20
-rw-r--r--debian/changelog1
-rw-r--r--debian/control1
-rwxr-xr-xdebian/rules3
4 files changed, 23 insertions, 2 deletions
diff --git a/debian/cabal-wrapper b/debian/cabal-wrapper
new file mode 100755
index 000000000..1326aead7
--- /dev/null
+++ b/debian/cabal-wrapper
@@ -0,0 +1,20 @@
+#!/bin/sh
+# It would be more usual to use:
+# export CABAL=./Setup
+# But Setup currently has a very bad dependency resolver, and very bad
+# debugging output, and tends to eat all memory and die on small buildds.
+#
+# This should be revisited once Debian has a newer ghc than 7.6.3,
+# and hopefully gets the improved dependency resolver from cabal.
+set -e
+
+# Avoid cabal writing to HOME, and avoid local cabal settings
+# influencing the build.
+HOME=$(mktemp -d)
+export HOME
+
+# Temporary workaround for #763078
+PATH=/usr/lib/llvm-3.4/bin:$PATH
+export PATH
+
+cabal "$@"
diff --git a/debian/changelog b/debian/changelog
index 712696fe0..ba76971f2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,7 @@ git-annex (5.20150732) UNRELEASED; urgency=medium
fscked, or every 5 minutes, whichever comes first. Previously,
commits were made every 1000 files fscked.
* Tighten dependency on optparse-applicative to 0.11.0.
+ * Added back debian/cabal-wrapper, since it still seems needed after all.
-- Joey Hess <id@joeyh.name> Fri, 31 Jul 2015 12:31:39 -0400
diff --git a/debian/control b/debian/control
index 296034253..e2bef62c8 100644
--- a/debian/control
+++ b/debian/control
@@ -4,6 +4,7 @@ Priority: optional
Build-Depends:
debhelper (>= 9),
ghc (>= 7.4),
+ cabal-install,
libghc-mtl-dev (>= 2.1.1),
libghc-missingh-dev,
libghc-data-default-dev,
diff --git a/debian/rules b/debian/rules
index d1393d571..927c1c925 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,7 +1,6 @@
#!/usr/bin/make -f
-# Avoid using cabal, as it writes to $HOME
-export CABAL=./Setup
+export CABAL=debian/cabal-wrapper
STANDALONE_BUILD=$(shell grep -qe '^Package: git-annex-standalone' debian/control \
&& echo 1 || echo 0)