## START: Set by rpmautospec ## (rpmautospec version 0.8.1) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 12; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # generated by cabal-rpm-2.3.0 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name bitwise %global pkgver %{pkg_name}-%{version} %{?haskell_setup} %bcond tests 1 Name: ghc-%{pkg_name} Version: 1.0.0.1 Release: %autorelease Summary: Fast multi-dimensional unboxed bit packed Bool arrays License: BSD-3-Clause URL: https://hackage.haskell.org/package/bitwise # 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 %if %{with tests} BuildRequires: ghc-QuickCheck-devel %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 %check %if %{with tests} %cabal_test %endif %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 ## START: Generated by rpmautospec * Wed Jul 23 2025 Fedora Release Engineering - 1.0.0.1-12 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild * Mon Apr 07 2025 Jens Petersen - 1.0.0.1-11 - Rebuild * Mon Feb 24 2025 Jens Petersen - 1.0.0.1-10 - refresh .cabal revision * Sun Feb 23 2025 Jens Petersen - 1.0.0.1-9 - cabal-rpm-2.3.0 * Thu Jan 16 2025 Fedora Release Engineering - 1.0.0.1-8 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Tue Sep 24 2024 Frank Dedden - 1.0.0.1-7 - Fix missing entry in `.gitignore` files. * Mon Aug 05 2024 Jens Petersen - 1.0.0.1-6 - bump release * Thu Jul 18 2024 Fedora Release Engineering - 1.0.0.1-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Mon Jun 17 2024 Frank Dedden - 1.0.0.1-1 - spec file generated by cabal-rpm-2.2.0 ## END: Generated by rpmautospec