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.

Major changes:

  • “stack setup” now supports building and booting GHCJS from source tarball.
  • On Windows, build directories no longer display “pretty” information
    (like x86_64-windows/Cabal-, but rather a hash of that
    content. The reason is to avoid the 260 character path limitation on
    Windows. See
  • Rename config files and clarify their purposes #969
    • ~/.stack/stack.yaml~/.stack/config.yaml
    • ~/.stack/global~/.stack/global-project
    • /etc/stack/config/etc/stack/config.yaml
    • Old locations still supported, with deprecation warnings
  • New command “stack eval CODE”, which evaluates to “stack exec ghc — -e CODE”.

Other enhancements:

  • No longer install git on Windows
    #1046. You
    can still get this behavior by running the following yourself:
    stack exec -- pacman -Sy --noconfirm git.
  • Typing enter during —file-watch triggers a rebuild #1023
  • Use Haddock’s --hyperlinked-source (crosslinked source), if available #1070
  • Use Stack-installed GHCs for stack init --solver #1072
  • New experimental stack query command #1087
  • By default, stack no longer rebuilds a package due to GHC options changes. This behavior can be tweaked with the rebuild-ghc-options setting. #1089
  • By default, ghc-options are applied to all local packages, not just targets. This behavior can be tweaked with the apply-ghc-options setting. #1089
  • Docker: download or override location of stack executable to re-run in container #974
  • Docker: when Docker Engine is remote, don’t run containerized processes as host’s UID/GID #194
  • Docker: set-user option to enable/disable running containerized processes as host’s UID/GID #194
  • Custom Setup.hs files are now precompiled instead of interpreted. This should be a major performance win for certain edge cases (biggest example: building Cabal itself) while being either neutral or a minor slowdown for more common cases.
  • stack test --coverage now also generates a unified coverage report for multiple test-suites / packages. In the unified report, test-suites can contribute to the coverage of other packages.

Bug fixes:

  • Ignore stack-built executables named ghc
  • Fix quoting of output failed command line arguments
  • Mark executable-only packages as installed when copied from cache #1043
  • Canonicalize temporary directory paths #1047
  • Put code page fix inside the build function itself #1066
  • Add explicit-setup-deps option #1110, and change the default to the old behavior of using any package in the global and snapshot database #1025
  • Precompiled cache checks full package IDs on Cabal < 1.22 #1103
  • Pass -package-id to ghci #867
  • Ignore global packages when copying precompiled packages #1146