haskell.nix/test/extra-hackage
Hamish Mackenzie 4cac8bd00f
Remove internal deps on default ghc and stackage (#738)
Changes to the interface of haskell.nix (from the changelog.md file):

* Removed `sources.nixpkgs-default`, use `sources.nixpkgs` instead.
* Removed `./nixpkgs` directory, use  `(import ./. {}).sources`
  or `./nix/sources.nix` instead.
* Removes V1 interface for details on how to fix old code see:
    https://github.com/input-output-hk/haskell.nix/issues/709
* Removed defaultCompilerNixName.
* cabalProject, cabalProject', hackage-project and hackage-package
  now require a `compiler-nix-name` argument.
* `haskell-nix.tool` and `.tools` now require a `compiler-nix-name` argument.
  New functions `p.tool` and `p.tools` (where p is a project) do not.
  Like `shellFor { tools = ... }` they will use the compiler nix name
  from the project (including stack projects where it is derived from
  the resolver).
* `haskell-nix.alex` and `haskell-nix.happy` have been removed. Use
  `p.tool "alex" "3.2.5"` or `shellFor { tools = { alex = "3.2.5"; } }`.
* `haskell-nix.nix-tools` -> `haskell-nix.nix-tools.ghc883` (it includes
  the hpack exe now).
* `haskell-nix.cabal-install` -> 
  `p.tool "cabal" "3.2.0.0"` or `shellFor { tools = { cabal = "3.2.0.0"; } }`
* `haskell-nix.haskellNixRoots` -> `haskell-nix.roots ghc883` or `p.roots`

Other changes:

Adds hpack executable to the nix-tools derivations.

Adds a `cabal-hpack` test to make sure `hpack` works with
`cabalProject`.

Reduces the number of calls to `cabalProject` (particularly when
checking materialization), by giving internal tools a per-compiler
attribute.

Uses happy 1.19.12 when building newer ghc versions.

Updates cabal-install 3.2.0.0 to use the source from github that
is compatible with ghc 8.10.1.

Updates the docs for callCabalProjectToNix.

Adds a license mapping to fix a common warning.
2020-07-08 22:54:01 +12:00
..
external-package-demo External hackages (#535) 2020-05-02 18:16:34 +08:00
external-package-user External hackages (#535) 2020-05-02 18:16:34 +08:00
hackage External hackages (#535) 2020-05-02 18:16:34 +08:00
01-index.tar.gz External hackages (#535) 2020-05-02 18:16:34 +08:00
default.nix Remove internal deps on default ghc and stackage (#738) 2020-07-08 22:54:01 +12:00
external-package-demo-0.1.0.0.tar.gz External hackages (#535) 2020-05-02 18:16:34 +08:00
README.md External hackages (#535) 2020-05-02 18:16:34 +08:00

Tests for extra Hackage functionality

This directory contains two packages, external-package-demo and external-package-user, the second one depends on the first one. Both packages were created with cabal init.

external-package-demo was uploaded to local Hackage at localhost and 01-index.tar.gz from that Hackage was downloaded to this directory. Then the index file was processed with hackage-to-nix, the result is in hackage/ directory.

The tests check that cabalProject' is able to construct plan with dependencies from extra Hackage and then build the package itself.