From 1da216bab5fee8c6f2894565d5166e59de591ae1 Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Tue, 30 May 2023 15:31:56 +0200 Subject: [PATCH] Add nodes release and git version --- bsc/nodes/default.nix | 80 +++++++++++++++++++++++++++++++++++++++++++ bsc/nodes/git.nix | 60 -------------------------------- overlay.nix | 6 ++-- 3 files changed, 84 insertions(+), 62 deletions(-) create mode 100644 bsc/nodes/default.nix delete mode 100644 bsc/nodes/git.nix diff --git a/bsc/nodes/default.nix b/bsc/nodes/default.nix new file mode 100644 index 0000000..83fd3f3 --- /dev/null +++ b/bsc/nodes/default.nix @@ -0,0 +1,80 @@ +{ + stdenv +, lib +, automake +, autoconf +, libtool +, fetchFromGitHub +, pkg-config +, perl +, numactl +, hwloc +, papi +, boost +, autoreconfHook +, jemalloc +, enableOvni ? false +, ovni ? null +, nosv +, useGit ? false +, gitUrl ? "ssh://git@gitlab-internal.bsc.es/nos-v/nodes.git" +, gitBranch ? "master" +, gitCommit ? "c1094418a0a4dbfe78fa38b3f44741bd36d56e51" +}: + +with lib; + +let + release = rec { + version = "1.0"; + src = fetchFromGitHub { + owner = "bsc-pm"; + repo = "nodes"; + rev = "version-${version}"; + sha256 = "sha256-UqqvbAqF512qsHsEE24WNSxnV1wCGAXuzc7FkzQxu10="; + }; + }; + + 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; + + configureFlags = [ + "--with-jemalloc=${jemalloc}" + "--with-nosv=${nosv}" + ] ++ + (optional enableOvni "--with-ovni=${ovni}"); + + # The "bindnow" flags are incompatible with ifunc resolution mechanism. We + # disable all by default, which includes bindnow. + hardeningDisable = [ "all" ]; + + buildInputs = [ + autoreconfHook + autoconf + automake + libtool + pkg-config + boost + numactl + hwloc + papi + jemalloc + nosv + ] ++ + (optional enableOvni ovni); + } diff --git a/bsc/nodes/git.nix b/bsc/nodes/git.nix deleted file mode 100644 index a19ae3f..0000000 --- a/bsc/nodes/git.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - stdenv -, lib -, automake -, autoconf -, libtool -, pkg-config -, perl -, numactl -, hwloc -, papi -, boost -, autoreconfHook -, jemalloc -, enableOvni ? false -, ovni ? null -, nosv -, gitUrl ? "ssh://git@gitlab-internal.bsc.es/nos-v/nodes.git" -, gitBranch ? "master" -}: - -with lib; - -stdenv.mkDerivation rec { - pname = "nodes"; - version = "${src.shortRev}"; - - src = builtins.fetchGit { - url = gitUrl; - ref = gitBranch; - }; - - enableParallelBuilding = true; - dontStrip = true; - - configureFlags = [ - "--with-jemalloc=${jemalloc}" - "--with-nosv=${nosv}" - ] ++ - (optional enableOvni "--with-ovni=${ovni}"); - - # The "bindnow" flags are incompatible with ifunc resolution mechanism. We - # disable all by default, which includes bindnow. - hardeningDisable = [ "all" ]; - - buildInputs = [ - autoreconfHook - autoconf - automake - libtool - pkg-config - boost - numactl - hwloc - papi - jemalloc - nosv - ] ++ - (optional enableOvni ovni); -} diff --git a/overlay.nix b/overlay.nix index d4a0aae..241d7f1 100644 --- a/overlay.nix +++ b/overlay.nix @@ -122,7 +122,7 @@ let allowedRequisites = null; }; - clangNodes = bsc.clangOmpss2Git.override { + clangNodes = bsc.clangOmpss2.override { rt = bsc.nodes; }; @@ -171,7 +171,9 @@ let hardeningDisable = [ "all" ]; }); - nodes = callPackage ./bsc/nodes/git.nix { }; + nodes = bsc.nodesRelease; + nodesRelease = callPackage ./bsc/nodes/default.nix { }; + nodesGit = callPackage ./bsc/nodes/default.nix { useGit = true; }; nodesWithOvni = bsc.nodes.override { enableOvni = true; }; # =================================================================