Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ghc 8.10.1 #541

Merged
merged 73 commits into from
Jun 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
4953791
ghc 8.10
hamishmack Apr 10, 2020
d0664f2
Add unix and bump index-state of ghc-extra-pkgs
hamishmack Apr 10, 2020
2eb5d28
ifdLevel 0
hamishmack Apr 10, 2020
468fa6a
ifdLevel 1
hamishmack Apr 11, 2020
5bb343c
Merge master into hkm/ghc8101
hamishmack May 25, 2020
e0fc224
Disable one-shot-kqueue-on-macos patch on ghc-8.10
lspitzner May 18, 2020
449ef1b
ifdLevel 0
hamishmack May 25, 2020
1947ca4
Materialization update
hamishmack May 25, 2020
17760c0
ifdLevel 1
hamishmack May 25, 2020
0762bc0
Add materialized unix.nix for ghc 8.8.3
hamishmack May 25, 2020
c5a4455
Add unix materialization for ghc-extra-projects
hamishmack May 25, 2020
7a766ae
Add hpc and some of the materialization updates
hamishmack May 25, 2020
16be190
Switch materialization checks off
hamishmack May 25, 2020
02fefe2
Update materialization
hamishmack May 25, 2020
9af25ab
More ghc 8.10 materialization files
hamishmack May 25, 2020
1c73cc5
More materialization fixes
hamishmack May 25, 2020
378533b
Add missing files
hamishmack May 25, 2020
d8f9b11
ifdLevel 2
hamishmack May 28, 2020
1f8082b
Merge master into hkm/ghc8101
hamishmack Jun 2, 2020
1718b7e
Test ghc883 and ghc8101 but only with nix 20.03
hamishmack Jun 2, 2020
ab67236
Fix haskellNixRoots to use defaultCompilerNixName
hamishmack Jun 2, 2020
be3f3b2
ifdLevel 0
hamishmack Jun 2, 2020
384dff9
ifdLevel 1
hamishmack Jun 2, 2020
3e2b3ad
unix constraints have been updated in hackage
hamishmack Jun 2, 2020
f767481
Update hackage index-state used
hamishmack Jun 2, 2020
56fb7be
Fix nix-tools and update materialized files
hamishmack Jun 2, 2020
06be222
Remove unix.nix materialization
hamishmack Jun 2, 2020
3c6b752
Use cabal-install built with ghc883 for ghc8101
hamishmack Jun 3, 2020
6884644
Use cp -Lr in materialize
hamishmack Jun 3, 2020
f223df0
Add checkMaterialization arg to release.nix
hamishmack Jun 3, 2020
b1ff085
Add ghc 8.10 materialization files
hamishmack Jun 3, 2020
81fc625
Fix access to path is forbidden in restricted mode
hamishmack Jun 3, 2020
d914f6c
ifdLevel 2
hamishmack Jun 3, 2020
6ab9dfd
Merge remote-tracking branch 'origin/master' into hkm/ghc8101
hamishmack Jun 3, 2020
8136e11
Merge remote-tracking branch 'origin/master' into hkm/ghc8101
hamishmack Jun 4, 2020
d57914f
Exclude pandoc based tests for ghc 8.10 for now
hamishmack Jun 4, 2020
239f192
Merge remote-tracking branch 'origin/master' into hkm/ghc8101
hamishmack Jun 4, 2020
4e26c71
Add materialization files for aarch64 ghc 8.10
hamishmack Jun 4, 2020
2898079
Fix missing -lnuma when linking musl test exes
hamishmack Jun 4, 2020
e7727f1
Reduce the number of calls to override functions
hamishmack Jun 4, 2020
201d3fa
cp -L is not needed for user to cp calculateNoHash
hamishmack Jun 4, 2020
506d974
Update dummy-ghc files
hamishmack Jun 4, 2020
515f055
Merge branch 'hkm/musl-numa' into hkm/ghc8101
hamishmack Jun 4, 2020
55c66bf
ifdLevel 0
hamishmack Jun 4, 2020
539b15d
ifdLevel 1
hamishmack Jun 4, 2020
bb560b2
ifdLevel 2
hamishmack Jun 5, 2020
b007905
ifdLevel 1
hamishmack Jun 5, 2020
22d4e0d
Merge remote-tracking branch 'origin/master' into hkm/ghc8101
hamishmack Jun 5, 2020
954b73f
Fix arm cross compilation
hamishmack Jun 5, 2020
7d8f411
Merge hkm/arm-ghc865-fix into hkm/ghc8101
hamishmack Jun 5, 2020
09ffdad
Disable windows cross tests with ghc 8.10.1
hamishmack Jun 5, 2020
e9e3ab4
ifdLevel 2
hamishmack Jun 5, 2020
0e447fd
Don't include hello until ifdLevel 3
hamishmack Jun 5, 2020
5d81d7f
More evalPackages vs buildPackages fixes
hamishmack Jun 5, 2020
7e98b02
ifdLevel 3
hamishmack Jun 6, 2020
c01e94f
Merge remote-tracking branch 'origin/master' into hkm/ghc8101
hamishmack Jun 6, 2020
5eb0631
More git version caching fixes
hamishmack Jun 6, 2020
6280caf
Include haskellNixRoots even for aarch64
hamishmack Jun 6, 2020
488a495
ifdLevel 1
hamishmack Jun 6, 2020
4651125
Fix syntax error
hamishmack Jun 6, 2020
35fa474
Update materialized files
hamishmack Jun 6, 2020
2ed5ca5
ifdLevel 2
hamishmack Jun 6, 2020
4db7153
Build the glibcLocales for hostPlatform
hamishmack Jun 6, 2020
66aaa25
Remove unneeded args
hamishmack Jun 6, 2020
a1d566c
Use gitMinimal in cleanGit
hamishmack Jun 6, 2020
087b272
Fix missing aarch64 haskellNixRoots
hamishmack Jun 6, 2020
7695359
s/cabal-nix-name/compiler-nix-name and mat. fixes
hamishmack Jun 6, 2020
2380c99
Update materialized files
hamishmack Jun 6, 2020
d1f8daf
ifdLevel 3
hamishmack Jun 6, 2020
c090296
checkMaterialization true
hamishmack Jun 6, 2020
b0a16a1
Fix macOS materialization of ghc 8.4.4
hamishmack Jun 6, 2020
b5c37e7
checkMaterialization false
hamishmack Jun 6, 2020
f9137fb
Add missing materialized files for native arm
hamishmack Jun 7, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 20 additions & 14 deletions ci.nix
Original file line number Diff line number Diff line change
Expand Up @@ -12,21 +12,23 @@
"R1909" = "nixpkgs-1909";
"R2003" = "nixpkgs-2003";
};
compilerNixNames = builtins.mapAttrs (defaultCompilerNixName: _:
(import ./default.nix { inherit checkMaterialization defaultCompilerNixName; }).nixpkgsArgs) {
compilerNixNames = nixpkgsName: nixpkgs: builtins.mapAttrs (defaultCompilerNixName: _:
(import ./default.nix { inherit checkMaterialization defaultCompilerNixName; }).nixpkgsArgs) ({
ghc865 = {};
} // nixpkgs.lib.optionalAttrs (nixpkgsName == "R2003") {
ghc883 = {};
};
ghc8101 = {};
});
systems = nixpkgs: nixpkgs.lib.filterAttrs (_: v: builtins.elem v supportedSystems) {
# I wanted to take these from 'lib.systems.examples', but apparently there isn't one for linux!
linux = "x86_64-linux";
darwin = "x86_64-darwin";
};
crossSystems = nixpkgsName: nixpkgs: system:
crossSystems = nixpkgsName: nixpkgs: compilerNixName: system:
# We need to use the actual nixpkgs version we're working with here, since the values
# of 'lib.systems.examples' are not understood between all versions
let lib = nixpkgs.lib;
in lib.optionalAttrs (system == "x86_64-linux") {
in lib.optionalAttrs (system == "x86_64-linux" && compilerNixName != "ghc8101") {
# Windows cross compilation is currently broken on macOS
inherit (lib.systems.examples) mingwW64;
} // lib.optionalAttrs (system == "x86_64-linux") {
Expand All @@ -39,7 +41,7 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
let pinnedNixpkgsSrc = sources.${nixpkgs-pin};
# We need this for generic nixpkgs stuff at the right version
genericPkgs = import pinnedNixpkgsSrc {};
in dimension "GHC version" compilerNixNames (compilerNixName: nixpkgsArgs:
in dimension "GHC version" (compilerNixNames nixpkgsName genericPkgs) (compilerNixName: nixpkgsArgs:
dimension "System" (systems genericPkgs) (systemName: system:
let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system; });
build = import ./build.nix { inherit pkgs ifdLevel; };
Expand All @@ -49,33 +51,37 @@ dimension "Nixpkgs version" nixpkgsVersions (nixpkgsName: nixpkgs-pin:
# TODO: can we merge this into the general case by picking an appropriate "cross system" to mean native?
native = pkgs.recurseIntoAttrs ({
inherit (build) tests tools maintainer-scripts maintainer-script-cache;
ghc = pkgs.haskell-nix.compiler."${compilerNixName}";
ghc = pkgs.buildPackages.haskell-nix.compiler."${compilerNixName}";
} // pkgs.lib.optionalAttrs (ifdLevel >= 1) {
iserv-proxy = pkgs.ghc-extra-packages."${compilerNixName}".iserv-proxy.components.exes.iserv-proxy;
} // pkgs.lib.optionalAttrs (ifdLevel >= 2) {
} // pkgs.lib.optionalAttrs (ifdLevel >= 3) {
hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; }).components.exes.hello;
});
}
//
dimension "Cross system" (crossSystems nixpkgsName genericPkgs system) (crossSystemName: crossSystem:
dimension "Cross system" (crossSystems nixpkgsName genericPkgs compilerNixName system) (crossSystemName: crossSystem:
# Cross builds
let pkgs = import pinnedNixpkgsSrc (nixpkgsArgs // { inherit system crossSystem; });
build = import ./build.nix { inherit pkgs ifdLevel; };
in pkgs.recurseIntoAttrs (pkgs.lib.optionalAttrs (ifdLevel >= 1) {
ghc = pkgs.buildPackages.haskell-nix.compiler."${compilerNixName}";
# TODO: look into cross compiling ghc itself
# ghc = pkgs.haskell-nix.compiler."${compilerNixName}";
# TODO: look into making tools work when cross compiling
# inherit (build) tools;
# Tests are broken on aarch64 cross https://github.com/input-output-hk/haskell.nix/issues/513
tests =
if (crossSystemName != "aarch64-multiplatform")
then build.tests
else pkgs.recurseIntoAttrs {
# Even on aarch64 we still want to build the pinned files
inherit (build.tests) haskellNixRoots;
};
} // pkgs.lib.optionalAttrs (ifdLevel >= 2) {
remote-iserv = pkgs.ghc-extra-packages."${compilerNixName}".remote-iserv.components.exes.remote-iserv;
iserv-proxy = pkgs.ghc-extra-packages."${compilerNixName}".iserv-proxy.components.exes.iserv-proxy;
} // pkgs.lib.optionalAttrs (ifdLevel >= 3) {
hello = (pkgs.haskell-nix.hackage-package { name = "hello"; version = "1.0.0.2"; }).components.exes.hello;
}
//
# Tests are broken on aarch64 cross https://github.com/input-output-hk/haskell.nix/issues/513
pkgs.lib.optionalAttrs (crossSystemName != "aarch64-multiplatform") {
inherit (build) tests;
})
)
)
Expand Down
2 changes: 1 addition & 1 deletion lib/call-cabal-project-to-nix.nix
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ let
fetchRepo = repo:
let sha256 = repo."--sha256" or (lookupSha256 repo);
in (if sha256 != null
then pkgs.fetchgit {
then pkgs.evalPackages.fetchgit {
url = repo.location;
rev = repo.tag;
inherit sha256;
Expand Down
9 changes: 5 additions & 4 deletions lib/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
with haskellLib;

let
# Why `final.evalPackages.buildPackages.git`?
# Why not just final.evalPackages.git?
# Why `final.evalPackages.buildPackages.gitMinimal`?
# Why not just final.evalPackages.gitMinimal?
#
# A problem arises when `evalPackages` is `buildPackages`.i
# As may be the case in a flake.
Expand All @@ -24,7 +24,7 @@ let
# * When `gdb` does not exist for `js`, so when cross
# compiling with ghcjs `final.buildPackages.git` fails
# to build at all.
inherit (pkgs.evalPackages.buildPackages) git;
inherit (pkgs.evalPackages.buildPackages) gitMinimal;

in {
# Within the package components, these are the attribute names of
Expand Down Expand Up @@ -204,7 +204,8 @@ in {

# Clean git directory based on `git ls-files --recurse-submodules`
cleanGit = import ./clean-git.nix {
inherit lib git cleanSourceWith;
inherit lib cleanSourceWith;
git = gitMinimal;
inherit (pkgs.evalPackages) runCommand;
};

Expand Down
3 changes: 1 addition & 2 deletions materialized/bootstrap/ghc844/hscolour/default.nix

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

160 changes: 160 additions & 0 deletions materialized/bootstrap/ghc882/alex/.plan.nix/alex.nix

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

49 changes: 49 additions & 0 deletions materialized/bootstrap/ghc882/alex/default.nix

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading