Commit Graph

22 Commits

Author SHA1 Message Date
Niklas Hambüchen
63b1e6e489 ghc*-binary: Remove no-op --with-gmp-libraries 2021-07-10 02:49:42 +02:00
Niklas Hambüchen
c6a77590e3 haskell.compiler.ghc8102Binary: Split ghcBinDists set into default and musl.
This allows to implement the "HACK" mentioned in the commit to
build `pkgsMusl` GHCs on Hydra without failing evaluation on Darwin.

Reference of the discussion:
https://github.com/NixOS/nixpkgs/pull/129289#discussion_r663956747

Patch contributed by @sterni.
2021-07-10 02:49:42 +02:00
Niklas Hambüchen
c866b8a13b haskell.compiler.ghc8102Binary: find -executable -> -perm -0100 2021-07-10 02:49:42 +02:00
Niklas Hambüchen
da1cf8cb90 pkgsMusl.haskell.compiler.ghc8102Binary: Fix musl segfault. Fixes #118731 #129247.
This commit replaces the musl + glibc hackery in the GHC bindist
compiler by using the new musl based bindist that GHC HQ provides
(built on Alpine).
We could alternatively also use a nix-built musl boostrap compiler,
but it seems nicer to use the GHC HQ one for now.

This fixes the compiler built by
`pkgsMusl.haskell.compiler.ghc8102Binary` segfaulting (#118731)
since the commit

    5e2311d2f - musl: 1.2.1 -> 1.2.2

concretely, musl commit

    01c7920f - remove redundant pthread struct members repeated for layout purposes

which I suspect breaks some glibc/musl ABI compatibility that may have
existed accidentally until then.

The added

    lib.optional stdenv.targetPlatform.isMusl "pie";

also fixes that the packaged bindist compiler cannot create a binary
in its `installCheck` phase (and overall); see detail explanation
in #129247.
2021-07-10 02:49:41 +02:00
Niklas Hambüchen
5777bd3d56 haskell.compiler.ghc8102Binary: Remove sed of /usr/bin/* commands.
None of the current bindists appear to contain these paths in their
`ghc-stage2` binary.
2021-07-10 02:49:41 +02:00
Niklas Hambüchen
1326009806 haskell.compiler.ghc8102Binary: Add check for arch-specific libraries.
With this check, we no longer don't notice when the upstream bindist
changes its dependencies (e.g. because a newer Debian version is used
that uses a new `ncurses` version).
2021-07-10 02:49:41 +02:00
Niklas Hambüchen
8a2de701f7 haskell.compiler.ghc8102Binary: Fix build on i686.
The library override that was present in the code referred to a
name that isn't even used in current GHC bindists.

Tested with:

    NIX_PATH=nixpkgs=. nix-build --no-link -A haskell.compiler.ghc8102Binary --argstr system i686-linux
2021-07-05 16:38:24 +02:00
Niklas Hambüchen
67e8744ef8 ghc: Refactor: Extract ghcBinDists 2021-07-05 16:38:24 +02:00
Niklas Hambüchen
947f757bba haskell.packages.ghc8102Binary: Add comments 2021-07-05 16:38:24 +02:00
Guillaume Bouchard
81c8d158a8 ghc: add missing meta data
`haskellCompilerName` in cabal2nix and hence ghc 8.10.2 and 8.6.5
"-binary" were not working correctly in this context.
2021-06-01 12:46:55 +02:00
maralorn
8b7d34d89e
Merge pull request #122026 from sternenseemann/ghc-binary-no-aarch64-hydra
haskell.compiler: misc cleanups for hydra aarch64 builds
2021-05-07 20:15:44 +02:00
sternenseemann
355b55d00b ghc8102Binary, ghc865Binary: don't build aarch64 on hydra
Unfortunately these compiler's normal binary versions exceed the maximum
output size on hydra and thus can't be built on there.

See also https://gitlab.haskell.org/ghc/ghc/-/issues/17051
2021-05-07 15:09:08 +02:00
sternenseemann
952a2866a2 haskell.compiler.ghc*Binary: update source URLs
The tarball download URLs seem to have changed, so we adjust them in
case anyone wants to reproduce the source of ghc8102Binary and
ghc865Binary.

Tested for x86_64-linux, i686-linux, aarch64-linux, x86_64-darwin.

Resolves #121804.
2021-05-07 11:20:19 +02:00
Ben Siraphob
acc5f7b18a pkgs/development/compilers: stdenv.lib -> lib 2021-01-23 08:57:37 +07:00
Robert Hensing
6b377f2968 ghc8102Binary*: simplify meta
Not distributing dependencies via hydraPlatforms does not work,
so we keep meta simple.

(cherry picked from commit 4643796794)
2020-11-04 23:47:38 +01:00
Robert Hensing
dda47e489a ghc8102BinaryMinimal: Re-add docs, remove more profiling files
(cherry picked from commit 7bd21d3e2d)
2020-11-04 23:47:38 +01:00
Robert Hensing
f8ad73b9d8 haskell.compiler.ghc8102BinaryMinimal: init
To stay within hydra limit of 2^31 output size on aarch64-linux
2020-11-03 12:01:41 +01:00
Will Young
1c2ee215ab ghc:8.10.2Binary bootstrap for 8.8 on aarch64 (NixOS#97407) 2020-10-21 21:13:22 +02:00
Richard Marko
73825262f9 Revert "haskell.ghc8102Binary: fix extra inputs"
This reverts commit fb719d957f.
2020-09-26 12:18:00 -07:00
Richard Marko
b9377e0950 ghc8102Binary: add numactl to libPath on aarch64
Fixes:

utils/ghc-cabal/dist-install/build/tmp/ghc-cabal:
  error while loading shared libraries: libnuma.so.1:
    cannot open shared object file: No such file or directory
2020-09-26 18:04:31 +02:00
Jonathan Ringer
fb719d957f haskell.ghc8102Binary: fix extra inputs 2020-09-25 15:22:54 -07:00
Richard Marko
0d4f3ef1ab ghc8102Binary: init, enable armv7l 2020-09-24 12:26:35 +02:00