From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- extra/ghc/PKGBUILD | 69 +++++++++++++++++++++++ extra/ghc/build.mk | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++ extra/ghc/ghc.install | 19 +++++++ 3 files changed, 238 insertions(+) create mode 100644 extra/ghc/PKGBUILD create mode 100644 extra/ghc/build.mk create mode 100644 extra/ghc/ghc.install (limited to 'extra/ghc') diff --git a/extra/ghc/PKGBUILD b/extra/ghc/PKGBUILD new file mode 100644 index 000000000..19887fef4 --- /dev/null +++ b/extra/ghc/PKGBUILD @@ -0,0 +1,69 @@ +# $Id: PKGBUILD 112131 2011-03-04 07:57:42Z vesa $ +# Maintainer: Vesa Kaihlavirta +pkgname=ghc +pkgver=7.0.2 +pkgrel=1 +pkgdesc="The Glasgow Haskell Compiler" +arch=(i686 x86_64) +url="http://www.haskell.org/ghc/" +license=("custom") +depends=('perl' 'gmp>=5.0' gcc) +makedepends=(ghc happy perl) +provides=("haskell-array=0.3.0.2" + "haskell-bytestring=0.9.1.10" + "haskell-cabal=1.10.1.0" + "haskell-containers=0.4.0.0" + "haskell-directory=1.1.0.0" + "haskell-extensible-exceptions=0.1.1.2" + "haskell-filepath=1.2.0.0" + "haskell-haskell98=1.1.0.1" + "haskell-hpc=0.5.0.6" + "haskell-old-locale=1.0.0.2" + "haskell-old-time=1.0.0.6" + "haskell-pretty=1.0.1.2" + "haskell-process=1.0.1.5" + "haskell-random=1.0.0.3" + "haskell-template-haskell=2.5.0.0" + "haskell-time=1.2.0.3" + "haskell-unix=2.4.2.0" + "haddock=2.9.2" + ) +replaces=("haskell-array<0.3.0.2" + "haskell-bytestring<0.9.1.10" + "haskell-cabal<1.10.1.0" + "haskell-containers<0.4.0.0" + "haskell-directory<1.1.0.0" + "haskell-extensible-exceptions<0.1.1.2" + "haskell-filepath<1.2.0.0" + "haskell-haskell98<1.1.0.1" + "haskell-hpc<0.5.0.6" + "haskell-old-locale<1.0.0.2" + "haskell-old-time<1.0.0.6" + "haskell-pretty<1.0.1.2" + "haskell-process<1.0.1.5" + "haskell-random<1.0.0.3" + "haskell-template-haskell<2.5.0.0" + "haskell-time<1.2.0.3" + "haskell-unix<2.4.2.0" + "haddock<2.9.2" + ) + +install=ghc.install + +source=("http://www.haskell.org/ghc/dist/$pkgver/ghc-$pkgver-src.tar.bz2" + build.mk) + +build() { + cd $srcdir/$pkgname-$pkgver + + cp $srcdir/build.mk mk/build.mk + + ./configure --prefix=/usr + make -j1 || return 1 + make DESTDIR=$pkgdir install + + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/ghc/license +} + +md5sums=('946a18a0dc30437db72c0d3fdf26ca42' + '5a3e0880c80b1dcecf779ff2e63a9c0d') diff --git a/extra/ghc/build.mk b/extra/ghc/build.mk new file mode 100644 index 000000000..f918a0f16 --- /dev/null +++ b/extra/ghc/build.mk @@ -0,0 +1,150 @@ +# ----------------------------------------------------------------------------- +# A Sample build.mk +# +# Uncomment one of the following BuildFlavour settings to get the desired +# overall build type, and then tweak the options in the relevant section +# below. + +# Uncomment one of these to select a build profile below: + +# Full build with max optimisation (slow build) +BuildFlavour = perf + +# Fastest build (libs unoptimised): +#BuildFlavour = quickest + +# Fast build with optimised libraries: +#BuildFlavour = quick + +# Profile the stage2 compiler: +#BuildFlavour = prof + +# A development build, working on the stage 1 compiler: +#BuildFlavour = devel1 + +# A development build, working on the stage 2 compiler: +#BuildFlavour = devel2 + +GhcLibWays = v + +# -------- 1. A Performance/Distribution build-------------------------------- + +ifeq "$(BuildFlavour)" "perf" + +# perf matches the default settings, repeated here for comparison: + +SRC_HC_OPTS = -O -H64m +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O2 -fasm +GhcHcOpts = -Rghc-timing +GhcLibHcOpts = -O2 -XGenerics +GhcLibWays += p + +ifeq "$(PlatformSupportsSharedLibs)" "YES" +GhcLibWays += dyn +endif + +endif + +# -------- A Fast build ------------------------------------------------------ + +ifeq "$(BuildFlavour)" "quickest" + +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O0 -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# -------- A Fast build with optimised libs ---------------------------------- + +ifeq "$(BuildFlavour)" "quick" + +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O0 -fasm +GhcLibHcOpts = -O -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# -------- Profile the stage2 compiler --------------------------------------- + +ifeq "$(BuildFlavour)" "prof" + +SRC_HC_OPTS = -H64m -O0 -fasm +GhcStage1HcOpts = -O -fasm +GhcStage2HcOpts = -O -fasm +GhcLibHcOpts = -O -fasm + +GhcLibWays += p +GhcProfiled = YES + +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + + +# -------- A Development build (stage 1) ------------------------------------- + +ifeq "$(BuildFlavour)" "devel1" + +SRC_HC_OPTS = -H64m -O -fasm +GhcLibHcOpts = -O -dcore-lint +GhcStage1HcOpts = -Rghc-timing -O0 -DDEBUG +GhcStage2HcOpts = -Rghc-timing -O -fasm +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# -------- A Development build (stage 2) ------------------------------------- + +ifeq "$(BuildFlavour)" "devel2" + +SRC_HC_OPTS = -H64m -O -fasm +GhcLibHcOpts = -O -dcore-lint +GhcStage1HcOpts = -Rghc-timing -O -fasm +GhcStage2HcOpts = -Rghc-timing -O0 -DDEBUG +SplitObjs = NO +HADDOCK_DOCS = NO +BUILD_DOCBOOK_HTML = NO +BUILD_DOCBOOK_PS = NO +BUILD_DOCBOOK_PDF = NO + +endif + +# ----------------------------------------------------------------------------- +# Other settings that might be useful + +# profiled RTS +#GhcRtsCcOpts = -pg -g + +# Optimised/profiled RTS +#GhcRtsCcOpts = -O2 -pg + +#GhcRtsWithFrontPanel = YES +#SRC_HC_OPTS += `gtk-config --libs` + +# NoFib settings +NoFibWays = +STRIP=: + + diff --git a/extra/ghc/ghc.install b/extra/ghc/ghc.install new file mode 100644 index 000000000..7d56083bc --- /dev/null +++ b/extra/ghc/ghc.install @@ -0,0 +1,19 @@ +pkgname=ghc + +pre_upgrade() { + cat << EOF + ==> Unregistering cabalized packages... +EOF + cd /usr/share/haskell/ && (for a in *; do ghc-pkg unregister --force $a &> /dev/null; done; cd - > /dev/null ) + cat << EOF + ==> Done. +EOF + +} + +post_upgrade() { + cat << EOF + ==> All cabalized and yaourt-installed packages need to be reinstalled now. + ==> See /usr/share/haskell/ and ghc-pkg list --user for a tentative list of affected packages. +EOF +} -- cgit v1.2.3-54-g00ecf