Compare commits

...

34 Commits
master ... el6

Author SHA1 Message Date
Jens Petersen 6c61b652ce use %ghc_lib_subpackage instead of %ghc_binlib_package 2013-12-26 12:50:34 +09:00
Jens Petersen b25e475e9f fast-forward to current f17 head 2012-05-09 19:07:48 +09:00
Jens Petersen d8ca74ebd1 undo the ppc64 import changes 2012-05-09 18:58:04 +09:00
Jens Petersen fcf7fdceb3 ppc64 import: ghc/html/libraries ghost attribs 2012-05-09 16:30:09 +09:00
Jens Petersen 1500a82a68 ppc64 import: no hscolour 2012-05-09 16:16:21 +09:00
Jens Petersen 96c8c4d889 ppc64 import: turn off bootstrap mode 2012-05-09 16:05:09 +09:00
Jens Petersen f976aa3c45 ppc64 bootstrap: leave docdir/ghc/html 2012-05-09 15:34:44 +09:00
Jens Petersen 36a2410179 ppc64 bootstrap: clean away some files not installed for bootstrap build 2012-05-09 13:46:28 +09:00
Jens Petersen c343fb1775 add attributes for ghost files in ppc64 bootstrap 2012-05-09 13:22:03 +09:00
Jens Petersen ac5b5b9cc1 for ppc64 bootstrap install, go back to source dir after extracting tarball 2012-05-09 13:07:10 +09:00
Jens Petersen 5b5720efeb don't require ghc for ppc64 import 2012-05-09 12:52:39 +09:00
Jens Petersen fe84ed545e import ghc-7.0.4-31.3.fc16.ppc64 together with main build 2012-05-09 11:58:10 +09:00
Jens Petersen 6d25067904 include ppc64 2012-05-08 19:08:52 +09:00
Jens Petersen 8e62d9d1ae Revert back from "import ghc-7.0.4-31.3.fc16.ppc64" bootstrap import 2012-05-08 19:06:59 +09:00
Jens Petersen adc73af90d import ghc-7.0.4-31.3.fc16.ppc64 2012-05-08 18:50:18 +09:00
Jens Petersen 0c65bc32b0 exclude ppc64 from this build 2012-05-08 13:22:57 +09:00
Jens Petersen fc816fcc57 backport f17 ghc-7.0.4-41.1.fc17 bootstrap build 2012-05-07 23:48:16 +09:00
Jens Petersen d8b38d3203 update the use of ghc_binlib_package to new arg syntax 2011-04-25 17:59:55 +09:00
Jens Petersen e2283ca082 drop the redundant obsoletes option for the ghc library 2011-04-25 17:51:16 +09:00
Jens Petersen 35f4c6b8e4 bump ghc-rpm-macros BR to 0.10.52 2011-04-25 17:45:49 +09:00
Jens Petersen f545121e69 provide ghc-devel and backport packaging improvements and cleanup
- provide ghc-devel for compatibility with cabal2spec-0.22.5
- use ghc_without_shared
- drop buildroot and buildroot cleaning
- drop old extralibs bcond
- no longer need to define or clean buildroot
- smp build with max 4 cpus
2011-04-25 17:39:29 +09:00
Jens Petersen 15737c3e04 build without hscolour 2010-09-29 13:28:42 +10:00
Jens Petersen fd71c8fc03 backport 6.12.3 from F14, build without happy 2010-09-29 13:21:46 +10:00
Jens Petersen a8e3297ad3 try building without happy 2010-09-27 15:21:59 +10:00
Jens Petersen 672715e59f Revert "initial bootstrapping from f12"
This reverts commit 7f28e6ad89.
2010-09-27 15:12:37 +10:00
Jens Petersen 59a546fec8 Revert "- fix the arch for i686"
This reverts commit ef7992bcc9.
2010-09-27 12:46:45 +10:00
Jens Petersen 2f1a838d70 Revert "use _target_cpu"
This reverts commit b0a86733cf.
2010-09-27 12:46:45 +10:00
Jens Petersen b0a86733cf use _target_cpu 2010-09-26 00:21:42 +10:00
Jens Petersen ef7992bcc9 - fix the arch for i686 2010-09-25 23:44:44 +10:00
Jens Petersen 7f28e6ad89 initial bootstrapping from f12 2010-09-25 23:10:55 +10:00
Fedora Release Engineering d7e16995f5 dist-git conversion 2010-07-28 15:33:34 +00:00
Bill Nottingham 64daf126a3 Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:55:57 +00:00
Jens Petersen 7610beebef specify the haskell-platform version 2009-09-16 09:16:09 +00:00
Jens Petersen 137dae6c82 Initialize branch F-12 for ghc 2009-09-14 14:30:05 +00:00
17 changed files with 1179 additions and 209 deletions

View File

@ -1,2 +0,0 @@
ghc-6.10.4-src.tar.bz2
ghc-6.10.4-src-extralibs.tar.bz2

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
ghc-6.12.3-src.tar.bz2
testsuite-6.12.3.tar.bz2
/ghc-7.0.1-src.tar.bz2
/testsuite-7.0.1.tar.bz2
/ghc-7.0.2-src.tar.bz2
/ghc-7.0.4-src.tar.bz2
/testsuite-7.0.4.tar.bz2

View File

@ -0,0 +1,145 @@
diff -rN -u old-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Configure.hs new-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Configure.hs
--- old-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Configure.hs 2011-01-22 14:49:22.000000000 +1000
+++ new-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Configure.hs 2011-01-22 14:49:22.000000000 +1000
@@ -488,6 +488,7 @@
withVanillaLib = fromFlag $ configVanillaLib cfg,
withProfLib = fromFlag $ configProfLib cfg,
withSharedLib = fromFlag $ configSharedLib cfg,
+ withDynExe = fromFlag $ configDynExe cfg,
withProfExe = fromFlag $ configProfExe cfg,
withOptimization = fromFlag $ configOptimization cfg,
withGHCiLib = fromFlag $ configGHCiLib cfg,
diff -u ghc-7.0.1/libraries/Cabal/Distribution/Simple/GHC.hs.orig ghc-7.0.1/libraries/Cabal/Distribution/Simple/GHC.hs
--- ghc-7.0.1/libraries/Cabal/Distribution/Simple/GHC.hs.orig 2010-11-13 04:10:09.000000000 +1000
+++ ghc-7.0.1/libraries/Cabal/Distribution/Simple/GHC.hs 2011-01-22 14:52:52.000000000 +1000
@@ -537,6 +537,7 @@
info verbosity "Building C Sources..."
sequence_ [do let (odir,args) = constructCcCmdLine lbi libBi clbi pref
filename verbosity
+ False
(withProfLib lbi)
createDirectoryIfMissingVerbose verbosity True odir
runGhcProg args
@@ -671,7 +672,7 @@
info verbosity "Building C Sources."
sequence_ [do let (odir,args) = constructCcCmdLine lbi exeBi clbi
exeDir filename verbosity
- (withProfExe lbi)
+ (withDynExe lbi) (withProfExe lbi)
createDirectoryIfMissingVerbose verbosity True odir
runGhcProg args
| filename <- cSources exeBi]
@@ -679,7 +680,7 @@
srcMainFile <- findFile (exeDir : hsSourceDirs exeBi) modPath
let cObjs = map (`replaceExtension` objExtension) (cSources exeBi)
- let binArgs linkExe profExe =
+ let binArgs linkExe dynExe profExe =
"--make"
: (if linkExe
then ["-o", targetDir </> exeNameReal]
@@ -691,6 +692,9 @@
++ ["-l"++lib | lib <- extraLibs exeBi]
++ ["-L"++libDir | libDir <- extraLibDirs exeBi]
++ concat [["-framework", f] | f <- PD.frameworks exeBi]
+ ++ if dynExe
+ then ["-dynamic"]
+ else []
++ if profExe
then ["-prof",
"-hisuf", "p_hi",
@@ -704,9 +708,9 @@
-- run at compile time needs to be the vanilla ABI so it can
-- be loaded up and run by the compiler.
when (withProfExe lbi && TemplateHaskell `elem` allExtensions exeBi)
- (runGhcProg (binArgs False False))
+ (runGhcProg (binArgs (withDynExe lbi) False False))
- runGhcProg (binArgs True (withProfExe lbi))
+ runGhcProg (binArgs True (withDynExe lbi) (withProfExe lbi))
-- | Filter the "-threaded" flag when profiling as it does not
-- work with ghc-6.8 and older.
@@ -836,9 +840,9 @@
ierror = error ("internal error: unexpected package db stack: " ++ show dbstack)
constructCcCmdLine :: LocalBuildInfo -> BuildInfo -> ComponentLocalBuildInfo
- -> FilePath -> FilePath -> Verbosity -> Bool
+ -> FilePath -> FilePath -> Verbosity -> Bool -> Bool
->(FilePath,[String])
-constructCcCmdLine lbi bi clbi pref filename verbosity profiling
+constructCcCmdLine lbi bi clbi pref filename verbosity dynamic profiling
= let odir | compilerVersion (compiler lbi) >= Version [6,4,1] [] = pref
| otherwise = pref </> takeDirectory filename
-- ghc 6.4.1 fixed a bug in -odir handling
@@ -852,6 +856,7 @@
-- option to ghc here when compiling C code, so that the PROFILING
-- macro gets defined. The macro is used in ghc's Rts.h in the
-- definitions of closure layouts (Closures.h).
+ ++ ["-dynamic" | dynamic]
++ ["-prof" | profiling])
ghcCcOptions :: LocalBuildInfo -> BuildInfo -> ComponentLocalBuildInfo
diff -rN -u old-ghc-7.0.1/libraries/Cabal/Distribution/Simple/LocalBuildInfo.hs new-ghc-7.0.1/libraries/Cabal/Distribution/Simple/LocalBuildInfo.hs
--- old-ghc-7.0.1/libraries/Cabal/Distribution/Simple/LocalBuildInfo.hs 2011-01-22 14:49:22.000000000 +1000
+++ new-ghc-7.0.1/libraries/Cabal/Distribution/Simple/LocalBuildInfo.hs 2011-01-22 14:49:22.000000000 +1000
@@ -118,6 +118,7 @@
withVanillaLib:: Bool, -- ^Whether to build normal libs.
withProfLib :: Bool, -- ^Whether to build profiling versions of libs.
withSharedLib :: Bool, -- ^Whether to build shared versions of libs.
+ withDynExe :: Bool, -- ^Whether to link executables dynamically
withProfExe :: Bool, -- ^Whether to build executables for profiling.
withOptimization :: OptimisationLevel, -- ^Whether to build with optimization (if available).
withGHCiLib :: Bool, -- ^Whether to build libs suitable for use with GHCi.
diff -rN -u old-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Setup.hs new-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Setup.hs
--- old-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Setup.hs 2011-01-22 14:49:22.000000000 +1000
+++ new-ghc-7.0.1/libraries/Cabal/Distribution/Simple/Setup.hs 2011-01-22 14:49:22.000000000 +1000
@@ -270,6 +270,7 @@
configVanillaLib :: Flag Bool, -- ^Enable vanilla library
configProfLib :: Flag Bool, -- ^Enable profiling in the library
configSharedLib :: Flag Bool, -- ^Build shared library
+ configDynExe :: Flag Bool, -- ^Enable dynamic linking of the executables.
configProfExe :: Flag Bool, -- ^Enable profiling in the executables.
configConfigureArgs :: [String], -- ^Extra arguments to @configure@
configOptimization :: Flag OptimisationLevel, -- ^Enable optimization.
@@ -301,6 +302,7 @@
configVanillaLib = Flag True,
configProfLib = Flag False,
configSharedLib = Flag False,
+ configDynExe = Flag False,
configProfExe = Flag False,
configOptimization = Flag NormalOptimisation,
configProgPrefix = Flag (toPathTemplate ""),
@@ -388,10 +390,16 @@
configSharedLib (\v flags -> flags { configSharedLib = v })
(boolOpt [] [])
+ ,option "" ["executable-dynamic"]
+ "Executable dynamic linking (fedora patch)"
+ configDynExe (\v flags -> flags { configDynExe = v })
+ (boolOpt [] [])
+
,option "" ["executable-profiling"]
"Executable profiling"
configProfExe (\v flags -> flags { configProfExe = v })
(boolOpt [] [])
+
,multiOption "optimization"
configOptimization (\v flags -> flags { configOptimization = v })
[optArg' "n" (Flag . flagToOptimisationLevel)
@@ -553,6 +561,7 @@
configVanillaLib = mempty,
configProfLib = mempty,
configSharedLib = mempty,
+ configDynExe = mempty,
configProfExe = mempty,
configConfigureArgs = mempty,
configOptimization = mempty,
@@ -583,6 +592,7 @@
configVanillaLib = combine configVanillaLib,
configProfLib = combine configProfLib,
configSharedLib = combine configSharedLib,
+ configDynExe = combine configDynExe,
configProfExe = combine configProfExe,
configConfigureArgs = combine configConfigureArgs,
configOptimization = combine configOptimization,

View File

@ -1,21 +0,0 @@
# Makefile for source rpm: ghc
# $Id$
NAME := ghc
SPECFILE = $(NAME).spec
define find-makefile-common
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
endef
MAKEFILE_COMMON := $(shell $(find-makefile-common))
ifeq ($(MAKEFILE_COMMON),)
# attept a checkout
define checkout-makefile-common
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
endef
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
endif
include $(MAKEFILE_COMMON)

View File

@ -0,0 +1,12 @@
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

View File

@ -0,0 +1,37 @@
From 3a49e5147822bdfea2c763c863a7ca6b6baee609 Mon Sep 17 00:00:00 2001
From: Joachim Breitner <mail@joachim-breitner.de>
Date: Mon, 5 Sep 2011 09:37:24 +0200
Subject: [PATCH] Add s390x to list of supported architectures
---
aclocal.m4 | 3 +++
configure.ac | 2 +-
2 files changed, 4 insertions(+), 1 deletions(-)
Index: ghc-7.0.4/aclocal.m4
===================================================================
--- ghc-7.0.4.orig/aclocal.m4 2011-08-31 08:44:42.000000000 +0200
+++ ghc-7.0.4/aclocal.m4 2011-09-05 14:08:59.000000000 +0200
@@ -1457,6 +1457,9 @@
rs6000)
$2="rs6000"
;;
+ s390x*)
+ $2="s390x"
+ ;;
s390*)
$2="s390"
;;
Index: ghc-7.0.4/configure.ac
===================================================================
--- ghc-7.0.4.orig/configure.ac 2011-06-13 19:10:04.000000000 +0200
+++ ghc-7.0.4/configure.ac 2011-09-05 14:08:59.000000000 +0200
@@ -244,7 +244,7 @@
checkArch() {
case $1 in
- alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|sparc|sparc64|vax|x86_64)
+ alpha|arm|hppa|hppa1_1|i386|ia64|m68k|mips|mipseb|mipsel|powerpc|powerpc64|rs6000|s390|s390x|sparc|sparc64|vax|x86_64)
;;
*)
echo "Unknown arch $1"

41
ghc-doc-index.cron Executable file
View File

@ -0,0 +1,41 @@
#! /bin/bash
if [ -e /etc/sysconfig/ghc-doc-index ]; then
. /etc/sysconfig/ghc-doc-index
fi
if [ "$CRON" = "no" ]; then
exit 0
fi
LOCKFILE=/var/lock/ghc-doc-index.lock
# the lockfile is not meant to be perfect, it's just in case the
# two cron scripts get run close to each other to keep
# them from stepping on each other's toes.
[ -f $LOCKFILE ] && exit 0
trap "{ rm -f $LOCKFILE ; exit 255; }" EXIT
touch $LOCKFILE
PKGDIRCACHE=/var/lib/ghc/pkg-dir.cache
LISTING="env LANG=C ls -dl"
# only re-index ghc docs when there are changes
cd /usr/share/doc/ghc/html/libraries
if [ -r "$PKGDIRCACHE" ]; then
$LISTING */ > $PKGDIRCACHE.new
DIR_DIFF=$(diff $PKGDIRCACHE $PKGDIRCACHE.new)
else
$LISTING */ > $PKGDIRCACHE
fi
if [ -x "gen_contents_index" -a ! -r "$PKGDIRCACHE.new" -o -n "$DIR_DIFF" ]; then
./gen_contents_index --batch
fi
if [ -f $PKGDIRCACHE.new ]; then
mv -f $PKGDIRCACHE{.new,}
fi
exit 0

View File

@ -0,0 +1,13 @@
diff -Nuard ghc-7.0.1.orig/compiler/main/DriverPipeline.hs ghc-7.0.1/compiler/main/DriverPipeline.hs
--- ghc-7.0.1.orig/compiler/main/DriverPipeline.hs 2010-11-12 19:10:03.000000000 +0100
+++ ghc-7.0.1/compiler/main/DriverPipeline.hs 2011-02-22 11:08:26.079686994 +0100
@@ -1211,6 +1211,9 @@
let ld_r args = SysTools.runLink dflags ([
SysTools.Option "-nostdlib",
SysTools.Option "-nodefaultlibs",
+#ifdef sparc_TARGET_ARCH
+ SysTools.Option "-Wl,--no-relax",
+#endif
SysTools.Option "-Wl,-r",
SysTools.Option ld_x_flag,
SysTools.Option "-o",

View File

@ -0,0 +1,20 @@
diff -u ghc-6.12.3/libraries/gen_contents_index gen_contents_index
--- ghc-6.12.3/libraries/gen_contents_index 2010-11-05 10:28:02.000000000 +1000
+++ gen_contents_index 2010-11-05 10:20:37.000000000 +1000
@@ -22,5 +22,5 @@
done
;;
-*)
+--batch)
HADDOCK=/usr/bin/haddock
# We don't want the GHC API to swamp the index
@@ -32,6 +32,9 @@
HADDOCK_ARGS="$HADDOCK_ARGS $HADDOCK_ARG"
done
;;
+*)
+ HADDOCK=/bin/true
+ tty -s && echo Run with '--batch' to index package haddock docs.
esac
# Now create the combined contents and index pages

View File

@ -0,0 +1,12 @@
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#/.*##'`

View File

@ -0,0 +1,34 @@
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);

18
ghc-powerpc-pthread.patch Normal file
View File

@ -0,0 +1,18 @@
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.4/ghc/ghc.wrapper.pthread ghc-7.0.4/ghc/ghc.wrapper
--- ghc-7.0.4/ghc/ghc.wrapper.pthread 2012-03-09 09:39:58.205330373 +0900
+++ ghc-7.0.4/ghc/ghc.wrapper 2012-03-09 09:41:01.791237737 +0900
@@ -1 +1 @@
-exec "$executablename" -B"$topdir" -pgmc "$pgmgcc" -pgma "$pgmgcc" -pgml "$pgmgcc" -pgmP "$pgmgcc -E -undef -traditional" -optc-I$(pkg-config --variable=includedir libffi) ${1+"$@"}
+exec "$executablename" -B"$topdir" -pgmc "$pgmgcc" -pgma "$pgmgcc" -pgml "$pgmgcc" -pgmP "$pgmgcc -E -undef -traditional" -optl-pthread -optc-I$(pkg-config --variable=includedir libffi) ${1+"$@"}

120
ghc-use-system-libffi.patch Normal file
View File

@ -0,0 +1,120 @@
diff -up ghc-7.0.1/compiler/ghc.cabal.in.libffi ghc-7.0.1/compiler/ghc.cabal.in
--- ghc-7.0.1/compiler/ghc.cabal.in.libffi 2010-11-13 04:10:03.000000000 +1000
+++ ghc-7.0.1/compiler/ghc.cabal.in 2010-11-16 19:04:28.000000000 +1000
@@ -83,7 +83,7 @@ Library
if flag(ghci)
Build-Depends: template-haskell
CPP-Options: -DGHCI
- Include-Dirs: ../libffi/build/include
+ pkgconfig-depends: libffi
if !flag(ncg)
CPP-Options: -DOMIT_NATIVE_CODEGEN
diff -up ghc-7.0.1/ghc.mk.libffi ghc-7.0.1/ghc.mk
--- ghc-7.0.1/ghc.mk.libffi 2010-11-13 04:10:05.000000000 +1000
+++ ghc-7.0.1/ghc.mk 2010-11-16 19:04:28.000000000 +1000
@@ -437,7 +437,6 @@ utils/runghc/dist/package-data.mk: compi
# add the final two package.conf dependencies: ghc-prim depends on RTS,
# and RTS depends on libffi.
libraries/ghc-prim/dist-install/package-data.mk : rts/package.conf.inplace
-rts/package.conf.inplace : libffi/package.conf.inplace
endif
# --------------------------------
@@ -452,11 +451,6 @@ ALL_STAGE1_LIBS += $(foreach lib,$(PACKA
endif
BOOT_LIBS = $(foreach lib,$(STAGE0_PACKAGES),$(libraries/$(lib)_dist-boot_v_LIB))
-OTHER_LIBS = libffi/dist-install/build/libHSffi$(v_libsuf) libffi/dist-install/build/HSffi.o
-ifeq "$(BuildSharedLibs)" "YES"
-OTHER_LIBS += libffi/dist-install/build/libHSffi$(dyn_libsuf)
-endif
-
# ----------------------------------------
# Special magic for the ghc-prim package
@@ -581,7 +575,6 @@ BUILD_DIRS += \
driver/ghci \
driver/ghc \
driver/haddock \
- libffi \
includes \
rts
@@ -937,11 +930,10 @@ INSTALL_DISTDIR_compiler = stage2
# Now we can do the installation
install_packages: install_libexecs
-install_packages: libffi/package.conf.install rts/package.conf.install
+install_packages: rts/package.conf.install
$(call INSTALL_DIR,"$(DESTDIR)$(topdir)")
"$(RM)" $(RM_OPTS_REC) "$(INSTALLED_PACKAGE_CONF)"
$(call INSTALL_DIR,"$(INSTALLED_PACKAGE_CONF)")
- "$(INSTALLED_GHC_PKG_REAL)" --force --global-conf "$(INSTALLED_PACKAGE_CONF)" update libffi/package.conf.install
"$(INSTALLED_GHC_PKG_REAL)" --force --global-conf "$(INSTALLED_PACKAGE_CONF)" update rts/package.conf.install
$(foreach p, $(INSTALLED_PKG_DIRS), \
$(call make-command, \
@@ -1024,7 +1016,7 @@ BIN_DIST_MK = $(BIN_DIST_PREP_DIR)/bindi
unix-binary-dist-prep:
"$(RM)" $(RM_OPTS_REC) bindistprep/
"$(MKDIRHIER)" $(BIN_DIST_PREP_DIR)
- set -e; for i in packages LICENSE compiler ghc rts libraries utils docs libffi includes driver mk rules Makefile aclocal.m4 config.sub config.guess install-sh extra-gcc-opts.in ghc.mk inplace distrib/configure.ac distrib/README distrib/INSTALL; do ln -s ../../$$i $(BIN_DIST_PREP_DIR)/; done
+ set -e; for i in packages LICENSE compiler ghc rts libraries utils docs includes driver mk rules Makefile aclocal.m4 config.sub config.guess install-sh extra-gcc-opts.in ghc.mk inplace distrib/configure.ac distrib/README distrib/INSTALL; do ln -s ../../$$i $(BIN_DIST_PREP_DIR)/; done
echo "HADDOCK_DOCS = $(HADDOCK_DOCS)" >> $(BIN_DIST_MK)
echo "LATEX_DOCS = $(LATEX_DOCS)" >> $(BIN_DIST_MK)
echo "BUILD_DOCBOOK_HTML = $(BUILD_DOCBOOK_HTML)" >> $(BIN_DIST_MK)
@@ -1102,7 +1094,7 @@ SRC_DIST_DIR=$(shell pwd)/$(SRC_DIST_NAM
#
# Files to include in source distributions
#
-SRC_DIST_DIRS = mk rules docs distrib bindisttest libffi includes utils docs rts compiler ghc driver libraries ghc-tarballs
+SRC_DIST_DIRS = mk rules docs distrib bindisttest includes utils docs rts compiler ghc driver libraries ghc-tarballs
SRC_DIST_FILES += \
configure.ac config.guess config.sub configure \
aclocal.m4 README ANNOUNCE HACKING LICENSE Makefile install-sh \
diff -up ghc-7.0.1/rts/ghc.mk.libffi ghc-7.0.1/rts/ghc.mk
--- ghc-7.0.1/rts/ghc.mk.libffi 2010-11-13 04:10:06.000000000 +1000
+++ ghc-7.0.1/rts/ghc.mk 2010-11-16 19:06:09.000000000 +1000
@@ -430,15 +430,15 @@ endif
$(eval $(call build-dependencies,rts,dist,1))
-$(rts_dist_depfile_c_asm) : libffi/dist-install/build/ffi.h $(DTRACEPROBES_H)
+$(rts_dist_depfile_c_asm) : $(DTRACEPROBES_H)
#-----------------------------------------------------------------------------
# libffi stuff
-rts_CC_OPTS += -Ilibffi/build/include
-rts_HC_OPTS += -Ilibffi/build/include
-rts_HSC2HS_OPTS += -Ilibffi/build/include
-rts_LD_OPTS += -Llibffi/build/include
+rts_CC_OPTS += $(shell pkg-config --cflags libffi)
+rts_HC_OPTS += $(shell pkg-config --cflags libffi)
+rts_HSC2HS_OPTS += $(shell pkg-config --cflags libffi)
+rts_LD_OPTS += $(shell pkg-config --libs libffi)
# -----------------------------------------------------------------------------
# compile dtrace probes if dtrace is supported
diff -up ghc-7.0.1/rts/package.conf.in.libffi ghc-7.0.1/rts/package.conf.in
--- ghc-7.0.1/rts/package.conf.in.libffi 2010-11-13 04:10:06.000000000 +1000
+++ ghc-7.0.1/rts/package.conf.in 2010-11-16 19:04:28.000000000 +1000
@@ -24,8 +24,9 @@ library-dirs: TOP"/rts/dist/build" PAPI
hs-libraries: "HSrts"
extra-libraries:
+ "ffi"
#ifdef HAVE_LIBM
- "m" /* for ldexp() */
+ , "m" /* for ldexp() */
#endif
#ifdef HAVE_LIBRT
, "rt"
@@ -55,7 +56,6 @@ include-dirs: TOP"/includes"
#endif
includes: Stg.h
-depends: builtin_ffi
hugs-options:
cc-options:

View File

@ -0,0 +1,8 @@
diff -u ghc-7.0.4/ghc/ghc.wrapper\~ ghc-7.0.4/ghc/ghc.wrapper
--- ghc-7.0.4/ghc/ghc.wrapper~ 2011-06-14 02:10:05.000000000 +0900
+++ ghc-7.0.4/ghc/ghc.wrapper 2012-03-08 18:00:02.713144402 +0900
@@ -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" -optc-I$(pkg-config --variable=includedir libffi) ${1+"$@"}
Diff finished. Thu Mar 8 18:01:14 2012

878
ghc.spec
View File

@ -1,177 +1,305 @@
# test builds can made faster and smaller by disabling profiled libraries
# (currently libHSrts_thr_p.a breaks no prof build)
%bcond_without prof
# build users_guide, etc
%bcond_without manual
# include extralibs
%bcond_without extralibs
# Shared haskell libraries are supported for x86* archs
# (disabled for other archs in ghc-rpm-macros)
# experimental
## shared libraries support available in ghc >= 6.11
%bcond_with shared
## include colored html src
%bcond_with hscolour
# To bootstrap a new version of ghc, uncomment the following:
#%%global ghc_bootstrapping 1
#%%{?ghc_bootstrap}
#%%global without_hscolour 1
#%%global without_testsuite 1
%global haddock_version 2.4.2
# To do a test build instead with shared libs, uncomment the following:
#%%global ghc_bootstrapping 1
#%%{?ghc_test}
#%%global without_hscolour 1
#%%global without_testsuite 1
# Fixing packaging problems can be a tremendous pain because it
# generally requires a complete rebuild, which takes hours. To offset
# the misery, do a complete build once using "rpmbuild -bc", then copy
# your built tree to a directory of the same name suffixed with
# ".built", using "cp -al". Finally, set this variable, and it will
# copy the already-built tree into place during build instead of
# actually doing the build.
#
# Obviously, this can only work if you leave the build section
# completely untouched between builds.
%global package_debugging 0
# unregisterized archs
%global unregisterised_archs ppc64 armv7hl armv5tel s390 s390x
# ghc does not output dwarf format so debuginfo is not useful
%global debug_package %{nil}
%global space %(echo -n ' ')
%global BSDHaskellReport BSD%{space}and%{space}HaskellReport
Name: ghc
# part of haskell-platform
Version: 6.10.4
Release: 2%{?dist}
Summary: Glasgow Haskell Compilation system
# fedora ghc has only been bootstrapped on the following archs:
ExclusiveArch: %{ix86} x86_64 ppc alpha
License: BSD
# NB make sure to rebuild ghc after a version bump to avoid ABI change problems
Version: 7.0.4
# 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: 46%{?dist}
Summary: Glasgow Haskell Compiler
# fedora ghc has been bootstrapped on the following archs:
#ExclusiveArch: %{ix86} x86_64 ppc alpha sparcv9 ppc64 armv7hl armv5tel
ExcludeArch: sparc64
License: %BSDHaskellReport
Group: Development/Languages
Source0: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src.tar.bz2
%if %{with extralibs}
Source1: http://www.haskell.org/ghc/dist/%{version}/ghc-%{version}-src-extralibs.tar.bz2
%if %{undefined without_testsuite}
Source2: http://www.haskell.org/ghc/dist/%{version}/testsuite-%{version}.tar.bz2
%endif
Source3: ghc-doc-index.cron
URL: http://haskell.org/ghc/
Requires: gcc, gmp-devel
Requires(post): policycoreutils
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Obsoletes: ghc682, ghc681, ghc661, ghc66, haddock09
# introduced for f11 and can be removed for f13:
Obsoletes: haddock < %{haddock_version}, ghc-haddock-devel < %{haddock_version}
Provides: haddock = %{haddock_version}, ghc-haddock-devel = %{haddock_version}
BuildRequires: ghc, happy, sed
BuildRequires: gmp-devel
%if %{with shared}
# not sure if this is actually needed
BuildRequires: libffi-devel
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
Obsoletes: ghc-dph-prim-par < 0.5, ghc-dph-prim-par-devel < 0.5, ghc-dph-prim-par-prof < 0.5
Obsoletes: ghc-dph-prim-seq < 0.5, ghc-dph-prim-seq-devel < 0.5, ghc-dph-prim-seq-prof < 0.5
Obsoletes: ghc-dph-seq < 0.5, ghc-dph-seq-devel < 0.5, ghc-dph-seq-prof < 0.5
Obsoletes: ghc-feldspar-language < 0.4, ghc-feldspar-language-devel < 0.4, ghc-feldspar-language-prof < 0.4
%if %{undefined ghc_bootstrapping}
BuildRequires: ghc-compiler = %{version}
%endif
%if %{with manual}
BuildRequires: ghc-rpm-macros >= 0.14
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-haskell98-devel
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-process-devel
BuildRequires: gmp-devel
BuildRequires: libffi-devel
# for internal terminfo
BuildRequires: ncurses-devel
%if %{undefined without_manual}
BuildRequires: libxslt, docbook-style-xsl
%endif
%if %{with hscolour}
%if %{undefined without_haddock} && %{undefined without_hscolour}
BuildRequires: hscolour
%endif
%if %{undefined without_testsuite}
BuildRequires: python
%endif
%ifarch ppc64 s390x
BuildRequires: autoconf
%endif
Requires: ghc-compiler = %{version}-%{release}
Requires: ghc-libraries = %{version}-%{release}
Requires: ghc-ghc-devel = %{version}-%{release}
Patch1: ghc-6.12.1-gen_contents_index-haddock-path.patch
Patch2: ghc-gen_contents_index-type-level.patch
Patch3: ghc-gen_contents_index-cron-batch.patch
Patch4: ghc-use-system-libffi.patch
# add cabal configure option --enable-executable-dynamic
# (see http://hackage.haskell.org/trac/hackage/ticket/600)
Patch5: Cabal-option-executable-dynamic.patch
Patch6: ghc-fix-linking-on-sparc.patch
Patch7: ghc-powerpc-pthread.patch
# http://hackage.haskell.org/trac/ghc/ticket/4999
Patch8: ghc-powerpc-linker-mmap.patch
# touches configure.ac
Patch9: ghc-7.0.4-configure-s390x.patch
# add libffi include dir to ghc wrapper for archs using gcc
Patch10: ghc-wrapper-libffi-include.patch
%description
GHC is a state-of-the-art programming suite for Haskell, a purely
functional programming language. It includes an optimising compiler
generating good code for a variety of platforms, together with an
interactive system for convenient, quick development. The
distribution includes space and time profiling facilities, a large
collection of libraries, and support for various language
extensions, including concurrency, exceptions, and a foreign language
interface.
GHC is a state-of-the-art, open source, compiler and interactive environment
for the functional language Haskell. Highlights:
%package doc
Summary: Documentation for GHC
- GHC supports the entire Haskell 2010 language plus various extensions.
- GHC has particularly good support for concurrency and parallelism,
including support for Software Transactional Memory (STM).
- GHC generates fast code, particularly for concurrent programs
(check the results on the "Computer Language Benchmarks Game").
- GHC works on several platforms including Windows, Mac, Linux,
most varieties of Unix, and several different processor architectures.
- GHC has extensive optimisation capabilities,
including inter-module optimisation.
- GHC compiles Haskell code either directly to native code or using LLVM
as a back-end. GHC can also generate C code as an intermediate target for
porting to new platforms. The interactive environment compiles Haskell to
bytecode, and supports execution of mixed bytecode/compiled programs.
- Profiling is supported, both by time/allocation and heap profiling.
- GHC comes with core libraries, and thousands more are available on Hackage.
%package compiler
Summary: GHC compiler and utilities
License: BSD
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
# for haddock
Requires(posttrans): %{name} = %{version}-%{release}
Obsoletes: ghc-haddock-doc < %{haddock_version}
Provides: ghc-haddock-doc = %{haddock_version}
Requires: gcc
Requires: ghc-base-devel
Requires(post): chkconfig
Requires(postun): chkconfig
# added in f14
Obsoletes: ghc-doc < 6.12.3-4
# llvm is an optional dependency
%description doc
Preformatted documentation for the Glorious Glasgow Haskell
Compilation System (GHC) and its libraries. It should be installed if
you like to have local access to the documentation in HTML format.
%description compiler
The package contains the GHC compiler, tools and utilities.
%if %{with shared}
%package libs
Summary: Shared libraries for GHC
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
The ghc libraries are provided by ghc-devel.
To install all of ghc, install the ghc base package.
%description libs
Shared libraries for Glorious Glasgow Haskell Compilation System
(GHC). They should be installed to build standalone programs.
%global ghc_version_override %{version}
# needs ghc_version_override for bootstrapping
%global _use_internal_dependency_generator 0
%global __find_provides %{_rpmconfigdir}/ghc-deps.sh --provides %{buildroot}%{ghclibdir}
%global __find_requires %{_rpmconfigdir}/ghc-deps.sh --requires %{buildroot}%{ghclibdir}
%global ghc_pkg_c_deps ghc-compiler = %{ghc_version_override}-%{release}
%if %{defined ghclibdir}
%ghc_lib_subpackage Cabal 1.10.2.0
%ghc_lib_subpackage -l %BSDHaskellReport array 0.3.0.2
%ghc_lib_subpackage -l %BSDHaskellReport -c gmp-devel,libffi-devel base 4.3.1.0
%ghc_lib_subpackage bytestring 0.9.1.10
%ghc_lib_subpackage -l %BSDHaskellReport containers 0.4.0.0
%ghc_lib_subpackage -l %BSDHaskellReport directory 1.1.0.0
%ghc_lib_subpackage -l %BSDHaskellReport extensible-exceptions 0.1.1.2
%ghc_lib_subpackage filepath 1.2.0.0
%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.0.0.0
%ghc_lib_subpackage -l HaskellReport haskell98 1.1.0.1
%ghc_lib_subpackage hpc 0.5.0.6
%ghc_lib_subpackage -l %BSDHaskellReport old-locale 1.0.0.2
%ghc_lib_subpackage -l %BSDHaskellReport old-time 1.0.0.6
%ghc_lib_subpackage pretty 1.0.1.2
%ghc_lib_subpackage -l %BSDHaskellReport process 1.0.1.5
%ghc_lib_subpackage -l %BSDHaskellReport random 1.0.0.3
%ghc_lib_subpackage template-haskell 2.5.0.0
%ghc_lib_subpackage time 1.2.0.3
%ghc_lib_subpackage unix 2.4.2.0
%endif
%if %{with prof}
%package prof
Summary: Profiling libraries for GHC
%global version %{ghc_version_override}
%package libraries
Summary: GHC development libraries meta package
License: %BSDHaskellReport
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
Obsoletes: ghc682-prof, ghc681-prof, ghc661-prof, ghc66-prof
Obsoletes: ghc-haddock-prof < %{haddock_version}
Provides: ghc-haddock-prof = %{haddock_version}
Requires: ghc-compiler = %{version}-%{release}
Obsoletes: ghc-devel < %{version}-%{release}
Provides: ghc-devel = %{version}-%{release}
Obsoletes: ghc-prof < %{version}-%{release}
Provides: ghc-prof = %{version}-%{release}
# since f15
Obsoletes: ghc-libs < 7.0.1-3
%{?ghc_packages_list:Requires: %(echo %{ghc_packages_list} | sed -e "s/\([^ ]*\)-\([^ ]*\)/ghc-\1-devel = \2-%{release},/g")}
%description prof
Profiling libraries for Glorious Glasgow Haskell Compilation System
(GHC). They should be installed when GHC's profiling subsystem is
needed.
%endif
# the debuginfo subpackage is currently empty anyway, so don't generate it
%global debug_package %{nil}
%description libraries
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} %{?with_extralibs:-b1}
%setup -q -n %{name}-%{version} %{!?without_testsuite:-b2}
# absolute haddock path (was for html/libraries -> libraries)
%patch1 -p1 -b .orig
# type-level too big so skip it in gen_contents_index
%patch2 -p1
# disable gen_contents_index when not --batch for cron
%patch3 -p1
# make sure we don't use these
rm -r ghc-tarballs/{mingw,perl}
# use system libffi
%patch4 -p1 -b .libffi
rm -r ghc-tarballs/libffi
# needed for tier 2 archs
%ifnarch %{ix86} x86_64
ln -s $(pkg-config --variable=includedir libffi)/*.h libraries/base/include
%endif
%patch5 -p1 -b .orig
%patch6 -p1 -b .sparclinking
%ifnarch %{ix86} x86_64
%patch10 -p1 -b .10-ffi
%endif
%ifarch ppc ppc64
%patch7 -p1 -b .pthread
%patch8 -p1 -b .mmap
%endif
%ifarch s390x
%patch9 -p1 -b .s390x
%endif
%build
# hack for building a local test package quickly from a prebuilt tree
%if %{package_debugging}
pushd ..
rm -rf %{name}-%{version}
cp -al %{name}-%{version}.built %{name}-%{version}
popd
exit 0
# http://hackage.haskell.org/trac/ghc/wiki/Platforms
# cf https://github.com/gentoo-haskell/gentoo-haskell/tree/master/dev-lang/ghc
cat > mk/build.mk << EOF
GhcLibWays = v %{!?ghc_without_shared:dyn} %{!?without_prof:p}
%if %{defined without_haddock}
HADDOCK_DOCS = NO
%endif
%if %{without prof}
echo "GhcLibWays=%{?with_shared:dyn}" >> mk/build.mk
%if %{defined without_manual}
BUILD_DOCBOOK_HTML = NO
%endif
%if %{with manual}
echo "XMLDocWays = html" >> mk/build.mk
%if %{undefined without_hscolour}
HSCOLOUR_SRCS = NO
%endif
%ifarch %{unregisterised_archs}
GhcUnregisterised=YES
%endif
%ifarch ppc64
GhcNotThreaded=YES
SRC_HC_OPTS+=-optc-mminimal-toc -optl-pthread
SRC_CC_OPTS+=-mminimal-toc -pthread -Wa,--noexecstack
%endif
EOF
%ifarch ppc64 s390x
autoreconf
%endif
export CFLAGS="${CFLAGS:-%optflags}"
# specify gcc to avoid problems when bootstrapping with ccache
./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} \
%{?with_shared:--enable-shared}
--with-gcc=%{_bindir}/gcc
make %{_smp_mflags}
%if %{with manual}
make %{_smp_mflags} html
%endif
# >4 cpus tends to break build
[ -z "$RPM_BUILD_NCPUS" ] && RPM_BUILD_NCPUS=$(%{_bindir}/getconf _NPROCESSORS_ONLN)
[ "$RPM_BUILD_NCPUS" -gt 4 ] && RPM_BUILD_NCPUS=4
make -j$RPM_BUILD_NCPUS
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=${RPM_BUILD_ROOT} install
%if %{with manual}
make DESTDIR=${RPM_BUILD_ROOT} install-docs
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
done
%ghc_gen_filelists bin-package-db 0.0.0.0
%ghc_gen_filelists ghc %{ghc_version_override}
%ghc_gen_filelists ghc-binary 0.5.0.2
%ghc_gen_filelists ghc-prim 0.2.0.0
%ghc_gen_filelists integer-gmp 0.2.0.3
%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
%merge_filelist integer-gmp base
%merge_filelist ghc-prim base
%merge_filelist ghc-binary ghc
%merge_filelist bin-package-db ghc
%if %{undefined ghc_without_shared}
ls $RPM_BUILD_ROOT%{ghclibdir}/libHS*.so >> ghc-base.files
sed -i -e "s|^$RPM_BUILD_ROOT||g" ghc-base.files
%endif
%if %{with shared}
mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/ld.so.conf.d
echo %{_libdir}/%{name}-%{version} > ${RPM_BUILD_ROOT}/%{_sysconfdir}/ld.so.conf.d/ghc-%{_arch}.conf
%endif
SRC_TOP=$PWD
rm -f rpm-*.files
( cd $RPM_BUILD_ROOT
find .%{_libdir}/%{name}-%{version} \( -type d -fprintf $SRC_TOP/rpm-dir.files "%%%%dir %%p\n" \) -o \( -type f \( -name '*.p_hi' -o -name '*_p.a' \) -fprint $SRC_TOP/rpm-prof.files \) -o \( -not -name 'package.conf*' -fprint $SRC_TOP/rpm-lib.files \)
find .%{_docdir}/%{name}/* -type d ! -name libraries ! -name src > $SRC_TOP/rpm-doc-dir.files
)
# make paths absolute (filter "./usr" to "/usr")
sed -i -e "s|\.%{_prefix}|%{_prefix}|" rpm-*.files
cat rpm-dir.files rpm-lib.files > rpm-base.files
ls -d $RPM_BUILD_ROOT%{ghclibdir}/libHS*.a $RPM_BUILD_ROOT%{ghclibdir}/package.conf.d/builtin_*.conf $RPM_BUILD_ROOT%{ghclibdir}/include >> ghc-base-devel.files
sed -i -e "s|^$RPM_BUILD_ROOT||g" ghc-base-devel.files
# these are handled as alternatives
for i in hsc2hs runhaskell; do
@ -180,29 +308,43 @@ for i in hsc2hs runhaskell; do
else
mv ${RPM_BUILD_ROOT}%{_bindir}/$i{,-ghc}
fi
touch ${RPM_BUILD_ROOT}%{_bindir}/$i
done
%ghc_strip_dynlinked
%if %{undefined without_haddock}
mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.hourly
install -p --mode=755 %SOURCE3 ${RPM_BUILD_ROOT}%{_sysconfdir}/cron.hourly/ghc-doc-index
mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/lib/ghc
%endif
%check
# stolen from ghc6/debian/rules:
# Do some very simple tests that the compiler actually works
rm -rf testghc
mkdir testghc
echo 'main = putStrLn "Foo"' > testghc/foo.hs
ghc/stage2-inplace/ghc testghc/foo.hs -o testghc/foo
inplace/bin/ghc-stage2 testghc/foo.hs -o testghc/foo
[ "$(testghc/foo)" = "Foo" ]
# doesn't seem to work inplace:
#[ "$(inplace/bin/runghc testghc/foo.hs)" = "Foo" ]
rm testghc/*
echo 'main = putStrLn "Foo"' > testghc/foo.hs
ghc/stage2-inplace/ghc testghc/foo.hs -o testghc/foo -O2
inplace/bin/ghc-stage2 testghc/foo.hs -o testghc/foo -O2
[ "$(testghc/foo)" = "Foo" ]
rm testghc/*
%if %{undefined ghc_without_shared}
echo 'main = putStrLn "Foo"' > testghc/foo.hs
inplace/bin/ghc-stage2 testghc/foo.hs -o testghc/foo -dynamic
[ "$(testghc/foo)" = "Foo" ]
rm testghc/*
%endif
%if %{undefined without_testsuite}
make -C testsuite/tests/ghc-regress fast
%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post
semanage fcontext -a -t unconfined_execmem_exec_t %{_libdir}/ghc-%{version}/ghc >/dev/null 2>&1 || :
restorecon %{_libdir}/ghc-%{version}/ghc
%post compiler
# Alas, GHC, Hugs, and nhc all come with different set of tools in
# addition to a runFOO:
#
@ -220,64 +362,432 @@ update-alternatives --install %{_bindir}/runhaskell runhaskell \
update-alternatives --install %{_bindir}/hsc2hs hsc2hs \
%{_bindir}/hsc2hs-ghc 500
%if %{with shared}
%post libs -p /sbin/ldconfig
%endif
%preun
%preun compiler
if [ "$1" = 0 ]; then
update-alternatives --remove runhaskell %{_bindir}/runghc
update-alternatives --remove hsc2hs %{_bindir}/hsc2hs-ghc
fi
%if %{with shared}
%postun libs -p /sbin/ldconfig
%endif
%files
%posttrans doc
# (posttrans to make sure any old documentation has been removed first)
( cd %{_docdir}/ghc/libraries && ./gen_contents_index ) || :
%files -f rpm-base.files
%defattr(-,root,root,-)
%files compiler
%doc ANNOUNCE HACKING LICENSE README
%{_bindir}/*
%if %{with manual}
%{_bindir}/ghc
%{_bindir}/ghc-%{version}
%{_bindir}/ghc-pkg
%{_bindir}/ghc-pkg-%{version}
%{_bindir}/ghci
%{_bindir}/ghci-%{version}
%{_bindir}/hp2ps
%{_bindir}/hpc
%ghost %{_bindir}/hsc2hs
%{_bindir}/hsc2hs-ghc
%{_bindir}/runghc
%ghost %{_bindir}/runhaskell
%{_bindir}/runhaskell-ghc
%dir %{ghclibdir}
%{ghclibdir}/extra-gcc-opts
%{ghclibdir}/ghc
%{ghclibdir}/ghc-pkg
%ifnarch %{unregisterised_archs}
%{ghclibdir}/ghc-asm
%{ghclibdir}/ghc-split
%endif
%{ghclibdir}/ghc-usage.txt
%{ghclibdir}/ghci-usage.txt
%{ghclibdir}/hsc2hs
%dir %{ghclibdir}/package.conf.d
%ghost %{ghclibdir}/package.conf.d/package.cache
%{ghclibdir}/runghc
%{ghclibdir}/template-hsc.h
%{ghclibdir}/unlit
%{_mandir}/man1/ghc.*
%dir %{_docdir}/ghc
%dir %{ghcdocbasedir}
%if %{undefined without_haddock}
%{_bindir}/haddock
%{_bindir}/haddock-ghc-%{version}
%{ghclibdir}/haddock
%{ghclibdir}/html
%{ghclibdir}/latex
%{ghcdocbasedir}/html
%if %{undefined without_manual}
%{ghcdocbasedir}/Cabal
%{ghcdocbasedir}/haddock
%{ghcdocbasedir}/users_guide
%endif
%config(noreplace) %{_libdir}/ghc-%{version}/package.conf
%files doc -f rpm-doc-dir.files
%defattr(-,root,root,-)
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/LICENSE
%if %{with manual}
%{_docdir}/%{name}/index.html
%endif
%{_docdir}/%{name}/libraries/gen_contents_index
%{_docdir}/%{name}/libraries/prologue.txt
%dir %{_docdir}/%{name}/libraries
%ghost %{_docdir}/%{name}/libraries/doc-index.html
%ghost %{_docdir}/%{name}/libraries/haddock.css
%ghost %{_docdir}/%{name}/libraries/haddock-util.js
%ghost %{_docdir}/%{name}/libraries/haskell_icon.gif
%ghost %{_docdir}/%{name}/libraries/index.html
%ghost %{_docdir}/%{name}/libraries/minus.gif
%ghost %{_docdir}/%{name}/libraries/plus.gif
%if %{with shared}
%files libs
%defattr(-,root,root,-)
%{_sysconfdir}/ld.so.conf.d/ghc-%{_arch}.conf
%{_libdir}/libHS*-ghc%{version}.so
%dir %{ghcdocbasedir}/libraries
%{ghcdocbasedir}/libraries/frames.html
%{ghcdocbasedir}/libraries/gen_contents_index
%{ghcdocbasedir}/libraries/hscolour.css
%{ghcdocbasedir}/libraries/ocean.css
%{ghcdocbasedir}/libraries/prologue.txt
%{ghcdocbasedir}/index.html
%ghost %{ghcdocbasedir}/libraries/doc-index*.html
%ghost %{ghcdocbasedir}/libraries/haddock-util.js
%ghost %{ghcdocbasedir}/libraries/index*.html
%ghost %{ghcdocbasedir}/libraries/minus.gif
%ghost %{ghcdocbasedir}/libraries/plus.gif
%{_sysconfdir}/cron.hourly/ghc-doc-index
%{_localstatedir}/lib/ghc
%endif
%if %{with prof}
%files prof -f rpm-prof.files
%defattr(-,root,root,-)
%endif
%files libraries
%changelog
* Fri Mar 9 2012 Jens Petersen <petersen@redhat.com> - 7.0.4-46
- reinstate ghc-powerpc-pthread.patch needed for linking on ppc
* Thu Mar 8 2012 Jens Petersen <petersen@redhat.com> - 7.0.4-45
- patch ghc wrapper script to add libffi includedir on tier 2 archs
* Sat Mar 3 2012 Jens Petersen <petersen@redhat.com> - 7.0.4-44
- BR ghc-compiler
- add s390 and s390x to unregisterised_archs
- add configure-s390x from debian
- only apply ppc64 pthread patch when bootstrapping
* Thu Feb 9 2012 Jens Petersen <petersen@redhat.com> - 7.0.4-43
- fix build with system libffi on secondary archs by including libffi headers
in base/include
* Thu Jan 19 2012 Jens Petersen <petersen@redhat.com> - 7.0.4-42
- move ghc-ghc-devel from ghc-libraries to the ghc metapackage
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.0.4-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Nov 14 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-40
- do alternatives handling correctly (reported by Giam Teck Choon, #753661)
see https://fedoraproject.org/wiki/Packaging:Alternatives
* Sat Nov 12 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-39
- move ghc-doc and ghc-libs obsoletes
- add HaskellReport license also to the base and libraries subpackages
* Thu Nov 10 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-38
- the post and postun scripts are now for the compiler subpackage
* Wed Nov 2 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-37
- rename ghc-devel metapackage to ghc-libraries
- require ghc-rpm-macros-0.14
* Tue Nov 1 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-36
- move compiler and tools to ghc-compiler
- the ghc base package is now a metapackage that installs all of ghc,
ie ghc-compiler and ghc-devel (#750317)
- drop ghc-doc provides
* Fri Oct 28 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-35.1
- rebuild against new gmp
* Fri Oct 28 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-35
- add HaskellReport license tag to some of the library subpackages
which contain some code from the Haskell Reports
* Thu Oct 20 2011 Marcela Mašláňová <mmaslano@redhat.com> - 7.0.4-34.1
- rebuild with new gmp without compat lib
* Thu Oct 20 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-34
- setup ghc-deps.sh after ghc_version_override for bootstrapping
* Tue Oct 18 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-33
- add armv5tel (ported by Henrik Nordström)
- also use ghc-deps.sh when bootstrapping (ghc-rpm-macros-0.13.13)
* Mon Oct 17 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-32
- remove libffi_archs: not allowed to bundle libffi on any arch
- include the ghc (ghci) library in ghc-devel (Narasim)
* Tue Oct 11 2011 Peter Schiffer <pschiffe@redhat.com> - 7.0.4-31.1
- rebuild with new gmp
* Fri Sep 30 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-31
- build with ghc-rpm-macros >= 0.13.11 to fix provides and obsoletes versions
in library devel subpackages
* Thu Sep 29 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-30
- no need to specify -lffi in build.mk (Henrik Nordström)
* Wed Sep 28 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-29
- port to armv7hl by Henrik Nordström (#741725)
* Wed Sep 14 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-28
- setup ghc-deps.sh when not bootstrapping!
* Wed Sep 14 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-27
- setup dependency generation with ghc-deps.sh since it was moved to
ghc_lib_install in ghc-rpm-macros
* Fri Jun 17 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-26
- BR same ghc version unless ghc_bootstrapping defined
- add libffi_archs
- drop the quick build profile
- put dyn before p in GhcLibWays
- explain new bootstrapping mode using ghc_bootstrap (ghc-rpm-macros-0.13.5)
* Thu Jun 16 2011 Jens Petersen <petersen@redhat.com> - 7.0.4-25
- update to 7.0.4 bugfix release
http://haskell.org/ghc/docs/7.0.4/html/users_guide/release-7-0-4.html
- strip static again (upstream #5004 fixed)
- Cabal updated to 1.10.2.0
- re-enable testsuite
- update summary and description
* Tue Jun 14 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-24
- finally change from ExclusiveArch to ExcludeArch to target more archs
* Sat May 21 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-23
- obsolete dph libraries and feldspar-language
* Mon May 16 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-22
- merge prof subpackages into the devel subpackages with ghc-rpm-macros-0.13
* Wed May 11 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-21
- configure with /usr/bin/gcc to help bootstrapping to new archs
(otherwise ccache tends to get hardcoded as gcc, which not in koji)
- posttrans scriplet for ghc_pkg_recache is redundant
* Mon May 9 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-20
- make devel and prof meta packages require libs with release
- make ghc-*-devel subpackages require ghc with release
* Wed May 04 2011 Jiri Skala <jskala@redhat.com> - 7.0.2-19.1
- fixes path to gcc on ppc64 arch
* Tue Apr 26 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-19
- add upstream ghc-powerpc-linker-mmap.patch for ppc64 (Jiri Skala)
* Thu Apr 21 2011 Jiri Skala <jskala@redhat.com> - 7.0.2-18
- bootstrap to ppc64
* Fri Apr 1 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-17
- rebuild against ghc-rpm-macros-0.11.14 to provide ghc-*-doc
* Fri Apr 1 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-16
- provides ghc-doc again: it is still a buildrequires for libraries
- ghc-prof now requires ghc-devel
- ghc-devel now requires ghc explicitly
* Wed Mar 30 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-15
- do not strip static libs since it breaks ghci-7.0.2 loading libHSghc.a
(see http://hackage.haskell.org/trac/ghc/ticket/5004)
- no longer provide ghc-doc
- no longer obsolete old haddock
* Tue Mar 29 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-14
- fix back missing LICENSE files in library subpackages
- drop ghc_reindex_haddock from install script
* Thu Mar 10 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-13
- rebuild against 7.0.2
* Wed Mar 9 2011 Jens Petersen <petersen@redhat.com> - 7.0.2-12
- update to 7.0.2 release
- move bin-package-db into ghc-ghc
- disable broken testsuite
* Wed Feb 23 2011 Fabio M. Di Nitto <fdinitto@redhat.com> 7.0.1-11
- enable build on sparcv9
- add ghc-fix-linking-on-sparc.patch to fix ld being called
at the same time with --relax and -r. The two options conflict
on sparc.
- bump BuildRequires on ghc-rpm-macros to >= 0.11.10 that guarantees
a correct build on secondary architectures.
* Sun Feb 13 2011 Jens Petersen <petersen@redhat.com>
- without_shared renamed to ghc_without_shared
* Thu Feb 10 2011 Jens Petersen <petersen@redhat.com> - 7.0.1-10
- rebuild
* Thu Feb 10 2011 Jens Petersen <petersen@redhat.com> - 7.0.1-9
- fix without_shared build (thanks Adrian Reber)
- disable system libffi for secondary archs
- temporarily disable ghc-*-devel BRs for ppc
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.0.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Mon Jan 31 2011 Jens Petersen <petersen@redhat.com> - 7.0.1-7
- include LICENSE files in the shared lib subpackages
* Sat Jan 22 2011 Jens Petersen <petersen@redhat.com> - 7.0.1-6
- patch Cabal to add configure option --enable-executable-dynamic
- exclude huge ghc API library from devel and prof metapackages
* Thu Jan 13 2011 Jens Petersen <petersen@redhat.com> - 7.0.1-5
- fix no doc and no manual builds
* Thu Jan 13 2011 Jens Petersen <petersen@redhat.com> - 7.0.1-4
- add BRs for various subpackaged ghc libraries needed to build ghc
- condition rts .so libraries for non-shared builds
* Thu Dec 30 2010 Jens Petersen <petersen@redhat.com> - 7.0.1-3
- subpackage all the libraries with ghc-rpm-macros-0.11.1
- put rts, integer-gmp and ghc-prim in base, and ghc-binary in bin-package-db
- drop the libs mega-subpackage
- prof now a meta-package for backward compatibility
- add devel meta-subpackage to easily install all ghc libraries
- store doc cronjob package cache file under /var (#664850)
- drop old extralibs bcond
- no longer need to define or clean buildroot
- ghc base package now requires ghc-base-devel
- drop ghc-time obsoletes
* Wed Nov 24 2010 Jens Petersen <petersen@redhat.com> - 7.0.1-2
- require libffi-devel
* Tue Nov 16 2010 Jens Petersen <petersen@redhat.com> - 7.0.1-1
- update to 7.0.1 release
- turn on system libffi now
* Mon Nov 8 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-9
- disable the libffi changes for now since they break libHSffi*.so
* Thu Nov 4 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-8
- add a cronjob for doc indexing
- disable gen_contents_index when not run with --batch for cron
- use system libffi with ghc-use-system-libffi.patch from debian
- add bcond for system libffi
* Thu Nov 4 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-7
- skip huge type-level docs from haddock re-indexing (#649228)
* Thu Sep 30 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-6
- move gtk2hs obsoletes to ghc-glib and ghc-gtk
- drop happy buildrequires
- smp build with max 4 cpus
* Wed Sep 29 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-5.el6
- build without happy and hscolour
* Thu Jul 15 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-4
- merge ghc-doc into base package
- obsolete ghc-time and ghc-ghc-doc (ghc-rpm-macros-0.8.0)
- note that ghc-6.12.3 is part of haskell-platform-2010.2.0.0
* Thu Jun 24 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-3
- drop the broken summary and description args to the ghc-ghc package
and use ghc-rpm-macros-0.6.1
* Wed Jun 23 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-2
- strip all dynlinked files not just shared objects (ghc-rpm-macros-0.5.9)
* Mon Jun 14 2010 Jens Petersen <petersen@redhat.com> - 6.12.3-1
- 6.12.3 release:
http://darcs.haskell.org/download/docs/6.12.3/html/users_guide/release-6-12-3.html
- build with hscolour
- use ghc-rpm-macro-0.5.8 for ghc_strip_shared macro
* Fri May 28 2010 Jens Petersen <petersen@redhat.com> - 6.12.2.20100521-1
- 6.12.3 rc1
- ghost package.cache
- drop ghc-utf8-string obsoletes since it is no longer provided
- run testsuite fast
- fix description and summary of ghc internal library (John Obbele)
* Fri Apr 23 2010 Jens Petersen <petersen@redhat.com> - 6.12.2-1
- update to 6.12.2
- add testsuite with bcond, run it in check section, and BR python
* Mon Apr 12 2010 Jens Petersen <petersen@redhat.com> - 6.12.1-6
- ghc-6.12.1 is part of haskell-platform-2010.1.0.0
- drop old ghc682, ghc681, haddock09 obsoletes
- drop haddock_version and no longer provide haddock explicitly
- update ghc-rpm-macros BR to 0.5.6 for ghc_pkg_recache
* Mon Jan 11 2010 Jens Petersen <petersen@redhat.com> - 6.12.1-5
- drop ghc-6.12.1-no-filter-libs.patch and extras packages again
- filter ghc-ghc-prof files from ghc-prof
- ghc-mtl package was added to fedora
* Mon Jan 11 2010 Jens Petersen <petersen@redhat.com> - 6.12.1-4
- ghc-rpm-macros-0.5.4 fixes wrong version requires between lib subpackages
* Mon Jan 11 2010 Jens Petersen <petersen@redhat.com> - 6.12.1-3
- ghc-rpm-macros-0.5.2 fixes broken pkg_name requires for lib subpackages
* Tue Dec 22 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-2
- include haskeline, mtl, and terminfo for now with
ghc-6.12.1-no-filter-libs.patch
- use ghc_binlibpackage, grep -v and ghc_gen_filelists to generate
the library subpackages (ghc-rpm-macros-0.5.1)
- always set GhcLibWays (Lorenzo Villani)
- use ghcdocbasedir to revert html doc path to upstream's html/ for consistency
* Wed Dec 16 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-1
- pre became 6.12.1 final
- exclude ghc .conf file from package.conf.d in base package
- use ghc_reindex_haddock
- add scripts for ghc-ghc-devel and ghc-ghc-doc
- add doc bcond
- add ghc-6.12.1-gen_contents_index-haddock-path.patch to adjust haddock path
since we removed html/ from libraries path
- require ghc-rpm-macros-0.3.1 and use ghc_version_override
* Sat Dec 12 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-0.2
- remove redundant mingw and perl from ghc-tarballs/
- fix exclusion of ghc internals lib from base packages with -mindepth
- rename the final file lists to PKGNAME.files for clarity
* Fri Dec 11 2009 Jens Petersen <petersen@redhat.com> - 6.12.1-0.1
- update to ghc-6.12.1-pre
- separate bcond options into enabled and disabled for clarity
- only enable shared for intel x86 archs (Lorenzo Villani)
- add quick build profile (Lorenzo Villani)
- remove package_debugging hack (use "make install-short")
- drop sed BR (Lorenzo Villani)
- put all build.mk config into one cat block (Lorenzo Villani)
- export CFLAGS to configure (Lorenzo Villani)
- add dynamic linking test to check section (thanks Lorenzo Villani)
- remove old ghc66 obsoletes
- subpackage huge ghc internals library (thanks Lorenzo Villani)
- BR ghc-rpm-macros >= 0.3.0
- move html docs to docdir/ghc from html subdir (Lorenzo Villani)
- disable smp build for now: broken for 8 cpus at least
* Wed Nov 18 2009 Jens Petersen <petersen@redhat.com> - 6.12.0.20091121-1
- update to 6.12.1 rc2
- build shared libs, yay! and package in standalone libs subpackage
- add bcond for manual and extralibs
- reenable ppc secondary arch
- don't provide ghc-haddock-*
- remove obsolete post requires policycoreutils
- add vanilla v to GhcLibWays when building without prof
- handle without hscolour
- can't smp make currently
- lots of filelist fixes for handling shared libs
- run ghc-pkg recache posttrans
- no need to install gen_contents_index by hand
- manpage is back
* Thu Nov 12 2009 Bryan O'Sullivan <bos@serpentine.com> - 6.12.0.20091010-8
- comprehensive attempts at packaging fixes
* Thu Nov 12 2009 Bryan O'Sullivan <bos@serpentine.com> - 6.12.0.20091010-7
- fix package.conf stuff
* Thu Nov 12 2009 Bryan O'Sullivan <bos@serpentine.com> - 6.12.0.20091010-6
- give up trying to install man pages
* Thu Nov 12 2009 Bryan O'Sullivan <bos@serpentine.com> - 6.12.0.20091010-5
- try to install man pages
* Thu Nov 12 2009 Bryan O'Sullivan <bos@serpentine.com> - 6.12.0.20091010-3
- fix %check
* Sun Oct 11 2009 Bryan O'Sullivan <bos@serpentine.com> - 6.12.0.20091010-2
- disable ppc for now (seems unsupported)
- buildreq ncurses-devel
* Sun Oct 11 2009 Bryan O'Sullivan <bos@serpentine.com> - 6.12.0.20091010-1
- Update to 6.12 RC 1
* Thu Oct 1 2009 Jens Petersen <petersen@redhat.com>
- selinux file context no longer needed in post script
- (for ghc-6.12-shared) drop ld.so.conf.d files
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 6.10.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
@ -650,7 +1160,7 @@ fi
* Fri Feb 26 1999 Manuel Chakravarty
- modified for GHC 4.02
* Thu Dec 24 1998 Zoltan Vorosbaranyi
* Thu Dec 24 1998 Zoltan Vorosbaranyi
- added BuildRoot
- files located in /usr/local/bin, /usr/local/lib moved to /usr/bin, /usr/lib

View File

@ -1,2 +1,2 @@
167687fa582ef6702aaac24e139ec982 ghc-6.10.4-src.tar.bz2
37ce285617d7cebabc3cf6805bdbca25 ghc-6.10.4-src-extralibs.tar.bz2
f167b0b4538d1a56788f43fcc662b568 ghc-7.0.4-src.tar.bz2
1680925a557821d7e3abab368f37fbdc testsuite-7.0.4.tar.bz2

16
update-package.sh Executable file
View File

@ -0,0 +1,16 @@
#!/bin/sh
[ $# -ne 1 ] && echo "Usage: $(basename $0) [package]" && exit 1
set -e -x
PKG=$1
cd ~/fedora/haskell/$PKG/master
git pull
cat ~/fedora/haskell/cabal2spec/master/cabal2spec-0.22.4.diff | sed -e "s/@PKG@/$PKG/" | patch -p1
rpmdev-bumpspec --comment="update to cabal2spec-0.22.4" $PKG.spec
fedpkg commit -p -m "update to cabal2spec-0.22.4"