# generated by cabal-rpm-0.12.4
# https://fedoraproject.org/wiki/Packaging:Haskell
%global pkg_name idris
%global pkgver %{pkg_name}-%{version}
%bcond_with tests
%ifarch armv7hl
%global without_prof 1
%endif
Name: %{pkg_name}
Version: 1.3.0
Release: 3%{?dist}
Summary: Functional Programming Language with Dependent Types
License: BSD
Url: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
# Begin cabal-rpm deps:
BuildRequires: chrpath
BuildRequires: ghc-aeson-devel
BuildRequires: ghc-annotated-wl-pprint-devel
BuildRequires: ghc-ansi-terminal-devel
BuildRequires: ghc-ansi-wl-pprint-devel
BuildRequires: ghc-array-devel
BuildRequires: ghc-async-devel
BuildRequires: ghc-base64-bytestring-devel
BuildRequires: ghc-binary-devel
BuildRequires: ghc-blaze-html-devel
BuildRequires: ghc-blaze-markup-devel
BuildRequires: ghc-bytestring-devel
BuildRequires: ghc-cheapskate-devel
BuildRequires: ghc-code-page-devel
BuildRequires: ghc-containers-devel
BuildRequires: ghc-deepseq-devel
BuildRequires: ghc-directory-devel
BuildRequires: ghc-filepath-devel
BuildRequires: ghc-fingertree-devel
BuildRequires: ghc-fsnotify-devel
BuildRequires: ghc-haskeline-devel
BuildRequires: ghc-ieee754-devel
BuildRequires: ghc-libffi-devel
BuildRequires: ghc-megaparsec-devel
BuildRequires: ghc-mtl-devel
BuildRequires: ghc-network-devel
BuildRequires: ghc-optparse-applicative-devel
BuildRequires: ghc-pretty-devel
BuildRequires: ghc-process-devel
BuildRequires: ghc-regex-tdfa-devel
BuildRequires: ghc-safe-devel
BuildRequires: ghc-split-devel
BuildRequires: ghc-terminal-size-devel
BuildRequires: ghc-text-devel
BuildRequires: ghc-time-devel
BuildRequires: ghc-transformers-devel
BuildRequires: ghc-uniplate-devel
BuildRequires: ghc-unix-devel
BuildRequires: ghc-unordered-containers-devel
BuildRequires: ghc-utf8-string-devel
BuildRequires: ghc-vector-binary-instances-devel
BuildRequires: ghc-vector-devel
BuildRequires: ghc-zip-archive-devel
BuildRequires: gmp-devel
%if %{with tests}
BuildRequires: ghc-tagged-devel
BuildRequires: ghc-tasty-devel
BuildRequires: ghc-tasty-golden-devel
BuildRequires: ghc-tasty-rerun-devel
%endif
# End cabal-rpm deps
BuildRequires: gc-devel
BuildRequires: python-sphinx
## idris compiles to C and then uses gcc linking to the static rts library
## to generate executables (so devel files are included in the main package)
Requires: gcc
Requires: gmp-devel
%description
Idris is a general purpose language with full dependent types. It is compiled,
with eager evaluation. Dependent types allow types to be predicated on values,
meaning that some aspects of a program's behaviour can be specified precisely
in the type. The language is closely related to Epigram and Agda.
There is a tutorial at <http://www.idris-lang.org/documentation>.
Features include:
* Full, first class, dependent types with dependent pattern matching
* where clauses, with rule, case expressions, pattern matching let and
lambda bindings
* Interfaces (similar to type classes), monad comprehensions
* do notation, idiom brackets, syntactic conveniences for lists, tuples,
dependent pairs
* Totality checking
* Coinductive types
* Indentation significant syntax, extensible syntax
* Cumulative universes
* Simple foreign function interface (to C)
* Hugs style interactive environment.
%package libs
Summary: Idris libraries
BuildArch: noarch
%description libs
This package provides the Idris library and RTS.
%package -n ghc-%{name}
Summary: Haskell %{name} library
Requires: idris-libs = %{version}-%{release}
%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}-doc = %{version}-%{release}
%if %{defined ghc_version}
Requires: ghc-compiler = %{ghc_version}
Requires(post): ghc-compiler = %{ghc_version}
Requires(postun): 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.
%package manual
Summary: The Idris manual
BuildArch: noarch
%description manual
This package provides the manual for the idris programming language.
%prep
%setup -q
cabal-tweak-flag FFI True
cabal-tweak-flag GMP True
%build
export LD_LIBRARY_PATH=$PWD/dist/build
%ghc_lib_build
make user_doc_html
%install
export LD_LIBRARY_PATH=$PWD/dist/build
%ghc_lib_install
%ghc_fix_rpath %{pkgver}
mv %{buildroot}%{_ghclicensedir}/%{name}{,-libs}
# https://github.com/idris-lang/Idris-dev/issues/4495
mv %{buildroot}%{_datadir}/%{pkgver}/rts/libidris_rts.a %{buildroot}%{_libdir}
# https://github.com/idris-lang/Idris-dev/issues/4497
chmod +r -R %{buildroot}%{_datadir}/%{pkgver}/docs
%check
%cabal_test
%post -n ghc-%{name}-devel
%ghc_pkg_recache
%postun -n ghc-%{name}-devel
%ghc_pkg_recache
%files
%doc CHANGELOG.md CONTRIBUTORS README.md
%{_bindir}/%{name}
%{_bindir}/idris-codegen-c
%{_bindir}/idris-codegen-javascript
%{_bindir}/idris-codegen-node
%{_mandir}/man1/idris.1*
%files libs
%license LICENSE
%{_datadir}/%{pkgver}
%files -n ghc-%{name} -f ghc-%{name}.files
%attr(644, -, -) %{_libdir}/libidris_rts.a
%files -n ghc-%{name}-devel -f ghc-%{name}-devel.files
%files manual
%doc docs/_build/html
%changelog
* Tue Jun 26 2018 Jens Petersen <petersen@redhat.com> - 1.3.0-3
- build with libffi and gmp
- build the manual with python-sphinx
- noarch subpackages for manual and libs
- make lib docs readable
- install libidris_rts.a in libdir
* Tue Jun 26 2018 Jens Petersen <petersen@redhat.com> - 1.3.0-2
- builds on armv7hl without prof lib
* Mon Jun 25 2018 Jens Petersen <petersen@redhat.com> - 1.3.0-1
- update to 1.3.0
* Thu Jul 28 2016 Jens Petersen <petersen@redhat.com> - 0.9.9.1-8
- require gmp-devel (#1360168)
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.9.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.9.1-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Mon Apr 6 2015 Jens Petersen <petersen@redhat.com> - 0.9.9.1-5
- rebuild
* Wed Jan 28 2015 Jens Petersen <petersen@redhat.com> - 0.9.9.1-4
- cblrpm refresh
- fix build with ghc78
- temporarily exclude armv7hl until RTS issues resolved (#1190261)
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.9.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.9.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat Oct 5 2013 Jens Petersen <petersen@redhat.com> - 0.9.9.1-1
- update to 0.9.9.1
- depends on ansi-terminal and time
* Fri Oct 4 2013 Jens Petersen <petersen@redhat.com> - 0.9.9-1
- update to 0.9.9
http://www.idris-lang.org/idris-0-9-9-released/
- disable LLVM backend for now
- depends on vector-binary-instances
- buildrequires gc-devel
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.8-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Tue Jul 9 2013 Jens Petersen <petersen@redhat.com> - 0.9.8-3
- use cabal_configure_extra_options to set datadir (#947819)
- add a comment about the devel files in the main package (#947819)
* Mon Jul 8 2013 Jens Petersen <petersen@redhat.com> - 0.9.8-2
- install idris devel data files under libdir (#947819)
* Mon Jul 1 2013 Jens Petersen <petersen@redhat.com> - 0.9.8-1
- update to 0.9.8
- http://idris-lang.org/archives/272
* Sat Apr 6 2013 Jens Petersen <petersen@redhat.com> - 0.9.7-2
- requires gcc
* Wed Apr 3 2013 Jens Petersen <petersen@redhat.com> - 0.9.7-1
- spec file regenerated with cabal-rpm-0.8.0
* Sat Feb 25 2012 Jens Petersen <petersen@redhat.com> - 0.9.1-1
- update to 0.9.1
* Fri Jan 27 2012 Jens Petersen <petersen@redhat.com> - 0.9.0-1
- BSD license
* Fri Jan 27 2012 Fedora Haskell SIG <haskell-devel@lists.fedoraproject.org>
- spec file template generated by cabal2spec-0.25.4