[Pkg-haskell-commits] darcs: ghc: armel, armhf: Force use of llvm-3.4, rather than unversioned lvm, which can have abi changes that break ghc. Closes: #763078

joeyh at debian.org joeyh at debian.org
Sun Sep 28 18:20:21 UTC 2014


Sun Sep 28 18:19:55 UTC 2014  joeyh at debian.org
  * armel,armhf: Force use of llvm-3.4, rather than unversioned lvm, which can have abi changes that break ghc. Closes: #763078

    M ./changelog +7
    M ./control -2 +2
    M ./rules +14

Sun Sep 28 18:19:55 UTC 2014  joeyh at debian.org
  * armel,armhf: Force use of llvm-3.4, rather than unversioned lvm, which can have abi changes that break ghc. Closes: #763078
diff -rN -u old-ghc/changelog new-ghc/changelog
--- old-ghc/changelog	2014-09-28 18:20:20.895462245 +0000
+++ new-ghc/changelog	2014-09-28 18:20:20.899462245 +0000
@@ -1,3 +1,10 @@
+ghc (7.6.3-17) unstable; urgency=medium
+
+  * armel,armhf: Force use of llvm-3.4, rather than unversioned lvm,
+    which can have abi changes that break ghc. Closes: #763078
+
+ -- Joey Hess <joeyh at debian.org>  Sun, 28 Sep 2014 19:16:16 +0100
+
 ghc (7.6.3-16) unstable; urgency=medium
 
   * Also do not conflict with libghc-binary-doc
diff -rN -u old-ghc/control new-ghc/control
--- old-ghc/control	2014-09-28 18:20:20.895462245 +0000
+++ new-ghc/control	2014-09-28 18:20:20.899462245 +0000
@@ -13,7 +13,7 @@
   grep-dctrl,
   dh-autoreconf,
   autotools-dev,
-  llvm [armel armhf],
+  llvm-3.4 [armel armhf],
   libffi-dev,
   pkg-config,
   xsltproc,
@@ -33,7 +33,7 @@
 
 Package: ghc
 Architecture: any
-Depends: llvm [armel armhf], gcc, libgmp-dev, libffi-dev, libbsd-dev, libc6-dev, ${shlibs:Depends}, ${misc:Depends}
+Depends: llvm-3.4 [armel armhf], gcc, libgmp-dev, libffi-dev, libbsd-dev, libc6-dev, ${shlibs:Depends}, ${misc:Depends}
 Provides: haskell-compiler, ${provided-devs}, ${haskell:Provides}, ${ghci}
 Replaces: ghc6 (<< 7)
 Conflicts: ghc6 (<< 7), ${conflicting-devs}
diff -rN -u old-ghc/rules new-ghc/rules
--- old-ghc/rules	2014-09-28 18:20:20.895462245 +0000
+++ new-ghc/rules	2014-09-28 18:20:20.915462243 +0000
@@ -30,6 +30,13 @@
 #  confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
 #endif
 
+ifneq (,$(findstring $(DEB_HOST_ARCH), armel armhf))
+# Force use of a specific llvm package, the same version that ghc
+# depends (and build-depends) on.
+LLVM_PATH=/usr/lib/llvm-3.4/bin
+export PATH:=$(LLVM_PATH):$(PATH)
+endif
+
 ProjectVersion=$(shell cat VERSION)
 
 GHC=$(firstword $(shell bash -c "type -p ghc"))
@@ -232,6 +239,13 @@
 	sed -i "s/exec /unset LC_ALL\nexport LC_CTYPE=en_US\nexec /" debian/tmp/usr/lib/ghc/bin/ghc-$(ProjectVersion)
 endif
 
+ifneq (,$(findstring $(DEB_HOST_ARCH), armel armhf))
+	# Ensure that the same llvm used to build ghc is used at runtime.
+	sed -i "s,exec ,PATH=\"$(LLVM_PATH):\$$PATH\"\nexport PATH\nexec ," debian/tmp/usr/lib/ghc/bin/ghc-$(ProjectVersion) debian/tmp/usr/lib/ghc/bin
+/ghc-pkg-$(ProjectVersion) debian/tmp/usr/lib/ghc/bin/ghci-$(ProjectVersion) debian/tmp/usr/lib/ghc/bin/runghc-$(ProjectVersion)
+debian/tmp/usr/lib/ghc/bin/hsc2hs debian/tmp/usr/lib/ghc/bin/haddock-ghc-$(ProjectVersion)
+endif
+
 	# manpages
 	rm -f debian/*.1
 	echo ".so man1/ghc.1" > debian/ghc-$(ProjectVersion).1




More information about the Pkg-haskell-commits mailing list