Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
59 changes: 59 additions & 0 deletions pkgs/development/compilers/ghc/7.6.2.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
{ stdenv, fetchurl, ghc, perl, gmp, ncurses }:

stdenv.mkDerivation rec {
version = "7.6.2";

name = "ghc-${version}";

src = fetchurl {
url = "http://haskell.org/ghc/dist/${version}/${name}-src.tar.bz2";
sha256 = "d5f45184abeacf7e9c6b4f63c7101a5c1d7b4fe9007901159e2287ecf38de533";
};

buildInputs = [ ghc perl gmp ncurses ];

# The comments below applied to GHC 7.6.1, left for if somebody experiences
# similar problems. If so, I argue we should selectively disable parallel
# building JUST for that platform. ~aristidb
#
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In my experience, parallel build errors occur because the makefile underspecifies (or mis-states) the dependencies. If that is the case, then those issues will usually arise regardless of whether make is being run on Linux, Darwin, or any other system. I also don't see any system-specific stuff in the error messages shown below. So I wonder ... what makes you believe that race conditionts in the build system might dependent on the system platform?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing other than build errors often being architecture specific. My hope
is that 7.6.2 fixed these errors either way.
Am 30.01.2013 11:26 schrieb "Peter Simons" notifications@github.com:

In pkgs/development/compilers/ghc/7.6.2.nix:

+stdenv.mkDerivation rec {

  • version = "7.6.2";
  • name = "ghc-${version}";
  • buildInputs = [ ghc perl gmp ncurses ];
  • The comments below applied to GHC 7.6.1, left for if somebody experiences

  • similar problems. If so, I argue we should selectively disable parallel

  • building JUST for that platform. ~aristidb

In my experience, parallel build errors occur because the makefile
underspecifies (or mis-states) the dependencies. If that is the case, then
those issues will usually arise regardless of whether make is being run
on Linux, Darwin, or any other system. I also don't see any system-specific
stuff in the error messages shown below. So I wonder ... what makes you
believe that race conditionts in the build system might dependent on the
system platform?


Reply to this email directly or view it on GitHubhttps://github.com//pull/291/files#r2824096.

## My attempts to compile GHC with parallel build support enabled, failed
## 4 consecutive times with the following error:
##
## building rts/dist/build/AutoApply.debug_o
## building rts/dist/build/AutoApply.thr_o
## rts_dist_HC rts/dist/build/AutoApply.debug_o
## /nix/store/1iigiim5855m8j7pmwf5xrnpf705s4dh-binutils-2.21.1a/bin/ld: cannot find libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers_o_split/gmp-wrappers__1.o
## collect2: ld returned 1 exit status
## make[1]: *** [libraries/integer-gmp/dist-install/build/cbits/gmp-wrappers.p_o] Error 1
enableParallelBuilding = true;

buildMK = ''
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-libraries="${gmp}/lib"
libraries/integer-gmp_CONFIGURE_OPTS += --configure-option=--with-gmp-includes="${gmp}/include"
'';

preConfigure = ''
echo "${buildMK}" > mk/build.mk
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
'';

configureFlags=[
"--with-gcc=${stdenv.gcc}/bin/gcc"
];

# required, because otherwise all symbols from HSffi.o are stripped, and
# that in turn causes GHCi to abort
stripDebugFlags=["-S" "--keep-file-symbols"];

meta = {
homepage = "http://haskell.org/ghc";
description = "The Glasgow Haskell Compiler";
maintainers = [
stdenv.lib.maintainers.marcweber
stdenv.lib.maintainers.andres
stdenv.lib.maintainers.simons
];
platforms = ghc.meta.platforms;
};

}
1 change: 1 addition & 0 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -2404,6 +2404,7 @@ let
haskellPackages_ghc742_profiling = recurseIntoAttrs (haskell.packages_ghc741.profiling);
haskellPackages_ghc742 = recurseIntoAttrs (haskell.packages_ghc742.highPrio);
haskellPackages_ghc761 = recurseIntoAttrs (haskell.packages_ghc761);
haskellPackages_ghc762 = recurseIntoAttrs (haskell.packages_ghc762);
# Reasonably current HEAD snapshot.
haskellPackages_ghcHEAD = haskell.packages_ghcHEAD;

Expand Down
6 changes: 6 additions & 0 deletions pkgs/top-level/haskell-defaults.nix
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,12 @@
prefFun = ghcHEADPrefs;
};

packages_ghc762 =
packages { ghcPath = ../development/compilers/ghc/7.6.2.nix;
ghcBinary = ghc704Binary;
prefFun = ghcHEADPrefs;
};

# Reasonably current HEAD snapshot. Should *always* be lowPrio.
packages_ghcHEAD =
packages { ghcPath = ../development/compilers/ghc/head.nix;
Expand Down