cabal-rpm/cabal-rpm.spec
2018-09-25 13:24:31 +09:00

434 lines
16 KiB
RPMSpec

# generated by cabal-rpm-0.12.5
# https://fedoraproject.org/wiki/Packaging:Haskell
%if 0%{?fedora} >= 27
%bcond_without https
%else
%bcond_with https
%endif
Name: cabal-rpm
Version: 0.12.5
Release: 2%{?dist}
Summary: RPM packaging tool for Haskell Cabal-based packages
License: GPLv3+
Url: https://hackage.haskell.org/package/%{name}
Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz
Source1: cblrpm.1
Patch1: cabal-rpm-lts.patch
BuildRequires: ghc-Cabal-devel
BuildRequires: ghc-rpm-macros
# Begin cabal-rpm deps:
%if %{with https}
BuildRequires: ghc-bytestring-devel
%endif
BuildRequires: ghc-directory-devel
BuildRequires: ghc-filepath-devel
%if %{with https}
BuildRequires: ghc-http-client-devel
BuildRequires: ghc-http-client-tls-devel
BuildRequires: ghc-http-conduit-devel
%else
BuildRequires: ghc-old-locale-devel
%endif
BuildRequires: ghc-process-devel
BuildRequires: ghc-time-devel
BuildRequires: ghc-unix-devel
# End cabal-rpm deps
Obsoletes: cabal2spec < 0.26
Provides: cblrpm = %{version}-%{release}
Requires: cabal-install
Requires: rpm-build
# for repoquery
%if 0%{?fedora} >= 22
Requires: dnf-plugins-core
%else
Requires: yum-utils
%endif
# for rpmdev-bumpspec
Requires: rpmdevtools
Requires: wget
%description
Cabal-rpm is a tool for RPM packaging of Haskell Cabal-based packages.
It interacts with dnf to install build dependencies and can also act as
a cabal-install wrapper installing dependencies packaged in Fedora before
running "cabal install".
cblrpm has commands to generate a RPM spec file and srpm for a package.
It can rpmbuild packages, dnf install their dependencies, prep packages, and
install them. There are commands to list package dependencies and missing
dependencies. The diff command compares the current spec file with a freshly
generated one, the update command updates the spec file to latest version from
Stackage or Hackage, and the refresh command updates the spec file to the
current cabal-rpm packaging.
%prep
%setup -q
%patch1 -p1 -b .orig
%build
%ghc_bin_build
%install
%ghc_bin_install
install -p -m 0644 -D man/%{name}.1 %{buildroot}%{_mandir}/man1/%{name}.1
install -p -m 0644 %SOURCE1 %{buildroot}%{_mandir}/man1/
ln -s %{name} %{buildroot}%{_bindir}/cblrpm
%files
%license COPYING
%doc ChangeLog README.md
%{_bindir}/%{name}
%{_bindir}/cblrpm
%{_mandir}/man1/%{name}.1*
%{_mandir}/man1/cblrpm.1*
%changelog
* Mon Jul 30 2018 Jens Petersen <petersen@redhat.com> - 0.12.5-2
- patch default tracked stream to lts-11
* Sun Jul 29 2018 Jens Petersen <petersen@redhat.com> - 0.12.5-1
- improvements to update and refresh
- improved revising of .cabal files
- use "fedpkg sources" to fetch current Fedora sources
- do not put doc* in docs
- better output for missing sub-deps
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.12.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu May 31 2018 Jens Petersen <petersen@redhat.com> - 0.12.4-2
- requires wget
* Thu May 31 2018 Jens Petersen <petersen@redhat.com> - 0.12.4-1
- now uses Hackage revisions of packages
- spec --stream STREAM replaces --hackage
* Tue May 15 2018 Jens Petersen <petersen@redhat.com> - 0.12.3-1
- build: remove erroneous tarball check
- refresh: use cblrpm for old cabal-rpm
* Thu Mar 29 2018 Jens Petersen <petersen@redhat.com> - 0.12.2-1
- diff: now supports CBLRPM_DIFF envvar to override "diff -u"
- build: attempt when missing rpms deps not available
* Wed Feb 21 2018 Jens Petersen <petersen@redhat.com> - 0.12.1-4
- fix build on epel7 ghc
* Wed Feb 21 2018 Jens Petersen <petersen@redhat.com> - 0.12.1-3
- add bcond for https
* Wed Feb 21 2018 Jens Petersen <petersen@redhat.com> - 0.12.1-2
- escape macro in previous changelog
* Tue Feb 20 2018 Jens Petersen <petersen@fedoraproject.org> - 0.12.1-1
- new option --missing: comments out missing dependencies
- put license files in lib subpackage
- no longer append %%_isa to C BuildRequires (#54)
- no longer leave leftover tmpdirs (#26)
- change 'cblrpm' to 'cabal-rpm' in documentation
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.12-4
- Escape macros in %%changelog
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.12-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Fri Jan 26 2018 Jens Petersen <petersen@redhat.com> - 0.12-2
- rebuild
* Fri Nov 17 2017 Jens Petersen <petersen@redhat.com> - 0.12-1
- query stackage.org directly via https
- run cabal update before cabal commands
- devel packages now provide doc subpackage for forward compatibility
- new --hackage option to get package version from Hackage not Stackage
- do not add .cabal files containing "doc" to docs
- silence mock rpmbuild -bs warnings about undefined %%ghc_version
* Mon Jul 31 2017 Jens Petersen <petersen@redhat.com> - 0.11.2-1
- fix cblrpm update --subpackage
- fix rpm installation when no sudo
- fix handling of no exposed modules
- fix license handling for selfdep binlib
* Mon Mar 13 2017 Jens Petersen <petersen@redhat.com> - 0.11.1-1
- update to 0.11.1 release:
- support for building meta (compat) lib packages
- fix invocation of optional stackage-query for updating to LTS
- preliminary --subpackage support for subpkgs of missing deps:
including downloading, but update is not properly implemented yet
- new pkgver macro
- update do not reset release for subpkgs
* Fri Feb 24 2017 Jens Petersen <petersen@redhat.com> - 0.11-3
- refresh packaging to cabal-rpm-0.11.1
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Fri Jan 27 2017 Jens Petersen <petersen@redhat.com> - 0.11-1
- diff and update now follow package-version args
- update from Hackage now follows "Default available version"
- update tries to use stackage-query if installed to check latest Stackage
version before falling back to latest Hackage
- refresh command now reads the cabal-rpm version header in the spec file and
installs that version of cabal-rpm under ~/.cblrpm/ and uses it to make patch
* Tue Dec 6 2016 Jens Petersen <petersen@redhat.com> - 0.10.1-2
- quote dist macro in old changelog entry
* Tue Nov 29 2016 Jens Petersen <petersen@redhat.com> - 0.10.1-1
- update to 0.10.1:
- no longer need to remove License files from docdir
- use new ghc_fix_rpath macro
- include Contributors in docs
* Wed Jul 27 2016 Jens Petersen <petersen@redhat.com> - 0.10.0-1
- update to 0.10.0:
- add cabal-rpm version header line to spec files
- warn if unresolved clibs
- update command displays diff
- use cabal_test
- no longer duplicate docs in datadir and package datadir better
* Fri May 6 2016 Jens Petersen <petersen@redhat.com> - 0.9.11-1
- update to 0.9.11
* Thu Mar 24 2016 Jens Petersen <petersen@redhat.com> - 0.9.10-1
- update no longer tries to grep non-existent .git
- fix duplicate clibs
- tweaks for ghc-8.0 and suse
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.8-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Thu Oct 8 2015 Jens Petersen <petersen@redhat.com> - 0.9.8-1
- improve license logic
- fix handling of versions without '.'
- no duplicate test deps
* Fri Aug 28 2015 Jens Petersen <petersen@redhat.com> - 0.9.7-1
- only list buildable executables in spec file
- bring back 'build' as an alias for 'local'
- use license macro
- do not warn about missing optional system programs
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Thu May 21 2015 Jens Petersen <petersen@redhat.com> - 0.9.6-1
- make "cabal list" quiet
- filter missing packages from repoquery
* Mon Apr 20 2015 Jens Petersen <petersen@fedoraproject.org> - 0.9.5-1
- fix for dnf repoquery
- create SOURCES/ for tarball
- fixes for Cabal-1.22
- nogpgcheck for Fedora 22+
- warn about hidden backup spec files
* Tue Feb 24 2015 Jens Petersen <petersen@redhat.com> - 0.9.4-2
- require dnf-plugins-core instead of yum-utils for F22+
* Tue Feb 17 2015 Jens Petersen <petersen@fedoraproject.org> - 0.9.4-1
- use dnf if installed instead of yum for install and repoquery (#1156553)
- update now only commits changes and adds new source if git origin is ssh
- cblrpm update needs rpmdevtools
* Thu Feb 5 2015 Jens Petersen <petersen@redhat.com> - 0.9.3-2
- remove %%'s from previous changelog
* Thu Feb 5 2015 Jens Petersen <petersen@redhat.com> - 0.9.3-1
- make sure tarball destdir exists before copying
- update improvements: new-sources first, continue if patch fails, git commit changes
- sort executables and use pkg_name in ghc_fix_dynamic_rpath
- drop the debuginfo handling for C files
- ignore emacs temp ".#pkgname.spec" files
- improve output for listing missing packages
* Tue Feb 3 2015 Jens Petersen <petersen@redhat.com> - 0.9.2-2
- remove the old cblrpm-diff script
* Thu Dec 18 2014 Jens Petersen <petersen@redhat.com> - 0.9.2-1
- lots of bug fixes
- new "update" command to update spec to latest version
- improved missingdeps output
- use https for hackage URLs (codeblock)
- no longer override _sourcedir, _rpmdir, and _srcrpmdir macros, unless git dir
- use 'rpm --eval "%%{?dist}"' to determine OS type
- use TMPDIR
* Tue Aug 26 2014 Jens Petersen <petersen@redhat.com> - 0.9.1-1
- missingdeps now lists missing dependencies recursively
- do not assume package order when testing if dependencies installed
- check ~/.cabal/packages/ exists before looking for tarballs
- pass actual executable names to ghc_fix_dynamic_rpath
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Thu Jul 17 2014 Jens Petersen <petersen@redhat.com> - 0.9-1
- setup logic completely reworked to make better use of existing spec file
and prep source tree for version properly
- default to Library packaging instead of BinLib:
override with --binary which replaces --library
- 'install' command now does local recursive rpmbuilding
- try "rpm -qf" and then rpmquery to resolve clib devel depends
- support packaging on RHEL5
- improved output for 'depends' command
- use current dir name as a last guess of package name
- refactoring and improvements including no duplicate clibs deps
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.11-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sat May 17 2014 Jens Petersen <petersen@redhat.com> - 0.8.11-1
- use .spec file to determine pkg-ver when no .cabal file around
- build command renamed again from "rpm" to "local" (like fedpkg)
- automatically generate bcond for %%check and add testsuite BRs
when testsuites available
- disable debuginfo explicitly when no c-sources in preparation for
ghc-rpm-macros no longer disabling debuginfo
- reset filemode of downloaded hackage tarballs to 0644:
workaround for cabal-install setting 0600
- include release again in initial changelog
* Mon Mar 3 2014 Jens Petersen <petersen@redhat.com> - 0.8.10-1
- new diff command replaces cblrpm-diff script
- new missingdeps command
- should now work on RHEL 5 and 6: dropped use use of rpmspec
- add a temporary cblrpm-diff compat script
- refresh description
* Mon Feb 10 2014 Jens Petersen <petersen@redhat.com> - 0.8.9-1
- bugfix for error handling dir with spec file
- cblrpm-diff arg is now optional
* Sun Feb 9 2014 Jens Petersen <petersen@redhat.com> - 0.8.8-1
- use .spec file to determine package if no .cabal file (with or without arg)
- bugfix: install command now works if some dependencies not packaged
- bugfix: do not re-copy cached tarball each time
- use new shorter hackage2 URL for packages
- filter @ and \ quotes in descriptions
- capitalize start of summary and description
- new prep command (like "rpmbuild -bp" or "fedpkg prep")
- new depends and requires commands list package depends or buildrequires
- new builddep command (like yum-buildep, but allows missing packages)
* Tue Dec 31 2013 Jens Petersen <petersen@redhat.com> - 0.8.7-1
- new "install" command wrapping "cabal install"
- "build" command renamed to "rpm"
- sort devel Requires
- cblrpm-diff: allow package arg
- support copying tarball fetched from another remote-repo (codeblock)
- support AGPL license in Cabal-1.18
- update package description
* Tue Oct 8 2013 Jens Petersen <petersen@redhat.com> - 0.8.6-1
- check for _darcs or .git dir in package topdir not pwd
* Sun Sep 29 2013 Jens Petersen <petersen@redhat.com> - 0.8.5-1
- fix repoquery when a package update exists for C lib
- make cblrpm-diff quieter
* Sat Sep 28 2013 Jens Petersen <petersen@redhat.com> - 0.8.4-1
- use repoquery to determine extra C library dependencies
- quote "pkgconfig(foo)" for rpm query and yum install
- show sudo command before sudo password prompt appears
- exclude hsc2hs from build tool deps
- devel now provides ghc-<pkg>-static
- drop release from initial changelog entry for packager to add an entry
- do not try to fetch tarball for a darcs or git source dir
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.8.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Fri Jul 12 2013 Jens Petersen <petersen@redhat.com> - 0.8.3-1
- only try to install missing dependencies
- word-wrap generic descriptions
- now handles ghc_fix_dynamic_rpath for executables depending on own lib
- map ffi to libffi
- source module rearrangements
* Tue Jul 2 2013 Jens Petersen <petersen@redhat.com> - 0.8.2-1
- handle pkg-ver arg, and check cabal list is non-empty
- sort all generated deps
- use yum-builddep again to install deps
- copy tarball into cwd for rpmbuild
- wrap after end of sentence near end of line
- use _isa in requires ghc-<pkg>
- require rpm-build
* Fri Jun 21 2013 Jens Petersen <petersen@redhat.com> - 0.8.1-2
- rebuild
* Fri Jun 14 2013 Jens Petersen <petersen@redhat.com> - 0.8.1-1
- word wrapping of descriptions
- use generic description for shared subpackage
- simplify logic for summary and description processing
* Fri May 31 2013 Jens Petersen <petersen@redhat.com> - 0.8.0-1
- use simplified Fedora Haskell Packaging macros approved by
Fedora Packaging Committee (https://fedorahosted.org/fpc/ticket/194)
* Wed Apr 3 2013 Jens Petersen <petersen@redhat.com> - 0.7.1-2
- better require cabal-install
* Fri Mar 22 2013 Jens Petersen <petersen@redhat.com> - 0.7.1-1
- add final full-stop to description if missing
- add ver-rel to initial changelog entry
- output warning when .spec already exists
- fix handling of package names that end in a digit
- output when trying a path
- map curl C dep to libcurl
- fix use of cblrpm-diff force lib option
- provide cblrpm
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.7.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Jan 22 2013 Jens Petersen <petersen@redhat.com> - 0.7.0-1
- cabal-rpm and cabal-rpm-diff are now symlinks to cblrpm and cblrpm-diff
- now uses command args, initially spec, srpm, and build
- tries to sudo yum install dependencies
- https://github.com/juhp/cabal-rpm/blob/master/NEWS
* Wed Nov 21 2012 Jens Petersen <petersen@redhat.com> - 0.6.6-1
- now generates dependencies for C libs, buildtools, and pkgconfig depends
- add short cblrpm and cblrpm-diff alias symlinks
- fix handling of LGPL-2.1 license
- change backup suffix from .cabal-rpm to .cblrpm
- do not mistake non-existent tarballs for package names
* Thu Nov 1 2012 Jens Petersen <petersen@redhat.com> - 0.6.5-1
- drop hscolour BuildRequires
- simplify generated BuildRequires: drop version ranges,
and exclude base, Cabal, etc
- use ExclusiveArch ghc_arches_with_ghci for template-haskell
- replace --name option with --library to force Lib package
* Tue Sep 25 2012 Jens Petersen <petersen@redhat.com> - 0.6.4-1
- add cabal-rpm-diff wrapper script
- fix generated manpage
* Mon Sep 24 2012 Jens Petersen <petersen@redhat.com> - 0.6.3-1
- can now handle tarball
- new manpage
- obsoletes cabal2spec
* Mon Sep 10 2012 Jens Petersen <petersen@redhat.com> - 0.6.2-1
- shorten description
* Mon Sep 10 2012 Fedora Haskell SIG <haskell@lists.fedoraproject.org>
- spec file generated by cabal-rpm-0.6.2