diff options
Diffstat (limited to 'testing/ghc')
-rw-r--r-- | testing/ghc/PKGBUILD | 78 | ||||
-rw-r--r-- | testing/ghc/build.mk | 150 | ||||
-rw-r--r-- | testing/ghc/ghc.install | 19 |
3 files changed, 247 insertions, 0 deletions
diff --git a/testing/ghc/PKGBUILD b/testing/ghc/PKGBUILD new file mode 100644 index 000000000..27dda458f --- /dev/null +++ b/testing/ghc/PKGBUILD @@ -0,0 +1,78 @@ +# $Id: PKGBUILD 114660 2011-03-15 09:16:12Z vesa $ +# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org> +pkgname=ghc +pkgver=7.0.2 +pkgrel=2 +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 libxslt docbook-xsl) +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" + ) +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" + ) + +install=ghc.install +options=(!strip) +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 + + # FS#17875 + sed -i 's/INSTALL_SHELL_WRAPPER = YES/INSTALL_SHELL_WRAPPER = NO/' utils/haddock/ghc.mk + + ./configure --prefix=/usr + make -j1 || return 1 +} + +package() { + cd $srcdir/$pkgname-$pkgver + + make DESTDIR=$pkgdir install + + install -Dm644 LICENSE ${pkgdir}/usr/share/licenses/ghc/license + install -d $pkgdir/usr/share/haskell + + rm $pkgdir/usr/bin/haddock +} + +md5sums=('946a18a0dc30437db72c0d3fdf26ca42' + '5a3e0880c80b1dcecf779ff2e63a9c0d') diff --git a/testing/ghc/build.mk b/testing/ghc/build.mk new file mode 100644 index 000000000..f918a0f16 --- /dev/null +++ b/testing/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/testing/ghc/ghc.install b/testing/ghc/ghc.install new file mode 100644 index 000000000..7d56083bc --- /dev/null +++ b/testing/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 +} |