# generated by cabal-rpm-2.3.0 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ %global pkg_name kmonad %global pkgver %{pkg_name}-%{version} %{?haskell_setup} %bcond tests 1 Name: %{pkg_name} Version: 0.4.4 Release: 1%{?dist} Summary: Advanced keyboard remapping utility License: MIT URL: https://hackage.haskell.org/package/kmonad # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz # End cabal-rpm sources #systemd unit Source1: https://raw.githubusercontent.com/kmonad/kmonad/refs/heads/master/startup/kmonad@.service # Begin cabal-rpm deps: BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-base-devel BuildRequires: ghc-cereal-devel BuildRequires: ghc-lens-devel BuildRequires: ghc-megaparsec-devel BuildRequires: ghc-mtl-devel BuildRequires: ghc-optparse-applicative-devel BuildRequires: ghc-resourcet-devel BuildRequires: ghc-rio-devel BuildRequires: ghc-template-haskell-devel BuildRequires: ghc-time-devel BuildRequires: ghc-transformers-devel BuildRequires: ghc-unix-devel BuildRequires: ghc-unliftio-devel %if %{with ghc_prof} BuildRequires: ghc-base-prof BuildRequires: ghc-cereal-prof BuildRequires: ghc-lens-prof BuildRequires: ghc-megaparsec-prof BuildRequires: ghc-mtl-prof BuildRequires: ghc-optparse-applicative-prof BuildRequires: ghc-resourcet-prof BuildRequires: ghc-rio-prof BuildRequires: ghc-template-haskell-prof BuildRequires: ghc-time-prof BuildRequires: ghc-transformers-prof BuildRequires: ghc-unix-prof BuildRequires: ghc-unliftio-prof %endif %if %{with tests} BuildRequires: ghc-hspec-devel BuildRequires: ghc-hspec-discover-devel %endif BuildRequires: help2man # End cabal-rpm deps %description KMonad is a cross-platform command-line utility that runs as a daemon. It captures keyboard input (exactly how depends on the OS) and remaps it. The mapping is highly configurable, and provides options like (transparent) layer overlays, tap-mod buttons, multi-tap buttons, leader-key style buttons, and keyboard macros. Functionality heavily inspired by the QMK-firmware. %package -n ghc-%{name} Summary: Haskell %{name} library %description -n ghc-%{name} This package provides the Haskell %{name} shared library. %package -n ghc-%{name}-devel Summary: Haskell %{name} library development files Provides: ghc-%{name}-static = %{version}-%{release} Provides: ghc-%{name}-static%{?_isa} = %{version}-%{release} %if %{defined ghc_version} Requires: ghc-compiler = %{ghc_version} %endif Requires: ghc-%{name}%{?_isa} = %{version}-%{release} %description -n ghc-%{name}-devel This package provides the Haskell %{name} library development files. %if %{with haddock} %package -n ghc-%{name}-doc Summary: Haskell %{name} library documentation BuildArch: noarch Requires: ghc-filesystem %description -n ghc-%{name}-doc This package provides the Haskell %{name} library documentation. %endif %if %{with ghc_prof} %package -n ghc-%{name}-prof Summary: Haskell %{name} profiling library Requires: ghc-%{name}-devel%{?_isa} = %{version}-%{release} Supplements: (ghc-%{name}-devel and ghc-prof) %description -n ghc-%{name}-prof This package provides the Haskell %{name} profiling library. %endif %prep # Begin cabal-rpm setup: %setup -q # End cabal-rpm setup %build # Begin cabal-rpm build: %ghc_lib_build # End cabal-rpm build %install # Begin cabal-rpm install %ghc_lib_install set noclobber mkdir -p %{buildroot}%{bash_completions_dir} %{buildroot}%{_bindir}/%{name} --bash-completion-script %{name} | sed s/filenames/default/ > %{buildroot}%{bash_completions_dir}/%{name} mkdir -p %{buildroot}%{_mandir}/man1/ help2man --no-info %{buildroot}%{_bindir}/%{name} > %{buildroot}%{_mandir}/man1/%{name}.1 # End cabal-rpm install cp %{S:1} %{buildroot}/%{_unitdir} %check %if %{with tests} PATH=%{buildroot}%{_bindir}:$PATH %cabal_test %endif %files # Begin cabal-rpm files: %license LICENSE %doc changelog.md %{_bindir}/%{name} %{bash_completions_dir}/%{name} %{_mandir}/man1/%{name}.1* # End cabal-rpm files %{_unitdir}/kmonad@.service %doc keymap/tutorial.kbd %doc doc/quick-reference.md %files -n ghc-%{name} -f ghc-%{name}.files # Begin cabal-rpm files: %license LICENSE # End cabal-rpm files %files -n ghc-%{name}-devel -f ghc-%{name}-devel.files %doc changelog.md %if %{with haddock} %files -n ghc-%{name}-doc -f ghc-%{name}-doc.files %license LICENSE %endif %if %{with ghc_prof} %files -n ghc-%{name}-prof -f ghc-%{name}-prof.files %endif %changelog * Tue Feb 10 2026 solomocyj - 0.4.4-1 - spec file generated by cabal-rpm-2.3.0