osc copypac from project:devel:languages:haskell:ghc-9.8.x package:ghc-cryptohash-sha256 revision:3, using keep-link

OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/ghc-cryptohash-sha256?expand=0&rev=66
This commit is contained in:
Peter Simons 2024-07-19 12:40:31 +00:00 committed by Git OBS Bridge
commit d55de7b920
6 changed files with 463 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6
size 15707

155
cryptohash-sha256.cabal Normal file
View File

@ -0,0 +1,155 @@
cabal-version: 2.0
name: cryptohash-sha256
version: 0.11.102.1
x-revision: 5
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/haskell-hvr/cryptohash-sha256
bug-reports: https://github.com/haskell-hvr/cryptohash-sha256/issues
category: Data, Cryptography
build-type: Simple
tested-with:
GHC == 9.10.1
GHC == 9.8.2
GHC == 9.6.5
GHC == 9.4.8
GHC == 9.2.8
GHC == 9.0.2
GHC == 8.10.7
GHC == 8.8.4
GHC == 8.6.5
GHC == 8.4.4
GHC == 8.2.2
GHC == 8.0.2
extra-source-files: cbits/hs_sha256.h
changelog.md
source-repository head
type: git
location: https://github.com/haskell-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.21
exposed-modules: Crypto.Hash.SHA256
if flag(use-cbits)
build-depends: bytestring ^>= 0.9.2.0 || ^>= 0.10.0.0 || ^>= 0.11.0.0 || ^>= 0.12.0.2
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 || ^>= 1.5
, tasty-quickcheck >= 0.10 && < 1
, 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

View File

@ -0,0 +1,134 @@
-------------------------------------------------------------------
Wed Jun 26 09:08:36 UTC 2024 - Peter Simons <psimons@suse.com>
- Update cryptohash-sha256 to version 0.11.102.1 revision 5.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Fri Apr 19 21:15:16 UTC 2024 - Peter Simons <psimons@suse.com>
- Update cryptohash-sha256 to version 0.11.102.1 revision 4.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Thu Sep 14 07:18:49 UTC 2023 - Peter Simons <psimons@suse.com>
- Update cryptohash-sha256 to version 0.11.102.1 revision 3.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Thu Mar 30 17:06:26 UTC 2023 - Peter Simons <psimons@suse.com>
- Updated spec file to conform with ghc-rpm-macros-2.5.2.
-------------------------------------------------------------------
Thu Mar 16 23:42:38 UTC 2023 - Peter Simons <psimons@suse.com>
- Update cryptohash-sha256 to version 0.11.102.1 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
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
- Update cryptohash-sha256 to version 0.11.102.1.
Upstream has not updated the file "changelog.md" since the last
release.
-------------------------------------------------------------------
Wed Jun 16 08:26:59 UTC 2021 - psimons@suse.com
- Update cryptohash-sha256 to version 0.11.102.0 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Mon Jan 25 09:35:35 UTC 2021 - psimons@suse.com
- Update cryptohash-sha256 to version 0.11.102.0.
## 0.11.102.0
- Add Eq instance for Ctx
- Add start and startlazy producing Ctx
- Introduce new `use-cbits` cabal flag in order to
add support for FFI-less `cryptohash-sha256-pure` pass-thru
-------------------------------------------------------------------
Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
-------------------------------------------------------------------
Mon Aug 31 09:34:37 UTC 2020 - psimons@suse.com
- Update cryptohash-sha256 to version 0.11.101.0 revision 4.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Tue Aug 18 10:44:31 UTC 2020 - Peter Simons <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
-------------------------------------------------------------------
Tue Jun 16 11:13:57 UTC 2020 - Peter Simons <psimons@suse.com>
- Re-generate file with latest version of spec-cleaner.
-------------------------------------------------------------------
Thu May 7 08:08:20 UTC 2020 - Peter Simons <psimons@suse.com>
- Update Cabal file to get more accurate dependency information.
-------------------------------------------------------------------
Fri Nov 8 16:13:31 UTC 2019 - Peter Simons <psimons@suse.com>
- Drop obsolete group attributes.
-------------------------------------------------------------------
Fri Oct 19 13:13:47 UTC 2018 - Peter Simons <psimons@suse.com>
- Update Cabal build instructions to support ghc-8.6.1.
-------------------------------------------------------------------
Wed Jul 18 14:26:19 UTC 2018 - psimons@suse.com
- Cosmetic: replace tabs with blanks, strip trailing white space,
and update copyright headers with spec-cleaner.
-------------------------------------------------------------------
Mon May 14 17:02:11 UTC 2018 - psimons@suse.com
- Update cryptohash-sha256 to version 0.11.101.0 revision 1.
- Add `hkdf` function providing HKDF-SHA256 conforming to RFC5869
- Declare `Crypto.Hash.SHA256` module `-XTrustworthy`
- Remove ineffective RULES
- Convert to `CApiFFI`
- Added `...AndLength` variants of hashing functions:
- `finalizeAndLength`
- `hashlazyAndLength`
- `hmaclazyAndLength`
- Minor optimizations in `hmac` and `hash`
-------------------------------------------------------------------
Thu Aug 3 15:38:38 UTC 2017 - psimons@suse.com
- Updated with latest spec-cleaner version 0.9.8-8-geadfbbf.
-------------------------------------------------------------------
Sun Apr 9 18:08:08 UTC 2017 - psimons@suse.com
- Update to version 0.11.100.1 revision 1 with cabal2obs.
-------------------------------------------------------------------
Sun Jul 10 17:28:01 UTC 2016 - psimons@suse.com
- Update to version 0.11.100.1 revision 0 with cabal2obs.
-------------------------------------------------------------------
Fri May 27 12:02:02 UTC 2016 - mimi.vx@gmail.com
- ghc-cryptohash-sha256 generated by st2obs scritpt

147
ghc-cryptohash-sha256.spec Normal file
View File

@ -0,0 +1,147 @@
#
# spec file for package ghc-cryptohash-sha256
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global pkg_name cryptohash-sha256
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
Name: ghc-%{pkg_name}
Version: 0.11.102.1
Release: 0
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/5.cabal#/%{pkg_name}.cabal
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-base-prof
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-rpm-macros
ExcludeArch: %{ix86}
%if %{with tests}
BuildRequires: ghc-SHA-devel
BuildRequires: ghc-SHA-prof
BuildRequires: ghc-base16-bytestring-devel
BuildRequires: ghc-base16-bytestring-prof
BuildRequires: ghc-tasty-devel
BuildRequires: ghc-tasty-hunit-devel
BuildRequires: ghc-tasty-hunit-prof
BuildRequires: ghc-tasty-prof
BuildRequires: ghc-tasty-quickcheck-devel
BuildRequires: ghc-tasty-quickcheck-prof
%endif
%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/).
%package devel
Summary: Haskell %{pkg_name} library development files
Requires: %{name} = %{version}-%{release}
Requires: ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
%description devel
This package provides the Haskell %{pkg_name} library development
files.
%package -n ghc-%{pkg_name}-doc
Summary: Haskell %{pkg_name} library documentation
Requires: ghc-filesystem
BuildArch: noarch
%description -n ghc-%{pkg_name}-doc
This package provides the Haskell %{pkg_name} library documentation.
%package -n ghc-%{pkg_name}-prof
Summary: Haskell %{pkg_name} profiling library
Requires: ghc-%{pkg_name}-devel = %{version}-%{release}
Supplements: (ghc-%{pkg_name}-devel and ghc-prof)
%description -n ghc-%{pkg_name}-prof
This package provides the Haskell %{pkg_name} profiling library.
%prep
%autosetup -n %{pkg_name}-%{version}
cp -p %{SOURCE1} %{pkg_name}.cabal
%build
%ghc_lib_build
%install
%ghc_lib_install
%check
%cabal_test
%post devel
%ghc_pkg_recache
%postun devel
%ghc_pkg_recache
%files -f %{name}.files
%license LICENSE
%files devel -f %{name}-devel.files
%doc changelog.md
%files -n ghc-%{pkg_name}-doc -f ghc-%{pkg_name}-doc.files
%license LICENSE
%files -n ghc-%{pkg_name}-prof -f ghc-%{pkg_name}-prof.files
%changelog