Blob Blame History Raw
# generated by cabal-rpm-0.11.1
# https://fedoraproject.org/wiki/Packaging:Haskell

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

%global EdisonAPI EdisonAPI-1.3.1
%global EdisonCore EdisonCore-1.3.1.1
%global geniplatemirror geniplate-mirror-0.7.5
%global ieee754 ieee754-0.8.0
%global monadplus monadplus-1.4.2
%global murmurhash murmur-hash-0.1.0.9
%global subpkgs %{EdisonAPI} %{EdisonCore} %{geniplatemirror} %{ieee754} %{monadplus} %{murmurhash}

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

License:        MIT and BSD
Url:            https://hackage.haskell.org/package/%{name}
Source0:        https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
Source1:        https://hackage.haskell.org/package/%{EdisonCore}/%{EdisonCore}.tar.gz
Source2:        https://hackage.haskell.org/package/%{geniplatemirror}/%{geniplatemirror}.tar.gz
Source3:        https://hackage.haskell.org/package/%{ieee754}/%{ieee754}.tar.gz
Source4:        https://hackage.haskell.org/package/%{monadplus}/%{monadplus}.tar.gz
Source5:        https://hackage.haskell.org/package/%{murmurhash}/%{murmurhash}.tar.gz
Source6:        https://hackage.haskell.org/package/%{EdisonAPI}/%{EdisonAPI}.tar.gz
Source10:        agda-mode-init.el

BuildRequires:  ghc-Cabal-devel
BuildRequires:  ghc-rpm-macros-extra
# Begin cabal-rpm deps:
BuildRequires:  alex
BuildRequires:  chrpath
BuildRequires:  cpphs
#BuildRequires:  ghc-EdisonCore-devel
BuildRequires:  ghc-array-devel
BuildRequires:  ghc-binary-devel
BuildRequires:  ghc-boxes-devel
BuildRequires:  ghc-bytestring-devel
BuildRequires:  ghc-containers-devel
BuildRequires:  ghc-data-hash-devel
BuildRequires:  ghc-deepseq-devel
BuildRequires:  ghc-directory-devel
BuildRequires:  ghc-edit-distance-devel
BuildRequires:  ghc-equivalence-devel
BuildRequires:  ghc-filepath-devel
#BuildRequires:  ghc-geniplate-mirror-devel
BuildRequires:  ghc-gitrev-devel
BuildRequires:  ghc-hashable-devel
BuildRequires:  ghc-hashtables-devel
BuildRequires:  ghc-haskeline-devel
#BuildRequires:  ghc-ieee754-devel
#BuildRequires:  ghc-monadplus-devel
BuildRequires:  ghc-mtl-devel
#BuildRequires:  ghc-murmur-hash-devel
BuildRequires:  ghc-parallel-devel
BuildRequires:  ghc-pretty-devel
BuildRequires:  ghc-process-devel
BuildRequires:  ghc-regex-tdfa-devel
BuildRequires:  ghc-strict-devel
BuildRequires:  ghc-template-haskell-devel
BuildRequires:  ghc-text-devel
BuildRequires:  ghc-time-devel
BuildRequires:  ghc-transformers-compat-devel
BuildRequires:  ghc-transformers-devel
BuildRequires:  ghc-unordered-containers-devel
BuildRequires:  ghc-xhtml-devel
BuildRequires:  ghc-zlib-devel
BuildRequires:  happy
# End cabal-rpm deps
BuildRequires:  emacs(bin)
# EdisonCore needs
BuildRequires:  ghc-QuickCheck-devel
# https://bugzilla.redhat.com/show_bug.cgi?id=991929
ExcludeArch:    %{arm}

Requires:       ghc-%{name}-devel = %{version}-%{release}
# 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}
Requires:       ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): ghc-compiler = %{ghc_version}
Requires:       ghc-%{name}%{?_isa} = %{version}-%{release}
Obsoletes:      Agda < 2.3.1

%description -n ghc-%{name}-devel
This package provides the Haskell %{name} library development files.


%global main_version %{version}

%if %{defined ghclibdir}
%ghc_lib_subpackage %{EdisonAPI}
%ghc_lib_subpackage %{EdisonCore}
%ghc_lib_subpackage %{geniplatemirror}
%ghc_lib_subpackage %{ieee754}
%ghc_lib_subpackage %{monadplus}
%ghc_lib_subpackage %{murmurhash}
%endif

%global version %{main_version}


%prep
%setup -q -a1 -a2 -a3 -a4 -a5 -a6
cabal-tweak-dep-ver ieee754 '< 0.8' '< 0.9'

# tweak 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 -

%ghc_libs_build %{subpkgs}
%ghc_lib_build

# el6 macro does not add "." to load-path
%if %{defined el6}
%define _emacs_bytecompile /usr/bin/emacs -batch --no-init-file --no-site-file --eval '(progn (setq load-path (cons "." load-path)))' -f batch-byte-compile
%endif

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


%install
%ghc_libs_install %{subpkgs}
%ghc_lib_install
%ghc_fix_rpath %{pkgver}

for i in %{subpkgs} %{pkgver}; do
  LD_LIBRARY_PATH=${LD_LIBRARY_PATH}$(echo %{buildroot}%ghclibdir/$i*):
done
export LD_LIBRARY_PATH
for i in $(find %{buildroot}%{_datadir}/%{pkgver} -name "*.agda"); do
  Agda_datadir=%{buildroot}%{_datadir}/%{pkgver} %{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

mv %{buildroot}%{_defaultlicensedir}/{,ghc-}%{name}


%post -n ghc-%{name}-devel
%ghc_pkg_recache


%postun -n ghc-%{name}-devel
%ghc_pkg_recache


%files
%doc README.md
%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
%{_bindir}/agda
%{_datadir}/%{pkgver}


%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%doc CHANGELOG.md


%changelog
* 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