[ghc] update to new stable major version 7.6.3

Jens Petersen petersen at fedoraproject.org
Tue Apr 23 09:33:44 UTC 2013


commit 9340b05892b3fa165982d57d3c07f76ca4a16f05
Author: Jens Petersen <petersen at redhat.com>
Date:   Tue Apr 23 18:33:35 2013 +0900

    update to new stable major version 7.6.3
    
    - bootstrap build
    - use new ghc-rpm-macros-extra
    - no longer filter type-level package from haddock index

 .gitignore                                         |    2 +
 Cabal-fix-dynamic-exec-for-TH.patch                |   33 -
 ghc-6.12.1-gen_contents_index-haddock-path.patch   |   12 -
 ...support-for-ARM-hard-float-ABI-fixes-5914.patch | 1274 --------------------
 ghc-7.4-silence-gen_contents_index.patch           |   11 -
 ghc-gen_contents_index-haddock-path.patch          |   11 +
 ghc-gen_contents_index-type-level.patch            |   12 -
 ghc-powerpc-linker-mmap.patch                      |   34 -
 ghc-powerpc-pthread.patch                          |   18 -
 ghc-use-system-libffi.patch                        |   46 +-
 ghc.spec                                           |  149 ++--
 sources                                            |    4 +-
 12 files changed, 105 insertions(+), 1501 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 6f437bb..9da11de 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,3 +9,5 @@ testsuite-6.12.3.tar.bz2
 /ghc-7.4.1-src.tar.bz2
 /ghc-7.4.2-src.tar.bz2
 /ghc-7.4.2-testsuite.tar.bz2
+/ghc-7.6.3-src.tar.bz2
+/ghc-7.6.3-testsuite.tar.bz2
diff --git a/ghc-gen_contents_index-haddock-path.patch b/ghc-gen_contents_index-haddock-path.patch
new file mode 100644
index 0000000..64ede18
--- /dev/null
+++ b/ghc-gen_contents_index-haddock-path.patch
@@ -0,0 +1,11 @@
+--- ghc-7.6.3/libraries/gen_contents_index~	2013-04-19 06:22:46.000000000 +0900
++++ ghc-7.6.3/libraries/gen_contents_index	2013-04-22 12:07:48.922152864 +0900
+@@ -60,7 +60,7 @@
+         done
+     done
+ else
+-    HADDOCK=../../../../../bin/haddock
++    HADDOCK=/usr/bin/haddock
+     # We don't want the GHC API to swamp the index
+     HADDOCK_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | sort`
+     HADDOCK_ARGS="-p prologue.txt"
diff --git a/ghc-use-system-libffi.patch b/ghc-use-system-libffi.patch
index 304bcb9..fb6d90a 100644
--- a/ghc-use-system-libffi.patch
+++ b/ghc-use-system-libffi.patch
@@ -1,10 +1,10 @@
 This patch could be replaced by a configure call if
 http://hackage.haskell.org/trac/ghc/ticket/5743 were fixed.
 
-Index: ghc-7.4.0.20111219/rts/package.conf.in
+Index: ghc-7.6.1/rts/package.conf.in
 ===================================================================
---- ghc-7.4.0.20111219.orig/rts/package.conf.in	2011-12-21 23:21:03.000000000 +0100
-+++ ghc-7.4.0.20111219/rts/package.conf.in	2011-12-21 23:21:04.000000000 +0100
+--- ghc-7.6.1.orig/rts/package.conf.in	2012-09-04 19:10:15.000000000 +0200
++++ ghc-7.6.1/rts/package.conf.in	2012-10-08 13:06:55.167887121 +0200
 @@ -24,8 +24,9 @@
  hs-libraries:   "HSrts"
  
@@ -16,48 +16,38 @@ Index: ghc-7.4.0.20111219/rts/package.conf.in
  #endif
  #ifdef HAVE_LIBRT
  			      , "rt"
-Index: ghc-7.4.0.20111219/ghc.mk
+Index: ghc-7.6.1/ghc.mk
 ===================================================================
---- ghc-7.4.0.20111219.orig/ghc.mk	2011-12-21 23:21:03.000000000 +0100
-+++ ghc-7.4.0.20111219/ghc.mk	2011-12-21 23:21:04.000000000 +0100
-@@ -579,7 +579,6 @@
-    driver/ghci \
+--- ghc-7.6.1.orig/ghc.mk	2012-09-04 19:10:15.000000000 +0200
++++ ghc-7.6.1/ghc.mk	2012-10-08 13:06:55.171887120 +0200
+@@ -600,7 +600,6 @@
+    $(MAYBE_GHCI) \
     driver/ghc \
     driver/haddock \
 -   libffi \
     includes \
     rts
  
-Index: ghc-7.4.0.20111219/rts/ghc.mk
+Index: ghc-7.6.1/rts/ghc.mk
 ===================================================================
---- ghc-7.4.0.20111219.orig/rts/ghc.mk	2011-12-21 19:56:29.000000000 +0100
-+++ ghc-7.4.0.20111219/rts/ghc.mk	2011-12-21 23:23:52.000000000 +0100
-@@ -86,8 +86,7 @@
- ALL_RTS_DEF_LIBNAMES 	= base ghc-prim
- ALL_RTS_DEF_LIBS	= \
- 	rts/dist/build/win32/libHSbase.dll.a \
--	rts/dist/build/win32/libHSghc-prim.dll.a \
--	libffi/build/inst/lib/libffi.dll.a
-+	rts/dist/build/win32/libHSghc-prim.dll.a 
- 
- # -- import libs for the regular Haskell libraries
- define make-importlib-def # args $1 = lib name
-@@ -172,12 +171,12 @@
+--- ghc-7.6.1.orig/rts/ghc.mk	2012-09-04 19:10:15.000000000 +0200
++++ ghc-7.6.1/rts/ghc.mk	2012-10-08 13:08:52.019882891 +0200
+@@ -177,12 +177,12 @@
  # Making a shared library for the RTS.
  ifneq "$$(findstring dyn, $1)" ""
- ifeq "$$(HOSTPLATFORM)" "i386-unknown-mingw32"
--$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(ALL_RTS_DEF_LIBS) rts/libs.depend rts/dist/build/libffi-5.dll
+ ifeq "$$(HostOS_CPP)" "mingw32" 
+-$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(ALL_RTS_DEF_LIBS) rts/libs.depend rts/dist/build/$$(LIBFFI_DLL)
 +$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(ALL_RTS_DEF_LIBS) rts/libs.depend
  	"$$(RM)" $$(RM_OPTS) $$@
  	"$$(rts_dist_HC)" -package-name rts -shared -dynamic -dynload deploy \
- 	  -no-auto-link-packages -Lrts/dist/build -lffi-5 `cat rts/libs.depend` $$(rts_$1_OBJS) $$(ALL_RTS_DEF_LIBS) -o $$@
+ 	  -no-auto-link-packages -Lrts/dist/build -l$(LIBFFI_WINDOWS_LIB) `cat rts/libs.depend` $$(rts_$1_OBJS) $$(ALL_RTS_DEF_LIBS) -o $$@
  else
 -$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(rts_$1_DTRACE_OBJS) rts/libs.depend rts/dist/build/libffi$$(soext)
 +$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(rts_$1_DTRACE_OBJS) rts/libs.depend
  	"$$(RM)" $$(RM_OPTS) $$@
  	"$$(rts_dist_HC)" -package-name rts -shared -dynamic -dynload deploy \
  	  -no-auto-link-packages -Lrts/dist/build -lffi `cat rts/libs.depend` $$(rts_$1_OBJS) \
-@@ -188,9 +187,9 @@
+@@ -193,9 +193,9 @@
  endif
  endif
  else
@@ -69,12 +59,12 @@ Index: ghc-7.4.0.20111219/rts/ghc.mk
  		$$(AR_OPTS_STAGE1) $$(EXTRA_AR_ARGS_STAGE1) $$@
  endif
  
-@@ -504,10 +503,8 @@
+@@ -509,10 +509,8 @@
  # installing
  
  INSTALL_LIBS += $(ALL_RTS_LIBS)
 -INSTALL_LIBS += $(wildcard rts/dist/build/libffi$(soext)*)
--INSTALL_LIBS += $(wildcard rts/dist/build/libffi-5.dll)
+-INSTALL_LIBS += $(wildcard rts/dist/build/$(LIBFFI_DLL))
  
 -install: install_libffi_headers
 +install:
diff --git a/ghc.spec b/ghc.spec
index 988509c..ec3af0c 100644
--- a/ghc.spec
+++ b/ghc.spec
@@ -2,10 +2,10 @@
 # (disabled for other archs in ghc-rpm-macros)
 
 # To bootstrap build a new version of ghc, uncomment the following:
-#%%global ghc_bootstrapping 1
-#%%{?ghc_bootstrap}
-#%%global without_testsuite 1
-#%%global without_haddock 1
+%global ghc_bootstrapping 1
+%{?ghc_bootstrap}
+%global without_testsuite 1
+%global without_haddock 1
 
 # To do a test build instead with shared libs, uncomment the following:
 #%%global ghc_bootstrapping 1
@@ -24,25 +24,35 @@
 Name: ghc
 # part of haskell-platform
 # ghc must be rebuilt after a version bump to avoid ABI change problems
-Version: 7.4.2
+Version: 7.6.3
 # Since library subpackages are versioned:
-# - release can only be reset if all library versions get bumped simultaneously
-#   (eg for a major release)
-# - minor release numbers should be incremented monotonically
-Release: 11%{?dist}
+# - release can only be reset if *all* library versions get bumped simultaneously
+#   (sometimes after a major release)
+# - minor release numbers for a branch should be incremented monotonically
+Release: 11.9%{?dist}
 Summary: Glasgow Haskell Compiler
-# fedora ghc has been bootstrapped on
-# %{ix86} x86_64 ppc alpha sparcv9 ppc64 armv7hl armv5tel s390 s390x
-# see ghc_arches defined in /etc/rpm/macros.ghc-srpm by redhat-rpm-macros
-ExcludeArch: sparc64
+
 License: %BSDHaskellReport
+URL: http://haskell.org/ghc/
 Source0: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
 %if %{undefined without_testsuite}
 Source2: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-testsuite.tar.bz2
 %endif
 Source3: ghc-doc-index.cron
 Source4: ghc-doc-index
-URL: http://haskell.org/ghc/
+# absolute haddock path (was for html/libraries -> libraries)
+Patch1: ghc-gen_contents_index-haddock-path.patch
+# fedora does not allow copy libraries
+Patch4: ghc-use-system-libffi.patch
+# add libffi include dir to ghc wrapper for archs using gcc/llc
+Patch10: ghc-wrapper-libffi-include.patch
+# disable building HS*.o libs for ghci
+Patch12: ghc-7.4.2-Cabal-disable-ghci-libs.patch
+
+# fedora ghc has been bootstrapped on
+# %{ix86} x86_64 ppc alpha sparcv9 ppc64 armv7hl armv5tel s390 s390x
+# see ghc_arches defined in /etc/rpm/macros.ghc-srpm by redhat-rpm-macros
+ExcludeArch: sparc64
 Obsoletes: ghc-dph-base < 0.5, ghc-dph-base-devel < 0.5, ghc-dph-base-prof < 0.5
 Obsoletes: ghc-dph-par < 0.5, ghc-dph-par-devel < 0.5, ghc-dph-par-prof < 0.5
 Obsoletes: ghc-dph-prim-interface < 0.5, ghc-dph-prim-interface-devel < 0.5, ghc-dph-interface-prim-prof < 0.5
@@ -53,7 +63,7 @@ Obsoletes: ghc-feldspar-language < 0.4, ghc-feldspar-language-devel < 0.4, ghc-f
 %if %{undefined ghc_bootstrapping}
 BuildRequires: ghc-compiler = %{version}
 %endif
-BuildRequires: ghc-rpm-macros >= 0.91
+BuildRequires: ghc-rpm-macros-extra
 BuildRequires: ghc-bytestring-devel
 BuildRequires: ghc-containers-devel
 BuildRequires: ghc-directory-devel
@@ -73,31 +83,10 @@ BuildRequires: python
 %ifarch armv7hl armv5tel
 BuildRequires: llvm >= 3.0
 %endif
-%ifarch armv7hl
-BuildRequires: autoconf
-%endif
 Requires: ghc-compiler = %{version}-%{release}
 Requires: ghc-doc-index = %{version}-%{release}
 Requires: ghc-libraries = %{version}-%{release}
 Requires: ghc-ghc-devel = %{version}-%{release}
-# absolute haddock path (was for html/libraries -> libraries)
-Patch1: ghc-6.12.1-gen_contents_index-haddock-path.patch
-# type-level too big so skip it in gen_contents_index
-Patch2: ghc-gen_contents_index-type-level.patch
-# fedora does not allow copy libraries
-Patch4: ghc-use-system-libffi.patch
-Patch7: ghc-powerpc-pthread.patch
-# http://hackage.haskell.org/trac/ghc/ticket/4999
-Patch8: ghc-powerpc-linker-mmap.patch
-# fix dynamic linking of executables using Template Haskell
-Patch9: Cabal-fix-dynamic-exec-for-TH.patch
-# add libffi include dir to ghc wrapper for archs using gcc/llc
-Patch10: ghc-wrapper-libffi-include.patch
-# latest arm hf patch
-Patch11: ghc-7.4-add-support-for-ARM-hard-float-ABI-fixes-5914.patch
-# disable building HS*.o libs for ghci
-Patch12: ghc-7.4.2-Cabal-disable-ghci-libs.patch
-Patch17: ghc-7.4-silence-gen_contents_index.patch
 
 %description
 GHC is a state-of-the-art, open source, compiler and interactive environment
@@ -161,31 +150,30 @@ documention.
 %global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release}
 
 %if %{defined ghclibdir}
-%ghc_lib_subpackage Cabal 1.14.0
-%ghc_lib_subpackage -l %BSDHaskellReport array 0.4.0.0
-%ghc_lib_subpackage -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base 4.5.1.0
-%ghc_lib_subpackage binary 0.5.1.0
-%ghc_lib_subpackage bytestring 0.9.2.1
-%ghc_lib_subpackage -l %BSDHaskellReport containers 0.4.2.1
-%ghc_lib_subpackage -l %BSDHaskellReport deepseq 1.3.0.0
-%ghc_lib_subpackage -l %BSDHaskellReport directory 1.1.0.2
-%ghc_lib_subpackage -l %BSDHaskellReport extensible-exceptions 0.1.1.4
-%ghc_lib_subpackage filepath 1.3.0.0
+%ghc_lib_subpackage Cabal 1.16.0
+%ghc_lib_subpackage -l %BSDHaskellReport array 0.4.0.1
+%ghc_lib_subpackage -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base 4.6.0.1
+%ghc_lib_subpackage binary 0.5.1.1
+%ghc_lib_subpackage bytestring 0.10.0.2
+%ghc_lib_subpackage -l %BSDHaskellReport containers 0.5.0.0
+%ghc_lib_subpackage -l %BSDHaskellReport deepseq 1.3.0.1
+%ghc_lib_subpackage -l %BSDHaskellReport directory 1.2.0.1
+%ghc_lib_subpackage filepath 1.3.0.1
 %define ghc_pkg_obsoletes ghc-bin-package-db-devel < 0.0.0.0-12
 # in ghc not ghc-libraries:
 %ghc_lib_subpackage -x ghc %{ghc_version_override}
 %undefine ghc_pkg_obsoletes
-%ghc_lib_subpackage -l HaskellReport haskell2010 1.1.0.1
-%ghc_lib_subpackage -l HaskellReport haskell98 2.0.0.1
-%ghc_lib_subpackage hoopl 3.8.7.3
-%ghc_lib_subpackage hpc 0.5.1.1
-%ghc_lib_subpackage -l %BSDHaskellReport old-locale 1.0.0.4
-%ghc_lib_subpackage -l %BSDHaskellReport old-time 1.1.0.0
+%ghc_lib_subpackage -l HaskellReport haskell2010 1.1.1.0
+%ghc_lib_subpackage -l HaskellReport haskell98 2.0.0.2
+%ghc_lib_subpackage hoopl 3.9.0.0
+%ghc_lib_subpackage hpc 0.6.0.0
+%ghc_lib_subpackage -l %BSDHaskellReport old-locale 1.0.0.5
+%ghc_lib_subpackage -l %BSDHaskellReport old-time 1.1.0.1
 %ghc_lib_subpackage pretty 1.1.1.0
-%ghc_lib_subpackage -l %BSDHaskellReport process 1.1.0.1
-%ghc_lib_subpackage template-haskell 2.7.0.0
-%ghc_lib_subpackage time 1.4
-%ghc_lib_subpackage unix 2.5.1.1
+%ghc_lib_subpackage -l %BSDHaskellReport process 1.1.0.2
+%ghc_lib_subpackage template-haskell 2.8.0.0
+%ghc_lib_subpackage time 1.4.0.1
+%ghc_lib_subpackage unix 2.6.0.1
 %endif
 
 %global version %{ghc_version_override}
@@ -206,37 +194,28 @@ Obsoletes: ghc-libs < 7.0.1-3
 This is a meta-package for all the development library packages in GHC
 except the ghc library, which is installed by the toplevel ghc metapackage.
 
+
 %prep
 %setup -q -n %{name}-%{version} %{!?without_testsuite:-b2}
 
-# tweaks to gen_contents_index
+# gen_contents_index: use absolute path for haddock
 %patch1 -p1 -b .orig
-%patch2 -p1
-%patch17 -p1
 
 # make sure we don't use these
-rm -r ghc-tarballs/{mingw,perl}
+rm -r ghc-tarballs/{mingw*,perl}
 # use system libffi
 %patch4 -p1 -b .libffi
 rm -r ghc-tarballs/libffi
 mkdir -p rts/dist/build
 ln -s $(pkg-config --variable=includedir libffi)/*.h rts/dist/build
 
-%patch9 -p1 -b .orig
-
 %ifnarch %{ix86} x86_64
 %patch10 -p1 -b .10-ffi
 %endif
 
-# ARM patches
-%ifarch armv7hl
-# touches aclocal.m4
-%patch11 -p1 -b .arm
-autoreconf
-%endif
-
 %patch12 -p1 -b .orig
 
+
 %build
 # http://hackage.haskell.org/trac/ghc/wiki/Platforms
 # cf https://github.com/gentoo-haskell/gentoo-haskell/tree/master/dev-lang/ghc
@@ -261,6 +240,7 @@ export CFLAGS="${CFLAGS:-%optflags}"
 
 make %{?_smp_mflags}
 
+
 %install
 make DESTDIR=%{buildroot} install
 
@@ -268,21 +248,19 @@ for i in %{ghc_packages_list}; do
 name=$(echo $i | sed -e "s/\(.*\)-.*/\1/")
 ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/")
 %ghc_gen_filelists $name $ver
-echo "%doc libraries/$name/LICENSE" >> ghc-$name%{?ghc_without_shared:-devel}.files
+echo "%doc libraries/$name/LICENSE" >> ghc-$name.files
 done
 
 # ghc-base should own ghclibdir
-echo "%dir %{ghclibdir}" >> ghc-base%{?ghc_without_shared:-devel}.files
+echo "%dir %{ghclibdir}" >> ghc-base.files
 
 %ghc_gen_filelists bin-package-db 0.0.0.0
 %ghc_gen_filelists ghc %{ghc_version_override}
-%ghc_gen_filelists ghc-prim 0.2.0.0
-%ghc_gen_filelists integer-gmp 0.4.0.0
+%ghc_gen_filelists ghc-prim 0.3.0.0
+%ghc_gen_filelists integer-gmp 0.5.0.0
 
 %define merge_filelist()\
-%if %{undefined ghc_without_shared}\
 cat ghc-%1.files >> ghc-%2.files\
-%endif\
 cat ghc-%1-devel.files >> ghc-%2-devel.files\
 cp -p libraries/%1/LICENSE libraries/LICENSE.%1\
 echo "%doc libraries/LICENSE.%1" >> ghc-%2.files
@@ -318,6 +296,7 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ghc
 install -p --mode=0755 %SOURCE4 %{buildroot}%{_bindir}/ghc-doc-index
 %endif
 
+
 %check
 # stolen from ghc6/debian/rules:
 # Do some very simple tests that the compiler actually works
@@ -343,6 +322,7 @@ rm testghc/*
 make test
 %endif
 
+
 %post compiler
 # Alas, GHC, Hugs, and nhc all come with different set of tools in
 # addition to a runFOO:
@@ -367,6 +347,7 @@ if [ "$1" = 0 ]; then
   update-alternatives --remove hsc2hs     %{_bindir}/hsc2hs-ghc
 fi
 
+
 %files
 
 %files compiler
@@ -381,7 +362,7 @@ fi
 %{_bindir}/hpc
 %ghost %{_bindir}/hsc2hs
 %{_bindir}/hsc2hs-ghc
-%{_bindir}/runghc
+%{_bindir}/runghc*
 %ghost %{_bindir}/runhaskell
 %{_bindir}/runhaskell-ghc
 %{ghclibdir}/ghc
@@ -417,9 +398,10 @@ fi
 %dir %{ghcdocbasedir}/libraries
 %{ghcdocbasedir}/libraries/frames.html
 %{ghcdocbasedir}/libraries/gen_contents_index
-%{ghcdocbasedir}/libraries/hscolour.css
+%{ghcdocbasedir}/libraries/hslogo-16.png
 %{ghcdocbasedir}/libraries/ocean.css
 %{ghcdocbasedir}/libraries/prologue.txt
+%{ghcdocbasedir}/libraries/synopsis.png
 %{ghcdocbasedir}/index.html
 %ghost %{ghcdocbasedir}/libraries/doc-index*.html
 %ghost %{ghcdocbasedir}/libraries/haddock-util.js
@@ -436,7 +418,20 @@ fi
 
 %files libraries
 
+
 %changelog
+* Mon Apr 22 2013 Jens Petersen <petersen at redhat.com> - 7.6.3-11.9
+- bootstrap 7.6.3, see release notes:
+  http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/release-7-6-1.html
+  http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/release-7-6-2.html
+  http://www.haskell.org/ghc/docs/7.6.3/html/users_guide/release-7-6-3.html
+- all library versions bumped except pretty
+- Cabal-fix-dynamic-exec-for-TH.patch,
+  ghc-7.4-add-support-for-ARM-hard-float-ABI-fixes-5914.patch, and
+  ghc-7.4-silence-gen_contents_index.patch are no longer needed
+- build with ghc-rpm-macros-extra
+- no longer filter type-level package from haddock index
+
 * Tue Feb  5 2013 Jens Petersen <petersen at redhat.com> - 7.4.2-11
 - ghclibdir should be owned at runtime by ghc-base instead of ghc-compiler
   (thanks Michael Scherer, #907671)
diff --git a/sources b/sources
index 46b12d9..40df58f 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-267462db5c5a7c245fb26361b77007c4  ghc-7.4.2-src.tar.bz2
-528005749c761fe6c12a0079bd84fb90  ghc-7.4.2-testsuite.tar.bz2
+986d1f90ca30d60f7b2820d75c6b8ea7  ghc-7.6.3-src.tar.bz2
+66aa6177a31cc4b9d7eeb55cb1514918  ghc-7.6.3-testsuite.tar.bz2


More information about the scm-commits mailing list