forked from rarias/bscpkgs
Add slurm 16.05.8.1 and hwloc 1.11.6
This commit is contained in:
70
bsc/hwloc/1.11.6/default.nix
Normal file
70
bsc/hwloc/1.11.6/default.nix
Normal file
@@ -0,0 +1,70 @@
|
||||
{ stdenv, lib, fetchurl, pkgconfig, expat, ncurses
|
||||
, pciutils, numactl }:
|
||||
|
||||
with lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "hwloc-1.11.6";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
|
||||
sha256 = "1yl7dm2qplwmnidd712zy12qfvxk28k8ccs694n42ybwdjwzg1bn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
# Filter out `null' inputs. This allows users to `.override' the
|
||||
# derivation and set optional dependencies to `null'.
|
||||
buildInputs = filter (x: x != null)
|
||||
([ expat ncurses ]
|
||||
++ (optionals stdenv.isLinux [ numactl ]));
|
||||
|
||||
propagatedBuildInputs =
|
||||
# Since `libpci' appears in `hwloc.pc', it must be propagated.
|
||||
optional stdenv.isLinux pciutils;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall =
|
||||
optionalString (stdenv.isLinux && numactl != null)
|
||||
'' if [ -d "${numactl}/lib64" ]
|
||||
then
|
||||
numalibdir="${numactl}/lib64"
|
||||
else
|
||||
numalibdir="${numactl}/lib"
|
||||
test -d "$numalibdir"
|
||||
fi
|
||||
|
||||
sed -i "$out/lib/libhwloc.la" \
|
||||
-e "s|-lnuma|-L$numalibdir -lnuma|g"
|
||||
'';
|
||||
|
||||
# Checks disabled because they're impure (hardware dependent) and
|
||||
# fail on some build machines.
|
||||
doCheck = false;
|
||||
|
||||
meta = {
|
||||
description = "Portable abstraction of hierarchical architectures for high-performance computing";
|
||||
longDescription = ''
|
||||
hwloc provides a portable abstraction (across OS,
|
||||
versions, architectures, ...) of the hierarchical topology of
|
||||
modern architectures, including NUMA memory nodes, sockets,
|
||||
shared caches, cores and simultaneous multithreading. It also
|
||||
gathers various attributes such as cache and memory
|
||||
information. It primarily aims at helping high-performance
|
||||
computing applications with gathering information about the
|
||||
hardware so as to exploit it accordingly and efficiently.
|
||||
|
||||
hwloc may display the topology in multiple convenient
|
||||
formats. It also offers a powerful programming interface to
|
||||
gather information about the hardware, bind processes, and much
|
||||
more.
|
||||
'';
|
||||
|
||||
# http://www.open-mpi.org/projects/hwloc/license.php
|
||||
license = licenses.bsd3;
|
||||
homepage = http://www.open-mpi.org/projects/hwloc/;
|
||||
maintainers = [ ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user