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

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

%ifarch armv7hl
%undefine with_ghc_prof
%endif

# testsuite missing deps: tasty-golden

Name:           %{pkg_name}
Version:        1.3.3
Release:        4%{?dist}
Summary:        Functional Programming Language with Dependent Types

License:        BSD
Url:            https://hackage.haskell.org/package/%{name}
# Begin cabal-rpm sources:
Source0:        https://hackage.haskell.org/package/%{pkgver}/%{pkgver}.tar.gz
# End cabal-rpm sources

# Begin cabal-rpm deps:
BuildRequires:  ghc-Cabal-devel
BuildRequires:  ghc-rpm-macros
BuildRequires:  ghc-aeson-prof
BuildRequires:  ghc-annotated-wl-pprint-prof
BuildRequires:  ghc-ansi-terminal-prof
BuildRequires:  ghc-ansi-wl-pprint-prof
BuildRequires:  ghc-array-prof
BuildRequires:  ghc-async-prof
BuildRequires:  ghc-base-prof
BuildRequires:  ghc-base64-bytestring-prof
BuildRequires:  ghc-binary-prof
BuildRequires:  ghc-blaze-html-prof
BuildRequires:  ghc-blaze-markup-prof
BuildRequires:  ghc-bytestring-prof
BuildRequires:  ghc-cheapskate-prof
BuildRequires:  ghc-code-page-prof
BuildRequires:  ghc-containers-prof
BuildRequires:  ghc-deepseq-prof
BuildRequires:  ghc-directory-prof
BuildRequires:  ghc-filepath-prof
BuildRequires:  ghc-fingertree-prof
BuildRequires:  ghc-fsnotify-prof
BuildRequires:  ghc-haskeline-prof
BuildRequires:  ghc-ieee754-prof
BuildRequires:  ghc-libffi-prof
BuildRequires:  ghc-megaparsec-prof
BuildRequires:  ghc-mtl-prof
BuildRequires:  ghc-network-prof
BuildRequires:  ghc-optparse-applicative-prof
BuildRequires:  ghc-parser-combinators-prof
BuildRequires:  ghc-pretty-prof
BuildRequires:  ghc-process-prof
BuildRequires:  ghc-regex-tdfa-prof
BuildRequires:  ghc-safe-prof
BuildRequires:  ghc-split-prof
BuildRequires:  ghc-terminal-size-prof
BuildRequires:  ghc-text-prof
BuildRequires:  ghc-time-prof
BuildRequires:  ghc-transformers-prof
BuildRequires:  ghc-uniplate-prof
BuildRequires:  ghc-unix-prof
BuildRequires:  ghc-unordered-containers-prof
BuildRequires:  ghc-utf8-string-prof
BuildRequires:  ghc-vector-prof
BuildRequires:  ghc-vector-binary-instances-prof
BuildRequires:  ghc-zip-archive-prof
BuildRequires:  gmp-devel
Requires:       %{name}-common = %{version}-%{release}
# End cabal-rpm deps
BuildRequires:  gc-devel
# needs sphinx-build
BuildRequires:  python3-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
Requires:       %{name}-static = %{version}-%{release}

%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 <https://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 common
Summary:        Idris libraries
BuildArch:      noarch

%description common
This package provides the Idris libraries development files.


%package static
Summary:        Idris RTS

%description static
This package provides the Idris RTS.


%package -n ghc-%{name}
Summary:        Haskell %{name} library
Requires:       %{name}-common = %{version}-%{release}
Requires:       %{name}-static = %{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}-static%{?_isa} = %{version}-%{release}
%if %{defined ghc_version}
Requires:       ghc-compiler = %{ghc_version}
%endif
Requires:       ghc-%{name}%{?_isa} = %{version}-%{release}
# Begin cabal-rpm deps:
Requires:       gmp-devel%{?_isa}
# End cabal-rpm deps

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


%package docs
Summary:        Idris library docs
BuildArch:      noarch

%description docs
This package provides the library docs for the Idris programming language.


%package manual
Summary:        The Idris manual
BuildArch:      noarch

%description manual
This package provides the manual for the Idris programming language.


%if %{with haddock}
%package -n ghc-%{name}-doc
Summary:        Haskell %{name} library documentation
BuildArch:      noarch
Requires:       ghc-filesystem

%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


%prep
# Begin cabal-rpm setup:
%setup -q
# End cabal-rpm setup
cabal-tweak-flag FFI True
cabal-tweak-flag GMP True
cabal-tweak-dep-ver aeson '< 1.5' '< 1.6'
cabal-tweak-dep-ver haskeline '< 0.8' '< 0.9'
cabal-tweak-dep-ver megaparsec '< 9' '< 10'


%build
export LD_LIBRARY_PATH=$PWD/dist/build
# Begin cabal-rpm build:
%ghc_lib_build
# End cabal-rpm build


%install
export LD_LIBRARY_PATH=$PWD/dist/build
# Begin cabal-rpm install
%ghc_lib_install
mv %{buildroot}%{_ghcdocdir}{,-common}
mkdir -p %{buildroot}%{_datadir}/bash-completion/completions/
%{buildroot}%{_bindir}/%{name} --bash-completion-script %{name} | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/%{name}
%{buildroot}%{_bindir}/idris-codegen-c --bash-completion-script idris-codegen-c | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/idris-codegen-c
%{buildroot}%{_bindir}/idris-codegen-javascript --bash-completion-script idris-codegen-javascript | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/idris-codegen-javascript
%{buildroot}%{_bindir}/idris-codegen-node --bash-completion-script idris-codegen-node | sed s/filenames/default/ > %{buildroot}%{_datadir}/bash-completion/completions/idris-codegen-node
# End cabal-rpm install

# 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

mkdir -p %{buildroot}%{_docdir}/idris-manual
cp -p idris-tutorial.pdf %{buildroot}%{_docdir}/idris-manual/


%files
# Begin cabal-rpm files:
%{_bindir}/%{name}
%{_bindir}/idris-codegen-c
%{_bindir}/idris-codegen-javascript
%{_bindir}/idris-codegen-node
%{_datadir}/bash-completion/completions/%{name}
%{_datadir}/bash-completion/completions/idris-codegen-c
%{_datadir}/bash-completion/completions/idris-codegen-javascript
%{_datadir}/bash-completion/completions/idris-codegen-node
# End cabal-rpm files
%{_mandir}/man1/idris.1*


%files common
# Begin cabal-rpm files:
%license LICENSE
%doc CHANGELOG.md CONTRIBUTING.md CONTRIBUTORS README.md
%{_datadir}/%{pkgver}
# End cabal-rpm files
%exclude %{_datadir}/%{pkgver}/docs


%files docs
%dir %{_datadir}/%{pkgver}
%{_datadir}/%{pkgver}/docs


%files manual
%{_docdir}/idris-manual


%files static
%attr(644, -, -) %{_libdir}/libidris_rts.a


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


%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
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Mon Aug 10 2020 Jens Petersen <petersen@redhat.com> - 1.3.3-2
- setup bash completion

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Wed Jun 10 2020 Jens Petersen <petersen@redhat.com> - 1.3.3-1
- update to 1.3.3

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

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Jens Petersen <petersen@redhat.com> - 1.3.2-1
- update to 1.3.2

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Sun Mar 17 2019 Jens Petersen <petersen@redhat.com> - 1.3.1-2
- use python3-sphinx

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

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Oct 24 2018 Jens Petersen <petersen@redhat.com> - 1.3.0-6
- rebuild for static executable
- move library html docs to subpackage

* Sat Jul 28 2018 Jens Petersen <petersen@redhat.com> - 1.3.0-5
- rebuild

* Sat Jun 30 2018 Jens Petersen <petersen@redhat.com> - 1.3.0-4
- BR python2-sphinx for sphinx-build (#1594765)
- install the manual in the buildroot

* 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