%global _trivial .0 %global _buildid .1 # generated by cabal-rpm-2.2.1 # https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/ # failing (also in stackage) %bcond_with tests Name: happy Version: 1.20.1.1 Release: 1%{dist}%{?_trivial}%{?_buildid} Summary: Parser Generator for Haskell License: BSD-2-Clause Url: https://hackage.haskell.org/package/%{name} # Begin cabal-rpm sources: Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz # End cabal-rpm sources ExclusiveArch: aarch64 x86_64 %if %{?amzn} == 2023 BuildRequires: gcc14 BuildRequires: gcc14-c++ %global toolchain gcc14 %else BuildRequires: gcc BuildRequires: gcc-c++ %endif # Begin cabal-rpm deps: BuildRequires: ghc BuildRequires: ghc-rpm-macros BuildRequires: autoconf BuildRequires: docbook-dtds BuildRequires: docbook-style-xsl BuildRequires: libxml2 BuildRequires: libxslt BuildRequires: make BuildRequires: gmp-devel BuildRequires: zlib-devel BuildRequires: libffi-devel %description Happy is a parser generator for Haskell. Given a grammar specification in BNF, Happy generates Haskell code to parse the grammar. Happy works in a similar way to the 'yacc' tool for C. %prep # Begin cabal-rpm setup: %setup -q # End cabal-rpm setup %if %{with bootstrap} mkdir -p %{_builddir}/usr/local/ghc/bin %ifarch aarch64 tar xf %{SOURCE1} pushd ghc-%{ghc_bootstrap_version}-%{_arch}-unknown-linux ./configure --prefix=%{_builddir}/usr/local/ghc make install tar xf %{SOURCE3} cp cabal %{_builddir}/usr/local/ghc/bin/ popd %endif %ifarch x86_64 tar xf %{SOURCE2} pushd ghc-%{ghc_bootstrap_version}-%{_arch}-unknown-linux ./configure --prefix=%{_builddir}/usr/local/ghc make install tar xf %{SOURCE4} cp cabal %{_builddir}/usr/local/ghc/bin/ popd %endif %endif %build %if %{with bootstrap} export PATH=%{_builddir}/usr/local/ghc/bin:$PATH ghc --version cabal --version %endif # Begin cabal-rpm build: %ghc_bin_build # End cabal-rpm build cd doc autoreconf ./configure make html cd .. %install # Begin cabal-rpm install %ghc_bin_install # End cabal-rpm install %check %if %{with bootstrap} export PATH=%{_builddir}/usr/local/ghc/bin:$PATH ghc --version cabal --version %endif %if %{with tests} PATH=%{buildroot}%{_bindir}:$PATH %cabal_test %endif %files # Begin cabal-rpm files: %license LICENSE %doc ChangeLog.md examples %{_bindir}/%{name} %{_datadir}/%{name}-%{version} # End cabal-rpm files %doc doc/happy %{_datadir}/%{name}-%{version} %changelog