Initial test packages

This commit is contained in:
Rodrigo 2020-06-08 18:01:33 +02:00
commit 83770803e5
4 changed files with 182 additions and 0 deletions

74
bsc/extrae/default.nix Normal file
View File

@ -0,0 +1,74 @@
{ stdenv
, fetchurl
, boost
, libdwarf
, libelf
, libxml2
, libunwind
, papi
, binutils-unwrapped
, libiberty
, gcc
, gfortran
, xml2
#, mpi
, cuda ? null
#, withOpenmp ? false
}:
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";
};
nativeBuildInputs = [ gcc gfortran libunwind ];
buildInputs = [ binutils-unwrapped boost boost.dev libiberty
# openmpi
xml2 libxml2.dev ];
patchPhase = ''
sed -ie 's|/usr/bin/find|env find|g' substitute-all
sed -ie 's|/bin/mv|env mv|g' substitute
'';
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}
--without-mpi
--without-dyninst)
'';
# --with-mpi=${mpi}
# --with-mpi-headers=${mpi}/include
# --with-mpi-libs=${mpi}/lib
# ++ (
# if (cuda != null)
# then [ "--with-cuda=${cuda}" ]
# else [ "--without-cuda" ]
# )
# ++ (
# if (openmp)
# then [ "--enable-openmp" ]
# else []
# );
}

53
bsc/nanos6/default.nix Normal file
View File

@ -0,0 +1,53 @@
{
stdenv
, fetchurl
, automake
, autoconf
, libtool
, pkg-config
, numactl
, hwloc
, papi
#, gnumake
, withExtrae ? false , extrae
, boost
}:
assert withExtrae -> extrae != null;
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "nanos6";
version = "2.3.2";
src = fetchurl {
url = https://pm.bsc.es/ftp/ompss-2/releases/ompss-2-2019.11.2.tar.gz;
sha256 = "03v1kpggdch25m1wfrdjl6crq252dgy6pms8h94d5jwcjh06fbf8";
};
preConfigure = ''
cd ${pname}-${version}
sed -i 's|/bin/echo|echo|g' loader/scripts/common.sh loader/scripts/lint/common.sh
autoreconf -fiv
'';
#configureFlags = []
# ++ (if (extrae != null) then ["--with-extrae=${extrae}"] else [""]);
buildInputs = [
autoconf
automake
libtool
pkg-config
boost
numactl
hwloc
papi ]
++ optional withExtrae extrae;
buildPhase = ''
make V=1 src/version/CodeVersionInfo.cpp
make V=1
'';
}

29
bsc/tampi/default.nix Normal file
View File

@ -0,0 +1,29 @@
{
stdenv
, fetchurl
, automake
, autoconf
, libtool
, gnumake
, boost
, mpi
, gcc }:
let
inherit stdenv fetchurl;
version = "1.0.1";
in
{
hello = stdenv.mkDerivation rec {
name = "tampi-${version}";
buildInputs = [ automake autoconf libtool gnumake boost mpi gcc ];
#hardeningDisable = [ "format" ];
preConfigure = ''
autoreconf -fiv
'';
src = fetchurl {
url = "https://github.com/bsc-pm/tampi/archive/v${version}.tar.gz";
sha256 = "8608a74325939d2a6b56e82f7f6788efbc67731e2d64793bac69475f5b4b9704";
};
};
}

26
default.nix Normal file
View File

@ -0,0 +1,26 @@
{ pkgs ? import <nixpkgs> {} }:
let
inherit (pkgs.lib) callPackageWith;
inherit (pkgs.lib) callPackagesWith;
inherit (pkgs) pythonPackages;
inherit (pkgs) perlPackages;
inherit (pkgs) buildPerlPackage;
callPackage = callPackageWith (pkgs // self.bsc);
callPackage_i686 = callPackageWith (pkgs.pkgsi686Linux // self.bsc);
callPackages = callPackagesWith (pkgs // self.bsc);
self.bsc = rec {
# Load the current implementations
mpi = pkgs.mpich;
extrae = callPackage ./bsc/extrae {
};
tampi = callPackage ./bsc/tampi {
mpi = mpi;
};
nanos6 = callPackage ./bsc/nanos6 { };
};
in pkgs // self