···12let
13 useLLVM = !stdenv.targetPlatform.isx86;
1415- useNcurses6 = stdenv.hostPlatform.system == "x86_64-linux";
01617 ourNcurses = if useNcurses6 then ncurses6 else ncurses5;
18···72 x86_64-darwin = {
73 url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
74 sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz";
000075 };
76 }.${stdenv.hostPlatform.system}
77 or (throw "cannot bootstrap GHC on this platform"));
···211212 meta = rec {
213 license = lib.licenses.bsd3;
214- platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin"];
215 # build segfaults, use ghc8102Binary which has proper musl support instead
216 broken = stdenv.hostPlatform.isMusl;
217 maintainers = with lib.maintainers; [
···12let
13 useLLVM = !stdenv.targetPlatform.isx86;
1415+ useNcurses6 = stdenv.hostPlatform.system == "x86_64-linux"
16+ || (with stdenv.hostPlatform; isPower64 && isLittleEndian);
1718 ourNcurses = if useNcurses6 then ncurses6 else ncurses5;
19···73 x86_64-darwin = {
74 url = "${downloadsUrl}/${version}/ghc-${version}-x86_64-apple-darwin.tar.xz";
75 sha256 = "0s9188vhhgf23q3rjarwhbr524z6h2qga5xaaa2pma03sfqvvhfz";
76+ };
77+ powerpc64le-linux = {
78+ url = "https://downloads.haskell.org/~ghc/${version}/ghc-${version}-powerpc64le-fedora29-linux.tar.xz";
79+ sha256 = "sha256-tWSsJdPVrCiqDyIKzpBt5DaXb3b6j951tCya584kWs4=";
80 };
81 }.${stdenv.hostPlatform.system}
82 or (throw "cannot bootstrap GHC on this platform"));
···216217 meta = rec {
218 license = lib.licenses.bsd3;
219+ platforms = ["x86_64-linux" "i686-linux" "x86_64-darwin" "powerpc64le-linux" ];
220 # build segfaults, use ghc8102Binary which has proper musl support instead
221 broken = stdenv.hostPlatform.isMusl;
222 maintainers = with lib.maintainers; [
+12-1
pkgs/top-level/haskell-packages.nix
···108 # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
109 if stdenv.isAarch64 || stdenv.isAarch32 then
110 packages.ghc8107BinaryMinimal
000111 else
112 packages.ghc8107Binary;
113 inherit (buildPackages.python3Packages) sphinx;
···124 # the oldest ghc with aarch64-darwin support is 8.10.5
125 if stdenv.isAarch64 || stdenv.isAarch32 then
126 packages.ghc8107BinaryMinimal
00127 else
128 packages.ghc8107Binary;
129 inherit (buildPackages.python3Packages) sphinx;
···136 # aarch64 ghc8107Binary exceeds max output size on hydra
137 if stdenv.isAarch64 || stdenv.isAarch32 then
138 packages.ghc8107BinaryMinimal
00139 else
140 packages.ghc8107Binary;
141 inherit (buildPackages.python3Packages) sphinx;
···147 llvmPackages = pkgs.llvmPackages_12;
148 };
149 ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
150- bootPkgs = packages.ghc8107Binary;
0000151 inherit (buildPackages.python3Packages) sphinx;
152 # Need to use apple's patched xattr until
153 # https://github.com/xattr/xattr/issues/44 and
···108 # Musl bindists do not exist for ghc 8.6.5, so we use 8.10.* for them
109 if stdenv.isAarch64 || stdenv.isAarch32 then
110 packages.ghc8107BinaryMinimal
111+ else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
112+ # to my (@a-m-joseph) knowledge there are no newer official binaries for this platform
113+ packages.ghc865Binary
114 else
115 packages.ghc8107Binary;
116 inherit (buildPackages.python3Packages) sphinx;
···127 # the oldest ghc with aarch64-darwin support is 8.10.5
128 if stdenv.isAarch64 || stdenv.isAarch32 then
129 packages.ghc8107BinaryMinimal
130+ else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
131+ packages.ghc8107
132 else
133 packages.ghc8107Binary;
134 inherit (buildPackages.python3Packages) sphinx;
···141 # aarch64 ghc8107Binary exceeds max output size on hydra
142 if stdenv.isAarch64 || stdenv.isAarch32 then
143 packages.ghc8107BinaryMinimal
144+ else if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
145+ packages.ghc8107
146 else
147 packages.ghc8107Binary;
148 inherit (buildPackages.python3Packages) sphinx;
···154 llvmPackages = pkgs.llvmPackages_12;
155 };
156 ghcHEAD = callPackage ../development/compilers/ghc/head.nix {
157+ bootPkgs =
158+ if stdenv.hostPlatform.isPower64 && stdenv.hostPlatform.isLittleEndian then
159+ packages.ghc8107
160+ else
161+ packages.ghc8107Binary;
162 inherit (buildPackages.python3Packages) sphinx;
163 # Need to use apple's patched xattr until
164 # https://github.com/xattr/xattr/issues/44 and