commit 83770803e5d7e3345d795481973c91aeb6769302 Author: Rodrigo Date: Mon Jun 8 18:01:33 2020 +0200 Initial test packages diff --git a/bsc/extrae/default.nix b/bsc/extrae/default.nix new file mode 100644 index 00000000..3ff4c7c7 --- /dev/null +++ b/bsc/extrae/default.nix @@ -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 [] +# ); +} diff --git a/bsc/nanos6/default.nix b/bsc/nanos6/default.nix new file mode 100644 index 00000000..949060b3 --- /dev/null +++ b/bsc/nanos6/default.nix @@ -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 + ''; +} diff --git a/bsc/tampi/default.nix b/bsc/tampi/default.nix new file mode 100644 index 00000000..a5cf0f23 --- /dev/null +++ b/bsc/tampi/default.nix @@ -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"; + }; + }; +} diff --git a/default.nix b/default.nix new file mode 100644 index 00000000..300850c6 --- /dev/null +++ b/default.nix @@ -0,0 +1,26 @@ +{ pkgs ? import {} }: + +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