[arch-commits] Commit in cabal-install/repos (3 files)

Felix Yan felixonmars at gemini.archlinux.org
Tue Mar 15 16:51:28 UTC 2022


    Date: Tuesday, March 15, 2022 @ 16:51:28
  Author: felixonmars
Revision: 1154594

archrelease: copy trunk to community-staging-x86_64

Added:
  cabal-install/repos/community-staging-x86_64/
  cabal-install/repos/community-staging-x86_64/PKGBUILD
    (from rev 1154593, cabal-install/trunk/PKGBUILD)
  cabal-install/repos/community-staging-x86_64/cabal-install-base16-bytestring1.0.patch
    (from rev 1154593, cabal-install/trunk/cabal-install-base16-bytestring1.0.patch)

------------------------------------------+
 PKGBUILD                                 |   46 +++++++++++++++++
 cabal-install-base16-bytestring1.0.patch |   78 +++++++++++++++++++++++++++++
 2 files changed, 124 insertions(+)

Copied: cabal-install/repos/community-staging-x86_64/PKGBUILD (from rev 1154593, cabal-install/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2022-03-15 16:51:28 UTC (rev 1154594)
@@ -0,0 +1,46 @@
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Thomas Dziedzic <gostrc at gmail.com>
+# Contributor: Vesa Kaihlavirta <vesa at archlinux.org>
+# Contributor: Arch Haskell Team <arch-haskell at haskell.org>
+
+pkgname=cabal-install
+pkgver=3.4.0.0
+pkgrel=112
+pkgdesc="The command-line interface for Cabal and Hackage."
+url="https://hackage.haskell.org/package/cabal-install"
+license=('BSD')
+arch=('x86_64')
+depends=('ghc-libs' 'haskell-async' 'haskell-base16-bytestring' 'haskell-cryptohash-sha256'
+         'haskell-echo' 'haskell-edit-distance' 'haskell-hackage-security' 'haskell-hashable'
+         'haskell-http' 'haskell-network-uri' 'haskell-random' 'haskell-regex-base'
+         'haskell-regex-posix' 'haskell-resolv' 'haskell-tar' 'haskell-zlib' 'haskell-lukko')
+makedepends=('ghc' 'uusi')
+source=("https://hackage.haskell.org/package/cabal-install-${pkgver}/cabal-install-${pkgver}.tar.gz"
+        $pkgname-base16-bytestring1.0.patch)
+sha512sums=('0fd93c86c59e3c626341be3c67e69a1502f1ce1413b4a456cd930d5449cabdaeb033ac5f47673db0e708fc194aadf8ab0aa2904b6b0f195b57907c5b40588323'
+            '966e2f0e3fd1cff3d673cb91f73b2a42049653e39a3025cdbbf86ec8ebfbd49bad278c8d01f521bbe580369bd11baf2aa7f8195e0ae450efd8ae615d13aa2300')
+
+prepare() {
+    cd $pkgname-$pkgver
+    patch -p2 -i ../$pkgname-base16-bytestring1.0.patch
+    uusi -u base -u hashable $pkgname.cabal
+}
+
+build() {
+  cd $pkgname-$pkgver
+
+  runhaskell Setup configure -O --prefix=/usr --enable-executable-dynamic --disable-library-vanilla \
+    --docdir="/usr/share/doc/${pkgname}"
+  runhaskell Setup build $MAKEFLAGS
+}
+
+package() {
+  cd $pkgname-$pkgver
+  runhaskell Setup copy --destdir="${pkgdir}"
+
+  install -Dm644 LICENSE \
+    "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+
+  install -Dm644 bash-completion/cabal \
+    "${pkgdir}/usr/share/bash-completion/completions/cabal"
+}

Copied: cabal-install/repos/community-staging-x86_64/cabal-install-base16-bytestring1.0.patch (from rev 1154593, cabal-install/trunk/cabal-install-base16-bytestring1.0.patch)
===================================================================
--- community-staging-x86_64/cabal-install-base16-bytestring1.0.patch	                        (rev 0)
+++ community-staging-x86_64/cabal-install-base16-bytestring1.0.patch	2022-03-15 16:51:28 UTC (rev 1154594)
@@ -0,0 +1,78 @@
+diff --git a/cabal-install/Distribution/Client/HashValue.hs b/cabal-install/Distribution/Client/HashValue.hs
+index 54b8aee9e..11e647c1c 100644
+--- a/cabal-install/Distribution/Client/HashValue.hs
++++ b/cabal-install/Distribution/Client/HashValue.hs
+@@ -1,3 +1,4 @@
++{-# LANGUAGE CPP          #-}
+ {-# LANGUAGE DeriveDataTypeable #-}
+ {-# LANGUAGE DeriveGeneric      #-}
+ module Distribution.Client.HashValue (
+@@ -72,10 +73,14 @@ hashFromTUF (Sec.Hash hashstr) =
+     --TODO: [code cleanup] either we should get TUF to use raw bytestrings or
+     -- perhaps we should also just use a base16 string as the internal rep.
+     case Base16.decode (BS.pack hashstr) of
++#if MIN_VERSION_base16_bytestring(1,0,0)
++      Right hash -> HashValue hash
++      Left _ -> error "hashFromTUF: cannot decode base16"
++#else
+       (hash, trailing) | not (BS.null hash) && BS.null trailing
+         -> HashValue hash
+       _ -> error "hashFromTUF: cannot decode base16 hash"
+-
++#endif
+ 
+ -- | Truncate a 32 byte SHA256 hash to
+ --
+diff --git a/cabal-install/src/Distribution/Client/HttpUtils.hs b/cabal-install/src/Distribution/Client/HttpUtils.hs
+index 9b8a8ecb844..0c334bec44a 100644
+--- a/cabal-install/Distribution/Client/HttpUtils.hs
++++ b/cabal-install/Distribution/Client/HttpUtils.hs
+@@ -1,4 +1,5 @@
+ {-# LANGUAGE BangPatterns #-}
++{-# LANGUAGE CPP          #-}
+ -----------------------------------------------------------------------------
+ -- | Separate module for HTTP actions, using a proxy server if one exists.
+ -----------------------------------------------------------------------------
+@@ -182,7 +183,11 @@ downloadURI transport verbosity uri path = do
+     fragmentParser = do
+         _ <- P.string "#sha256="
+         str <- some P.hexDigit
++#if MIN_VERSION_base16_bytestring(1,0,0)
++        return  (Base16.decodeLenient (BS8.pack str))
++#else
+         return (fst (Base16.decode (BS8.pack str)))
++#endif
+ 
+ ------------------------------------------------------------------------------
+ -- Utilities for repo url management
+diff --git a/cabal-install/src/Distribution/Client/HttpUtils.hs b/cabal-install/src/Distribution/Client/HttpUtils.hs
+index 0c334bec44a..6de14f3c661 100644
+--- a/cabal-install/Distribution/Client/HttpUtils.hs
++++ b/cabal-install/Distribution/Client/HttpUtils.hs
+@@ -183,10 +183,11 @@ downloadURI transport verbosity uri path = do
+     fragmentParser = do
+         _ <- P.string "#sha256="
+         str <- some P.hexDigit
++        let bs = Base16.decode (BS8.pack str)
+ #if MIN_VERSION_base16_bytestring(1,0,0)
+-        return  (Base16.decodeLenient (BS8.pack str))
++        either fail return bs
+ #else
+-        return (fst (Base16.decode (BS8.pack str)))
++        return (fst bs)
+ #endif
+ 
+ ------------------------------------------------------------------------------
+diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal
+index ee49fe245..6d423fdb3 100644
+--- a/cabal-install/cabal-install.cabal
++++ b/cabal-install/cabal-install.cabal
+@@ -319,7 +319,7 @@ executable cabal
+         async      >= 2.0      && < 2.3,
+         array      >= 0.4      && < 0.6,
+         base       >= 4.8      && < 4.15,
+-        base16-bytestring >= 0.1.1 && < 0.2,
++        base16-bytestring >= 0.1.1 && < 1.1.0.0,
+         binary     >= 0.7.3    && < 0.9,
+         bytestring >= 0.10.6.0 && < 0.11,
+         Cabal      == 3.2.*,



More information about the arch-commits mailing list