From 65c06dbd800e2e92ef1c671dd7cc8e5497fa30d4 Mon Sep 17 00:00:00 2001 From: Jens Petersen Date: Mon, 24 Jul 2023 00:16:14 +0800 Subject: [PATCH] drop data-array-byte no longer needed with ghc-9.4 --- ghc-hashable.spec | 40 +++------ hashable-1.4.2.0.cabal | 185 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 196 insertions(+), 29 deletions(-) create mode 100644 hashable-1.4.2.0.cabal diff --git a/ghc-hashable.spec b/ghc-hashable.spec index 8ecb0e4..caa7b80 100644 --- a/ghc-hashable.spec +++ b/ghc-hashable.spec @@ -1,53 +1,42 @@ -# generated by cabal-rpm-2.1.0 --subpackage +# generated by cabal-rpm-2.1.2 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name hashable %global pkgver %{pkg_name}-%{version} -%global dataarraybyte data-array-byte-0.1.0.1 -%global subpkgs %{dataarraybyte} - # testsuite missing deps: test-framework test-framework-hunit test-framework-quickcheck2 Name: ghc-%{pkg_name} Version: 1.4.2.0 -# can only be reset when all subpkgs bumped -Release: 2%{?dist} +Release: 3%{?dist} Summary: A class for types that can be converted to a hash value License: BSD-3-Clause Url: https://hackage.haskell.org/package/%{pkg_name} # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz -Source1: https://hackage.haskell.org/package/%{dataarraybyte}/%{dataarraybyte}.tar.gz +Source1: https://hackage.haskell.org/package/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal # End cabal-rpm sources # Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel -BuildRequires: ghc-rpm-macros-extra +BuildRequires: ghc-rpm-macros BuildRequires: ghc-base-devel BuildRequires: ghc-bytestring-devel BuildRequires: ghc-containers-devel -#BuildRequires: ghc-data-array-byte-devel BuildRequires: ghc-deepseq-devel BuildRequires: ghc-filepath-devel -#BuildRequires: ghc-ghc-bignum-devel +BuildRequires: ghc-ghc-bignum-devel BuildRequires: ghc-text-devel %if %{with ghc_prof} BuildRequires: ghc-base-prof BuildRequires: ghc-bytestring-prof BuildRequires: ghc-containers-prof -#BuildRequires: ghc-data-array-byte-prof BuildRequires: ghc-deepseq-prof BuildRequires: ghc-filepath-prof -#BuildRequires: ghc-ghc-bignum-prof +BuildRequires: ghc-ghc-bignum-prof BuildRequires: ghc-text-prof %endif -# for missing dep 'data-array-byte': -BuildRequires: ghc-template-haskell-devel -%if %{with ghc_prof} -BuildRequires: ghc-template-haskell-prof -%endif # End cabal-rpm deps %description @@ -92,31 +81,21 @@ This package provides the Haskell %{pkg_name} profiling library. %endif -%global main_version %{version} - -%if %{defined ghclibdir} -%ghc_lib_subpackage -l BSD-3-Clause %{dataarraybyte} -%endif - -%global version %{main_version} - - %prep # Begin cabal-rpm setup: -%setup -q -n %{pkgver} -a1 +%setup -q -n %{pkgver} +cp -bp %{SOURCE1} %{pkg_name}.cabal # End cabal-rpm setup %build # Begin cabal-rpm build: -%ghc_libs_build %{subpkgs} %ghc_lib_build # End cabal-rpm build %install # Begin cabal-rpm install -%ghc_libs_install %{subpkgs} %ghc_lib_install # End cabal-rpm install @@ -143,6 +122,9 @@ This package provides the Haskell %{pkg_name} profiling library. %changelog +* Tue Jul 25 2023 Jens Petersen - 1.4.2.0-3 +- drop data-array-byte + * Wed Jul 19 2023 Fedora Release Engineering - 1.4.2.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/hashable-1.4.2.0.cabal b/hashable-1.4.2.0.cabal new file mode 100644 index 0000000..f6d20b0 --- /dev/null +++ b/hashable-1.4.2.0.cabal @@ -0,0 +1,185 @@ +cabal-version: 1.12 +name: hashable +version: 1.4.2.0 +x-revision: 1 +synopsis: A class for types that can be converted to a hash value +description: + This package defines a class, 'Hashable', for types that + can be converted to a hash value. This class + exists for the benefit of hashing-based data + structures. The package provides instances for + basic types and a way to combine hash values. + +homepage: http://github.com/haskell-unordered-containers/hashable + +-- SPDX-License-Identifier : BSD-3-Clause +license: BSD3 +license-file: LICENSE +author: + Milan Straka + Johan Tibell + +maintainer: Oleg Grenrus +bug-reports: + https://github.com/haskell-unordered-containers/hashable/issues + +stability: Provisional +category: Data +build-type: Simple +tested-with: + GHC ==8.2.2 + || ==8.4.4 + || ==8.6.5 + || ==8.8.3 + || ==8.10.4 + || ==8.10.7 + || ==9.0.1 + || ==9.0.2 + || ==9.2.5 + || ==9.4.4 + || ==9.6.1 + +extra-source-files: + CHANGES.md + include/HsHashable.h + README.md + +flag integer-gmp + description: + Are we using @integer-gmp@ to provide fast Integer instances? No effect on GHC-9.0 or later. + + manual: False + default: True + +flag random-initial-seed + description: + Randomly initialize the initial seed on each final executable invocation + This is useful for catching cases when you rely on (non-existent) + stability of hashable's hash functions. + This is not a security feature. + + manual: True + default: False + +library + exposed-modules: + Data.Hashable + Data.Hashable.Generic + Data.Hashable.Lifted + + other-modules: + Data.Hashable.Class + Data.Hashable.Generic.Instances + Data.Hashable.Imports + Data.Hashable.LowLevel + + c-sources: cbits/fnv.c + include-dirs: include + hs-source-dirs: src + build-depends: + base >=4.10.1.0 && <4.19 + , bytestring >=0.10.8.2 && <0.12 + , containers >=0.5.10.2 && <0.7 + , deepseq >=1.4.3.0 && <1.5 + , filepath >=1.4.1.2 && <1.5 + , ghc-prim + , text >=1.2.3.0 && <1.3 || >=2.0 && <2.1 + + if !impl(ghc >=9.2) + build-depends: base-orphans >=0.8.6 && <0.10 + + if !impl(ghc >=9.4) + build-depends: data-array-byte >=0.1.0.1 && <0.2 + + -- Integer internals + if impl(ghc >=9) + build-depends: ghc-bignum >=1.0 && <1.4 + + if !impl(ghc >=9.0.2) + build-depends: ghc-bignum-orphans >=0.1 && <0.2 + + else + if flag(integer-gmp) + build-depends: integer-gmp >=0.4 && <1.1 + + else + -- this is needed for the automatic flag to be well-balanced + build-depends: integer-simple + + if (flag(random-initial-seed) && impl(ghc)) + cpp-options: -DHASHABLE_RANDOM_SEED=1 + + if os(windows) + c-sources: cbits-win/init.c + + else + c-sources: cbits-unix/init.c + + default-language: Haskell2010 + other-extensions: + BangPatterns + CPP + DeriveDataTypeable + FlexibleContexts + FlexibleInstances + GADTs + KindSignatures + MagicHash + MultiParamTypeClasses + ScopedTypeVariables + Trustworthy + TypeOperators + UnliftedFFITypes + + ghc-options: -Wall -fwarn-tabs + + if impl(ghc >=9.0) + -- these flags may abort compilation with GHC-8.10 + -- https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3295 + ghc-options: -Winferred-safe-imports -Wmissing-safe-haskell-mode + +test-suite hashable-tests + type: exitcode-stdio-1.0 + hs-source-dirs: tests + main-is: Main.hs + other-modules: + Properties + Regress + + build-depends: + base + , bytestring + , ghc-prim + , hashable + , HUnit + , QuickCheck >=2.4.0.1 + , random >=1.0 && <1.3 + , test-framework >=0.3.3 + , test-framework-hunit + , test-framework-quickcheck2 >=0.2.9 + , text >=0.11.0.5 + + if !os(windows) + build-depends: unix + cpp-options: -DHAVE_MMAP + other-modules: Regress.Mmap + other-extensions: CApiFFI + + ghc-options: -Wall -fno-warn-orphans + default-language: Haskell2010 + +test-suite hashable-examples + type: exitcode-stdio-1.0 + build-depends: + base + , ghc-prim + , hashable + + hs-source-dirs: examples + main-is: Main.hs + default-language: Haskell2010 + +source-repository head + type: git + location: + https://github.com/haskell-unordered-containers/hashable.git