Compare commits

..

12 Commits

Author SHA1 Message Date
3a75fc3c5a targetTarget might be missing when native build 2026-01-12 11:21:34 +01:00
1cbedcb2ad tmp 2026-01-12 11:21:34 +01:00
c9cc7bd060 Use explicit splicing in clang wrapper 2026-01-12 11:21:34 +01:00
9ac0e697d1 Do not force derviation inputs, use booleans instead 2026-01-12 11:21:34 +01:00
4f643f4603 TEMPORAL CLANG LINKER FIX FOR CROSS 2026-01-12 11:20:24 +01:00
996c99d5eb Fix clang cross-build 2026-01-12 11:20:24 +01:00
f9c6f7d751 Fix clang cross-build 2026-01-12 11:19:35 +01:00
00a1133019 Split OpenMP dependencies into build and run 2026-01-12 11:13:35 +01:00
859eebda98 Change varcila shell to zsh
Reviewed-by: Rodrigo Arias Mallo <rodrigo.arias@bsc.es>
2026-01-07 13:22:17 +01:00
c2a201b085 Increase fail2ban ban time on each attempt
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2026-01-07 13:14:34 +01:00
f921f0a4bd Disable password login via SSH in apex
Reviewed-by: Aleix Boné <abonerib@bsc.es>
2026-01-07 13:14:30 +01:00
aa16bfc0bc Enable fail2ban in apex login node
We are seeing a lot of failed attempts from the same IPs:

    apex% sudo journalctl -u sshd -b0 | grep 'Failed password' | wc -l
    2441

Reviewed-by: Aleix Boné <abonerib@bsc.es>
2026-01-07 13:14:22 +01:00
43 changed files with 109 additions and 327 deletions

8
flake.lock generated
View File

@@ -2,16 +2,16 @@
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1764522689,
"narHash": "sha256-SqUuBFjhl/kpDiVaKLQBoD8TLD+/cTUzzgVFoaHrkqY=",
"lastModified": 1752436162,
"narHash": "sha256-Kt1UIPi7kZqkSc5HVj6UY5YLHHEzPBkgpNUByuyxtlw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8bb5646e0bed5dbd3ab08c7a7cc15b75ab4e1d0f",
"rev": "dfcd5b901dbab46c9c6e80b265648481aafb01f8",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.11",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}

View File

@@ -1,6 +1,6 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
};
outputs = { self, nixpkgs, ... }:

View File

@@ -57,6 +57,18 @@
};
};
services.fail2ban = {
enable = true;
maxretry = 5;
bantime-increment = {
enable = true; # Double ban time on each attack
maxtime = "7d"; # Ban up to a week
};
};
# Disable SSH login with password, allow only keypair
services.openssh.settings.PasswordAuthentication = false;
networking.firewall = {
extraCommands = ''
# Blackhole BSC vulnerability scanner (OpenVAS) as it is spamming our

View File

@@ -1,10 +1,10 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
environment.systemPackages = with pkgs; [
vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option
nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree
ncdu perf ldns pv
ncdu config.boot.kernelPackages.perf ldns pv
# From jungle overlay
osumb nixgen
];

View File

@@ -139,6 +139,7 @@
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKGt0ESYxekBiHJQowmKpfdouw0hVm3N7tUMtAaeLejK vincent@varch"
];
shell = pkgs.zsh;
};
pmartin1 = {

View File

@@ -5,5 +5,5 @@
boot.kernelModules = [ "ipmi_watchdog" ];
# Enable systemd watchdog with 30 s interval
systemd.settings.Manager.RuntimeWatchdogSec = 30;
systemd.watchdog.runtimeTime = "30s";
}

View File

@@ -1,10 +1,3 @@
{
services.nixseparatedebuginfod2 = {
enable = true;
substituters = [
"local:"
"https://cache.nixos.org"
"http://hut/cache"
];
};
services.nixseparatedebuginfod.enable = true;
}

View File

@@ -12,9 +12,9 @@ let
bench6 = callPackage ./pkgs/bench6/default.nix { };
bigotes = callPackage ./pkgs/bigotes/default.nix { };
clangOmpss2 = callPackage ./pkgs/llvm-ompss2/default.nix { };
clangOmpss2Nanos6 = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nanos6; };
clangOmpss2Nodes = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmp; };
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { ompss2rt = final.nodes; openmp = final.openmpv; };
clangOmpss2Nanos6 = callPackage ./pkgs/llvm-ompss2/default.nix { useNanos6 = true; };
clangOmpss2Nodes = callPackage ./pkgs/llvm-ompss2/default.nix { useNodes = true; useOpenmp = true; };
clangOmpss2NodesOmpv = callPackage ./pkgs/llvm-ompss2/default.nix { useNodes = true; useOpenmpV = true; };
clangOmpss2Unwrapped = callPackage ./pkgs/llvm-ompss2/clang.nix { };
cudainfo = prev.callPackage ./pkgs/cudainfo/default.nix { };
#extrae = callPackage ./pkgs/extrae/default.nix { }; # Broken and outdated
@@ -30,8 +30,7 @@ let
amd-uprof-driver = _prev.callPackage ./pkgs/amd-uprof/driver.nix { };
});
lmbench = callPackage ./pkgs/lmbench/default.nix { };
# Broken and unmantained
# mcxx = callPackage ./pkgs/mcxx/default.nix { };
mcxx = callPackage ./pkgs/mcxx/default.nix { };
meteocat-exporter = prev.callPackage ./pkgs/meteocat-exporter/default.nix { };
mpi = final.mpich; # Set MPICH as default
mpich = callPackage ./pkgs/mpich/default.nix { mpich = prev.mpich; };
@@ -49,17 +48,16 @@ let
osumb = callPackage ./pkgs/osu/default.nix { };
ovni = callPackage ./pkgs/ovni/default.nix { };
ovniGit = final.ovni.override { useGit = true; };
papi = callPackage ./pkgs/papi/default.nix { papi = prev.papi; };
paraverKernel = callPackage ./pkgs/paraver/kernel.nix { };
prometheus-slurm-exporter = prev.callPackage ./pkgs/slurm-exporter/default.nix { };
#pscom = callPackage ./pkgs/parastation/pscom.nix { }; # Unmaintaned
#psmpi = callPackage ./pkgs/parastation/psmpi.nix { }; # Unmaintaned
slurm = import ./pkgs/slurm/default.nix { slurm = prev.slurm; };
sonar = callPackage ./pkgs/sonar/default.nix { };
stdenvClangOmpss2 = final.stdenv.override { cc = final.clangOmpss2; allowedRequisites = null; };
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.clangOmpss2Nanos6; allowedRequisites = null; };
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.clangOmpss2Nodes; allowedRequisites = null; };
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.clangOmpss2NodesOmpv; allowedRequisites = null; };
stdenvClangOmpss2 = final.stdenv.override { cc = final.buildPackages.clangOmpss2; allowedRequisites = null; };
stdenvClangOmpss2Nanos6 = final.stdenv.override { cc = final.buildPackages.clangOmpss2Nanos6; allowedRequisites = null; };
stdenvClangOmpss2Nodes = final.stdenv.override { cc = final.buildPackages.clangOmpss2Nodes; allowedRequisites = null; };
stdenvClangOmpss2NodesOmpv = final.stdenv.override { cc = final.buildPackages.clangOmpss2NodesOmpv; allowedRequisites = null; };
tagaspi = callPackage ./pkgs/tagaspi/default.nix { };
tampi = callPackage ./pkgs/tampi/default.nix { };
upc-qaire-exporter = prev.callPackage ./pkgs/upc-qaire-exporter/default.nix { };

View File

@@ -47,7 +47,6 @@ in
inherit version;
src = uprofSrc;
dontStrip = true;
strictDeps = true;
phases = [ "installPhase" "fixupPhase" ];
nativeBuildInputs = [ autoPatchelfHook radare2 ];
buildInputs = [

View File

@@ -18,9 +18,8 @@ in stdenv.mkDerivation {
set +x
'';
hardeningDisable = [ "pic" "format" ];
strictDeps = true;
nativeBuildInputs = kernel.moduleBuildDependencies;
patches = [ ./makefile.patch ./hrtimer.patch ./remove-wr-rdmsrq.patch ];
patches = [ ./makefile.patch ./hrtimer.patch ];
makeFlags = [
"KERNEL_VERSION=${kernel.modDirVersion}"
"KERNEL_DIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"

View File

@@ -1,20 +0,0 @@
diff --git a/inc/PwrProfAsm.h b/inc/PwrProfAsm.h
index d77770a..c93a0e9 100644
--- a/inc/PwrProfAsm.h
+++ b/inc/PwrProfAsm.h
@@ -347,6 +347,7 @@
#endif
+/*
#define rdmsrq(msr,val1,val2,val3,val4) ({ \
__asm__ __volatile__( \
"rdmsr\n" \
@@ -362,6 +363,7 @@
:"c"(msr), "a"(val1), "d"(val2), "S"(val3), "D"(val4) \
); \
})
+*/
#define rdmsrpw(msr,val1,val2,val3,val4) ({ \
__asm__ __volatile__( \

View File

@@ -59,7 +59,6 @@ stdenv.mkDerivation rec {
];
hardeningDisable = [ "all" ];
dontStrip = true;
strictDeps = true;
meta = {
homepage = "https://gitlab.pm.bsc.es/rarias/bench6";

View File

@@ -16,8 +16,6 @@ stdenv.mkDerivation {
};
nativeBuildInputs = [ cmake ];
strictDeps = true;
meta = {
homepage = "https://github.com/rodarima/bigotes";
description = "Versatile benchmark tool";

View File

@@ -10,13 +10,10 @@
stdenv.mkDerivation (finalAttrs: {
name = "cudainfo";
src = ./.;
strictDeps = true;
nativeBuildInputs = [
cudatoolkit # Required for nvcc
autoAddDriverRunpath
];
buildInputs = [
(lib.getOutput "static" cudaPackages.cuda_cudart) # Required for -lcudart_static
cudatoolkit # Required for nvcc
cudaPackages.cuda_cudart.static # Required for -lcudart_static
autoAddDriverRunpath
];
installPhase = ''
mkdir -p $out/bin
@@ -26,7 +23,6 @@ stdenv.mkDerivation (finalAttrs: {
name = "cudainfo-test";
requiredSystemFeatures = [ "cuda" ];
dontBuild = true;
strictDeps = true;
nativeCheckInputs = [
finalAttrs.finalPackage # The cudainfo package from above
strace # When it fails, it will show the trace

View File

@@ -20,7 +20,7 @@
#, python3Packages
, installShellFiles
, symlinkJoin
, enablePapi ? true
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
}:
let

View File

@@ -33,7 +33,6 @@ stdenv.mkDerivation rec {
};
enableParallelBuilding = true;
strictDeps = true;
patches = [ ./rdma-core.patch ./max-mem.patch ];

View File

@@ -10,7 +10,7 @@
, zlib
, autoPatchelfHook
, libfabric
, gcc
, gcc13
, wrapCCWith
}:
@@ -33,6 +33,8 @@ let
maintainers = with lib.maintainers.bsc; [ abonerib ];
};
gcc = gcc13;
v = {
hpckit = "2023.1.0";
compiler = "2023.1.0";
@@ -128,7 +130,6 @@ let
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
strictDeps = true;
installPhase = ''
mkdir -p $out/{bin,etc,lib,include}
mkdir -p $out/share/man
@@ -180,7 +181,6 @@ let
];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
strictDeps = true;
autoPatchelfIgnoreMissingDeps = [ "libhwloc.so.5" ];
@@ -224,7 +224,6 @@ let
];
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
strictDeps = true;
autoPatchelfIgnoreMissingDeps = [ "libsycl.so.6" ];
@@ -292,7 +291,6 @@ let
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
strictDeps = true;
installPhase = ''
mkdir -p $out/{bin,lib,include}
@@ -381,7 +379,6 @@ let
phases = [ "installPhase" "fixupPhase" ];
dontStrip = true;
strictDeps = true;
installPhase = ''
mkdir -p $out/{bin,lib}

View File

@@ -1,9 +1,9 @@
{
llvmPackages_latest
stdenv
, llvmPackages_latest
, lib
, fetchFromGitHub
, cmake
, bash
, python3
, perl
, which
@@ -11,7 +11,6 @@
, libffi
, zlib
, pkg-config
, gcc # needed to set the rpath of libstdc++ for clang-tblgen
, enableDebug ? false
, useGit ? false
, gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git"
@@ -20,7 +19,10 @@
}:
let
stdenv = llvmPackages_latest.stdenv;
llvmPackages = llvmPackages_latest;
llvmStdenv = llvmPackages.stdenv;
# needed to set the rpath of libstdc++ for clang-tblgen
gcc = stdenv.cc;
release = rec {
version = "2025.11";
@@ -43,12 +45,11 @@ let
source = if (useGit) then git else release;
in stdenv.mkDerivation {
in llvmStdenv.mkDerivation {
pname = "clang-ompss2";
inherit (source) src version;
enableParallelBuilding = true;
strictDeps = true;
passthru = {
CC = "clang";
@@ -61,13 +62,12 @@ in stdenv.mkDerivation {
};
nativeBuildInputs = [
bash
cmake
elfutils
llvmPackages_latest.lld
llvmPackages.lld
perl
pkg-config
python3
perl
which
zlib
];
@@ -98,8 +98,13 @@ in stdenv.mkDerivation {
cd build
cmakeDir="../llvm"
cmakeFlagsArray=(
"-DLLVM_HOST_TRIPLE=${stdenv.targetPlatform.config}"
"-DLLVM_HOST_TRIPLE=${llvmStdenv.targetPlatform.config}"
'' + (if "${llvmStdenv.targetPlatform.config}" == "riscv64-unknown-linux-gnu" then ''
"-DLLVM_DEFAULT_TARGET_TRIPLE=riscv64-unknown-linux-gnu"
"-DLLVM_TARGETS_TO_BUILD=RISCV"
'' else ''
"-DLLVM_TARGETS_TO_BUILD=host"
'') + ''
"-DLLVM_BUILD_LLVM_DYLIB=ON"
"-DLLVM_LINK_LLVM_DYLIB=ON"
# Required to run clang-ast-dump and clang-tblgen during build
@@ -108,7 +113,8 @@ in stdenv.mkDerivation {
"-DCMAKE_CXX_FLAGS_DEBUG=-g -ggnu-pubnames"
"-DCMAKE_EXE_LINKER_FLAGS_DEBUG=-Wl,--gdb-index"
"-DLLVM_LIT_ARGS=-sv --xunit-xml-output=xunit.xml"
"-DLLVM_ENABLE_PROJECTS=clang;compiler-rt;lld"
"-DLLVM_ENABLE_PROJECTS=clang;lld"
#"-DLLVM_ENABLE_PROJECTS=clang;compiler-rt;lld"
"-DLLVM_ENABLE_ASSERTIONS=ON"
"-DLLVM_INSTALL_TOOLCHAIN_ONLY=ON"
"-DCMAKE_INSTALL_BINDIR=bin"
@@ -118,8 +124,8 @@ in stdenv.mkDerivation {
# install
"-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=ON"
"-DCMAKE_INSTALL_RPATH=${zlib}/lib:${gcc.cc.lib}/lib"
"-DLLVM_APPEND_VC_REV=ON"
"-DLLVM_FORCE_VC_REVISION=${source.version}"
#"-DLLVM_APPEND_VC_REV=ON"
#"-DLLVM_FORCE_VC_REVISION=${source.version}"
)
'';

View File

@@ -3,46 +3,65 @@
, lib
, gcc
, clangOmpss2Unwrapped
, openmp ? null
, openmp
, useOpenmp ? false
, openmpv
, useOpenmpV ? false
, nanos6
, useNanos6 ? false
, nodes
, useNodes ? false
, wrapCCWith
, llvmPackages_latest
, ompss2rt ? null
}:
with lib;
let
usingNodesAndOmpv = (openmp.pname == "openmp-v" && ompss2rt.pname == "nodes");
sameNosv = openmp.nosv == ompss2rt.nosv;
getSplice = target: pkg: if pkg ? "__spliced" && pkg.__spliced ? target then pkg.__spliced."${target}" else pkg;
#getSpliceTargetTarget = pkg: if pkg ? "__spliced" && pkg.__spliced ? "targetTarget" then pkg.__spliced.targetTarget else pkg;
getSpliceTargetTarget = getSplice "targetTarget";
omp = if useOpenmp then openmp else if useOpenmpV then openmpv else null;
ompss2rtUnspliced = if useNanos6 then nanos6 else if useNodes then nodes else null;
ompss2rt = getSpliceTargetTarget ompss2rtUnspliced;
usingNodesAndOmpv = (omp.pname == "openmp-v" && ompss2rt.pname == "nodes");
sameNosvUnspliced = omp.nosv == ompss2rtUnspliced.nosv;
sameNosvSpliced = (getSpliceTargetTarget omp.nosv) == ompss2rt.nosv;
in
assert assertMsg (usingNodesAndOmpv -> sameNosv) "OpenMP-V and NODES must share the same nOS-V";
assert assertMsg (usingNodesAndOmpv -> sameNosvUnspliced) "OpenMP-V and NODES must share the same nOS-V before splice";
assert assertMsg (usingNodesAndOmpv -> sameNosvSpliced) "OpenMP-V and NODES must share the same nOS-V after splice";
assert assertMsg (useOpenmp -> !useOpenmpV) "Either OpenMP or OpenMP-V may be enabled, but not both";
assert assertMsg (useNanos6 -> !useNodes) "Either Nanos6 or NODES may be enabled, but not both";
let
homevar = if ompss2rt.pname == "nanos6" then "NANOS6_HOME" else "NODES_HOME";
rtname = if ompss2rt.pname == "nanos6" then "libnanos6" else "libnodes";
ompname = if openmp.pname == "openmp-v" then "libompv" else "libomp";
ompname = if omp.pname == "openmp-v" then "libompv" else "libomp";
# We need to replace the lld linker from bintools with our linker just built,
# otherwise we run into incompatibility issues when mixing compiler and linker
# versions.
bintools-unwrapped = llvmPackages_latest.bintools-unwrapped.override {
bintools-unwrapped = llvmPackages_latest.tools.bintools-unwrapped.override {
lld = clangOmpss2Unwrapped;
};
bintools = llvmPackages_latest.bintools.override {
bintools = llvmPackages_latest.tools.bintools.override {
bintools = bintools-unwrapped;
};
targetConfig = stdenv.targetPlatform.config;
inherit gcc;
cc = clangOmpss2Unwrapped;
gccVersion = with versions; let v = gcc.version; in concatStringsSep "." [(major v) (minor v) (patch v)];
in wrapCCWith {
in (wrapCCWith {
inherit cc bintools;
# extraPackages adds packages to depsTargetTargetPropagated
extraPackages = optional (openmp != null) openmp;
extraPackages = optional (omp != null) omp;
extraBuildCommands = ''
echo "-target ${targetConfig}" >> $out/nix-support/cc-cflags
#echo "-fuse-ld=lld" >> $out/nix-support/cc-cflags
echo "-B${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-cflags
echo "-L${gcc.cc}/lib/gcc/${targetConfig}/${gccVersion}" >> $out/nix-support/cc-ldflags
echo "-L${gcc.cc.lib}/lib" >> $out/nix-support/cc-ldflags
@@ -56,15 +75,17 @@ in wrapCCWith {
echo "--gcc-toolchain=${gcc}" >> $out/nix-support/cc-cflags
wrap clang++ $wrapper $ccPath/clang++
wrap ${targetConfig}clang++ $wrapper $ccPath/clang++
wrap ${targetConfig}clang $wrapper $ccPath/clang
'' + optionalString (openmp != null) ''
'' + optionalString (omp != null) ''
echo "export OPENMP_RUNTIME=${ompname}" >> $out/nix-support/cc-wrapper-hook
'' + optionalString (ompss2rt != null) ''
echo "export OMPSS2_RUNTIME=${rtname}" >> $out/nix-support/cc-wrapper-hook
echo "export ${homevar}=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
'' + optionalString (ompss2rt != null && ompss2rt.pname == "nodes") ''
echo "export NOSV_HOME=${ompss2rt.nosv}" >> $out/nix-support/cc-wrapper-hook
echo "export NOSV_HOME=${ompss2rt}" >> $out/nix-support/cc-wrapper-hook
'';
}
}) // { inherit ompss2rt; }

View File

@@ -41,7 +41,8 @@ stdenv.mkDerivation rec {
python3
];
buildInputs = lib.optionals enableNosv [
buildInputs = [
] ++ lib.optionals enableNosv [
nosv
] ++ lib.optionals enableOvni [
ovni
@@ -56,7 +57,6 @@ stdenv.mkDerivation rec {
dontStrip = enableDebug;
separateDebugInfo = true;
strictDeps = true;
cmakeFlags = [
"-DLIBOMP_OMPD_SUPPORT=OFF"
@@ -74,28 +74,6 @@ stdenv.mkDerivation rec {
rm -f $out/libllvmrt/libomp.*
'';
doInstallCheck = true;
# There are not cmake flags to force nOS-V, it enables it when found through
# pkg-config. If enableNosv is set, but we fail to find it at build time,
# the build will succeed but won't use nOS-V (libompv won't be created).
# This is a sanity check to ensure that after install we have the proper
# files.
installCheckPhase =
if enableNosv then
''
test -f $out/lib/libompv.so
test -f $out/libllvmrt/libompv.so
test ! -f $out/lib/libomp.so
test ! -f $out/libllvmrt/libomp.so
''
else
''
test -f $out/lib/libomp.so
test -f $out/libllvmrt/libomp.so
test ! -f $out/lib/libompv.so
test ! -f $out/libllvmrt/libompv.so
'';
passthru = {
inherit nosv;
};

View File

@@ -27,7 +27,6 @@ stdenv.mkDerivation rec {
hardeningDisable = [ "all" ];
enableParallelBuilding = false;
strictDeps = true;
preBuild = ''
makeFlagsArray+=(

View File

@@ -65,7 +65,6 @@ stdenv.mkDerivation rec {
];
meta = {
broken = true;
homepage = "https://github.com/bsc-pm/mcxx";
description = "C/C++/Fortran source-to-source compilation infrastructure aimed at fast prototyping";
maintainers = with lib.maintainers.bsc; [ rpenacob ];

View File

@@ -1,15 +1,12 @@
{ python3Packages, lib }:
python3Packages.buildPythonApplication {
python3Packages.buildPythonApplication rec {
pname = "meteocat-exporter";
version = "1.0";
pyproject = true;
src = ./.;
doCheck = false;
strictDeps = true;
build-system = with python3Packages; [
setuptools

View File

@@ -53,7 +53,6 @@ in mpich.overrideAttrs (old: {
'';
hardeningDisable = [ "all" ];
strictDeps = true;
meta = old.meta // {
maintainers = old.meta.maintainers ++ (with lib.maintainers.bsc; [ rarias ]);

View File

@@ -1,67 +0,0 @@
diff --git a/m4/papi.m4 b/m4/papi.m4
--- a/m4/papi.m4
+++ b/m4/papi.m4
@@ -24,12 +24,13 @@ AC_DEFUN([AC_CHECK_PAPI],
else
PKG_CHECK_MODULES(
[papi],
- [papi],
+ [papi >= 5.6.0],
[
AC_MSG_CHECKING([the PAPI installation prefix])
AC_MSG_RESULT([retrieved from pkg-config])
papi_CPPFLAGS="${papi_CFLAGS}"
ac_use_papi=yes
+ ac_papi_version_correct=yes
], [
AC_MSG_CHECKING([the PAPI installation prefix])
AC_MSG_RESULT([not available])
@@ -67,27 +68,29 @@ AC_DEFUN([AC_CHECK_PAPI],
fi
if test x"${ac_use_papi}" = x"yes" ; then
- if test x"${ac_cv_use_papi_prefix}" != x"" ; then
- papiBinary=${ac_cv_use_papi_prefix}/bin/papi_version
- else
- papiBinary=papi_version
- fi
- papiVersion=`$papiBinary | sed 's/[[^0-9.]]*\([[0-9.]]*\).*/\1/'`
+ if test x"${ac_papi_version_correct}" != x"yes" ; then
+ if test x"${ac_cv_use_papi_prefix}" != x"" ; then
+ papiBinary=${ac_cv_use_papi_prefix}/bin/papi_version
+ else
+ papiBinary=papi_version
+ fi
+ papiVersion=`$papiBinary | sed 's/[[^0-9.]]*\([[0-9.]]*\).*/\1/'`
- AX_COMPARE_VERSION(
- [[${papiVersion}]],
- [[ge]],
- [[5.6.0]],
- [[ac_papi_version_correct=yes]],
- [[ac_papi_version_correct=no]]
- )
+ AX_COMPARE_VERSION(
+ [[${papiVersion}]],
+ [[ge]],
+ [[5.6.0]],
+ [[ac_papi_version_correct=yes]],
+ [[ac_papi_version_correct=no]]
+ )
- if test x"${ac_papi_version_correct}" != x"yes" ; then
- AC_MSG_ERROR([PAPI version must be >= 5.6.0.])
- ac_use_papi=no
- else
- AC_MSG_CHECKING([if the PAPI version >= 5.6.0.])
- AC_MSG_RESULT([${ac_papi_version_correct}])
+ if test x"${ac_papi_version_correct}" != x"yes" ; then
+ AC_MSG_ERROR([PAPI version must be >= 5.6.0.])
+ ac_use_papi=no
+ else
+ AC_MSG_CHECKING([if the PAPI version >= 5.6.0.])
+ AC_MSG_RESULT([${ac_papi_version_correct}])
+ fi
fi
fi

View File

@@ -16,7 +16,7 @@
, jemallocNanos6 ? null
, cachelineBytes ? 64
, enableGlibcxxDebug ? false
, enablePapi ? true
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
, useGit ? false
, gitUrl ? "ssh://git@bscpm04.bsc.es/nanos6/nanos6"
, gitBranch ? "master"
@@ -95,15 +95,16 @@ in
dontStrip = enableDebug;
separateDebugInfo = true;
strictDeps = true;
patches = [ ./check-papi-version-with-pkgconfig.patch ];
nativeBuildInputs = [
autoconf
automake
libtool
pkg-config
];
# TODO: papi_version is needed for configure:
# ./configure: line 27378: papi_version: command not found
# This probably breaks cross-compilation
] ++ lib.optionals enablePapi [ papi ];
buildInputs = [
boost

View File

@@ -8,7 +8,6 @@ stdenv.mkDerivation {
version = "0.0.1";
src = ./nixgen;
dontUnpack = true;
strictDeps = true;
phases = [ "installPhase" ];
installPhase = ''
mkdir -p $out/bin

View File

@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
makeFlags = [ "DESTDIR=$(out)" ];
preBuild = "env";
dontPatchShebangs = true;
strictDeps = true;
meta = {
homepage = "https://gitlab.pm.bsc.es/rarias/nixtools";

View File

@@ -48,7 +48,6 @@ in
enableParallelBuilding = true;
dontStrip = true;
separateDebugInfo = true;
strictDeps = true;
configureFlags = [
"--with-nosv=${nosv}"

View File

@@ -1,68 +0,0 @@
diff --git a/m4/papi.m4 b/m4/papi.m4
index de905848..fa3db9a1 100644
--- a/m4/papi.m4
+++ b/m4/papi.m4
@@ -24,12 +24,13 @@ AC_DEFUN([AC_CHECK_PAPI],
else
PKG_CHECK_MODULES(
[papi],
- [papi],
+ [papi >= 5.6.0],
[
AC_MSG_CHECKING([the PAPI installation prefix])
AC_MSG_RESULT([retrieved from pkg-config])
papi_CFLAGS="${papi_CFLAGS}"
ac_use_papi=yes
+ ac_papi_version_correct=yes
], [
AC_MSG_CHECKING([the PAPI installation prefix])
AC_MSG_RESULT([not available])
@@ -67,27 +68,29 @@ AC_DEFUN([AC_CHECK_PAPI],
fi
if test x"${ac_use_papi}" = x"yes" ; then
- if test x"${ac_cv_use_papi_prefix}" != x"" ; then
- papiBinary=${ac_cv_use_papi_prefix}/bin/papi_version
- else
- papiBinary=papi_version
- fi
- papiVersion=`$papiBinary | sed 's/[[^0-9.]]*\([[0-9.]]*\).*/\1/'`
+ if test x"${ac_papi_version_correct}" != x"yes" ; then
+ if test x"${ac_cv_use_papi_prefix}" != x"" ; then
+ papiBinary=${ac_cv_use_papi_prefix}/bin/papi_version
+ else
+ papiBinary=papi_version
+ fi
+ papiVersion=`$papiBinary | sed 's/[[^0-9.]]*\([[0-9.]]*\).*/\1/'`
- AX_COMPARE_VERSION(
- [[${papiVersion}]],
- [[ge]],
- [[5.6.0]],
- [[ac_papi_version_correct=yes]],
- [[ac_papi_version_correct=no]]
- )
+ AX_COMPARE_VERSION(
+ [[${papiVersion}]],
+ [[ge]],
+ [[5.6.0]],
+ [[ac_papi_version_correct=yes]],
+ [[ac_papi_version_correct=no]]
+ )
- if test x"${ac_papi_version_correct}" != x"yes" ; then
- AC_MSG_ERROR([PAPI version must be >= 5.6.0.])
- ac_use_papi=no
- else
- AC_MSG_CHECKING([if the PAPI version >= 5.6.0.])
- AC_MSG_RESULT([${ac_papi_version_correct}])
+ if test x"${ac_papi_version_correct}" != x"yes" ; then
+ AC_MSG_ERROR([PAPI version must be >= 5.6.0.])
+ ac_use_papi=no
+ else
+ AC_MSG_CHECKING([if the PAPI version >= 5.6.0.])
+ AC_MSG_RESULT([${ac_papi_version_correct}])
+ fi
fi
fi

View File

@@ -7,7 +7,7 @@
, numactl
, hwloc
, papi
, enablePapi ? true
, enablePapi ? stdenv.hostPlatform == stdenv.buildPlatform # Disabled when cross-compiling
, cacheline ? 64 # bits
, ovni ? null
, useGit ? false
@@ -40,14 +40,12 @@ let
source = if (useGit) then git else release;
in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "nosv";
inherit (source) src version;
hardeningDisable = [ "all" ];
dontStrip = true;
separateDebugInfo = true;
strictDeps = true;
patches = [ ./check-papi-version-with-pkgconfig.patch ];
configureFlags = [
"--with-ovni=${ovni}"
"CACHELINE_WIDTH=${toString cacheline}"

View File

@@ -24,7 +24,6 @@ stdenv.mkDerivation rec {
doCheck = true;
enableParallelBuilding = true;
strictDeps = true;
nativeBuildInputs = [ mpiAll ];
buildInputs = [ mpiAll ];
hardeningDisable = [ "all" ];

View File

@@ -40,7 +40,6 @@ in
inherit (source) src version;
dontStrip = true;
separateDebugInfo = true;
strictDeps = true;
postPatch = ''
patchShebangs --build test/
'';

View File

@@ -1,22 +0,0 @@
{
stdenv,
papi,
}:
if stdenv.hostPlatform == stdenv.buildPlatform then
papi
else
papi.overrideAttrs (old: {
configureFlags = (old.configureFlags or [ ]) ++ [
"--enable-perf_event_uncore=no"
"--with-sysdetect=no"
"--with-ffsll"
"--with-tls=__thread"
"--with-virtualtimer=clock_thread_cputime_id"
"--with-walltimer=clock_realtime"
"--with-perf-events"
"--with-CPU=${stdenv.hostPlatform.uname.processor}"
"--with-arch=${stdenv.hostPlatform.uname.processor}"
];
patches = (old.patches or [ ]) ++ [ ./fix-ar-cross.patch ];
})

View File

@@ -1,19 +0,0 @@
diff --git a/sde_lib/Makefile b/sde_lib/Makefile
index 8518f92..90a9953 100644
--- a/sde_lib/Makefile
+++ b/sde_lib/Makefile
@@ -1,4 +1,5 @@
CC ?= gcc
+AR ?= ar
SDE_INC = -I. -I..
SDE_LD = -ldl -pthread
CFLAGS += -Wextra -Wall -O2
@@ -18,7 +19,7 @@ dynamic: $(DOBJS)
rm -f *_d.o
static: $(SOBJS)
- ar rs libsde.a $(SOBJS)
+ $(AR) rs libsde.a $(SOBJS)
rm -f *_s.o
clean:

View File

@@ -12,7 +12,7 @@
, paraverKernel
, openssl
, glibcLocales
, wrapGAppsHook3
, wrapGAppsHook
}:
let
@@ -47,7 +47,6 @@ stdenv.mkDerivation rec {
dontStrip = true;
enableParallelBuilding = true;
strictDeps = true;
preConfigure = ''
export CFLAGS="-O3"
@@ -65,7 +64,7 @@ stdenv.mkDerivation rec {
autoconf
automake
autoreconfHook
wrapGAppsHook3
wrapGAppsHook
];
buildInputs = [

View File

@@ -34,7 +34,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
dontStrip = true;
strictDeps = true;
preConfigure = ''
export CFLAGS="-O3 -DPARALLEL_ENABLED"

View File

@@ -13,7 +13,6 @@ buildGoModule rec {
vendorHash = "sha256-A1dd9T9SIEHDCiVT2UwV6T02BSLh9ej6LC/2l54hgwI=";
doCheck = false;
strictDeps = true;
meta = with lib; {
description = "Prometheus SLURM Exporter";

View File

@@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
};
hardeningDisable = [ "all" ];
dontStrip = true;
strictDeps = true;
configureFlags = [ "--with-ovni=${ovni}" ];
nativeBuildInputs = [

View File

@@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
pname = "tagaspi";
enableParallelBuilding = true;
separateDebugInfo = true;
strictDeps = true;
version = "2.0";
src = fetchFromGitHub {

View File

@@ -45,7 +45,6 @@ in stdenv.mkDerivation {
inherit (source) src version;
enableParallelBuilding = true;
separateDebugInfo = true;
strictDeps = true;
nativeBuildInputs = [
autoconf

View File

@@ -1,15 +1,12 @@
{ python3Packages, lib }:
python3Packages.buildPythonApplication {
python3Packages.buildPythonApplication rec {
pname = "upc-qaire-exporter";
version = "1.0";
pyproject = true;
src = ./.;
doCheck = false;
strictDeps = true;
build-system = with python3Packages; [
setuptools

View File

@@ -23,6 +23,9 @@ in stdenv.mkDerivation {
dontUnpack = true;
dontConfigure = true;
# nOS-V requires access to /sys/devices to request NUMA information
requiredSystemFeatures = [ "sys-devices" ];
buildInputs = [ openmp ];
buildPhase = ''