# generated by cabal-rpm-2.1.5 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name bitwise %global pkgver %{pkg_name}-%{version} # testsuite missing deps: QuickCheck Name: ghc-%{pkg_name} Version: 1.0.0.1 Release: 1%{?dist} Summary: Fast multi-dimensional unboxed bit packed Bool arrays 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/%{pkgver}/%{pkg_name}.cabal#/%{pkgver}.cabal # End cabal-rpm sources # Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-array-devel BuildRequires: ghc-base-devel BuildRequires: ghc-bytestring-devel %if %{with ghc_prof} BuildRequires: ghc-array-prof BuildRequires: ghc-base-prof BuildRequires: ghc-bytestring-prof %endif # End cabal-rpm deps %description Unboxed multidimensional bit packed Bool arrays with fast aggregate operations based on lifting Bool operations to bitwise operations. There are many other bit packed structures out there, but none met all of these requirements: (1) unboxed bit packed Bool array, (2) multi-dimensional indexing, (3) fast (de)serialization, or interoperable with foreign code, (4) fast aggregate operations (fold, map, zip). Quick tour of the bitwise library: [Data.Bits.Bitwise] Lift boolean operations on 'Bool' to bitwise operations on 'Data.Bits.Bits'. [Data.Array.BitArray] Immutable bit arrays. [Data.Array.BitArray.ST] Mutable bit arrays in 'Control.Monad.ST.ST'. [Data.Array.BitArray.IO] Mutable bit arrays in 'IO'. [Data.Array.BitArray.ByteString] (De)serialization. [Codec.Image.PBM] Portable bitmap monochrome 2D image format. Very rough performance benchmarks: * immutable random access single bit reads: 'BitArray ix' is about 40% slower than 'UArray ix Bool', * 'Control.Monad.ST.ST' mutable random access single bit reads: 'STBitArray s ix' is about the same as 'STUArray s ix Bool', * immutable map 'Bool -> Bool': 'BitArray ix' is about 85x faster than 'UArray ix Bool', * immutable zipWith 'Bool -> Bool -> Bool': 'BitArray ix' is about 1300x faster than 'UArray ix Bool'. %package devel Summary: Haskell %{pkg_name} library development files Provides: %{name}-static = %{version}-%{release} Provides: %{name}-static%{?_isa} = %{version}-%{release} %if %{defined ghc_version} Requires: ghc-compiler = %{ghc_version} %endif Requires: %{name}%{?_isa} = %{version}-%{release} %description devel This package provides the Haskell %{pkg_name} library development files. %if %{with haddock} %package doc Summary: Haskell %{pkg_name} library documentation BuildArch: noarch Requires: ghc-filesystem %description doc This package provides the Haskell %{pkg_name} library documentation. %endif %if %{with ghc_prof} %package prof Summary: Haskell %{pkg_name} profiling library Requires: %{name}-devel%{?_isa} = %{version}-%{release} Supplements: (%{name}-devel and ghc-prof) %description prof This package provides the Haskell %{pkg_name} profiling library. %endif %prep # Begin cabal-rpm setup: %setup -q -n %{pkgver} cp -bp %{SOURCE1} %{pkg_name}.cabal # End cabal-rpm setup %build # Begin cabal-rpm build: %ghc_lib_build # End cabal-rpm build %install # Begin cabal-rpm install %ghc_lib_install # End cabal-rpm install %files -f %{name}.files # Begin cabal-rpm files: %license LICENSE # End cabal-rpm files %files devel -f %{name}-devel.files %if %{with haddock} %files doc -f %{name}-doc.files %license LICENSE %endif %if %{with ghc_prof} %files prof -f %{name}-prof.files %endif %changelog * Mon Feb 5 2024 Frank Dedden - 1.0.0.1-1 - spec file generated by cabal-rpm-2.1.5