# 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 . 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 - 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 - 1.3.0-2 - builds on armv7hl without prof lib * Mon Jun 25 2018 Jens Petersen - 1.3.0-1 - update to 1.3.0 * Thu Jul 28 2016 Jens Petersen - 0.9.9.1-8 - require gmp-devel (#1360168) * Thu Feb 04 2016 Fedora Release Engineering - 0.9.9.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Wed Jun 17 2015 Fedora Release Engineering - 0.9.9.1-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Mon Apr 6 2015 Jens Petersen - 0.9.9.1-5 - rebuild * Wed Jan 28 2015 Jens Petersen - 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 - 0.9.9.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 0.9.9.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat Oct 5 2013 Jens Petersen - 0.9.9.1-1 - update to 0.9.9.1 - depends on ansi-terminal and time * Fri Oct 4 2013 Jens Petersen - 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 - 0.9.8-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Tue Jul 9 2013 Jens Petersen - 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 - 0.9.8-2 - install idris devel data files under libdir (#947819) * Mon Jul 1 2013 Jens Petersen - 0.9.8-1 - update to 0.9.8 - http://idris-lang.org/archives/272 * Sat Apr 6 2013 Jens Petersen - 0.9.7-2 - requires gcc * Wed Apr 3 2013 Jens Petersen - 0.9.7-1 - spec file regenerated with cabal-rpm-0.8.0 * Sat Feb 25 2012 Jens Petersen - 0.9.1-1 - update to 0.9.1 * Fri Jan 27 2012 Jens Petersen - 0.9.0-1 - BSD license * Fri Jan 27 2012 Fedora Haskell SIG - spec file template generated by cabal2spec-0.25.4