Date: Friday, May 18, 2018 @ 06:34:28 Author: felixonmars Revision: 324213
upgpkg: haskell-bytestring-strict-builder 0.4.5-10 really fix for ghc 8.4 Added: haskell-bytestring-strict-builder/trunk/ghc-8.4.patch Modified: haskell-bytestring-strict-builder/trunk/PKGBUILD ---------------+ PKGBUILD | 33 +++++++++++++++++++++++++-------- ghc-8.4.patch | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 8 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-05-18 06:30:55 UTC (rev 324212) +++ PKGBUILD 2018-05-18 06:34:28 UTC (rev 324213) @@ -4,21 +4,33 @@ _hkgname=bytestring-strict-builder pkgname=haskell-bytestring-strict-builder pkgver=0.4.5 -pkgrel=9 +pkgrel=10 pkgdesc="An efficient strict bytestring builder" url="https://github.com/nikita-volkov/bytestring-strict-builder" license=('MIT') arch=('x86_64') -depends=('ghc-libs' 'haskell-base-prelude' 'haskell-semigroups') -makedepends=('ghc') -source=("https://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz") -sha512sums=('b1e0a551abf663daeaf71cb36e883e5b3db0a5112d7190d0743a5ed26aa334d3fede5be8c35dc2821d24d1fd88eae1de7e4983cc31bdc5c14960defc0ce47bcd') +depends=('ghc-libs' 'haskell-base-prelude') +makedepends=('ghc' 'haskell-tasty' 'haskell-tasty-quickcheck' 'haskell-tasty-smallcheck' + 'haskell-tasty-hunit' 'haskell-quickcheck-instances' 'haskell-rerebase') +source=("https://hackage.haskell.org/packages/archive/${_hkgname}/${pkgver}/${_hkgname}-${pkgver}.tar.gz" + ghc-8.4.patch) +sha512sums=('b1e0a551abf663daeaf71cb36e883e5b3db0a5112d7190d0743a5ed26aa334d3fede5be8c35dc2821d24d1fd88eae1de7e4983cc31bdc5c14960defc0ce47bcd' + '7ed27930fef2b2709dfa6a66a09cebd1300361ecc40aca4735984c6364eda70a176fc7dbad198c6b45ef6303e5fc8fdaecda1ef30de5eb45e68eec26f555009f') +prepare() { + cd $_hkgname-$pkgver + patch -p1 -i ../ghc-8.4.patch + + sed -e '/semigroups/d' \ + -e 's/==.*,/,/' \ + -i $_hkgname.cabal +} + build() { - cd "${srcdir}/${_hkgname}-${pkgver}" + cd $_hkgname-$pkgver runhaskell Setup configure -O --enable-shared --enable-executable-dynamic --disable-library-vanilla \ - --prefix=/usr --docdir="/usr/share/doc/${pkgname}" \ + --prefix=/usr --docdir="/usr/share/doc/${pkgname}" --enable-tests \ --dynlibdir=/usr/lib --libsubdir=\$compiler/site-local/\$pkgid runhaskell Setup build runhaskell Setup register --gen-script @@ -27,8 +39,13 @@ sed -i -r -e "s|ghc-pkg.*unregister[^ ]* |&'--force' |" unregister.sh } +check() { + cd $_hkgname-$pkgver + runhaskell Setup test +} + package() { - cd "${srcdir}/${_hkgname}-${pkgver}" + cd $_hkgname-$pkgver install -D -m744 register.sh "${pkgdir}/usr/share/haskell/register/${pkgname}.sh" install -D -m744 unregister.sh "${pkgdir}/usr/share/haskell/unregister/${pkgname}.sh" Added: ghc-8.4.patch =================================================================== --- ghc-8.4.patch (rev 0) +++ ghc-8.4.patch 2018-05-18 06:34:28 UTC (rev 324213) @@ -0,0 +1,44 @@ +diff --git a/library/ByteString/StrictBuilder/Population.hs.orig b/library/ByteString/StrictBuilder/Population.hs +index 4134009..e423daf 100644 +--- a/library/ByteString/StrictBuilder/Population.hs.orig ++++ b/library/ByteString/StrictBuilder/Population.hs +@@ -16,11 +16,10 @@ instance Monoid Population where + {-# INLINE mempty #-} + mempty = + Population return +- {-# INLINE mappend #-} +- mappend (Population leftPtrUpdate) (Population rightPtrUpdate) = +- Population (leftPtrUpdate >=> rightPtrUpdate) + +-instance Semigroup Population ++instance Semigroup Population where ++ Population leftPtrUpdate <> Population rightPtrUpdate = ++ Population (leftPtrUpdate >=> rightPtrUpdate) + + + {-| +diff --git a/library/ByteString/StrictBuilder.hs.orig b/library/ByteString/StrictBuilder.hs +index b7f36b8..69921c0 100644 +--- a/library/ByteString/StrictBuilder.hs.orig ++++ b/library/ByteString/StrictBuilder.hs +@@ -38,9 +38,6 @@ instance Monoid Builder where + {-# INLINE mempty #-} + mempty = + Builder 0 mempty +- {-# INLINE mappend #-} +- mappend (Builder leftSize leftPopulation) (Builder rightSize rightPopulation) = +- Builder (leftSize + rightSize) (leftPopulation <> rightPopulation) + {-# INLINE mconcat #-} + mconcat builders = + Builder size population +@@ -50,7 +47,9 @@ instance Monoid Builder where + population = + foldMap (\(Builder _ x) -> x) builders + +-instance Semigroup Builder ++instance Semigroup Builder where ++ Builder leftSize leftPopulation <> Builder rightSize rightPopulation = ++ Builder (leftSize + rightSize) (leftPopulation <> rightPopulation) + + instance IsString Builder where + fromString =
