Switch to GHC 8.6.5 (#683)

This might improve our Windows build times a bit as the 8.6.4 bindist
was a messed up in various ways.
This commit is contained in:
Moritz Kiefer 2019-04-25 17:22:38 +02:00 committed by GitHub
parent fffd8d03e8
commit 756b2c9e49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 27 additions and 25 deletions

View File

@ -22,7 +22,7 @@ ghc_workspace = "@io_tweag_rules_haskell_ghc_windows_amd64" if is_windows else "
cabal_haskell_package(
package,
"8.6.4",
"8.6.5",
ghc_workspace,
extra_libs,
)

View File

@ -46,7 +46,7 @@ hazel_symlink(
cabal_haskell_package(
package,
"8.6.4",
"8.6.5",
"@io_tweag_rules_haskell_ghc_windows_amd64" if is_windows else "@io_tweag_rules_haskell_ghc-nixpkgs",
extra_libs_with_headers,
)

View File

@ -42,7 +42,7 @@ hazel_symlink(
cabal_haskell_package(
package,
"8.6.4",
"8.6.5",
"@io_tweag_rules_haskell_ghc_windows_amd64" if is_windows else "@io_tweag_rules_haskell_ghc-nixpkgs",
extra_libs_with_headers,
)

View File

@ -198,6 +198,15 @@ filegroup(
repositories = dev_env_nix_repos,
) if is_linux else None
nix_ghc_deps = common_nix_file_deps + [
"//nix:ghc.nix",
"//nix:with-packages-wrapper.nix",
"//nix:overrides/ghc-8.6.5.nix",
"//nix:overrides/c2hs-0.28.6.nix",
"//nix:overrides/ghc-8.6.3-binary.nix",
"//nix:overrides/language-c-0.8.2.nix",
]
# This is used to get ghc-pkg on Linux.
nixpkgs_package(
name = "ghc_nix",
@ -207,7 +216,7 @@ package(default_visibility = ["//visibility:public"])
exports_files(glob(["lib/**/*"]))
""",
nix_file = "//nix:bazel.nix",
nix_file_deps = common_nix_file_deps,
nix_file_deps = nix_ghc_deps,
repositories = dev_env_nix_repos,
) if not is_windows else None
@ -230,25 +239,18 @@ haskell_register_ghc_nixpkgs(
],
locale_archive = "@glibc_locales//:locale-archive",
nix_file = "//nix:bazel.nix",
nix_file_deps = common_nix_file_deps + [
"//nix:ghc.nix",
"//nix:with-packages-wrapper.nix",
"//nix:overrides/ghc-8.6.4.nix",
"//nix:overrides/c2hs-0.28.6.nix",
"//nix:overrides/ghc-8.6.3-binary.nix",
"//nix:overrides/language-c-0.8.2.nix",
],
nix_file_deps = nix_ghc_deps,
repl_ghci_args = [
"-O0",
"-fexternal-interpreter",
],
repositories = dev_env_nix_repos,
version = "8.6.4",
version = "8.6.5",
)
# Used by Windows
haskell_register_ghc_bindists(
version = "8.6.4",
version = "8.6.5",
) if is_windows else None
nixpkgs_package(
@ -372,7 +374,7 @@ bind(
actual = "@com_google_protobuf//util/python:python_headers",
)
load("@ai_formation_hazel//:hazel.bzl", "hazel_custom_package_github", "hazel_custom_package_hackage", "hazel_repositories")
load("@ai_formation_hazel//:hazel.bzl", "hazel_custom_package_github", "hazel_custom_package_hackage", "hazel_default_extra_libs", "hazel_repositories")
load("//hazel:packages.bzl", "core_packages", "packages")
load("//bazel_tools:haskell.bzl", "add_extra_packages")
@ -404,7 +406,7 @@ hazel_repositories(
"text": {"integer-simple": use_integer_simple},
"scientific": {"integer-simple": use_integer_simple},
},
extra_libs = {
extra_libs = hazel_default_extra_libs + {
"z": "@com_github_madler_zlib//:z",
"ffi": "@com_github_digital_asset_daml//3rdparty/haskell/ffi_windows:ffi" if is_windows else "@libffi_nix//:ffi",
},

View File

@ -36,7 +36,7 @@ index 2163c02..37a6d07 100644
+ metadata_entries_extras = {
+ "hs-libraries": pkg_id.library_name(hs, my_pkg_id),
+ "extra-libraries": " ".join(extra_libs + ["stdc++", "crypt32", "ws2_32"]),
+ "extra-libraries": " ".join(extra_libs + ["stdc++", "crypt32", "shlwapi", "ws2_32"]),
+ } if hs.toolchain.is_windows else {
+ "extra-libraries": " ".join([pkg_id.library_name(hs, my_pkg_id)] + extra_libs),
+ }

View File

@ -68,9 +68,9 @@ package_app(
package_app(
name = "ghc-pkg-dist",
# bin/ghc-pkg is actually a wrapper script on Unix systems so it is
# important that we use lib/ghc-8.6.4/bin/ghc-pkg instead which is the
# important that we use lib/ghc-$VERSION/bin/ghc-pkg instead which is the
# actual executable.
binary = "@io_tweag_rules_haskell_ghc_windows_amd64//:bin/ghc-pkg.exe" if is_windows else "@ghc_nix//:lib/ghc-8.6.4/bin/ghc-pkg",
binary = "@io_tweag_rules_haskell_ghc_windows_amd64//:bin/ghc-pkg.exe" if is_windows else "@ghc_nix//:lib/ghc-8.6.5/bin/ghc-pkg",
visibility = ["//visibility:public"],
)

View File

@ -27,8 +27,8 @@
# be resolvable from external workspaces otherwise.
rules_scala_version = "6f8ee3d951d2ac6154356314600f6edb4eb5df8b"
rules_haskell_version = "ac1d2c17d873d48dde9d307b7b8913cd1d2970ec"
rules_haskell_sha256 = "e2a9315a46f5edd099880c804e13dd8a743e02495eada02a885b2817f4d9ed8d"
rules_haskell_version = "42f32a4017235b8c600a6cdd076232698285eef9"
rules_haskell_sha256 = "0ed1a2cecd85fb03720893c4a122f8a64eed9d87c173de7bdf2dd295ea1ccf98"
rules_nixpkgs_version = "40b5a9f23abca57f364c93245c7451206ef1a855"
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")

View File

@ -47,7 +47,7 @@ let
};
};
ghc = pkgs.callPackage ./overrides/ghc-8.6.4.nix rec {
ghc = pkgs.callPackage ./overrides/ghc-8.6.5.nix rec {
bootPkgs = ghc863BinaryPackages;
inherit (pkgs.python3Packages) sphinx;
inherit (pkgs) buildLlvmPackages;

View File

@ -84,12 +84,12 @@ let
in
stdenv.mkDerivation (rec {
version = "8.6.4";
version = "8.6.5";
name = "${targetPrefix}ghc-${version}";
src = fetchurl {
url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-src.tar.xz";
sha256 = "0fihs1sr0hpk67dn9cmrsav13kkcp9hz8ggdqcrs80rj8vj0fpav";
sha256 = "0qg3zsmbk4rkwkc3jpas3zs74qaxmw4sp4v1mhsbj0a0dzls2jjd";
};
enableParallelBuilding = true;
@ -220,7 +220,7 @@ stdenv.mkDerivation (rec {
inherit enableShared;
# Our Cabal compiler name
haskellCompilerName = "ghc-8.6.4";
haskellCompilerName = "ghc-8.6.5";
};
meta = {