Skip to content

Releases: cdepillabout/stacklock2nix

v4.1.0

11 Nov 23:21
3cb77e9
Compare
Choose a tag to compare
  • Add build depend on system tzdata package for the Haskell tz and tzdata packages in nix/build-support/stacklock2nix/suggestedOverlay.nix. Fixed in #52.

  • Make sure Haskell packages specified as Git repos in the stack.yaml file check out all submodules when fetching their source. Fixed in #53. Thanks to @isomorpheme for reporting this.

  • Change handling of subdirs for git extra-deps.

    stacklock2nix internally calls cabal2nix to generate Nix expressions for Haskell packages. In previous versions of stacklock2nix, the actual subdir for a git extra-dep would be copied to the Nix store, and then cabal2nix would be run on it.

    This has been fixed to instead call cabalni2x on the full Git repo, but pass the --subpath to specify the sub package. This likely works better where sub paths contain soft links to other paths in the Git repo.

    It is unlikely this change will cause any problems for any current users of stacklock2nix.

    Fixed in #46 and #56. Thanks to @isomorpheme

  • Make stacklock2nix's fromYAML function more reliable.

    stacklock2nix internally uses the remarshal tool for converting from the stack.yaml file to a JSON, in order to read it with Nix.

    Recent versions of remarshal (>= 0.17.0) changed functionality to fail at runtime more often. An new flag is needed on the command line to fall back to the old functionality.

    Fixed in #55. Thanks to @Mr-Andersen

v4.0.2

13 Aug 11:22
6869a0d
Compare
Choose a tag to compare

Fix a bug where stacklock2nix would throw an error if there were no local packages defined in the input stack.yaml file.

This PR also makes stacklock2nix use a default package of "." if the top-level packages key is missing from the stack.yaml file. This matches stack's behavior.

Fixed in #50. Thanks @chris-martin for reporting this.

v4.0.1

12 Jan 09:22
Compare
Choose a tag to compare
  • Download .cabal file revisions from the public Casa instance instead of Hackage.

    We believe this change shouldn't affect any end users, but we now depend on https://casa.stackage.org instead of Hackage. If Casa ends up having signficantly worse uptime than Hackage, then users may be affected when trying to use stacklock2nix. Please let us know if this ends up affecting you.

    Added in #42. Thanks @TeofilC!

v4.0.0

22 Nov 06:16
84694f4
Compare
Choose a tag to compare
  • Make sure the psqueues Haskell package gets the fingertree-psqueue dep
    depending on what version of psqueues you're compiling.

    Added in #39.

  • Change stacklock2nix's handling of Stack's git dependencies.

    A git dependency looks like the following in stack.yaml:

    extra-deps:
      - git: "https://github.com/haskell-servant/servant-cassava"
        commit: "f76308b42b9f93a6641c70847cec8ecafbad3abc"

    Up until now, stacklock2nix would download Stack's git dependencies using
    Nix's builtins.fetchGit function.

    By default, this function doesn't clone the full repository, but only the
    history of the default branch. This is a problem if you try to specify a
    commit that is not a parent of the default branch. This may happen if
    you're developing new functionality in a feature branch that hasn't yet
    been merged into master.

    stacklock2nix has been changed to additionally specify the allRefs = true
    argument to builtins.fetchGit. This causes the full Git repository to be
    downloaded, even commits that aren't ancestors of the default branch.

    Added in #39.
    Thanks to @isomorpheme for reporting this
    and coming up with the fix.

    It is possible this causes increased download times, especially for repos
    that are very big.

    You may be able to work around this by using Stack's functionality for
    downloading given URLs, in order to download a tarball of a repository
    (without any of the Git history).:

    extra-deps:
      - url: "https://github.com/haskell-servant/servant-cassava/archive/f76308b42b9f93a6641c70847cec8ecafbad3abc.tar.gz"

v3.0.5

09 Oct 23:53
10d5316
Compare
Choose a tag to compare
  • Make sure the digest Haskell package gets the system zlib as an argument.

    Added in #35.

v3.0.4

02 Aug 02:04
292fe5d
Compare
Choose a tag to compare

Remove dontCheck override for haskeline in nix/build-support/stacklock2nix/suggestedOverlay.nix.

haskeline is a GHC boot package, so it is not built as a separate Nix derivation. It is distributed with GHC, so it is set to null in the Nixpkgs pkg set, and generally can't have overrides applied to it.

v3.0.3

16 Jun 08:21
69a0672
Compare
Choose a tag to compare

Added a few additional overrides to nix/build-support/stacklock2nix/suggestedOverlay.nix to fix some breakages in test suites caused by nick8325/quickcheck#359. QuickCheck-2.14.3 is included in LTS-20.24, so you'll likely need these fixes if you are using LTS-20.24 or later.

Added in #31.

v3.0.2

15 Jun 06:04
b261e6d
Compare
Choose a tag to compare
  • Fix override with splitmix argument, testu01. This gets older versions of splitmix working correctly by default, as well as when building splitmix on Darwin.

    Added in #28.

  • A few additional overrides added to nix/build-support/stacklock2nix/suggestedOverlay.nix to fix some common problems on Darwin.

    Added in #28.

Thank you to @sestrella and @oscar-izval for helping uncover and debug these issues.

v3.0.1

07 Jun 06:38
8e02760
Compare
Choose a tag to compare

Fix override with unordered-containers argument, nothunks.

Added in #26.

v3.0.0

03 May 02:24
404c9a3
Compare
Choose a tag to compare

Add some additional filters to the default localPkgFilter argument.

Now most files from Haskell.gitignore are filtered out by default.

While this is technically a breaking change, this shouldn't negatively affect most users.

Added in #24.