[ghc] add 4 ARM patches from Debian for armel and armhf

Jens Petersen petersen at fedoraproject.org
Fri Apr 13 16:37:33 UTC 2012


commit 822ef01b54caae829e2fab59a6a8f425a99db3df
Author: Jens Petersen <petersen at redhat.com>
Date:   Sat Apr 14 01:37:26 2012 +0900

    add 4 ARM patches from Debian for armel and armhf
    
    - BR llvm not clang
    - remove arm from unregisterised_archs
    - revert dropping --with-gcc

 ghc.spec |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)
---
diff --git a/ghc.spec b/ghc.spec
index 5808a2b..b8f9df9 100644
--- a/ghc.spec
+++ b/ghc.spec
@@ -14,7 +14,7 @@
 #%%global without_testsuite 1
 
 # unregisterized archs
-%global unregisterised_archs ppc64 armv7hl armv5tel s390 s390x
+%global unregisterised_archs ppc64 s390 s390x
 
 # ghc does not output dwarf format so debuginfo is not useful
 %global debug_package %{nil}
@@ -75,7 +75,7 @@ BuildRequires: hscolour
 BuildRequires: python
 %endif
 %ifarch armv7hl armv5tel
-BuildRequires: clang >= 3.0
+BuildRequires: llvm >= 3.0
 %endif
 Requires: ghc-compiler = %{version}-%{release}
 Requires: ghc-libraries = %{version}-%{release}
@@ -95,6 +95,12 @@ Patch7: ghc-powerpc-pthread.patch
 Patch8: ghc-powerpc-linker-mmap.patch
 # fix dynamic linking of executables using Template Haskell
 Patch9: Cabal-fix-dynamic-exec-for-TH.patch
+# Debian armel fixes
+Patch10: fix-ARM-s-StgCRun-clobbered-register-list-for-both-A.patch
+Patch11: fix-ARM-StgCRun-to-not-save-and-restore-r11-fp-regis.patch
+# Debian armhf fixes
+Patch12: ghc-debian-ARM-VFPv3D16.patch
+Patch13: ghc-debian-armhf_llvm_abi.patch
 
 %description
 GHC is a state-of-the-art, open source, compiler and interactive environment
@@ -126,7 +132,9 @@ Requires(post): chkconfig
 Requires(postun): chkconfig
 # added in f14
 Obsoletes: ghc-doc < 6.12.3-4
-# llvm is an optional dependency
+%ifarch armv7hl armv5tel
+Requires: llvm >= 3.0
+%endif
 
 %description compiler
 The package contains the GHC compiler, tools and utilities.
@@ -207,6 +215,14 @@ ln -s $(pkg-config --variable=includedir libffi)/*.h rts/dist/build
 
 %patch9 -p1 -b .orig
 
+# ARM patches
+%ifarch armv7hl armv5tel
+%patch10 -p0 -b .arm1
+%patch11 -p0 -b .arm2
+%patch12 -p1 -b .arm
+%patch13 -p1 -b .arm
+%endif
+
 %build
 # http://hackage.haskell.org/trac/ghc/wiki/Platforms
 # cf https://github.com/gentoo-haskell/gentoo-haskell/tree/master/dev-lang/ghc
@@ -229,14 +245,12 @@ EOF
 
 export CFLAGS="${CFLAGS:-%optflags}"
 # use --with-gcc=%{_bindir}/gcc when bootstrapping to avoid ccache hardcoding problem
-%ifarch armv7hl armv5tel
-export CC=clang
-%endif
 ./configure --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} \
   --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} \
   --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} \
   --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} \
-  --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir}
+  --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} \
+  --with-gcc=%{_bindir}/gcc
 
 # >4 cpus tends to break build
 [ -z "$RPM_BUILD_NCPUS" ] && RPM_BUILD_NCPUS=$(%{_bindir}/getconf _NPROCESSORS_ONLN)
@@ -411,8 +425,9 @@ fi
 
 %changelog
 * Tue Apr 10 2012 Jens Petersen <petersen at redhat.com> - 7.4.1-1.1
-- build with llvm clang on ARM
-- drop --with-gcc
+- build with llvm-3.0 on ARM
+- remove arm from unregisterised_archs
+- add 4 Debian ARM patches for armel and armhf (Iain Lane)
 - bootstrap build
 
 * Wed Feb 15 2012 Jens Petersen <petersen at redhat.com> - 7.4.1-1


More information about the scm-commits mailing list