The autoreconfHook helper already provides autotools binaries. Also NODES no longer uses papi. Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
		
			
				
	
	
		
			85 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  stdenv
 | 
						|
, lib
 | 
						|
, fetchFromGitHub
 | 
						|
, pkg-config
 | 
						|
, perl
 | 
						|
, numactl
 | 
						|
, hwloc
 | 
						|
, boost
 | 
						|
, autoreconfHook
 | 
						|
, ovni
 | 
						|
, nosv
 | 
						|
, clangOmpss2
 | 
						|
, useGit ? false
 | 
						|
, gitUrl ? "ssh://git@gitlab-internal.bsc.es/nos-v/nodes.git"
 | 
						|
, gitBranch ? "master"
 | 
						|
, gitCommit ? "6002ec9ae6eb876d962cc34366952a3b26599ba6"
 | 
						|
}:
 | 
						|
 | 
						|
with lib;
 | 
						|
 | 
						|
let
 | 
						|
  release = rec {
 | 
						|
    version = "1.3";
 | 
						|
    src = fetchFromGitHub {
 | 
						|
      owner = "bsc-pm";
 | 
						|
      repo = "nodes";
 | 
						|
      rev = "version-${version}";
 | 
						|
      hash = "sha256-cFb9pxcjtkMmH0CsGgUO9LTdXDNh7MCqicgGWawLrsU=";
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  git = rec {
 | 
						|
    version = src.shortRev;
 | 
						|
    src = builtins.fetchGit {
 | 
						|
      url = gitUrl;
 | 
						|
      ref = gitBranch;
 | 
						|
      rev = gitCommit;
 | 
						|
    };
 | 
						|
  };
 | 
						|
 | 
						|
  source = if (useGit) then git else release;
 | 
						|
in
 | 
						|
  stdenv.mkDerivation rec {
 | 
						|
    pname = "nodes";
 | 
						|
    inherit (source) src version;
 | 
						|
 | 
						|
    enableParallelBuilding = true;
 | 
						|
    dontStrip = true;
 | 
						|
    separateDebugInfo = true;
 | 
						|
 | 
						|
    configureFlags = [
 | 
						|
      "--with-nosv=${nosv}"
 | 
						|
      "--with-ovni=${ovni}"
 | 
						|
    ] ++ lib.optionals doCheck [
 | 
						|
      "--with-nodes-clang=${clangOmpss2}"
 | 
						|
    ];
 | 
						|
 | 
						|
    doCheck = false;
 | 
						|
    nativeCheckInputs = [
 | 
						|
      clangOmpss2
 | 
						|
    ];
 | 
						|
 | 
						|
    # The "bindnow" flags are incompatible with ifunc resolution mechanism. We
 | 
						|
    # disable all by default, which includes bindnow.
 | 
						|
    hardeningDisable = [ "all" ];
 | 
						|
 | 
						|
    nativeBuildInputs = [
 | 
						|
      autoreconfHook
 | 
						|
      pkg-config
 | 
						|
    ];
 | 
						|
 | 
						|
    buildInputs = [
 | 
						|
      boost
 | 
						|
      numactl
 | 
						|
      hwloc
 | 
						|
      nosv
 | 
						|
      ovni
 | 
						|
    ];
 | 
						|
 | 
						|
    passthru = {
 | 
						|
      inherit nosv;
 | 
						|
    };
 | 
						|
  }
 |