Changelog of @hackage/cabal-rpm 2.2.0

2.2.0 (2024-03-27)

  • Dependencies excludedPkgs: add system-cxx-std-lib
  • Dependencies: withGhcProfLibType to respect %with_ghc_prof for builddeps
  • PackageUtils dependencySortCabals: do nothing if empty
  • Snapshots: update stackage snapshots.json url
  • Spec: usesOptparse, maybeGenerateBashCompletion, maybeGenerateManpage
  • spec: add %{?haskell_setup}
  • spec: define and use %ghc_major for --with-compiler
  • spec: do not BR ghcX.Y-prof for standalone

2.1.5 (2023-11-10)

  • bugfix: --flags should be optional!
  • PackageUtils pkgSpecPkgData: error displaying an unparsable pkgid

2.1.4 (2023-11-03)

  • spec --standalone should not create subpkgs (regression in 2.1.3)
  • spec: when subpackaging include prof for main exec deps
  • fix --flags parsing to actually work!
  • PackageUtils bringTarball: create SOURCES/ earlier for new user

2.1.3 (2023-09-27)

  • spec: implement recursive missing deps fully; use cabal-sort if available
  • spec: also get the license of subpkgs now
  • spec: optparse-simple also supports bash completions
  • spec: simplify standalone %ghc_set_gcc_flags conditional
  • Stackage: prefer stack list if available: should be faster
  • Stackage: cache latest snapshots versions with code from stack-all
  • update: be more careful about adding new revised .cabal

2.1.2 (2023-07-27, F39)

  • PackageUtils checkForPkgCabalFile: check within BUILD dir
  • PackageUtils patchSpec: drop problem code for showing patch -.rej
  • Stackage: bump default to lts-21
  • allow Cabal-3.10
  • https for COPYING urls
  • spec: add %autopatch if Patch's and no %patch
  • spec: exclude missing deps from missing testsuite deps
  • spec: revert from %autosetup to %setup
  • spec: standalone should not use prof
  • update: --old-stream option for subpackages
  • update: invert gitBool check for local changes
  • update: use wasrevised to control revision of old reference spec

2.1.1 (2023-03-27)

  • spec: use %autosetup
  • PackageUtils patchSpec: adding newline to stdin hangs patch

2.1.0 (2023-02-15)

  • spec: list out ghc--prof BRs separately from ghc--devel
  • spec: output SPDX license tags
  • spec: for standalone f36+ cabal-install needs %ghc_set_gcc_flags
  • spec: handle '.' paragraph separator lines in description
  • spec: initial support for --with-ghc version to build with ghcX.Y
  • spec: check if deps of missing deps available
  • spec: for --standalone define %cabal_install for cabal
  • Stackage: default to latest lts-20 stream
  • refresh: build cabal-rpm in tempdir
  • PackageUtils rpmbuild: no longer override _builddir, _rpmdir, _srcrpmdir
  • PackageUtils tryUnpack: now into %_builddir
  • PackageUtils patchSpec: show .rej if patch fails
  • PackageUtils: handle tools like ghc-tags which are not a library
  • always assume revised .cabal is wanted/used
  • remove all the keep logic for tmpdir processing
  • allow Cabal-3.8
  • GH action: add 9.4 and bump actions versions
  • Diff: use extra withTempDir
  • simplify withTempDirectory with withCurrentDirectory

2.0.11.1 (2022-03-28)

  • support building with Cabal 3.6

2.0.11 (2022-03-13)

  • take build-tool-depends into account
  • 'spec','update': detect %autorelease and preserve %autochangelog
  • 'spec --standalone': strip executable
  • support %_builddir

2.0.10 (2021-08-14)

  • pkgSpecPkgData: try allowing versioned dir
  • update: only output old version if upgrading
  • stack: use final lts17
  • Stackage: bump to LTS 18
  • Spec: drop %ghc_fix_rpath for subpkgs

2.0.9 (2021-06-08)

  • spec: doc requires ghc-filesystem
  • spec: make %cabal_test conditional explicit
  • refresh: fix installation of cabal-rpm-version with cabal install
  • spec: tweak conditions for standalone sandbox (ie rhel8)

2.0.8 (2021-03-27)

  • update: make sure krb ticket exists before uploading source
  • spec: executable doc files now handled by ghc-rpm-macros
  • move dos2unix for revised DOS .cabal from download to spec build time
  • spec: do not enable testsuite for standalone package
  • spec: also bash-completion for simple-cmd-args
  • spec: for bash-completions use default not filenames
  • Stackage: use lts-17
  • pkgInstallMissing: also install ghc-rpm-macros

2.0.7 (2020-10-07)

  • spec: setup bash completions for optparse-applicative
  • spec: --ignore-missing to ignore deps not yet in hackage
  • update: only commit revised if actual changes
  • show rpmbuild mode
  • spec --standalone updated for cabal-install 3 (f33+)

2.0.6 (2020-06-28) Fedora 33

  • spec: use packager's name in %changelog
  • spec: default package versions to Stackage LTS 16
  • spec now also leaves newly prepped source tree around
  • spec: handle testsuite tool deps separately
  • spec, refresh, update: more care about whether to revise or not
  • diff: ignore release field
  • prep: be quiet
  • spec: add a comment for missing testsuite deps
  • only allow specifying major Stackage LTS versions (not minor): for more progressive updating logic (lts-n -> lts-(n+1) -> nightly -> Hackage)
  • spec: don't warn "spec exists" explicitly
  • spec: take specified stream into account for subpackaging
  • update: finally run prep to check update okay
  • prep/srpm --verbose and local --quiet options
  • spec: move chmod for docs to %prep
  • spec: check existing .spec file for detecting dropped deps and executable deps
  • update: also commit revised .cabal file when no update
  • fix copying of cached tarballs (longstanding defect)

2.0.5.1 (2020-06-11)

  • spec: fix grep breakage in 2.0.5 release
  • refresh and update now leave newly prepped source tree around
  • spec: dropped deprecated %post and %postun scriptlets

2.0.5 (2020-06-10)

  • spec --tests flag to force enabling testsuite
  • spec: fix permissions of extra-source-files
  • update url for Fedora Haskell Packaging Guidelines (TristanCacqueray)
  • make cabal update silent and check for 01-index
  • support Cabal-3.2 ShortText (hekkaidekapus)
  • use simple-cmd-args 0.1.6 for working subcommand help
  • improve handling of update --stream for subpackaging
  • bump latest Stackage to LTS 15
  • spec: exclude deps dropped with cabal-tweak-drop-dep

2.0.4 (2020-02-27) Fedora 32

  • update: also unbreak patching

2.0.3 (2020-02-24)

  • refresh: unbreak to patch spec file
  • spec: detect local revised .cabal file

2.0.2 (2020-02-20)

  • drop %_devel compat macro
  • default stream is now lts-14
  • sort deps of subpackages
  • metapkgs don't have prof or doc
  • fix generation of subpackages for a new package
  • update: logic reworked to reduce redundant downloads

2.0.1 (2020-02-06)

  • quote macros in commented fields
  • read --subpackage from spec header
  • generate BRs for subpackages

2.0.0 (2020-01-16)

  • major refactor to handle stream/pkgid more precisely and correctly (hence major version bump due to behavior changes)
    • eg can no longer specify both stream and pkg-ver
  • check for package first in default LTS, then latest LTS, and Nightly, before Hackage
  • respect and read/write --standalone and --stream in spec header consistently (note default LTS stream is not written to header)
  • fix infinite loop for 'install'
  • optionally use libcurl binding instead of former stackage-query fallback

1.0.3 (2019-12-31)

  • define %_devel for f30 packaging compatibility
  • missingdeps and builddep fixes
  • --standalone: add BRs for deps of missing deps

1.0.2 (2019-12-09)

  • allow newer time for ghc-8.8
  • more type refactoring: PackageIdentifier, LibPkgType, RpmPackage and some associated bugfixes

1.0.1 (2019-09-29)

  • doc and prof subpackages for libraries
  • reworked to use optparse-applicative (simple-cmd-args)
  • default to Stackage LTS 13
  • F31+ uses triggers for ghc-pkg recache
  • wait 10^4s (< 3 hours) between cabal update's
  • refactor using simple-cabal, PackageName and LibPkgType
  • handle setup-depends
  • diff: autodetect subpackaging
  • diff (experimental): trim %changelog with bawolk/hsp if available
  • drop pre-built manpage: use Makefile to build it

0.13.3 (2019-05-10)

  • default stream to lts-12
  • repoquery for missing deps' package .conf file to avoid modular ghc conflicts
  • only --assumeyes for dnf install when not tty
  • give up if more than one spec file
  • fix handling unversioned update
  • map cabal build-tool to cabal-install
  • use tmpdir for tmp spec files and building missing deps
  • finalPackageDescription for debugging Cabal
  • use simple-cmd-0.1.3.1 for sudo fixes

0.13.2 (2019-04-09)

  • include ANNOUNCE in docs
  • if dependency parallel directory exists, don't check if installed
  • fix buildDepends on Cabal-2.4
  • new --standalone option for private packages built with cabal-install
  • print --{missing,standalone,subpackage} options on spec file header line

0.13.1 (2019-02-27)

  • update: fix rw git dir detection
  • fix tarball downloading and copying of revised .cabal file
  • show output (errors) when prepping source and prep in working dir
  • include BUGS and CONTRIBUTING as docs
  • need chrpath for subpackages
  • move license dir to any common subpackage

0.13 (2019-02-18)

  • improve license and doc filtering
  • backup revised .cabal files
  • fallback to spectool for source downloading
  • drop selfdep
  • common subpackage for binlib data files
  • section dividers for sources, setup, build, install, and files
  • only run "cabal update" if more than 10min old
  • drop support for ghc-7.4.2

0.12.6 (2018-10-20)

  • update: remove old revised .cabal
  • convert revised .cabal file to unix format
  • spec: support haskell-gi libraries
  • most of SysCmd moved to simple-cmd library (new dep)
  • can now download multiple source files
  • use line-buffering for stdout
  • always do cabal update
  • support ghc_without_dynamic for static executables
  • build with Cabal-2.4 (ghc-8.6)

0.12.5 (2018-07-29)

  • update: more careful now with fuzz 1 -- handle revised to non-revised -- improved for subpackaging
  • improvements to revising of .cabal files -- place after any subpackages -- use revision when prep'ing and building
  • use "fedpkg sources" to fetch current Fedora sources
  • refresh: handle subpackages
  • missing: better output for missing sub-deps
  • do not put doc* in docs

0.12.4 (2018-05-31)

  • now uses Hackage revisions of packages (using wget)
  • spec --stream STREAM replaces --hackage
  • disable https for ghc < 7.10

0.12.3 (2018-05-14)

  • build: remove erroneous tarball check
  • refresh: use cblrpm for old cabal-rpm

0.12.2 (2018-03-29)

  • diff now supports CBLRPM_DIFF envvar to override "diff -u"
  • try to build even when missing rpms deps not available
  • package now builds with Cabal-2.2

0.12.1 (2018-02-20)

  • 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
  • drop support for SCM snapshot releases

0.12 (2017-11-17)

  • default to querying stackage.org directly via https
  • fix stackage-query usage and suggest installing if missing
  • 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
  • allow building with ghc-8.2 and Cabal-2.0

0.11.2 (2017-07-31)

  • fix cabal-rpm update --subpackage
  • fix rpm installation when no sudo (#49)
  • fix handling of no exposed modules (#50)
  • fix license handling for selfdep binlib (#51)

0.11.1 (2017-03-13)

  • support building meta (compat) packages
  • invocation of optional stackage-query to update to LTS now works
  • initial --subpackage support for %{subpkgs} of missing deps: including downloading, but update is not properly implemented yet
  • new %{pkgver} macro
  • (+-+) absorbs extra space
  • update no longer resets release for %{subpkgs}

0.11 (2017-01-27)

  • 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
  • diff and update now follow package-version args
  • update tries to use stackage-query to check latest Stackage version before falling back to latest Hackage
  • update from Hackage now follows "Default available version"
  • sync some changes from opensuse-haskell/cabal-rpm
  • rename Setup to Options
  • silence <$> import warnings

0.10.1 (2016-11-29)

  • no longer need to remove License file by hand
  • use new %ghc_fix_rpath
  • include Contributors in docs
  • warn about duplicate docs in datadir and remove them

0.10.0 (2016-07-27)

  • rename executable and manpage back to 'cabal-rpm': more predictable
  • explicit error for unknown command
  • sort docs and include upstream changelogs and news
  • add cabal-rpm version header line to spec files
  • new highly experimental command to refresh spec files
  • only add "ExclusiveArch: %{ghc_arches_with_ghci}" for RHEL/EPEL
  • use revised Hackage .cabal files on SUSE (@peti)
  • on SUSE add explicit requires for pkgconfig
  • new --compiler option (@peti)
  • new --distro option (@peti)
  • new --strict option which fails when unresolved cdeps (@peti), otherwise a warning is output
  • update now shows diff
  • use %cabal_test (@mimi1vx)
  • no longer duplicate docs in datadir
  • package datadir better
  • for SUSE libs executables now go in the base package

0.9.11 (2016-05-06)

  • build with Cabal-1.24

0.9.10 (2016-03-24)

  • bugfixes
    • update no longer tries to grep non-existent .git
    • fix duplicate clibs
  • fix build with ghc-8.0 (Cabal-1.23 and time-1.6)
  • SuSE improvements: no disttag or rpmdev-bumpspec

0.9.9 (2016-01-25)

  • couple of minor improvements for SUSE packaging

0.9.8 (2015-10-08)

  • better %license logic
  • fix handling of versions without '.'
  • no duplicate test deps

0.9.7 (2015-08-28)

  • 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

0.9.6 (2015-05-21)

  • make "cabal list" quiet
  • filter missing packages from repoquery

0.9.5.1 (2015-05-01)

  • add old-locale Cabal flag to fix build on ghc-7.10

0.9.5 (2015-04-20)

  • fix for dnf repoquery
  • create SOURCES/ for tarball
  • fixes for Cabal-1.22
  • nogpgcheck for Fedora 22+
  • warn about hidden backup spec files

0.9.4 (2015-02-17)

  • use dnf if installed instead of yum for install and repoquery
  • update now only commits changes and new source if git origin is ssh
  • allow Cabal-1.22

0.9.3 (2015-02-05)

  • make sure tarball destdir exists before copying
  • improve output for listing missing packages
  • update improvements: new-sources first, continue if patch fails, git commit changes
  • spec: sort executables and use %pkg_name in %ghc_fix_dynamic_rpath
  • drop the debuginfo handling for C files
  • ignore emacs temp ".#pkgname.spec" files

0.9.2 (2014-12-18)

  • lots of bug fixes
  • improved missingdeps output
  • use https for hackage URLs (codeblock)
  • no longer override %_sourcedir, %_rpmdir, and %_srcrpmdir, unless git dir
  • new "update" command to update spec to latest version
  • use 'rpm --eval "%{?dist}"' to determine OS type
  • fix build and warnings for Cabal 1.20
  • use TMPDIR

0.9.1 (2014-08-26)

  • missingdeps now lists missing dependencies recursively and outputs Hackage package names rather than ghc-*-devel package names
  • do not assume package order when testing if dependencies installed
  • check ~/.cabal/packages/ exists before looking for tarballs
  • pass actual exeNames to %ghc_fix_dynamic_rpath

0.9 (2014-07-17)

  • reworked initial logic to make better use of existing spec files, and prep source tree properly
  • default to Library packaging instead of BinLib: override with --binary which replaces --library
  • prep src for version in existing spec file when building
  • 'install' command now does local recursive rpmbuilding
  • try "rpm -qf" and then rpmquery to resolve clib devel depends
  • support SUSE packaging (thanks Jan Matějka)
  • support RHEL5 packaging
  • support Cabal-1.20
  • improve output for 'depends' command
  • no duplicate clibs deps
  • include "cblrpm" in tempdir names
  • use current dir name as a last guess of package name

0.8.11 (2014-05-17)

  • build command renamed again from "rpm" to "local" (like fedpkg)
  • use .spec file to determine pkg-ver when no .cabal file around
  • 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
  • also pull in Cabal and ghc-rpm-macros when yum installing deps
  • no longer depends on regex-compat
  • some refactorings

0.8.10 (2014-03-03)

  • diff command replaces cblrpm-diff script
  • new missingdeps command
  • replace use of rpmspec: no "rpmspec --srpm" on RHEL 5 and 6

0.8.9 (2014-02-10)

  • bugfix for error handling dir with spec file
  • cblrpm-diff arg is now optional

0.8.8 (2014-02-09)

  • updated GPLv3 license headers
  • use .spec file to determine package if no .cabal file (works with or without arg)
  • bugfix: install command now works even if some dependencies not packaged
  • bugfix: do not re-copy cached tarball each time
  • use new shorter hackage2 URL for packages
  • capitalize start of summary and description
  • filter @ and \ quotes in descriptions
  • 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)
  • notice for overwriting existing spec file with force option

0.8.7 (2013-12-31)

  • 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 (Ricky Elrod)
  • hlint cleanup
  • support AGPL license in Cabal-1.18

0.8.6 (2013-10-04)

  • check for _darcs or .git dir in package topdir not pwd

0.8.5 (2013-09-29)

  • fix repoquery when a package update exists for C lib
  • make cblrpm-diff quieter

0.8.4 (2013-09-28)

  • 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 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

0.8.3 (2013-07-12)

  • only try to install missing dependencies
  • for executables depending on own lib add BR chrpath and %ghc_fix_dynamic_rpath
  • word-wrap generic descriptions
  • map ffi to libffi
  • move modules to toplevel
  • Rpm module split into Spec and Build in Commands/

0.8.2 (2013-07-02)

  • 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
  • warn about long synopsis rather than multiline
  • wrap after end of sentence near end of line
  • use _isa in requires ghc-
  • --version now outputs to stdout
  • new --force flag to overwrite existing .spec file

0.8.1 (2013-06-14)

  • word wrapping of descriptions
  • use generic description for shared subpackage
  • simplify logic for summary and description processing

0.8.0 (2013-05-31)

  • new simplier revision to Fedora Packaging
    • drop %common_summary and %common_description
    • drop %ghc_package, %ghc_description, %ghc_devel_package, %ghc_devel_description, %ghc_devel_post_postun, %ghc_files, and %ghc_devel_requires
  • check external programs available before use
  • tweaks for ghc-7.6.3 and Cabal-1.16

0.7.1 (2013-03-22)

  • add final full-stop to description if missing
  • add ver-rel to initial changelog entry
  • fix use of cblrpm-diff force lib option
  • 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

0.7.0 (2013-01-22)

  • cabal-rpm command renamed to cblrpm, and cabal-rpm-diff to cblrpm-diff
  • cblrpm now has commands for spec, srpm, and build
  • cblrpm will try to install packaged uninstalled depends with sudo yum install
  • add %ghc_arches_with_ghci for hamlet dep
  • cblrpm-diff supports -l
  • cblrpm --version
  • sort extralibs depends
  • cleanup of unused options and help output

0.6.6 (2012-11-21)

  • generate BRs and Req's for C libraries (extra-libraries)
  • initial map for some C libs: libglut, libiw, libz, libX*
  • generate BRs and Req's for pkgconfig-depends
  • generate BRs for build-tools
  • initial map for build-tools: gtk2hs-buildtools
  • map LGPL-2.1 license to LGPLv2+ tag
  • backup suffix changed from .cabal-rpm to .cblrpm
  • don't mistake non-existent file in cwd for a package

0.6.5 (2012-11-01)

  • drop hscolour BuildRequires
  • simplify generated BuildRequires: drop version ranges for now, exclude pkg self, base libs, and Cabal
  • use ExclusiveArch ghc_arches_with_ghci for template-haskell dep
  • replace --name option with --library to force Lib

0.6.4 (2012-09-25)

  • add cabal-rpm-diff
  • fix manpage generation

0.6.3 (2012-09-24)

  • support tarball path argument
  • use a temporary working dir for opening tarball or cabal unpack
  • add a manpage

0.6.2 (2012-09-10)

  • fix output of L/GPL version

0.6.1 (2012-07-25)

bugfixes:

  • fix "cabal-rpm pkg" when other pkg packages exist in hackage
  • always generate the extra docs list from the pkg src dir!
  • now no backslash at end of common_description

0.6.0 (2012-07-24)

  • updated to work with Cabal >= 1.10 and current cabal2spec style packaging using currently actively used ghc-rpm-macros
  • should generate haskell dependencies correctly and also summary and description text
  • some of the generic compiler supported was dropped for simplicity
  • rpmbuild support will be re-introduced in a future version

0.5.1 and earlier (2007-2008) released by Bryan O'Sullivan

  • should work with ghc-6.8

Local Variables:

mode: text

End: