# https://fedoraproject.org/wiki/Packaging:Haskell Name: cabal-rpm Version: 0.11 Release: 1%{?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 BuildRequires: ghc-Cabal-devel BuildRequires: ghc-rpm-macros # Begin cabal-rpm deps: BuildRequires: ghc-directory-devel BuildRequires: ghc-filepath-devel BuildRequires: ghc-old-locale-devel 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 %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 and the update command updates the spec file to latest version from Hackage. %prep %setup -q %build %ghc_bin_build %install %ghc_bin_install install -p -m 0644 -D man/cabal-rpm.1 %{buildroot}%{_mandir}/man1/cabal-rpm.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/cabal-rpm.1* %{_mandir}/man1/cblrpm.1* %changelog * Fri Jan 27 2017 Jens Petersen - 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 - 0.10.1-2 - quote dist macro in old changelog entry * Tue Nov 29 2016 Jens Petersen - 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 - 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 - 0.9.11-1 - update to 0.9.11 * Thu Mar 24 2016 Jens Petersen - 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 - 0.9.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Thu Oct 8 2015 Jens Petersen - 0.9.8-1 - improve license logic - fix handling of versions without '.' - no duplicate test deps * Fri Aug 28 2015 Jens Petersen - 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 - 0.9.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Thu May 21 2015 Jens Petersen - 0.9.6-1 - make "cabal list" quiet - filter missing packages from repoquery * Mon Apr 20 2015 Jens Petersen - 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 - 0.9.4-2 - require dnf-plugins-core instead of yum-utils for F22+ * Tue Feb 17 2015 Jens Petersen - 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 - 0.9.3-2 - remove %'s from previous changelog * Thu Feb 5 2015 Jens Petersen - 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 - 0.9.2-2 - remove the old cblrpm-diff script * Thu Dec 18 2014 Jens Petersen - 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 - 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 - 0.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Thu Jul 17 2014 Jens Petersen - 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 - 0.8.11-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Sat May 17 2014 Jens Petersen - 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 - 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 - 0.8.9-1 - bugfix for error handling dir with spec file - cblrpm-diff arg is now optional * Sun Feb 9 2014 Jens Petersen - 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 - 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 - 0.8.6-1 - check for _darcs or .git dir in package topdir not pwd * Sun Sep 29 2013 Jens Petersen - 0.8.5-1 - fix repoquery when a package update exists for C lib - make cblrpm-diff quieter * Sat Sep 28 2013 Jens Petersen - 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--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 - 0.8.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Fri Jul 12 2013 Jens Petersen - 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 - 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- - require rpm-build * Fri Jun 21 2013 Jens Petersen - 0.8.1-2 - rebuild * Fri Jun 14 2013 Jens Petersen - 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 - 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 - 0.7.1-2 - better require cabal-install * Fri Mar 22 2013 Jens Petersen - 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 - 0.7.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Tue Jan 22 2013 Jens Petersen - 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 - 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 - 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 - 0.6.4-1 - add cabal-rpm-diff wrapper script - fix generated manpage * Mon Sep 24 2012 Jens Petersen - 0.6.3-1 - can now handle tarball - new manpage - obsoletes cabal2spec * Mon Sep 10 2012 Jens Petersen - 0.6.2-1 - shorten description * Mon Sep 10 2012 Fedora Haskell SIG - spec file generated by cabal-rpm-0.6.2