add: ghc-HCodecs (#13214) (#13221)

(cherry picked from commit c86b2a81c2)

Signed-off-by: Owen-sz <owen@fyralabs.com>
Co-authored-by: Owen Zimmerman <123591347+Owen-sz@users.noreply.github.com>
This commit is contained in:
Raboneko
2026-06-21 05:03:12 -05:00
committed by GitHub
parent e105732002
commit 1adcdabbf6
3 changed files with 134 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "ghc-HCodecs.spec"
}
}
@@ -0,0 +1,128 @@
# generated by cabal-rpm-2.3.2
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/
%global pkg_name HCodecs
%global pkgver %{pkg_name}-%{version}
%{?haskell_setup}
# testsuite missing deps: QuickCheck fail random semigroups
Name: ghc-%{pkg_name}
Version: 0.5.2
Release: 1%{?dist}
Summary: A library to read, write and manipulate MIDI, WAVE, and SoundFont2 files
License: BSD-3-Clause
URL: https://hackage.haskell.org/package/HCodecs
# Begin cabal-rpm sources:
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
# End cabal-rpm sources
# Begin cabal-rpm deps:
BuildRequires: ghc-rpm-macros
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-QuickCheck-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-base-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-fail-devel
BuildRequires: ghc-random-devel
BuildRequires: ghc-semigroups-devel
%if %{with ghc_prof}
BuildRequires: ghc-QuickCheck-prof
BuildRequires: ghc-array-prof
BuildRequires: ghc-base-prof
BuildRequires: ghc-bytestring-prof
BuildRequires: ghc-random-prof
BuildRequires: ghc-semigroups-prof
%endif
# End cabal-rpm deps
Packager: Owen Zimmerman <owen@fyralabs.com>
%description
The library provides functions to read, write and manipulate MIDI, WAVE and
SoundFont2 multimedia files. It is written entirely in Haskell (without any
FFI). It uses efficient parsing and building combinators for binary data stored
in ByteStrings (based on the one in 'binary' package).
Correctness of significant parts of the library has been validated with
QuickCheck and Haskell Program Coverage (HPC) tool-kits.
%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}
# 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
* Sun Jun 21 2026 Owen Zimmerman <owen@fyralabs.com> - 0.5.2-1
- Inital commit
@@ -0,0 +1 @@
rpm.version(hackage("HCodecs"));