Commit Graph

65 Commits

Author SHA1 Message Date
Hamish Mackenzie
fc124c83a8
ifdLevel 3 2022-05-13 10:59:32 +12:00
Hamish Mackenzie
20ae99c9e2
ifdLevel 2 2022-05-13 08:35:55 +12:00
Hamish Mackenzie
a226667e1a
ifdLevel 1 2022-05-13 00:32:26 +12:00
Hamish Mackenzie
fae257efd7
ifdLevel 0 2022-05-11 23:20:11 +12:00
Hamish Mackenzie
82832676a1
ifdLevel 3 2022-04-08 18:52:37 +12:00
Hamish Mackenzie
aaae688f47
ifdLevel 2 2022-04-08 15:11:50 +12:00
Hamish Mackenzie
aef9e94377
ifdLevel 1 2022-04-08 13:09:22 +12:00
Hamish Mackenzie
31eea6644d
ifdLevel 0 (for hydra sigh) 2022-04-07 22:10:42 +12:00
Hamish Mackenzie
dbb6409cab
Add windows-secp256k1 binary distribution (#1424) 2022-04-04 16:54:07 +12:00
Hamish Mackenzie
59799a29cb
ifdLevel 3
Got set to 1 inadvertently when combining the testing of two PRs and then merging them separately.
2022-01-09 03:50:48 +13:00
Hamish Mackenzie
6101c6ea7b
Add GHC 9.0.2 (#1338)
Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>
2022-01-09 03:10:05 +13:00
Hamish Mackenzie
e95a1f0dac
Update nixpkgs pins. Turn off CI for nixpkgs-2105 (#1308)
* Turn off haskell.nix tests for nixpkgs-2105
* nix flake lock --update-input the nixpkgs pins
* Update docs
2021-12-13 18:05:15 +13:00
Hamish Mackenzie
91ec10c032
ifdLevel 3 2021-11-13 23:07:19 +13:00
Hamish Mackenzie
24b421cbfc
Add ghc 9.2.1 and update internal cabal to 3.6.2 (#1286) 2021-11-13 12:43:04 +13:00
Hamish Mackenzie
0f89172fe0
ifdLevel 2
Eval is failing and this will reduce load on hydra servers
2021-11-12 20:15:58 +13:00
Hamish Mackenzie
1f4c2c9b08
Add GHC 8.10.7 (#1220) 2021-09-01 22:43:31 +12:00
Teo Camarasu
f624ca5662
Add GHC-8.10.6 (#1214)
Add GHC-8.10.6

Co-authored-by: Peter Becich <peter@simspace.com>
Co-authored-by: Teo Camarasu <teofilcamarasu@gmail.com>
Co-authored-by: Hamish Mackenzie <Hamish.K.Mackenzie@gmail.com>
2021-08-31 04:19:40 +12:00
Hamish Mackenzie
d5d304d5b5
Flakify all inputs (#1180)
* Include dependencies of haskell.nix that were tracked in `nix/sources.json`
  as flake inputs (`flake.lock` replaces `nix/sources.json`).
* Use `flake-compat` to continue to provide a compatible interface for non
  flake projects.

Co-authored-by: Alexander Bantyev <balsoft@balsoft.ru>
Co-authored-by: Shea Levy <shea@shealevy.com>
2021-08-06 15:54:39 +12:00
Hamish Mackenzie
a28099f2f6
Put ifdLevel back to 3 (#1187)
I forgot to bump it back after setting it to 2 in #1184
2021-08-03 13:43:06 +12:00
Rodney Lorrimar
a4234bfaa2
Bump nix-tools to PR input-output-hk/nix-tools#98 branch (#1184)
Adds a fix for this error when regenerating files with `stack-to-nix`:
```
stack-to-nix: .stack-to-nix.cache: openFile: resource busy (file is locked)
```
2021-08-03 12:01:42 +12:00
Hamish Mackenzie
674f5b0a3d
Better support for source-repository-packages, only include planned components and pick latest packages (#1166)
This change updates to the latest `nix-tools` to get the following fixes (there are 3 PRs in nix-tools, but just the one in haskell.nix to avoid having to update the materialized files multiple times):

## Better support for source repository packages

* https://github.com/input-output-hk/nix-tools/pull/107

Currently these are replaced by the `cabalProject` functions with regular `packages:` before running cabal configure.  Cabal does not treat these the same (the setting of `tests:` and `benchmarks:` in the `cabal.project` file):

* The plan found by `cabalProject` may not match the one used when running `cabal`.
* The performance of the solver may not be consistent with running `cabal`.

This change replaces `source-repository-package` with another `source-repository-package` pointing at a minimal git repo.

## Only include planned components

* https://github.com/input-output-hk/nix-tools/pull/108

Only the components in the `plan.json` are now included in the haskell.nix cabal projects.  This avoids missing dependencies attempting to build components that were not in the plan.  Should fix #993.

## Pick latest packages

* https://github.com/input-output-hk/nix-tools/pull/109

When the same package occurs more than once in a `plan.json` file (perhaps because it is needed both by the project itself and by one of the `setup` dependencies or `build-tool-dependencies` of the project) the latest version will now be the one picked by haskell.nix. This is a work around for a common issue with `cabal-doctest` when cross compiling to windows (an old version of Win32 is used even if a newer one was required by the projects `constraints`).
2021-07-23 14:27:56 +12:00
Moisés Ackerman
2b842f282c
Add nixpkgs-2105 (#1133)
* Add nixpkgs-2105

* [WIP] Drop nixpkgs-2003

* Update all the nixpkgs pins

* Default to nixpkgs-2009 for build.nix

* Update individual jobs to nixpkgs 2105

Co-authored-by: Hamish Mackenzie <Hamish.K.Mackenzie@gmail.com>
2021-06-23 13:28:52 +12:00
Hamish Mackenzie
a5b74bf002
niv update nixpkgs-unstable and add ghc 8.10.5 (#1121) 2021-06-15 19:50:45 +12:00
Hamish Mackenzie
dc49a0f404
ifdLevel 3 2021-05-24 16:47:37 +12:00
Hamish Mackenzie
f5be1a7ca9
ifdLevel 2 2021-05-23 23:49:32 +12:00
Hamish Mackenzie
dcadec4a2d
ifdLevel 1 2021-05-23 23:26:59 +12:00
Hamish Mackenzie
986a800713
Try to fix qAddDependentFile for windows (#1116)
Co-authored-by: Moritz Angermann <moritz.angermann@gmail.com>
2021-05-22 06:54:19 +12:00
Hamish Mackenzie
197eddd4a1
ifdLevel 1 2021-05-20 13:42:23 +12:00
Hamish Mackenzie
1c77a16e45
ifdLevel 3 2021-05-19 10:37:02 +12:00
Hamish Mackenzie
5daad7b286
ifdLevel 2 2021-05-19 00:30:11 +12:00
Hamish Mackenzie
05f999da80
ifdLevel 1 2021-05-18 23:04:44 +12:00
Hamish Mackenzie
7e5eeaabef
ifdLevel 2 2021-05-18 22:24:03 +12:00
Hamish Mackenzie
31aa9319b0
ifdLevel 1 2021-05-18 19:12:25 +12:00
Hamish Mackenzie
72beef11fc
ifdLevel 3 2021-03-21 21:52:11 +13:00
Hamish Mackenzie
ab909a8a5c
ifdLevel 2 2021-03-21 19:18:07 +13:00
Hamish Mackenzie
f600106883
ifdLevel 1 (hydra eval is building ghc for some reason) 2021-03-20 22:55:22 +13:00
Hamish Mackenzie
cd91692380
GHC 8.10.4 (#1033)
* Adds GHC 8.10.4 support

* Drops GHC 8.8.3, 8.10.2 and 8.10.3 from CI

* Adds warning to encourage people to use less buggy ghc
2021-02-09 14:30:32 +13:00
Hamish Mackenzie
0f7c5afc41
Add ghc 8.10.3 (#980) 2021-01-11 18:47:56 +13:00
Hamish Mackenzie
e02d5a8ca4
Smaller required jobs (#990)
We still seem to be getting some OOM errors.  This is likely to be
because some of the required jobs are still very large (with multiple
cross compilation target platforms). Hopefully breaking these out will
help.
2021-01-06 17:40:15 +13:00
Michael Peyton Jones
f6bc2f7315
Better 'required' job that includes everything (#976)
This requires explicitly identifying the things tht don't work and
removing them. I used our own `disabled` attribute, because `broken` is
weird and breaks evaluation, which isn't really what we want.

Cuts the number of jobs from over 2000 to 216. This seems to greatly
speeds up the time it takes small changes (where most stuff remains the
same) to be processed by hydra.

Uses https://github.com/NixOS/hydra/issues/715 to reference the
jobs in required by name avoiding OOM issues.

Co-authored-by: Hamish Mackenzie <Hamish.Mackenzie@iohk.io>
2021-01-06 16:44:43 +13:00
Michael Peyton Jones
738af22ce9
Move more CI to 20.09 (attempt 2) (#975)
* Update default nixpkgs to 20.09

* Move more CI to work on 20.09 by default

* IFD level 1

* Use nixpkgs 20.03 emscripten (needed for ghcjs)

* Add missing materialized files

* Add missing materialized files

* Fix for ghc 8.8 build on darwin

* Fix for ghcjs 8.8 build on darwin

* Fix hls stack test eval for ghc810220201118

* ifdLevel 2

* Oops: accidentally turned on tests for experimental GHC

* Revert "Fix hls stack test eval for ghc810220201118"

This reverts commit b405cd7ee8bd62214bd2d0a61e0317673b5bf1b5.

* ifdLevel 3

* Disable GHC 8.6.5 windows cross on nixpkgs 20.09

* Update supported GHC doc with a table

* Add emscripten comment

Co-authored-by: Hamish Mackenzie <Hamish.Mackenzie@iohk.io>
2020-12-17 15:57:09 +00:00
John A. Lotoski
09526c8555
Spelling, typo and whitespace fixes (#833)
* Spelling and typo fixes in doc and code comments
* Trailing whitespace or whitespace only truncation
* readTheDocs formatting corrections
2020-08-31 11:08:25 +12:00
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
Hamish Mackenzie
15fc6b3774
Add ghc 8.10.1 (#541)
* ghc 8.10
* Adds/Updates/Removes materialization files
* Disable one-shot-kqueue-on-macos patch on ghc-8.10
* Test ghc883 and ghc8101 but only with nix 20.03
* Various smaller fixes.

This should fix the infinite recursion issue with #654

Co-authored-by: Lennart Spitzner <hexagoxel@hexagoxel.de>
2020-06-07 11:05:44 +08:00
Hamish Mackenzie
ff9a01e82e
Add missing pins and test ghc865 and ghc883 (#641)
Now that the defaultCompilerNixName is used to choose which GHC to use
for tools we need to update haskellNixRoots to make sure the common
tools wind up in the cache.

To do this we add the compilerNixName as a dimension in ci.nix.
This has the added bonus of ensuring the tests a run with the
supported versions of ghc (not just the default one).

haskellNixRoots is also updated to include the tools built with the
defaultCompilerNixName (in particular cabal-install was not pinned
and this was the likely cause of significant builds due to cache
misses).
2020-06-02 11:44:03 +12:00
Hamish Mackenzie
cbe66fffa4
ifdLevel 3 2020-05-12 12:07:41 +12:00
Hamish Mackenzie
ce8abdb1c1
ifdLevel 2 2020-05-12 02:28:57 +12:00
Hamish Mackenzie
e37927d4ed
ifdLevel 1 2020-05-12 02:07:01 +12:00
Maxim Koltsov
fea02bdaba
Update nix-tools with Cabal-3.2 (#591)
Update nix-tools and regenerate nix-tools plan

Co-authored-by: Hamish Mackenzie <Hamish.Mackenzie@iohk.io>
2020-05-11 23:54:13 +12:00
Michael Peyton Jones
701c83fb43
Update nixpkgs pins to include 20.03 (#557)
* Update nixpkgs pins to include 20.03, wobble

- Add 20.03
- Remove 19.03 (and old 18.09 file)
- Update 19.09 to latest
- Update github pin to 20.03
- Remove workarounds for 19.03

* Mark openssl as allowedInsecure

* Force python3 for mkdocs
2020-04-29 02:49:36 +12:00