Agda/Agda.spec

311 lines
10 KiB
RPMSpec

# https://fedoraproject.org/wiki/Packaging:Haskell
%global pkg_name Agda
Name: %{pkg_name}
Version: 2.4.2.2
Release: 5%{?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/%{name}-%{version}/%{name}-%{version}.tar.gz
Source1: agda-mode-init.el
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
# Begin cabal-rpm deps:
BuildRequires: alex
BuildRequires: chrpath
BuildRequires: cpphs
BuildRequires: ghc-QuickCheck-devel >= 2.7.5
BuildRequires: ghc-STMonadTrans-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-equivalence-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-geniplate-devel
BuildRequires: ghc-hashable-devel
BuildRequires: ghc-hashtables-devel
BuildRequires: ghc-haskeline-devel
BuildRequires: ghc-haskell-src-exts-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-parallel-devel
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-process-devel
BuildRequires: ghc-strict-devel
BuildRequires: ghc-template-haskell-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-time-devel
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-unordered-containers-devel
BuildRequires: ghc-xhtml-devel
BuildRequires: ghc-zlib-devel
BuildRequires: happy
ExclusiveArch: %{ghc_arches_with_ghci}
# End cabal-rpm deps
BuildRequires: emacs(bin)
# geniplate uses template-haskell
ExclusiveArch: %{ghc_arches_with_ghci}
# bug 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.
%prep
%setup -q
# 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.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 -
# cpphs: src/full/Agda/Interaction/BasicOps.hs: hGetContents: invalid argument (invalid byte sequence)
LANG=en_US.utf8
%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_lib_install
%ghc_fix_dynamic_rpath agda
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 %SOURCE1 %{buildroot}%{_emacs_sitestartdir}
rm %{buildroot}%{_bindir}/agda-mode
rm -r %{buildroot}%{_datadir}/%{pkg_name}-%{version}/EpicInclude
rm -r %{buildroot}%{_datadir}/%{pkg_name}-%{version}/emacs-mode
rm %{buildroot}%{_docdir}/%{name}*/LICENSE
%post -n ghc-%{name}
%{_bindir}/agda %{_datadir}/%{name}-%{version}/lib/prim/Agda/Primitive.agda || :
%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
%doc LICENSE
%{_bindir}/agda
%{_datadir}/%{name}-%{version}
%ghost %{_datadir}/%{name}-%{version}/lib/prim/Agda/Primitive.agdai
%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%doc CHANGELOG
%changelog
* 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