aboutsummaryrefslogtreecommitdiffstats
path: root/testing/ghc/APKBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'testing/ghc/APKBUILD')
-rw-r--r--testing/ghc/APKBUILD97
1 files changed, 97 insertions, 0 deletions
diff --git a/testing/ghc/APKBUILD b/testing/ghc/APKBUILD
new file mode 100644
index 0000000000..f59bfa0219
--- /dev/null
+++ b/testing/ghc/APKBUILD
@@ -0,0 +1,97 @@
+#-*-mode: Shell-script; coding: utf-8;-*-
+# Maintainer: Mitch Tishmack <mitch.tishmack@gmail.com>
+pkgname=ghc
+pkgver=8.0.2
+pkgrel=0
+pkgdesc="The Glasgow Haskell Compiler"
+url="http://haskell.org"
+subpackages="$pkgname-doc"
+arch="x86_64"
+builddir="$srcdir/$pkgname-$pkgver"
+source="http://downloads.haskell.org/~ghc/${pkgver}/ghc-${pkgver}-src.tar.xz
+ 0001-rm-ghc-pwd.patch
+ 0002-Correct-issue-with-libffi-and-glibc.patch
+ 0003-do-not-use-SHELL.patch
+ 0004-reproducible-tmp-names.patch
+ 0005-buildpath-abi-stability.patch
+ 0006-fix-madvise.patch
+ "
+
+# Note ghc's license is basically bsd3. If you'd like to know more visit:
+# https://www.haskell.org/ghc/license
+# https://ghc.haskell.org/trac/ghc/wiki/Licensing
+#
+# Note also that ghc is sensitive to the version of llvm used, hence the
+# llvm3.7 package.
+#
+# Ref: https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-8.0.1
+# https://ghc.haskell.org/trac/ghc/wiki/ImprovedLLVMBackend
+license="custom:bsd3"
+
+# Note, gcc supports --no-pie on alpine linux 3.5+ only. We test for
+# that version as it greatly simplifies the apkbuild process. The
+# apks built on 3.5 will not work on any prior version of alpine linux.
+depends="gmp-dev perl gcc>=6.2.1 llvm3.7"
+provides="ghc-bootstrap=$pkgver-r$pkgrel"
+install=""
+
+# ghc build dependencies
+makedepends="
+ $depends
+ autoconf
+ linux-headers
+ musl-dev
+ ncurses-dev
+ gmp-dev
+ libffi-dev
+ zlib-dev
+ binutils-dev
+ binutils-gold
+ paxmark
+ ghc-bootstrap
+ "
+
+_ghc_build_tmp="$builddir/tmp"
+
+build() {
+ cd "$builddir"
+ cp mk/build.mk.sample mk/build.mk || return 1
+ cat >> mk/build.mk <<-EOF
+ BuildFlavour = perf-llvm
+ INTEGER_LIBRARY = integer-gmp
+ BeConservative = YES
+ V = 0
+ GhcStage3HcOpts += -O3
+ SplitSections = YES
+ EOF
+
+ # Due to patches to the configure script
+ autoreconf || return 1
+
+ ./configure \
+ --prefix=/usr \
+ --with-ld=ld.gold || return 1
+ make || return 1
+}
+
+doc() {
+ default_doc
+ install -Dm644 "$builddir/LICENSE" "$subpkgdir/usr/share/licenses/$subpkgname/LICENSE" || return 1
+}
+
+package() {
+ cd "$builddir"
+ make -j1 DESTDIR="$pkgdir" install || return 1
+ paxmark -m "$pkgdir/usr/lib/ghc-$pkgver/bin/ghc"
+ paxmark -m "$pkgdir/usr/lib/ghc-$pkgver/bin/ghc-iserv"
+ paxmark -m "$pkgdir/usr/lib/ghc-$pkgver/bin/ghc-iserv-dyn"
+ paxmark -m "$pkgdir/usr/lib/ghc-$pkgver/bin/ghc-iserv-prof"
+}
+
+sha512sums="58ea3853cd93b556ecdc4abd0be079b2621171b8491f59004ea4e036a4cba4470aaafe6591b942e0a50a64bdc47540e01fe6900212a1ef7087850112d9bfc5ef ghc-8.0.2-src.tar.xz
+128eece1b103f286b915a1563a628b638f03509d18cdb2e6510957d26eb56a4ae66e33c946c0e6c2aac2f947b9646dc88c1f390c69ea21f9dc64e0bef4de4e97 0001-rm-ghc-pwd.patch
+6f90b0de1e34c286e54ef14514ffabe17f9012fbc5448b4aacb3687aac065942e0a3a2c1c57b6338121140369a8870b4ce2a6b355c83c43344d4de8909a253a4 0002-Correct-issue-with-libffi-and-glibc.patch
+59194e6994c8344c579ec16c3adf3e0cdc7c356b524b12f8b10ec940191463d686782e525537c94ffa8e1bf9efcc36a2b3da3004183586ab0e354ab0a7036e0a 0003-do-not-use-SHELL.patch
+b5a5e73a2f01c0cabc96a49776d0d0f3d1d7a10759bb0b2982e7c7f6dc525d0559c0183ee779feb77ec6f2cec3bac17c1a5ba4c3bc0c6f780dfc1ed3dcf6c80e 0004-reproducible-tmp-names.patch
+e1c2cef06d307eda4b35521204e95eb54ace5dbcd22de659e95356f884b4424d6304365e4ab45c5116192cba4c095e2e91114bc7cb73d7c7173a7035287d0854 0005-buildpath-abi-stability.patch
+478f9c9990ee01b70e88daf97138f853816d862731a02e9286ad787845dcb40c1443a30520598d805d0ff7cea8c3d604ed5d9033dbe8e572e8a85911ee739ff7 0006-fix-madvise.patch"