summaryrefslogtreecommitdiff
path: root/testing/ghc
diff options
context:
space:
mode:
Diffstat (limited to 'testing/ghc')
-rw-r--r--testing/ghc/PKGBUILD78
-rw-r--r--testing/ghc/build.mk150
-rw-r--r--testing/ghc/ghc.install19
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
+}