diff --git a/bsc/mcxx/git.nix b/bsc/mcxx/git.nix new file mode 100644 index 0000000..6106f3c --- /dev/null +++ b/bsc/mcxx/git.nix @@ -0,0 +1,60 @@ +{ + stdenv +, fetchFromGitHub +, autoreconfHook +, nanos6 +, gperf +, python +, gfortran +, pkg-config +, sqlite +, flex +, bison +, gcc +}: + +stdenv.mkDerivation rec { + pname = "mcxx"; + version = src.shortRev; + + passthru = { + CC = "mcc"; + CXX = "mcxx"; + }; + + src = builtins.fetchGit { + url = "ssh://git@bscpm03.bsc.es/mercurium/mcxx"; + ref = "master"; + }; + + enableParallelBuilding = true; + + buildInputs = [ + autoreconfHook + nanos6 + gperf + python + gfortran + pkg-config + sqlite.dev + bison + flex + gcc + ]; + + # TODO: Not sure if we need this patch anymore (?) + #patches = [ ./intel.patch ]; + + preConfigure = '' + export ICC=icc + export ICPC=icpc + export IFORT=ifort + ''; + + configureFlags = [ + "--enable-ompss-2" + "--with-nanos6=${nanos6}" +# Fails with "memory exhausted" with bison 3.7.1 +# "--enable-bison-regeneration" + ]; +} diff --git a/overlay.nix b/overlay.nix index b85d124..4c38a7f 100644 --- a/overlay.nix +++ b/overlay.nix @@ -68,6 +68,7 @@ let mcxx = bsc.mcxxRelease; mcxxRelease = callPackage ./bsc/mcxx/default.nix { }; + mcxxGit = callPackage ./bsc/mcxx/git.nix { }; mcxxRarias = callPackage ./bsc/mcxx/rarias.nix { bison = self.bison_3_5; };