- Set default "ghc" in PATH for cabal-docspec to work
- Supports using ghcup to install ghc automatically if
GHCUP_VERSION
env var is specified. - Supports running cabal-docspec (doctest) in
cabal
build using theENABLE_DOCSPEC
option (Linux only). HLINT_VERSION
env var can be used to install a specific version of hlint
- Explicit
hlint
command was added. Usepackcheck hlint HLINT_OPTIONS="lint" ...
instead ofpackcheck cabal-v2 HLINT_OPTIONS="lint" ...
to run hlint on the package. - Removed GHCJS, coveralls support
CABAL_DISABLE_DEPS
env var to disable dependencies install by cabal. This can be useful when we have dependencies already installed e.g. in a nix shell.- Add support for github CI
- Add packcheck-remote.sh, a wrapper over packcheck that allows you to run packcheck on a remote repository by cloning it locally and optionally merging a branch into another branch (e.g. merging a PR branch into master).
- Several fixes to make distribution builds safer and with more checks
- Do a sanity check for the existence of files in .packcheck.ignore and .hlint.ignore
- "packcheck cabal" now defaults to "packcheck cabal-v2"
- Support for
cabal-v1
is removed- CI now fails if
cabal-v1
is used as a command CABAL_CONFIGURE_OPTIONS
is removedCABAL_NO_SANDBOX
is removedpackcheck cleanall
does not remove.cabal-sandbox/
and.cabal.sandbox.config
anymore
- CI now fails if
- Support for
cabal-new
is removed- CI now fails if
cabal-new
is used as a command CABAL_NEWBUILD_OPTIONS
is removedCABAL_NEWBUILD_TARGETS
is removed
- CI now fails if
- A new command
hlint
is introduced. Thehlint
build is only triggered by using this command. ENABLE_INSTALL
option has been removed.
- Fix breakage due to
DISABLE_SDIST_GIT_CHECK
option. Due to this bug, build was always failing by default and reported as success.
HLINT_COMMANDS
is deprecated and replaced byHLINT_OPTIONS
/HLINT_TARGETS
- New
HLINT_OPTIONS
/HLINT_TARGETS
env vars to specify hlint commands in a better way.
packcheck.sh
script itself was missing from the package, added.
- CI now fails if
DISABLE_SDIST_BUILD
is not set and the contents of the source distribution tar ball do not match the git repository contents. Either add any exceptions to.packcheck.ignore
file or useDISABLE_SDIST_GIT_CHECK=y
to disable this feature. Currently this check is done only ifgit
andtar
commands are available in thePATH
.
cabal-v1
command now shows a deprecation message and is removed from help. This command will be removed in future.ENABLE_INSTALL
option now does nothing. This change is because of the new behavior in cabal-3. This option will be removed in future.
- Added a feature to detect if any files in the git repo are missing from the source distribution tarball.
- Add
CABAL_PROJECT
environment variable to support specifying a cabal project file.
- When building from source distribution, it would not build again unless
cleaned with
packcheck clean
if a file in the source has changed.
- Deprecate and replace the
cabal
command withcabal-v1
, in futurecabal
will be used forcabal-v2
. - Deprecate and replace the
cabal-new
command withcabal-v2
. - Deprecate and rename
CABAL_NEWBUILD_OPTIONS
toCABAL_BUILD_OPTIONS
- Deprecate and rename
CABAL_NEWBUILD_TARGETS
toCABAL_BUILD_TARGETS
- Use STACK_BUILD_OPTIONS envvar in the dependency install phase as well
- Remove stack yaml creation using stack init/solver
- Search for ghc among stack installed GHC binaries as well
- Add GHCJS support. Use ENABLE_GHCJS=y option.
- Add packcheck-safe.sh . The safe version does not trust or use any environment variables, all environment needs to be specified on the command line. It also catches any misspelled command line parameter names.
- Allow boolean parameters to be specified with a lenient syntax allowing values y|Y|yes|Yes|YES|true|True|TRUE|on|On|ON|n|N|no|No|NO|false|False|FALSE|off|Off|OFF
- Disable hpc-coveralls by default
- Add support for circle CI
- Add support for multi-package stack as well as cabal repos
- Add a version command
- Add CABAL_NEWBUILD_TARGETS envvar to build specific targets
- Add GHC 8.6.1 in build matrices
- Add a new environment var option DISABLE_DIST_CHECKS to disable source distribution checks. This can be used as a workaround for a bug in stack causing "stack sdist" to fail.
- For stack builds, use the same options (STACK_BUILD_OPTIONS) for install test as for build so that an extra rebuild does not occur during install.
- Workaround to avoid depending on
cabal info
command; in certain cases this command crashes cabal. See issue #13.
- Add cabal new-build support. Use
packcheck.sh cabal-new
to use it. - Add knobs to disable tests or doc builds (
DISABLE_TEST
,DISABLE_DOCS
) - Now you can specify multiple versions of GHC in PATH and packcheck automatically finds the right one based on GHCVER envvar.
- Add TOOLS_DIR option to specify hvr-ghc style installation of ghc and cabal. A correct version of GHC is automatically picked from this directory.
- GHCVER and CABALVER variables are now optional in travis config if you specify the cabal and ghc PPAs under apt sources.
- Run
autoreconf
if there is aconfigure.ac
in the package dir
- TEST_INSTALL option is deprecated, use ENABLE_INSTALL instead
- Make
STACK_BUILD_OPTIONS
andCABAL_CONFIGURE_OPTIONS
append to the existing build/configure options instead of overriding them. - Do not enforce specific
stack
version in CI configs - this is done to avoid failures due to github API limits when upgrading or downgrading.
- Avoid build failures in cases when
cabal-install
has to be installed and its dependencies may conflict with the current project dependencies.
- Better documentation in travis and appveyor configs
- Reduce the number of builds in default config from 11 to 6
- Enhancement: Nix support; fix bash location to make it work on NixOS and potentially on other systems.
- Initial release