forked from rarias/jungle
		
	
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { stdenv
 | |
| , fetchgit
 | |
| , boost
 | |
| , libdwarf
 | |
| , libelf
 | |
| , libxml2
 | |
| , libunwind
 | |
| , papi
 | |
| , binutils-unwrapped
 | |
| , libiberty
 | |
| , gfortran
 | |
| , xml2
 | |
| , mpi ? null
 | |
| , cuda ? null
 | |
| , llvmPackages
 | |
| , autoreconfHook
 | |
| }:
 | |
| 
 | |
| stdenv.mkDerivation rec {
 | |
|   name = "extrae";
 | |
|   version = "3.7.1";
 | |
| 
 | |
| #  src = fetchurl {
 | |
| #    url = "https://ftp.tools.bsc.es/extrae/${name}-${version}-src.tar.bz2";
 | |
| #    sha256 = "0y036qc7y30pfj1mnb9nzv2vmxy6xxiy4pgfci6l3jc0lccdsgf8";
 | |
| #  };
 | |
| 
 | |
|   # Use patched Extrae version
 | |
|   src = fetchgit {
 | |
|     url = "https://github.com/rodarima/extrae";
 | |
|     rev = "15883516d6bd802e5b76ff28c4b4a3a5cb113880";
 | |
|     sha256 = "1hmf6400kw5k3j6xdbbd0yw4xhrjhk1kibp6m7r2i000qjgha8v6";
 | |
|   };
 | |
| 
 | |
|   enableParallelBuilding = true;
 | |
| 
 | |
|   buildInputs = [
 | |
|     autoreconfHook
 | |
|     gfortran
 | |
|     libunwind
 | |
|     binutils-unwrapped
 | |
|     boost
 | |
|     boost.dev
 | |
|     libiberty
 | |
|     mpi
 | |
|     xml2
 | |
|     libxml2.dev
 | |
|   ]
 | |
|   ++ stdenv.lib.optional stdenv.cc.isClang llvmPackages.openmp;
 | |
|     
 | |
|   preConfigure = ''
 | |
|     configureFlagsArray=(
 | |
|       --enable-posix-clock
 | |
|       --with-binutils="${binutils-unwrapped} ${libiberty}"
 | |
|       --with-dwarf=${libdwarf}
 | |
|       --with-elf=${libelf}
 | |
|       --with-boost=${boost.dev}
 | |
|       --enable-instrument-io
 | |
|       --enable-instrument-dynamic-memory
 | |
|       --without-memkind
 | |
|       --enable-merge-in-trace
 | |
|       --disable-online
 | |
|       --without-opencl
 | |
|       --enable-pebs-sampling
 | |
|       --enable-sampling
 | |
|       --with-unwind=${libunwind.dev}
 | |
|       --with-xml-prefix=${libxml2.dev}
 | |
|       --with-papi=${papi}
 | |
|       ${if (mpi != null) then ''--with-mpi=${mpi}''
 | |
|         else ''--without-mpi''}
 | |
|       --without-dyninst)
 | |
|   '';
 | |
| 
 | |
| #  ++ (
 | |
| #    if (openmp)
 | |
| #    then [ "--enable-openmp" ]
 | |
| #    else []
 | |
| #  );
 | |
| }
 | 
