Github messages for voidlinux
 help / color / mirror / Atom feed
* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
  2020-03-31 11:31 ` [PR PATCH] [Updated] [WIP] GHC 8.8.3 slotThe
@ 2020-04-01 14:48 ` slotThe
  2020-04-01 15:27 ` slotThe
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-01 14:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [ ] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [ ] darcs
    - [x] shellcheck
    - [ ] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 44738 bytes --]

From 96efbc4c9d2a41b9f88934307f98671826386e22 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/19] ghc: update to 8.8.3

---
 srcpkgs/ghc/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..ac41a404007 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"

From 267dd0ebcf1c625dd30bc44b09aaa86ecdd8f1fe Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/19] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..2cd693617fd 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,7 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -20,8 +20,8 @@ x86_64)
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"

From d1485148e8f5e4919784287b33212843cfd81b7a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/19] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From dd6d95fed551c0583c00022d719e3eec480f17dc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/19] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 56f241a942e1a01e9a73a8d0e742812345544e4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Wed, 25 Mar 2020 22:11:24 +0100
Subject: [PATCH 05/19] ghc: add build option "bindist"

Setting the "bindist" option adapts the template to not only build
ghc, without using the system libffi, but also create a binary
distribution and install it in the source distfiles folder:
${XBPS_SRCDISTDIR}/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz

[ci skip]
---
 srcpkgs/ghc/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..95767008317 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -32,6 +32,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +59,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 65ab04423f2dbc793ac814838187a4e635cf2d10 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 06/19] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 87593c0aebe8d1bb43e44b6736b9f6bd14e2af47 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 07/19] stack: bump revision

---
 srcpkgs/stack/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..f8fce921703 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}

From bacae5d32d6c1b456e3a35529112d36b5e12530a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 08/19] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From fcc3330d6b579b372fdd8c53034d494a69615787 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 09/19] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 5ecd29b4057b8a3cb6c125b5c8f04a3405d41b18 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 10/19] xmobar: update to 0.33

---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 4460c96a4a9a4c027dedfc353247a01f19a874e5 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 11/19] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From d489af4fa01c0be723d1a445e9c89f6dd99208d1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 12/19] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 15bc1164ada79b0c707b208cf35f0d9b076e9a8a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 13/19] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..b2ec570aaf1 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,17 +1,17 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
 nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
 
 post_install() {

From 3adbd54301ef40d5fd55d65847f4eb68be68349c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 14/19] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 02cf5b5d4ca783d52aa9a1d2b7b56519530c4223 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 15/19] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..521d07ffccc 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+makedepends="ncurses-devel"
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 367fb4e32ecfbc92d2946d548ab40851fb57bbc6 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 14:50:21 +0200
Subject: [PATCH 16/19] shellcheck: switch to git

---
 srcpkgs/shellcheck/template | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..fbfe235efc6 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,19 +1,27 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
+wrksrc=${pkgname}-${version}
 build_style=haskell-stack
-stackage="lts-13.26"
+_commit=37e78141bd57f56b2a8d7ec0c91e76edec6a9dc5
+stackage="lts-15.4"
 hostmakedepends="pandoc"
+makedepends="git"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="GPL-3.0-or-later"
 homepage="https://www.shellcheck.net/"
-distfiles="https://github.com/koalaman/shellcheck/archive/v${version}.tar.gz"
-checksum=946cf3421ffd418f0edc380d1184e4cb08c2ec7f098c79b1c8a2c482fe91d877
 nocross=yes
 nopie_files="/usr/bin/shellcheck"
 
+# TODO: Switch back to hackage once it has a cabal-3 compatible version.
+do_fetch() {
+	git clone https://github.com/koalaman/shellcheck ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+}
+
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md

From dd040e06c1396b0fedea4339c8baf410681921a4 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 17/19] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 3d419216fd78cc00a1aa1681cd17880296712a64 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 18/19] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 7bb7c852a22e9dfaeebc9f82b131045074b256d3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 19/19] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..6aa2188ec82 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
  2020-03-31 11:31 ` [PR PATCH] [Updated] [WIP] GHC 8.8.3 slotThe
  2020-04-01 14:48 ` slotThe
@ 2020-04-01 15:27 ` slotThe
  2020-04-02 10:36 ` slotThe
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-01 15:27 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [ ] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [ ] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 45334 bytes --]

From 96efbc4c9d2a41b9f88934307f98671826386e22 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/19] ghc: update to 8.8.3

---
 srcpkgs/ghc/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..ac41a404007 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"

From 267dd0ebcf1c625dd30bc44b09aaa86ecdd8f1fe Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/19] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..2cd693617fd 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,7 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -20,8 +20,8 @@ x86_64)
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"

From d1485148e8f5e4919784287b33212843cfd81b7a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/19] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From dd6d95fed551c0583c00022d719e3eec480f17dc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/19] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 56f241a942e1a01e9a73a8d0e742812345544e4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Wed, 25 Mar 2020 22:11:24 +0100
Subject: [PATCH 05/19] ghc: add build option "bindist"

Setting the "bindist" option adapts the template to not only build
ghc, without using the system libffi, but also create a binary
distribution and install it in the source distfiles folder:
${XBPS_SRCDISTDIR}/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz

[ci skip]
---
 srcpkgs/ghc/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..95767008317 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -32,6 +32,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +59,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 65ab04423f2dbc793ac814838187a4e635cf2d10 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 06/19] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 87593c0aebe8d1bb43e44b6736b9f6bd14e2af47 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 07/19] stack: bump revision

---
 srcpkgs/stack/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..f8fce921703 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}

From bacae5d32d6c1b456e3a35529112d36b5e12530a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 08/19] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From fcc3330d6b579b372fdd8c53034d494a69615787 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 09/19] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 5ecd29b4057b8a3cb6c125b5c8f04a3405d41b18 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 10/19] xmobar: update to 0.33

---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 4460c96a4a9a4c027dedfc353247a01f19a874e5 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 11/19] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From d489af4fa01c0be723d1a445e9c89f6dd99208d1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 12/19] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 15bc1164ada79b0c707b208cf35f0d9b076e9a8a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 13/19] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..b2ec570aaf1 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,17 +1,17 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
 nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
 
 post_install() {

From 3adbd54301ef40d5fd55d65847f4eb68be68349c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 14/19] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 02cf5b5d4ca783d52aa9a1d2b7b56519530c4223 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 15/19] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..521d07ffccc 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+makedepends="ncurses-devel"
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 4391440d1073834a002f3e9f6efb3d62e1e21657 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 16/19] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/patches/cabal3.patch | 24 ++++++++++++++++++++++++
 srcpkgs/shellcheck/template             |  5 +++--
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/shellcheck/patches/cabal3.patch

diff --git a/srcpkgs/shellcheck/patches/cabal3.patch b/srcpkgs/shellcheck/patches/cabal3.patch
new file mode 100644
index 00000000000..fb51b9f3bc8
--- /dev/null
+++ b/srcpkgs/shellcheck/patches/cabal3.patch
@@ -0,0 +1,24 @@
+--- ShellCheck.cabal	2019-07-29 03:12:25.000000000 +0200
++++ ShellCheck.cabal	2020-04-01 17:07:35.148551283 +0200
+@@ -7,7 +7,7 @@
+ Author:           Vidar Holen
+ Maintainer:       vidar@vidarholen.net
+ Homepage:         https://www.shellcheck.net/
+-Build-Type:       Custom
++Build-Type:       Simple
+ Cabal-Version:    >= 1.8
+ Bug-reports:      https://github.com/koalaman/shellcheck/issues
+ Description:
+@@ -33,12 +33,6 @@
+     -- tests
+     test/shellcheck.hs
+ 
+-custom-setup
+-  setup-depends:
+-    base    >= 4    && <5,
+-    process >= 1.0  && <1.7,
+-    Cabal   >= 1.10 && <2.5
+-
+ source-repository head
+     type: git
+     location: git://github.com/koalaman/shellcheck.git
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..86ffbb78abf 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -17,6 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
+        rm Setup.hs
 }
 
 post_install() {

From b83635ace2078a60ff3604c6a54d8f24684aeff3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 17/19] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 9dd8df2777b56d8d328183244f005a5b4b6f7b8e Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 18/19] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 4dab7f2de946f0ac4b92f8d383326054ae9b6dae Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 19/19] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..6aa2188ec82 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (2 preceding siblings ...)
  2020-04-01 15:27 ` slotThe
@ 2020-04-02 10:36 ` slotThe
  2020-04-02 10:45 ` slotThe
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-02 10:36 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [ ] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [ ] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 52382 bytes --]

From 96efbc4c9d2a41b9f88934307f98671826386e22 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/21] ghc: update to 8.8.3

---
 srcpkgs/ghc/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..ac41a404007 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"

From 267dd0ebcf1c625dd30bc44b09aaa86ecdd8f1fe Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/21] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..2cd693617fd 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,7 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -20,8 +20,8 @@ x86_64)
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"

From d1485148e8f5e4919784287b33212843cfd81b7a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/21] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From dd6d95fed551c0583c00022d719e3eec480f17dc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/21] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 56f241a942e1a01e9a73a8d0e742812345544e4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Wed, 25 Mar 2020 22:11:24 +0100
Subject: [PATCH 05/21] ghc: add build option "bindist"

Setting the "bindist" option adapts the template to not only build
ghc, without using the system libffi, but also create a binary
distribution and install it in the source distfiles folder:
${XBPS_SRCDISTDIR}/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz

[ci skip]
---
 srcpkgs/ghc/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..95767008317 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -32,6 +32,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +59,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 65ab04423f2dbc793ac814838187a4e635cf2d10 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 06/21] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 87593c0aebe8d1bb43e44b6736b9f6bd14e2af47 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 07/21] stack: bump revision

---
 srcpkgs/stack/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..f8fce921703 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}

From bacae5d32d6c1b456e3a35529112d36b5e12530a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 08/21] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From fcc3330d6b579b372fdd8c53034d494a69615787 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 09/21] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 5ecd29b4057b8a3cb6c125b5c8f04a3405d41b18 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 10/21] xmobar: update to 0.33

---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 4460c96a4a9a4c027dedfc353247a01f19a874e5 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 11/21] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From d489af4fa01c0be723d1a445e9c89f6dd99208d1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 12/21] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 15bc1164ada79b0c707b208cf35f0d9b076e9a8a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 13/21] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..b2ec570aaf1 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,17 +1,17 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
 nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
 
 post_install() {

From 3adbd54301ef40d5fd55d65847f4eb68be68349c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 14/21] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 02cf5b5d4ca783d52aa9a1d2b7b56519530c4223 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 15/21] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..521d07ffccc 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+makedepends="ncurses-devel"
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 4391440d1073834a002f3e9f6efb3d62e1e21657 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 16/21] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/patches/cabal3.patch | 24 ++++++++++++++++++++++++
 srcpkgs/shellcheck/template             |  5 +++--
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/shellcheck/patches/cabal3.patch

diff --git a/srcpkgs/shellcheck/patches/cabal3.patch b/srcpkgs/shellcheck/patches/cabal3.patch
new file mode 100644
index 00000000000..fb51b9f3bc8
--- /dev/null
+++ b/srcpkgs/shellcheck/patches/cabal3.patch
@@ -0,0 +1,24 @@
+--- ShellCheck.cabal	2019-07-29 03:12:25.000000000 +0200
++++ ShellCheck.cabal	2020-04-01 17:07:35.148551283 +0200
+@@ -7,7 +7,7 @@
+ Author:           Vidar Holen
+ Maintainer:       vidar@vidarholen.net
+ Homepage:         https://www.shellcheck.net/
+-Build-Type:       Custom
++Build-Type:       Simple
+ Cabal-Version:    >= 1.8
+ Bug-reports:      https://github.com/koalaman/shellcheck/issues
+ Description:
+@@ -33,12 +33,6 @@
+     -- tests
+     test/shellcheck.hs
+ 
+-custom-setup
+-  setup-depends:
+-    base    >= 4    && <5,
+-    process >= 1.0  && <1.7,
+-    Cabal   >= 1.10 && <2.5
+-
+ source-repository head
+     type: git
+     location: git://github.com/koalaman/shellcheck.git
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..86ffbb78abf 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -17,6 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
+        rm Setup.hs
 }
 
 post_install() {

From b83635ace2078a60ff3604c6a54d8f24684aeff3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 17/21] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 9dd8df2777b56d8d328183244f005a5b4b6f7b8e Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 18/21] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 4dab7f2de946f0ac4b92f8d383326054ae9b6dae Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 19/21] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..6aa2188ec82 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From d31fa7ff8b9bf88af4c3ef9346f2de62afea176a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 20/21] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml | 34 +++++++++++++++++++++---------
 srcpkgs/git-annex/template         | 14 ++++++------
 2 files changed, 30 insertions(+), 18 deletions(-)

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

From 57f31788ccb853a3674c25e7f970f7df7725a6d9 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:36:10 +0200
Subject: [PATCH 21/21] Fix xlint nits

---
 srcpkgs/darcs/template      | 2 +-
 srcpkgs/ghc-bin/template    | 2 +-
 srcpkgs/hlint/template      | 2 +-
 srcpkgs/hoogle/template     | 2 +-
 srcpkgs/shellcheck/template | 2 +-
 srcpkgs/stack/template      | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 6aa2188ec82..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -15,7 +15,7 @@ nopie_files="/usr/bin/darcs"
 nocross=yes
 
 do_configure() {
-        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
 	vsed -e '/sDistHook = /,+14d' -i Setup.hs
 	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
 	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 2cd693617fd..95732946c35 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -2,6 +2,7 @@
 pkgname=ghc-bin
 version=8.8.3
 revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,7 +10,6 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 521d07ffccc..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -4,10 +4,10 @@ version=2.2.11
 revision=1
 build_style=haskell-stack
 stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-makedepends="ncurses-devel"
 homepage="https://github.com/ndmitchell/${pkgname}"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
 checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index b2ec570aaf1..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -3,7 +3,6 @@ pkgname=hoogle
 version=5.0.17.15
 revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
 stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
@@ -13,6 +12,7 @@ homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
 checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index 86ffbb78abf..3b5fe51b810 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -17,7 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
-        rm Setup.hs
+	rm Setup.hs
 }
 
 post_install() {
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index f8fce921703..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (3 preceding siblings ...)
  2020-04-02 10:36 ` slotThe
@ 2020-04-02 10:45 ` slotThe
  2020-04-02 11:26 ` slotThe
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-02 10:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 53095 bytes --]

From 96efbc4c9d2a41b9f88934307f98671826386e22 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/21] ghc: update to 8.8.3

---
 srcpkgs/ghc/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..ac41a404007 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"

From 267dd0ebcf1c625dd30bc44b09aaa86ecdd8f1fe Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/21] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..2cd693617fd 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,7 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -20,8 +20,8 @@ x86_64)
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"

From d1485148e8f5e4919784287b33212843cfd81b7a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/21] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From dd6d95fed551c0583c00022d719e3eec480f17dc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/21] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 56f241a942e1a01e9a73a8d0e742812345544e4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Wed, 25 Mar 2020 22:11:24 +0100
Subject: [PATCH 05/21] ghc: add build option "bindist"

Setting the "bindist" option adapts the template to not only build
ghc, without using the system libffi, but also create a binary
distribution and install it in the source distfiles folder:
${XBPS_SRCDISTDIR}/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz

[ci skip]
---
 srcpkgs/ghc/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..95767008317 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -32,6 +32,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +59,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 65ab04423f2dbc793ac814838187a4e635cf2d10 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 06/21] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 87593c0aebe8d1bb43e44b6736b9f6bd14e2af47 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 07/21] stack: bump revision

---
 srcpkgs/stack/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..f8fce921703 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}

From bacae5d32d6c1b456e3a35529112d36b5e12530a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 08/21] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From fcc3330d6b579b372fdd8c53034d494a69615787 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 09/21] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 5ecd29b4057b8a3cb6c125b5c8f04a3405d41b18 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 10/21] xmobar: update to 0.33

---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 4460c96a4a9a4c027dedfc353247a01f19a874e5 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 11/21] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From d489af4fa01c0be723d1a445e9c89f6dd99208d1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 12/21] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 15bc1164ada79b0c707b208cf35f0d9b076e9a8a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 13/21] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..b2ec570aaf1 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,17 +1,17 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
 nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
 
 post_install() {

From 3adbd54301ef40d5fd55d65847f4eb68be68349c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 14/21] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 02cf5b5d4ca783d52aa9a1d2b7b56519530c4223 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 15/21] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..521d07ffccc 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+makedepends="ncurses-devel"
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 4391440d1073834a002f3e9f6efb3d62e1e21657 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 16/21] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/patches/cabal3.patch | 24 ++++++++++++++++++++++++
 srcpkgs/shellcheck/template             |  5 +++--
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/shellcheck/patches/cabal3.patch

diff --git a/srcpkgs/shellcheck/patches/cabal3.patch b/srcpkgs/shellcheck/patches/cabal3.patch
new file mode 100644
index 00000000000..fb51b9f3bc8
--- /dev/null
+++ b/srcpkgs/shellcheck/patches/cabal3.patch
@@ -0,0 +1,24 @@
+--- ShellCheck.cabal	2019-07-29 03:12:25.000000000 +0200
++++ ShellCheck.cabal	2020-04-01 17:07:35.148551283 +0200
+@@ -7,7 +7,7 @@
+ Author:           Vidar Holen
+ Maintainer:       vidar@vidarholen.net
+ Homepage:         https://www.shellcheck.net/
+-Build-Type:       Custom
++Build-Type:       Simple
+ Cabal-Version:    >= 1.8
+ Bug-reports:      https://github.com/koalaman/shellcheck/issues
+ Description:
+@@ -33,12 +33,6 @@
+     -- tests
+     test/shellcheck.hs
+ 
+-custom-setup
+-  setup-depends:
+-    base    >= 4    && <5,
+-    process >= 1.0  && <1.7,
+-    Cabal   >= 1.10 && <2.5
+-
+ source-repository head
+     type: git
+     location: git://github.com/koalaman/shellcheck.git
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..86ffbb78abf 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -17,6 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
+        rm Setup.hs
 }
 
 post_install() {

From b83635ace2078a60ff3604c6a54d8f24684aeff3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 17/21] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 9dd8df2777b56d8d328183244f005a5b4b6f7b8e Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 18/21] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 4dab7f2de946f0ac4b92f8d383326054ae9b6dae Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 19/21] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..6aa2188ec82 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From 64ac8280037bf007c8668275380c6217327a23c1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 20/21] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml       | 34 +++++++++++++++++-------
 srcpkgs/git-annex/patches/ghc8.8.3.patch | 10 +++++++
 srcpkgs/git-annex/template               | 14 +++++-----
 3 files changed, 40 insertions(+), 18 deletions(-)
 create mode 100644 srcpkgs/git-annex/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/patches/ghc8.8.3.patch b/srcpkgs/git-annex/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..0df32051571
--- /dev/null
+++ b/srcpkgs/git-annex/patches/ghc8.8.3.patch
@@ -0,0 +1,10 @@
+--- git-annex.cabal	2020-04-01 21:09:23.653315424 +0200
++++ masterdir/builddir/git-annex-8.20200330/git-annex.cabal	2020-04-01 20:50:23.080838029 +0200
+@@ -304,6 +304,7 @@
+   Build-Depends:
+    base (>= 4.11.1.0 && < 5.0),
+    network-uri (>= 2.6),
++   network-bsd,
+    optparse-applicative (>= 0.14.1),
+    containers (>= 0.5.8),
+    exceptions (>= 0.6),
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

From d3bf74bd615493b2d16690c80536b1d2fa268ca6 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:36:10 +0200
Subject: [PATCH 21/21] Fix xlint nits

---
 srcpkgs/darcs/template      | 2 +-
 srcpkgs/ghc-bin/template    | 2 +-
 srcpkgs/hlint/template      | 2 +-
 srcpkgs/hoogle/template     | 2 +-
 srcpkgs/shellcheck/template | 2 +-
 srcpkgs/stack/template      | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 6aa2188ec82..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -15,7 +15,7 @@ nopie_files="/usr/bin/darcs"
 nocross=yes
 
 do_configure() {
-        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
 	vsed -e '/sDistHook = /,+14d' -i Setup.hs
 	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
 	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 2cd693617fd..95732946c35 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -2,6 +2,7 @@
 pkgname=ghc-bin
 version=8.8.3
 revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,7 +10,6 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 521d07ffccc..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -4,10 +4,10 @@ version=2.2.11
 revision=1
 build_style=haskell-stack
 stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-makedepends="ncurses-devel"
 homepage="https://github.com/ndmitchell/${pkgname}"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
 checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index b2ec570aaf1..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -3,7 +3,6 @@ pkgname=hoogle
 version=5.0.17.15
 revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
 stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
@@ -13,6 +12,7 @@ homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
 checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index 86ffbb78abf..3b5fe51b810 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -17,7 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
-        rm Setup.hs
+	rm Setup.hs
 }
 
 post_install() {
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index f8fce921703..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (4 preceding siblings ...)
  2020-04-02 10:45 ` slotThe
@ 2020-04-02 11:26 ` slotThe
  2020-04-08 15:40 ` slotThe
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-02 11:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 54018 bytes --]

From 96efbc4c9d2a41b9f88934307f98671826386e22 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/21] ghc: update to 8.8.3

---
 srcpkgs/ghc/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..ac41a404007 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"

From 267dd0ebcf1c625dd30bc44b09aaa86ecdd8f1fe Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/21] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..2cd693617fd 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,7 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -20,8 +20,8 @@ x86_64)
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"

From d1485148e8f5e4919784287b33212843cfd81b7a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/21] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From dd6d95fed551c0583c00022d719e3eec480f17dc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/21] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 56f241a942e1a01e9a73a8d0e742812345544e4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Wed, 25 Mar 2020 22:11:24 +0100
Subject: [PATCH 05/21] ghc: add build option "bindist"

Setting the "bindist" option adapts the template to not only build
ghc, without using the system libffi, but also create a binary
distribution and install it in the source distfiles folder:
${XBPS_SRCDISTDIR}/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz

[ci skip]
---
 srcpkgs/ghc/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..95767008317 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -32,6 +32,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +59,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 65ab04423f2dbc793ac814838187a4e635cf2d10 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 06/21] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 87593c0aebe8d1bb43e44b6736b9f6bd14e2af47 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 07/21] stack: bump revision

---
 srcpkgs/stack/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..f8fce921703 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}

From bacae5d32d6c1b456e3a35529112d36b5e12530a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 08/21] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From fcc3330d6b579b372fdd8c53034d494a69615787 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 09/21] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 5ecd29b4057b8a3cb6c125b5c8f04a3405d41b18 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 10/21] xmobar: update to 0.33

---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 4460c96a4a9a4c027dedfc353247a01f19a874e5 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 11/21] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From d489af4fa01c0be723d1a445e9c89f6dd99208d1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 12/21] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 15bc1164ada79b0c707b208cf35f0d9b076e9a8a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 13/21] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..b2ec570aaf1 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,17 +1,17 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
 nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
 
 post_install() {

From 3adbd54301ef40d5fd55d65847f4eb68be68349c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 14/21] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 02cf5b5d4ca783d52aa9a1d2b7b56519530c4223 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 15/21] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..521d07ffccc 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+makedepends="ncurses-devel"
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 4391440d1073834a002f3e9f6efb3d62e1e21657 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 16/21] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/patches/cabal3.patch | 24 ++++++++++++++++++++++++
 srcpkgs/shellcheck/template             |  5 +++--
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/shellcheck/patches/cabal3.patch

diff --git a/srcpkgs/shellcheck/patches/cabal3.patch b/srcpkgs/shellcheck/patches/cabal3.patch
new file mode 100644
index 00000000000..fb51b9f3bc8
--- /dev/null
+++ b/srcpkgs/shellcheck/patches/cabal3.patch
@@ -0,0 +1,24 @@
+--- ShellCheck.cabal	2019-07-29 03:12:25.000000000 +0200
++++ ShellCheck.cabal	2020-04-01 17:07:35.148551283 +0200
+@@ -7,7 +7,7 @@
+ Author:           Vidar Holen
+ Maintainer:       vidar@vidarholen.net
+ Homepage:         https://www.shellcheck.net/
+-Build-Type:       Custom
++Build-Type:       Simple
+ Cabal-Version:    >= 1.8
+ Bug-reports:      https://github.com/koalaman/shellcheck/issues
+ Description:
+@@ -33,12 +33,6 @@
+     -- tests
+     test/shellcheck.hs
+ 
+-custom-setup
+-  setup-depends:
+-    base    >= 4    && <5,
+-    process >= 1.0  && <1.7,
+-    Cabal   >= 1.10 && <2.5
+-
+ source-repository head
+     type: git
+     location: git://github.com/koalaman/shellcheck.git
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..86ffbb78abf 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -17,6 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
+        rm Setup.hs
 }
 
 post_install() {

From b83635ace2078a60ff3604c6a54d8f24684aeff3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 17/21] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 9dd8df2777b56d8d328183244f005a5b4b6f7b8e Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 18/21] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 4dab7f2de946f0ac4b92f8d383326054ae9b6dae Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 19/21] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..6aa2188ec82 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From 03b261a36da8ae204cab2082571ec90eec17b49e Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 20/21] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml       | 34 +++++++++++++++++-------
 srcpkgs/git-annex/patches/ghc8.8.3.patch | 18 +++++++++++++
 srcpkgs/git-annex/template               | 14 +++++-----
 3 files changed, 48 insertions(+), 18 deletions(-)
 create mode 100644 srcpkgs/git-annex/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/patches/ghc8.8.3.patch b/srcpkgs/git-annex/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..9422ed3e0de
--- /dev/null
+++ b/srcpkgs/git-annex/patches/ghc8.8.3.patch
@@ -0,0 +1,18 @@
+--- git-annex.cabal	2020-04-01 21:09:23.653315424 +0200
++++ git-annex.cabal	2020-04-01 20:50:23.080838029 +0200
+@@ -304,6 +304,7 @@
+   Build-Depends:
+    base (>= 4.11.1.0 && < 5.0),
+    network-uri (>= 2.6),
++   network-bsd,
+    optparse-applicative (>= 0.14.1),
+    containers (>= 0.5.8),
+    exceptions (>= 0.6),
+@@ -404,3 +404,3 @@ if flag(NetworkBSD)
+     Build-Depends: network-bsd, network (>= 3.0.0.0)
+   else
+-    Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
++    Build-Depends: network (< 3.2.0.0), network (>= 2.6.3.0)
+
+   if flag(S3)
+     Build-Depends: aws (>= 0.20)
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

From e2048232623dd5e7c922abfd846cfd16739f06e8 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:36:10 +0200
Subject: [PATCH 21/21] Fix xlint nits

---
 srcpkgs/darcs/template      | 2 +-
 srcpkgs/ghc-bin/template    | 6 +++---
 srcpkgs/hlint/template      | 2 +-
 srcpkgs/hoogle/template     | 2 +-
 srcpkgs/shellcheck/template | 2 +-
 srcpkgs/stack/template      | 2 +-
 6 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 6aa2188ec82..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -15,7 +15,7 @@ nopie_files="/usr/bin/darcs"
 nocross=yes
 
 do_configure() {
-        vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
 	vsed -e '/sDistHook = /,+14d' -i Setup.hs
 	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
 	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 2cd693617fd..6ce380350b0 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -2,6 +2,7 @@
 pkgname=ghc-bin
 version=8.8.3
 revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,14 +10,13 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
 case "$XBPS_TARGET_MACHINE" in
 x86_64)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-x86_64-deb8-linux.tar.xz"
-	checksum=c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107
+	checksum=92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
@@ -25,7 +25,7 @@ x86_64-musl)
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"
-	checksum=1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc
+	checksum=441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae
 	;;
 esac
 
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 521d07ffccc..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -4,10 +4,10 @@ version=2.2.11
 revision=1
 build_style=haskell-stack
 stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-makedepends="ncurses-devel"
 homepage="https://github.com/ndmitchell/${pkgname}"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
 checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index b2ec570aaf1..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -3,7 +3,6 @@ pkgname=hoogle
 version=5.0.17.15
 revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
 stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
@@ -13,6 +12,7 @@ homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
 checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index 86ffbb78abf..3b5fe51b810 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -17,7 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
-        rm Setup.hs
+	rm Setup.hs
 }
 
 post_install() {
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index f8fce921703..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (5 preceding siblings ...)
  2020-04-02 11:26 ` slotThe
@ 2020-04-08 15:40 ` slotThe
  2020-04-08 15:46 ` slotThe
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-08 15:40 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 49653 bytes --]

From 43d53d86047faef970b0ded02d92de29725f84ec Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/19] ghc: update to 8.8.3

Also incorporates #20368
---
 srcpkgs/ghc/template | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..e7e914269f8 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"
@@ -32,6 +31,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +58,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From ee211e91e2ac2b4757b4569ec1ecea593c4d80c0 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/19] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..6ce380350b0 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,8 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,23 +10,22 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
 case "$XBPS_TARGET_MACHINE" in
 x86_64)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-x86_64-deb8-linux.tar.xz"
-	checksum=c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107
+	checksum=92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"
-	checksum=1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc
+	checksum=441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae
 	;;
 esac
 

From 5bee79b15ce528b949e13dea1226b4f7ad576cfd Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/19] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From 4c70bd37d2199b7e6bf4df67246c2d013f7b1af7 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/19] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 4495ecbeee1e91eac0eeea86cc62ebe3dd81f367 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 05/19] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 60766ff07b82e9cbb2df3933c84690d3f7592440 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 06/19] stack: bump revision

---
 srcpkgs/stack/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

From fab49a0b683d82ad308f23d5a852862c1815de74 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 07/19] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From 0902fb98634d7fdcb1d9c125a4fd5f418e9d15e3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 08/19] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 99049f2dca8bc12edc1f41579ef605a7de678135 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 09/19] xmobar: update to 0.33

---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 1f71a4b5181d2f662a6f25bf9fe7356326d42058 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 10/19] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From 8e7e1e487491c4facd3ed92345a7796d13980cc3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 11/19] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 6511a33d6f07f90c90bfd4906c3d72f21976c119 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 12/19] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,18 +1,18 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE

From ce0a00841116dee3dc50f00cf05ac1289083033f Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 13/19] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 90ba59bb16f722cd6abc3bedfd5249ff5a42ca82 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 14/19] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 4cbc2dd3a378876ec5569129a5eeb4e0e5b6f33e Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 15/19] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/patches/cabal3.patch | 24 ++++++++++++++++++++++++
 srcpkgs/shellcheck/template             |  5 +++--
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/shellcheck/patches/cabal3.patch

diff --git a/srcpkgs/shellcheck/patches/cabal3.patch b/srcpkgs/shellcheck/patches/cabal3.patch
new file mode 100644
index 00000000000..fb51b9f3bc8
--- /dev/null
+++ b/srcpkgs/shellcheck/patches/cabal3.patch
@@ -0,0 +1,24 @@
+--- ShellCheck.cabal	2019-07-29 03:12:25.000000000 +0200
++++ ShellCheck.cabal	2020-04-01 17:07:35.148551283 +0200
+@@ -7,7 +7,7 @@
+ Author:           Vidar Holen
+ Maintainer:       vidar@vidarholen.net
+ Homepage:         https://www.shellcheck.net/
+-Build-Type:       Custom
++Build-Type:       Simple
+ Cabal-Version:    >= 1.8
+ Bug-reports:      https://github.com/koalaman/shellcheck/issues
+ Description:
+@@ -33,12 +33,6 @@
+     -- tests
+     test/shellcheck.hs
+ 
+-custom-setup
+-  setup-depends:
+-    base    >= 4    && <5,
+-    process >= 1.0  && <1.7,
+-    Cabal   >= 1.10 && <2.5
+-
+ source-repository head
+     type: git
+     location: git://github.com/koalaman/shellcheck.git
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..3b5fe51b810 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -17,6 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
+	rm Setup.hs
 }
 
 post_install() {

From 07e3b0b9b2dcf1b78c4a6de1204ac4580ba28001 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 16/19] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 6cc6a2b424cd5fba894ef235c37e6e8057683add Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 17/19] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 8e208fd9381e54f91a415661fa2cd34f7d961ff1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 18/19] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From aa036347250773767d1628960425b4c41b99c36a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 19/19] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml       | 34 +++++++++++++++++-------
 srcpkgs/git-annex/patches/ghc8.8.3.patch | 18 +++++++++++++
 srcpkgs/git-annex/template               | 14 +++++-----
 3 files changed, 48 insertions(+), 18 deletions(-)
 create mode 100644 srcpkgs/git-annex/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/patches/ghc8.8.3.patch b/srcpkgs/git-annex/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..9422ed3e0de
--- /dev/null
+++ b/srcpkgs/git-annex/patches/ghc8.8.3.patch
@@ -0,0 +1,18 @@
+--- git-annex.cabal	2020-04-01 21:09:23.653315424 +0200
++++ git-annex.cabal	2020-04-01 20:50:23.080838029 +0200
+@@ -304,6 +304,7 @@
+   Build-Depends:
+    base (>= 4.11.1.0 && < 5.0),
+    network-uri (>= 2.6),
++   network-bsd,
+    optparse-applicative (>= 0.14.1),
+    containers (>= 0.5.8),
+    exceptions (>= 0.6),
+@@ -404,3 +404,3 @@ if flag(NetworkBSD)
+     Build-Depends: network-bsd, network (>= 3.0.0.0)
+   else
+-    Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
++    Build-Depends: network (< 3.2.0.0), network (>= 2.6.3.0)
+
+   if flag(S3)
+     Build-Depends: aws (>= 0.20)
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (6 preceding siblings ...)
  2020-04-08 15:40 ` slotThe
@ 2020-04-08 15:46 ` slotThe
  2020-04-08 18:26 ` slotThe
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-08 15:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 49774 bytes --]

From 43d53d86047faef970b0ded02d92de29725f84ec Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/19] ghc: update to 8.8.3

Also incorporates #20368
---
 srcpkgs/ghc/template | 25 +++++++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..e7e914269f8 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"
@@ -32,6 +31,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +58,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From ee211e91e2ac2b4757b4569ec1ecea593c4d80c0 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/19] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..6ce380350b0 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,8 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,23 +10,22 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
 case "$XBPS_TARGET_MACHINE" in
 x86_64)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-x86_64-deb8-linux.tar.xz"
-	checksum=c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107
+	checksum=92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"
-	checksum=1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc
+	checksum=441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae
 	;;
 esac
 

From 5bee79b15ce528b949e13dea1226b4f7ad576cfd Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/19] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From 4c70bd37d2199b7e6bf4df67246c2d013f7b1af7 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/19] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 4495ecbeee1e91eac0eeea86cc62ebe3dd81f367 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 05/19] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 60766ff07b82e9cbb2df3933c84690d3f7592440 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 06/19] stack: bump revision

---
 srcpkgs/stack/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

From fab49a0b683d82ad308f23d5a852862c1815de74 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 07/19] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From 0902fb98634d7fdcb1d9c125a4fd5f418e9d15e3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 08/19] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 7f5a3e1f97799886ee28fc1e23f29196d00c08be Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 09/19] xmobar: update to 0.33

This version of xmobar adds suport for the NL80211 API for wireless devices and
deprecates the old iwlib based approach.
---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 1442cf52208b8e3f8394ab1ab2012173b13ec8b6 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 10/19] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From 075be90368de1491139c508c4c45c98313539e91 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 11/19] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 9d98386556980d4f76e84e6713878dd69f105b11 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 12/19] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,18 +1,18 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE

From 6cf5ed5e791d0e55b3f03301951b326070493b93 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 13/19] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 9c18f01224d56e5b40841f3da6747b149d28b081 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 14/19] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From fa7aaa790b909d4037492935e45282e215b332fc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 15/19] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/patches/cabal3.patch | 24 ++++++++++++++++++++++++
 srcpkgs/shellcheck/template             |  5 +++--
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/shellcheck/patches/cabal3.patch

diff --git a/srcpkgs/shellcheck/patches/cabal3.patch b/srcpkgs/shellcheck/patches/cabal3.patch
new file mode 100644
index 00000000000..fb51b9f3bc8
--- /dev/null
+++ b/srcpkgs/shellcheck/patches/cabal3.patch
@@ -0,0 +1,24 @@
+--- ShellCheck.cabal	2019-07-29 03:12:25.000000000 +0200
++++ ShellCheck.cabal	2020-04-01 17:07:35.148551283 +0200
+@@ -7,7 +7,7 @@
+ Author:           Vidar Holen
+ Maintainer:       vidar@vidarholen.net
+ Homepage:         https://www.shellcheck.net/
+-Build-Type:       Custom
++Build-Type:       Simple
+ Cabal-Version:    >= 1.8
+ Bug-reports:      https://github.com/koalaman/shellcheck/issues
+ Description:
+@@ -33,12 +33,6 @@
+     -- tests
+     test/shellcheck.hs
+ 
+-custom-setup
+-  setup-depends:
+-    base    >= 4    && <5,
+-    process >= 1.0  && <1.7,
+-    Cabal   >= 1.10 && <2.5
+-
+ source-repository head
+     type: git
+     location: git://github.com/koalaman/shellcheck.git
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..3b5fe51b810 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -17,6 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
+	rm Setup.hs
 }
 
 post_install() {

From e732b5adb88ae17c0ea665fa1de3f6b48dcfea92 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 16/19] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 7fe8e8b0b94c04dfed0467c59534788c414c04ae Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 17/19] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 7c2fda2a038e3a44d32f3336d6b238c0c1d5460a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 18/19] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From 7cb483d555c22a6d951163c0f19d66ea83df6623 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 19/19] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml       | 34 +++++++++++++++++-------
 srcpkgs/git-annex/patches/ghc8.8.3.patch | 18 +++++++++++++
 srcpkgs/git-annex/template               | 14 +++++-----
 3 files changed, 48 insertions(+), 18 deletions(-)
 create mode 100644 srcpkgs/git-annex/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/patches/ghc8.8.3.patch b/srcpkgs/git-annex/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..9422ed3e0de
--- /dev/null
+++ b/srcpkgs/git-annex/patches/ghc8.8.3.patch
@@ -0,0 +1,18 @@
+--- git-annex.cabal	2020-04-01 21:09:23.653315424 +0200
++++ git-annex.cabal	2020-04-01 20:50:23.080838029 +0200
+@@ -304,6 +304,7 @@
+   Build-Depends:
+    base (>= 4.11.1.0 && < 5.0),
+    network-uri (>= 2.6),
++   network-bsd,
+    optparse-applicative (>= 0.14.1),
+    containers (>= 0.5.8),
+    exceptions (>= 0.6),
+@@ -404,3 +404,3 @@ if flag(NetworkBSD)
+     Build-Depends: network-bsd, network (>= 3.0.0.0)
+   else
+-    Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
++    Build-Depends: network (< 3.2.0.0), network (>= 2.6.3.0)
+
+   if flag(S3)
+     Build-Depends: aws (>= 0.20)
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (7 preceding siblings ...)
  2020-04-08 15:46 ` slotThe
@ 2020-04-08 18:26 ` slotThe
  2020-04-13 20:52 ` slotThe
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-08 18:26 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 52235 bytes --]

From 58e2035770daa73528e50f341e2bed4f5f8473f0 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/19] ghc: update to 8.8.3

Incorporates #20368

Also uses a recent libffi tarball for generating bindists.
This may not matter so much for x86_64 but the libffi tarball
ghc bundles by default is from 2017 and there is an assortment
of bugs that would be too much effort to patch. Instead just fetch
a fresh, confirmed-to-work tarball from upstream source.

Currently selected revision is 4d6d286 because that's almost just
the official 3.3 release, but with a bunch of fixes applied (which
we are patching in in our own libffi). It was selected to predate
some more invasive changes made in libffi master.
---
 srcpkgs/ghc/patches/libffi-autogen.patch | 25 +++++++++++++++
 srcpkgs/ghc/template                     | 39 ++++++++++++++++++++++--
 2 files changed, 61 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/ghc/patches/libffi-autogen.patch

diff --git a/srcpkgs/ghc/patches/libffi-autogen.patch b/srcpkgs/ghc/patches/libffi-autogen.patch
new file mode 100644
index 00000000000..7b08c65a39b
--- /dev/null
+++ b/srcpkgs/ghc/patches/libffi-autogen.patch
@@ -0,0 +1,25 @@
+Since we replace bundled tarball with our own and it's a git
+snapshot, it is necessary to generate the build system ourselves
+
+Source: @q66
+
+--- a/libffi/ghc.mk
++++ b/libffi/ghc.mk
+@@ -58,16 +58,7 @@ $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
+ 	$(CP) "$(TOP)/config.guess" libffi/build/config.guess
+ 	$(CP) "$(TOP)/config.sub"   libffi/build/config.sub
+ 
+-# We have to fake a non-working ln for configure, so that the fallback
+-# option (cp -p) gets used instead.  Otherwise the libffi build system
+-# will use cygwin symbolic links which cannot be read by mingw gcc.
+-	chmod +x libffi/ln
+-
+-	# We need to use -MMD rather than -MD, as otherwise we get paths
+-	# like c:/... in the dependency files on Windows, and the extra
+-	# colons break make
+-	mv libffi/build/Makefile.in libffi/build/Makefile.in.orig
+-	sed "s/-MD/-MMD/" < libffi/build/Makefile.in.orig > libffi/build/Makefile.in
++	cd libffi && cd build && "$(SHELL)" ./autogen.sh
+ 
+ 	# We attempt to specify the installation directory below with --libdir,
+ 	# but libffi installs into 'toolexeclibdir' instead, which may differ
diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..12a1a8235db 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,8 +1,8 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
 configure_args="--with-system-libffi"
@@ -14,7 +14,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"
@@ -32,6 +32,31 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+# Recent safe to use tarball
+# GHC's bundled tarball is from 2017, buggy on some archs
+_ffi_rev=4d6d2866ae43e55325e8ee96561221804602cd7a
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz libtool libltdl-devel"
+	# Fetch a safe libffi tarball
+	distfiles+=" https://github.com/libffi/libffi/archive/${_ffi_rev}.tar.gz>libffi-${_ffi_rev}.tar.gz"
+	checksum+=" f7a17fa61261942e93450ec52272b5f09d8f42cfffd147867587f969ee01b739"
+	skip_extraction+=" libffi-${_ffi_rev}.tar.gz"
+fi
+
+post_extract() {
+	[ "$build_option_bindist" ] || return 0
+	rm -f libffi-tarballs/libffi-*.tar.gz
+	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/libffi-${_ffi_rev}.tar.gz \
+	 libffi-tarballs
+}
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +74,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-*-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 01d8842e1e8428d2fbf427f5514f176c14d91748 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/19] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..6ce380350b0 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,8 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,23 +10,22 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
 case "$XBPS_TARGET_MACHINE" in
 x86_64)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-x86_64-deb8-linux.tar.xz"
-	checksum=c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107
+	checksum=92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"
-	checksum=1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc
+	checksum=441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae
 	;;
 esac
 

From 690765e26bf14b38e85390fcbdbbda4e89541ddd Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/19] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From c23fed3bcda9c64e841701dac7d491cce96f6b61 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/19] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 5fbd1216270878f340f4dd7921b4d6b527ffdc81 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 05/19] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From b0e7cc47e333e1b1075ed99a819b0eb1b77377ec Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 06/19] stack: bump revision

---
 srcpkgs/stack/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

From 502d77738be67bc3b856596411a48b915a0ba0a6 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 07/19] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From 9891da3e56f7e3193314c9cbb8148f0aa6be5c11 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 08/19] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From d62b51d6fb316d68925b0472294ce7c9dbd3d7f1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 09/19] xmobar: update to 0.33

This version of xmobar adds suport for the NL80211 API for wireless devices and
deprecates the old iwlib based approach.
---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 4b177176778d63041d27e976344fc3813b70caa2 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 10/19] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From 38e02d04685ed3e3360441b436d27962bb7e9b0d Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 11/19] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 576ed6c6ed1c4169d30c432449d7d6be0744679d Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 12/19] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,18 +1,18 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE

From 002445d2b3503b0aa30e9bd4d79e19c8c1785b70 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 13/19] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 524955c4f758f71a65eb38d34990ffae154e2a65 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 14/19] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 67de1772ee51c7f7ce26fc515302fee61528c62f Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 15/19] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/patches/cabal3.patch | 24 ++++++++++++++++++++++++
 srcpkgs/shellcheck/template             |  5 +++--
 2 files changed, 27 insertions(+), 2 deletions(-)
 create mode 100644 srcpkgs/shellcheck/patches/cabal3.patch

diff --git a/srcpkgs/shellcheck/patches/cabal3.patch b/srcpkgs/shellcheck/patches/cabal3.patch
new file mode 100644
index 00000000000..fb51b9f3bc8
--- /dev/null
+++ b/srcpkgs/shellcheck/patches/cabal3.patch
@@ -0,0 +1,24 @@
+--- ShellCheck.cabal	2019-07-29 03:12:25.000000000 +0200
++++ ShellCheck.cabal	2020-04-01 17:07:35.148551283 +0200
+@@ -7,7 +7,7 @@
+ Author:           Vidar Holen
+ Maintainer:       vidar@vidarholen.net
+ Homepage:         https://www.shellcheck.net/
+-Build-Type:       Custom
++Build-Type:       Simple
+ Cabal-Version:    >= 1.8
+ Bug-reports:      https://github.com/koalaman/shellcheck/issues
+ Description:
+@@ -33,12 +33,6 @@
+     -- tests
+     test/shellcheck.hs
+ 
+-custom-setup
+-  setup-depends:
+-    base    >= 4    && <5,
+-    process >= 1.0  && <1.7,
+-    Cabal   >= 1.10 && <2.5
+-
+ source-repository head
+     type: git
+     location: git://github.com/koalaman/shellcheck.git
diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..3b5fe51b810 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
@@ -17,6 +17,7 @@ nopie_files="/usr/bin/shellcheck"
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md
+	rm Setup.hs
 }
 
 post_install() {

From bcdef8ec8ad48ac872ac359e8263520ae125c3dd Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 16/19] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From b831d867feddf41bc6519b4e799bd59393290e2d Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 17/19] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 0de03072c5db20cac3de4afd4e0a272faf216cd2 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 18/19] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From c5f59d1d8143bc8aebef3ab9d78a75cf5b142bea Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 19/19] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml       | 34 +++++++++++++++++-------
 srcpkgs/git-annex/patches/ghc8.8.3.patch | 18 +++++++++++++
 srcpkgs/git-annex/template               | 14 +++++-----
 3 files changed, 48 insertions(+), 18 deletions(-)
 create mode 100644 srcpkgs/git-annex/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/patches/ghc8.8.3.patch b/srcpkgs/git-annex/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..9422ed3e0de
--- /dev/null
+++ b/srcpkgs/git-annex/patches/ghc8.8.3.patch
@@ -0,0 +1,18 @@
+--- git-annex.cabal	2020-04-01 21:09:23.653315424 +0200
++++ git-annex.cabal	2020-04-01 20:50:23.080838029 +0200
+@@ -304,6 +304,7 @@
+   Build-Depends:
+    base (>= 4.11.1.0 && < 5.0),
+    network-uri (>= 2.6),
++   network-bsd,
+    optparse-applicative (>= 0.14.1),
+    containers (>= 0.5.8),
+    exceptions (>= 0.6),
+@@ -404,3 +404,3 @@ if flag(NetworkBSD)
+     Build-Depends: network-bsd, network (>= 3.0.0.0)
+   else
+-    Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
++    Build-Depends: network (< 3.2.0.0), network (>= 2.6.3.0)
+
+   if flag(S3)
+     Build-Depends: aws (>= 0.20)
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (8 preceding siblings ...)
  2020-04-08 18:26 ` slotThe
@ 2020-04-13 20:52 ` slotThe
  2020-04-13 20:52 ` slotThe
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-13 20:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 50888 bytes --]

From a264bdd2455cccaaa321913d3d2effcdf258850d Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/19] ghc: update to 8.8.3

Incorporates #20368

Also uses a recent libffi tarball for generating bindists.
This may not matter so much for x86_64 but the libffi tarball
ghc bundles by default is from 2017 and there is an assortment
of bugs that would be too much effort to patch. Instead just fetch
a fresh, confirmed-to-work tarball from upstream source.

Currently selected revision is 4d6d286 because that's almost just
the official 3.3 release, but with a bunch of fixes applied (which
we are patching in in our own libffi). It was selected to predate
some more invasive changes made in libffi master.
---
 srcpkgs/ghc/patches/libffi-autogen.patch | 25 +++++++++++++++
 srcpkgs/ghc/template                     | 39 ++++++++++++++++++++++--
 2 files changed, 61 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/ghc/patches/libffi-autogen.patch

diff --git a/srcpkgs/ghc/patches/libffi-autogen.patch b/srcpkgs/ghc/patches/libffi-autogen.patch
new file mode 100644
index 00000000000..7b08c65a39b
--- /dev/null
+++ b/srcpkgs/ghc/patches/libffi-autogen.patch
@@ -0,0 +1,25 @@
+Since we replace bundled tarball with our own and it's a git
+snapshot, it is necessary to generate the build system ourselves
+
+Source: @q66
+
+--- a/libffi/ghc.mk
++++ b/libffi/ghc.mk
+@@ -58,16 +58,7 @@ $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
+ 	$(CP) "$(TOP)/config.guess" libffi/build/config.guess
+ 	$(CP) "$(TOP)/config.sub"   libffi/build/config.sub
+ 
+-# We have to fake a non-working ln for configure, so that the fallback
+-# option (cp -p) gets used instead.  Otherwise the libffi build system
+-# will use cygwin symbolic links which cannot be read by mingw gcc.
+-	chmod +x libffi/ln
+-
+-	# We need to use -MMD rather than -MD, as otherwise we get paths
+-	# like c:/... in the dependency files on Windows, and the extra
+-	# colons break make
+-	mv libffi/build/Makefile.in libffi/build/Makefile.in.orig
+-	sed "s/-MD/-MMD/" < libffi/build/Makefile.in.orig > libffi/build/Makefile.in
++	cd libffi && cd build && "$(SHELL)" ./autogen.sh
+ 
+ 	# We attempt to specify the installation directory below with --libdir,
+ 	# but libffi installs into 'toolexeclibdir' instead, which may differ
diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..12a1a8235db 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,8 +1,8 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
 configure_args="--with-system-libffi"
@@ -14,7 +14,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"
@@ -32,6 +32,31 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+# Recent safe to use tarball
+# GHC's bundled tarball is from 2017, buggy on some archs
+_ffi_rev=4d6d2866ae43e55325e8ee96561221804602cd7a
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz libtool libltdl-devel"
+	# Fetch a safe libffi tarball
+	distfiles+=" https://github.com/libffi/libffi/archive/${_ffi_rev}.tar.gz>libffi-${_ffi_rev}.tar.gz"
+	checksum+=" f7a17fa61261942e93450ec52272b5f09d8f42cfffd147867587f969ee01b739"
+	skip_extraction+=" libffi-${_ffi_rev}.tar.gz"
+fi
+
+post_extract() {
+	[ "$build_option_bindist" ] || return 0
+	rm -f libffi-tarballs/libffi-*.tar.gz
+	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/libffi-${_ffi_rev}.tar.gz \
+	 libffi-tarballs
+}
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +74,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-*-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 3669a85b5fb17a71a0b7b6005ba5f4b6d1176692 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/19] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..9410ad26682 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,8 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,23 +10,22 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
 case "$XBPS_TARGET_MACHINE" in
 x86_64)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-x86_64-deb8-linux.tar.xz"
-	checksum=c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107
+	checksum=92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
 	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"
-	checksum=1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc
+	checksum=441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae
 	;;
 esac
 

From d23c4369e80dae018ca3589c02e12beeaa312eb3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/19] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From 11e37b895f514254fcd7ce0e6a389773922d05e2 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/19] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From f37dbce9c582a5904b29f82509794782094a18e1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 05/19] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From d6eab4a547d70fe5f9f0cd976bba841cb67f9264 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 06/19] stack: bump revision

---
 srcpkgs/stack/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

From fde4ce7272a034385ccf5d69fc9c2958211867be Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 07/19] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From 619073ddbd8c12a05c0e21f4a146b11b4de92119 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 08/19] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From b5c48e111f73b183d6ee5b123379d4838fa4a3ac Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 09/19] xmobar: update to 0.33

This version of xmobar adds suport for the NL80211 API for wireless devices and
deprecates the old iwlib based approach.
---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 2b4878c19cfb100fbc5fdc4cd0b4ef10972eb96d Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 10/19] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From 0b6df86b3c9c9e41e1036c0f8d064ce8d0f14da0 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 11/19] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From d31b6008e55cc6da9b3def8cbc3ab94d786719af Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 12/19] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,18 +1,18 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE

From 7181d9feb20e2472d87cd020ce32db57de03792c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 13/19] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 81ba80b8fa6f6c9bee4688266c6df7a17bcf97fc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 14/19] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 81abcde821e08de8c1ced069e2b9dc6e1d3d0ef8 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 15/19] shellcheck: update to 0.7.1

---
 srcpkgs/shellcheck/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index 9d8f91d234a..40669e13364 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.1
-revision=1
+revision=2
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"

From 79e46acb6a664540c74c8ab9a52b108e8020e249 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 16/19] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 0252e5bd7b364c3c4dca2b4986b4e5fd352fe71f Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 17/19] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 8abb79e16a1001262614225623ef83d6233f1b69 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 18/19] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From cb89baf795239ca4f64ebde301704152a60c79a9 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 19/19] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml       | 34 +++++++++++++++++-------
 srcpkgs/git-annex/patches/ghc8.8.3.patch | 18 +++++++++++++
 srcpkgs/git-annex/template               | 14 +++++-----
 3 files changed, 48 insertions(+), 18 deletions(-)
 create mode 100644 srcpkgs/git-annex/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/patches/ghc8.8.3.patch b/srcpkgs/git-annex/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..9422ed3e0de
--- /dev/null
+++ b/srcpkgs/git-annex/patches/ghc8.8.3.patch
@@ -0,0 +1,18 @@
+--- git-annex.cabal	2020-04-01 21:09:23.653315424 +0200
++++ git-annex.cabal	2020-04-01 20:50:23.080838029 +0200
+@@ -304,6 +304,7 @@
+   Build-Depends:
+    base (>= 4.11.1.0 && < 5.0),
+    network-uri (>= 2.6),
++   network-bsd,
+    optparse-applicative (>= 0.14.1),
+    containers (>= 0.5.8),
+    exceptions (>= 0.6),
+@@ -404,3 +404,3 @@ if flag(NetworkBSD)
+     Build-Depends: network-bsd, network (>= 3.0.0.0)
+   else
+-    Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
++    Build-Depends: network (< 3.2.0.0), network (>= 2.6.3.0)
+
+   if flag(S3)
+     Build-Depends: aws (>= 0.20)
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (9 preceding siblings ...)
  2020-04-13 20:52 ` slotThe
@ 2020-04-13 20:52 ` slotThe
  2020-04-16  1:52 ` [PR PATCH] [Closed]: " q66
  2020-04-16  1:52 ` q66
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-04-13 20:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 50898 bytes --]

From a264bdd2455cccaaa321913d3d2effcdf258850d Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/19] ghc: update to 8.8.3

Incorporates #20368

Also uses a recent libffi tarball for generating bindists.
This may not matter so much for x86_64 but the libffi tarball
ghc bundles by default is from 2017 and there is an assortment
of bugs that would be too much effort to patch. Instead just fetch
a fresh, confirmed-to-work tarball from upstream source.

Currently selected revision is 4d6d286 because that's almost just
the official 3.3 release, but with a bunch of fixes applied (which
we are patching in in our own libffi). It was selected to predate
some more invasive changes made in libffi master.
---
 srcpkgs/ghc/patches/libffi-autogen.patch | 25 +++++++++++++++
 srcpkgs/ghc/template                     | 39 ++++++++++++++++++++++--
 2 files changed, 61 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/ghc/patches/libffi-autogen.patch

diff --git a/srcpkgs/ghc/patches/libffi-autogen.patch b/srcpkgs/ghc/patches/libffi-autogen.patch
new file mode 100644
index 00000000000..7b08c65a39b
--- /dev/null
+++ b/srcpkgs/ghc/patches/libffi-autogen.patch
@@ -0,0 +1,25 @@
+Since we replace bundled tarball with our own and it's a git
+snapshot, it is necessary to generate the build system ourselves
+
+Source: @q66
+
+--- a/libffi/ghc.mk
++++ b/libffi/ghc.mk
+@@ -58,16 +58,7 @@ $(libffi_STAMP_CONFIGURE): $(TOUCH_DEP)
+ 	$(CP) "$(TOP)/config.guess" libffi/build/config.guess
+ 	$(CP) "$(TOP)/config.sub"   libffi/build/config.sub
+ 
+-# We have to fake a non-working ln for configure, so that the fallback
+-# option (cp -p) gets used instead.  Otherwise the libffi build system
+-# will use cygwin symbolic links which cannot be read by mingw gcc.
+-	chmod +x libffi/ln
+-
+-	# We need to use -MMD rather than -MD, as otherwise we get paths
+-	# like c:/... in the dependency files on Windows, and the extra
+-	# colons break make
+-	mv libffi/build/Makefile.in libffi/build/Makefile.in.orig
+-	sed "s/-MD/-MMD/" < libffi/build/Makefile.in.orig > libffi/build/Makefile.in
++	cd libffi && cd build && "$(SHELL)" ./autogen.sh
+ 
+ 	# We attempt to specify the installation directory below with --libdir,
+ 	# but libffi installs into 'toolexeclibdir' instead, which may differ
diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..12a1a8235db 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,8 +1,8 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
 configure_args="--with-system-libffi"
@@ -14,7 +14,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"
@@ -32,6 +32,31 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+# Recent safe to use tarball
+# GHC's bundled tarball is from 2017, buggy on some archs
+_ffi_rev=4d6d2866ae43e55325e8ee96561221804602cd7a
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz libtool libltdl-devel"
+	# Fetch a safe libffi tarball
+	distfiles+=" https://github.com/libffi/libffi/archive/${_ffi_rev}.tar.gz>libffi-${_ffi_rev}.tar.gz"
+	checksum+=" f7a17fa61261942e93450ec52272b5f09d8f42cfffd147867587f969ee01b739"
+	skip_extraction+=" libffi-${_ffi_rev}.tar.gz"
+fi
+
+post_extract() {
+	[ "$build_option_bindist" ] || return 0
+	rm -f libffi-tarballs/libffi-*.tar.gz
+	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/libffi-${_ffi_rev}.tar.gz \
+	 libffi-tarballs
+}
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +74,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-*-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 3669a85b5fb17a71a0b7b6005ba5f4b6d1176692 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/19] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..9410ad26682 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,8 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
+archs="i686 x86_64*"
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -9,23 +10,22 @@ short_desc="Glorious Haskell Compiler - precompiled binaries"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD"
 homepage="http://www.haskell.org/ghc/"
-archs="i686 x86_64*"
 nostrip=yes
 noshlibprovides=yes
 conflicts="ghc>=0 ghc-doc>=0"
 case "$XBPS_TARGET_MACHINE" in
 x86_64)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-x86_64-deb8-linux.tar.xz"
-	checksum=c419fd0aa9065fe4d2eb9a248e323860c696ddf3859749ca96a84938aee49107
+	checksum=92b9fadc442976968d2c190c14e000d737240a7d721581cda8d8741b7bd402f0
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
 	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"
-	checksum=1cddb907393a669342b1a922dd16d505d9d93d50bd9433a54a8162f8701250dc
+	checksum=441e2c7a4fc83ebf179712bd939b555cda7c6633545b7c8ac38049f9d85003ae
 	;;
 esac
 

From d23c4369e80dae018ca3589c02e12beeaa312eb3 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/19] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From 11e37b895f514254fcd7ce0e6a389773922d05e2 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/19] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From f37dbce9c582a5904b29f82509794782094a18e1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 05/19] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From d6eab4a547d70fe5f9f0cd976bba841cb67f9264 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 06/19] stack: bump revision

---
 srcpkgs/stack/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..42e10fa618e 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}
@@ -21,7 +21,7 @@ do_fetch() {
 	git clone https://github.com/commercialhaskell/stack ${wrksrc}
 	cd ${wrksrc}
 	git reset --hard ${_commit}
-        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
+	xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {

From fde4ce7272a034385ccf5d69fc9c2958211867be Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 07/19] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From 619073ddbd8c12a05c0e21f4a146b11b4de92119 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 08/19] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From b5c48e111f73b183d6ee5b123379d4838fa4a3ac Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 09/19] xmobar: update to 0.33

This version of xmobar adds suport for the NL80211 API for wireless devices and
deprecates the old iwlib based approach.
---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 2b4878c19cfb100fbc5fdc4cd0b4ef10972eb96d Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 10/19] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From 0b6df86b3c9c9e41e1036c0f8d064ce8d0f14da0 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 11/19] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From d31b6008e55cc6da9b3def8cbc3ab94d786719af Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 12/19] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..a7af7020b8c 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,18 +1,18 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
-nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
+nocross=yes # Can't yet cross compile Haskell
 
 post_install() {
 	vlicense LICENSE

From 7181d9feb20e2472d87cd020ce32db57de03792c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 13/19] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 81ba80b8fa6f6c9bee4688266c6df7a17bcf97fc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 14/19] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..53151062add 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
+makedepends="ncurses-devel"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 0e3fe14b5b348046b9ebf0ed0e4b301c05768bfb Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 17:11:56 +0200
Subject: [PATCH 15/19] shellcheck: bump stackage to lts-15.4

---
 srcpkgs/shellcheck/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index 9d8f91d234a..40669e13364 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,9 +1,9 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.1
-revision=1
+revision=2
 build_style=haskell-stack
-stackage="lts-13.26"
+stackage="lts-15.4"
 hostmakedepends="pandoc"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"

From 6578374d6203687b33f5b6f966a3b397ccb4f135 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 16/19] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 98bce165f98d760f1ca3f33da013bd5a2719759b Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 17/19] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

From 1e269fe3f9f91dcda3a01f69e666d5ee4d923e59 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 1 Apr 2020 16:38:54 +0200
Subject: [PATCH 18/19] darcs: bump stackage to lts-15.4

---
 srcpkgs/darcs/files/stack.yaml       |   4 +-
 srcpkgs/darcs/patches/cabal3.patch   | 120 +++++++++++++++++++++++++++
 srcpkgs/darcs/patches/ghc8.8.3.patch |  13 +++
 srcpkgs/darcs/template               |  12 ++-
 4 files changed, 146 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/darcs/patches/cabal3.patch
 create mode 100644 srcpkgs/darcs/patches/ghc8.8.3.patch

diff --git a/srcpkgs/darcs/files/stack.yaml b/srcpkgs/darcs/files/stack.yaml
index f242f858b4a..2fa5ce6f3f2 100644
--- a/srcpkgs/darcs/files/stack.yaml
+++ b/srcpkgs/darcs/files/stack.yaml
@@ -1,6 +1,6 @@
-resolver: lts-13.5
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - sandi-0.4.3
-- graphviz-2999.20.0.3
+- graphviz-2999.20.0.4
diff --git a/srcpkgs/darcs/patches/cabal3.patch b/srcpkgs/darcs/patches/cabal3.patch
new file mode 100644
index 00000000000..317f8477807
--- /dev/null
+++ b/srcpkgs/darcs/patches/cabal3.patch
@@ -0,0 +1,120 @@
+--- Setup.hs	2019-01-27 03:14:51.000000000 +1300
++++ Setup.hs	2019-10-18 02:41:57.000000000 +1300
+@@ -11,7 +11,9 @@
+          , TestSuite(testBuildInfo)
+          , updatePackageDescription
+          , cppOptions, ccOptions
+-         , library, libBuildInfo, otherModules )
++         , library, libBuildInfo, otherModules
++         , ComponentName(CExeName)
++         )
+ import Distribution.Package
+          ( packageVersion )
+ import Distribution.Version( Version )
+@@ -21,24 +23,27 @@
+ import Distribution.Simple.Setup
+     (buildVerbosity, copyDest, copyVerbosity, fromFlag,
+      haddockVerbosity, installVerbosity, sDistVerbosity, replVerbosity )
+-import Distribution.Simple.BuildPaths ( autogenModulesDir )
++import Distribution.Simple.BuildPaths ( autogenPackageModulesDir )
+ import Distribution.System
+          ( OS(Windows), buildOS )
+ import Distribution.Simple.Utils
+     (copyFiles, createDirectoryIfMissingVerbose, rawSystemStdout,
+-     rewriteFile )
++     rewriteFileEx)
++import Distribution.Types.UnqualComponentName
+ import Distribution.Verbosity
+-         ( Verbosity )
++         ( Verbosity, silent )
+ import Distribution.Text
+          ( display )
+-import Control.Monad ( unless, void )
+
++import Control.Monad ( unless, when, void )
+ import System.Directory
+     ( doesDirectoryExist, doesFileExist )
+ import System.IO
+     ( openFile, IOMode(..) )
+ import System.Process (runProcess)
+ import Data.List( isInfixOf, lines )
++import qualified Data.Map as M
++import Data.Maybe ( isJust )
+ import System.FilePath       ( (</>) )
+ import Foreign.Marshal.Utils ( with )
+ import Foreign.Storable      ( peek )
+@@ -75,8 +80,8 @@
+         verb = fromFlag $ sDistVerbosity flags
+     x <- versionPatches verb pkgVer
+     y <- context verb
+-    rewriteFile "release/distributed-version" $ show x
+-    rewriteFile "release/distributed-context" $ show y
++    rewriteFileEx silent "release/distributed-version" $ show x
++    rewriteFileEx silent "release/distributed-context" $ show y
+     putStrLn "about to hand over"
+     let pkg' = pkg { library = sanity (library pkg) }
+         sanity (Just lib) = Just $ lib { libBuildInfo = sanity' $ libBuildInfo lib }
+@@ -105,8 +110,7 @@
+   littleEndian <- testEndianness
+   let args = ("-DPACKAGE_VERSION=" ++ show' version) :
+              [arg | (arg, True) <-         -- include fst iff snd.
+-              [-- We have MAPI iff building on/for Windows.
+-               ("-DHAVE_MAPI", buildOS == Windows),
++              [
+                ("-DLITTLEENDIAN", littleEndian),
+                ("-DBIGENDIAN", not littleEndian)]]
+       bi = emptyBuildInfo { cppOptions = args, ccOptions = args }
+@@ -133,20 +137,26 @@
+ -- man page
+ -- ---------------------------------------------------------------------
+
++hasDarcsExe :: LocalBuildInfo -> Bool
++hasDarcsExe = isJust . M.lookup darcsExe . componentNameMap where
++  darcsExe = CExeName (mkUnqualComponentName "darcs")
++
+ buildManpage :: LocalBuildInfo -> IO ()
+-buildManpage lbi = do
+-  let darcs = buildDir lbi </> "darcs/darcs"
+-      manpage = buildDir lbi </> "darcs/darcs.1"
+-  manpageHandle <- openFile manpage WriteMode
+-  void $ runProcess darcs ["help","manpage"]
+-             Nothing Nothing Nothing (Just manpageHandle) Nothing
++buildManpage lbi =
++  when (hasDarcsExe lbi) $ do
++    let darcs = buildDir lbi </> "darcs/darcs"
++        manpage = buildDir lbi </> "darcs/darcs.1"
++    manpageHandle <- openFile manpage WriteMode
++    void $ runProcess darcs ["help","manpage"]
++            Nothing Nothing Nothing (Just manpageHandle) Nothing
+
+-installManpage :: PackageDescription -> LocalBuildInfo
+-                  -> Verbosity -> CopyDest -> IO ()
++installManpage :: PackageDescription -> LocalBuildInfo -> Verbosity -> CopyDest -> IO ()
+ installManpage pkg lbi verbosity copy =
+-    copyFiles verbosity
+-              (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
+-              [(buildDir lbi </> "darcs", "darcs.1")]
++  when (hasDarcsExe lbi) $
++    copyFiles
++      verbosity
++      (mandir (absoluteInstallDirs pkg lbi copy) </> "man1")
++      [(buildDir lbi </> "darcs", "darcs.1")]
+
+ -- ---------------------------------------------------------------------
+ -- version module
+@@ -187,12 +197,13 @@
+ generateVersionModule :: Verbosity -> LocalBuildInfo
+                       -> String -> String -> IO ()
+ generateVersionModule verbosity lbi version state = do
+-  let dir = autogenModulesDir lbi
++  let dir = autogenPackageModulesDir lbi
+   createDirectoryIfMissingVerbose verbosity True dir
+   ctx <- context verbosity
+   hash <- weakhash verbosity
+-  rewriteFile (dir </> "Version.hs") $ unlines
++  rewriteFileEx silent (dir </> "Version.hs") $ unlines
+     ["module Version where"
++    ,"import Darcs.Prelude"
+     ,"version, weakhash, context :: String"
+     ,"version = \"" ++ version ++ " (" ++ state ++ ")\""
+     ,"weakhash = " ++ case hash of
diff --git a/srcpkgs/darcs/patches/ghc8.8.3.patch b/srcpkgs/darcs/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..e942322d2ae
--- /dev/null
+++ b/srcpkgs/darcs/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- darcs.cabal.orig	2020-04-01 15:06:15.179438340 +0200
++++ darcs.cabal	2020-04-01 15:02:41.203492315 +0200
+@@ -116,7 +116,9 @@
+                    Cabal     >= 1.24,
+                    process   >= 1.2.3.0 && < 1.7,
+                    filepath  >= 1.4.1 && < 1.5.0.0,
+-                   directory >= 1.2.6.2 && < 1.4
++                   directory >= 1.2.6.2 && < 1.4,
++                   containers >= 0.5.6.2 && < 0.7
++
+
+ -- ----------------------------------------------------------------------
+ -- darcs library
diff --git a/srcpkgs/darcs/template b/srcpkgs/darcs/template
index 650a848ea07..2660d21dbf0 100644
--- a/srcpkgs/darcs/template
+++ b/srcpkgs/darcs/template
@@ -1,7 +1,7 @@
 # Template file for 'darcs'
 pkgname=darcs
 version=2.14.2
-revision=2
+revision=3
 build_style=haskell-stack
 hostmakedepends="unzip"
 makedepends="zlib-devel libcurl-devel ncurses-devel"
@@ -14,6 +14,16 @@ checksum=65d160a43874960dcba114c0b74d9c7b25d098486f515655502f42ff0c22a27e
 nopie_files="/usr/bin/darcs"
 nocross=yes
 
+do_configure() {
+	vsed -e 's/< *0.5/<1/' -e 's/< *2.13/<3/' -e 's/< *4.13/<5/' -e 's/< *1.3/<2/' -e 's/< *2/<4/' -i ${pkgname}.cabal
+	vsed -e '/sDistHook = /,+14d' -i Setup.hs
+	vsed -e '/fail\ \ \ = failSM/i instance MonadFail SM where' -i src/Darcs/Patch/ReadMonads.hs
+	vsed -e 's/fail \$/error $/' -i src/Darcs/Util/Tree/Monad.hs src/Darcs/Repository/Diff.hs src/Darcs/Patch/Prim/V1/Apply.hs
+	vsed -e 's/Monad m => PatchInfoAnd/MonadFail m => PatchInfoAnd/' -i src/Darcs/Patch/PatchInfoAnd.hs
+	vsed -e 's/fail /error /' -i src/Darcs/Patch/Depends.hs src/Darcs/Patch/Match.hs src/Darcs/Repository/Match.hs
+	vsed -e '/fail _ /i instance  MonadFail Perhaps where' -i src/Darcs/Patch/{,Prim}/V1/Commute.hs
+}
+
 post_install() {
 	vinstall contrib/darcs_completion 644 usr/share/bash-completion/completions
 

From fc0474d3cfa2f98790669fbe35c1e13b28533dca Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 2 Apr 2020 12:35:26 +0200
Subject: [PATCH 19/19] git-annex: update to 8.20200330

---
 srcpkgs/git-annex/files/stack.yaml       | 34 +++++++++++++++++-------
 srcpkgs/git-annex/patches/ghc8.8.3.patch | 18 +++++++++++++
 srcpkgs/git-annex/template               | 14 +++++-----
 3 files changed, 48 insertions(+), 18 deletions(-)
 create mode 100644 srcpkgs/git-annex/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-annex/files/stack.yaml b/srcpkgs/git-annex/files/stack.yaml
index 8903c973d69..21f8938b194 100644
--- a/srcpkgs/git-annex/files/stack.yaml
+++ b/srcpkgs/git-annex/files/stack.yaml
@@ -1,15 +1,29 @@
-resolver: lts-14.1
-packages:
-- .
-extra-deps:
-- IfElse-0.85
-- aws-0.21.1
-- bloomfilter-2.0.1.0
-- tasty-rerun-1.1.14
-- sandi-0.5
 flags:
   git-annex:
+    production: true
+    assistant: true
+    pairing: true
+    s3: true
+    webdav: true
+    torrentparser: true
+    webapp: true
     magicmime: false
     dbus: false
-    torrentparser: false
+    debuglocks: false
+    benchmark: false
     networkbsd: false
+packages:
+- '.'
+extra-deps:
+ - IfElse-0.85
+ - aws-0.22
+ - bloomfilter-2.0.1.0
+ - filepath-bytestring-1.4.2.1.6
+ - sandi-0.5
+ - tasty-rerun-1.1.17
+ - torrent-10000.1.1
+ - bencode-0.6.1.1@sha256:55b2f5653738754182c124caa8ba2eb533dfaf24fa2c4c73438edee406188b22,1930
+ - network-multicast-0.3.2@sha256:521547635a6afae408ec25193b3e429082dc0442668dac7ad5cea76ccee39750,979
+explicit-setup-deps:
+  git-annex: true
+resolver: lts-15.4
diff --git a/srcpkgs/git-annex/patches/ghc8.8.3.patch b/srcpkgs/git-annex/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..9422ed3e0de
--- /dev/null
+++ b/srcpkgs/git-annex/patches/ghc8.8.3.patch
@@ -0,0 +1,18 @@
+--- git-annex.cabal	2020-04-01 21:09:23.653315424 +0200
++++ git-annex.cabal	2020-04-01 20:50:23.080838029 +0200
+@@ -304,6 +304,7 @@
+   Build-Depends:
+    base (>= 4.11.1.0 && < 5.0),
+    network-uri (>= 2.6),
++   network-bsd,
+    optparse-applicative (>= 0.14.1),
+    containers (>= 0.5.8),
+    exceptions (>= 0.6),
+@@ -404,3 +404,3 @@ if flag(NetworkBSD)
+     Build-Depends: network-bsd, network (>= 3.0.0.0)
+   else
+-    Build-Depends: network (< 3.0.0.0), network (>= 2.6.3.0)
++    Build-Depends: network (< 3.2.0.0), network (>= 2.6.3.0)
+
+   if flag(S3)
+     Build-Depends: aws (>= 0.20)
diff --git a/srcpkgs/git-annex/template b/srcpkgs/git-annex/template
index 1b10957c4b8..fa902e77e68 100644
--- a/srcpkgs/git-annex/template
+++ b/srcpkgs/git-annex/template
@@ -1,19 +1,18 @@
 # Template file for 'git-annex'
 pkgname=git-annex
-version=7.20191114
-revision=3
+version=8.20200330
+revision=1
 build_style=haskell-stack
-hostmakedepends="pkg-config ghc stack"
 makedepends="curl file-devel gnupg2 gnutls-devel gsasl-devel libxml2-devel
- lsof rsync"
+ lsof rsync git"
 # depends are utilities required by git-annex
 depends="git rsync curl lsof gnupg2"
 short_desc="Git addon for managing large files"
 maintainer="Evan Deaubl <evan@deaubl.name>"
 license="AGPL-3.0-or-later, MIT, BSD-2-clause, GPL-3.0-or-later, custom:Expat, custom:MIT-twitter, GPL-2.0, custom:icon-license"
 homepage="http://git-annex.branchable.com"
-distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=e29377764d55dbec74b7020680a4871d11532b239421d44215780f9b7408c182
+distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
+checksum=5b9306bda8d89a8f8942a2763686640d985ce8cffb7bf2086d8e913c4fa3c077
 nopie_files="/usr/bin/git-annex"
 nocross=yes
 
@@ -28,6 +27,5 @@ post_install() {
 	vmkdir usr/share/man/man1
 	vcopy man/*.1 usr/share/man/man1
 
-	vinstall bash-completion.bash 0644 usr/share/bash-completion/completions git-annex
-	vlicense COPYRIGHT
+	vlicense doc/license/AGPL
 }

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Closed]: [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (10 preceding siblings ...)
  2020-04-13 20:52 ` slotThe
@ 2020-04-16  1:52 ` q66
  2020-04-16  1:52 ` q66
  12 siblings, 0 replies; 13+ messages in thread
From: q66 @ 2020-04-16  1:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 589 bytes --]

There's a closed pull request on the void-packages repository

[WIP] GHC 8.8.3
https://github.com/void-linux/void-packages/pull/20365

Description:
Roadmap:

- [X] ghc
- [x] ghc-bin
- [X] cabal-install
- [X] stack
- [x] Rebuild literally every single haskell package we have and see if anything's broken:
    - [x] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [x] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [x] darcs
    - [x] shellcheck
    - [x] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
                   ` (11 preceding siblings ...)
  2020-04-16  1:52 ` [PR PATCH] [Closed]: " q66
@ 2020-04-16  1:52 ` q66
  12 siblings, 0 replies; 13+ messages in thread
From: q66 @ 2020-04-16  1:52 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 174 bytes --]

New comment by q66 on void-packages repository

https://github.com/void-linux/void-packages/pull/20365#issuecomment-614368421

Comment:
forgot to close, this has been merged

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Updated] [WIP] GHC 8.8.3
       [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
@ 2020-03-31 11:31 ` slotThe
  2020-04-01 14:48 ` slotThe
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 13+ messages in thread
From: slotThe @ 2020-03-31 11:31 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 821 bytes --]

There is an updated pull request by slotThe against master on the void-packages repository

https://github.com/slotThe/void-packages ghc-8.8.3
https://github.com/void-linux/void-packages/pull/20365

[WIP] GHC 8.8.3
Roadmap:

- [X] ghc
- [ ] ghc-bin  --- All that's left is for someone to upload the musl tarball somewhere.
- [X] cabal-install
- [X] stack
- [ ] Rebuild literally every single haskell package we have and see if anything's broken:
    - [ ] git-mediate
    - [x] xmonad-contrib
    - [x] kmonad
    - [x] cgrep
    - [ ] debug-me
    - [x] hlint
    - [x] hoogle
    - [x] xmonad
    - [ ] darcs
    - [ ] shellcheck
    - [ ] git-annex
    - [x] hledger
    - [x] pandoc
    - [x] xmobar

  

A patch file from https://github.com/void-linux/void-packages/pull/20365.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ghc-8.8.3-20365.patch --]
[-- Type: text/x-diff, Size: 36528 bytes --]

From 96efbc4c9d2a41b9f88934307f98671826386e22 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:45:46 +0100
Subject: [PATCH 01/18] ghc: update to 8.8.3

---
 srcpkgs/ghc/template | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..ac41a404007 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -1,11 +1,10 @@
 # Template file for 'ghc'
 pkgname=ghc
 # Keep this synchronized with http://www.stackage.org/lts
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 build_style=gnu-configure
-configure_args="--with-system-libffi"
 hostmakedepends="automake docbook-xsl ghc-bin libxslt python3-Sphinx"
 makedepends="gmp-devel libffi-devel libnuma-devel ncurses-devel"
 depends="perl gcc libffi-devel gmp-devel libnuma-devel"
@@ -14,7 +13,7 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="http://www.haskell.org/ghc/"
 distfiles="http://www.haskell.org/ghc/dist/${version%[!0-9]}/${pkgname}-${version%[!0-9]}-src.tar.xz"
-checksum=4d4aa1e96f4001b934ac6193ab09af5d6172f41f5a5d39d8e43393b9aafee361
+checksum=e0dcc0aaf3e234c5978f29e6df62947e97720ab404ec0158343df211c5480f89
 patch_args="-Np1"
 nocross=yes  # ask leah2 before wasting time trying to do that
 _bindir="/usr/lib/${pkgname}-${version}/bin"

From 267dd0ebcf1c625dd30bc44b09aaa86ecdd8f1fe Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:49:54 +0100
Subject: [PATCH 02/18] ghc-bin: update to 8.8.3

---
 srcpkgs/ghc-bin/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ghc-bin/template b/srcpkgs/ghc-bin/template
index 278a4591a95..2cd693617fd 100644
--- a/srcpkgs/ghc-bin/template
+++ b/srcpkgs/ghc-bin/template
@@ -1,7 +1,7 @@
 # Template file for 'ghc-bin'
 pkgname=ghc-bin
-version=8.6.5
-revision=2
+version=8.8.3
+revision=1
 wrksrc="ghc-${version%[!0-9]}"
 hostmakedepends="ncurses perl libffi libnuma"
 depends="ncurses perl gcc libffi-devel gmp-devel"
@@ -20,8 +20,8 @@ x86_64)
 	;;
 x86_64-musl)
 	# create with "make binary-dist"
-	distfiles="https://alpha.de.repo.voidlinux.org/distfiles/ghc-${version}-x86_64-void-linux-musl.tar.xz"
-	checksum=e335578cf199588dbfd5a3c678a4fc0b0d44ec83771a902a01e510b993b3e01e
+	distfiles="TODO"
+	checksum=50b7aff7d3d43b010e571df73e78e3c0169c671a55adbfee28753516ce1c2dc5
 	;;
 i686)
 	distfiles="https://downloads.haskell.org/~ghc/${version%[!0-9]}/ghc-${version}-i386-deb9-linux.tar.xz"

From d1485148e8f5e4919784287b33212843cfd81b7a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:51:13 +0100
Subject: [PATCH 03/18] cabal-install: update to 3.0.0.0

---
 srcpkgs/cabal-install/patches/ghc-8.8.3.patch | 73 +++++++++++++++++++
 srcpkgs/cabal-install/patches/http.patch      | 36 +++++++++
 srcpkgs/cabal-install/template                |  7 +-
 3 files changed, 113 insertions(+), 3 deletions(-)
 create mode 100644 srcpkgs/cabal-install/patches/ghc-8.8.3.patch
 create mode 100644 srcpkgs/cabal-install/patches/http.patch

diff --git a/srcpkgs/cabal-install/patches/ghc-8.8.3.patch b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
new file mode 100644
index 00000000000..137e502c371
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/ghc-8.8.3.patch
@@ -0,0 +1,73 @@
+--- bootstrap.sh	2020-03-20 16:17:36.454442784 +0100
++++ bootstrap.sh	2020-03-20 16:25:42.608415294 +0100
+@@ -230,19 +230,19 @@
+                        # >= 0.2.* && < 0.6
+ MTL_VER="2.2.2";       MTL_VER_REGEXP="[2]\."
+                        #  >= 2.0 && < 3
+-HTTP_VER="4000.3.12";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
++HTTP_VER="4000.3.14";  HTTP_VER_REGEXP="4000\.(2\.([5-9]|1[0-9]|2[0-9])|3\.?)"
+                        # >= 4000.2.5 < 4000.4
+-ZLIB_VER="0.6.2";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
++ZLIB_VER="0.6.2.1";      ZLIB_VER_REGEXP="(0\.5\.([3-9]|1[0-9])|0\.6)"
+                        # >= 0.5.3 && <= 0.7
+-TIME_VER="1.9.1"       TIME_VER_REGEXP="1\.[1-9]\.?"
++TIME_VER="1.9.3"       TIME_VER_REGEXP="1\.[1-9]\.?"
+                        # >= 1.1 && < 1.10
+ RANDOM_VER="1.1"       RANDOM_VER_REGEXP="1\.[01]\.?"
+                        # >= 1 && < 1.2
+ STM_VER="2.4.5.0";     STM_VER_REGEXP="2\."
+                        # == 2.*
+-HASHABLE_VER="1.2.7.0"; HASHABLE_VER_REGEXP="1\."
++HASHABLE_VER="1.3.0.0"; HASHABLE_VER_REGEXP="1\."
+                        # 1.*
+-ASYNC_VER="2.2.1";     ASYNC_VER_REGEXP="2\."
++ASYNC_VER="2.2.2";     ASYNC_VER_REGEXP="2\."
+                        # 2.*
+ BASE16_BYTESTRING_VER="0.1.1.6"; BASE16_BYTESTRING_VER_REGEXP="0\.1"
+                        # 0.1.*
+@@ -250,7 +250,7 @@
+                        # >=1.0
+ CRYPTOHASH_SHA256_VER="0.11.101.0"; CRYPTOHASH_SHA256_VER_REGEXP="0\.11\.?"
+                        # 0.11.*
+-RESOLV_VER="0.1.1.1";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
++RESOLV_VER="0.1.1.3";  RESOLV_VER_REGEXP="0\.1\.[1-9]"
+                        # >= 0.1.1 && < 0.2
+ MINTTY_VER="0.1.2";    MINTTY_VER_REGEXP="0\.1\.?"
+                        # 0.1.*
+@@ -260,14 +260,14 @@
+                        # 0.2.2.*
+ ED25519_VER="0.0.5.0"; ED25519_VER_REGEXP="0\.0\.?"
+                        # 0.0.*
+-HACKAGE_SECURITY_VER="0.5.3.0"; HACKAGE_SECURITY_VER_REGEXP="0\.5\.((2\.[2-9]|[3-9])|3)"
+-                       # >= 0.5.2 && < 0.6
++HACKAGE_SECURITY_VER="0.6.0.0"; HACKAGE_SECURITY_VER_REGEXP="0\.6\."
++                       # >= 0.6.*
+-TAR_VER="0.5.1.0";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
++TAR_VER="0.5.1.1";     TAR_VER_REGEXP="0\.5\.([1-9]|1[0-9]|0\.[3-9]|0\.1[0-9])\.?"
+                        # >= 0.5.0.3  && < 0.6
+ DIGEST_VER="0.0.1.2"; DIGEST_REGEXP="0\.0\.(1\.[2-9]|[2-9]\.?)"
+                        # >= 0.0.1.2 && < 0.1
+-ZIP_ARCHIVE_VER="0.3.3"; ZIP_ARCHIVE_REGEXP="0\.3\.[3-9]"
+-                       # >= 0.3.3 && < 0.4
++LUKKO_VER="0.1.1";     LUKKO_VER_REGEXP="0\.1\.[1-9]"
++                       # >= 0.1.1 && <0.2
+
+ HACKAGE_URL="https://hackage.haskell.org/package"
+
+@@ -471,7 +471,7 @@
+ info_pkg "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ info_pkg "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ info_pkg "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-info_pkg "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++info_pkg "lukko"        ${LUKKO_VER}   ${LUKKO_REGEXP}
+ info_pkg "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
+
+@@ -509,7 +509,7 @@
+ do_pkg   "ed25519"           ${ED25519_VER}          ${ED25519_VER_REGEXP}
+ do_pkg   "tar"               ${TAR_VER}              ${TAR_VER_REGEXP}
+ do_pkg   "digest"            ${DIGEST_VER}           ${DIGEST_REGEXP}
+-do_pkg   "zip-archive"       ${ZIP_ARCHIVE_VER}      ${ZIP_ARCHIVE_REGEXP}
++do_pkg   "lukko"       ${LUKKO_VER}      ${LUKKO_REGEXP}
+ do_pkg   "hackage-security"  ${HACKAGE_SECURITY_VER} \
+     ${HACKAGE_SECURITY_VER_REGEXP}
diff --git a/srcpkgs/cabal-install/patches/http.patch b/srcpkgs/cabal-install/patches/http.patch
new file mode 100644
index 00000000000..9f4688b1a6a
--- /dev/null
+++ b/srcpkgs/cabal-install/patches/http.patch
@@ -0,0 +1,36 @@
+--- Distribution/Client/Security/HTTP.hs
++++ Distribution/Client/Security/HTTP.hs
+@@ -35,7 +35,6 @@ import Hackage.Security.Client
+ import Hackage.Security.Client.Repository.HttpLib
+ import Hackage.Security.Util.Checked
+ import Hackage.Security.Util.Pretty
+-import qualified Hackage.Security.Util.Lens as Lens
+
+ {-------------------------------------------------------------------------------
+   'HttpLib' implementation
+@@ -142,7 +141,14 @@ mkReqHeaders reqHeaders mRange = concat [
+     finalize (name, strs) = [HTTP.Header name (intercalate ", " (reverse strs))]
+
+     insert :: Eq a => a -> [b] -> [(a, [b])] -> [(a, [b])]
+-    insert x y = Lens.modify (Lens.lookupM x) (++ y)
++    insert x y = modifyAssocList x (++ y)
++
++    -- modify the first maching element
++    modifyAssocList :: Eq a => a -> (b -> b) -> [(a, b)] -> [(a, b)]
++    modifyAssocList a f = go where
++        go []                         = []
++        go (p@(a', b) : xs) | a == a'   = (a', f b) : xs
++                            | otherwise = p         : go xs
+
+ {-------------------------------------------------------------------------------
+   Custom exceptions
+--- cabal-install.cabal
++++ cabal-install.cabal
+@@ -336,7 +336,7 @@ executable cabal
+         time       >= 1.5.0.1  && < 1.10,
+         transformers >= 0.4.2.0 && < 0.6,
+         zlib       >= 0.5.3    && < 0.7,
+-        hackage-security >= 0.5.2.2 && < 0.6,
++        hackage-security >= 0.6.0.0 && < 0.7,
+         text       >= 1.2.3    && < 1.3,
+         parsec     >= 3.1.13.0 && < 3.2
diff --git a/srcpkgs/cabal-install/template b/srcpkgs/cabal-install/template
index 4bc3051f8cd..da48df214f1 100644
--- a/srcpkgs/cabal-install/template
+++ b/srcpkgs/cabal-install/template
@@ -1,7 +1,7 @@
 # Template file for 'cabal-install'
 pkgname=cabal-install
-version=2.4.1.0
-revision=4
+version=3.0.0.0
+revision=1
 hostmakedepends="ghc curl tar which"
 makedepends="gmp-devel libffi-devel zlib-devel"
 depends="ghc"
@@ -10,10 +10,11 @@ maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://hackage.haskell.org/package/cabal-install"
 distfiles="https://hackage.haskell.org/packages/archive/${pkgname}/${version}/${pkgname}-${version}.tar.gz"
-checksum=69bcb2b54a064982412e1587c3c5c1b4fada3344b41b568aab25730034cb21ad
+checksum=a432a7853afe96c0fd80f434bd80274601331d8c46b628cd19a0d8e96212aaf1
 nopie_files="/usr/bin/cabal"
 
 do_build() {
+	vsed -e 's/< *4/<5/' -i $pkgname.cabal
 	PREFIX=$PWD/build sh bootstrap.sh --user
 }
 do_install() {

From dd6d95fed551c0583c00022d719e3eec480f17dc Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Wed, 25 Mar 2020 20:52:51 +0100
Subject: [PATCH 04/18] stack: update stackage to lts-15.4

---
 srcpkgs/stack/patches/ppc.patch | 21 ++++++++-------
 srcpkgs/stack/template          | 45 ++++++++++-----------------------
 2 files changed, 23 insertions(+), 43 deletions(-)

diff --git a/srcpkgs/stack/patches/ppc.patch b/srcpkgs/stack/patches/ppc.patch
index 05595fec3a8..1b5bc191b47 100644
--- a/srcpkgs/stack/patches/ppc.patch
+++ b/srcpkgs/stack/patches/ppc.patch
@@ -1,14 +1,13 @@
 --- src/Stack/Setup.hs
 +++ src/Stack/Setup.hs
-@@ -95,6 +95,7 @@ import              System.IO.Error (isPermissionError)
+@@ -95,5 +95,6 @@ import              System.IO.Error (isPermissionError)
  import              System.FilePath (searchPathSeparator)
  import qualified    System.FilePath as FP
  import              System.Permissions (setFileExecutable)
 +import              System.Endian (getSystemEndianness, Endianness (..))
- import              Text.Printf (printf)
  import              System.Uname (getRelease)
  import              Data.List.Split (splitOn)
-@@ -1264,6 +1265,11 @@ getOSKey platform =
+@@ -1264,4 +1265,9 @@ getOSKey platform =
          Platform X86_64                Cabal.Windows -> return "windows64"
          Platform Arm                   Cabal.Linux   -> return "linux-armv7"
          Platform AArch64               Cabal.Linux   -> return "linux-aarch64"
@@ -18,15 +17,15 @@
 +                LittleEndian -> return "linux-powerpc64le"
 +                BigEndian    -> return "linux-powerpc64"
          Platform arch os -> throwM $ UnsupportedSetupCombo os arch
- 
+
  downloadFromInfo
 --- stack.cabal
 +++ stack.cabal
 @@ -235,6 +235,7 @@ library
-         conduit >=1.3.0.3,
-         conduit-extra >=1.3.0,
-         containers >=0.5.10.2,
-+        cpu >=0.1.2,
-         cryptonite >=0.25,
-         cryptonite-conduit >=0.2.2,
-         deepseq >=1.4.3.0,
+       , conduit
+       , conduit-extra
+       , containers
++      , cpu >=0.1.2
+       , cryptonite
+       , cryptonite-conduit
+       , deepseq
diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index b6e667b0516..581176a5a79 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -2,50 +2,31 @@
 pkgname=stack
 version=2.1.3.1
 revision=3
-_stackage="lts-14.1"
+_commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
+_stackage="lts-15.4"
+wrksrc=${pkgname}-${version}
 hostmakedepends="cabal-install pkg-config unzip"
-makedepends="zlib-devel pcre-devel"
-depends="git gmp-devel iana-etc"
+makedepends="git zlib-devel pcre-devel"
+depends="gmp-devel iana-etc"
 short_desc="Cross-platform program for developing Haskell projects"
 maintainer="Leah Neukirchen <leah@vuxu.org>"
 license="BSD-3-Clause"
 homepage="https://haskellstack.org"
-distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz
- https://www.stackage.org/${_stackage}/cabal.config>cabal.config-${_stackage}
- http://hackage.haskell.org/package/pantry-0.2.0.0/pantry-0.2.0.0.tar.gz"
-checksum="f983369a22a3e3af9ae09770cf34e4ba439cc7f5ef5a0e87f4db11c1ec5356e0
- c077d34ebe0b5139f57492770c7fd1dabb4b81df0ed842e6ca30b002d9fe78ec
- 8cd8b4192c0a1e37666852306d588a6db03ea03363572e0e54e0e8a9aa19e2e2"
 skip_extraction="cabal.config-${_stackage}"
 nocross=yes
 nopie_files="/usr/bin/stack"
 
-_patch_exts() {
-	vsed -i '1s;^;{-# LANGUAGE DerivingStrategies #-}\n;' $1
-	vsed -i '1s;^;{-# LANGUAGE StandaloneDeriving #-}\n;' $1
-}
-
-post_extract() {
-	mv ../pantry-0.2.0.0 .
-	vsed -e 's/hackage-security/hackage-security <0.6.0.0/g' -i pantry-0.2.0.0/pantry.cabal
-
-	_patch_exts pantry-0.2.0.0/src/Pantry/Storage.hs
-
-	vsed -e 's/^- \./&\n- pantry-0.2.0.0/' -i stack.yaml
-	vsed -e 's/http-download >=0.1.0.0/& \&\& <0.2.0.0/g' -i stack.cabal
-	vsed -e 's/path >=0.6.1/& \&\& <0.7.0/g' -i stack.cabal
-
-	_patch_exts src/Stack/Storage/User.hs
-	_patch_exts src/Stack/Storage/Project.hs
-
-	vsed -i 's/parseRelFile (replaceExtension/parseRelFile (FilePath.replaceExtension/' \
-	 src/Stack/Package.hs
+# TODO: Switch back to hackage once it has a ghc-8.8 compatible stack version.
+do_fetch() {
+	git clone https://github.com/commercialhaskell/stack ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+        xbps-uhelper fetch https://www.stackage.org/${_stackage}/cabal.config
 }
 
 do_build() {
-	cp ${XBPS_SRCDISTDIR}/${pkgname}-${version}/cabal.config-${_stackage} cabal.config
-	HOME=$PWD cabal v2-update
-	HOME=$PWD cabal v2-build ${makejobs} --flag disable-git-info
+	HOME=$PWD cabal new-update
+	HOME=$PWD cabal new-build ${makejobs} --flag disable-git-info
 }
 
 do_install() {

From 56f241a942e1a01e9a73a8d0e742812345544e4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= <pullmoll@t-online.de>
Date: Wed, 25 Mar 2020 22:11:24 +0100
Subject: [PATCH 05/18] ghc: add build option "bindist"

Setting the "bindist" option adapts the template to not only build
ghc, without using the system libffi, but also create a binary
distribution and install it in the source distfiles folder:
${XBPS_SRCDISTDIR}/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz

[ci skip]
---
 srcpkgs/ghc/template | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/srcpkgs/ghc/template b/srcpkgs/ghc/template
index 1bcfa039200..95767008317 100644
--- a/srcpkgs/ghc/template
+++ b/srcpkgs/ghc/template
@@ -32,6 +32,16 @@ nopie_files="
  ${_bindir}/unlit
 "
 
+build_options="bindist"
+desc_option_bindist="Create a binary distribution"
+
+if [ "$build_option_bindist" ]; then
+	# Strip --with-system-libffi from configuration
+	configure_args=${configure_args/--with-system-libffi/}
+	# Required to make the binary distribution tarball
+	hostmakedepends+=" tar xz"
+fi
+
 pre_configure() {
 	export CONF_CC_OPTS_STAGE0=$CFLAGS_FOR_BUILD
 	export CONF_CC_OPTS_STAGE1=$CFLAGS
@@ -49,6 +59,14 @@ pre_configure() {
 post_install() {
 	sed -i 's#/usr/lib/ccache/bin/##g' ${DESTDIR}/usr/lib/ghc-${version%[!0-9]}/settings
 	vlicense LICENSE
+
+	if [ "$build_option_bindist" ]; then
+		msg_normal "Creating binary distribution for ${XBPS_TARGET_MACHINE}...\n"
+		make ${makejobs} binary-dist
+		dest="${XBPS_SRCDISTDIR}"/distfiles/ghc-${version}-void-linux-${XBPS_TARGET_LIBC}.tar.xz
+		install -d -m 0644 ghc-${version}-unknown-linux.tar.xz "${dest}"
+		msg_normal "Installed in ${dest}\n"
+	fi
 }
 
 ghc-doc_package() {

From 65ab04423f2dbc793ac814838187a4e635cf2d10 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:50:29 +0100
Subject: [PATCH 06/18] xmonad: update stackage to lts-15.4

---
 srcpkgs/xmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad/template b/srcpkgs/xmonad/template
index 946d354718c..019bc7389ab 100644
--- a/srcpkgs/xmonad/template
+++ b/srcpkgs/xmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'xmonad'
 pkgname=xmonad
 version=0.15
-revision=3
+revision=4
 build_style=haskell-stack
-stackage=lts-13.30
+stackage=lts-15.4
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel"
 short_desc="Tiling window manager fully configurable in Haskell"
 maintainer="xaltsc <xaltsc@protonmail.ch>"

From 87593c0aebe8d1bb43e44b6736b9f6bd14e2af47 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 18:57:54 +0100
Subject: [PATCH 07/18] stack: bump revision

---
 srcpkgs/stack/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/stack/template b/srcpkgs/stack/template
index 581176a5a79..f8fce921703 100644
--- a/srcpkgs/stack/template
+++ b/srcpkgs/stack/template
@@ -1,7 +1,7 @@
 # Template file for 'stack'
 pkgname=stack
 version=2.1.3.1
-revision=3
+revision=4
 _commit=bc503000bd2c2643689c8a38c17e6696a3149aa7
 _stackage="lts-15.4"
 wrksrc=${pkgname}-${version}

From bacae5d32d6c1b456e3a35529112d36b5e12530a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 19:52:08 +0100
Subject: [PATCH 08/18] xmonad-contrib: bump stackage to lts-15.4

---
 srcpkgs/xmonad-contrib/files/stack.yaml | 2 +-
 srcpkgs/xmonad-contrib/template         | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/xmonad-contrib/files/stack.yaml b/srcpkgs/xmonad-contrib/files/stack.yaml
index 31cf441c3cc..cd6bb8c0804 100644
--- a/srcpkgs/xmonad-contrib/files/stack.yaml
+++ b/srcpkgs/xmonad-contrib/files/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
   - .
 extra-deps:
diff --git a/srcpkgs/xmonad-contrib/template b/srcpkgs/xmonad-contrib/template
index f16207129b5..ed000d7b6e8 100644
--- a/srcpkgs/xmonad-contrib/template
+++ b/srcpkgs/xmonad-contrib/template
@@ -1,7 +1,7 @@
 # Template file for 'xmonad-contrib'
 pkgname=xmonad-contrib
 version=0.16
-revision=1
+revision=2
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXft-devel libXScrnSaver-devel"

From fcc3330d6b579b372fdd8c53034d494a69615787 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Thu, 26 Mar 2020 20:06:31 +0100
Subject: [PATCH 09/18] kmonad: bump stackage to lts-15.4

---
 srcpkgs/kmonad/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/kmonad/template b/srcpkgs/kmonad/template
index 88584c00607..6fcb68a35e4 100644
--- a/srcpkgs/kmonad/template
+++ b/srcpkgs/kmonad/template
@@ -1,9 +1,9 @@
 # Template file for 'kmonad'
 pkgname=kmonad
 version=0.3.0
-revision=2
+revision=3
 build_style=haskell-stack
-stackage=lts-14.07
+stackage=lts-15.4
 short_desc="Keyboard remapping utility providing qmk-like functionality"
 maintainer="slotThe <soliditsallgood@tuta.io>"
 license="MIT"

From 5ecd29b4057b8a3cb6c125b5c8f04a3405d41b18 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 10:46:20 +0100
Subject: [PATCH 10/18] xmobar: update to 0.33

---
 srcpkgs/xmobar/files/stack.yaml |  6 ++----
 srcpkgs/xmobar/template         | 10 +++++-----
 2 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/srcpkgs/xmobar/files/stack.yaml b/srcpkgs/xmobar/files/stack.yaml
index 4fc94beb247..751d01b11d0 100644
--- a/srcpkgs/xmobar/files/stack.yaml
+++ b/srcpkgs/xmobar/files/stack.yaml
@@ -1,8 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - .
 extra-deps:
 - iwlib-0.1.0
-- parsec-numbers-0.1.0
-- alsa-mixer-0.3.0
-- dbus-1.2.8
+- netlink-1.1.1.0
diff --git a/srcpkgs/xmobar/template b/srcpkgs/xmobar/template
index 71ac0e47782..09dbdcba6f0 100644
--- a/srcpkgs/xmobar/template
+++ b/srcpkgs/xmobar/template
@@ -1,7 +1,7 @@
 # Template file for 'xmobar'
 pkgname=xmobar
-version=0.32
-revision=2
+version=0.33
+revision=1
 build_style=haskell-stack
 hostmakedepends="pkg-config"
 makedepends="libX11-devel libXinerama-devel libXrandr-devel libXScrnSaver-devel
@@ -15,10 +15,10 @@ maintainer="xaltsc <xaltsc@protonmail.ch>"
 license="BSD-3-Clause"
 homepage="http://xmobar.org"
 distfiles="https://hackage.haskell.org/package/${pkgname}-${version}/${pkgname}-${version}.tar.gz"
-checksum=2d4b512403945c2566857fdad035615e751544ef21e2a1f62214d60bf6885374
+checksum=289885f9abfedd878d67b5d45e6d8c550291bc702967ce2edbf115363dc623c3
 build_options="dbus threaded utf8 xft mpd mpris inotify iwlib alsa datezone
- xpm uvmeter weather"
-build_options_default="threaded utf8 xft inotify iwlib datezone weather xpm"
+ xpm uvmeter weather nl80211"
+build_options_default="threaded utf8 xft inotify nl80211 datezone weather xpm"
 nopie_files="/usr/bin/xmobar"
 nocross=yes
 vopt_hflag() {

From 4460c96a4a9a4c027dedfc353247a01f19a874e5 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 16:35:55 +0100
Subject: [PATCH 11/18] hledger: update to 1.17.1.1

hledger-api has been retired and its functionality merged into hledger-web.
---
 srcpkgs/hledger/files/stack.yaml | 10 +---------
 srcpkgs/hledger/template         | 17 ++++-------------
 2 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/srcpkgs/hledger/files/stack.yaml b/srcpkgs/hledger/files/stack.yaml
index 58928be9adf..80b170349c8 100644
--- a/srcpkgs/hledger/files/stack.yaml
+++ b/srcpkgs/hledger/files/stack.yaml
@@ -1,14 +1,6 @@
-resolver: lts-13.30
+resolver: lts-15.4
 packages:
 - hledger-lib
 - hledger
 - hledger-ui
 - hledger-web
-- hledger-api
-extra-deps:
-- brick-0.46
-- text-zipper-0.10.1
-- config-ini-0.2.4.0
-- data-clist-0.1.2.3
-- word-wrap-0.4.1
-- unix-compat-0.5.2
diff --git a/srcpkgs/hledger/template b/srcpkgs/hledger/template
index 8be58a43acb..609244f0bab 100644
--- a/srcpkgs/hledger/template
+++ b/srcpkgs/hledger/template
@@ -1,7 +1,7 @@
 # Template file for 'hledger'
 pkgname=hledger
-version=1.15.2
-revision=2
+version=1.17.1.1
+revision=1
 wrksrc="${pkgname}-${pkgname}-${version}"
 build_style=haskell-stack
 makedepends="zlib-devel ncurses-devel"
@@ -9,9 +9,9 @@ short_desc="Simple, precise, plain text accounting"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="GPL-3.0-or-later"
 homepage="http://hledger.org/"
-changelog="https://hackage.haskell.org/package/hledger-1.15.2/changelog"
+changelog="https://hackage.haskell.org/package/hledger-${version}/changelog"
 distfiles="https://github.com/simonmichael/${pkgname}/archive/${pkgname}-${version}.tar.gz"
-checksum=3f305dad8326797e224aa72d2ec54da9b19c7be8a2665ecdd19217beb018fd6b
+checksum=fabd0fd788617eab56aac74b6b5b7a1a3177513cb97675b91eb21263691be872
 nopie_files="/usr/bin/hledger"
 nocross=yes # Can't yet cross compile Haskell
 
@@ -39,12 +39,3 @@ hledger-web_package() {
 		vman hledger-web/hledger-web.1
 	}
 }
-
-hledger-api_package() {
-	nopie_files="/usr/bin/hledger-api"
-	depends="${sourcepkg}>=${version}_${revision}"
-	pkg_install() {
-		vmove usr/bin/hledger-api
-		vman hledger-api/hledger-api.1
-	}
-}

From d489af4fa01c0be723d1a445e9c89f6dd99208d1 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Fri, 27 Mar 2020 20:59:26 +0100
Subject: [PATCH 12/18] pandoc: bump stackage to lts-15.4

---
 srcpkgs/pandoc/template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/srcpkgs/pandoc/template b/srcpkgs/pandoc/template
index 56ebae4694f..f097317472e 100644
--- a/srcpkgs/pandoc/template
+++ b/srcpkgs/pandoc/template
@@ -2,7 +2,7 @@
 pkgname=pandoc
 # Keep in sync with http://www.stackage.org/lts
 version=2.9.1.1
-revision=2
+revision=3
 _citeproc_version=0.16.4.1
 _sidenote_version=0.20.0
 _monad_gen_version=0.3.0.1
@@ -11,7 +11,7 @@ build_style=haskell-stack
 make_build_args="
  --flag pandoc:embed_data_files --flag pandoc-citeproc:embed_data_files
  --flag=hslua:system-lua --flag=hslua:pkg-config"
-stackage="lts-15.3"
+stackage="lts-15.4"
 hostmakedepends="pkg-config unzip wget"
 makedepends="zlib-devel lua-devel"
 short_desc="Universal converter between markup formats (with citeproc support)"

From 15bc1164ada79b0c707b208cf35f0d9b076e9a8a Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 10:31:30 +0100
Subject: [PATCH 13/18] hoogle: update to 5.0.17.15

---
 srcpkgs/hoogle/template | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/hoogle/template b/srcpkgs/hoogle/template
index eb384c6eb1b..b2ec570aaf1 100644
--- a/srcpkgs/hoogle/template
+++ b/srcpkgs/hoogle/template
@@ -1,17 +1,17 @@
 # Template file for 'hoogle'
 pkgname=hoogle
-version=5.0.17.10
-revision=2
+version=5.0.17.15
+revision=1
 build_style=haskell-stack
 nocross=yes # Can't yet cross compile Haskell
-stackage="lts-14.1"
+stackage="lts-15.4"
 makedepends="zlib-devel"
 short_desc="Haskell API search engine"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
 homepage="http://hoogle.haskell.org/"
 distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
-checksum=0e500f34545186ab8d432495901692dbafaf04ad9886807475dddaf5c18801ee
+checksum=60f0645e2478b04be4b99316a21337bd658cb6388df10f850309756b245e0168
 nopie_files="/usr/bin/hoogle"
 
 post_install() {

From 3adbd54301ef40d5fd55d65847f4eb68be68349c Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:13:05 +0100
Subject: [PATCH 14/18] cgrep: bump stackage to lts-15.4

---
 srcpkgs/cgrep/template | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/cgrep/template b/srcpkgs/cgrep/template
index be9080540d8..d48184199e7 100644
--- a/srcpkgs/cgrep/template
+++ b/srcpkgs/cgrep/template
@@ -1,15 +1,15 @@
 # Template file for 'cgrep'
 pkgname=cgrep
 version=6.6.32
-revision=2
+revision=3
 build_style=haskell-stack
-stackage="lts-13.30"
-makedepends="pcre-devel"
+stackage="lts-15.4"
+makedepends="pcre-devel pkg-config"
 short_desc="Context-aware grep for source codes"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
-homepage="https://awgn.github.io/cgrep/"
-distfiles="https://github.com/awgn/cgrep/archive/v${version}.tar.gz"
+homepage="https://awgn.github.io/${pkgname}/"
+distfiles="https://github.com/awgn/${pkgname}/archive/v${version}.tar.gz"
 checksum=c45d680a2a00ef9524fc921e4c10fc7e68f02e57f4d6f1e640b7638a2f49c198
 nocross=yes
 nopie_files="/usr/bin/cgrep"

From 02cf5b5d4ca783d52aa9a1d2b7b56519530c4223 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Sat, 28 Mar 2020 11:57:23 +0100
Subject: [PATCH 15/18] hlint: update to 2.2.11

---
 srcpkgs/hlint/patches/ghc8.8.3.patch | 13 +++++++++++++
 srcpkgs/hlint/template               | 13 +++++++------
 2 files changed, 20 insertions(+), 6 deletions(-)
 create mode 100644 srcpkgs/hlint/patches/ghc8.8.3.patch

diff --git a/srcpkgs/hlint/patches/ghc8.8.3.patch b/srcpkgs/hlint/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..356800d31cd
--- /dev/null
+++ b/srcpkgs/hlint/patches/ghc8.8.3.patch
@@ -0,0 +1,13 @@
+--- stack.yaml	2020-02-09 22:30:02.000000000 +0100
++++ stack.yaml	2020-03-28 12:06:31.711342411 +0100
+@@ -4,8 +4,7 @@
+ resolver: nightly-2019-08-07 # Don't roll to an 8.8.1 or 8.8.2 resolver because of the Windows linker bug
+ packages: [.]
+ extra-deps:
+-  - ghc-lib-parser-8.8.2.20200205
+-  - ghc-lib-parser-ex-8.8.5.1
++  - ghc-lib-parser-8.8.3.20200224
++  - ghc-lib-parser-ex-8.8.6.0
+-  - haskell-src-exts-1.23.0
+ ghc-options:
+     "$locals": -Wunused-imports -Worphans -Wunused-top-binds -Wunused-local-binds -Wincomplete-patterns
diff --git a/srcpkgs/hlint/template b/srcpkgs/hlint/template
index 0dc5a0f2445..521d07ffccc 100644
--- a/srcpkgs/hlint/template
+++ b/srcpkgs/hlint/template
@@ -1,15 +1,16 @@
 # Template file for 'hlint'
 pkgname=hlint
-version=2.1.11
-revision=4
+version=2.2.11
+revision=1
 build_style=haskell-stack
-stackage="lts-13.2"
+stackage="lts-15.4"
 short_desc="Haskell source code suggestions"
 maintainer="Inokentiy Babushkin <twk@twki.de>"
 license="BSD-3-Clause"
-homepage="https://github.com/ndmitchell/hlint"
-distfiles="https://github.com/ndmitchell/hlint/archive/v${version}.tar.gz"
-checksum=edb6e18e9b8abceb6326212c4c20163516e88e80da734a504065b9fe833cccc4
+makedepends="ncurses-devel"
+homepage="https://github.com/ndmitchell/${pkgname}"
+distfiles="https://github.com/ndmitchell/${pkgname}/archive/v${version}.tar.gz"
+checksum=207539d3627efd3caed9e6fd3b1aeb8f1eb64553f1f9f166090adbf2fb71e172
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/hlint"
 

From 367fb4e32ecfbc92d2946d548ab40851fb57bbc6 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 14:50:21 +0200
Subject: [PATCH 16/18] shellcheck: switch to git

---
 srcpkgs/shellcheck/template | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/shellcheck/template b/srcpkgs/shellcheck/template
index b23564336e0..fbfe235efc6 100644
--- a/srcpkgs/shellcheck/template
+++ b/srcpkgs/shellcheck/template
@@ -1,19 +1,27 @@
 # Template file for 'shellcheck'
 pkgname=shellcheck
 version=0.7.0
-revision=3
+revision=4
+wrksrc=${pkgname}-${version}
 build_style=haskell-stack
-stackage="lts-13.26"
+_commit=37e78141bd57f56b2a8d7ec0c91e76edec6a9dc5
+stackage="lts-15.4"
 hostmakedepends="pandoc"
+makedepends="git"
 short_desc="Static analysis tool for shell scripts"
 maintainer="Diogo Leal <diogo@diogoleal.com>"
 license="GPL-3.0-or-later"
 homepage="https://www.shellcheck.net/"
-distfiles="https://github.com/koalaman/shellcheck/archive/v${version}.tar.gz"
-checksum=946cf3421ffd418f0edc380d1184e4cb08c2ec7f098c79b1c8a2c482fe91d877
 nocross=yes
 nopie_files="/usr/bin/shellcheck"
 
+# TODO: Switch back to hackage once it has a cabal-3 compatible version.
+do_fetch() {
+	git clone https://github.com/koalaman/shellcheck ${wrksrc}
+	cd ${wrksrc}
+	git reset --hard ${_commit}
+}
+
 pre_configure() {
 	pandoc -s -f markdown-smart -t man shellcheck.1.md -o shellcheck.1
 	pandoc -s -f markdown-smart -t html5 -o README.html README.md

From dd040e06c1396b0fedea4339c8baf410681921a4 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Mon, 30 Mar 2020 15:56:18 +0200
Subject: [PATCH 17/18] git-mediate: bump stackage to lts-15.4

---
 srcpkgs/git-mediate/patches/ghc8.8.3.patch | 19 +++++++++++++++++++
 srcpkgs/git-mediate/template               |  3 ++-
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/git-mediate/patches/ghc8.8.3.patch

diff --git a/srcpkgs/git-mediate/patches/ghc8.8.3.patch b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..7928b61ef3a
--- /dev/null
+++ b/srcpkgs/git-mediate/patches/ghc8.8.3.patch
@@ -0,0 +1,19 @@
+--- git-mediate.cabal	2001-09-09 03:46:40.000000000 +0200
++++ git-mediate.cabal	2020-03-30 15:32:48.959537620 +0200
+@@ -72,7 +72,7 @@
+   ghc-options:         -O2 -Wall
+   -- other-extensions:
+   build-depends:       base >=4.8 && <5
+-                     , base-compat >= 0.8.2 && < 0.11
++                     , base-compat >= 0.8.2 && < 0.12
+                      , mtl >=2.1
+                      , directory >=1.2
+                      , process >=1.2
+@@ -80,6 +80,6 @@
+                      , unix-compat >=0.4.2.0
+                      , Diff >=0.4
+                      , ansi-terminal >=0.6.2
+-                     , optparse-applicative >=0.11 && <0.15
++                     , optparse-applicative >=0.11 && <0.16
+   hs-source-dirs:      src
+   default-language:    Haskell2010
diff --git a/srcpkgs/git-mediate/template b/srcpkgs/git-mediate/template
index 12890f97e03..5fb8eaa6904 100644
--- a/srcpkgs/git-mediate/template
+++ b/srcpkgs/git-mediate/template
@@ -1,8 +1,9 @@
 # Template file for 'git-mediate'
 pkgname=git-mediate
 version=1.0.8
-revision=2
+revision=3
 build_style=haskell-stack
+stackage="lts-15.4"
 depends="git"
 short_desc="Tool to help resolving git conflicts"
 maintainer="Peter Wang <novalazy@gmail.com>"

From 3d419216fd78cc00a1aa1681cd17880296712a64 Mon Sep 17 00:00:00 2001
From: slotThe <soliditsallgood@tuta.io>
Date: Tue, 31 Mar 2020 13:30:11 +0200
Subject: [PATCH 18/18] debug-me: update to 1.20190926

---
 srcpkgs/debug-me/files/stack.yaml       |  3 ++-
 srcpkgs/debug-me/patches/ghc8.8.3.patch | 22 ++++++++++++++++++++++
 srcpkgs/debug-me/patches/ghc86.patch    | 11 -----------
 srcpkgs/debug-me/template               |  6 +++---
 4 files changed, 27 insertions(+), 15 deletions(-)
 create mode 100644 srcpkgs/debug-me/patches/ghc8.8.3.patch
 delete mode 100644 srcpkgs/debug-me/patches/ghc86.patch

diff --git a/srcpkgs/debug-me/files/stack.yaml b/srcpkgs/debug-me/files/stack.yaml
index a27574ed080..bedbdedceef 100644
--- a/srcpkgs/debug-me/files/stack.yaml
+++ b/srcpkgs/debug-me/files/stack.yaml
@@ -1,8 +1,9 @@
 packages:
 - '.'
-resolver: lts-14.1
+resolver: lts-15.4
 extra-deps:
 - posix-pty-0.2.1.1
 - graphviz-2999.20.0.3
 - sandi-0.5
+- protobuf-0.2.1.3@sha256:d8ed3c73027c6b7e7583c6a94ee1835beee8a755a875b06bbf51bc667d53ab69,3048
 allow-newer: true
diff --git a/srcpkgs/debug-me/patches/ghc8.8.3.patch b/srcpkgs/debug-me/patches/ghc8.8.3.patch
new file mode 100644
index 00000000000..f1779331c5a
--- /dev/null
+++ b/srcpkgs/debug-me/patches/ghc8.8.3.patch
@@ -0,0 +1,22 @@
+--- Val.hs	2020-03-31 11:00:33.329814064 +0200
++++ Val.hs	2020-03-31 11:00:24.602711845 +0200
+@@ -42,7 +42,7 @@
+ b64 :: B.ByteString -> T.Text
+ b64 = T.decodeUtf8 . B64.encode
+
+-unb64 :: Monad m => T.Text -> m B.ByteString
++unb64 :: MonadFail m => T.Text -> m B.ByteString
+ unb64 t = either
+ 	(\_ -> fail "bad base64 data")
+ 	return
+--- Server.hs	2020-03-31 12:53:45.860509650 +0200
++++ Server.hs	2020-03-31 12:52:34.873835069 +0200
+@@ -105,7 +105,7 @@
+ 		-- (Workaround for
+ 		-- https://github.com/jaspervdj/websockets/issues/140)
+ 		setHost "*6" $
+-		setPort (serverPort o) $
++		setPort (CmdLine.serverPort o) $
+ 		defaultSettings
+
+ checkEnv :: ServerOpts -> IO ServerOpts
diff --git a/srcpkgs/debug-me/patches/ghc86.patch b/srcpkgs/debug-me/patches/ghc86.patch
deleted file mode 100644
index 176a67f426e..00000000000
--- a/srcpkgs/debug-me/patches/ghc86.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- Role/User.hs
-+++ Role/User.hs
-@@ -247,7 +247,7 @@ getDeveloperMessage ichan ochan us now = maybe
- getDeveloperMessage' :: MissingHashes (Message Entered) -> TMChan (Message Seen) -> TVar UserState -> POSIXTime -> STM Input
- getDeveloperMessage' (MissingHashes wiremsg) ochan us now = do
- 	st <- readTVar us
--	Developer msg <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
-+	~(Developer msg) <- restoreHashes (userStateRecentActivity us) (MissingHashes (Developer wiremsg))
- 	case msg of
- 		ControlMessage (Control (SessionKey spk _) _) -> do
- 			let sigverifier = mkSigVerifier $ case spk of
diff --git a/srcpkgs/debug-me/template b/srcpkgs/debug-me/template
index a0c2ff7af23..0e18fee38b5 100644
--- a/srcpkgs/debug-me/template
+++ b/srcpkgs/debug-me/template
@@ -1,7 +1,7 @@
 # Template file for 'debug-me'
 pkgname=debug-me
-version=1.20181208
-revision=3
+version=1.20190926
+revision=1
 build_style=haskell-stack
 makedepends="zlib-devel"
 short_desc="Secure remote debugging"
@@ -9,7 +9,7 @@ maintainer="Dominic Monroe <monroef4@googlemail.com>"
 license="AGPL-3.0-or-later"
 homepage="https://debug-me.branchable.com/"
 distfiles="https://git.joeyh.name/index.cgi/${pkgname}.git/snapshot/${pkgname}-${version}.tar.gz"
-checksum=47cd1f5af1d32b2659c0991466f1ffec34b01211a663b8b0a51ebc2ecb49168b
+checksum=bfce3ded4897a2939d68ae9082be30c34bc21bb5b44b744a4417cc87252e8195
 nocross=yes # Can't yet cross compile Haskell
 nopie_files="/usr/bin/debug-me"
 

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2020-04-16  1:52 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-20365@inbox.vuxu.org>
2020-03-31 11:31 ` [PR PATCH] [Updated] [WIP] GHC 8.8.3 slotThe
2020-04-01 14:48 ` slotThe
2020-04-01 15:27 ` slotThe
2020-04-02 10:36 ` slotThe
2020-04-02 10:45 ` slotThe
2020-04-02 11:26 ` slotThe
2020-04-08 15:40 ` slotThe
2020-04-08 15:46 ` slotThe
2020-04-08 18:26 ` slotThe
2020-04-13 20:52 ` slotThe
2020-04-13 20:52 ` slotThe
2020-04-16  1:52 ` [PR PATCH] [Closed]: " q66
2020-04-16  1:52 ` q66

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).