[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