bscpkgs/bsc/mcxx/default.nix

63 lines
968 B
Nix
Raw Normal View History

2020-11-20 01:50:30 +08:00
{
stdenv
, fetchFromGitHub
2020-06-29 23:32:30 +08:00
, autoreconfHook
, nanos6
, gperf
, python
, gfortran
, pkg-config
, sqlite
, flex
, bison
, gcc
}:
stdenv.mkDerivation rec {
2020-09-21 23:30:24 +08:00
pname = "mcxx";
2023-03-03 01:14:05 +08:00
version = "2022.11";
2020-06-29 23:32:30 +08:00
passthru = {
CC = "mcc";
CXX = "mcxx";
};
2020-11-20 01:50:30 +08:00
# mcxx doesn't use tags, so we pick the same version of the ompss2 release
src = fetchFromGitHub {
owner = "bsc-pm";
repo = pname;
rev = "github-release-${version}";
2023-03-03 01:14:05 +08:00
sha256 = "DMT5UPwsjVo2d0r2wgQvYhcrAacOe+BkiXjAvFA0zGo=";
2020-06-29 23:32:30 +08:00
};
enableParallelBuilding = true;
buildInputs = [
autoreconfHook
nanos6
gperf
python
gfortran
pkg-config
sqlite.dev
bison
flex
gcc
];
2020-07-10 22:42:33 +08:00
patches = [ ./intel.patch ];
preConfigure = ''
export ICC=icc
export ICPC=icpc
export IFORT=ifort
'';
2020-06-29 23:32:30 +08:00
configureFlags = [
"--enable-ompss-2"
"--with-nanos6=${nanos6}"
2020-09-21 23:30:24 +08:00
# Fails with "memory exhausted" with bison 3.7.1
# "--enable-bison-regeneration"
2020-06-29 23:32:30 +08:00
];
}