2020-11-19 18:50:30 +01:00
|
|
|
{
|
|
|
|
stdenv
|
|
|
|
, fetchFromGitHub
|
2020-06-29 17:32:30 +02:00
|
|
|
, autoreconfHook
|
|
|
|
, nanos6
|
|
|
|
, gperf
|
|
|
|
, python
|
|
|
|
, gfortran
|
|
|
|
, pkg-config
|
|
|
|
, sqlite
|
|
|
|
, flex
|
|
|
|
, bison
|
|
|
|
, gcc
|
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2020-09-21 17:30:24 +02:00
|
|
|
pname = "mcxx";
|
2021-06-30 19:24:56 +02:00
|
|
|
version = "2021.06";
|
2020-06-29 17:32:30 +02:00
|
|
|
|
2020-07-27 17:55:35 +02:00
|
|
|
passthru = {
|
|
|
|
CC = "mcc";
|
|
|
|
CXX = "mcxx";
|
|
|
|
};
|
|
|
|
|
2020-11-19 18:50:30 +01:00
|
|
|
# mcxx doesn't use tags, so we pick the same version of the ompss2 release
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "bsc-pm";
|
|
|
|
repo = pname;
|
2021-06-30 19:24:56 +02:00
|
|
|
rev = "github-release-${version}";
|
2021-06-30 17:19:39 +02:00
|
|
|
sha256 = "1nwz0v63nvsp0d3qgvv8kpaqcisqk0m7360wy7fhy3xc8n3n3mas";
|
2020-06-29 17:32:30 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
autoreconfHook
|
|
|
|
nanos6
|
|
|
|
gperf
|
|
|
|
python
|
|
|
|
gfortran
|
|
|
|
pkg-config
|
|
|
|
sqlite.dev
|
|
|
|
bison
|
|
|
|
flex
|
|
|
|
gcc
|
|
|
|
];
|
|
|
|
|
2020-07-10 16:42:33 +02:00
|
|
|
patches = [ ./intel.patch ];
|
|
|
|
|
|
|
|
preConfigure = ''
|
|
|
|
export ICC=icc
|
|
|
|
export ICPC=icpc
|
|
|
|
export IFORT=ifort
|
|
|
|
'';
|
|
|
|
|
2020-06-29 17:32:30 +02:00
|
|
|
configureFlags = [
|
|
|
|
"--enable-ompss-2"
|
|
|
|
"--with-nanos6=${nanos6}"
|
2020-09-21 17:30:24 +02:00
|
|
|
# Fails with "memory exhausted" with bison 3.7.1
|
|
|
|
# "--enable-bison-regeneration"
|
2020-06-29 17:32:30 +02:00
|
|
|
];
|
|
|
|
}
|