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
epel9
Jens Petersen 12 years ago
parent ec42ddfe25
commit 46792007c9

2
.gitignore vendored

@ -9,3 +9,5 @@ testsuite-6.12.3.tar.bz2
/ghc-7.4.1-src.tar.bz2 /ghc-7.4.1-src.tar.bz2
/ghc-7.4.2-src.tar.bz2 /ghc-7.4.2-src.tar.bz2
/ghc-7.4.2-testsuite.tar.bz2 /ghc-7.4.2-testsuite.tar.bz2
/ghc-7.6.3-src.tar.bz2
/ghc-7.6.3-testsuite.tar.bz2

@ -1,33 +0,0 @@
diff -u ghc-7.2.0.20110728/libraries/Cabal/cabal/Distribution/Simple/GHC.hs.orig ghc-7.2.0.20110728/libraries/Cabal/cabal/Distribution/Simple/GHC.hs
--- ghc-7.2.0.20110728/libraries/Cabal/Cabal/Distribution/Simple/GHC.hs.orig 2011-07-29 02:12:09.000000000 +0900
+++ ghc-7.2.0.20110728/libraries/Cabal/Cabal/Distribution/Simple/GHC.hs 2011-08-05 18:08:05.192042529 +0900
@@ -778,7 +778,10 @@
++ ["-L"++libDir | libDir <- extraLibDirs exeBi]
++ concat [["-framework", f] | f <- PD.frameworks exeBi]
++ if dynExe
- then ["-dynamic"]
+ then ["-dynamic",
+ "-hisuf", "dyn_hi",
+ "-osuf", "dyn_o"
+ ]
else []
++ if profExe
then ["-prof",
@@ -787,13 +790,14 @@
] ++ ghcProfOptions exeBi
else []
- -- For building exe's for profiling that use TH we actually
+ -- For building exe's for profiling or dynamic that use TH we actually
-- have to build twice, once without profiling and the again
-- with profiling. This is because the code that TH needs to
-- run at compile time needs to be the vanilla ABI so it can
-- be loaded up and run by the compiler.
- when (withProfExe lbi && EnableExtension TemplateHaskell `elem` allExtensions exeBi)
- (runGhcProg (binArgs False (withDynExe lbi) False))
+ when ((withProfExe lbi || withDynExe lbi) &&
+ EnableExtension TemplateHaskell `elem` allExtensions exeBi)
+ (runGhcProg (binArgs False False False))
runGhcProg (binArgs True (withDynExe lbi) (withProfExe lbi))

@ -1,12 +0,0 @@
diff -u ghc-6.12.1/libraries/gen_contents_index\~ ghc-6.12.1/libraries/gen_contents_index
--- ghc-6.12.1/libraries/gen_contents_index~ 2009-12-11 04:11:33.000000000 +1000
+++ ghc-6.12.1/libraries/gen_contents_index 2009-12-12 21:08:02.000000000 +1000
@@ -20,7 +20,7 @@
done
;;
*)
- 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`
for HADDOCK_FILE in $HADDOCK_FILES

File diff suppressed because it is too large Load Diff

@ -1,11 +0,0 @@
--- ghc-7.4.1/libraries/gen_contents_index~ 2012-09-30 16:14:39.368295240 +0900
+++ ghc-7.4.1/libraries/gen_contents_index 2012-10-30 19:12:10.017398594 +0900
@@ -50,7 +50,7 @@
esac
# Now create the combined contents and index pages
-echo $HADDOCK_ARGS
+#echo $HADDOCK_ARGS
$HADDOCK --gen-index --gen-contents -o . \
-t "Haskell Hierarchical Libraries" \
-p "prologue.txt" \

@ -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"

@ -1,12 +0,0 @@
diff -u ghc-6.12.3/libraries/gen_contents_index\~ ghc-6.12.3/libraries/gen_contents_index
--- ghc-6.12.3/libraries/gen_contents_index~ 2010-09-14 13:03:12.000000000 +1000
+++ ghc-6.12.3/libraries/gen_contents_index 2010-11-04 16:41:32.000000000 +1000
@@ -24,7 +24,7 @@
*)
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_FILES=`ls -1 */*.haddock | grep -v '/ghc\.haddock' | grep -v '/type-level\.haddock' | sort`
for HADDOCK_FILE in $HADDOCK_FILES
do
NAME_VERSION=`echo "$HADDOCK_FILE" | sed 's#/.*##'`

@ -1,34 +0,0 @@
diff -up ghc-7.0.2/rts/Linker.c.fix-powerpc ghc-7.0.2/rts/Linker.c
--- ghc-7.0.2/rts/Linker.c.fix-powerpc 2011-02-28 19:10:08.000000000 +0100
+++ ghc-7.0.2/rts/Linker.c 2011-04-25 22:20:10.781092305 +0200
@@ -70,11 +70,12 @@
#include <sys/wait.h>
#endif
-#if defined(linux_HOST_OS ) || defined(freebsd_HOST_OS) || \
- defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \
- defined(openbsd_HOST_OS ) || \
- ( defined(darwin_HOST_OS ) && !defined(powerpc_HOST_ARCH) )
-/* Don't use mmap on powerpc-apple-darwin as mmap doesn't support
+#if !defined(powerpc_HOST_ARCH) && \
+ ( defined(linux_HOST_OS ) || defined(freebsd_HOST_OS) || \
+ defined(dragonfly_HOST_OS) || defined(netbsd_HOST_OS ) || \
+ defined(openbsd_HOST_OS ) || defined(darwin_HOST_OS ) || \
+ defined(kfreebsdgnu_HOST_OS) )
+/* Don't use mmap on powerpc_HOST_ARCH as mmap doesn't support
* reallocating but we need to allocate jump islands just after each
* object images. Otherwise relative branches to jump islands can fail
* due to 24-bits displacement overflow.
@@ -2436,7 +2437,11 @@ static void ocFlushInstructionCacheFrom(
static void ocFlushInstructionCache( ObjectCode *oc )
{
/* The main object code */
- ocFlushInstructionCacheFrom(oc->image + oc->misalignment, oc->fileSize);
+ ocFlushInstructionCacheFrom(oc->image
+#ifdef darwin_HOST_OS
+ + oc->misalignment
+#endif
+ , oc->fileSize);
/* Jump Islands */
ocFlushInstructionCacheFrom(oc->symbol_extras, sizeof(SymbolExtra) * oc->n_symbol_extras);

@ -1,18 +0,0 @@
diff -up ghc-7.0.2/aclocal.m4.pthread ghc-7.0.2/aclocal.m4
--- ghc-7.0.2/aclocal.m4.pthread 2011-02-28 13:10:03.000000000 -0500
+++ ghc-7.0.2/aclocal.m4 2011-04-20 07:12:36.489772545 -0400
@@ -1385,7 +1385,7 @@ AC_MSG_NOTICE(Building in-tree ghc-pwd)
dnl except we don't want to have to know what make is called. Sigh.
rm -rf utils/ghc-pwd/dist-boot
mkdir utils/ghc-pwd/dist-boot
- if ! "$WithGhc" -v0 -no-user-package-conf -hidir utils/ghc-pwd/dist-boot -odir utils/ghc-pwd/dist-boot -stubdir utils/ghc-pwd/dist-boot --make utils/ghc-pwd/Main.hs -o utils/ghc-pwd/dist-boot/ghc-pwd
+ if ! "$WithGhc" -optl-pthread -v0 -no-user-package-conf -hidir utils/ghc-pwd/dist-boot -odir utils/ghc-pwd/dist-boot -stubdir utils/ghc-pwd/dist-boot --make utils/ghc-pwd/Main.hs -o utils/ghc-pwd/dist-boot/ghc-pwd
then
AC_MSG_ERROR([Building ghc-pwd failed])
fi
diff -up ghc-7.0.2/ghc/ghc.wrapper.pthread ghc-7.0.2/ghc/ghc.wrapper
--- ghc-7.0.2/ghc/ghc.wrapper.pthread 2011-04-20 09:58:50.307894773 -0400
+++ ghc-7.0.2/ghc/ghc.wrapper 2011-04-20 09:59:14.477894370 -0400
@@ -1 +1 @@
-exec "$executablename" -B"$topdir" -pgmc "$pgmgcc" -pgma "$pgmgcc" -pgml "$pgmgcc" -pgmP "$pgmgcc -E -undef -traditional" ${1+"$@"}
+exec "$executablename" -B"$topdir" -pgmc "$pgmgcc" -pgma "$pgmgcc" -pgml "$pgmgcc" -pgmP "$pgmgcc -E -undef -traditional" -optl-pthread ${1+"$@"}

@ -1,10 +1,10 @@
This patch could be replaced by a configure call if This patch could be replaced by a configure call if
http://hackage.haskell.org/trac/ghc/ticket/5743 were fixed. 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.6.1.orig/rts/package.conf.in 2012-09-04 19:10:15.000000000 +0200
+++ ghc-7.4.0.20111219/rts/package.conf.in 2011-12-21 23:21:04.000000000 +0100 +++ ghc-7.6.1/rts/package.conf.in 2012-10-08 13:06:55.167887121 +0200
@@ -24,8 +24,9 @@ @@ -24,8 +24,9 @@
hs-libraries: "HSrts" hs-libraries: "HSrts"
@ -16,48 +16,38 @@ Index: ghc-7.4.0.20111219/rts/package.conf.in
#endif #endif
#ifdef HAVE_LIBRT #ifdef HAVE_LIBRT
, "rt" , "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.6.1.orig/ghc.mk 2012-09-04 19:10:15.000000000 +0200
+++ ghc-7.4.0.20111219/ghc.mk 2011-12-21 23:21:04.000000000 +0100 +++ ghc-7.6.1/ghc.mk 2012-10-08 13:06:55.171887120 +0200
@@ -579,7 +579,6 @@ @@ -600,7 +600,6 @@
driver/ghci \ $(MAYBE_GHCI) \
driver/ghc \ driver/ghc \
driver/haddock \ driver/haddock \
- libffi \ - libffi \
includes \ includes \
rts 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.6.1.orig/rts/ghc.mk 2012-09-04 19:10:15.000000000 +0200
+++ ghc-7.4.0.20111219/rts/ghc.mk 2011-12-21 23:23:52.000000000 +0100 +++ ghc-7.6.1/rts/ghc.mk 2012-10-08 13:08:52.019882891 +0200
@@ -86,8 +86,7 @@ @@ -177,12 +177,12 @@
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 @@
# Making a shared library for the RTS. # Making a shared library for the RTS.
ifneq "$$(findstring dyn, $1)" "" ifneq "$$(findstring dyn, $1)" ""
ifeq "$$(HOSTPLATFORM)" "i386-unknown-mingw32" ifeq "$$(HostOS_CPP)" "mingw32"
-$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(ALL_RTS_DEF_LIBS) rts/libs.depend rts/dist/build/libffi-5.dll -$$(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 +$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(ALL_RTS_DEF_LIBS) rts/libs.depend
"$$(RM)" $$(RM_OPTS) $$@ "$$(RM)" $$(RM_OPTS) $$@
"$$(rts_dist_HC)" -package-name rts -shared -dynamic -dynload deploy \ "$$(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 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 rts/dist/build/libffi$$(soext)
+$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(rts_$1_DTRACE_OBJS) rts/libs.depend +$$(rts_$1_LIB) : $$(rts_$1_OBJS) $$(rts_$1_DTRACE_OBJS) rts/libs.depend
"$$(RM)" $$(RM_OPTS) $$@ "$$(RM)" $$(RM_OPTS) $$@
"$$(rts_dist_HC)" -package-name rts -shared -dynamic -dynload deploy \ "$$(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) \ -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
endif endif
else else
@ -69,12 +59,12 @@ Index: ghc-7.4.0.20111219/rts/ghc.mk
$$(AR_OPTS_STAGE1) $$(EXTRA_AR_ARGS_STAGE1) $$@ $$(AR_OPTS_STAGE1) $$(EXTRA_AR_ARGS_STAGE1) $$@
endif endif
@@ -504,10 +503,8 @@ @@ -509,10 +509,8 @@
# installing # installing
INSTALL_LIBS += $(ALL_RTS_LIBS) INSTALL_LIBS += $(ALL_RTS_LIBS)
-INSTALL_LIBS += $(wildcard rts/dist/build/libffi$(soext)*) -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: install_libffi_headers
+install: +install:

@ -2,10 +2,10 @@
# (disabled for other archs in ghc-rpm-macros) # (disabled for other archs in ghc-rpm-macros)
# To bootstrap build a new version of ghc, uncomment the following: # To bootstrap build a new version of ghc, uncomment the following:
#%%global ghc_bootstrapping 1 %global ghc_bootstrapping 1
#%%{?ghc_bootstrap} %{?ghc_bootstrap}
#%%global without_testsuite 1 %global without_testsuite 1
#%%global without_haddock 1 %global without_haddock 1
# To do a test build instead with shared libs, uncomment the following: # To do a test build instead with shared libs, uncomment the following:
#%%global ghc_bootstrapping 1 #%%global ghc_bootstrapping 1
@ -24,25 +24,35 @@
Name: ghc Name: ghc
# part of haskell-platform # part of haskell-platform
# ghc must be rebuilt after a version bump to avoid ABI change problems # 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: # Since library subpackages are versioned:
# - release can only be reset if all library versions get bumped simultaneously # - release can only be reset if *all* library versions get bumped simultaneously
# (eg for a major release) # (sometimes after a major release)
# - minor release numbers should be incremented monotonically # - minor release numbers for a branch should be incremented monotonically
Release: 11%{?dist} Release: 11.9%{?dist}
Summary: Glasgow Haskell Compiler 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 License: %BSDHaskellReport
URL: http://haskell.org/ghc/
Source0: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2 Source0: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
%if %{undefined without_testsuite} %if %{undefined without_testsuite}
Source2: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-testsuite.tar.bz2 Source2: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-testsuite.tar.bz2
%endif %endif
Source3: ghc-doc-index.cron Source3: ghc-doc-index.cron
Source4: ghc-doc-index 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-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-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 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} %if %{undefined ghc_bootstrapping}
BuildRequires: ghc-compiler = %{version} BuildRequires: ghc-compiler = %{version}
%endif %endif
BuildRequires: ghc-rpm-macros >= 0.91 BuildRequires: ghc-rpm-macros-extra
BuildRequires: ghc-bytestring-devel BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel BuildRequires: ghc-containers-devel
BuildRequires: ghc-directory-devel BuildRequires: ghc-directory-devel
@ -73,31 +83,10 @@ BuildRequires: python
%ifarch armv7hl armv5tel %ifarch armv7hl armv5tel
BuildRequires: llvm >= 3.0 BuildRequires: llvm >= 3.0
%endif %endif
%ifarch armv7hl
BuildRequires: autoconf
%endif
Requires: ghc-compiler = %{version}-%{release} Requires: ghc-compiler = %{version}-%{release}
Requires: ghc-doc-index = %{version}-%{release} Requires: ghc-doc-index = %{version}-%{release}
Requires: ghc-libraries = %{version}-%{release} Requires: ghc-libraries = %{version}-%{release}
Requires: ghc-ghc-devel = %{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 %description
GHC is a state-of-the-art, open source, compiler and interactive environment 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} %global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release}
%if %{defined ghclibdir} %if %{defined ghclibdir}
%ghc_lib_subpackage Cabal 1.14.0 %ghc_lib_subpackage Cabal 1.16.0
%ghc_lib_subpackage -l %BSDHaskellReport array 0.4.0.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.5.1.0 %ghc_lib_subpackage -l %BSDHaskellReport -c gmp-devel%{?_isa},libffi-devel%{?_isa} base 4.6.0.1
%ghc_lib_subpackage binary 0.5.1.0 %ghc_lib_subpackage binary 0.5.1.1
%ghc_lib_subpackage bytestring 0.9.2.1 %ghc_lib_subpackage bytestring 0.10.0.2
%ghc_lib_subpackage -l %BSDHaskellReport containers 0.4.2.1 %ghc_lib_subpackage -l %BSDHaskellReport containers 0.5.0.0
%ghc_lib_subpackage -l %BSDHaskellReport deepseq 1.3.0.0 %ghc_lib_subpackage -l %BSDHaskellReport deepseq 1.3.0.1
%ghc_lib_subpackage -l %BSDHaskellReport directory 1.1.0.2 %ghc_lib_subpackage -l %BSDHaskellReport directory 1.2.0.1
%ghc_lib_subpackage -l %BSDHaskellReport extensible-exceptions 0.1.1.4 %ghc_lib_subpackage filepath 1.3.0.1
%ghc_lib_subpackage filepath 1.3.0.0
%define ghc_pkg_obsoletes ghc-bin-package-db-devel < 0.0.0.0-12 %define ghc_pkg_obsoletes ghc-bin-package-db-devel < 0.0.0.0-12
# in ghc not ghc-libraries: # in ghc not ghc-libraries:
%ghc_lib_subpackage -x ghc %{ghc_version_override} %ghc_lib_subpackage -x ghc %{ghc_version_override}
%undefine ghc_pkg_obsoletes %undefine ghc_pkg_obsoletes
%ghc_lib_subpackage -l HaskellReport haskell2010 1.1.0.1 %ghc_lib_subpackage -l HaskellReport haskell2010 1.1.1.0
%ghc_lib_subpackage -l HaskellReport haskell98 2.0.0.1 %ghc_lib_subpackage -l HaskellReport haskell98 2.0.0.2
%ghc_lib_subpackage hoopl 3.8.7.3 %ghc_lib_subpackage hoopl 3.9.0.0
%ghc_lib_subpackage hpc 0.5.1.1 %ghc_lib_subpackage hpc 0.6.0.0
%ghc_lib_subpackage -l %BSDHaskellReport old-locale 1.0.0.4 %ghc_lib_subpackage -l %BSDHaskellReport old-locale 1.0.0.5
%ghc_lib_subpackage -l %BSDHaskellReport old-time 1.1.0.0 %ghc_lib_subpackage -l %BSDHaskellReport old-time 1.1.0.1
%ghc_lib_subpackage pretty 1.1.1.0 %ghc_lib_subpackage pretty 1.1.1.0
%ghc_lib_subpackage -l %BSDHaskellReport process 1.1.0.1 %ghc_lib_subpackage -l %BSDHaskellReport process 1.1.0.2
%ghc_lib_subpackage template-haskell 2.7.0.0 %ghc_lib_subpackage template-haskell 2.8.0.0
%ghc_lib_subpackage time 1.4 %ghc_lib_subpackage time 1.4.0.1
%ghc_lib_subpackage unix 2.5.1.1 %ghc_lib_subpackage unix 2.6.0.1
%endif %endif
%global version %{ghc_version_override} %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 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. except the ghc library, which is installed by the toplevel ghc metapackage.
%prep %prep
%setup -q -n %{name}-%{version} %{!?without_testsuite:-b2} %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 %patch1 -p1 -b .orig
%patch2 -p1
%patch17 -p1
# make sure we don't use these # make sure we don't use these
rm -r ghc-tarballs/{mingw,perl} rm -r ghc-tarballs/{mingw*,perl}
# use system libffi # use system libffi
%patch4 -p1 -b .libffi %patch4 -p1 -b .libffi
rm -r ghc-tarballs/libffi rm -r ghc-tarballs/libffi
mkdir -p rts/dist/build mkdir -p rts/dist/build
ln -s $(pkg-config --variable=includedir libffi)/*.h rts/dist/build ln -s $(pkg-config --variable=includedir libffi)/*.h rts/dist/build
%patch9 -p1 -b .orig
%ifnarch %{ix86} x86_64 %ifnarch %{ix86} x86_64
%patch10 -p1 -b .10-ffi %patch10 -p1 -b .10-ffi
%endif %endif
# ARM patches
%ifarch armv7hl
# touches aclocal.m4
%patch11 -p1 -b .arm
autoreconf
%endif
%patch12 -p1 -b .orig %patch12 -p1 -b .orig
%build %build
# http://hackage.haskell.org/trac/ghc/wiki/Platforms # http://hackage.haskell.org/trac/ghc/wiki/Platforms
# cf https://github.com/gentoo-haskell/gentoo-haskell/tree/master/dev-lang/ghc # cf https://github.com/gentoo-haskell/gentoo-haskell/tree/master/dev-lang/ghc
@ -261,6 +240,7 @@ export CFLAGS="${CFLAGS:-%optflags}"
make %{?_smp_mflags} make %{?_smp_mflags}
%install %install
make DESTDIR=%{buildroot} install make DESTDIR=%{buildroot} install
@ -268,21 +248,19 @@ for i in %{ghc_packages_list}; do
name=$(echo $i | sed -e "s/\(.*\)-.*/\1/") name=$(echo $i | sed -e "s/\(.*\)-.*/\1/")
ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/") ver=$(echo $i | sed -e "s/.*-\(.*\)/\1/")
%ghc_gen_filelists $name $ver %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 done
# ghc-base should own ghclibdir # 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 bin-package-db 0.0.0.0
%ghc_gen_filelists ghc %{ghc_version_override} %ghc_gen_filelists ghc %{ghc_version_override}
%ghc_gen_filelists ghc-prim 0.2.0.0 %ghc_gen_filelists ghc-prim 0.3.0.0
%ghc_gen_filelists integer-gmp 0.4.0.0 %ghc_gen_filelists integer-gmp 0.5.0.0
%define merge_filelist()\ %define merge_filelist()\
%if %{undefined ghc_without_shared}\
cat ghc-%1.files >> ghc-%2.files\ cat ghc-%1.files >> ghc-%2.files\
%endif\
cat ghc-%1-devel.files >> ghc-%2-devel.files\ cat ghc-%1-devel.files >> ghc-%2-devel.files\
cp -p libraries/%1/LICENSE libraries/LICENSE.%1\ cp -p libraries/%1/LICENSE libraries/LICENSE.%1\
echo "%doc libraries/LICENSE.%1" >> ghc-%2.files 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 install -p --mode=0755 %SOURCE4 %{buildroot}%{_bindir}/ghc-doc-index
%endif %endif
%check %check
# stolen from ghc6/debian/rules: # stolen from ghc6/debian/rules:
# Do some very simple tests that the compiler actually works # Do some very simple tests that the compiler actually works
@ -343,6 +322,7 @@ rm testghc/*
make test make test
%endif %endif
%post compiler %post compiler
# Alas, GHC, Hugs, and nhc all come with different set of tools in # Alas, GHC, Hugs, and nhc all come with different set of tools in
# addition to a runFOO: # addition to a runFOO:
@ -367,6 +347,7 @@ if [ "$1" = 0 ]; then
update-alternatives --remove hsc2hs %{_bindir}/hsc2hs-ghc update-alternatives --remove hsc2hs %{_bindir}/hsc2hs-ghc
fi fi
%files %files
%files compiler %files compiler
@ -381,7 +362,7 @@ fi
%{_bindir}/hpc %{_bindir}/hpc
%ghost %{_bindir}/hsc2hs %ghost %{_bindir}/hsc2hs
%{_bindir}/hsc2hs-ghc %{_bindir}/hsc2hs-ghc
%{_bindir}/runghc %{_bindir}/runghc*
%ghost %{_bindir}/runhaskell %ghost %{_bindir}/runhaskell
%{_bindir}/runhaskell-ghc %{_bindir}/runhaskell-ghc
%{ghclibdir}/ghc %{ghclibdir}/ghc
@ -417,9 +398,10 @@ fi
%dir %{ghcdocbasedir}/libraries %dir %{ghcdocbasedir}/libraries
%{ghcdocbasedir}/libraries/frames.html %{ghcdocbasedir}/libraries/frames.html
%{ghcdocbasedir}/libraries/gen_contents_index %{ghcdocbasedir}/libraries/gen_contents_index
%{ghcdocbasedir}/libraries/hscolour.css %{ghcdocbasedir}/libraries/hslogo-16.png
%{ghcdocbasedir}/libraries/ocean.css %{ghcdocbasedir}/libraries/ocean.css
%{ghcdocbasedir}/libraries/prologue.txt %{ghcdocbasedir}/libraries/prologue.txt
%{ghcdocbasedir}/libraries/synopsis.png
%{ghcdocbasedir}/index.html %{ghcdocbasedir}/index.html
%ghost %{ghcdocbasedir}/libraries/doc-index*.html %ghost %{ghcdocbasedir}/libraries/doc-index*.html
%ghost %{ghcdocbasedir}/libraries/haddock-util.js %ghost %{ghcdocbasedir}/libraries/haddock-util.js
@ -436,7 +418,20 @@ fi
%files libraries %files libraries
%changelog %changelog
* Mon Apr 22 2013 Jens Petersen <petersen@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@redhat.com> - 7.4.2-11 * Tue Feb 5 2013 Jens Petersen <petersen@redhat.com> - 7.4.2-11
- ghclibdir should be owned at runtime by ghc-base instead of ghc-compiler - ghclibdir should be owned at runtime by ghc-base instead of ghc-compiler
(thanks Michael Scherer, #907671) (thanks Michael Scherer, #907671)

@ -1,2 +1,2 @@
267462db5c5a7c245fb26361b77007c4 ghc-7.4.2-src.tar.bz2 986d1f90ca30d60f7b2820d75c6b8ea7 ghc-7.6.3-src.tar.bz2
528005749c761fe6c12a0079bd84fb90 ghc-7.4.2-testsuite.tar.bz2 66aa6177a31cc4b9d7eeb55cb1514918 ghc-7.6.3-testsuite.tar.bz2

Loading…
Cancel
Save