From 1a0612360144b02044af1f8ee439242e6e23427c5b6f4ed036cc45a2dec5e599 Mon Sep 17 00:00:00 2001
From: Peter Simons <peter.simons@suse.com>
Date: Thu, 6 Oct 2022 14:46:21 +0000
Subject: [PATCH] osc copypac from project:devel:languages:haskell:ghc-8.10.x
 package:ghc-cryptohash-sha256 revision:23, using keep-link

OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-cryptohash-sha256?expand=0&rev=57
---
 cryptohash-sha256.cabal       | 155 ++++++++++++++++++++++++++++++++++
 ghc-cryptohash-sha256.changes |   6 ++
 ghc-cryptohash-sha256.spec    |   4 +-
 3 files changed, 164 insertions(+), 1 deletion(-)
 create mode 100644 cryptohash-sha256.cabal

diff --git a/cryptohash-sha256.cabal b/cryptohash-sha256.cabal
new file mode 100644
index 0000000..9619245
--- /dev/null
+++ b/cryptohash-sha256.cabal
@@ -0,0 +1,155 @@
+cabal-version:       2.0
+name:                cryptohash-sha256
+version:             0.11.102.1
+x-revision:          1
+
+synopsis:            Fast, pure and practical SHA-256 implementation
+description: {
+
+A practical incremental and one-pass, pure API to
+the [SHA-256 cryptographic hash algorithm](https://en.wikipedia.org/wiki/SHA-2) according
+to [FIPS 180-4](http://dx.doi.org/10.6028/NIST.FIPS.180-4)
+with performance close to the fastest implementations available in other languages.
+.
+The core SHA-256 algorithm is implemented in C and is thus expected
+to be as fast as the standard [sha256sum(1) tool](https://linux.die.net/man/1/sha256sum);
+for instance, on an /Intel Core i7-3770/ at 3.40GHz this implementation can
+compute a SHA-256 hash over 230 MiB of data in under one second.
+(If, instead, you require a pure Haskell implementation and performance is secondary, please refer to the [SHA package](https://hackage.haskell.org/package/SHA).)
+.
+
+.
+Additionally, this package provides support for
+.
+- HMAC-SHA-256: SHA-256-based [Hashed Message Authentication Codes](https://en.wikipedia.org/wiki/HMAC) (HMAC)
+- HKDF-SHA-256: [HMAC-SHA-256-based Key Derivation Function](https://en.wikipedia.org/wiki/HKDF) (HKDF)
+.
+conforming to [RFC6234](https://tools.ietf.org/html/rfc6234), [RFC4231](https://tools.ietf.org/html/rfc4231), [RFC5869](https://tools.ietf.org/html/rfc5869), et al..
+.
+=== Relationship to the @cryptohash@ package and its API
+.
+This package has been originally a fork of @cryptohash-0.11.7@ because the @cryptohash@
+package had been deprecated and so this package continues to satisfy the need for a
+lightweight package providing the SHA-256 hash algorithm without any dependencies on packages
+other than @base@ and @bytestring@. The API exposed by @cryptohash-sha256-0.11.*@'s
+"Crypto.Hash.SHA256" module is guaranteed to remain a compatible superset of the API provided
+by the @cryptohash-0.11.7@'s module of the same name.
+.
+Consequently, this package is designed to be used as a drop-in replacement for @cryptohash-0.11.7@'s
+"Crypto.Hash.SHA256" module, though with
+a [clearly smaller footprint by almost 3 orders of magnitude](https://www.reddit.com/r/haskell/comments/5lxv75/psa_please_use_unique_module_names_when_uploading/dbzegx3/).
+
+}
+
+license:             BSD3
+license-file:        LICENSE
+copyright:           Vincent Hanquez, Herbert Valerio Riedel
+maintainer:          Herbert Valerio Riedel <hvr@gnu.org>
+homepage:            https://github.com/hvr/cryptohash-sha256
+bug-reports:         https://github.com/hvr/cryptohash-sha256/issues
+category:            Data, Cryptography
+build-type:          Simple
+tested-with:         GHC == 7.4.2
+                   , GHC == 7.6.3
+                   , GHC == 7.8.4
+                   , GHC == 7.10.3
+                   , GHC == 8.0.2
+                   , GHC == 8.2.2
+                   , GHC == 8.4.4
+                   , GHC == 8.6.5
+                   , GHC == 8.8.4
+                   , GHC == 8.10.4
+                   , GHC == 9.0.2
+                   , GHC == 9.2.4
+                   , GHC == 9.4.1
+
+
+extra-source-files:  cbits/hs_sha256.h
+                     changelog.md
+
+source-repository head
+  type:     git
+  location: https://github.com/hvr/cryptohash-sha256.git
+
+flag exe
+  description: Enable building @sha256sum@ executable
+  manual:   True
+  default:  False
+
+flag use-cbits
+  description: Use fast optimized C routines via FFI; if flag is disabled falls back to non-FFI Haskell optimized implementation.
+  manual:   True
+  default:  True
+
+library
+  default-language:  Haskell2010
+
+  ghc-options:       -Wall
+
+  build-depends:     base              >= 4.5 && < 4.18
+
+  exposed-modules:   Crypto.Hash.SHA256
+
+  if flag(use-cbits)
+    build-depends:     bytestring      ^>= 0.9.2 || ^>= 0.10.0 || ^>= 0.11.0
+
+    other-extensions:  BangPatterns
+                       CApiFFI
+                       CPP
+                       Trustworthy
+                       Unsafe
+
+    hs-source-dirs:    src
+    other-modules:     Crypto.Hash.SHA256.FFI
+                       Compat
+    include-dirs:      cbits
+  else
+    hs-source-dirs:    src-pure
+    build-depends:     cryptohash-sha256-pure ^>= 0.1.0
+
+executable sha256sum
+  default-language:  Haskell2010
+  hs-source-dirs:    src-exe
+  main-is:           sha256sum.hs
+  ghc-options:       -Wall -threaded
+  if flag(exe)
+    other-extensions:  RecordWildCards
+    build-depends:     cryptohash-sha256
+                     , base
+                     , bytestring
+
+                     , base16-bytestring ^>= 0.1.1 || ^>= 1.0.0
+  else
+    buildable:       False
+
+test-suite test-sha256
+  default-language:  Haskell2010
+  other-extensions:  OverloadedStrings
+  type:              exitcode-stdio-1.0
+  hs-source-dirs:    src-tests
+  main-is:           test-sha256.hs
+  ghc-options:       -Wall -threaded
+  build-depends:     cryptohash-sha256
+                   , base
+                   , bytestring
+
+                   , base16-bytestring ^>= 0.1.1 || ^>= 1.0.0
+                   , SHA               ^>= 1.6.4
+                   , tasty             ^>= 1.4
+                   , tasty-quickcheck  ^>= 0.10
+                   , tasty-hunit       ^>= 0.10
+
+benchmark bench-sha256
+  default-language:  Haskell2010
+  other-extensions:  BangPatterns
+  type:              exitcode-stdio-1.0
+  main-is:           bench-sha256.hs
+  hs-source-dirs:    src-bench
+  build-depends:     cryptohash-sha256
+                   , SHA               ^>= 1.6.4
+                   , base
+                   , bytestring
+                   , criterion         ^>= 1.5 || ^>=1.6
+
+  -- not yet public
+  -- build-depends: cryptohash-sha256-pure ^>= 0.1.0
diff --git a/ghc-cryptohash-sha256.changes b/ghc-cryptohash-sha256.changes
index 93ae59f..763dbcd 100644
--- a/ghc-cryptohash-sha256.changes
+++ b/ghc-cryptohash-sha256.changes
@@ -1,3 +1,9 @@
+-------------------------------------------------------------------
+Sun Aug 14 20:37:24 UTC 2022 - Peter Simons <psimons@suse.com>
+
+- Update cryptohash-sha256 to version 0.11.102.1 revision 1.
+  Upstream has revised the Cabal build instructions on Hackage.
+
 -------------------------------------------------------------------
 Tue Oct 12 11:34:17 UTC 2021 - psimons@suse.com
 
diff --git a/ghc-cryptohash-sha256.spec b/ghc-cryptohash-sha256.spec
index c946cdb..fe68270 100644
--- a/ghc-cryptohash-sha256.spec
+++ b/ghc-cryptohash-sha256.spec
@@ -1,7 +1,7 @@
 #
 # spec file for package ghc-cryptohash-sha256
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -25,6 +25,7 @@ Summary:        Fast, pure and practical SHA-256 implementation
 License:        BSD-3-Clause
 URL:            https://hackage.haskell.org/package/%{pkg_name}
 Source0:        https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz
+Source1:        https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/1.cabal#/%{pkg_name}.cabal
 BuildRequires:  ghc-Cabal-devel
 BuildRequires:  ghc-bytestring-devel
 BuildRequires:  ghc-rpm-macros
@@ -90,6 +91,7 @@ files.
 
 %prep
 %autosetup -n %{pkg_name}-%{version}
+cp -p %{SOURCE1} %{pkg_name}.cabal
 
 %build
 %ghc_lib_build