Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7f32b3db3054
Choose a base ref
...
head repository: NixOS/nixpkgs
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: a7c774300b7e
Choose a head ref
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on Feb 12, 2019

  1. ghc-8.6.3: use system libffi

    Use the system `libffi` (`ie` nixpkgs's) instead of built-in libffi
    from ghc source tree.
    
    This will prevent library conflict when ghc dynamically links haskell
    packages (linked with ghc built-in libffi) and any external library
    which uses nixpkgs `libffi`.
    
    Closes #55208.
    guibou authored and peti committed Feb 12, 2019
    6

    Verified

    This commit was signed with the committer’s verified signature. The key has expired.
    marsam Mario Rodas
    Copy the full SHA
    a7c7743 View commit details
Showing with 5 additions and 0 deletions.
  1. +5 −0 pkgs/development/compilers/ghc/8.6.3.nix
5 changes: 5 additions & 0 deletions pkgs/development/compilers/ghc/8.6.3.nix
Original file line number Diff line number Diff line change
@@ -6,6 +6,9 @@

, libiconv ? null, ncurses

, # GHC can be built with system libffi or a bundled one.
libffi ? null

, useLLVM ? !stdenv.targetPlatform.isx86 || (stdenv.targetPlatform.isMusl && stdenv.hostPlatform != stdenv.targetPlatform)
, # LLVM is conceptually a run-time-only depedendency, but for
# non-x86, we need LLVM to bootstrap later stages, so it becomes a
@@ -65,6 +68,7 @@ let

# Splicer will pull out correct variations
libDeps = platform: stdenv.lib.optional enableTerminfo [ ncurses ]
++ [libffi]
++ stdenv.lib.optional (!enableIntegerSimple) gmp
++ stdenv.lib.optional (platform.libc != "glibc" && !targetPlatform.isWindows) libiconv;

@@ -149,6 +153,7 @@ stdenv.mkDerivation (rec {
configureFlags = [
"--datadir=$doc/share/doc/ghc"
"--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
] ++ stdenv.lib.optionals (libffi != null) ["--with-system-libffi" "--with-ffi-includes=${libffi}/include" "--with-ffi-libraries=${libffi}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && !enableIntegerSimple) [
"--with-gmp-includes=${targetPackages.gmp.dev}/include" "--with-gmp-libraries=${targetPackages.gmp.out}/lib"
] ++ stdenv.lib.optional (targetPlatform == hostPlatform && hostPlatform.libc != "glibc" && !targetPlatform.isWindows) [