ANN: stack-

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

ANN: stack-

Emanuel Borsboom

New version released of stack, a build tool.

See README for installation and upgrade instructions.

Note: the binary tarballs’ contents have changed, and they now enclose their contents in a directory, and include documentation. If you have a script that should only extract the stack executable, use something like tar xzf stack- --strip-components=1 stack-

MinGHC installers have also been updated to include this version of stack (and will continue to be updated for future releases).

Major changes:

  • On Windows, we now use a full MSYS2 installation in place of the previous PortableGit. This gives you access to the pacman package manager for more easily installing libraries.
  • Support for custom GHC binary distributions #530
    • ghc-variant option in stack.yaml to specify the variant (also
      --ghc-variant command-line option)
    • setup-info in stack.yaml, to specify where to download custom binary
      distributions (also --ghc-bindist command-line option)
    • Note: On systems with libgmp4 (aka, such as CentOS 6, you
      may need to re-run stack setup due to the centos6 GHC bindist being
      treated like a variant
  • A new --pvp-bounds flag to the sdist and upload commands allows automatic adding of PVP upper and/or lower bounds to your dependencies

Other enhancements:

  • Adapt to upcoming Cabal installed package identifier format change #851
  • stack setup takes a --stack-setup-yaml argument
  • --file-watch is more discerning about which files to rebuild for #912
  • stack path now supports --global-pkg-db and --ghc-package-path
  • --reconfigure flag #914 #946
  • Cached data is written with a checksum of its structure #889
  • Fully removed --optimizations flag
  • Added --cabal-verbose flag
  • Added --file-watch-poll flag for polling instead of using filesystem events (useful for running tests in a Docker container while modifying code in the host environment. When code is injected into the container via a volume, the container won’t propagate filesystem events).
  • Give a preemptive error message when -prof is given as a GHC option #1015
  • Locking is now optional, and will be turned on by setting the STACK_LOCK environment variable to true #950
  • Create default stack.yaml with documentation comments and commented out options #226
  • Out of memory warning if Cabal exits with -9 #947

Bug fixes:

  • Hacky workaround for optparse-applicative issue with stack exec --help #806
  • Build executables for local extra deps #920
  • copyFile can’t handle directories #942
  • Support for spaces in Haddock interface files fpco/minghc#85
  • Temporarily building against a “shadowing” local package? #992
  • Fix Setup.exe name for —upgrade-cabal on Windows #1002
  • Unlisted dependencies no longer trigger extraneous second build #838