blob: 183b99a45f120424ae75e0624165bc97c6287cb2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
# $Id: PKGBUILD 217481 2014-07-19 16:03:47Z td123 $
# Maintainer: Thomas Dziedzic <gostrc@gmail.com>
# Maintainer: Vesa Kaihlavirta <vesa@archlinux.org>
# Special note for devs looking to upgrade this package:
# ghc places a unique hash for each library when it is built.
# Libraries depend on versions specified by those hashes.
# This implies that all libraries need to be rebuilt when ghc is rebuilt.
# use the following command to print out packages that need to get rebuilt
# grep -r ghc /var/abs/ | awk -F '/' '{ print $5; }' | sort -u
pkgname=ghc
pkgver=7.8.3
pkgrel=2
pkgdesc='The Glasgow Haskell Compiler'
arch=('i686' 'x86_64')
url='http://www.haskell.org/ghc/'
license=('custom')
depends=('perl' 'gmp' 'gcc' 'libffi')
makedepends=('ghc' 'perl' 'libxslt' 'docbook-xsl')
checkdepends=('python2')
install='ghc.install'
options=('staticlibs')
provides=('haskell-array=0.5.0.0'
'haskell-base=4.7.0.1'
'haskell-binary=0.7.1.0'
'haskell-bin-package-db=0.0.0.0'
'haskell-bytestring=0.10.4.0'
'haskell-containers=0.5.5.1'
'haskell-deepseq=1.3.0.2'
'haskell-directory=1.2.1.0'
'haskell-filepath=1.3.0.2'
'haskell-ghc-prim=0.3.1.0'
'haskell-haskell2010=1.1.2.0'
'haskell-haskell98=2.0.0.3'
'haskell-hoopl=3.10.0.1'
'haskell-hpc=0.6.0.1'
'haskell-integer-gmp=0.5.1.0'
'haskell-old-locale=1.0.0.6'
'haskell-old-time=1.1.0.2'
'haskell-pretty=1.1.1.1'
'haskell-process=1.2.0.0'
'haskell-template-haskell=2.9.0.0'
'haskell-time=1.4.2'
'haskell-transformers=0.3.0.0'
'haskell-unix=2.7.0.1'
'haskell-cabal=1.18.1.3'
'ghc=7.8.3-1'
'haskell-haskeline=0.7.1.2'
'haskell-terminfo=0.4.0.0'
'haskell-xhtml=3000.2.1'
)
replaces=('haskell-array'
'haskell-base'
'haskell-binary'
'haskell-bin-package-db'
'haskell-bytestring'
'haskell-containers'
'haskell-deepseq'
'haskell-directory'
'haskell-filepath'
'haskell-ghc-prim'
'haskell-haskell2010'
'haskell-haskell98'
'haskell-hoopl'
'haskell-hpc'
'haskell-integer-gmp'
'haskell-old-locale'
'haskell-old-time'
'haskell-pretty'
'haskell-process'
'haskell-template-haskell'
'haskell-time'
'haskell-transformers'
'haskell-unix'
'haskell-cabal'
'haskell-haskeline'
'haskell-terminfo'
'haskell-xhtml'
)
source=("http://www.haskell.org/ghc/dist/${pkgver}/ghc-${pkgver}-src.tar.xz"
"http://www.haskell.org/ghc/dist/${pkgver}/ghc-${pkgver}-testsuite.tar.xz"
'build.mk'
'ghc')
md5sums=('5e34b2a29564596c9ed83fb8667b47d4'
'7ca72a039d44ca2586c02863392b5dce'
'c367ef26300648ee9b8aca3dee5c9669'
'c1d46d86752c50dd85e7143b029fa07f')
build() {
cd ghc-${pkgver}
cp ${srcdir}/build.mk mk/build.mk
./configure \
--prefix=/usr \
--with-system-libffi \
--with-ffi-includes=/usr/lib/libffi-3.1/include
make
}
check() {
# keep this otherwise a lot of tests will show as unexpected failures... need to investigate why using -jn for n > 1 does this...
unset MAKEFLAGS
cd ghc-${pkgver}
# python2 rename
sed -e 's_#!/usr/bin/env python_&2_' -i testsuite/timeout/calibrate testsuite/timeout/timeout.py
# upstream known failures on both i686 and x86_64:
# ghci.debugger/scripts break011 [bad stderr] (ghci)
# perf/compiler parsing001 [stat not good enough] (normal)
# simplCore/should_compile spec-inline [stderr mismatch] (optasm)
# upstream known failures on i686 only:
# numrun012 test fails on i686 works on x86_64 - http://hackage.haskell.org/trac/ghc/ticket/5856
make test
# enabling threads to speed up
# causes more failures than make test, need to investigate
# upstream known failures on both i686 and x86_64:
# perf/compiler parsing001 [stat not good enough] (normal)
# simplCore/should_compile spec-inline [stderr mismatch] (optasm)
# upstream known failures on i686 only:
# numrun012 test fails on i686 works on x86_64 - http://hackage.haskell.org/trac/ghc/ticket/5856
#make THREADS=9 test
# will most likely cause lots of failures
# enable this when upstream has 0 test failures from a simple 'make test'
# zero unexpected failures on all tier 1 platforms - http://hackage.haskell.org/trac/ghc/ticket/5757
#make fulltest
}
package() {
cd ghc-${pkgver}
make DESTDIR=${pkgdir} install
install -d ${pkgdir}/usr/share/licenses/ghc
install -m644 LICENSE \
${pkgdir}/usr/share/licenses/ghc
# provide non vanilla bash completion since ghc currently doesn't ship with any:
# https://ghc.haskell.org/trac/ghc/ticket/9005
install -d ${pkgdir}/usr/share/bash-completion/completions
install -m644 ${srcdir}/ghc \
${pkgdir}/usr/share/bash-completion/completions
}
|