Blob Blame History Raw
# generated by cabal-rpm-2.0.6 --subpackage
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Haskell/

# https://gitlab.haskell.org/ghc/ghc/issues/17030 panic
%ifarch %{ix86}
%undefine with_ghc_prof
%endif

%global pkg_name Agda
%global pkgver %{pkg_name}-%{version}

%global geniplatemirror geniplate-mirror-0.7.6
%global murmurhash murmur-hash-0.1.0.9
%global subpkgs %{geniplatemirror} %{murmurhash}

Name:           %{pkg_name}
Version:        2.6.1
# can only be reset when all subpkgs bumped
Release:        29%{?dist}
Summary:        A dependently typed functional programming language and proof assistant

License:        MIT and BSD
Url:            https://hackage.haskell.org/package/%{name}
# Begin cabal-rpm sources:
Source0:        https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
Source1:        https://hackage.haskell.org/package/%{geniplatemirror}/%{geniplatemirror}.tar.gz
Source2:        https://hackage.haskell.org/package/%{murmurhash}/%{murmurhash}.tar.gz
# End cabal-rpm sources
Source10:       agda-mode-init.el

# Begin cabal-rpm deps:
BuildRequires:  ghc-Cabal-devel
BuildRequires:  ghc-rpm-macros-extra
BuildRequires:  ghc-aeson-prof
BuildRequires:  ghc-array-prof
BuildRequires:  ghc-async-prof
BuildRequires:  ghc-base-prof
BuildRequires:  ghc-binary-prof
BuildRequires:  ghc-blaze-html-prof
BuildRequires:  ghc-boxes-prof
BuildRequires:  ghc-bytestring-prof
BuildRequires:  ghc-containers-prof
BuildRequires:  ghc-data-hash-prof
BuildRequires:  ghc-deepseq-prof
BuildRequires:  ghc-directory-prof
BuildRequires:  ghc-edit-distance-prof
BuildRequires:  ghc-equivalence-prof
BuildRequires:  ghc-exceptions-prof
BuildRequires:  ghc-filepath-prof
#BuildRequires:  ghc-geniplate-mirror-prof
BuildRequires:  ghc-ghc-compact-prof
BuildRequires:  ghc-gitrev-prof
BuildRequires:  ghc-hashable-prof
BuildRequires:  ghc-hashtables-prof
BuildRequires:  ghc-haskeline-prof
BuildRequires:  ghc-ieee754-prof
BuildRequires:  ghc-mtl-prof
#BuildRequires:  ghc-murmur-hash-prof
BuildRequires:  ghc-pretty-prof
BuildRequires:  ghc-process-prof
BuildRequires:  ghc-regex-tdfa-prof
BuildRequires:  ghc-split-prof
BuildRequires:  ghc-stm-prof
BuildRequires:  ghc-strict-prof
BuildRequires:  ghc-template-haskell-prof
BuildRequires:  ghc-text-prof
BuildRequires:  ghc-time-prof
BuildRequires:  ghc-transformers-prof
BuildRequires:  ghc-unordered-containers-prof
BuildRequires:  ghc-uri-encode-prof
BuildRequires:  ghc-zlib-prof
BuildRequires:  alex
BuildRequires:  happy
Obsoletes:      %{name}-common < %{version}-%{release}
# End cabal-rpm deps
BuildRequires:  emacs(bin)

# introduced for F23
Obsoletes:      emacs-agda-el < 2.4.2.2-5
Provides:       emacs-agda = %{version}-%{release}

%description
Agda is a dependently typed functional programming language: it has
inductive families, which are similar to Haskell's GADTs, but they can
be indexed by values and not just types. It also has parameterized
modules, mixfix operators, Unicode characters, and an interactive
Emacs interface (the type checker can assist in the development of your code).

Agda is also a proof assistant: It is an interactive system for writing and
checking proofs. Agda is based on intuitionistic type theory,
a foundational system for constructive mathematics developed by
the Swedish logician Per Martin-Löf. It has many similarities with other
proof assistants based on dependent types, such as Coq, Epigram and NuPRL.


%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

%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


%global main_version %{version}

%if %{defined ghclibdir}
%ghc_lib_subpackage %{geniplatemirror}
%ghc_lib_subpackage %{murmurhash}
%endif

%global version %{main_version}


%prep
# Begin cabal-rpm setup:
%setup -q -a1 -a2
# End cabal-rpm setup
(
cd %{geniplatemirror}
cabal-tweak-dep-ver template-haskell '< 2.14' '< 3'
)
# check the Agda version in the emacs mode
if ! grep -q \"%{version}\" src/data/emacs-mode/agda2-mode.el; then
  echo "agda2-version in src/data/emacs-mode/agda2-mode.el out of sync!"
  exit 1
fi


%build
%define elisp_files eri.el agda-input.el annotation.el agda2-highlight.el agda2-abbrevs.el agda2-queue.el agda2-mode.el agda2-mode-pkg.el agda2.el

# check no missing new elisp files
cd src/data/emacs-mode
for i in *.el; do
  if ! echo %{elisp_files} | grep -q $i; then
     echo "$i missing from %%elisp_files - aborting!"
     exit 1
  fi
done
cd -

# Begin cabal-rpm build:
%ghc_libs_build %{subpkgs}
%ifarch armv7hl
%define cabal_configure_options --ghc-options="-O0"
%endif
%ghc_lib_build
# End cabal-rpm build

cd src/data/emacs-mode
for i in %elisp_files; do
  %{_emacs_bytecompile} $i
done
cd -


%install
# Begin cabal-rpm install
%ghc_libs_install %{subpkgs}
%ghc_lib_install
%ghc_fix_rpath %{pkgver}
# End cabal-rpm install

for i in $(find %{buildroot}%{_datadir}/%{pkgver} -name "*.agda"); do
  Agda_datadir=%{buildroot}%{_datadir}/%{pkgver} LD_LIBRARY_PATH=%{buildroot}%{_ghcdynlibdir} %{buildroot}%{_bindir}/agda $i
done

mkdir -p %{buildroot}%{_emacs_sitelispdir}/agda
for i in src/data/emacs-mode/*; do
  install -p -m 0644 $i %{buildroot}%{_emacs_sitelispdir}/agda
done

mkdir -p %{buildroot}%{_emacs_sitestartdir}
install -p -m 0644 %SOURCE10 %{buildroot}%{_emacs_sitestartdir}

rm %{buildroot}%{_bindir}/agda-mode
rm -r %{buildroot}%{_datadir}/%{pkgver}/emacs-mode


%files
%license LICENSE
%doc CHANGELOG.md README.md
%{_bindir}/agda
%{_datadir}/%{pkgver}
# Begin cabal-rpm files:
%dir %{_emacs_sitelispdir}/agda
%{_emacs_sitelispdir}/agda/*.el
%{_emacs_sitelispdir}/agda/*.elc
%{_emacs_sitestartdir}/*.el


%files -n ghc-%{name} -f ghc-%{name}.files
%license LICENSE


%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files


%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
* Sun Oct 11 2020 Jeff Law <aw@redhat.com> - 2.6.1-29
- Re-enable LTO

* Tue Sep  1 2020 Jens Petersen <petersen@redhat.com> - 2.6.1-28
- uri-encode has been packaged

* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-27
- Second attempt - Rebuilt for
  https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 27 2020 Jeff Law <aw@redhat.com> - 2.6.1-26
- Disable LTO on s390

* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.1-25
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 20 2020 Jens Petersen <petersen@redhat.com> - 2.6.1-24
- enable armv7hl with -O0

* Sun Jun 07 2020 Jens Petersen <petersen@redhat.com> - 2.6.1-23
- update to 2.6.1
- drop EdisonCore and EdisonAPI deps

* Wed May 27 2020 Jens Petersen <petersen@redhat.com> - 2.6.0.1-22
- move statically linked /usr/bin/agda and datadir into base package
- also drop common subpackage

* Thu Feb 20 2020 Jens Petersen <petersen@redhat.com> - 2.6.0.1-21
- refresh to cabal-rpm-2.0.2

* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.6.0.1-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Jens Petersen <petersen@redhat.com> - 2.6.0.1-19
- update to 2.6.0.1
- disable prof for i686

* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.4.2-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Thu Feb 21 2019 Jens Petersen <petersen@redhat.com> - 2.5.4.2-17
- update to 2.5.4.2

* Sun Feb 17 2019 Jens Petersen <petersen@redhat.com> - 2.5.3-16
- refresh to cabal-rpm-0.13

* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.3-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Thu Jul 19 2018 Jens Petersen <petersen@redhat.com> - 2.5.3-14
- update to EdisonCore-1.3.2.1 and geniplate-mirror-0.7.6
- revise .cabal file

* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.3-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.3-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Tue Jan 02 2018 Jens Petersen <petersen@redhat.com> - 2.5.3-11
- update to 2.5.3
- add uri-encode subpackage

* Tue Dec 26 2017 Jens Petersen <petersen@redhat.com> - 2.5.2-10
- ieee754 is now a separate package

* Wed Nov 15 2017 Jens Petersen <petersen@redhat.com> - 2.5.2-9
- gitrev is now packaged in Fedora

* Fri Nov 10 2017 Jens Petersen <petersen@redhat.com> - 2.5.2-8
- geniplate-mirror-0.7.5
- gitrev-1.3.1 (#1511680)

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.2-7.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.2-6.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Sun Mar 12 2017 Jens Petersen <petersen@redhat.com> - 2.5.2-5
- compile .agda files at buildtime

* Fri Mar 10 2017 Jens Petersen <petersen@redhat.com> - 2.5.2-4
- update to 2.5.2
- subpackage EdisonAPI, EdisonCore, gitrev, ieee754, monadplus, murmur-hash

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Feb  9 2017 Jens Petersen <petersen@redhat.com> - 2.4.2.5-2
- build subpackage inside main package

* Thu Oct  6 2016 Jens Petersen <petersen@redhat.com> - 2.4.2.5-1
- update to 2.4.2.5
- subpackage new dep geniplate-mirror

* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.2.2-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Wed Jul 22 2015 Jens Petersen <petersen@redhat.com> - 2.4.2.2-5
- drop emacs subpackages (#1234569)

* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.4.2.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Fri Apr 17 2015 Jens Petersen <petersen@redhat.com> - 2.4.2.2-3
- move agda from ghc-Agda-devel to ghc-Agda

* Thu Apr 16 2015 Jens Petersen <petersen@redhat.com> - 2.4.2.2-2
- compile Primitive.agda at install time

* Fri Apr 03 2015 Jens Petersen <petersen@redhat.com> - 2.4.2.2-1
- update to 2.4.2.2

* Fri Feb  6 2015 Jens Petersen <petersen@redhat.com> - 2.4.2-1
- update to 2.4.2
- needs new deps: STMonadTrans, boxes, data-hash, equivalence,
  and QuickCheck 2.7.5+
- cblrpm refresh

* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Fri Jun 06 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Tue Apr 22 2014 Jens Petersen <petersen@redhat.com> - 2.3.2.2-3
- no _pkgdocdir in EL7

* Wed Jan 22 2014 Jens Petersen <petersen@redhat.com> - 2.3.2.2-2
- exclude secondary arch's without template-haskell (#1038068)

* Thu Oct 31 2013 Jens Petersen <petersen@redhat.com> - 2.3.2.2-1
- update to 2.3.2.2

* Mon Sep  2 2013 Jens Petersen <petersen@redhat.com> - 2.3.2.1-5
- drop defattr's

* Thu Aug 29 2013 Jens Petersen <petersen@redhat.com> - 2.3.2.1-4
- emacs agda-mode no longer depends on haskell-mode since 2.3.2

* Thu Aug 29 2013 Jens Petersen <petersen@redhat.com> - 2.3.2.1-3
- compile agda2-queue.el
- check for new elisp files
- exclude armv7hl since TemplateHaskell failing to compile (#991929)

* Tue Aug 27 2013 Jens Petersen <petersen@redhat.com>
- replace ghc_docdir by _pkgdocdir

* Fri Aug 02 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.2.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Fri Jul 26 2013 Jens Petersen <petersen@redhat.com>
- use ghc_docdir

* Tue Jun 11 2013 Jens Petersen <petersen@redhat.com> - 2.3.2.1-1
- rename src package from ghc-Agda to Agda
- update to 2.3.2.1
  http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.Version-2-3-2
  http://wiki.portal.chalmers.se/agda/pmwiki.php?n=Main.Version-2-3-2-1
- update to new simplified Haskell Packaging Guidelines
- agda command-line tool in devel subpackage

* Fri Jun 07 2013 Jens Petersen <petersen@redhat.com>
- update to new simplified Haskell Packaging Guidelines

* Mon Mar 25 2013 Jens Petersen <petersen@redhat.com> - 2.3.0.1-12
- rebuild

* Tue Mar 19 2013 Jens Petersen <petersen@redhat.com> - 2.3.0.1-11
- allow haskeline-0.7

* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Wed Dec 12 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-9
- update QuickCheck-2.5 patch following upstream 2.3.2
- for epel6 redefine newer _emacs_bytecompile
- own datadir correctly

* Fri Nov  9 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-8
- build with QuickCheck 2.5

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.0.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Mon Jul 16 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-6
- change prof BRs to devel

* Wed Jul 11 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-5
- fix agda2-version in agda2-mode.el

* Thu Jun 21 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-4
- upstream patch for building with haskell-src-exts-1.13
- use new cabal-tweak-dep-ver script to change mtl and haskell-src-exts bounds

* Mon Jun 11 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-3
- allow building with mtl-2.1

* Thu May 31 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-2
- library license is also BSD (#710031)
- move release notes to devel subpackage

* Tue Apr 10 2012 Jens Petersen <petersen@redhat.com> - 2.3.0.1-1
- update to 2.3.0.1 for ghc-7.4.1

* Tue Feb 14 2012 Jens Petersen <petersen@redhat.com> - 2.3.0-1
- update to 2.3.0
- update to cabal2spec-0.25
- new depends on hashtables

* Fri Jun  3 2011 Jens Petersen <petersen@redhat.com> - 2.2.10-2
- also BR alex, happy, and emacs-haskell-mode

* Thu Jun  2 2011 Jens Petersen <petersen@redhat.com> - 2.2.10-1
- MIT license
- add deps and description
- emacs mode subpackages

* Thu Jun  2 2011 Fedora Haskell SIG <haskell-devel@lists.fedoraproject.org> - 2.2.10-0
- initial packaging for Fedora automatically generated by cabal2spec-0.23