Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/build-support/ghc90-bin
diff options
context:
space:
mode:
Diffstat (limited to 'build-support/ghc90-bin')
-rw-r--r--build-support/ghc90-bin/PKGBUILD61
-rw-r--r--build-support/ghc90-bin/ghc.install10
2 files changed, 71 insertions, 0 deletions
diff --git a/build-support/ghc90-bin/PKGBUILD b/build-support/ghc90-bin/PKGBUILD
new file mode 100644
index 00000000..fedad497
--- /dev/null
+++ b/build-support/ghc90-bin/PKGBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Rudy Matela <rudy@matela.com.br>
+#
+# Contributor: Rudy Matela <rudy@matela.com.br>
+#
+# This package can coexist with the latest version of GHC.
+# If you would like to compile GHC yourself (AUR: ghc9.0),
+# you can use this to bootstrap compilation.
+pkgname=ghc9.0-bin
+pkgver=9.0.1
+pkgrel=1
+pkgdesc='Legacy binary GHC 9.0 installed on /usr/bin/ghc-9.0 (Feb/2021 - Feb/2021).'
+arch=('i486' 'i686' 'pentium4')
+url='http://www.haskell.org/ghc/'
+license=('custom')
+depends=('gcc' 'gmp' 'libffi' 'perl')
+makedepends=( 'perl' 'libxslt' 'docbook-xsl' 'ncurses5-compat-libs')
+checkdepends=('python2')
+install='ghc.install'
+options=('staticlibs')
+provides=('ghc9.0')
+conflicts=('ghc9.0')
+source=("https://www.haskell.org/ghc/dist/${pkgver}/ghc-${pkgver}-i386-deb9-linux.tar.xz")
+noextract=("ghc-${pkgver}-${CARCH}-deb10-linux.tar.xz")
+sha256sums=('c253e7eb62cc9da6524c491c85ec8d3727c2ca6035a8653388e636aaa30a2a0f')
+
+prepare() {
+ # for some reason, bsdtar cannot unpack this file:
+ tar -xf "ghc-${pkgver}-i386-deb9-linux.tar.xz"
+ # see https://wiki.archlinux.org/index.php/PKGBUILD#noextract
+}
+
+build() {
+ cd ghc-${pkgver}
+
+ sed -i 's,"$bindir/ghc","$bindir/ghc-9.0",' utils/runghc/runghc.wrapper
+
+ ./configure \
+ --prefix=/usr \
+ --docdir=/usr/share/doc/ghc-9.0
+}
+
+package() {
+ cd ghc-${pkgver}
+
+ make DESTDIR=${pkgdir} install
+
+ mv ${pkgdir}/usr/bin/ghc ${pkgdir}/usr/bin/ghc-9.0
+ mv ${pkgdir}/usr/bin/ghci ${pkgdir}/usr/bin/ghci-9.0
+ mv ${pkgdir}/usr/bin/ghc-pkg ${pkgdir}/usr/bin/ghc-pkg-9.0
+ mv ${pkgdir}/usr/bin/haddock ${pkgdir}/usr/bin/haddock-ghc-9.0
+ mv ${pkgdir}/usr/bin/hp2ps ${pkgdir}/usr/bin/hp2ps-ghc-9.0
+ mv ${pkgdir}/usr/bin/hpc ${pkgdir}/usr/bin/hpc-ghc-9.0
+ mv ${pkgdir}/usr/bin/hsc2hs ${pkgdir}/usr/bin/hsc2hs-ghc-9.0
+ mv ${pkgdir}/usr/bin/runghc ${pkgdir}/usr/bin/runghc-9.0
+ rm ${pkgdir}/usr/bin/runhaskell # use runghc-9.0 instead
+
+ mv ${pkgdir}/usr/share/man/man1/ghc.1 ${pkgdir}/usr/share/man/man1/ghc-9.0
+
+ install -d ${pkgdir}/usr/share/licenses/ghc-9.0
+ install -m644 LICENSE ${pkgdir}/usr/share/licenses/ghc-9.0
+}
diff --git a/build-support/ghc90-bin/ghc.install b/build-support/ghc90-bin/ghc.install
new file mode 100644
index 00000000..68eed631
--- /dev/null
+++ b/build-support/ghc90-bin/ghc.install
@@ -0,0 +1,10 @@
+pre_upgrade() {
+ echo '==> Unregistering cabalized packages...'
+ [[ -d /usr/share/haskell-ghc-9.0 ]] && find /usr/share/haskell-ghc-9.0 -maxdepth 2 -name 'unregister.sh' -exec {} \;
+ echo '==> Done.'
+}
+
+post_upgrade() {
+ echo '==> All cabalized packages need to be reinstalled now.'
+ echo '==> See /usr/share/haskell-ghc-9.0/ and ghc-pkg-9.0 list --user for a tentative list of affected packages.'
+}