Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=dcf6c0bce6acb920ce0b66339634b021eddb6051

commit dcf6c0bce6acb920ce0b66339634b021eddb6051
Author: kikadf <[email protected]>
Date:   Thu Apr 10 15:00:28 2014 +0200

ghc-7.8.1-1-x86_64

* Version bump

diff --git a/source/devel-extra/ghc/FrugalBuild 
b/source/devel-extra/ghc/FrugalBuild
index afdeb27..54542db 100644
--- a/source/devel-extra/ghc/FrugalBuild
+++ b/source/devel-extra/ghc/FrugalBuild
@@ -2,48 +2,55 @@
# Maintainer: Miklos Vajna <[email protected]>

pkgname=ghc
-pkgver=7.0.3
+pkgver=7.8.1
pkgrel=1
pkgdesc="The Glasgow Haskell Compiler"
url="http://www.haskell.org/ghc/";
depends=('gmp>=5.0.1' 'readline' 'libedit' 'libffi')
+makedepends=('docbook-xsl') # 'ghc') # like in Arch Linux
groups=('devel-extra')
archs=('i686' 'x86_64')
-up2date="lynx -dump http://www.haskell.org/ghc/download.html|grep Current|sed 
's/.*(\(.*\))/\1/'"
+up2date="lynx -dump $url/dist/ | sed -n 's/.*dist\/\([0-9].*\)\/.*/\1/p' | 
tail -1"
+source=(http://www.haskell.org/ghc/dist/$pkgver/ghc-$pkgver-src.tar.xz 
build.mk)
+sha1sums=('d08c9e1b2252cbb6c6032d13a1860831ac15cb7f' \
+          'a5e2b8d920a8af597c948f6917c0cfc90f779a22')
+
+# Need ghc>=7.4 for build, we have 7.0.x, so use ghc-binary
if [ "$CARCH" == "i686" ]; then
_arch=i386
-else
+       else
_arch=$CARCH
fi
-source=(http://www.haskell.org/ghc/dist/$pkgver/ghc-$pkgver-src.tar.bz2 \
-       
http://www.haskell.org/ghc/dist/$pkgver/ghc-$pkgver-$_arch-unknown-linux.tar.bz2)
-sha1sums=('222eed949413723b1f45218a908d5ee6930fda1b')
+source+=(http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-$_arch-unknown-linux.tar.bz2)
if [ "$CARCH" == "i686" ]; then
-       sha1sums=(${sha1sums[@]} '092ffb12fb29a5ddb173ace1f14f1144ac2a9c67')
+       sha1sums+=('f042b4171a2d4745137f2e425e6949c185f8ea14')
elif [ "$CARCH" == "x86_64" ]; then
-       sha1sums=(${sha1sums[@]} '3fe4bad81ad83d24a21ca38f3e5f6716140d8a29')
+       sha1sums+=('46ec3f3352ff57fba0dcbc8d9c20f7bcb6924b77')
fi
-NOEXTRACT=1
+# **********************************************************
+
+replaces=('haskell-transformers' 'haskell-xhtml' 'haskell-array'
+          'haskell-binary' 'haskell-containers' 'haskell-deepseq'
+          'haskell-haskeline' 'haskell-terminfo')
+conflicts=("${replaces[@]}")
+provides=("${provides[@]}")

build()
{
-       Fextract ghc-$pkgver-$_arch-unknown-linux.tar.bz2
-       mv ghc-$pkgver ghc-$pkgver-binary || return 1
-       cd ghc-$pkgver-binary
-
-       # hack for gmp 5
+       # First build binary ghc
+       cd $pkgname-7.6.3 || Fdie
ln -s /usr/lib/libgmp.so.10 libgmp.so.3
export LD_LIBRARY_PATH=$(pwd):$LD_LIBRARY_PATH
-
-       ./configure --prefix=$Fsrcdir/binary || return 1
-       make install || return 1
+       ./configure --prefix=$Fsrcdir/binary || Fdie
+       make install || Fdie
export PATH=$Fsrcdir/binary/bin:$PATH
+       cd ..
+       # **********************

-       cd $Fsrcdir
-       Fextract ghc-$pkgver-src.tar.bz2
+       # Build ghc
_F_conf_notry="build"
-       Fmake
-       # Fmakeinstall doesn't handle this pkg
-       make DESTDIR=$Fdestdir install || Fdie
+       cp build.mk $pkgname-$pkgver/mk/build.mk || Fdie
+       Fbuild
}
+
# optimization OK
diff --git a/source/devel-extra/ghc/build.mk b/source/devel-extra/ghc/build.mk
new file mode 100644
index 0000000..bb57594
--- /dev/null
+++ b/source/devel-extra/ghc/build.mk
@@ -0,0 +1,200 @@
+# -----------------------------------------------------------------------------
+# 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 and everything enabled (very slow build)
+BuildFlavour = perf
+
+# As above but build GHC using the LLVM backend
+#BuildFlavour = perf-llvm
+
+# Fast build with optimised libraries, no profiling (RECOMMENDED):
+#BuildFlavour = quick
+
+# Even faster build.  NOT RECOMMENDED: the libraries will be
+# completely unoptimised, so any code built with this compiler
+# (including stage2) will run very slowly:
+#BuildFlavour = quickest
+
+# 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
+
+# An unregisterised, optimised build of ghc, for porting:
+#BuildFlavour = unreg
+
+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
+GhcLibWays     += p
+
+ifeq "$(PlatformSupportsSharedLibs)" "YES"
+GhcLibWays += dyn
+endif
+
+endif
+
+# ---------------- Perf build using LLVM -------------------------------------
+
+ifeq "$(BuildFlavour)" "perf-llvm"
+
+SRC_HC_OPTS     = -O -H64m -fllvm
+GhcStage1HcOpts = -O -fllvm
+GhcStage2HcOpts = -O2 -fllvm
+GhcHcOpts       = -Rghc-timing
+GhcLibHcOpts    = -O2
+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
+LAX_DEPENDENCIES   = YES
+
+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
+LAX_DEPENDENCIES   = YES
+
+# After stage 1 and the libraries have been built, you can uncomment this line:
+
+# stage=2
+
+# Then stage 1 will not be touched by the build system, until
+# you comment the line again.  This is a useful trick for when you're
+# working on stage 2 and want to freeze stage 1 and the libraries for
+# a while.
+
+endif
+
+# -------- A Unregisterised build) -------------------------------------------
+
+ifeq "$(BuildFlavour)" "unreg"
+
+# Note that the LLVM backend works in unregisterised mode as well as
+# registerised mode. This often makes it a good choice for porting
+# GHC.
+
+GhcUnregisterised    = YES
+GhcWithNativeCodeGen = NO
+
+SRC_HC_OPTS          = -O -H64m # -fllvm
+GhcStage1HcOpts      = -O
+GhcStage2HcOpts      = -O2
+GhcHcOpts            = -Rghc-timing
+GhcLibHcOpts         = -O2
+SplitObjs            = NO
+HADDOCK_DOCS         = NO
+BUILD_DOCBOOK_HTML   = NO
+BUILD_DOCBOOK_PS     = NO
+BUILD_DOCBOOK_PDF    = NO
+
+endif
+
+# -----------------------------------------------------------------------------
+# Other settings that might be useful
+
+# NoFib settings
+NoFibWays =
+STRIP_CMD = :
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to